Transfer function with delay generates weird step response

3 ビュー (過去 30 日間)
Benedikt
Benedikt 2022 年 6 月 2 日
回答済み: Benedikt 2022 年 6 月 2 日
Hi!
My step response plots have a weird shape as soon as I ad an input delay to the system. I cant figure out why. Depending on the delay it creates all kind of sharp edges.
Any suggestion?
PT1b = tf(10,[3 1],'inputdelay',0.8);
C = pid(0.1,0.1,0.1);
step(feedback(PT1b*C,1))

回答 (1 件)

Benedikt
Benedikt 2022 年 6 月 2 日
ok, I figured it out. Its not a strange Matlab solver behaviour but it comes from the fact that the closed loop (feedback) actually is a N=2/D=2. This makes no sense in the real world since the controllers D-output goes to infinity for a step input. However it results is a state space model with a direct feet-thru.
PT1b = tf(10,[3 1],'inputdelay',0.5);
C = pid(0.1,0.1,0.1);
feedback(PT1b*C,1)
ans = A = x1 x2 x1 -0.5 -0.5 x2 0.5 0 B = u1 x1 0.75 x2 0 C = x1 x2 y1 0.1667 0.5 D = u1 y1 0.25 (values computed with all internal delays set to zero) Internal delays (seconds): 0.5 Continuous-time state-space model.
A solution for real world is to use a Tf on the D-term of the controller
PT1b = tf(10,[3 1],'inputdelay',0.5);
C = pid(0.1,0.1,0.1 ,0.2);
step(feedback(PT1b*C,1))

カテゴリ

Help Center および File ExchangeDynamic System Models についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by