Second-Order System Example #1

MATLAB Code




%         ***** MATLAB Code Starts Here
%

%SECOND_ORDER_01_MAT

%

fig_size = [232 84 774 624];

Ra = 1;

La = 0;

KT = 139;

Kb = 100;

B = 7000;

J = 44200;

%

KA = 2 * logspace(1,4,19);

KA = KA(1:16);

%

wn = sqrt(KA*KT / (J*Ra));

z = ((B*Ra+Kb*KT) ./ (J*Ra)) ./ (2*wn);

%

for i = 1:length(z)

po(i) = 100 * exp(- pi * z(i) / sqrt(1 - z(i)^2));

tr(i) = (1 + 1.1 * z(i) + 1.4 * z(i)^2) / wn(i);

ts(i) = 4 / (z(i) * wn(i));

wd(i) = wn(i) * sqrt(1 - z(i)^2);

tp(i) = pi / wd(i);

wg(i) = wn(i) * sqrt(- 2 * z(i)^2 + sqrt(4 * z(i)^4 + 1));

pm(i) = (180 / pi) * atan(2 * z(i) * wn(i) / wg(i));

wb(i) = wn(i) * sqrt(1 - 2 * z(i)^2 + sqrt(4 * z(i)^4 - 4 * z(i)^2 + 2));

if z(i) < 0.71,

mr(i) = 1 / (2 * z(i) * sqrt(1 - z(i)^2));

wr(i) = wn(i) * sqrt(1 - 2 * z(i)^2);

end

end

%

figure(1),clf,semilogx(KA,z,KA,z,'o'),grid,...

xlabel('K_A (V/r)'),ylabel('Zeta'),title('Damping Ratio vs. Amplifier Gain'),...

set(gcf,'Position',fig_size)

%

figure(2),clf,semilogx(KA,wn,KA,wn,'o'),grid,...

xlabel('K_A (V/r)'),ylabel('w_n (r/s)'),title('Natural Frequency vs. Amplifier Gain'),...

set(gcf,'Position',fig_size)

%

figure(3),clf,semilogx(KA,po,KA,po,'o',KA,pm,KA,pm,'o'),grid,xlabel('K_A (V/r)'),...

ylabel('PO (%) & PM (deg)'),title('Overshoot and Phase Margin vs. Amplifier Gain'),...

text(1200,65,'Overshoot'),text(23,75,'Phase Margin'),...

set(gcf,'Position',fig_size)

%

figure(4),clf,semilogx(KA,tr,KA,tr,'o',KA,ts,KA,ts,'o',KA,tp,KA,tp,'o'),grid,xlabel('K_A (V/r)'),...

ylabel('T_r (s), T_s (s), & T_p (s)'),title('Rise, Settling, and Peak Times vs. Amplifier Gain'),...

text(23,12,'T_r'),text(120,16,'T_s'),text(23,32,'T_p'),...

set(gcf,'Position',fig_size)

%

figure(5),clf,semilogx(KA,wb./wg,KA,wb./wg,'o'),grid,xlabel('K_A (V/r)'),ylabel('w_b / w_x'),...

title('Ratio of Bandwidth to Gain Crossover vs. Amplifier Gain'),...

set(gcf,'Position',fig_size)

%

figure(6),clf,semilogx(KA,wb.*tr,KA,wb.*tr,'o'),grid,xlabel('K_A (V/r)'),ylabel('w_b * T_r'),...

title('Product of Bandwidth and Rise Time vs. Amplifier Gain'),...

set(gcf,'Position',fig_size)

%
%         ***** MATLAB Code Stops Here

Click the icon to return to the Dr. Beale's home page

Lastest revision on Wednesday, June 7, 2006 12:04 PM