网上找的
def butter_bandpass(lowcut, highcut, fs, order):
nyq = 0.5*fs
low = lowcut/nyq
high = highcut/nyq
b, a = signal.butter(8, [low, high], 'bandpass')
return b, a
def butter_bandpass_filter(data, lowcut, highcut, fs, order):
b, a = butter_bandpass(lowcut, highcut, fs, order)
y = signal.filtfilt(b, a, data, axis=2)
return y
data格式:[trial,channel,time]
其中,[lowcut,highcut]指的是频率区域,fs是采样率,order是阶数。
使用的时候,把要滤波的data放进butter_bandpass()即可。
该博客介绍了如何使用Butterworth滤波器进行频域滤波。`butter_bandpass()`函数用于计算滤波器系数,而`butter_bandpass_filter()`则应用于实际数据滤波,其输入包括低截止频率、高截止频率、采样率和滤波器阶数。数据格式为三维数组,滤波后返回处理结果。
1万+

被折叠的 条评论
为什么被折叠?



