python实现低通滤波_python中的低通滤波器

一种非常基本的方法是调用

# spell out the args that were passed to the Matlab function

N = 10

Fc = 40

Fs = 1600

# provide them to firwin

h = scipy.signal.firwin(numtaps=N, cutoff=40, nyq=Fs/2)

# 'x' is the time-series data you are filtering

y = scipy.signal.lfilter(h, 1.0, x)

这应该产生一个类似于最终在Matlab代码中生成的过滤器.

如果您的目标是获得功能相同的结果,那么这应该是有用的

过滤.

但是,如果您的目标是python代码提供完全相同的结果,那么你将不得不在设计调用的引擎下(在Matlab中);从我的快速检查来看,解析Matlab调用以确切地识别它正在做什么,即使用什么设计方法等等,以及如何将其映射到相应的scipy调用中并非易事.如果您真的想要兼容性,那么您只需要为有限的数量执行此操作对于过滤器,您可以手动查看Hd.Numerator字段 – 这个数字数组直接对应于上面python代码中的h变量.所以,如果你复制那些手动编号成数组,你会得到数值相等的结果.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值