从信号中去除正弦振荡 Python

Removing sinusoidal oscillation from signal Python

对于消除此类信号的正弦振荡有什么建议吗?

使用low-pass过滤器。看看这里: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.butter.html

在这里甚至更好: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.filtfilt.html

filtfilt 函数应用过滤器两次,从头开始,从尾开始,这样由于过滤产生的延迟被消除(两个相反的延迟相互消除)

您需要调整过滤器参数,最重要的是 - cut-off frequency(将过滤器的阶数设置为 5-10),尝试 0.05-0.2 左右的不同值。

sig = [0, 1, 0, 1, 0, 1, 0, 1, 0] # your signal
b, a = signal.butter(8, 0.1)
filtered_signal = signal.filtfilt(b, a, sig, method="gust")