closedloop with delay and difference between Inputdelay and Outputdelay
2 views (last 30 days)
Show older comments
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" ?
0 Comments
Accepted Answer
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
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
More Answers (0)
See Also
Categories
Find more on Classical Control Design in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!