Tengo dificultades para comprender qué significa "infinito" en IIR en la práctica ... En teoría, la respuesta al impulso se utiliza para la retroalimentación ... Si esta retroalimentación nunca termina, ¿cómo se genera la salida?
Para responder a esa pregunta, debe saber qué significa "Impulso" y "Respuesta" ...
Un "impulso" es un simple pulso. Digitalmente sería una muestra con un valor máximo, mientras que todas las otras muestras anteriores y posteriores serían cero. Si escucharas esto, oirías algo así como un pop o un petardo.
La "Respuesta" es la salida de un filtro (u otra cosa) que recibe el impulso.
Por ejemplo, puede escuchar la "respuesta de impulso de una habitación" entrando en la habitación, dando un simple aplauso y escuchando el eco. Se necesitaría algo de práctica para que el aplauso sea lo más "agudo" posible. Obtener la respuesta de impulso de un filtro es de la misma manera, pero en lugar de un aplauso, usa un pulso simple y en lugar de una habitación tiene un filtro.
Si observa la respuesta al impulso de un filtro o una habitación, verá que la salida se mueve por un tiempo después del impulso (y a veces también se mueve antes). En la sala escuchaste este meneo como el eco. En un filtro, este movimiento está directamente relacionado con la frecuencia y la respuesta de fase del filtro. En una habitación, la cantidad de tiempo que escucha el eco se llama "tiempo de reverberación"; no existe un término correspondiente para un filtro, pero es parte de la respuesta al impulso.
Ahora, un filtro FIR (Finite Impulse Response) es finito porque el tiempo de respuesta al impulso está limitado por las matemáticas. Es matemáticamente imposible que el tiempo de respuesta al impulso se extienda más allá del número de tomas en el filtro, por lo tanto, es finito .
Un filtro IIR, por otro lado, no tiene esta limitación matemática en el tiempo de respuesta al impulso. Si se le da una precisión matemática infinita, un filtro IIR puede mover las salidas para siempre. Por supuesto, en un sentido práctico, nunca dura para siempre, ya que en algún momento el movimiento se hace más pequeño que la precisión de las matemáticas utilizadas y desaparece.
Los
filtros FIR FIR, por otro lado, tienen una ruta lineal de entrada a salida. Después de N muestras, la señal de entrada (como un pulso Dirac) habrá sido desplazada y ese es el final.
Los filtros FIR son inherentemente estables, mientras que los filtros IIR no son necesariamente.
fuente
Hay dos clases amplias de filtros digitales, respuesta implícita infinita (IIR) y respuesta de impulso finito (FIR). En términos generales, los filtros IIR se basan en ecuaciones y los filtros FIR se basan en tablas.
Los filtros IIR se parecen más a los filtros analógicos del mundo real. Por ejemplo, considere una disminución exponencial simple como la que obtendría de un filtro de paso bajo analógico RC. La respuesta de salida a una entrada escalonada es una exponencial que se acerca cada vez más a la entrada. Tenga en cuenta que este exponencial nunca llega a la salida, solo lo suficientemente cerca como para que no nos importe o no podamos medir el error. En ese sentido, dicho filtro es infinito. Un filtro IIR tiene las mismas características.
El filtro IIR de paso bajo unipolar muy común se puede expresar como:
FILT <- FILT + FF (NUEVO - FILT)
Esto significa que cada iteración de la salida se mueve una fracción fija (FF, la "fracción de filtro") de la distancia a la entrada. Esto es fácil de visualizar cuando FF = 1/2. Si todo es 0 y la entrada de repente va a 1 y permanece allí (un paso de unidad), entonces la salida será 1/2, 3/4, 7/8, 15/16, etc. Esta es una serie infinita. Finalmente, el valor se acercará tanto a 1 que se expresa como 1 ya que los valores digitales en la computadora no tienen una precisión infinita.
Los filtros FIR funcionan según un principio totalmente diferente. Se guarda un fragmento finito reciente de la señal de entrada, y cada uno de los valores guardados se multiplica por un coeficiente diferente, luego se agregan todos los resultados para hacer que el filtro salga para esa iteración. La siguiente iteración, el valor guardado más antiguo es descartar, los otros se desplazan una ranura más antigua y la nueva entrada se coloca en la ranura desocupada. El nuevo fragmento guardado se multiplica por los coeficientes, etc. Este proceso se conoce como "convolución", y la tabla de coeficientes a menudo se denomina núcleo de filtro. Se pueden hacer algunas cosas elegantes y útiles con este tipo de filtro volviéndose creativo con los coeficientes. Ese es un tema en sí mismo en el que no voy a entrar ahora. Sin embargo, dado que un fragmento finito de la entrada se almacena en la memoria, cualquier parte de la señal de entrada solo puede afectar la salida durante un tiempo finito. Una vez que una muestra de entrada se desplaza al final del fragmento almacenado, desaparece y ya no tiene ningún efecto en la salida.
Hay libros enteros escritos sobre estas cosas y puedes pasar varios semestres de cursos universitarios dedicados a esto. Espero que mi resumen de 30 segundos desmitifique esto lo suficiente como para responder a su pregunta.
fuente
Un punto que aún no se menciona es que los filtros IIR pueden subdividirse en dos estilos: aquellos en los que se pueden clasificar las etapas, de modo que cada etapa depende por completo de sus propios valores anteriores y aquellos de etapas anteriores, y aquellos en los que Las etapas no se pueden clasificar (porque dos o más etapas dependen una de la otra). Es posible que las etapas en un filtro FIR hagan referencia a las salidas anteriores de otras etapas, siempre que puedan clasificarse como en el estilo anterior de IIR, y ninguna etapa se refiere a su propia salida anterior.
Si las etapas en un filtro IIR se pueden clasificar, y si la magnitud total de los coeficientes de autorrealimentación para una etapa dada es menor que uno, se garantiza que el filtro IIR será estable. Si, por ejemplo, una etapa incluye una cierta cantidad de señal de las etapas anteriores, más la mitad del valor anterior de esa etapa y 1/4 del valor anterior, menos 1/8 del valor anterior, la magnitud total del auto- la retroalimentación será de 7/8, por lo que si no se reciben más datos de las etapas inferiores, la magnitud de la contribución de la retroalimentación disminuirá en un 12.5% cada iteración.
fuente
Un FIR hace sus cálculos en un número finito de elementos, digamos 32 o 12 o algún número, pero eso es lo que hace el cálculo, toma un número finito de elementos y realiza el filtro solo en esos.
Un IIR hace sus cálculos en todas las muestras que le da de comer. Si lo alimenta con 10 muestras y lo detiene, entonces funcionó en 10 muestras, si lo alimenta con 1,000,000,000 de muestras, entonces las matemáticas funcionaron con 1,000,000,000 de muestras. Y si dejas que la cosa se ejecute indefinidamente, acercándose al infinito (déjalo correr para siempre), el número de elementos también es indefinido acercándose al infinito. Debido a que la palabra finito se aplica claramente al otro modelo, y el modelo IIR está destinado a no tener un número finito de muestras, la palabra infinito como opuesto a finito simplemente suena mejor que indefinido o alguna otra palabra similar.
fuente