如何使用 scipy 将低通和高通滤波器应用于时间序列数据集?

问题描述 投票:0回答:0

我有一个时间序列数据集,采样率为 1/10,样本大小为 8390。我只想对前 1000 个和最后 1000 个样本应用低通和高通滤波器,这样我就可以计算傅里叶变换,而不会影响结果的低端伪影.

我尝试使用 scipy 的巴特沃斯滤波器函数生成一个系数数组“lowpass”,然后将该数组与我的数据集 y 值“yf_ISLL_11_21_irfft”进行卷积。

from scipy import signal

lowpass = scipy.signal.butter(2, 0.1, btype='low', analog=False, output='ba', fs=0.1)

yf_ISLL_11_21_irfft = np.convolve(lowpass, yf_ISLL_11_21_irfft)
plt.plot(time_data_ISLL_11_21, yf_ISLL_11_21_irfft)



但是报错信息:'Digital filter critical frequency must be 0 < Wn < 1' is returned, despite my Wn == 0.1.

python scipy time-series signal-processing fft
© www.soinside.com 2019 - 2024. All rights reserved.