Respuesta de impulso finito

Tipo de filtro en el procesamiento de señales

En el procesamiento de señales , un filtro de respuesta de impulso finito ( FIR ) es un filtro cuya respuesta de impulso (o respuesta a cualquier entrada de longitud finita) tiene una duración finita , porque se establece en cero en un tiempo finito. Esto contrasta con los filtros de respuesta de impulso infinito (IIR), que pueden tener retroalimentación interna y pueden continuar respondiendo indefinidamente (generalmente decayendo). [ cita requerida ]

La respuesta al impulso (es decir, la salida en respuesta a una entrada delta de Kronecker ) de un filtro FIR de tiempo discreto de orden N dura exactamente muestras (desde el primer elemento distinto de cero hasta el último elemento distinto de cero) antes de establecerse en cero. norte + 1 {\estilo de visualización N+1}

Los filtros FIR pueden ser de tiempo discreto o de tiempo continuo , y digitales o analógicos .

Definición

Un filtro FIR de tiempo discreto de forma directa de orden N. La parte superior es una línea de retardo de N etapas con N + 1 derivaciones. Cada unidad de retardo es un operador z −1 en notación de transformada Z.
Representación de un filtro FIR tipo rejilla
Un filtro FIR de tiempo discreto en forma de red de orden N. Cada retardo unitario es un operador z −1 en la notación de transformada Z.

Para un filtro FIR causal de tiempo discreto de orden N , cada valor de la secuencia de salida es una suma ponderada de los valores de entrada más recientes :

y [ norte ] = b 0 incógnita [ norte ] + b 1 incógnita [ norte 1 ] + + b norte incógnita [ norte norte ] = i = 0 norte b i incógnita [ norte i ] , {\displaystyle {\begin{aligned}y[n]&=b_{0}x[n]+b_{1}x[n-1]+\cdots +b_{N}x[nN]\\&=\sum _{i=0}^{N}b_{i}\cdot x[ni],\end{aligned}}}

dónde :

  • incógnita [ norte ] {\textstyle x[n]} es la señal de entrada,
  • y [ norte ] {\textstyle y[n]} es la señal de salida,
  • norte {\textstyle N} es el orden del filtro; un filtro de orden th tiene términos en el lado derecho norte {\textstyle N} norte + 1 {\textstyle N+1}
  • b i {\textstyle b_{i}} es el valor de la respuesta al impulso en el instante i' de un filtro FIR de orden . Si el filtro es un filtro FIR de forma directa, entonces es también un coeficiente del filtro. 0 i norte {\textstyle 0\leq i\leq N} norte El {\textstyle N^{\text{ésimo}}} b i {\textstyle b_{i}}

Este cálculo también se conoce como convolución discreta .

En estos términos se hace referencia comúnmente como incógnita [ norte i ] {\textstyle x[ni]} tap s, basado en la estructura de unalínea de retardo con tomasque en muchas implementaciones o diagramas de bloques proporciona las entradas retardadas a las operaciones de multiplicación. Se puede hablar de unfiltro de 5.º orden/6 tomas, por ejemplo.

La respuesta al impulso del filtro, tal como se define, no es cero durante un período finito. Si se incluyen los ceros, la respuesta al impulso es la secuencia infinita :

yo [ norte ] = i = 0 norte b i del [ norte i ] = { b norte 0 norte norte 0 de lo contrario . {\displaystyle h[n]=\sum _{i=0}^{N}b_{i}\cdot \delta [ni]={\begin{cases}b_{n}&0\leq n\leq N\\0&{\text{de lo contrario}}.\end{cases}}}

Si un filtro FIR no es causal, el rango de valores distintos de cero en su respuesta al impulso puede comenzar antes de , con la fórmula definitoria generalizada apropiadamente. norte = 0 {\estilo de visualización n=0}

Propiedades

Un filtro FIR tiene una serie de propiedades útiles que a veces lo hacen preferible a un filtro de respuesta de impulso infinito (IIR). Filtros FIR:

  • No requiere retroalimentación. Esto significa que los errores de redondeo no se suman con las iteraciones sumadas. El mismo error relativo ocurre en cada cálculo. Esto también simplifica la implementación.
  • Son inherentemente estables , ya que la salida es una suma de un número finito de múltiplos finitos de los valores de entrada, por lo que no puede ser mayor que veces el valor más grande que aparece en la entrada. | b i | {\textstyle \suma |b_{i}|}
  • Se puede diseñar fácilmente para que sea de fase lineal haciendo que la secuencia de coeficientes sea simétrica. Esta propiedad a veces es deseable para aplicaciones sensibles a la fase, por ejemplo, comunicaciones de datos, sismología , filtros de cruce y masterización .

La principal desventaja de los filtros FIR es que se requiere una potencia de cálculo considerablemente mayor en un procesador de propósito general en comparación con un filtro IIR con una nitidez o selectividad similar , especialmente cuando se necesitan cortes de baja frecuencia (en relación con la frecuencia de muestreo). Sin embargo, muchos procesadores de señales digitales proporcionan características de hardware especializadas para que los filtros FIR sean aproximadamente tan eficientes como los IIR para muchas aplicaciones.

Respuesta de frecuencia

El efecto del filtro sobre la secuencia se describe en el dominio de la frecuencia mediante el teorema de convolución : incógnita [ norte ] {\displaystyle x[n]}

F { incógnita yo } Y ( ω ) = F { incógnita } incógnita ( ω ) F { yo } yo ( ω ) {\displaystyle \underbrace {{\mathcal {F}}\{x*h\}} _{Y(\omega )}=\underbrace {{\mathcal {F}}\{x\}} _{X(\omega )}\cdot \underbrace {{\mathcal {F}}\{h\}} _{H(\omega )}}     y     y [ norte ] = incógnita [ norte ] yo [ norte ] = F 1 { incógnita ( ω ) yo ( ω ) } , {\displaystyle y[n]=x[n]*h[n]={\mathcal {F}}^{-1}{\big \{}X(\omega )\cdot H(\omega ){\big \}},}

donde los operadores y denotan respectivamente la transformada de Fourier de tiempo discreto (DTFT) y su inversa. Por lo tanto, la función multiplicativa de valor complejo es la respuesta de frecuencia del filtro . Se define mediante una serie de Fourier : F {\displaystyle {\mathcal {F}}} F 1 {\displaystyle {\mathcal {F}}^{-1}} yo ( ω ) {\displaystyle H(\omega )}

yo 2 π ( ω )   norte = yo [ norte ] ( mi i ω ) norte = norte = 0 norte b norte ( mi i ω ) norte , {\displaystyle H_{2\pi}(\omega )\ \triánguloq \suma _{n=-\infty }^{\infty }h[n]\cdot \left({e^{i\omega }}\right)^{-n}=\suma _{n=0}^{N}b_{n}\cdot \left({e^{i\omega }}\right)^{-n},}

donde el subíndice añadido denota -periodicidad. Aquí representa la frecuencia en unidades normalizadas ( radianes por muestra ). La función tiene una periodicidad de con en unidades de ciclos por muestra , lo que es favorecido por muchas aplicaciones de diseño de filtros. [A]   El valor , llamado frecuencia de Nyquist , corresponde a   Cuando la secuencia tiene una tasa de muestreo conocida (en muestras por segundo ), la frecuencia ordinaria está relacionada con la frecuencia normalizada por ciclos por segundo ( Hz ). Por el contrario, si uno quiere diseñar un filtro para frecuencias ordinarias , etc., usando una aplicación que espera ciclos por muestra , uno ingresaría   etc. 2 π {\estilo de visualización 2\pi} ω {\estilo de visualización \omega} yo 2 π ( 2 π F " ) {\displaystyle H_{2\pi }(2\pi f')} 1 {\estilo de visualización 1} F " {\estilo de visualización f'} ω = π {\displaystyle \omega =\pi} F " = 1 2 . {\displaystyle f'={\tfrac {1}{2}}.} incógnita [ norte ] {\displaystyle x[n]} F s {\displaystyle f_{s}} F = F " F s = ω 2 π F s {\displaystyle f=f'\cdot f_{s}={\tfrac {\omega }{2\pi }}\cdot f_{s}} F 1 , estilo de visualización f_{1},} F 2 , estilo de visualización f_{2},} F 1 / F s , {\displaystyle f_{1}/f_{s},}   F 2 / F s , {\displaystyle f_{2}/f_{s},}

yo 2 π ( ω ) {\displaystyle H_{2\pi }(\omega )} También se puede expresar en términos de la transformada Z de la respuesta al impulso del filtro:

yo ^ ( el )   norte = yo [ norte ] el norte . {\displaystyle {\widehat {H}}(z)\ \triangleq \sum _{n=-\infty }^{\infty }h[n]\cdot z^{-n}.}
yo 2 π ( ω ) = yo ^ ( el ) | el = mi yo ω = yo ^ ( mi yo ω ) . {\displaystyle H_{2\pi}(\omega )=\left.{\widehat {H}}(z)\,\right|_{z=e^{j\omega }}={\widehat {H}}(e^{j\omega }).}

Diseño de filtros

Los filtros FIR se diseñan buscando los coeficientes y el orden de los filtros que cumplen con ciertas especificaciones, que pueden ser en el dominio del tiempo (por ejemplo, un filtro adaptado ) o en el dominio de la frecuencia (el más común). Los filtros adaptados realizan una correlación cruzada entre la señal de entrada y una forma de pulso conocida. La convolución FIR es una correlación cruzada entre la señal de entrada y una copia invertida en el tiempo de la respuesta al impulso. Por lo tanto, la respuesta al impulso del filtro adaptado se "diseña" muestreando la forma de pulso conocida y utilizando esas muestras en orden inverso como los coeficientes del filtro. [1]

Cuando se desea una respuesta de frecuencia particular, existen varios métodos de diseño comunes:

  1. Método de diseño de ventanas
  2. Método de muestreo de frecuencia
  3. Método del mínimo error cuadrático medio (MSE)
  4. Método de Parks-McClellan (también conocido como método equiripple, óptimo o minimax). El algoritmo de intercambio de Remez se utiliza comúnmente para encontrar un conjunto de coeficientes equiripple óptimo. Aquí el usuario especifica una respuesta de frecuencia deseada, una función de ponderación para los errores de esta respuesta y un orden de filtro N . Luego, el algoritmo encuentra el conjunto de coeficientes que minimizan la desviación máxima del ideal. Intuitivamente, esto encuentra el filtro que está lo más cerca posible de la respuesta deseada dado que solo se pueden usar coeficientes. Este método es particularmente fácil en la práctica ya que al menos un texto [2] incluye un programa que toma el filtro deseado y N , y devuelve los coeficientes óptimos. norte + 1 {\textstyle N+1} norte + 1 {\textstyle N+1}
  5. Los filtros FIR de ondulación equitativa también se pueden diseñar utilizando algoritmos DFT. [3] El algoritmo es de naturaleza iterativa. La DFT de un diseño de filtro inicial se calcula utilizando el algoritmo FFT (si no se dispone de una estimación inicial, se puede utilizar h[n]=delta[n]). En el dominio de Fourier, o dominio DFT, la respuesta de frecuencia se corrige de acuerdo con las especificaciones deseadas y luego se calcula la DFT inversa. En el dominio del tiempo, solo se mantienen los primeros N coeficientes (los otros coeficientes se establecen en cero). Luego, el proceso se repite de forma iterativa: se calcula la DFT una vez más, se aplica la corrección en el dominio de la frecuencia, y así sucesivamente.

Los paquetes de software como MATLAB , GNU Octave , Scilab y SciPy proporcionan formas convenientes de aplicar estos diferentes métodos.

Método de diseño de ventanas

En el método de diseño de ventana, primero se diseña un filtro IIR ideal y luego se trunca la respuesta de impulso infinita multiplicándola por una función de ventana de longitud finita . El resultado es un filtro de respuesta de impulso finito cuya respuesta de frecuencia se modifica con respecto a la del filtro IIR. Al multiplicar el impulso infinito por la función de ventana en el dominio del tiempo, se obtiene como resultado que la respuesta de frecuencia del IIR se convolucione con la transformada de Fourier (o DTFT) de la función de ventana. Si el lóbulo principal de la ventana es angosto, la respuesta de frecuencia compuesta permanece cercana a la del filtro IIR ideal.

La respuesta ideal es a menudo rectangular, y el IIR correspondiente es una función sinc . El resultado de la convolución del dominio de frecuencia es que los bordes del rectángulo se estrechan y aparecen ondulaciones en la banda de paso y la banda de supresión. Trabajando hacia atrás, se puede especificar la pendiente (o ancho) de la región estrechada ( banda de transición ) y la altura de las ondulaciones, y de ese modo derivar los parámetros del dominio de frecuencia de una función de ventana apropiada. Continuar hacia atrás hasta una respuesta de impulso se puede hacer iterando un programa de diseño de filtros para encontrar el orden de filtro mínimo. Otro método es restringir el conjunto de soluciones a la familia paramétrica de ventanas de Kaiser , que proporciona relaciones de forma cerrada entre los parámetros del dominio del tiempo y del dominio de la frecuencia. En general, ese método no logrará el orden de filtro mínimo posible, pero es particularmente conveniente para aplicaciones automatizadas que requieren un diseño de filtro dinámico sobre la marcha.

El método de diseño de ventana también es ventajoso para crear filtros de media banda eficientes , porque la función sinc correspondiente es cero en cada uno de los otros puntos de muestra (excepto el central). El producto con la función de ventana no altera los ceros, por lo que casi la mitad de los coeficientes de la respuesta al impulso final son cero. Una implementación adecuada de los cálculos FIR puede aprovechar esa propiedad para duplicar la eficiencia del filtro.

Método del mínimo error cuadrático medio (MSE)

Meta:

Para diseñar un filtro FIR en el sentido MSE, minimizamos el error cuadrático medio entre el filtro que obtuvimos y el filtro deseado.
MSE = F s 1 F s / 2 F s / 2 | yo ( F ) yo d ( F ) | 2 d F {\displaystyle {\text{MSE}}=f_{s}^{-1}\int _{-f_{s}/2}^{f_{s}/2}|H(f)-H_{d}(f)|^{2}\,df} , donde es la frecuencia de muestreo, es el espectro del filtro que obtuvimos y es el espectro del filtro deseado. F s {\displaystyle f_{s}\,} yo ( F ) {\displaystyle H(f)\,} yo d ( F ) Estilo de visualización H_{d}(f)\,}

Método:

Dado un filtro FIR de N puntos , y . yo [ norte ] {\displaystyle h[n]} a [ norte ] = yo [ norte + a ] , a = ( norte 1 ) 2 {\displaystyle r[n]=h[n+k],k={\frac {(N-1)}{2}}}
Paso 1: Supongamos que incluso simétrica. Entonces, la transformada de Fourier de tiempo discreto de se define como yo [ norte ] {\displaystyle h[n]} a [ norte ] {\displaystyle r[n]}
R ( F ) = mi yo 2 π F a yo ( F ) = norte = 0 a s [ norte ] porque ( 2 π norte F ) {\displaystyle R(F)=e^{j2\pi Fk}H(F)=\sum _ {n=0}^{k}s[n]\cos(2\pi nF)}
Paso 2: Calcular el error cuadrático medio.
MSE = 1 / 2 1 / 2 | R ( F ) yo d ( F ) | 2 d F {\displaystyle {\text{MSE}}=\int _{-1/2}^{1/2}|R(F)-H_{d}(F)|^{2}\,dF}
Por lo tanto,
MSE = 1 / 2 1 / 2 n = 0 k s [ n ] cos ( 2 π n F ) τ = 0 k s [ τ ] cos ( 2 π τ F ) d F 2 1 / 2 1 / 2 n = 0 k s [ n ] cos ( 2 π n F ) H d d F + 1 / 2 1 / 2 H d ( F ) 2 d F {\displaystyle {\text{MSE}}=\int _{-1/2}^{1/2}\sum _{n=0}^{k}s[n]\cos(2\pi nF)\sum _{\tau =0}^{k}s[\tau ]\cos(2\pi \tau F)\,dF-2\int _{-1/2}^{1/2}\sum _{n=0}^{k}s[n]\cos(2\pi nF)H_{d}\,dF+\int _{-1/2}^{1/2}H_{d}(F)^{2}\,dF}
Paso 3: Minimizar el error cuadrático medio haciendo la derivada parcial de MSE con respecto a s [ n ] {\displaystyle s[n]}
MSE s [ n ] = 2 τ = 0 k s [ τ ] 1 / 2 1 / 2 cos ( 2 π n F ) cos ( 2 π τ F ) d F 2 1 / 2 1 / 2 H d ( F ) 2 cos ( 2 π n F ) d F = 0 {\displaystyle {\frac {\partial {\text{MSE}}}{\partial s[n]}}=2\sum _{\tau =0}^{k}s[\tau ]\int _{-1/2}^{1/2}\cos(2\pi nF)\cos(2\pi \tau F)\,dF-2\int _{-1/2}^{1/2}H_{d}(F)^{2}\cos(2\pi nF)\,dF=0}
Después de la organización, tenemos
s [ 0 ] = 1 / 2 1 / 2 H d ( F ) d F {\displaystyle s[0]=\int _{-1/2}^{1/2}H_{d}(F)\,dF}
s [ n ] = 1 / 2 1 / 2 cos ( 2 π n F ) H d ( F ) d F ,    for  n 0 {\displaystyle s[n]=\int _{-1/2}^{1/2}\cos(2\pi nF)H_{d}(F)\,dF,\ {\text{ for }}n\neq 0}
Paso 4: Vuelva a la presentación de s [ n ] {\displaystyle s[n]} h [ n ] {\displaystyle h[n]}
h [ k ] = s [ 0 ] , h [ k + n ] = s [ n ] / 2 , h [ k n ] = s [ n ] / 2 , f o r n = 1 , 2 , 3 , , k ,  where  k = ( N 1 ) / 2 {\displaystyle h[k]=s[0],h[k+n]=s[n]/2,h[k-n]=s[n]/2,\;for\;n=1,2,3,\ldots ,k,{\text{ where }}k=(N-1)/2} y h [ n ] = 0  for  n < 0  and  n N {\displaystyle h[n]=0{\text{ for }}n<0{\text{ and }}n\geq N}

Además, podemos tratar la importancia de la banda de paso y la banda de supresión de manera diferente según nuestras necesidades agregando una función ponderada. Entonces, el error MSE se convierte en W ( f ) {\displaystyle W(f)}

MSE = 1 / 2 1 / 2 W ( F ) | R ( F ) H d ( F ) | 2 d F {\displaystyle {\text{MSE}}=\int _{-1/2}^{1/2}W(F)|R(F)-H_{d}(F)|^{2}\,dF}

Ejemplo de media móvil

Un filtro de media móvil es un filtro FIR muy simple. A veces se lo denomina filtro boxcar , especialmente cuando va seguido de una decimación o de una sinc-in-frequency . Los coeficientes del filtro, , se obtienen mediante la siguiente ecuación: b 0 , , b N {\textstyle b_{0},\ldots ,b_{N}}

b i = 1 N + 1 {\displaystyle b_{i}={\frac {1}{N+1}}}

Para proporcionar un ejemplo más específico, seleccionamos el orden de filtro:

N = 2 {\displaystyle N=2}

La respuesta al impulso del filtro resultante es :

h [ n ] = 1 3 δ [ n ] + 1 3 δ [ n 1 ] + 1 3 δ [ n 2 ] {\displaystyle h[n]={\frac {1}{3}}\delta [n]+{\frac {1}{3}}\delta [n-1]+{\frac {1}{3}}\delta [n-2]}

El diagrama de bloques de la derecha muestra el filtro de promedio móvil de segundo orden que se analiza a continuación. La función de transferencia es :

H ( z ) = 1 3 + 1 3 z 1 + 1 3 z 2 = 1 3 z 2 + z + 1 z 2 . {\displaystyle H(z)={\frac {1}{3}}+{\frac {1}{3}}z^{-1}+{\frac {1}{3}}z^{-2}={\frac {1}{3}}{\frac {z^{2}+z+1}{z^{2}}}.}

La siguiente figura muestra el diagrama polo-cero correspondiente . La frecuencia cero (DC) corresponde a (1, 0), las frecuencias positivas avanzan en sentido antihorario alrededor del círculo hasta la frecuencia de Nyquist en (−1, 0). Dos polos se encuentran en el origen y dos ceros en , . z 1 = 1 2 + j 3 2 {\textstyle z_{1}=-{\frac {1}{2}}+j{\frac {\sqrt {3}}{2}}} z 2 = 1 2 j 3 2 {\textstyle z_{2}=-{\frac {1}{2}}-j{\frac {\sqrt {3}}{2}}}

La respuesta de frecuencia, en términos de frecuencia normalizada ω , es :

H ( e j ω ) = 1 3 + 1 3 e j ω + 1 3 e j 2 ω = 1 3 e j ω ( 1 + 2 cos ( ω ) ) . {\displaystyle {\begin{aligned}H\left(e^{j\omega }\right)&={\frac {1}{3}}+{\frac {1}{3}}e^{-j\omega }+{\frac {1}{3}}e^{-j2\omega }\\&={\frac {1}{3}}e^{-j\omega }\left(1+2\cos(\omega )\right).\end{aligned}}}

Los componentes de magnitud y fase de se representan gráficamente en la figura. Pero también se pueden generar gráficos como estos haciendo una transformada de Fourier discreta (DFT) de la respuesta al impulso. [B] Y debido a la simetría, el diseño del filtro o el software de visualización a menudo muestran solo la región [0, π]. El gráfico de magnitud indica que el filtro de promedio móvil pasa frecuencias bajas con una ganancia cercana a 1 y atenúa frecuencias altas, y por lo tanto es un filtro de paso bajo rudimentario . El gráfico de fase es lineal excepto por las discontinuidades en las dos frecuencias donde la magnitud tiende a cero. El tamaño de las discontinuidades es π, lo que representa una inversión de signo. No afectan la propiedad de fase lineal, como se ilustra en la figura final. H ( e j ω ) {\textstyle H\left(e^{j\omega }\right)}

Véase también

Notas

  1. ^ Una excepción es MATLAB, que prefiere una periodicidad de porque la frecuencia de Nyquist en unidades de semiciclos/muestra es , una opción conveniente para el software de gráficos que muestra el intervalo de 0 a la frecuencia de Nyquist. 2 , {\displaystyle 2,} 1 , {\displaystyle 1,}
  2. ^ Véase § Muestreo de la DTFT .

Referencias

  1. ^ Oppenheim, Alan V., Willsky, Alan S. y Young, Ian T., 1983: Señales y sistemas, pág. 256 (Englewood Cliffs, Nueva Jersey: Prentice-Hall, Inc.) ISBN  0-13-809731-3
  2. ^ Rabiner, Lawrence R., y Gold, Bernard, 1975: Teoría y aplicación del procesamiento de señales digitales (Englewood Cliffs, Nueva Jersey: Prentice-Hall, Inc.) ISBN 0-13-914101-4 
  3. ^ AE Cetin, ON Gerek, Y. Yardimci, "Diseño de filtro FIR Equiripple mediante el algoritmo FFT", IEEE Signal Processing Magazine, págs. 60–64, marzo de 1997.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Finite_impulse_response&oldid=1240945295"