## Documentation Center |

You can use the usual analysis commands (`step`, `bode`, `margin`, `...)` to analyze
systems with time delays. The software makes no approximations when
performing such analysis.

For example, consider the following control loop, where the plant is modeled as first-order plus dead time:

You can model the closed-loop system from `r` to `y` with
the following commands:

s = tf('s'); P = ss(5*exp(-3.4*s)/(s+1)); C = 0.1 * (1 + 1/(5*s)); T = feedback(P*C,1)

`T` is a state-space model with an internal
delay. For more information about models with internal delays, see Closing Feedback Loops with Time Delays.

Plot the step response of `T`:

step(T) grid, title('Closed-loop step response')

For more complicated interconnections, you can name the input
and output signals of each block and use `connect` to
automatically take care of the wiring. Suppose, for example, that
you want to add feedforward to the control loop of the previous model.

You can derive the corresponding closed-loop model `Tff` by

F = 0.3/(s+4); P.InputName = 'u'; P.OutputName = 'y'; C.InputName = 'e'; C.OutputName = 'uc'; F.InputName = 'r'; F.OutputName = 'uf'; Sum1 = sumblk('e','r','y','+-'); % e = r-y Sum2 = sumblk('u','uf','uc','++'); % u = uf+uc Tff = connect(P,C,F,Sum1,Sum2,'r','y');

and compare its response with the feedback only design.

step(T,'b',Tff,'r') legend('No feedforward','Feedforward') grid title('Closed-loop step response with and without feedforward')

The state-space representation keeps track of the internal delays in both models.

The time and frequency responses of delay systems can look odd and suspicious to those only familiar with delay-free LTI analysis. Time responses can behave chaotically, Bode plots can exhibit gain oscillations, etc. These are not software or numerical quirks but real features of such systems. Below are a few illustrations of these phenomena.

**Gain ripple:**

s=tf('s'); G = exp(-5*s)/(s+1); T = feedback(ss(G),.5); bodemag(T)

** Gain oscillations:**

G = ss(1) + 0.5 * exp(-3*s); bodemag(G)

**Jagged step response:**

G = exp(-s) * (0.8*s^2+s+2)/(s^2+s); T = feedback(ss(G),1); step(T)

Note the rearrivals (echoes) of the initial step function.

**Chaotic response:**

G = ss(1/(s+1)) + exp(-4*s); T = feedback(1,G); step(T)

You can use Control System Toolbox™ tools to model and analyze these and other strange-appearing artifacts of internal delays.

Was this topic helpful?