首页 > 解决方案 > 如何在信号图中对对应于同一山丘的峰值点进行分组

问题描述

我有一个点列表,我需要在其中找到峰值点并将它们分组。我正在使用scipy.signalfind_peak()中的函数来查找峰值点,现在我需要对对应于同一山丘的峰值点进行分组(如下所述)。我们怎么能做到这一点,任何建议都会有很大帮助。

示例图像 在此处输入图像描述 在此处输入图像描述

代码

from matplotlib import pyplot as plt
from scipy.signal import find_peaks

# lst has list of points
A = np.array(lst)
peaks, _ = find_peaks(A)

plt.figure()
plt.plot(lst)
plt.plot(peaks, A[peaks], "ro")
plt.grid()
plt.show()

标签: pythonscipysignal-processing

解决方案


对峰值进行分组的典型方法是对波形进行低通滤波。降低低通滤波器的截止频率,直到您认为属于您的“山丘”的峰值合并。然后尝试查找峰值功能。


推荐阅读