文档

dsp。MovingAverage

移动平均线

描述

dsp。MovingAverage系统对象™沿着每个通道计算输入信号的移动平均值,随时间独立。该对象使用滑动窗口法或指数加权法来计算移动平均。在滑动窗口方法中,将指定长度的窗口逐个样本地移动到数据上,并对窗口中的数据计算平均值。在指数加权法中,对象将数据样本与一组权重因子相乘。平均数是通过加权数据相加得到的。有关这些方法的详细信息,请参见算法

计算输入的移动平均:

  1. 创建dsp。MovingAverage对象并设置其属性。

  2. 调用带有参数的对象,就像调用函数一样。

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?(MATLAB)。

创建

描述

movAvg= dsp。MovingAverage返回一个移动平均对象,movAvg,使用默认属性。

movAvg= dsp。MovingAverage (Len设置WindowLength财产Len

例子

movAvg= dsp。MovingAverage (名称,值使用名称,值对。未指定的属性有默认值。

例子:movAvg = dsp。MovingAverage(“方法”,指数权重的,“ForgettingFactor”,0.9);

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放函数解锁它们。

如果属性是可调,您可以随时更改其值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统(MATLAB)。

平均方法,指定为“滑动窗口”指数权重的

  • “滑动窗口”指定长度的窗口SpecifyWindowLength沿着每个通道在输入数据上移动。对于窗口移动经过的每个样本,对象计算窗口中数据的平均值。

  • 指数权重的-对象用一组权重因子乘以样本。权重因子的大小随着数据年龄的增加呈指数下降,永远不会达到零。为了计算平均值,算法对加权数据求和。

有关这些方法的详细信息,请参见算法

标志以指定窗口长度,指定为标量布尔值。

  • 真正的—滑动窗口的长度等于您在WindowLength财产。

  • -滑动窗口的长度是无限的。在这种模式下,使用当前样本和所有过去样本计算平均值。

依赖关系

设置时应用此属性方法“滑动窗口”

滑动窗口的长度,指定为正标量整数。

依赖关系

设置时应用此属性方法“滑动窗口”而且SpecifyWindowLength真正的

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

指数加权因子,指定为(0,1)范围内的正实标量。0.9的遗忘因子比0.1的遗忘因子对旧数据的权重更大。遗忘因子为1.0表示记忆无限。所有过去的样本都被赋予相同的权重。

由于该属性是可调的,所以即使对象处于锁定状态,您也可以更改其值。

可调:是的

依赖关系

设置时应用此属性方法指数权重的

数据类型:|

使用

语法

描述

例子

y= movAvg (x计算输入信号的移动平均,x,采用滑动窗口法或指数加权法。

输入参数

全部展开

数据输入,指定为向量或矩阵。如果x是一个矩阵,每一列被视为一个独立的通道。移动平均线沿着每个通道计算。该对象还接受可变大小的输入。一旦对象被锁定,您可以更改每个输入通道的大小,但不能更改通道的数量。

数据类型:|
复数支持:金宝app是的

输出参数

全部展开

输入信号的移动平均,作为向量或矩阵返回。

数据类型:|
复数支持:金宝app是的

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置系统对象的内部状态

例子

全部展开

方法计算有噪声的斜坡信号的移动平均dsp。MovingAverage对象。

初始化

设置movavgWindow而且movavgExp对象。movavgWindow使用窗口长度为10的滑动窗口方法。movavgExp采用指数加权法,遗忘因子为0.9。创建查看输出的时间范围。

FrameLength = 1001;Fs = 1000;movavgWindow = dsp.MovingAverage(10);movavgExp = dsp。MovingAverage (“方法”指数权重的...“ForgettingFactor”, 0.9);Scope = dsp。TimeScope (“SampleRate”Fs,...“TimeSpanOverrunAction”“滚动”...“时间间隔”,2,...“ShowGrid”,真的,...“YLimits”[-0.5 - 1.5]);title =“滑动窗口平均(蓝色)及指数加权平均(红色)”;范围。标题=标题;

计算平均值

生成一个振幅为1.0,时间跨度为2秒的斜坡信号。对斜坡应用滑动窗口平均值和指数加权平均值。查看时间范围的输出。

I = 1:500 t = (0:0.001:1)';Unitstep = t>=0;Ramp = t.*unitstep;x = ramp + 0.1 * randn(FrameLength,1);y1 = movavgWindow(x);y2 = movavgExp(x);范围([x, y1, y2]);结束

算法

全部展开

参考文献

Bodenham, Dean。流数据的自适应滤波和变化检测。博士论文。帝国理工学院,伦敦,2012。

扩展功能

在R2016b中引入