我正在使用 Scipy 实现带通滤波器,但它假设通过了正归一化频率,但 I & Q 样本范围为 [Fc-Fs/2,Fc+Fs/2] 其中 Fs 是采样频率 & Fc 是中心频率但所需的带通filter 应该从 [f1,f2] 过滤,这样它们也可以是负数。如何传递这个频段信息?
我的方法是
- 使用 Scipy firwin生成一个窗口
- 使用 Scipy fftconvolve将其与信号进行卷积
我正在使用 Scipy 实现带通滤波器,但它假设通过了正归一化频率,但 I & Q 样本范围为 [Fc-Fs/2,Fc+Fs/2] 其中 Fs 是采样频率 & Fc 是中心频率但所需的带通filter 应该从 [f1,f2] 过滤,这样它们也可以是负数。如何传递这个频段信息?
我的方法是
你可以做不同的事情:例如,
firwin
给你的(频率对称的)实抽头带通,然后应用它,应用一个复杂的高通(本质上是一个希尔伯特滤波器)来消除所有负频率。可悲的是,这给你留下了最初的问题(使用 scipy 找到一个复杂的抽头过滤器)firwin
)具有与所需的复杂带通相同的通带和过渡宽度。之后,你乘以随着移位,您需要将以 0 为中心的低通移到您的- 中心带通: