python设计各种滤波器(基于切比雪夫)

#切比雪夫滤波器
def apply_chebyshev_filter(data, fs, ftype, freqs=[], order=5, rp=3):
    nyq = 0.5 * fs
    
    if ftype == 'low_pass':
        assert len(freqs) == 1
        cut = freqs[0]/nyq
        b,a = signal.cheby1(order, rp, cut, btype='lowpass')
    elif ftype == 'high_pass':
        assert len(freqs) == 1
        cut = freqs[0]/nyq
        b,a = signal.cheby1(order, rp, cut, btype='highpass')
    elif ftype == 'band_pass':
        assert len(freqs) == 2
        lowcut, highcut = freqs[0]/nyq, freqs[1]/nyq
        b,a = signal.cheby1(order, rp, [lowcut,highcut], btype='bandpass')
    elif ftype == 'band_stop':
        assert len(freqs) == 2
        lowcut, highcut = freqs[0]/nyq, freqs[1]/nyq
        b,a = signal.cheby1(order, rp, [lowcut,highcut], btype='bandstop')

    filtered = signal.lfilter(b, a, data)
    return filtered



#形如 Green_filtered = apply_chebyshev_filter(Green_detrend,sample_rate,'band_pass',[0.8,3],8) 使用

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值