How to compute poles-zeros using matlab?

7 views (last 30 days)
Li Hui Chew
Li Hui Chew on 18 Jul 2021
Answered: Mathieu NOE on 19 Jul 2021
H(z)=(1-2^-2)/(1-0.9*z^-1+0.6*z^-2+0.5*z^-3)
b=[1 0 -1 0];
a=[1 0.9 0.6 0.5];
% to find zeors
zeros=roots(b)
% to find poles
poles=roots(a)
% to plot
zplane(b,a)
Is my approach correct?

Answers (1)

Mathieu NOE
Mathieu NOE on 19 Jul 2021
hello
I hope the coefficient in b and a are correct (then the zeros and poles are inside the unit circle ) , because the first line is not 100% matching the coefficients you declared in b and a :
H(z)=(1-2^-2)/(1-0.9*z^-1+0.6*z^-2+0.5*z^-3) should be then replaced by :
H(z)=(1-z^-2)/(1+0.9*z^-1+0.6*z^-2+0.5*z^-3)
otherwise the zeros and pole computation is correct , and there is also this method (FYI) :
% alternative :
[Z,P,K] = tf2zp(b,a)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Tags

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!