getting z transform in factored form?using Matlab?

10 views (last 30 days)
How we can get z transform in factored form if we have z,p and k?I have also attached snapshot of z transform below
I can use matlab command tf2zp for finding z,p and k.
(z,p,k)=tf2zp(n,d) where n=numerator of H(z) and d=denominator of H(z)
But from there onwards how can i then proceed to find factored form?
Is it better to use matlab function zp2sos ??

Answers (1)

Star Strider
Star Strider on 24 Feb 2020
Control System Toolbox:
z = tf('z');
H = (4*z^2 + 3*z + 9) / (4*z^2 + 3*z - 4);
zsys = zpk(H);
Z = [zsys.Z{:}]
P = [zsys.P{:}]
K = zsys.K
Z =
-0.375 + 1.45236875482778i
-0.375 - 1.45236875482778i
P =
-1.44300046816469
0.693000468164691
K =
1
  2 Comments
ABTJ
ABTJ on 25 Feb 2020
I get error when i copy paste your code
Star Strider
Star Strider on 25 Feb 2020
My code obviously works in R2019b.
Try this instead:
Z = cell2mat(zsys.Z)
P = cell2mat(zsys.P)
K = zsys.K

Sign in to comment.

Products


Release

R2015a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!