# Creating Discrete-Time Models

This example shows how to create discrete-time linear models using the tf, zpk, ss, and frd commands.

### Specifying Discrete-Time Models

Control System Toolbox™ lets you create both continuous-time and discrete-time models. The syntax for creating discrete-time models is similar to that for continuous-time models, except that you must also provide a sample time (sampling interval in seconds).

For example, to specify the discrete-time transfer function:

$H\left(z\right)=\frac{z-1}{{z}^{2}-1.85z+0.9}$

with sampling period Ts = 0.1 s, type:

num = [ 1  -1 ];
den = [ 1  -1.85  0.9 ];
H = tf(num,den,0.1)
H =

z - 1
------------------
z^2 - 1.85 z + 0.9

Sample time: 0.1 seconds
Discrete-time transfer function.

or equivalently:

z = tf('z',0.1);
H = (z - 1) / (z^2 - 1.85*z + 0.9);

Similarly, to specify the discrete-time state-space model:

$x\left[k+1\right]=0.5x\left[k\right]+u\left[k\right]$

$y\left[k\right]=0.2x\left[k\right].$

with sampling period Ts = 0.1 s, type:

sys = ss(.5,1,.2,0,0.1);

### Recognizing Discrete-Time Systems

There are several ways to determine if your LTI model is discrete:

• The display shows a nonzero sample time value

• sys.Ts or get(sys,'Ts') return a nonzero sample time value.

• isdt(sys) returns true.

For example, for the transfer function H specified above,

H.Ts
ans = 0.1000
isdt(H)
ans = logical
1

You can also spot discrete-time systems by looking for the following traits:

• Time response plots - Response curve has a staircase look owing to its sampled-data nature

• Bode plots - There is a vertical bar marking the Nyquist frequency (pi divided by the sample time).

The following plots show these characteristic traits:

step(H)

bode(H), grid