文档

dsp.PeakFinderSystem object

在输入信号识别高峰值

描述

dsp.PeakFinder系统对象™计数峰值的数量值(最大值、最小值、或两者)在每一列的实值输入信号。资格作为一个高峰,一个点必须更大(或更小)的周边点。终点并不视为高峰值。对象也可以输出指数和价值观的山峰,和一个二进制数组表示峰值是否最大值或最小值。

输出峰值指数和高峰值,设置PeakIndicesOutputPortPeakValuesOutputPort真正的,分别。此外,您可以确定哪些高峰值的最大值或最小值使用极性矩阵。的极性矩阵是一个逻辑数组1显示一个极大值,和一个最小值0表示。查看极性矩阵集PeakType的最大值和最小值和访问的第四输出。

使用MaximumPeakCount属性指定多少高峰值在每个输入信号。对象停止搜索高峰值的输入信号一旦最大数量被发现。

如果你设置IgnoreSmallPeaks真正的,对象不再检测到低振幅峰值和忽略了噪声在您定义的阈值。在这种模式下,当前值是最大的(当前的- - - - - -以前的)>阈值(当前的- - - - - -下一个)>阈值。当前值是最小(当前的- - - - - -以前的)< -阈值(当前的- - - - - -下一个)< -阈值

确定输入信号的高峰值:

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

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

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

创建

语法

pkFind = dsp.PeakFinder
pkFind = dsp.PeakFinder(名称、值)

描述

例子

pkFind= dsp.PeakFinder创建一个峰仪系统对象标识的高峰值(最大值、最小值、或两者)在一个输入信号。

例子

pkFind= dsp.PeakFinder (名称,值)创建一个峰仪系统对象与每个指定的属性设置为指定的值。在单引号附上每个属性的名字。

例子:延迟= dsp.PeakFinder (“PeakType”、“最大值”);

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象(MATLAB)。

类型的峰识别、指定为以下之一:

  • “最大值”——如果IgnoreSmallPeaks被设置为真正的,当前值被确定为最多(当前的- - - - - -以前的)>阈值(当前的- - - - - -下一个)>阈值。指定阈值PeakThreshold财产。如果IgnoreSmallPeaks被设置为,当前值必须大于其相邻点。

  • “最小值”——如果IgnoreSmallPeaks被设置为真正的,被确定为当前值最低(当前的- - - - - -以前的)< -阈值(当前的- - - - - -下一个)< -阈值。如果IgnoreSmallPeaks被设置为,当前值必须小于其相邻点。

  • 的最大值和最小值——对象标识的最大值和最小值点。

使输出的峰值指标,指定为:

  • 真正的——对象返回输入信号峰值的索引值。

  • ——对象不返回输入信号的指数高峰值。

使输出的高峰值,指定为:

  • 真正的——对象返回的高峰值输入信号。

  • ——对象不返回的高峰值输入信号。

最大数量的高峰值来确定在每一个输入信号,指定为一个整数大于或等于1。对象停止搜索的输入信号的峰值一旦识别的最大数量。

例子:5

例子:50

忽略峰值低于一个阈值,指定为:

  • ——对象标识当前值峰,如果当前值更大(或更小)的周边点。

  • 真正的——对象标识当前值最大,如果(当前的- - - - - -以前的)>阈值和(当前的- - - - - -下一个)>阈值。对象标识作为最低如果(当前值当前的- - - - - -以前的)< -阈值和(当前的- - - - - -下一个)< -阈值

阈值低于峰值所忽视,指定为一个真正的标量大于或等于0或一个向量与所有元素大于或等于0。向量的长度必须等于通道的数量。

这个属性标识当前输入值是最大如果(当前输入值——以前的输入值)>阈值和(当前输入值-下一个输入值)>阈值。至少如果当前值(当前输入值——以前的输入值)<)和(当前输入值-下一个输入值)<)。

例子:0.2

例子:(0.3 - 2.4]

例子:(3;0.4]

依赖关系

这个属性只适用于当您设置IgnoreSmallPeaks真正的

定点属性

舍入方法,指定为“地板”,相当于截断。设置轮计算的结果最接近可表示的数字的方向负无穷。

溢出行动定点操作,指定为以下之一:

  • “包装”——对象包装定点操作的结果。

  • “饱和”——对象浸透定点操作的结果。

溢出行为的更多细节,请参阅溢出模式为定点操作。

使用

比R2016b早版本,使用一步函数运行系统对象™算法。的参数一步是你创建的对象,其次是本节所示的参数。

例如,y =步骤(obj, x)y = obj (x)执行相同操作。

语法

问= pkFind(输入)
[问,idx] = pkFind(输入)
(___,val) = pkFind(输入)
(___波尔]= pkFind(输入)

描述

例子

= pkFind(输入)返回的数量高峰值(最小值,最大值,或者两者兼而有之)的输入信号。输入的每一列都被视为一个单独的通道。

例子

(,idx]= pkFind(输入)返回的数量高峰值,峰值指标,idx,在输入信号。

访问峰值指标输出,设置PeakIndicesOutputPort财产真正的

pkFind = dsp.PeakFinder (“PeakType”,“最大值”,“PeakIndicesOutputPort”,真正的);[问,idx] = pkFind(输入);

例子

(___,瓦尔]= pkFind(输入)返回值峰值瓦尔在输入信号。

访问高峰值输出,设置PeakValuesOutputPort财产真正的

pkFind = dsp.PeakFinder (“PeakType”,“最大值”,“PeakValuesOutputPort”,真正的);[问,idx, val] = pkFind(输入);

例子

(___,波尔]= pkFind(输入)返回峰值极性波尔在输入信号。极性是1极大值和0最小值。

访问极性输出,设置PeakType财产的最大值和最小值,PeakIndicesOutputPort财产真正的

pkFind = dsp.PeakFinder (“PeakType”,的最大值和最小值,“PeakIndicesOutputPort”,真正的);[问,idx val,波尔]= pkFind(输入);

输入参数

全部展开

数据输入的高峰值是检测到的对象,指定为一个包含至少三个行向量或矩阵。

例子:[9 6 10 3 5 5 0 12;9 6 1 13 4 1 0 12]“

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

输出参数

全部展开

高峰值的数量,作为一个标量或返回一个行向量的长度等于数据输入通道的数量。

例子:(4个3]

数据类型:uint32

指数在输入信号的高峰值,返回一个列向量或矩阵。峰值的大小指标输出输入的是一样的。所有非零元素代表指数峰值。

例子:(1 2 3 6 0 0 0 0 0 0;2 3 6 0 0 0 0 0 0 0)'

依赖关系

要启用这个输出,设置PeakIndicesOutputPort财产真正的

数据类型:uint32

输入信号高峰值,返回一个列向量或矩阵。

例子:[6 10 3 0 0 0 0 0 0 0;1 13 0 0 0 0 0 0 0 0)'

依赖关系

访问高峰值输出,设置PeakValuesOutputPort财产真正的

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

在输入信号峰值极性,返回为一个列向量或矩阵的逻辑0和1。极性是1极大值和0最小值。

例子:[0 1 0 0 0 0 0 0 0 0;0 1 0 0 0 0 0 0 0 0)'

数据类型:逻辑

对象的功能

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

发行版(obj)

全部展开

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

例子

全部展开

请注意:如果您使用的是R2016a或更早的版本中,用等效替换每个调用对象一步语法。例如,obj (x)就变成了步骤(obj, x)

确定每个值的输入信号是一个局部最大值或最小值。

pkFind = dsp.PeakFinder;pkFind。PeakIndicesOutputPort = true;pkFind。PeakValuesOutputPort = true;x1 = (9 6 10 3 4 5 0 12) ';

找到每个输入的高峰[下]上一页,坏蛋;:{[9、6、10],[6;10;3],…}

[cnt1, idx1, val1 pol1] = pkFind (x1)
cnt1 =uint325
idx1 =10 x1 uint32列向量1 2 3 5 6 0 0 0 0 0
val1 =10×16 10 3 5 0 0 0 0 0 0
pol1 =10 x1逻辑阵列0 1 0 1 0 0 0 0 0 0

请注意:如果您使用的是R2016a或更早的版本中,用等效替换每个调用对象一步语法。例如,obj (x)就变成了步骤(obj, x)

确定定点输入信号高峰值。

pkFind = dsp.PeakFinder (“PeakType”,“最大值”,“PeakValuesOutputPort”,真的,“MaximumPeakCount”2,“IgnoreSmallPeaks”,真的,“PeakThreshold”,0.25,“OverflowAction”,“饱和”);x2 = fi([1, 0.5, 0],真的,16日15);[cnt2, val2] = pkFind (x2)
cnt2 =uint321
val2 = 0.5000 0 DataTypeMode:定点:二进制点缩放Signedness:签了字:16 FractionLength: 15

扩展功能

另请参阅

功能

系统对象

介绍了R2012a

这个主题有帮助吗?