How to extract information from sys

David Koenig (view profile)

on 11 May 2019
Latest activity Commented on by Star Strider

on 11 May 2019

Star Strider (view profile)

I would like to extract the coefficients in a discrete transfer function that I construct from a continuous transfer function. For example,
Fs=44100;
Ts=1/Fs;
num=[.001 0 ];
den=[.001 1];
sys=tf(num,den);
sysD=c2d(sys,Ts);
Now, if I do the following:
>> sysD
sysD =
z - 1
----------
z - 0.9776
Sample time: 2.2676e-05 seconds
Discrete-time transfer function.
So,
how can I extract the coefficients a1,a2, b1,b2 in the z-transform
(b1*z+b2)/(a1*z+a2)? That is, can I find b1=1, b2=-1, a1=1, a2=-.9776?
Thanks.

Star Strider (view profile)

on 11 May 2019

The system object is a structure array of cells, so:
N = sysD.Numerator{:}
D = sysD.Denominator{:}
produces:
N =
1 -1
D =
1 -0.977579425259153
That should do what you want.

David Koenig

David Koenig (view profile)

on 11 May 2019
Thanks for you response, Strider. That was exactly what I was looking for!
Star Strider

Star Strider (view profile)

on 11 May 2019
As always, my pleasure!