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.

invfreqz

Identifique los parámetros de filtro de tiempo discreto de los datos de respuesta de frecuencia

Sintaxis

[b,a] = invfreqz(h,w,n,m)
[b,a] = invfreqz(h,w,n,m,wt)
[b,a] = invfreqz(h,w,n,m,wt,iter)
[b,a] = invfreqz(h,w,n,m,wt,iter,tol)
[b,a] = invfreqz(h,w,n,m,wt,iter,tol,'trace')
[b,a] = invfreqz(h,w,'complex',n,m,...)

Descripción

es elinvfreqz operación inversa de; encuentra una función de transferencia de tiempo discreto que corresponde a una respuesta de frecuencia compleja determinada.freqz Desde un punto de vista de análisis de laboratorio, se puede utilizar para convertir datos de magnitud y fase en funciones de transferencia.invfreqz

[b,a] = invfreqz(h,w,n,m) Devuelve los coeficientes de numerador y denominador reales en vectores y de la función de transferenciaba

H(z)=B(z)A(z)=b(1)+b(2)z1++b(n+1)zna(1)+a(2)z1++a(m+1)zm

cuya respuesta de frecuencia compleja se da en Vector en los puntos de frecuencia especificados en Vector.hw Escalares y especificar las órdenes deseadas de los polinomios numerador y denominador.nm

La frecuencia se especifica en radianes entre 0 y π, y la longitud de debe ser la misma que la longitud de. utiliza para asegurar la simetría del dominio de frecuencia adecuada para un filtro real.hwinvfreqzconj(h)-w

[b,a] = invfreqz(h,w,n,m,wt) pesa los errores de ajuste en comparación con la frecuencia, donde es un vector de los factores de ponderación de la misma longitud que.wtw

[b,a] = invfreqz(h,w,n,m,wt,iter) Y

[b,a] = invfreqz(h,w,n,m,wt,iter,tol) proporcionan un algoritmo superior que garantiza la estabilidad del sistema lineal resultante y busca el mejor ajuste mediante un esquema iterativo y numérico. El parámetro indica que finaliza la iteración cuando la solución ha convergido o después de las iteraciones, lo que ocurra primero. define la convergencia como ocurre cuando la norma del vector de degradado (modificado) es menor que, donde es un parámetro opcional que por defecto es 0,01.iterinvfreqziterinvfreqztoltol Para obtener un vector de peso de todos los, utilice

invfreqz(h,w,n,m,[],iter,tol)

[b,a] = invfreqz(h,w,n,m,wt,iter,tol,'trace') muestra un informe de progreso textual de la iteración.

[b,a] = invfreqz(h,w,'complex',n,m,...) crea un filtro complejo. En este caso no se aplica ninguna simetría y la frecuencia se especifica en radianes entre-π y π.

Ejemplos

contraer todo

Convierta una función de transferencia simple en datos de respuesta de frecuencia y luego vuelva a los coeficientes de filtro originales. Croquice los ceros y los polos de la función.

a = [1 2 3 2 1 4]; b = [1 2 3 2 3];  [h,w] = freqz(b,a,64); [bb,aa] = invfreqz(h,w,4,5)
bb = 1×5

    1.0000    2.0000    3.0000    2.0000    3.0000

aa = 1×6

    1.0000    2.0000    3.0000    2.0000    1.0000    4.0000

 zplane(bb,aa)

y son equivalentes a y, respectivamente.bbaaba Sin embargo, el sistema es inestable porque tiene polos fuera del círculo de la unidad. Utilice el algoritmo iterativo para encontrar una aproximación estable al sistema.invfreqz Verifique que los polos estén dentro del círculo de la unidad.

[bbb,aaa] = invfreqz(h,w,4,5,[],30)
bbb = 1×5

    0.2427    0.2788    0.0069    0.0971    0.1980

aaa = 1×6

    1.0000   -0.8944    0.6954    0.9997   -0.8933    0.6949

 zplane(bbb,aaa)

Algoritmos

De forma predeterminada, utiliza un método de error de ecuación para identificar el mejor modelo a partir de los datos.invfreqz Esto encuentra y enba

minb,ak=1nwt(k)|h(k)A(w(k))B(w(k))|2

creando un sistema de ecuaciones lineales y resolviéndolos con el operador.MATLAB®\ Aquí (ω ()) y (ω ()) son las transformaciones de Fourier de los polinomios y, respectivamente, en la frecuencia ω (), y es el número de puntos de frecuencia (la longitud de y).AkBkabknhw Este algoritmo es un basado en Levi.[1]

El algoritmo superior ("Output-Error") utiliza el amortiguada Método Gauss-Newton para búsqueda iterativa, con la salida del primer algoritmo como la estimación inicial.[2] Esto resuelve el problema directo de minimizar la suma ponderada del error cuadrado entre los puntos de respuesta de frecuencia reales y deseados.

minb,ak=1nwt(k)|h(k)B(w(k))A(w(k))|2

Referencias

[1] Levi, E. C. “Complex-Curve Fitting.” IRE Transactions on Automatic Control. Vol. AC-4, 1959, pp. 37–44.

[2] Dennis, J. E., Jr., and R. B. Schnabel. Numerical Methods for Unconstrained Optimization and Nonlinear Equations. Englewood Cliffs, NJ: Prentice-Hall, 1983.

Consulte también

| |

Introducido antes de R2006a