Pole Zero plot in Scilab

70 views Asked by At

While trying to generate the pole-zero plot for a discrete time all-pass system tha has a pole at 3/4 and a zero at 4/3, scilab code that I used didnt work.

I used he code

z=poly(0,'z')
n = [z-4/3];          // Defining Nr polynomial
d = [z-3/4];          // Defining Dr polynomial
h=syslin('d',n./d);  // Defining linear system
plzr(h)

In the above example, both the pole and zero are on the real axis at r = 3/4 and 4/3 and theta = 0 degrees. Suppose we place to the pole and zero at 3/4 e^j pi/3, 4/3 e^j pi/3 respectively, then

z=poly(0,'z')
n = [z-(4/3)*exp(%i*%pi/3)];          // Defining Nr polynomial
d = [z-(3/4)z*exp(%i*%pi/3)];          // Defining Dr polynomial
h=syslin('d',n./d);  // Defining linear system
plzr(h)

it does not work ! Can any one can help ??

1

There are 1 answers

2
Stéphane Mottelet On

plzr only works for real systems, hence you have to add complex conjugate poles and zeros:

z=poly(0,'z')
n = [z-(4/3)*exp(%i*%pi/3)];          // Defining Nr polynomial
d = [z-(3/4)*exp(%i*%pi/3)];          // Defining Dr polynomial
h=syslin('d',real(n'*n)/real(d'*d));  // Defining linear system
plzr(h)

enter image description here