Estimación de orden de filtro

9

Suponga un número desconocido pero pequeño y finito de polos y ceros en el plano Z complejo, todos con conjugados complejos, produciendo alguna respuesta. Estrictamente a partir del valor absoluto de un conjunto de puntos igualmente espaciados alrededor del círculo unitario, digamos que más de 2 veces el número de polos y ceros, de esa respuesta, es posible estimar o calcular el número de polos y ceros que produjeron esa magnitud muestreada ¿respuesta?

Agregado: ¿Se requieren más de 2X puntos de muestra para determinar el número de polos y ceros? (cuando se da que el total es menor que X).

Agregado: Si hay más de una solución, ¿se puede encontrar o estimar una solución mínima (como en el número mínimo de polos y ceros totales)?

hotpaw2
fuente
Este es un problema mucho más fácil sin postes. Eso se convertiría esencialmente en el algoritmo en el comando matlab / octave firls.
Mark Borgerding
Me pregunto si podría analizar el numerador y el denominador de la respuesta de frecuencia en términos del problema de valor propio generalizado. Probablemente deba asumir la fase (lineal para empezar)
Mark Borgerding
¡Supongo que todos los filtros de paso están descartados! Si los polos y los ceros están "lo suficientemente cerca", creo que tendrá problemas cuando las muestras de la respuesta estén igualmente espaciadas. De todos modos, digamos que tiene una respuesta plana, excepto por un pequeño golpe en algún lugar con una frecuencia no demasiado baja. Dependiendo de su preferencia, puede modelar eso usando un biquad (2 ceros y 2 polos) o puede modelarlo usando 4 a 6 ceros. Una pregunta relacionada es: dado un conjunto de polos y ceros, ¿cuál es el número mínimo de puntos de la respuesta de magnitud requerida para calcular con precisión el número de polos y ceros?
niaren
1
Creo que el problema, como se dijo, no tiene solución. Puede tomar cualquier sistema arbitrario y ponerlo en cascada con uno o más filtros allpass; esto no afectaría su respuesta de magnitud pero cambiaría cuántos polos / ceros tiene la cascada. Para una respuesta de magnitud dada, entonces, habría infinitos números de polos y ceros correspondientes. Podría ser una historia diferente si tuviera acceso a la respuesta de fase del sistema. De lo contrario, definitivamente puede estimar el orden del sistema (utilizando algún esquema no especificado). Buen problema para pensar.
Jason R
Se solucionó la pregunta para eliminar un zoológico infinito de filtros allpass de la solución.
hotpaw2

Respuestas:

1

Teóricamente es posible hacer esto, aunque a menudo no será práctico.

zkzk

norte=0 02nortesinortezk-norte-H(zk)norte=12norteunanortezk-norte=H(zk)
zkω

Si M es mayor que N, el sistema de ecuaciones es linealmente dependiente. Puede encontrar el orden del filtro comenzando en N = 1 y aumentando N hasta que el sistema de ecuaciones se vuelva linealmente dependiente. El N más grande en el que el sistema es linealmente independiente es el orden real del filtro. Para este enfoque, ni siquiera importa las frecuencias que elija. Mientras sean diferentes, cualquier conjunto de frecuencias funcionará.

Sin embargo, este es un problema numéricamente muy complicado. La representación polinómica para órdenes de filtro más grandes es numéricamente muy frágil y la menor cantidad de ruido o incertidumbre conduce a errores numéricos muy grandes. Por ejemplo, si determina los valores de la función de transferencia muestreada a través de la medición, la precisión de medición requerida será prohibitiva a menos que sea un filtro de bajo orden muy benigno.

Hilmar
fuente