主要内容

Moving Average

移动平均值计算

  • Moving Average block

库:
Simscape / Electrical / Control / General Control

描述

Moving Average 模块计算输入信号的移动平均值。使用此模块可对高频信号分量进行滤波并对含噪信号进行平滑处理。

方程

此模块基于移动时间窗口计算移动平均值。连续时间的移动平均值等于

u¯=1T0t0t0+T0u(t)dt,

其中:

  • u(t) 是输入信号。

  • T0 等于 1f

  • f 是信号的基频。

  • t0 是时间窗口内的初始积分时间。

离散时间的移动平均值等于

u¯(k)=1T0i=0n1u(ki).

其中:

注意

如果您将此模块用于连续时间运行,并将采样时间(-1 表示继承) 参数设置为 0,则还应指定缓冲区大小参数的值,以确保其覆盖移动时间窗口。

假设

此模块在时间区间 [0, T0] 内,使用初始条件对输出进行初始化。

端口

输入

全部展开

输入信号。

数据类型: single | double

输出

全部展开

输入信号的移动平均值。

数据类型: single | double

参数

全部展开

信号的基频,以 Hz 为单位。如果您使用向量指定基频,则该向量的维度必须与输入向量的维度匹配。

输入信号的初始值。

缓冲区的大小。

依赖关系

要启用此参数,请将采样时间(-1 表示继承)设置为 0

连续两次模块执行之间的时间。在执行期间,模块产生输出,并在需要时更新其内部状态。有关详细信息,请参阅什么是采样时间?指定采样时间

对于继承的离散时间运行,将此参数设置为 -1。对于离散时间运行,请将此参数设置为一个正标量。对于连续时间运行,将此参数设置为 0

如果该模块位于封装子系统或支持在连续运行和离散运行之间切换的可变子系统中,请提升此参数以确保在模块的连续实现和离散实现之间正确切换。有关详细信息,请参阅Promote Block Parameters to a Mask

扩展功能

全部展开

C/C++ 代码生成
使用 Simulink® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2018b 中推出