python滤波器设计

一、在matlab输入fdatool,打开滤波器设计窗口,指定滤波器、Specify order(设定阶数)、Fs(采样率)、Fpass(通带)、Fstop(阻带),观察滤波器效果。
二、使用python进行滤波
FIR Equiripple滤波器设计

from scipy import signal

fs = 130520000.0       # Sample rate, Hz
cutoff = 1200000.0    # Desired cutoff frequency, Hz
trans_width = 200000  # Width of transition from pass band to stop band, Hz
numtaps = 1500      # Size of the FIR filter.

taps = signal.remez(numtaps, [0, cutoff, cutoff + trans_width, 0.5*fs], [1, 0], Hz=fs)

data_fir = signal.lfilter(taps, 1, data)

注意:
1、如果采样率和通带频率相差太大,则需要的阶数会很大,消耗资源增加,可以通过抽取降低采样率来降低阶数。
2、signal.lfilter的输入参数为(b,a,x),b为滤波器分子系数,a为滤波器分母系数,Equiripple滤波器输出只有一个,所以a设置为1.

参考:
滤波器设计
lfilter输入解析

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值