频率响应:Matlab与Python

时间:2013-07-29 15:54:33

标签: python matlab numpy scipy

我正在尝试用Python实现一个Matlab代码。但我在设计过滤器方面遇到了问题

Matlab代码:

d=fdesign.lowpass('N,Fc',10,40,1600);

Hd = design(d);

freqz(Hd)

frequecy response of low pass filter in Matlab

Python代码:

 N=10
 Fc=40
 Fs=1600
 d=firwin(numtaps=N,cutoff=40,nyq=Fs/2)
 Hd=lfilter( d, 1.0, demod_1)
 w,h=freqz(d)
semilogy(w, np.abs(h), 'b')
grid(True)
ylabel('Amplitude (dB)', color='b')
xlabel('Frequency (rad/sample)')

frequecny response in Python

为什么python中的过滤器没有精确的频率响应

1 个答案:

答案 0 :(得分:3)

它是一样的。请注意,Matlab中的x轴包含“pi”,而在Python中则不包含“pi”。并且Python中的y轴以自然单位标记:10 ^ -1对应-20 dB,10 ^ -2到-40等