How to properly excite state-space models with time-delay using step-function?

12 visualizzazioni (ultimi 30 giorni)
Hi,
I have constructed the following state-space presentation with a time-delay:
C = pid(1,0.1);
G = tf(2.5,[105 1],'InputDelay',5);
sys = feedback(ss(G),C);
step(sys);
The result is decaying to zero, however the steady state value for a unit step input should be 1 for the given system? Am I missing something here?
Best regards, Aapo Keskimölö

Risposta accettata

Azzi Abdelmalek
Azzi Abdelmalek il 15 Set 2013
Now I get it, your C PID should be in series with your model G and the feedback is the constant 1
sys=feedback(G*C,1)
step(sys)

Più risposte (2)

Azzi Abdelmalek
Azzi Abdelmalek il 15 Set 2013
% I do not know how feedback function works. I can create feedback by connecting my models and signals use connect function
C = pid(1,0.1);
C.u = 'e'; % system C input
C.y = 'u'; % system C output
G = tf(2.5,[105 1],'InputDelay',5);
G.u = 'u'; % system G input
G.y = 'y'; % system G output
%-----create sum e=r-y, r is the step signal and y is your output
somme = sumblk('e = r - y');
%---------connect system+PID+input r + output y-------------------
sys = connect(G,C,somme,'r','y');
%-----------------------------------------------------------------
step(sys)

Aapo
Aapo il 16 Set 2013
Hi,
You are absolutely correct. I was overlooking the fact that the system was parallel. The command that I was looking for should have been
step(feedback(ss(G)*C,1)
Thank you for pointing out the fact that I didnt pay attention to!
Best regards, Aapo

Community Treasure Hunt

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

Start Hunting!

Translated by