¿Por qué los filtros FIR siguen siendo estables a pesar de que contienen polos?

15
  • ¿Cómo es que los filtros FIR son siempre estables?

  • Dado que contienen polos, ¿no deberían verse más afectados por problemas de estabilidad que otros?

usuario7277
fuente
FIR es estable si todo su cero está ubicado en el círculo unitario
dato datuashvili
2
No es cierto: FIR siempre es estable y los ceros pueden estar donde quieran, incluso fuera del círculo de la unidad. Ejemplo: el filtro [1 -6 11 -6] tiene ceros en z = 1, 2 y 3
Hilmar
nuevamente, @Hilmar, depende de cómo se implemente el FIR. Los FIR implementados como un IIR truncado (TIIR) podrían no ser estables en su interior. implementado como un simple filtro FIR transversal, sí, que siempre es estable. es estable incluso si se implementa usando "convolución rápida" (usando una FFT y "overlap-add" o "overlap-save"). y, a veces, cuando se implementa como un filtro TIIR, es estable (si el IIR interno es estable). pero un FIR implementado como TIIR podría ser inestable internamente.
Robert Bristow-Johnson

Respuestas:

8

Los filtros FIR contienen solo ceros y no polos. Si un filtro contiene polos, es IIR. Los filtros IIR están realmente afectados por problemas de estabilidad y deben manejarse con cuidado.

EDITAR:

Después de pensarlo un poco más y de garabatear y buscar en Google, creo que tengo una respuesta a esta pregunta de los postes FIR que esperamos sea satisfactoria para las partes interesadas.

Comenzando con la transformación Z de un filtro FIR aparentemente sin polo: Como se muestra en la respuesta de RBJ, los polos FIR se revelan multiplicando el numerador y el denominador de por : De este modo, se obtienen nuestros polos en el origen de un filtro FIR general. H(z)zNH(z)=b0z N +b1z N - 1 +b2z N - 2 ++bN

H(z)=si0 0+si1z-1+si2z-2++sinortez-norte1
H(z)znorte N
H(z)=si0 0znorte+si1znorte-1+si2znorte-2++sinorteznorte
norte

Sin embargo, para mostrar esto, la suposición de causalidad se coloca en el filtro. De hecho, si consideramos un filtro FIR más general donde no se asume la causalidad: Un número diferente de polos aparece en el origen: (N-k)G(z)=b0z N +b1z N - 1 +b2z N - 2 ++bN

sol(z)=si0 0zk+si1zk-1+si2zk-2++sinortezk-norte1
(norte-k)
sol(z)=si0 0znorte+si1znorte-1+si2znorte-2++sinorteznorte-k

Por lo tanto, concluyo lo siguiente:

  • (Respondiendo la pregunta original) En general, un filtro FIR tiene polos, aunque siempre en el origen del plano Z. Como nunca están más allá del círculo de la unidad, no representan una amenaza para la estabilidad de un sistema FIR.
  • El número de polos de la señal FIR corresponde al orden de filtro y al "grado" de acausality . Por lo tanto, es posible construir filtros FIR que no tienen polos, pero estos filtros son acausales, es decir, no son concebibles para el procesamiento en tiempo real. Para un filtro FIR de orden que es exactamente causal , hay polos en el origen.norteknorteth(k=0 0)norte
  • Quizás la forma más sencilla de concebir un polo en el origen es un elemento de retardo simple: Los filtros FIR típicos se pueden ver como filtros acausales que son seguidos por suficientes elementos de retraso para hacerlos causales.
    H(z)=z-1=1z
Kenneide
fuente
2
Los filtros IIR no son muy peligrosos, en realidad.
user7358
19

Los filtros FIR contienen tantos polos como ceros. pero todos los polos están ubicados en el origen, .z=0 0

Debido a que todos los polos están ubicados dentro del círculo unitario, el filtro FIR es ostensiblemente estable.

probablemente este no sea el filtro FIR en el que está pensando el OP, pero hay una clase de filtros FIR llamados filtros IIR truncados (TIIR) que pueden tener un polo dentro o fuera del círculo unitario que se cancela por un cero en la misma ubicación. El ejemplo más simple de esto es la suma móvil o el filtro de media móvil. pero, desde una perspectiva de E / S, estos filtros TIIR son FIR.

pero ingenuamente no garantizaría la "estabilidad". usando el lenguaje del sistema de control, el filtro TIIR no es "completamente observable" y puede parecer estable porque su respuesta al impulso aparece de longitud finita, pero dentro de los estados del filtro podría estar yendo al infierno, y con precisión numérica finita, esa inestabilidad interna eventualmente aparecer en la salida.

tenemos que desengañarnos de la idea de que "los filtros FIR no tienen polos" . no es verdad

robert bristow-johnson
fuente
¿Puedes mostrar matemáticamente que los filtros FIR tienen polos, porque no lo estoy viendo?
Jim Clay
El mejor ejemplo de un FIR con postes es el filtro de combinación integrada en cascada (CIC). Comienza con un filtro de media móvil simple (coeficientes como 1, 1, 1, 1) y lo reescribe de forma recursiva, introduciendo así un polo. Ver enlace . A menudo se implementan en FPGA como el primer paso en la conversión descendente porque, en su forma recursiva, son bastante baratos de implementar computacionalmente. Vea la documentación de Graychip como ejemplo. Por lo general, se implementan en un punto fijo para mantener la estabilidad.
David
1
Creo que tendremos que estar de acuerdo en no estar de acuerdo: el resumen del artículo original de Hogenauer dice "Se presenta una clase de filtros de respuesta de impulso finito (FIR) de fase lineal digital para decimación (disminución de la frecuencia de muestreo) e interpolación (aumento de la frecuencia de muestreo)".
David
44
nortethnorte
2
@JimClay, un filtro de suma móvil o promedio móvil CIC es sin duda un filtro FIR. su IR es F. normalmente no está implementado como un filtro FIR transversal, pero ciertamente podría serlo si quisiera pagarlo con MIPS.
Robert Bristow-Johnson
14

"¿Puedes mostrar matemáticamente que los filtros FIR tienen polos, porque no lo veo?" - Jim Clay

¿podemos suponer que este FIR es causal?

nortenorte+1

la respuesta de impulso finito: h[norte]=0 0norte>norte, norte<0 0

función de transferencia de la FIR:

H(z)=norte=-+h[norte]z-norte=norte=0 0norteh[norte]z-norte=norte=0 0nortez-norteh[norte]znorte-norte=z-nortenorte=0 0norteh[norte-norte]znorte=norte=0 0norteh[norte-norte]znorteznorte=h[norte]+h[norte-1]z+h[norte-2]z2++h[1]znorte-1+h[0 0]znorte(z-0 0)norte

todo lo que tienes que hacer es factorizar el numerador y sabrás dónde están los ceros. pero es bastante obvio dónde están todos los polos para un filtro FIR. y hay tantos polos como el orden del filtro FIR. Tenga en cuenta que estos polos no afectan la respuesta de frecuencia. a excepción de la fase.

robert bristow-johnson
fuente
66
Estoy corregido. Gracias por la explicación.
Jim Clay
1

Algo por definición, en realidad. Dado que ingresa energía finita y el Filtro solo entregará al máximo un múltiplo de la entrada de energía (su respuesta al impulso tiene una energía finita), la señal resultante tendrá como máximo un múltiplo de la entrada de energía. No puede resonar y, por lo tanto, escalar, como pueden hacerlo los filtros IIR. Esto está detrás de la respuesta de Kenneides también.

usuario7358
fuente
Sí, y es tan falso como la respuesta de Kenneide.
Robert Bristow-Johnson
2
H(z)=1
2
H(z)=1=zz
H(z)=z
1
H(z)=z-1 z=0 0
1

Nadie ha tocado realmente por qué los polos de un filtro FIR son extraíbles, por lo que he intentado responder esto a continuación.

Los filtros FIR tendrán polos extraíbles en el origen, porque la limitación de su respuesta al impulso lo requiere. Eso es alrededor del polo, es posible definir la función para que siga siendo holomórfica (diferenciable en cada punto de su dominio).

Es un teorema de Riemann que si una señal es diferenciable en cada punto de su dominio (a excepción de muchos puntos), entonces existe un vecindario alrededor de estos puntos especiales donde la función está limitada. Las implicaciones son bidireccionales en este teorema, por lo que debido a que los filtros FIR deben tener una respuesta de impulso limitada, entonces la respuesta de impulso debe ser diferenciable en cada punto dentro del círculo unitario. Por lo tanto, la señal se puede extender de manera consistente para que no haya singularidades (es decir, los polos son extraíbles).

z

Tom Kealy
fuente
1
zz
zz-1