主要内容

dsp。MovingStandardDeviation

移动标准差

描述

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

计算输入的移动标准差:

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

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

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

创建

描述

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

例子

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

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

例子

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

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

属性

全部展开

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

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

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

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

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

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

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

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

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

依赖关系

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

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

依赖关系

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

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

滑动窗口之间的重叠长度,指定为非负整数。重叠长度取值范围为[0,WindowLength−1]。如果未指定,重叠长度为WindowLength−1。

依赖关系

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

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

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

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

可调:是的

依赖关系

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

数据类型:|

使用

语法

描述

例子

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

输入参数

全部展开

数据输入,指定为向量或矩阵。如果x是一个矩阵,每一列都被视为一个独立的通道。移动标准偏差沿每个通道计算。

对象接受可变大小的输入。锁定对象后,您可以更改每个输入通道的大小,但不能更改通道的数量。

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

输出参数

全部展开

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

当你输入一个大小的信号——- - - - - -n对象,如果你设置方法“滑动窗口”而且SpecifyWindowLength真正的时,输出的上限大小为装天花板/跳)———大小n.跳点大小为窗口长度−重叠长度。在其他情况下,输出的大小为——- - - - - -n

当从该对象生成代码时,生成代码中输出的可变大小行为取决于输入帧长以及输入信号的大小是固定的还是可变的。详情请参见代码生成

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

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

初始化

设置movstdWindowmovstdWindow_overlap,movstdExp对象。movstdWindow使用滑动窗口方法,窗口长度为800个样本,默认重叠长度为799个样本,比指定的窗口长度少一个样本。movstdWindow_overlap使用800个样本的窗口长度和700个样本的重叠长度。movstdExp采用指数加权法,遗忘因子为0.999。

创建用于查看输出的时间范围。

framength = 100;Fs = 100;movstdWindow = dsp.MovingStandardDeviation(800);movstdWindow_overlap = dsp.MovingStandardDeviation(800,700);movstdExp = dsp。MovingStandardDeviation (...“方法”指数权重的...“ForgettingFactor”, 0.999);Scope = timescope(“SampleRate”Fs, [Fs, Fs / (800 - 700), Fs),...“TimeSpanOverrunAction”“滚动”...“TimeSpanSource”“属性”...“时间间隔”, 1000,...“ShowGrid”,真的,...“BufferLength”1 e7,...“YLimits”3依照[0]);title =“移动标准差”;范围。标题=标题;范围。ChannelNames = {原始信号的...滑动窗口的800个样本默认重叠...800个样本的滑动窗口,700个样本重叠...遗忘因子为0.999的指数加权};

计算标准差

产生一个有噪声的方波信号。在给定帧数后改变方波的振幅。对该信号应用滑动窗口法和指数加权法。实际的标准差是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 = movstdWindow_overlap(x);y3 = movstdExp(x);范围(yexp, y1, y2, y3);结束结束

算法

全部展开

参考文献

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

扩展功能

版本历史

在R2016b中引入

全部展开