Second order approximation of a third order system

67 Ansichten (letzte 30 Tage)
Keaton Looper
Keaton Looper am 29 Nov. 2023
Kommentiert: Mathieu NOE am 30 Nov. 2023
I have a transfer function with a zero at 259.6 and poles at 0, -1.6, and -33.8. How do I make a second order approximation of this system to implement a step input and analyze the overshoot and settling time?
  1 Kommentar
Mathieu NOE
Mathieu NOE am 29 Nov. 2023
hello
your TF contains a pole at 0 so it contains an integrator - any how a step input will create an output signal like a ramp - no way you can measure overshoot and setling time (like underdamped second order systems)
what kind of second order approximation are you trying to do , and why ? removing the p = 0 term is no more an approximation it's a different system ! and removing other pole(s) will not change the integrator effect either.
all your poles are real so there will be no oscillations, overshoot. For that you need complex conjugated poles.
zz = 259.6;
pp = [ 0 -1.6 -33.8];
[NUM,DEN] = zp2tf(zz,pp,1);
figure,bode(NUM,DEN)
figure,step(NUM,DEN)
figure,impulse(NUM,DEN)

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Sam Chak
Sam Chak am 29 Nov. 2023
Bearbeitet: Sam Chak am 29 Nov. 2023
For versions before R2023b release, use the balred() command. Now you can use the newer reducespec() command instead.
Update: The OP has clarified that the value 259.6 in the numerator is actually the 'gain' (k), not a 'zero'.
%% Original 3rd-order LTI model
z = [];
p = [0, -1.6, -33.8];
k = 259.6;
sys = tf(zpk(z, p, k))
sys = 259.6 ------------------------ s^3 + 35.4 s^2 + 54.08 s Continuous-time transfer function.
%% Reduced 2nd-order LTI model
R1 = reducespec(sys, "balanced");
R2 = reducespec(sys, "ncf"); % requires Robust Control Toolbox™
rsys = tf(getrom(R2, Order=2))
rsys = -0.17 s + 7.437 ----------------------- s^2 + 1.508 s + 0.03729 Continuous-time transfer function.
bode(sys, rsys, 'r--'), grid on
legend("Original", "Order 2")
  3 Kommentare
Sam Chak
Sam Chak am 29 Nov. 2023
Take a look at the updated Answer. If you find the solution helpful, please consider clicking 'Accept' ✔ on the answer and voting 👍 for it. Thanks a bunch!
Mathieu NOE
Mathieu NOE am 30 Nov. 2023
as expected , the second order approximation does not retain the integrator part of the original TF
for closed loop design, that can have some serious impact !

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Dynamic System Models finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by