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

An FIR filter has a number of useful properties which sometimes make it preferable to an infinite impulse response (IIR) filter. FIR filters:

  • Require no feedback. This means that any rounding errors are not compounded by summed iterations. The same relative error occurs in each calculation. This also makes implementation simpler.
  • Are inherently stable, since the output is a sum of a finite number of finite multiples of the input values, so can be no greater than |bi|{\textstyle \sum |b_{i}|} times the largest value appearing in the input.
  • Can easily be designed to be linear phase by making the coefficient sequence symmetric. This property is sometimes desired for phase-sensitive applications, for example data communications, seismology, crossover filters, and mastering.

The main disadvantage of FIR filters is that considerably more computation power in a general purpose processor is required compared to an IIR filter with similar sharpness or selectivity, especially when low frequency (relative to the sample rate) cutoffs are needed. However, many digital signal processors provide specialized hardware features to make FIR filters approximately as efficient as IIR for many applications.

Frequency response

The filter's effect on the sequence x[n]{\displaystyle x[n]} is described in the frequency domain by the convolution theorem:

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 )}}   and   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 \}},}

where operators F{\displaystyle {\mathcal {F}}} and F1{\displaystyle {\mathcal {F}}^{-1}} respectively denote the discrete-time Fourier transform (DTFT) and its inverse. Therefore, the complex-valued, multiplicative function H(ω){\displaystyle H(\omega )} is the filter's frequency response. It is defined by a Fourier series:

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},}

where the added subscript denotes 2π{\displaystyle 2\pi }-periodicity. Here ω{\displaystyle \omega } represents frequency in normalized units (radians per sample). The function H2π(2πf){\displaystyle H_{2\pi }(2\pi f')} has a periodicity of 1{\displaystyle 1} with f{\displaystyle f'} in units of cycles per sample, which is favored by many filter design applications.[A]  The value ω=π{\displaystyle \omega =\pi }, called Nyquist frequency, corresponds to f=12.{\displaystyle f'={\tfrac {1}{2}}.}  When the sequence x[n]{\displaystyle x[n]} has a known sampling-rate fs{\displaystyle f_{s}} (in samples per second), ordinary frequency is related to normalized frequency by f=ffs=ω2πfs{\displaystyle f=f'\cdot f_{s}={\tfrac {\omega }{2\pi }}\cdot f_{s}}cycles per second (Hz). Conversely, if one wants to design a filter for ordinary frequencies f1,{\displaystyle f_{1},}f2,{\displaystyle f_{2},} etc., using an application that expects cycles per sample, one would enter f1/fs,{\displaystyle f_{1}/f_{s},} f2/fs,{\displaystyle f_{2}/f_{s},}  etc.

H2π(ω){\displaystyle H_{2\pi }(\omega )} can also be expressed in terms of the Z-transform of the filter impulse response:

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 }).}

Filter design

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

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 de suavizado FIR de segundo orden de ejemplo.
Respuestas de amplitud y fase del filtro de suavizado 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.
Obtenido de " https://en.wikipedia.org/w/index.php?title=Finite_impulse_response&oldid=1338221948 "