python scipy.signal_python – 频率响应Scipy.signal

本文介绍了使用Python Scipy.signal库来计算数字信号处理中的滤波器频率响应。作者通过对比书中的理论结果和Scipy.signal库的计算结果,探讨了两者在峰值比率上的差异,并手动实现了一个计算频率响应的函数进行验证。
摘要由CSDN通过智能技术生成

我正在学习数字信号处理以实现过滤器,并使用

python轻松实现测试思路.所以我刚开始使用scipy.signal库来查找不同滤波器的脉冲响应和频率响应.

目前我正在阅读“保罗·林恩(1992)的数字信号,处理器和噪声”一书(并且发现它是学习这些东西的一个惊人的资源).在本书中,他们有一个过滤器,其传递函数如下所示:

我将分子和分母除以得​​到以下等式:

然后我使用Scipy实现了这个:

NumeratorZcoefs = [1, -1, 1, -1]

DenominatorZcoefs = [1, 0.54048, -0.62519, -0.66354, 0.60317, 0.69341]

FreqResponse = scipy.signal.freqz(NumeratorZcoefs, DenominatorZcoefs)

fig = plt.figure(figsize = [8, 6])

ax = fig.add_subplot(111)

ax.plot(FreqResponse[0], abs(np.array(FreqResponse[1])))

ax.set_xlim(0, 2*np.pi)

ax.set_xlabel("$\Omega$")

并生成如下图:

然而,在本书中,频率响应显示如下:

它们的形状相同,但是对于2个地块,在~2.3和0.5处的峰值比率非常不同,有人可能会说明为什么会这样吗?

编辑:

为了补充一点,我刚刚实现了一个函数来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值