Transfer function with delay generates weird step response

3 visualizaciones (últimos 30 días)
Benedikt
Benedikt el 2 de Jun. de 2022
Respondida: Benedikt el 2 de Jun. de 2022
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))

Respuestas (1)

Benedikt
Benedikt el 2 de Jun. de 2022
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))

Categorías

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

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by