我正在尝试用 Python 实现 Matlab 代码。但是我在设计过滤器时遇到问题
Matlab代码:
d=fdesign.lowpass('N,Fc',10,40,1600);
Hd = design(d);
freqz(Hd)
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)')
为什么Python中的滤波器没有精确的频率响应
最佳答案
是一样的。请注意,Matlab 中的 x 轴包含“pi”,而 Python 中则不包含。 Python 中的 y 轴以自然单位标记:10^-1 对应于 -20 dB,10^-2 对应于 -40 等
关于python - 频率响应:Matlab Vs Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17928595/