1

我正在尝试在 Python 中实现 Matlab 代码。但是我在设计过滤器时遇到了问题

Matlab代码:

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

Hd = design(d);

freqz(Hd)

Matlab中低通滤波器的频率响应

蟒蛇代码:

 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)')

Python中的频率响应

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

4

1 回答 1

3

这是相同的。请注意,Matlab 中的 x 轴包括“pi”,而在 Python 中则没有。Python 中的 y 轴以自然单位标记:10^-1 对应于 -20 dB,10^-2 对应于 -40 等

于 2013-07-29T16:00:59.790 回答