¿Cómo estimar una función de transferencia a partir de una respuesta de frecuencia de magnitud solamente?

11

Dada una respuesta de frecuencia arbitraria, ¿qué métodos de procesamiento de señal pueden existir que puedan adivinar, estimar o determinar una función de transferencia (constelación de polos y cero) que proporcione una aproximación "razonablemente buena" (para algunos criterios de calidad de estimación dados) a esa respuesta de frecuencia dada? ¿Qué medios existen para estimar el número de polos y ceros requeridos para una función de transferencia dada más un margen de error de aproximación dado? ¿O cómo se puede determinar que estas restricciones no se pueden cumplir, si es posible?

Si la respuesta de frecuencia dada fue realmente producida por una función de transferencia conocida, ¿alguno de estos métodos convergerá en esa función de transferencia original? ¿Qué tal si la respuesta de frecuencia dada estuviera sujeta a errores de medición (supuestamente gaussianos)?

Suponga que trabaja en el plano Z con espectro muestreado, aunque las respuestas continuas de dominio también pueden ser interesantes.

Agregado: ¿Los métodos de solución son diferentes si solo se da la magnitud de la respuesta de frecuencia (por ejemplo, se permite una solución con cualquier respuesta de fase)?

Agregado: El último problema es lo que más me interesa, dada una respuesta de magnitud conocida alrededor del círculo unitario, pero una respuesta de fase desconocida / no medida, ¿se puede estimar el sistema medido, y si es así, bajo qué condiciones?

hotpaw2
fuente
¿Está intentando aproximar una respuesta de frecuencia arbitraria como un espectro racional? ¿Es decir (b [0] + b [1] z ^ -1 ...) / (1 + a [1] z ^ -1 ...)? Si es así, esto generalmente se conoce como modelado ARMA. Es más difícil que el modelado AR porque la autocorrelación de una señal tiende a estar relacionada no linealmente con los coeficientes de promedio móvil (los b [] 'o ceros). Si mi suposición es correcta, puedo escribir una respuesta más formal.
Bryan
@Bryan: Sí. Traté de dar a entender que al indicar una solución "polo y cero" (una función de transferencia racional) era adecuada (preferiblemente solo si es mejor que una solución / estimación de todos los polos o toda cero del mismo grado).
hotpaw2
¿Qué significado se le atribuye a la respuesta de frecuencia ? Algunas personas distinguen entre la función de respuesta de frecuencia o y la función de transferencia y otras no. Vea, por ejemplo, la discusión que sigue a esta respuesta a una pregunta anterior. H(ω)H(f)H(s)
Dilip Sarwate
@Dilip Sarwate: Dado H (w) solo para el círculo unitario (¿es redundante?), Resuelve / estima una representación completa del plano z. Con suerte, eso es consistente con mi declaración original de la pregunta.
hotpaw2
1
Tu adición cambia las cosas. Los polos y ceros pueden cambiar con la respuesta de magnitud que permanece igual. El ejemplo más común de esto es cuando uno está diseñando un filtro de fase mínima. Esto generalmente implica tomar un sistema existente y reflejar los polos y ceros dentro del círculo unitario. Esto solo cambia la respuesta de fase, no la respuesta de magnitud.
Bryan

Respuestas:

14

Un enfoque sería utilizar el método de mínimos cuadrados del dominio de frecuencia (FDLS) . Dado un conjunto de muestras (complejas) de la respuesta de frecuencia de un sistema de tiempo discreto y un orden de filtro elegido por el diseñador, el método FDLS utiliza la optimización lineal de mínimos cuadrados para resolver el conjunto de coeficientes (que se asignan directamente a conjuntos de polos y ceros) para el sistema cuya respuesta de frecuencia coincide con la respuesta deseada con un error cuadrado total mínimo.

La respuesta de frecuencia de un orden -ésimo lineal sistema de tiempo discreto se puede escribir como:N

H(ω)=H(z)|z=ejω

donde es la función de transferencia del sistema en el dominio . Esto generalmente se escribe en el formato racional que se deriva directamente de la ecuación de diferencia del sistema:H(z)z

H(z)=k=0Nbkzk1+k=1Nakzk

La respuesta de frecuencia es por lo tanto:

H(ω)=k=0Nbkejkω1+k=1Nakejkω

Reorganice lo anterior para obtener:

k=0NbkejkωH(ω)(1+k=1Nakejkω)=0

Esta ecuación es lineal en los coeficientes de ecuación de diferencia de sistema desconocidos y . Dada una respuesta de frecuencia deseada , nos gustaría encontrar coeficientes que cumplan con la ecuación anterior exactamente para todos los valores de . Para el caso general, eso es difícil. Por lo tanto, buscaremos un conjunto de coeficientes para un sistema cuya respuesta de frecuencia se aproxime a la respuesta deseada en un conjunto discreto de frecuencias.2N+1bkakH(ω)ω

Para resolver un conjunto apropiado de coeficientes usando el método lineal de mínimos cuadrados, generamos un sistema de ecuaciones sobredeterminado en esas incógnitas. Para generar esas ecuaciones, elija una colección de frecuencias (donde , y a menudo . Para cada frecuencia, sustituya el valor correspondiente de en la ecuación anterior para obtener:ωm[0,2π),m=0,1,,M1M>2N+1M2N+1)ωk

k=0NbkejkωkH(ωk)(1+k=1Nakejkωk)=0

Los valores se obtienen muestreando la respuesta de frecuencia deseada en las frecuencias elegidas . Después de generar el sistema de ecuaciones lineales, la solución de mínimos cuadrados para los coeficientes del sistema y (y, por lo tanto, sus polos y ceros) se obtiene fácilmente. Si sustituye esos coeficientes en la ecuación para muestra arriba, debería (con suerte) producir una función que esté cerca de la respuesta de frecuencia de plantilla con la que comenzó.ω k b k a k H ( ω )H(ωk)ωkbkakH(ω)

Esta técnica tiene algunas ventajas:

  • Cualquier respuesta de frecuencia compleja arbitraria (magnitud y fase) se puede utilizar como plantilla. Si solo tiene una restricción de magnitud, podría elegir una respuesta de fase, como una fase lineal.

  • Se puede usar para diseñar filtros FIR y IIR; para una realización FIR, simplemente elimine los coeficientes de lo anterior.ak

  • La técnica es muy sencilla de implementar y se puede parametrizar fácilmente en función del orden deseado del sistema.

  • Si bien puede que no haya una buena manera de estimar a priori cuál es el orden del sistema requerido para cumplir con sus restricciones de diseño, es simple aumentar iterativamente el orden hasta que se cumpla alguna métrica de error seleccionada (como error máximo, error cuadrado total, o desviación dentro de una banda específica).N

Puede ampliar este método un poco para utilizar la optimización de mínimos cuadrados ponderados si es necesario; esto le permitiría especificar regiones de la respuesta de frecuencia cuyo error de aproximación se pondera más que otros. Esto le permite controlar más estrictamente las áreas de banda de paso / banda de detención mientras permite más pendiente en áreas de "no importa".

Jason R
fuente
1
Excelente respuesta !! El "arte" al hacer diseños de filtros con el mínimo error cuadrado es definir correctamente cuál es exactamente el "error". Esto se controla eligiendo la cuadrícula de frecuencia correcta, factores de ponderación en frecuencias específicas y agregando más restricciones para el comportamiento fuera de banda y también para mantener sus polos dentro del círculo unitario.
Hilmar
El problema con esta solución potencial es que, si se desconoce la fase sobre una función de transferencia existente, FDLS puede converger en la solución incorrecta si se asume la fase incorrecta, sin importar cuán exactamente se adivine correctamente el orden o se mida la respuesta de magnitud.
hotpaw2
@ hotpaw2: Eso es de esperar. Si no sabe nada sobre la respuesta de fase, entonces hay un número infinito de soluciones que son igualmente válidas (es decir, tendrían la respuesta de magnitud correcta). Necesitará información para orientarlo hacia lo que considera la solución más adecuada.
Jason R
@JasonR: Las únicas soluciones correctas deberían ser las permutaciones de voltear polos / ceros dentro / fuera, que es un número finito para cualquier sistema de orden finito (existente).
hotpaw2
6

Mis colegas han tenido excelentes resultados con la adaptación de vectores :

La adaptación vectorial es un método numérico robusto para la aproximación racional en el dominio de la frecuencia. Permite identificar modelos de espacio de estados directamente a partir de respuestas de frecuencia medidas o calculadas, tanto para sistemas de entrada / salida simples como múltiples. La aproximación resultante ha garantizado polos estables que son reales o vienen en pares conjugados complejos.

Lo usamos para la conversión de FIR a IIR.

Para aplicaciones menos exigentes, puede usar un ajuste de mínimos cuadrados no lineal para un número fijo de polos y ceros. Esto se implementa en Matlab como invfreqsy invfreqz.

nibot
fuente
0

Otro enfoque: trazar la respuesta de frecuencia y ajustar un diagrama de Bode lo mejor posible. Esto podría hacerse muy rápidamente para una solución aproximada, o en un sentido complejo de mínimos cuadrados para un mejor ajuste. GTH

G Heydt
fuente