主要内容

dsp.movi​​ngvariance.

移动方差

描述

dsp.movi​​ngvariance.System Object™独立于时间计算每个通道的输入信号的移动方差。该对象使用滑动窗口方法或指数加权方法来计算移动方差。在滑动窗口方法中,指定长度的窗口在数据上移动,采样通过样本进行样本,并且在窗口中的数据上计算方差。在指数加权方法中,对象从平均值中减去数据的每个样本,平方差,并将平方结果与加权因子相乘。然后,对象通过添加所有加权数据来计算方差。有关这些方法的更多详细信息,请参阅算法

计算输入的移动方差:

  1. 创造dsp.movi​​ngvariance.对象并设置其属性。

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

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

创造

描述

Movvar.= dsp.movi​​ngvariance.返回一个移动的variance对象,Movvar.,使用默认属性。

示例

Movvar.= dsp.movi​​ngvariance(Len.设置WindowLength.财产Len.

示例

Movvar.= dsp.movi​​ngvariance(名称,价值使用额外的属性使用名称,价值对。未指定的属性具有默认值。

示例:movvar = dsp.movi​​ngvariance('方法','指数加权','forgectfactor',0.9);

属性

展开所有

除非另有说明,否则属性是不可努力,这意味着在调用对象后无法更改其值。当您调用它们时,对象锁定释放功能解锁它们。

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

有关更改属性值的详细信息,请参阅MATLAB使用系统对象的系统设计

  • '滑动窗口'- 由此指定的长度窗口specifyWindowLength.沿每个通道移动到输入数据上。对于窗口移动的每个样本,对象计算窗口中数据的方差。

  • '指数加权'- 对象从平均值中减去每个数据的每个样本,平方差,并将平方结果乘以加权因子。然后,对象通过添加所有加权数据来计算方差。随着数据的年龄增加,加权因子的大小呈指数级增长,从未达到零。

有关这些方法的更多详细信息,请参阅算法

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

  • 真实- 滑动窗口的长度等于您指定的值WindowLength.财产。

  • - 滑动窗的长度是无限的。在此模式下,使用当前样本和所有过去的样本来计算方差。

依赖性

此属性适用于您的时候方法到目前为止'滑动窗口'

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

依赖性

此属性适用于您的时候方法到目前为止'滑动窗口'specifyWindowLength.到目前为止真实

数据类型:单身|双人间|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32.|UINT64

指数加权因子,指定为范围内的正实标量(0,1]。

遗忘因数为0.9给较旧数据的重量比忘记因数为0.1。1.0忘记因子表示无限内存。所有过去的样品都有相等的重量。

由于此属性是可调调整的,因此即使对象被锁定,您也可以更改其值。

可调:是的

依赖性

此属性适用于您的时候方法到目前为止'指数加权'

数据类型:单身|双人间

使用

描述

示例

y= movvar(X.计算输入信号的移动方差,X.,使用滑动窗口方法或指数加权方法。

输入参数

展开所有

数据输入,指定为向量或矩阵。如果X.是一个矩阵,每列被视为独立信道。移动方差沿每个信道计算。该对象还接受可变大小的输入。锁定对象后,可以更改每个输入通道的大小,但无法更改通道的数量。

数据类型:单身|双人间
复数支持:金宝app是的

输出参数

展开所有

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

数据类型:单身|双人间
复数支持:金宝app是的

对象功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,要发布命名的系统对象的系统资源obj.,使用此语法:

释放(obj)

展开所有

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

例子

崩溃

计算噪声方波信号的移动方差使用变化的幅度dsp.movi​​ngvariance.对象。

初始化

建立movvarwindow.movvarexp.对象。movvarwindow.使用窗口长度为800的滑动窗口方法。movvarexp.使用具有0.999的遗忘因数的指数加权方法。创建用于查看输出的时间范围。

FrameLength = 100;FS = 100;movvarwindow = dsp.movi​​ngvariance(800);movVarexp = dsp.movi​​ngvariance('方法''指数加权'......'忘记就活跃',0.999);范围= timescope('samplerate',fs,......'timespanoverrunaction''滚动'......'timespansource''财产'......'timespan',1000,......'showgrid',真实,......'bufferLength',1e7,......'ylimits',[0 7e-4]);标题='实际(黄色)滑动窗口(蓝色)指数加权(红色)方差';scope.title =标题;

计算方差

产生嘈杂的方波信号。在给定数量的帧之后改变方波的幅度。在该信号上应用滑动窗口方法和指数加权方法。实际方差是NP.。在向数据添加噪声时使用此值。将实际方差与计算机范围的时间范围进行比较。

count = 1;noispower = 1e-4 * [1 2 3 4];索引= 1;对于索引= 1:长度(Noispower)NP = Noispower(指数);yexp = np * y(frameLength,1);对于i = 1:250 x = 1 + SQRT(NP)* Randn(FrameLength,1);y1 = movvarwindow(x);y2 = movVarexp(x);范围([Yexp,Y1,Y2]);结束结束

算法

展开所有

参考资料

[1] Bodenham,Dean。“自适应滤波和变更检测流数据。”博士论文。帝国学院,伦敦,2012。

扩展能力

介绍在R2016B.