# Calculating poles/zeros from 4+ order transfer function

I need to calculate the poles and zeros from minimum 4th order (max ~20) filter coefficients. I have limitations that prohibit the companion matrix/eigen decomposition method used by roots() in Matlab.

I can see many methods for general iterative root solving, but would really appreciate some advice whether there are any methods that work well for digital filters.

• well, the 4th-order polynomial has a solution where you can directly get its roots, but higher order than that, no direct or quasi-closed-form solution presently exists. if you knew all the roots were real, you could use Newton-Raphson method, for the case of complex conjugate poles, i am not so sure but there is the Newton fractal method. i dunno how securely it can be counted on to converge. – robert bristow-johnson Jul 16 '15 at 15:58
• I am expecting complex poles, so I'll check out the fractal method. I had found the quartic solution, so am considering whether limiting to 4th order is an option. Thanks – kippertoffee Jul 16 '15 at 16:26