Python中的高通滤波器哪里出了问题?

2024-09-27 07:23:33 发布

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

# Specifications for HPF
Wp = 0.01 # Cutoff frequency 
Ws = 0.004 # Stop frequency 
Rp = 0.1 # passband maximum loss (gpass)
As = 60 # stoppand min attenuation (gstop)
b,a = fd.iirdesign(Wp, Ws, Rp, As, ftype='butter')
y = sig.lfilter(b, a, x, axis=-1)

我调整了参数,但结果没有如预期的那样出现。在

例如,当我减少Wp时,我期望在滤波之后有更多的频率分量幸存下来。因此,我期望看到一个更“不稳定”的信号。在

然而,结果却是到处都是0。在

看来我对这个HPF的理解是错误的。在

这样做是正确的吗?

如何调整参数?


Tags: for参数wsasrpcutoffwpstop
1条回答
网友
1楼 · 发布于 2024-09-27 07:23:33

对于iRDesign工具来说,过渡带似乎太紧了。最终得到的滤波器在低频下有一个很大的增益提升,基本上形成了一个低通滤波器。例如,尝试使用创建过滤器

Wp = 0.1
Ws = 0.04

这应该给你一个高通滤波器。尝试用倍频程或matlab freqz函数绘制得到的系数,以检查它是否产生了所需的滤波器响应。在

如果你必须有这样一个狭窄的过渡,你可以尝试其他类型的巴特沃斯过滤器。例如,椭圆设法产生所需的截止、过渡和停止,但在通带和止带上引入了振铃(以及非线性相位响应)。在

^{pr2}$

相关问题 更多 >

    热门问题