我想使用带通滤波器消除信号的趋势。我在 python 中使用了 FL=0.1 Hz 和 FH=20Hz 的巴特沃斯滤波器,但在应用这个带通滤波器后,我在去趋势信号的开始处观察到一个大尖峰。这个尖峰是做什么用的?以及如何删除 python 中的这个尖峰?

您可以使用此链接下载“data1.csv” 。
from scipy.signal import butter, lfilter
from numpy import genfromtxt
import numpy as np
import matplotlib.pyplot as plt
def butter_bandpass(lowcut, highcut, fs, order=5):
nyq = 0.5 * fs
low = lowcut / nyq
high = highcut / nyq
b, a = butter(order, [low, high], btype='band')
return b, a
def butter_bandpass_filter(data, lowcut, highcut, fs, order=5):
b, a = butter_bandpass(lowcut, highcut, fs, order=order)
y = lfilter(b, a, data)
return …Run Code Online (Sandbox Code Playgroud)