View raw

1 import numpy as np 2 import matplotlib.pyplot as plt 3 from math import pi 4 5 N = 300 6 fr = np.logspace(-3, 3, N) 7 w = 2 * pi * fr 8 s = w * 1j 9 10 R1 = 1e6 11 R2 = 1e4 12 C = 1.6e-6 / 2 / pi 13 14 num = R1 * R2 * C * s + R2 15 den = R1 * R2 * C * s + R1 + R2 16 H = num / den 17 18 plt.figure(1) 19 plt.subplot(211) 20 plt.loglog(fr, abs(H)) 21 plt.xlabel('Frequency (Hz)') 22 plt.ylabel('Magnitude (V/V)') 23 plt.title('R1 = 1MΩ, R2 = 1kΩ,C = 1.6μF, Rf = 100kΩ') 24 25 plt.subplot(212) 26 plt.semilogx(fr, np.angle(H) * 180 / pi) 27 plt.xlabel('Frequency (Hz)') 28 plt.ylabel('Phase (deg)') 29 30 plt.show() 31