Significantly longer rise time, settling time etc for augmented 6th order step response
4 ビュー (過去 30 日間)
古いコメントを表示
I have an assignment where I need to plot the step response for a dominant 2nd order, ITAE 6th order and augmented 6th order system. I was expecting to obtain a step plot that is similar for all 3 cases. However my augmented 6th order system appears to have a longer rise time than the other 2 plots. I am wondering if I made a mistake in my formation of my augmented 6th order transfer function.
% Mass values
m1 = 1;
m2 = 2;
m3 = 3;
% Spring Coefficients
k1 = 1;
k2 = 2;
k3 = 3;
k4 = 4;
% Damping Coefficients
c1 = 1;
c2 = 2;
c3 = 3;
c4 = 4;
% A, B, C and D matrix generated from chapter 1.
A = [0 0 0 1 0 0;
0 0 0 0 1 0;
0 0 0 0 0 1;
((-1)*((k1+k2)/m1)) (k2/m1) 0 ((-1)*((c1+c2)/m1)) (c2/m1) 0;
(k2/m2) ((-1)*((k2+k3)/m2)) (k3/m3) (c2/m2) ((-1)*((c2+c3)/m2)) (c3/m2);
0 (k3/m3) ((-1)*((k3+k4)/m3)) 0 (c3/m3) ((-1)*((c3+c4)/m3))];
B = [0 0 0;
0 0 0;
0 0 0;
(1/m1) 0 0;
0 (1/m2) 0;
0 0 (1/m3)];
C = [1 0 0 0 0 0;
0 1 0 0 0 0;
0 0 1 0 0 0];
D = [0 0 0;
0 0 0;
0 0 0];
sys_1 = ss(A,B,C,D);
% Specifying percent overshoot (3%) and settling time (3s):
PO = 3;
ts = 3;
% Finding damping ratio and undamped natural frequency
term = pi^2 + log(PO/100)^2;
zeta = -log(PO/100)/sqrt(term) % Damping ratio
wn = 4/(zeta*ts) % Natural frequency from settling time and zeta.
% Setting up generic desired second order system
num1 = wn^2;
den1 = [1 2*zeta*wn wn^2];
% Desired control law eignevalues
DesEig1 = roots(den1)
Des1 = tf(num1,den1)
% Plotting
figure();
td = [0:0.01:40.0];
step(Des1,td);
% We will utilize this to display desired info. Commented out for now
stepinfo(Des1);
%% Part ii) Augment desired second order system eigenvalues
% Need 4 additional eigenvalues since this is a 6th order system
% The first additional eigenvalue was chosen to be 10 times the
% real part of the eigenvalue obtained in part i)
DesEig3 = real(DesEig1(1))*10; % We add the real() to isolate real part from complex number
DesEig4 = DesEig3-1;
DesEig5 = DesEig4-1;
DesEig6 = DesEig5-1;
num_aug = wn^6;
den_aug = [0 12762.6*wn 20701.9*(wn^2) 2621.06*(wn^3) 1036.1*(wn^4) 61.9*(wn^5) (wn^6)];
Aug_tf = tf(num_aug,den_aug);
%step(Aug_tf);
%% Part iii) Compute the ITAE 6th-order coefficients & Eigenvalues.
% Undamped natural freq is 2 times that of part i).
% Plot the 6th order ITAE and the augmented 6th order step response with
% the dominant second order step response of part i).
w_itae = wn*2; % NEEDS TO BE 2 TIMES w used in part i).
num_itae = (w_itae)^6;
% 6th order ITAE
den_itae = [1 3.25*w_itae 6.6*(w_itae^2) 8.6*(w_itae^3) 7.45*(w_itae^4) 3.95*(w_itae^5) (w_itae^6)];
% Finding Eigenvalues from ITAE characteristic polynomial
DesEig_Itae = roots(den_itae);
Itae_tf = tf(num_itae,den_itae);
figure();
step(Des1,Aug_tf,Itae_tf);
legend('Dom 2nd', 'Aug 6th', 'ITAE 6th');
0 件のコメント
回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!