主要内容

Moving Average

移动平均值

  • Moving Average block

库:
DSP System Toolbox / Statistics

描述

Moving Average 模块随时间的推移独立计算输入信号沿每个通道的移动平均值。该模块使用滑动窗方法或指数加权方法计算移动平均值。在滑动窗方法中,指定长度的窗逐采样地在数据上移动,模块计算窗内数据的平均值。在指数加权方法中,模块将数据采样乘以一组加权因子,然后对加权数据求和以计算平均值。有关这些方法的详细信息,请参阅算法

示例

端口

输入

全部展开

此模块计算在此输入端口上指定的数据的移动平均值。指定大小为 m×n 的实数值或复数值多通道输入,其中 m ≥ 1 且 n ≥ 1。

如果显示了允许任意帧长度的固定大小输入信号参数但处于未选中状态,并且您输入了固定大小信号,则帧长度必须为跳跃大小(窗长度 - 重叠长度)的倍数。在所有其他情况下,输入帧长度可以为任意值。

该模块接受可变大小输入(帧长度在仿真期间会发生变化)。当您输入可变大小信号时,信号的帧长度可以为任意值。

此端口未命名,直到您将方法设置为指数加权并选择从输入端口指定遗忘因子参数。

数据类型: single | double
复数支持:

将遗忘因子指定为范围 [0,1] 内的非负实数标量。遗忘因子确定对过去数据赋予的权重。遗忘因子 0.9 比遗忘因子 0.1 对旧数据赋予的权重更多。遗忘因子 1.0 表示无限记忆,对所有先前采样赋予同等权重。遗忘因子 0 表示无记忆,过去的采样对当前计算无权重。

依赖关系

当您将方法设置为指数加权并选择从输入端口指定遗忘因子参数时,此端口会显示。

数据类型: single | double

输出

全部展开

移动平均值,以向量或矩阵形式返回。模块基于方法参数设置使用滑动窗方法或指数加权方法计算移动平均值。有关详细信息,请参阅算法

下表提供有关输出信号维度的详细信息。

输入信号输入维度允许任意帧长度的固定大小输入信号显示时的输出维度允许任意帧长度的固定大小输入信号未显示时的输出维度
固定大小信号m×n,其中 m 是跳跃大小(窗长度 - 重叠长度)的倍数

(m/跳跃大小)×n

m×n

固定大小信号m×n,其中 m 不是跳跃大小(窗长度 - 重叠长度)的倍数

ceil(m/跳跃大小)×n(当您选择允许任意帧长度的固定大小输入信号时)

如果未选择允许任意帧长度的固定大小输入信号,则模块会报错。

m×n

可变大小信号m×n ceil(m/跳跃大小)×n

m×n

当输出具有上界大小 ceil(m/跳跃大小)×n 时,在仿真期间,第一个维度的大小在此边界内会发生变化,第二个维度的大小保持不变。有关显示此行为的示例,请参阅计算含噪阶跃信号的移动平均值

数据类型: single | double
复数支持:

参数

全部展开

如果参数列为可调参数,则您可以在仿真期间更改其值。

  • 滑动窗 - 长度为窗长度的窗沿每个通道在输入数据上移动。对于窗在其上移过的每个采样,模块计算窗内数据的平均值。

  • 指数加权 - 模块将采样乘以一组加权因子。随着数据陈旧程度的增大,加权因子的幅值会呈指数减小,但幅值永远不会达到零。为了计算平均值,算法会对加权数据求和。

当您选中此复选框时,滑动窗的长度等于您在窗长度中指定的值。当您清除此复选框时,滑动窗的长度为无限值。在此模式下,模块计算当前采样和通道中所有先前采样的平均值。

依赖关系

要启用此参数,请将方法设置为滑动窗

指定滑动窗的长度,以采样为单位。

依赖关系

要启用此参数,请将方法设置为滑动窗并选中指定窗长度复选框。

将滑动窗之间的重叠长度指定为非负整数。重叠长度的值在范围 [0, 窗长度 - 1] 内变化。

依赖关系

要启用此参数,请将方法设置为滑动窗并选中指定窗长度复选框。

指定固定大小输入信号(其大小在仿真期间不变)是否可以具有任意帧长度,即帧长度不必是跳跃大小的倍数。跳跃大小定义为窗长度 - 重叠长度。此模块仅对固定大小输入信号使用此参数设置,如果输入具有可变大小,则模块会忽略此参数。

当输入信号是可变大小信号时,信号可以具有任意帧长度,即帧长度不必是跳跃大小的倍数。

对于固定大小输入信号,如果您:

  • 选中允许任意帧长度的固定大小输入信号参数,则信号的帧长度不必是跳跃大小的倍数。如果输入不是跳跃大小的倍数,则输出通常是可变大小信号。因此,为了支持任意输入大小,模块还必须支持可变大小运算,您可以通过选中允许任意帧长度的固定大小输入信号参数来启用该功能。

  • 清除允许任意帧长度的固定大小输入信号参数,则输入帧长度必须为跳跃大小的倍数。

依赖关系

要启用此参数,请将方法设置为滑动窗并选中指定窗长度复选框。

当您选中此复选框时,遗忘因子通过 lambda 端口输入。当您清除此复选框时,遗忘因子通过遗忘因子参数在模块对话框中指定。

依赖关系

要启用此参数,请将方法设置为指数加权

将指数加权因子指定为范围 [0,1] 内的非负实数标量。此值确定对过去数据赋予的权重。遗忘因子 0.9 比遗忘因子 0.1 对旧数据赋予的权重更多。遗忘因子 1.0 表示无限记忆,对所有过去的采样赋予同等权重。遗忘因子 0 表示无记忆,过去的采样对当前计算无权重。

可调: Yes

依赖关系

要启用此参数,请将方法设置为指数加权并清除从输入端口指定遗忘因子复选框。

指定要运行的仿真的类型。您可将此参数设置为:

  • 解释执行 - 使用 MATLAB® 解释器对模型进行仿真。此选项可缩短启动时间。

  • 代码生成 - 使用生成的 C 代码对模型进行仿真。第一次运行仿真时,Simulink 会为该模块生成 C 代码。只要模型不变,C 代码就会在后续仿真中重用。此选项会增加启动时间,但会加快后续仿真速度。

模块特性

数据类型

double | single

多维信号

可变大小信号

算法

全部展开

扩展功能

全部展开

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

版本历史记录

在 R2016b 中推出

全部展开