Second order approximation of a third order system

54 visualizaciones (últimos 30 días)
Keaton Looper
Keaton Looper el 29 de Nov. de 2023
Comentada: Mathieu NOE el 30 de Nov. de 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 comentario
Mathieu NOE
Mathieu NOE el 29 de Nov. de 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)

Iniciar sesión para comentar.

Respuestas (1)

Sam Chak
Sam Chak el 29 de Nov. de 2023
Editada: Sam Chak el 29 de Nov. de 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 comentarios
Sam Chak
Sam Chak el 29 de Nov. de 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 el 30 de Nov. de 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 !

Iniciar sesión para comentar.

Categorías

Más información sobre Dynamic System Models en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by