Second order approximation of a third order system

54 ビュー (過去 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 Center および File ExchangeDynamic System Models についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by