MATLAB Answers

0

How to extract information from sys

Asked by David Koenig on 11 May 2019
Latest activity Commented on by Star Strider
on 11 May 2019
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.

  0 Comments

Sign in to comment.

Tags

1 Answer

回答者: Star Strider
2019 年 5 月 11 日
 採用された回答

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.

  2 Comments

David Koenig 2019 年 5 月 11 日
Thanks for you response, Strider. That was exactly what I was looking for!
Star Strider
2019 年 5 月 11 日
As always, my pleasure!

Sign in to comment.