主要内容

dsp.movi​​ngaverage.

移动平均线

描述

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

计算输入的移动平均数:

  1. 创建dsp.movi​​ngaverage.对象并设置其属性。

  2. 用参数调用对象,就像它是一个函数一样。

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

创建

描述

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

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

例子

movAvg= dsp。MovingAverage (名称,值的)使用以下命令指定其他属性名称,值对。未指定的属性具有默认值。

例子:movavg = dsp.movi​​ngaverage.('方法'那'指数加权'那“ForgettingFactor”,0.9);

特性

全部展开

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

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

有关更改属性值的详细信息,请参阅使用系统对象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.movi​​ngaverage.对象。

初始化

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

frameLength = 1001;FS = 1000;movavgwindow = dsp.movi​​ngaverage(10);movavgexp = dsp.movi​​ngaverage('方法''指数加权'......“ForgettingFactor”,0.9);范围= timescope('采样率'Fs,......“TimeSpanOverrunAction”“滚动”......“ShowGrid”,真的,......'ylimits',[ -  0.5 1.5]);标题=“滑动窗口平均(蓝色)和指数加权平均(红色)”;scope.title =标题;

计算平均值

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

为了I = 1:20 00 t = (0:0.001:1)';unitstep = t > = 0;斜坡= t。* unitstep;x = ramp + 0.1 * randn(帧长度,1);日元= movavgWindow (x);y2 = movavgExp (x);范围([x, y1, y2]);结尾

算法

全部展开

参考文献

[1] Bodenham,院长。流数据的自适应过滤和变化检测博士论文。伦敦帝国理工学院,2012年。

扩展能力

介绍在R2016B.