主要内容

dsp.MovingVariance

移动的方差

描述

dsp.MovingVariance系统对象™计算输入信号的方差移动沿着每个通道独立。对象使用滑动窗口方法或指数加权法计算方差。在滑动窗口方法中,一个窗口指定长度的数据移动,取样和方差计算中的数据窗口。指数加权法,对象减去每个样本数据的平均值,广场的区别,并繁殖方结果权重因子。通过添加所有的对象然后计算方差加权数据。对这些方法的更多细节,请参阅算法

移动计算方差的输入:

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

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

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

MovVar= dsp.MovingVariance返回一个方差对象移动,MovVar使用缺省属性。

例子

MovVar= dsp.MovingVariance (Len)设置WindowLength财产Len

MovVar= dsp.MovingVariance (Len,重叠)设置WindowLength财产LenOverlapLength财产重叠

例子

MovVar= dsp.MovingVariance (名称,值)指定使用附加属性名称,值对。未指定的属性有默认值。

例子:MovVar = dsp.MovingVariance(“方法”,指数权重的,“ForgettingFactor”,0.9);

属性

全部展开

属性,除非另有注明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)。

遗忘因子0.9给年长的数据更多的重量比遗忘因子为0.1。遗忘因子1.0意味着无限的记忆。所有过去的样品都被给予了同等的重量。

由于这个属性是可调的,你可以改变它的值,即使对象是锁着的。

可调:是的

依赖关系

适用于当您设置这个属性方法指数权重的

数据类型:|

使用

描述

例子

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

输入参数

全部展开

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

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

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

输出参数

全部展开

将输入信号的方差,作为一个向量或矩阵返回。

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

当你从这个对象生成代码,适应行为在生成的代码的输出取决于输入帧长度和输入信号的大小是固定的还是可变的。更多细节,请参阅代码生成

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

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

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

例子

全部折叠

移动计算的方差的不同振幅使用方波信号dsp.MovingVariance对象。

初始化

设置movvarWindow,movvarWindow_overlap,movvarExp对象。movvarWindow使用滑动窗口方法窗口长度为800样本和一个默认的重叠799个样本的长度,也就是1样本长度小于指定的窗口。movvarWindow_overlap使用一个窗口长度为800样本和700个样本的重叠长度。movvarExp采用指数加权方法遗忘因子为0.999。

创建时间范围查看输出。

FrameLength = 100;Fs = 100;movvarWindow = dsp.MovingVariance (800);movvarWindow_overlap = dsp.MovingVariance (800700);movvarExp = dsp.MovingVariance (“方法”,指数权重的,“ForgettingFactor”,0.999);范围= timescope (“SampleRate”Fs, [Fs, Fs / (800 - 700), Fs),“TimeSpanOverrunAction”,“滚动”,“TimeSpanSource”,“属性”,“时间间隔”,1000,“ShowGrid”,真的,“BufferLength”1 e7,“YLimits”[0 7军医]);title =“移动方差”;范围。标题=标题;范围。ChannelNames = {原始信号的,800个样本的滑动窗口默认重叠的,800个样本的滑动窗口重叠的700个样本的,的指数加权遗忘因子为0.999};

计算方差

生成一个嘈杂的方波信号。不同的振幅方波后给定的帧数。应用滑动窗口法和指数加权法在这个信号。实际的差异是np。这个值是用在添加噪声数据。比较实际的方差与方差计算的时间范围。

数= 1;noisepower = 1的军医* (1 2 3 4);指数= 1:长度(noisepower) np = noisepower(指数);yexp = np *的(FrameLength, 1);我=摘要x = 1 +√(np) * randn (FrameLength, 1);日元= movvarWindow (x);y2 = movvarWindow_overlap (x);y3 = movvarExp (x);范围(yexp, y1, y2, y3);结束结束

算法

全部展开

引用

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

扩展功能

版本历史

介绍了R2016b

全部展开