Peak Finder
Determine whether each value of input signal is local minimum or maximum
Libraries:
DSP System Toolbox /
Signal Operations
Description
The Peak Finder block counts the number of local extrema in each column of a real-valued input signal. The block outputs the number of local extrema at the Cnt port. You can also configure the block to output the extrema indices, the extrema values, and a binary value indicating if the extrema are maxima or minima. To qualify as an extremum, a point has to be larger (or smaller) than both its neighboring points, so the block does not consider end points when counting extrema.
Examples
Effect of Overflow Mode on Peak Finder Output
Effect of saturate on integer overflow parameter on the Peak Finder output.
Ports
Input
The Peak Finder blocks accepts real-valued vector or matrix inputs with at least three rows.
Example: [9 6 10 3 5 5 0 12
; 9 6 1 13 4 1 0
12
]'
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
Output
Number of peak values the block detects in the input signal, returned as a scalar or a row vector of length equal to the number of channels in the data input.
Example: [4 3
]
Data Types: uint32
Indices of the peak values in the input signal, returned as a column vector or matrix. The size of the peak indices output is the same as that of the input. All nonzero elements represent peak indices.
If you set Index base to Zero
, the block
outputs zero-based extrema indices. If you set Index
base to One
, the block outputs
one-based extrema indices.
Example: [1 2 3 6 0 0 0 0 0 0
; 2 3 6 0 0 0 0 0 0
0
]'
Dependencies
To enable this output port, select the Output peak indices parameter.
Data Types: uint32
Peak values in the input signal, returned as a column vector or matrix.
Example: [6 10 3 0 0 0 0 0 0 0
; 1 13 0 0 0 0 0 0 0
0
]'
Dependencies
To enable this output port, select the Output peak values parameter.
Data Types: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| fixed point
Peak value polarity in input signal, returned as a column vector or a matrix of logical 1s and 0s. If the signal value is a maximum, the block outputs 1 at this port. If the signal value is a minimum, the block outputs 0 at this port.
Example: [0 1 0 0 0 0 0 0 0 0
; 0 1 0 0 0 0
0 0 0 0
]'
Dependencies
To enable this port, select either Output peak
indices or Output peak values,
and set the Peak type(s) parameter to
Maxima and Minima
.
Data Types: Boolean
Parameters
Specify the type of peaks to identify as one of these:
Maxima
–– If you select Ignore peaks within threshold of neighboring values, the block identifies the current value as a maximum if (current – previous) > threshold and (current – next) > threshold. Specify threshold in the Threshold parameter. If you do not select Ignore peaks within threshold of neighboring values, the block identifies a maxima if the current value is larger than both its neighboring points.Minima
–– If you select Ignore peaks within threshold of neighboring values, the block identifies the current value as a minimum if (current – previous) < –threshold and (current – next) < –threshold. If you do not select Ignore peaks within threshold of neighboring values, the block identifies a minima if the current value is smaller than both its neighboring points.Maxima and Minima
–– The block identifies the maxima and the minima points.
Specify the base of the extrema indices as either:
Zero
–– The first index starts with 0. For example, consider an input vector [−1.5, 0.5, 0]. The peak value of this vector is 0.5 and the index of this peak value is 1.One
–– In this setting, the first index starts with 1. The index of the peak value in [−1.5, 0.5, 0] is 2.
Select this check box if you want the block to output the extrema indices at the Idx port.
Select this parameter if you want the block to output the extrema values at the Val port.
Enter the number of extrema to look for in each input signal as an integer greater than or equal to 1. The block stops searching the input signal for extrema once the maximum number of extrema has been found.
Select this parameter if you want to eliminate the detection of peaks whose amplitudes are within a specified threshold of neighboring values. This feature allows the block to ignore noise by focusing on values above the specified threshold.
When you clear this parameter, the block identifies the current value as a peak if the current value is larger (or smaller) than both its neighboring points. When you select this parameter, the block identifies the current value as a maximum if (current – previous) > threshold and (current – next) > threshold. The block identifies the current value as a minimum if (current – previous) < –threshold and (current – next) < –threshold.
Specify the threshold below which peaks are ignored as a real scalar greater than or equal to 0 or a vector with all elements greater than or equal to 0. The length of the vector must be equal to the number of channels.
This property identifies the current input value to be a maximum if (current – previous) > threshold and (current – next) > threshold. The current value is a minimum if (current – previous) < –threshold and (current – next) < –threshold.
Dependencies
To enable this parameter, select the Ignore peaks within threshold of neighboring values parameter.
When you select this parameter, the block saturates the result of its
fixed-point operations. When you clear this parameter, the block wraps the
result of its fixed-point operations. For details on
saturate
and wrap
, see overflow
mode for fixed-point operations.
Dependencies
To enable this parameter, select the Ignore peaks within threshold of neighboring values parameter.
Block Characteristics
Data Types |
|
Direct Feedthrough |
|
Multidimensional Signals |
|
Variable-Size Signals |
|
Zero-Crossing Detection |
|
Extended Capabilities
Generated code relies on the memcpy
or
memset
function (string.h
) under certain
conditions.
Version History
Introduced before R2006a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.
Amériques
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)