主要内容

dsp。MovingStandardDeviation

移动标准差

描述

dsp。MovingStandardDeviation系统对象™计算输入信号沿每个通道的移动标准偏差,随时间独立。该对象使用滑动窗口方法或指数加权方法来计算移动标准差。在滑动窗口方法中,指定长度的窗口在数据上移动,一个样本一个样本地移动,对象计算窗口中数据的标准偏差。在指数加权法中,对象计算指数加权的移动方差,并取平方根。有关这些方法的详细信息,请参见算法

计算输入的移动标准差:

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

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

MovStd= dsp。MovingStandardDeviation返回一个移动的标准差对象,MovStd,使用默认属性。

例子

MovStd= dsp。MovingStandardDeviation (Len设置WindowLength财产Len

例子

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

例子:MovStd = dsp。MovingStandardDeviation(“法”、“指数加权”,“ForgettingFactor”,0.999);

属性

全部展开

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

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

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

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

  • 指数权重的—对象计算指数加权移动方差,取平方根。

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

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

  • 真正的属性中指定的值WindowLength财产。

  • —滑动窗口的长度为无限大。在这种模式下,使用当前样本和所有过去样本计算标准偏差。

依赖关系

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

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

依赖关系

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

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

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

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

可调:是的

依赖关系

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

数据类型:|

使用

语法

描述

例子

y= movStd (x计算输入信号的移动标准差,x,以滑动窗口法或指数加权法计算。

输入参数

全部展开

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

数据类型:|
复数支持:万博1manbetx是的

输出参数

全部展开

输入信号的移动标准差,以矢量或矩阵形式返回。

数据类型:|
复数支持:万博1manbetx是的

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

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

例子

全部折叠

计算具有变化幅度的噪声方波信号的移动标准偏差dsp。MovingStandardDeviation对象。

初始化

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

framength = 100;Fs = 100;movstdWindow = dsp.MovingStandardDeviation(800);movstdExp = dsp。MovingStandardDeviation (...“方法”指数权重的...“ForgettingFactor”, 0.999);Scope = timescope(“SampleRate”Fs,...“TimeSpanOverrunAction”“滚动”...“TimeSpanSource”“属性”...“时间间隔”, 1000,...“ShowGrid”,真的,...“BufferLength”1 e7,...“YLimits”3依照[0]);title =“实际(黄色)滑动窗口(蓝色)指数加权(红色)标准差”;范围。标题=标题;

计算标准差

产生一个有噪声的方波信号。在给定帧数后改变方波的振幅。对该信号应用滑动窗口法和指数加权法。实际的标准差是sqrt (np).此值在向数据添加噪声时使用。在时间范围上比较实际标准差和计算标准差。

Count = 1;噪声功率= 1e-4 * [1 2 3 4];Index = 1:length(noisepower) np = noisepower(Index);yexp = sqrt(np)*ones(FrameLength,1);i = 1:250 x =√(np) * randn(帧长度,1);y1 = movstdWindow(x);y2 = movstdExp(x);范围((yexp, y1, y2));结束结束

算法

全部展开

参考文献

[1]波登汉姆,迪恩。流数据的自适应过滤和变化检测博士论文。帝国理工学院,伦敦,2012。

扩展功能

在R2016b中引入