Hi, I'm trying to convert an elliptic transfer function where i have knowledge of the poles and zeros (transmission and reflection) into the s-coefficients. is there a matlab routine in which i can do this? my data is this: ========= Prototype Pole-Zero Data ========= (a + jb) S21 Poles S21 Zeros S11 Zeros -0.1805 0.89515 0 2.02 0 0 -0.015829 1.013 0 1.308 0 0.99523 -0.065342 0.9861 0 1.125 0 0.94958 -0.40772 0.61869 0 1.074 0 0.81465 -0.57956 1.8358e-016 0 -2.02 0 0.5058 -0.40772 -0.61869 0 -1.308 0 -0.99523 -0.1805 -0.89515 0 -1.125 0 -0.94958 -0.015829 -1.013 0 -1.074 0 -0.81465 -0.065342 -0.9861 0 0 0 -0.5058 regards, Phil
convert elliptic transfer coefficients to polynomial
Started by ●October 13, 2006
Reply by ●October 13, 20062006-10-13
Phil Newman wrote:> Hi, > > I'm trying to convert an elliptic transfer function where i have > knowledge of the poles and zeros (transmission and reflection) into the > s-coefficients. > > is there a matlab routine in which i can do this? > > my data is this: > > ========= Prototype Pole-Zero Data ========= > (a + jb) > S21 Poles S21 Zeros S11 Zeros > -0.1805 0.89515 0 2.02 0 0 > -0.015829 1.013 0 1.308 0 0.99523 > -0.065342 0.9861 0 1.125 0 0.94958 > -0.40772 0.61869 0 1.074 0 0.81465 > -0.57956 1.8358e-016 0 -2.02 0 0.5058 > -0.40772 -0.61869 0 -1.308 0 -0.99523 > -0.1805 -0.89515 0 -1.125 0 -0.94958 > -0.015829 -1.013 0 -1.074 0 -0.81465 > -0.065342 -0.9861 0 0 0 -0.5058 > > regards, > > PhilHello Phil, Just multiply them out. For example: (s-(-0.1805+j0.89515))(s-(-0.1805-j0.89515) If you use your roots in conjugate pairs, the resulting polys are real valued. (s-a-jb)(s-a+jb) = s^2 -2as + a^2 + b^2 You will likely want to have your result as a few biquads. So using conjugate pairs for the poles and zeroes, you generate a handful of quadratic real terms. Then pair up a zero term with a pole term to form a biquad. IHTH, Clay