| Signal Processing Toolbox | Search  Help Desk |
| polystab | Examples See Also |
Syntax
b = polystab(a)
Description
polystab stabilizes a polynomial with respect to the unit circle; it reflects roots with magnitudes greater than 1 inside the unit circle.
b = polystab(a)
where a is a vector of polynomial coefficients normally in the z-domain:
Example
polystab can convert a linear-phase filter into a minimum-phase filter with the same magnitude response:
h = fir1(25,0.4); hmin = polystab(h)*norm(h)/norm(polystab(h));
Algorithm
polystab finds the roots of the polynomial and maps those roots found outside the unit circle to the inside of the unit circle:
v = roots(a); vs = 0.5*(sign(abs(v)-1)+1); v = (1-vs).*v + vs./conj(v); b = a(1)*poly(v);
See Also
roots |
Polynomial roots (see the online MATLAB Function Reference). |