擅长:python、mysql、java
<p>问题是打印时没有在x轴上使用tmp,而且freqz以弧度/采样为单位给出了规格化的tmp向量:</p>
<pre><code>import numpy as np
import scipy.signal as sig
import matplotlib.pyplot as plt
Fs = 48000
num = [0 , 1000]
den = [1 , 1000]
w1, H = sig.freqs(num, den, worN=1024)
b, a = sig.bilinear(num, den, Fs)
w2, Hd = sig.freqz(b, a, worN=1024)
fig = plt.figure()
plt.title('Filter frequency response')
plt.semilogx(w1, 20*np.log10(np.abs(H)),'b')
plt.semilogx(w2*Fs, 20*np.log10(np.abs(Hd)),'k')
plt.ylabel('magnitude [dB]')
plt.xlabel('frequency [Hz]')
plt.grid()
plt.axis('tight')
plt.xlim([0.001, Fs/2])
plt.show()
</code></pre>
<p>这个代码运行得非常好。希望有帮助。你知道吗</p>