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 CenterFile Exchange에서 Dynamic System Models에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by