Articulo de referencia

Respuesta de impulso finita

En el procesamiento de señales , un filtro de respuesta impulsional finita ( FIR ) es un filtro cuya respuesta impulsional (o respuesta a cualquier entrada de longitud finita) t...

En el procesamiento de señales , un filtro de respuesta impulsional finita ( FIR ) es un filtro cuya respuesta impulsional (o respuesta a cualquier entrada de longitud finita) tiene una duración finita , ya que se estabiliza en cero en un tiempo finito. Esto contrasta con los filtros de respuesta impulsional infinita (IIR), que pueden tener retroalimentación interna y pueden seguir respondiendo indefinidamente (generalmente con decaimiento).

La respuesta impulsional (es decir, la salida en respuesta a una entrada delta de Kronecker ) de un filtro FIR discreto de orden N dura exactamente muestras (desde el primer elemento distinto de cero hasta el último elemento distinto de cero) antes de estabilizarse en cero. norte+1{\displaystyle N+1}

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

Definición

Un filtro FIR discreto en tiempo real de orden N. La parte superior es una línea de retardo de N etapas con N + 1 coeficientes. Cada retardo unitario es un operador z −1 en notación de transformada Z.
Representación de un filtro FIR de tipo reticular.
Un filtro FIR discreto en tiempo real con forma de red de orden N. Cada retardo unitario es un operador z −1 en 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]=b0incógnita[norte]+b1incógnita[norte1]++bnorteincógnita[nortenorte]=i=0nortebiincógnita[nortei],{\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 n tiene términos en el lado derecho.norte{\textstyle N}norte+1{\textstyle N+1}
  • bi{\textstyle b_{i}}es el valor de la respuesta impulsional en el instante i para un filtro FIR de orden . Si el filtro es un filtro FIR de forma directa, entonces también es un coeficiente del filtro.0inorte{\textstyle 0\leq i\leq N}norteel{\textstyle N^{\text{o}}}bi{\textstyle b_{i}}

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

En estos términos se suele hacer referencia a:incógnita[nortei]{\textstyle x[ni]}Los filtros dese basan en la estructura de unalínea de retardo con derivacionesque, en muchas implementaciones o diagramas de bloques, proporciona las entradas retardadas a las operaciones de multiplicación. Por ejemplo, se puede hablar de unfiltro de quinto orden/6 derivaciones.

La respuesta impulsional del filtro, tal como está definida, es distinta de cero durante una duración finita. Incluyendo los ceros, la respuesta impulsional es la secuencia infinita :

h[norte]=i=0nortebiδ[nortei]={bnorte0nortenorte0de lo contrario.{\displaystyle h[n]=\sum _{i=0}^{N}b_{i}\cdot \delta [n-i]={\begin{cases}b_{n}&0\leq n\leq N\\0&{\text{otherwise}}.\end{cases}}}

Si un filtro FIR no es causal, el rango de valores distintos de cero en su respuesta impulsional puede comenzar antes de , con la fórmula definitoria generalizada adecuadamente. n=0{\displaystyle n=0}

Propiedades

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

  • No requiere retroalimentación. Esto significa que los errores de redondeo no se acumulan con las iteraciones sumadas. El mismo error relativo se produce 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.|bi|{\textstyle \sum |b_{i}|}
  • Se puede diseñar fácilmente para que tenga fase lineal haciendo que la secuencia de coeficientes sea simétrica. Esta propiedad a veces se desea 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 requieren mucha más potencia de cálculo en un procesador de propósito general que un filtro IIR con una nitidez o selectividad similares , especialmente cuando se necesitan frecuencias de corte bajas (en relación con la frecuencia de muestreo). Sin embargo, muchos procesadores de señales digitales ofrecen funciones de hardware especializadas que permiten que los filtros FIR sean aproximadamente tan eficientes como los IIR para muchas aplicaciones.

Respuesta en frecuencia

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

F{xh}Y(ω)=F{x}X(ω)F{h}H(ω){\displaystyle \underbrace {{\mathcal {F}}\{x*h\}} _{Y(\omega )}=\underbrace {{\mathcal {F}}\{x\}} _{X(\omega )}\cdot \underbrace {{\mathcal {F}}\{h\}} _{H(\omega )}}     y     y[n]=x[n]h[n]=F1{X(ω)H(ω)},{\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 discreta de Fourier (DTFT) y su inversa. Por lo tanto, la función multiplicativa de valor complejo es la respuesta en frecuencia del filtro . Se define mediante una serie de Fourier :F{\displaystyle {\mathcal {F}}}F1{\displaystyle {\mathcal {F}}^{-1}}H(ω){\displaystyle H(\omega )}

H2π(ω) n=h[n](eiω)n=n=0Nbn(eiω)n,{\displaystyle H_{2\pi }(\omega )\ \triangleq \sum _{n=-\infty }^{\infty }h[n]\cdot \left({e^{i\omega }}\right)^{-n}=\sum _{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 , que es favorecida por muchas aplicaciones de diseño de filtros. [ A ]   El valor , llamado frecuencia de Nyquist , corresponde a   Cuando la secuencia tiene una frecuencia 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 se quiere diseñar un filtro para frecuencias ordinarias, etc., utilizando una aplicación que espera ciclos por muestra , se introduciría   etc. 2π{\displaystyle 2\pi }ω{\displaystyle \omega }H2π(2πf){\displaystyle H_{2\pi }(2\pi f')}1{\displaystyle 1}f{\displaystyle f'}ω=π{\displaystyle \omega =\pi }f=12.{\displaystyle f'={\tfrac {1}{2}}.}x[n]{\displaystyle x[n]}fs{\displaystyle f_{s}}f=ffs=ω2πfs{\displaystyle f=f'\cdot f_{s}={\tfrac {\omega }{2\pi }}\cdot f_{s}}f1,{\displaystyle f_{1},}f2,{\displaystyle f_{2},}f1/fs,{\displaystyle f_{1}/f_{s},}  f2/fs,{\displaystyle f_{2}/f_{s},}

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

H^(z) n=h[n]zn.{\displaystyle {\widehat {H}}(z)\ \triangleq \sum _{n=-\infty }^{\infty }h[n]\cdot z^{-n}.}
H2π(ω)=H^(z)|z=ejω=H^(ejω).{\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 encontrando los coeficientes y el orden del filtro que cumplen ciertas especificaciones, que pueden estar 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 impulsional. Por lo tanto, la respuesta impulsional del filtro adaptado se "diseña" muestreando la forma de pulso conocida y utilizando esas muestras en orden inverso como coeficientes del filtro. [ 1 ]

Cuando se desea una respuesta de frecuencia particular, se suelen utilizar varios métodos de diseño diferentes:

  1. Método de diseño de ventanas
  2. Método de muestreo de frecuencia
  3. Método de mínimos errores cuadráticos medios (MSE)
  4. Método de Parks-McClellan (también conocido como método de equirripple, óptimo o minimax). El algoritmo de intercambio de Remez se utiliza comúnmente para encontrar un conjunto óptimo de coeficientes de equirripple. En este caso, el usuario especifica una respuesta en frecuencia deseada, una función de ponderación para los errores de dicha respuesta y un orden de filtro N. El algoritmo encuentra entonces el conjunto de coeficientes que minimiza la desviación máxima respecto al ideal. Intuitivamente, esto permite encontrar el filtro que se aproxima lo máximo posible a la respuesta deseada, dado que solo se pueden utilizar coeficientes. Este método es particularmente sencillo 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.N+1{\textstyle N+1}N+1{\textstyle N+1}
  5. Los filtros FIR de ondulación uniforme también pueden diseñarse utilizando algoritmos DFT. [ 3 ] El algoritmo es iterativo. 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 en frecuencia se corrige según las especificaciones deseadas y, a continuación, se calcula la DFT inversa. En el dominio del tiempo, solo se conservan los primeros N coeficientes (los demás coeficientes se establecen a cero). El proceso se repite iterativamente: la DFT se calcula 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 ofrecen formas prácticas 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 finita cuya respuesta en 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, la respuesta en frecuencia del IIR se convoluciona con la transformada de Fourier (o DTFT) de la función de ventana. Si el lóbulo principal de la ventana es estrecho, la respuesta en frecuencia compuesta permanece cercana a la del filtro IIR ideal. [ 4 ]

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

El método de diseño de ventana también resulta ventajoso para crear filtros de media banda eficientes , ya que la función sinc correspondiente es cero en todos los puntos de muestreo alternos (excepto en 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 impulsional final son cero. Una implementación adecuada de los cálculos FIR puede aprovechar esta propiedad para duplicar la eficiencia del filtro.

Método de mínimos cuadrados medios (MSE)

Meta:

Para diseñar un filtro FIR en el sentido del error cuadrático medio (MSE), minimizamos el error cuadrático medio entre el filtro que hemos obtenido y el filtro deseado.
MSE=fs1fs/2fs/2|H(f)Hd(f)|2df{\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.fs{\displaystyle f_{s}\,}H(f){\displaystyle H(f)\,}Hd(f){\displaystyle H_{d}(f)\,}

Método:

Dado un filtro FIR de N puntos , y .h[n]{\displaystyle h[n]}r[n]=h[n+k],k=(N1)2{\displaystyle r[n]=h[n+k],k={\frac {(N-1)}{2}}}
Paso 1: Supongamos que es simétrica. Entonces, la transformada de Fourier de tiempo discreto de se define como h[n]{\displaystyle h[n]}r[n]{\displaystyle r[n]}
R(F)=ej2πFkH(F)=n=0ks[n]cos(2πnF){\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/21/2|R(F)Hd(F)|2dF{\displaystyle {\text{MSE}}=\int _{-1/2}^{1/2}|R(F)-H_{d}(F)|^{2}\,dF}
Por lo tanto,
MSE=1/21/2n=0ks[n]cos(2πnF)τ=0ks[τ]cos(2πτF)dF21/21/2n=0ks[n]cos(2πnF)HddF+1/21/2Hd(F)2dF{\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 calculando la derivada parcial del MSE con respecto as[n]{\displaystyle s[n]}
MSEs[n]=2τ=0ks[τ]1/21/2cos(2πnF)cos(2πτF)dF21/21/2Hd(F)2cos(2πnF)dF=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/21/2Hd(F)dF{\displaystyle s[0]=\int _{-1/2}^{1/2}H_{d}(F)\,dF}
s[n]=1/21/2cos(2πnF)Hd(F)dF,  for n0{\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 des[n]{\displaystyle s[n]}h[n]{\displaystyle h[n]}
h[k]=s[0],h[k+n]=s[n]/2,h[kn]=s[n]/2,forn=1,2,3,,k, where k=(N1)/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}yh[n]=0 for n<0 and nN{\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 rechazo 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/21/2W(F)|R(F)Hd(F)|2dF{\displaystyle {\text{MSE}}=\int _{-1/2}^{1/2}W(F)|R(F)-H_{d}(F)|^{2}\,dF}

Ejemplo de media móvil

Diagrama de bloques de un filtro FIR simple (filtro de segundo orden/3 coeficientes en este caso, que implementa un filtro de suavizado de media móvil).
Diagrama de bloques de un filtro FIR simple (filtro de segundo orden/3 coeficientes en este caso, que implementa un filtro de suavizado de media móvil).
Diagrama de polos y ceros
Diagrama de polos y ceros del filtro suavizador FIR de segundo orden de ejemplo.
Respuestas de magnitud y fase del filtro de suavizado FIR de segundo orden de ejemplo.
Respuestas de magnitud y fase del filtro de suavizado FIR de segundo orden de ejemplo.
Respuestas de amplitud y fase del filtro suavizador FIR de segundo orden de ejemplo.
Respuestas de amplitud y fase del filtro suavizador FIR de segundo orden de ejemplo.

Un filtro de media móvil es un filtro FIR muy simple. A veces se le llama filtro de ventana móvil , especialmente cuando va seguido de una decimación o una función sinc en frecuencia . Los coeficientes del filtro, , se obtienen mediante la siguiente ecuación: b0,,bN{\textstyle b_{0},\ldots ,b_{N}}

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

Para ofrecer un ejemplo más específico, seleccionamos el orden del filtro:

N=2{\displaystyle N=2}

La respuesta impulsional del filtro resultante es :

h[n]=13δ[n]+13δ[n1]+13δ[n2]{\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 media móvil de segundo orden que se describe a continuación. La función de transferencia es :

H(z)=13+13z1+13z2=13z2+z+1z2.{\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 de polos y ceros correspondiente . La frecuencia cero (CC) corresponde a (1, 0), y 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 se encuentran en , . z1=12+j32{\textstyle z_{1}=-{\frac {1}{2}}+j{\frac {\sqrt {3}}{2}}}z2=12j32{\textstyle z_{2}=-{\frac {1}{2}}-j{\frac {\sqrt {3}}{2}}}

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

H(ejω)=13+13ejω+13ej2ω=13ejω(1+2cos(ω)).{\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}}}

En la figura se representan los componentes de magnitud y fase . Sin embargo, gráficos como estos también pueden generarse mediante la transformada discreta de Fourier (DFT) de la respuesta impulsional. [ B ] Debido a la simetría, el software de diseño o visualización de filtros suele mostrar solo la región [0, π]. El gráfico de magnitud indica que el filtro de media móvil deja pasar las bajas frecuencias con una ganancia cercana a 1 y atenúa las altas frecuencias, por lo que se trata de un filtro paso bajo rudimentario . El gráfico de fase es lineal, excepto por 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. Estas no afectan la propiedad de fase lineal, como se ilustra en la figura final. H(ejω){\textstyle H\left(e^{j\omega }\right)}

Véase también

Notas

  1. ^ Una excepción es MATLAB, que prefiere una periodicidad deporque 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 digital de señales (Englewood Cliffs, Nueva Jersey: Prentice-Hall, Inc.) ISBN 0-13-914101-4
  3. ^ AE Cetin, ON Gerek, Y. Yardimci, "Diseño de filtro FIR de ondulación equivalente mediante el algoritmo FFT", IEEE Signal Processing Magazine, págs. 60–64, marzo de 1997.
  4. ^ Proakis, John G.; Manolakis, Dimitris G. (2007). Procesamiento digital de señales: principios, algoritmos y aplicaciones (4.ª ed.). Upper Saddle River, NJ: Pearson/Prentice Hall. pp.  664–671 . ISBN 978-0-13-187374-2.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Finite_impulse_response&oldid=1338221948 "