Second order approximation of a third order system

조회 수: 58 (최근 30일)
Keaton Looper
Keaton Looper 2023년 11월 29일
댓글: Mathieu NOE 2023년 11월 30일
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
Mathieu NOE
Mathieu NOE 2023년 11월 29일
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)

댓글을 달려면 로그인하십시오.

답변 (1개)

Sam Chak
Sam Chak 2023년 11월 29일
편집: Sam Chak 2023년 11월 29일
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
Sam Chak
Sam Chak 2023년 11월 29일
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 2023년 11월 30일
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 !

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Dynamic System Models에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by