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 exactamentenorte+1{\displaystyle N+1}muestras (desde el primer elemento distinto de cero hasta el último elemento distinto de cero) antes de que se estabilice en cero.

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; unnorte{\textstyle N}El filtro de orden n tienenorte+1{\textstyle N+1}términos en el lado derecho
  • bi{\textstyle b_{i}}es el valor de la respuesta al impulso en el i- ésimo instante para0inorte{\textstyle 0\leq i\leq N}de unnorteel{\textstyle N^{\text{o}}}-filtro FIR de orden. Si el filtro es un filtro FIR de forma directa, entoncesbi{\textstyle b_{i}}También es un coeficiente del filtro.

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

Elincógnita[nortei]{\textstyle x[ni]}en estos términos se les suele denominarLos 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 [ni]={\begin{cases}b_{n}&0\leq n\leq N\\0&{\text{en otro caso}}.\end{cases}}}

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

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|bi|{\textstyle \sum |b_{i}|}veces el valor más grande que aparece en la entrada.
  • 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 en la secuenciaincógnita[norte]{\displaystyle x[n]}se describe en el dominio de la frecuencia mediante el teorema de convolución :

F{incógnitah}Y(ω)=F{incógnita}incógnita(ω)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[norte]=incógnita[norte]h[norte]=F1{incógnita(ω)H(ω)},{\displaystyle y[n]=x[n]*h[n]={\mathcal {F}}^{-1}{\big \{}X(\omega )\cdot H(\omega ){\big \}},}

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

H2π(ω) norte=h[norte](miiω)norte=norte=0nortebnorte(miiω)norte,{\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 denota2π{\displaystyle 2\pi }-periodicidad. Aquíω{\displaystyle \omega }representa la frecuencia en unidades normalizadas ( radianes por muestra ). La funciónH2π(2πF){\displaystyle H_{2\pi }(2\pi f')}tiene una periodicidad de1{\displaystyle 1}conF{\displaystyle f'}en unidades de ciclos por muestra , lo cual es preferido por muchas aplicaciones de diseño de filtros. [ A ]  El valorω=π{\displaystyle \omega =\pi }, llamada frecuencia de Nyquist , corresponde aF=12.{\displaystyle f'={\tfrac {1}{2}}.}  Cuando la secuencia incógnita[norte]{\displaystyle x[n]}tiene una frecuencia de muestreo conocidaFs{\displaystyle f_{s}}(en muestras por segundo ), la frecuencia ordinaria está relacionada con la frecuencia normalizada porF=FFs=ω2πFs{\displaystyle f=f'\cdot f_{s}={\tfrac {\omega }{2\pi }}\cdot f_{s}}ciclos por segundo ( Hz ). Por el contrario, si se quiere diseñar un filtro para frecuencias ordinariasF1,{\displaystyle f_{1},}F2,{\displaystyle f_{2},}etc., utilizando una aplicación que espera ciclos por muestra , uno ingresaríaF1/Fs,{\displaystyle f_{1}/f_{s},} F2/Fs,{\displaystyle f_{2}/f_{s},} etc.

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) norte=h[norte]znorte.{\displaystyle {\widehat {H}}(z)\ \triangleq \sum _{n=-\infty }^{\infty }h[n]\cdot z^{-n}.}
H2π(ω)=H^(z)|z=mijω=H^(mijω).{\displaystyle H_{2\pi }(\omega )=\left.{\widehat {H}}(z)\,\right|_{z=e^{j\omega }}={\widehat {H}}(e^{j\omega }).}

Diseño de filtros

FIR filters are designed by finding the coefficients and filter order that meet certain specifications, which can be in the time domain (e.g. a matched filter) or the frequency domain (most common). Matched filters perform a cross-correlation between the input signal and a known pulse shape. The FIR convolution is a cross-correlation between the input signal and a time-reversed copy of the impulse response. Therefore, the matched filter's impulse response is "designed" by sampling the known pulse-shape and using those samples in reverse order as the coefficients of the filter.[1]

When a particular frequency response is desired, several different design methods are common:

  1. Window design method
  2. Frequency sampling method
  3. Least MSE (mean square error) method
  4. Parks–McClellan method (also known as the equiripple, optimal, or minimax method). The Remez exchange algorithm is commonly used to find an optimal equiripple set of coefficients. Here the user specifies a desired frequency response, a weighting function for errors from this response, and a filter order N. The algorithm then finds the set of N+1{\textstyle N+1} coefficients that minimize the maximum deviation from the ideal. Intuitively, this finds the filter that is as close as possible to the desired response given that only N+1{\textstyle N+1} coefficients can be used. This method is particularly easy in practice since at least one text[2] includes a program that takes the desired filter and N, and returns the optimum coefficients.
  5. Equiripple FIR filters can be designed using the DFT algorithms as well.[3] The algorithm is iterative in nature. The DFT of an initial filter design is computed using the FFT algorithm (if an initial estimate is not available, h[n]=delta[n] can be used). In the Fourier domain, or DFT domain, the frequency response is corrected according to the desired specs, and the inverse DFT is then computed. In the time-domain, only the first N coefficients are kept (the other coefficients are set to zero). The process is then repeated iteratively: the DFT is computed once again, correction applied in the frequency domain and so on.

Software packages such as MATLAB, GNU Octave, Scilab, and SciPy provide convenient ways to apply these different methods.

Window design method

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}, dóndeFs{\displaystyle f_{s}\,}es la frecuencia de muestreo,H(F){\displaystyle H(f)\,}es el espectro del filtro que obtuvimos, y Hd(F){\displaystyle H_{d}(f)\,}es el espectro del filtro deseado.

Método:

Dado un filtro FIR de N puntosh[norte]{\displaystyle h[n]}, yr[norte]=h[norte+k],k=(norte1)2{\displaystyle r[n]=h[n+k],k={\frac {(N-1)}{2}}}.
Paso 1: Supongamosh[norte]{\displaystyle h[n]}incluso simétrico. Entonces, la transformada de Fourier de tiempo discreto der[norte]{\displaystyle r[n]}se define como
R(F)=mij2πFkH(F)=norte=0ks[norte]porque(2πnorteF){\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/2norte=0ks[norte]porque(2πnorteF)τ=0ks[τ]porque(2πτF)dF21/21/2norte=0ks[norte]porque(2πnorteF)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[norte]{\displaystyle s[n]}
MSEs[norte]=2τ=0ks[τ]1/21/2porque(2πnorteF)porque(2πτF)dF21/21/2Hd(F)2porque(2πnorteF)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[norte]=1/21/2porque(2πnorteF)Hd(F)dF,  para norte0{\displaystyle s[n]=\int _{-1/2}^{1/2}\cos(2\pi nF)H_{d}(F)\,dF,\ {\text{ for }}n\neq 0}
Paso 4: Cambiars[norte]{\displaystyle s[n]}volver a la presentación deh[norte]{\displaystyle h[n]}
h[k]=s[0],h[k+norte]=s[norte]/2,h[knorte]=s[norte]/2,Fornorte=1,2,3,,k, dónde k=(norte1)/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[norte]=0 para norte<0 y nortenorte{\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,W(F){\displaystyle W(f)} Entonces, el error MSE se convierte en

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

Block diagram of a simple FIR filter (second-order/3-tap filter in this case, implementing a moving average smoothing filter)
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).
Pole–zero diagram
Diagrama de polos y ceros del filtro suavizador FIR de segundo orden de ejemplo.
Magnitude and phase responses of the example second-order FIR smoothing filter
Respuestas de magnitud y fase del filtro suavizador FIR de segundo orden de ejemplo.
Amplitude and phase responses of the example second-order FIR smoothing filter
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 caja , especialmente cuando va seguido de decimación o de una función sinc en frecuencia . Los coeficientes del filtro,b0,,bnorte{\textstyle b_{0},\ldots ,b_{N}}, se obtienen mediante la siguiente ecuación:

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

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

norte=2{\displaystyle N=2}

La respuesta impulsional del filtro resultante es :

h[norte]=13δ[norte]+13δ[norte1]+13δ[norte2]{\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), 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 enz1=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(mijω)=13+13mijω+13mij2ω=13mijω(1+2porque(ω)).{\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}}}

La magnitud y los componentes de fase deH(mijω){\textstyle H\left(e^{j\omega }\right)}se representan en la figura. Pero gráficos como estos también se pueden generar haciendo una transformada discreta de Fourier (DFT) de la respuesta al impulso. [ B ] Y debido a la simetría, el software de diseño o visualización de filtros a menudo muestra 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, y por lo tanto es un filtro paso bajo crudo . El gráfico de fase es lineal excepto por discontinuidades en las dos frecuencias donde la magnitud se vuelve 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.

Véase también

Notas

  1. Una excepción es MATLAB, que prefiere una periodicidad de2,{\displaystyle 2,}porque la frecuencia de Nyquist en unidades de semiciclos/muestra es1,{\displaystyle 1,}, una opción conveniente para software de gráficos que muestra el intervalo de 0 a la frecuencia de Nyquist.
  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.