Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

polystab

Estabilizar el polinomio

Sintaxis

b = polystab(a)

Descripción

estabiliza un polinomio con respecto a lapolystab círculo unitario; refleja las raíces con magnitudes mayores que 1 dentro del círculo unitario.

b = polystab(a) Devuelve un vector de fila que contiene el polinomio estabilizado. es un vector de coeficientes polinómicos, normalmente en el dominio:baz

A(z)=a(1)+a(2)z1++a(m+1)zm.

Ejemplos

contraer todo

Utilice el método de ventana para diseñar un filtro FIR 25-Oder con frecuencia de corte normalizada

<math display="block">
<mrow>
<mn>0</mn>
<mo>.</mo>
<mn>4</mn>
<mi>π</mi>
</mrow>
</math>
RAD/sample. Verifique que tenga una fase lineal pero no una fase mínima.

h = fir1(25,0.4);  h_linphase = islinphase(h)
h_linphase = logical
   1

h_minphase = isminphase(h)
h_minphase = logical
   0

Se utiliza para convertir el filtro de fase lineal en un filtro de fase mínima.polystab Trace las respuestas de fase de los filtros.

hmin = polystab(h)*norm(h)/norm(polystab(h));  hmin_linphase = islinphase(hmin)
hmin_linphase = logical
   0

hmin_minphase = isminphase(hmin)
hmin_minphase = logical
   1

 hfvt = fvtool(h,1,hmin,1,'Analysis','phase'); legend(hfvt,'h','hmin')

Verifique que los dos filtros tengan respuestas de magnitud idénticas.

hfvt = fvtool(h,1,hmin,1); legend(hfvt,'h','hmin')

Algoritmos

encuentra las raíces del polinomio y asigna las raíces encontradas fuera del círculo de la unidad al interior del círculo de la unidad:polystab

v = roots(a); vs = 0.5*(sign(abs(v)-1)+1); v = (1-vs).*v + vs./conj(v); b = a(1)*poly(v); 

Consulte también

Introducido antes de R2006a