寻找信号的局部最小值

时间:2016-08-08 20:57:26

标签: matlab

我在MATLAB中使用了findpeaks函数来查找信号中峰值(Local Maxima)的位置和值。

[pks, locs] = findpeaks(X_Segments{nn},'MinPeakDistance', 20);
AverageDistance_Peaks(nn,:) = mean(diff(locs));

X_Segments包含数据。

是否有任何函数可以提取下图的局部最小值?

Graph shows the Local Maxima 图表显示Local Maxima

1 个答案:

答案 0 :(得分:1)

首先否定你的信号。这将为您提供当地的最小值。

% Pass a negative version of X_segments
[pks, locs] = findpeaks(-X_Segments{nn},'MinPeakDistance', 20);
AverageDistance_Peaks(nn,:) = mean(diff(locs));

% Change the sign back to be the correct one
pks = -pks;