我在Matlab中使用了(findpeaks)函数,以便找到信号中峰值的位置和值。
findpeaks(X_Segments{1});
X_Segments包含数据,这里是我得到的图的样本
如图所示,某些峰值彼此非常接近,因此,我要过滤掉这些峰值(去掉它们),以便定期在信号中出现峰值。
答案 0 :(得分:1)
如果将参数MinPeakDistance
传递到findpeaks
函数,则可以设置峰值之间的最小距离。在你的情况下:
findpeaks(X_Segments{1}, 'MinPeakDistance', 10);
或者,您可能会发现MinPeakProminence
或threshold
参数有用。请参阅示例here。