从Matlab到Python的fir2 firwin2

时间:2019-01-31 15:32:11

标签: python matlab lowpass-filter highpass-filter

当我将某些matlab脚本改为python时,我最近遇到了这个问题。

这是matlab中有问题的功能:

function [signal_lp]=lowpassFilter(signal, fc1, fc2, F, N)
    f = [0 fc1/(F/2) fc2/(F/2) F/F]; 
    m = [1 1 0 0];
    b = fir2(N,f,m,blackman(N+1));
    signal_lp= filtfilt(b,1,signal);
end

这是我在python中的转录:

def lowpassFilter(signal, fc1, fc2, F, N):
    f = [0.0, fc1/(F/2.0), fc2/(F/2.0), 1.0]
    m = [1, 1, 0, 0]
    b = firwin2(N, f, m, window=('blackman'))
    freqz(b, 1, 512)
    signal = filtfilt(b, 1, signal)
    return signal

问题是,当我使用相同的输入数据执行时,我不会得到相同的结果...

我一直在搜索,移动一些参数,但这似乎不起作用。

你能帮我吗?

预先感谢您的帮助!

MrVhek

0 个答案:

没有答案