1

Python で Matlab コードを実装しようとしていますが、フィルターの設計で問題に直面しています

Matlab コード:

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

Hd = design(d);

freqz(Hd)

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

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 に答える