python产生fir滤波器_Python中使用FIR滤波器firwin后信号的相移

本文介绍了在Python中使用scipy.signal.firwin函数设计带通滤波器的过程,并探讨了如何通过计算相位延迟对滤波后的信号进行相位校正。在示例中,作者创建了一个针对600Hz频率的带通滤波器,然后发现应用相位延迟后,滤波信号并未与原始信号达到相同相位。通过对频率响应图的分析,作者展示了滤波器的设计和效果。
摘要由CSDN通过智能技术生成

所以,在我最后两个问题之后,我来谈谈我的实际问题。也许有人在我的理论程序中发现了错误,或者我在编程上做了些错事。在

我使用scipy.signal(使用firwin函数)在Python中实现带通滤波器。我的原始信号包括两个频率(w_1=600Hz,w_2=800Hz)。可能会有更多的频率所以我需要一个带通滤波器。在

在这个例子中,我想过滤掉大约600hz的频带,所以我取了600+/-20Hz作为截止频率。当我实现滤波器并使用lfilter在时域中再现信号时,正确的频率被过滤了。在

为了消除相移,我用scipy.signal.freqz绘制了频率响应图,返回值为firwin的h作为分子,1作为预定义的denumerator。

如freqz文档中所述,我还绘制了相位(=doc中的角度),并且能够查看频率响应图,以获得滤波信号频率600hz的相移。在

所以相位延迟t

tΒp=—(Tetha(w))/(w)

不幸的是,当我把这个相位延迟加到滤波信号的时间数据中时,它并没有得到与原始600hz信号相同的相位。在

我加了密码。奇怪的是,在消除部分代码以保持最小值之前,过滤后的信号以正确的振幅开始-现在情况更糟了。在################################################################################

#

# Filtering test

#

################################################################################

#

from m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值