主要内容

dsp。MovingMaximum

移动的最大

描述

dsp。MovingMaximum系统对象™确定输入信号沿每个通道的移动最大值,随时间独立。目标采用滑动窗口法确定运动最大值。在这种方法中,指定长度的窗口在每个通道上移动,一个样本一个样本地移动,对象决定窗口中数据的最大值。有关详细信息,请参见算法

要确定输入的移动最大值:

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

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

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

创建

描述

movMax= dsp。MovingMaximum返回一个移动的最大值对象,movMax,使用默认属性。

例子

movMax= dsp。MovingMaximum (Len设置WindowLength财产Len

movMax= dsp。MovingMaximum (名称,值使用以下命令指定其他属性名称,值对。未指定的属性具有默认值。

例子:movMax = dsp.MovingMaximum(“SpecifyWindowLength”1“WindowLength”,10);

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

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

  • 真正的—滑动窗口的长度等于在WindowLength财产。

  • —滑动窗口的长度为无穷大。在此模式下,对象决定当前样本和所有过去样本的最大值。

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

依赖关系

此属性在设置时应用SpecifyWindowLength真正的

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

使用

描述

例子

y= movMax (x决定了输入信号的移动最大值,x,使用滑动窗口法。

输入参数

全部展开

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

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

输出参数

全部展开

移动输入信号的最大值,以向量或矩阵的形式返回。

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

计算三个不同振幅的正弦波之和的移动最大值。使用长度为30的滑动窗口。

初始化

设置一个输入信号,它是频率为2hz、5hz和10hz的三个正弦波之和。采样频率为100hz。创建一个dsp。MovingMaximum对象的窗口长度为30。创建用于查看输出的时间范围。

罪= dsp。SineWave (“SampleRate”, 100,...“频率”(2 5 10),...“SamplesPerFrame”, 100);movMax = dsp.MovingMaximum (30);范围= timescope (“SampleRate”, 100,...“TimeSpanOverrunAction”,“滚动”,...“TimeSpanSource”,“属性”,...“时间间隔”10“ShowGrid”,真的,...“YLimits”[-4.5 - 4.5]);

计算移动最大值

输入信号的每个正弦波分量都有不同的振幅,振幅随迭代而变化。使用movMax对象来确定输入信号的当前采样和过去29个采样的最大值。

指数= 1:100 sin。振幅=兰德(1、3);x =总和(sin (), 2);xmax = movMax (x);范围([x, xmax])结束

算法

全部展开

参考文献

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

扩展功能

介绍了R2016b