from scipy import signal b = signal.firwin(80, 0.5, window=('kaiser', 8)) h, w = signal.freqz(b) import matplotlib.pyplot as plt fig = plt.figure() plt.title('Digital filter frequency response') ax1 = fig.add_subplot(111) plt.semilogy(w, np.abs(h), 'b') plt.ylabel('Amplitude (dB)', color='b') plt.xlabel('Frequency (rad/sample)') plt.grid() plt.legend() ax2 = ax1.twinx() angles = np.unwrap(np.angle(h)) plt.plot(w, angles, 'g') plt.ylabel('Angle (radians)', color='g') plt.show()