为什么在使用时返回nanscipy.signal.filtfi

2024-05-01 21:51:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个采样率为160GHz的数据数组,我希望对数据应用30kHz-100kHz带通滤波器。我写如下:

import scipy.signal as dsp
import numpy as np
fs=160e9
data=np.random.rand(int(1e-4*fs))
b, a = dsp.butter(5, [30e3/(fs/2),100e3/(fs/2)],btype='band')
result=dsp.filtfilt(b,a,data)

然而,结果是不可能的。 但如果我像这样降低采样率,它会起作用:

^{pr2}$

这样我可以得到正确的结果,但分析确实很粗糙。因此,当滤波器频率远低于采样率时,巴特沃斯滤波器似乎无法正常工作。我怎样才能解决这个问题?在


Tags: 数据importnumpydatasignalasnprandom