% EE 212 Example 4 % Description: M-file showing several methods of plotting % the frequency response of a simple RC circuit with % transfer function H(s) = (1/RC)/(s + 1/RC). % % Here R = 10kOhm, C = 1uF => 1/RC = 100. % Clear Matlab memory, clear command window, close all existing figures clear; clc; close all; %===== Frequency response on linear axes ===== figure(1); % open first figure % 1001 linearly spaced frequencies from 0 to 1000rad/sec wlin = linspace(0,1000,1001); % Compute and plot magnitude and phase of TF Hmag1 = 100./sqrt(100^2+wlin.^2); Hpha1 = -atan2(wlin,100)*180/pi; subplot(3,2,1); plot(wlin,Hmag1); xlabel('\omega (rad/s)'); ylabel('|H(j\omega)| (V/V)'); title('Example 4: RC Circuit Frequency Response on Linear Axes'); grid; subplot(3,2,2); plot(wlin,Hpha1); xlabel('\omega (rad/s)'); ylabel('\angleH(j\omega) (deg)'); grid; % Compute TF and plot its magnitude (via abs()) and phase (via angle()) H2 = 100./(j*wlin + 100); Hmag2 = abs(H2); Hpha2 = angle(H2)*180/pi; subplot(3,2,3); plot(wlin,Hmag2); xlabel('\omega (rad/s)'); ylabel('|H(j\omega)| (V/V)'); grid; subplot(3,2,4); plot(wlin,Hpha2); xlabel('\omega (rad/s)'); ylabel('\angleH(j\omega) (deg)'); grid; % Compute TF via bode() and plot its magnitude and phase % Define coefficients of powers of s in numerator and denominator numH = [100]; denH = [1, 100]; % Call bode() [Hmag3,Hpha3] = bode(numH,denH,wlin); subplot(3,2,5); plot(wlin,Hmag3); xlabel('\omega (rad/s)'); ylabel('|H(j\omega)| (V/V)'); grid; subplot(3,2,6); plot(wlin,Hpha3); xlabel('\omega (rad/s)'); ylabel('\angleH(j\omega) (deg)'); grid; %===== Frequency response on logarithmic axes with magnitude in dB ===== figure(2); % open second figure % 1000 logrithmically spaced frequencies from 10^(-1) to 10^3 rad/sec wlog = logspace(-1,3,1000); H4 = 100./(j*wlog + 100); Hmag4dB = 20*log10(abs(H4)); Hpha4 = angle(H4)*180/pi; subplot(2,2,1); semilogx(wlog,Hmag4dB); xlabel('\omega (rad/s)'); ylabel('20log|H(j\omega)| (dB)'); grid; title('Example 4: RC Circuit Frequency Response on Logarithmic x-Axis'); subplot(2,2,2); semilogx(wlog,Hpha4); xlabel('\omega (rad/s)'); ylabel('\angleH(j\omega) (deg)'); grid; % Define coefficients of powers of s in numerator and denominator [Hmag5,Hpha5] = bode(numH,denH,wlog); subplot(2,2,3); semilogx(wlog,20*log10(Hmag5)); xlabel('\omega (rad/s)'); ylabel('20log|H(j\omega)| (dB)'); grid; subplot(2,2,4); semilogx(wlog,Hpha5); xlabel('\omega (rad/s)'); ylabel('\angleH(j\omega) (deg)'); grid;After changing Matlab's Current Directory to where m-file is saved:
>> example4
Figures/Plots Generated: