% Frequency Response Script
% This script will plot the magnitude and phase response of a low-pass RC filter
% using the parameters defined below. The time axis will be plotted
% in terms of cut-off frequency (i.e. normalized by 1/(RC)).
%
% Written by Kevin D. Donohue 9-7-2004 (donohue@engr.uky.edu)
R = 1000; % Resistance value
C = 1e-6; % Capacitor value
A = 10; % Voltage (max amplitude) of input step
co = 2*pi/(R*C); % Compute circuits cut-off frequency (3 dB down point).
% Time axis Limits in terms of time constants
num_o_co = 3; % Number of cut_off frequency intervals for length of frequency axis
sample_int = .001; % frequency inteval as a fraction of the cut-off frequency
w = [0 : co*sample_int : num_o_co*co]; % Create frequency axis from 0
s = j*w; % put frequency on imaginary axis
mvc = abs(A ./ (1+s/co)); % Compute magnitude response
figure % Open new figure window for plot
plot(w/co, mvc); % Normalize frequency axis by cut-off and plot response
xlabel('Frequency in number of 3dB Cut-off Frequency Values') % Label x-axis
ylabel('Magnitude') % Label y-axis
figure % Open new figure window for plot
pvc = phase(A ./ (1+s/co)); % Compute phase response
plot(w/co, pvc*180/pi); % Normalize frequency axis by cut-off, convert radians
% to degress and plot response
xlabel('Frequency in number of 3dB Cut-off Frequency Values') % Label x-axis
ylabel('Degrees') % Label y-axis