主要内容

dsp。MovingRMS

移动均方根

描述

dsp。MovingRMS系统对象™计算输入信号沿每个通道的移动均方根(RMS),随时间独立。该对象使用滑动窗口方法或指数加权方法来计算移动RMS。在滑动窗口方法中,将指定长度的窗口逐个样本地移动到数据上,并对窗口中的数据计算RMS。在指数加权方法中,对象对数据样本进行平方,将它们与一组加权因子相乘,并将被加权的数据相加。然后,该对象通过取和的平方根来计算RMS。有关这些方法的详细信息,请参见算法

计算输入的移动均方根值:

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

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

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

创建

描述

movRMS= dsp。MovingRMS返回移动的RMS对象,movRMS,使用默认属性。

movRMS= dsp。MovingRMS (Len设置WindowLength财产Len

MovRMS= dsp。MovingRMS (Len重叠设置WindowLength财产LenOverlapLength财产重叠

例子

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

例子:movRMS = dsp。MovingRMS (“方法”,指数权重的,“ForgettingFactor”,0.9);

属性

全部展开

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

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

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

移动RMS方法,指定为“滑动窗口”指数权重的

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

  • 指数权重的-对象用一组权重因子乘以样本的平方。加权因子的大小随着数据年龄的增加呈指数下降,永远不会达到零。为了计算均方根,算法对加权数据求和,并取和的平方根。

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

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

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

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

依赖关系

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

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

依赖关系

设置时应用此属性方法“滑动窗口”而且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.1的遗忘因子相比,0.9的遗忘因子给予旧数据更多的权重。遗忘因子为1.0表示无限记忆。所有过去的样本都被赋予相同的权重。

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

可调:是的

依赖关系

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

数据类型:|

使用

语法

描述

例子

y= movRMS (x计算输入信号的移动均方根,x,以滑动窗口法或指数加权法计算。

输入参数

全部展开

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

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

输出参数

全部展开

移动输入信号的均方根值,以矢量或矩阵形式返回。

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

计算一个有噪声的方波信号的移动均方根与变化幅度使用dsp。MovingRMS对象。

初始化

设置movrmsWinmovrmsWin_overlap,movrmsExp对象。movrmsWin使用滑动窗口方法,窗口长度为20个样本,默认重叠长度为19个样本,比指定的窗口长度少一个样本。movrmsWin_overlap使用20个样本的窗口长度和15个样本的重叠长度。movrmsExp采用指数加权法,遗忘因子为0.995。

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

framength = 10;Fs = 100;movrmsWin = dsp.MovingRMS(20);movrmsWin_overlap = dsp.MovingRMS(20,15);movrmsExp = dsp。MovingRMS (“方法”指数权重的...“ForgettingFactor”, 0.995);Scope = timescope(“SampleRate”, [Fs, Fs, Fs / (20-15), Fs),...“TimeSpanOverrunAction”“滚动”...“TimeSpanSource”“属性”...“时间间隔”, 100,...“ShowGrid”,真的,...“YLimits”[-1.0 - 5.5]);title =“RMS移动”;范围。标题=标题;范围。ChannelNames = {原始信号的...滑动窗口的20个样本默认重叠...20个样本的滑动窗口与15个样本重叠...“遗忘因子为0.995的指数加权”};

计算均方根值

产生一个有噪声的方波信号。在给定帧数后改变方波的振幅。对该信号应用滑动窗口法和指数加权法。在时间范围内查看输出。

Count = 1;Vect = [1/8 1/2 1 2 3 4];V = Vect(index);i = 1:160 x = V + 0.1 * randn(帧长,1);y1 = movrmsWin(x);y2 = movrmsWin_overlap(x);y3 = movrmsExp(x);范围(x, y1, y2, y3);结束结束

算法

全部展开

参考文献

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

扩展功能

版本历史

在R2016b中引入