closedloop with delay and difference between Inputdelay and Outputdelay

3 views (last 30 days)
Hi all!!
Well, My problem is that I can't find the transfer function of closed loop model with delay.
I use
s=tf('s');
Gp = 250/(s*(1+s/10));
Gp.OutputDelay = 0.05;
feedback(Gp,tf([1],[1]))
and I receive this error
??? Error using ==> lti.feedback at 127 System interconnection gives rise to internal delays and can only be represented in state space. Convert at least one of the models to state space using the "ss" command.
And I don't want to use my model in state space. And i don't wanna use any approximation (pade...), too. Any idea?
I have one more question. Which is the difference between "Gp.InputDelay" and "Gp.OutputDelay" ?

Accepted Answer

Arnaud Miege
Arnaud Miege on 2 Jun 2011
You have no choice but to use state-space:
>> feedback(ss(Gp),tf([1],[1]))
a =
x1 x2
x1 -10 -2500
x2 1 0
b =
u1
x1 64
x2 0
c =
x1 x2
y1 0 39.06
d =
u1
y1 0
(values computed with all internal delays set to zero)
Internal delays: 0.05
Continuous-time model.
Note that in R2011a, it works without converting to state-space:
>> feedback(Gp,tf([1],[1]))
a =
x1 x2
x1 -10 -2500
x2 1 0
b =
u1
x1 64
x2 0
c =
x1 x2
y1 0 39.06
d =
u1
y1 0
(values computed with all internal delays set to zero)
Internal delays (seconds): 0.05
Continuous-time model.
HTH,
Arnaud
  2 Comments
sadel
sadel on 2 Jun 2011
Thank you for your reply!!
Do you know anything about my second question?
Which is the difference between "Gp.InputDelay" and "Gp.OutputDelay" ?
Arnaud Miege
Arnaud Miege on 2 Jun 2011
InputDelay applies a time delay to the input of the LTI object, whereas OutputDelay applies a time delay to the output of the LTI object, see:
http://www.mathworks.com/help/releases/R2011a/toolbox/control/ug/bstzkhr.html

Sign in to comment.

More Answers (0)

Tags

No tags entered yet.

Community Treasure Hunt

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

Start Hunting!