How do I use tf2ss() with discrete-time systems?

hkBattousai picture hkBattousai · May 24, 2012 · Viewed 7.8k times · Source

A have a discrete time transfer function,

H(z-1) = B(z-1) / A(z-1) = (b0 + b1z-1) / (a0 + a1z-1 + a2z-2).

whose numerator and denominator are represented in the code as:

Num = [b0, b1];
Den = [a0, a1, a2];
Ts = 0.01; % Sampling period`

How do I use tf2ss() to obtain the A, B, C and D state space matrices?
Do I directly call tf2ss() like we do in continuous time system?
Or is there any other built-in Matlab function for this purpose?

Answer

Eitan T picture Eitan T · May 24, 2012

Maybe I'm missing something in your question, but you can use it simply like this:

[A, B, C, D] = tf2ss(Den, Num);

You can also refer to the official tf2ss documentation to confirm this.