getting z transform in factored form?using Matlab?

6 次查看(过去 30 天)
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 ??

回答(2 个)

Star Strider
Star Strider 2020-2-24
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 个评论
Star Strider
Star Strider 2020-2-25
My code obviously works in R2019b.
Try this instead:
Z = cell2mat(zsys.Z)
P = cell2mat(zsys.P)
K = zsys.K

请先登录,再进行评论。


Abhishek
Abhishek 2025-3-14
Hi ABTJ,
I understand that you want to express the Z-transform in factored form after determining the zero, poles and gain using the “tf2zp” function. The following MATLAB Answer explains how to do the same:

类别

Help CenterFile Exchange 中查找有关 Signal Processing Toolbox 的更多信息

产品


版本

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by