Las técnicas de diseño de filtros FIR se basan en la aproximación directa de la respuesta de frecuencia deseada del sistema discreto en el tiempo. Los coeficientes del filtro corresponden a la respuesta al impulso del filtro que se va a realizar. Para poder procesar diferentes señales, es necesario que estas sean finitas. Pero no siempre es así. La técnica de ventana se utiliza a menudo para generar esas secuencias de señales finitas a partir de secuencias infinitas. Sin embargo, este "acortamiento" de una secuencia infinita en una secuencia finita también tiene efectos en el dominio de la frecuencia. En principio, este método sería exacto, pero como solo se puede utilizar un número finito de valores, este principio tiene desviaciones más o menos grandes, que son especialmente molestas en la atenuación de rechazo y la pendiente del flanco alcanzables.
La aproximación de un filtro ideal acortando la respuesta ideal al impulso es idéntica al problema de convergencia de las series de Fourier. El comportamiento de las series de Fourier en los puntos de discontinuidad siempre da lugar a una ondulación en las zonas de paso y de bloqueo. Básicamente se puede observar cuando una función discontinua se modela con series de Fourier. La ondulación no desaparece al aumentar el número de coeficientes, sino que solo se concentra más en el rango de la frecuencia de corte. Este efecto se denomina fenómeno de Gibbs. Esto puede remediarse ponderando adecuadamente los coeficientes del filtro. Los coeficientes límite se reducen convenientemente. Sin embargo, el orden del filtro necesario también aumenta con la misma pendiente del flanco.
Funciones de ventana
Los efectos no ideales que pueden observarse debido al número finito de coeficientes del filtro pueden mitigarse utilizando una ventana de ponderación. El principio es que los coeficientes centrales del filtro se ponderan más que los coeficientes del principio y el final.
Existen numerosas funciones de ventana que definen la atenuación de rechazo máxima alcanzable:
Ventana |
Atenuación de rechazo [dB] |
Atenuación de ventana (L grande) |
Función de ventana w(i) |
|---|---|---|---|
Rectángulo |
21 |
1 |
|
Bartlett (triángulo) |
25 |
0,5 |
|
Hamming |
53 |
0,54 |
|
Hamming generalizado |
- |
Alpha |
|
Hanning |
44 |
0,5 |
|
Blackman |
74 |
0,423 |
|
Kaiser (γ = 2,12) |
30 |
0,78 |
|
Kaiser (γ = 4,54) |
50 |
0,569 |
ídem |
Kaiser (γ = 7,76) |
70 |
0,442 |
ídem |
Kaiser (γ = 8,96) |
90 |
0,412 |
ídem |
Esta medida mejora sobre todo el comportamiento en banda de rechazo. A cambio, sin embargo, la pendiente del flanco se deteriora y la señal experimenta una atenuación adicional. Como aproximación, puede decirse que cuanto mayor es la atenuación de rechazo alcanzada, más se deteriora la pendiente del flanco para la misma longitud del filtro L. Por supuesto, la longitud del filtro puede aumentarse para mejorar la pendiente del flanco.
Las ventanas de Kaiser suelen ser la mejor opción en cuanto a pendiente del flanco/longitud del filtro y atenuación de rechazo alcanzadas. Además, existe una fórmula heurística para los filtros de Kaiser que estima el orden del filtro necesario a partir de los requisitos de rechazo.
Encontrará una descripción de la función de ventana de Chebyshev (Dolph-Chebyshev Window) en Antoniou, p.440.
Método de diseño del filtro con ventana de Kaiser
La ventana de Kaiser desempeña un papel especial. El compromiso entre el ancho del máximo principal (mainlobe) y la atenuación de los máximos laterales (sidelobe) puede cuantificarse buscando una ventana que se concentre al máximo en el dominio de la frecuencia en torno a ω = 0. Kaiser (1966, 1974) descubrió que se puede encontrar una ventana casi óptima utilizando una función de Bessel modificada de primer tipo y orden cero.
Esta ventana puede ajustarse para encontrar un compromiso entre la amplitud del máximo lateral y el ancho del máximo principal. Al igual que con la función Chebyshev, la longitud L del filtro también puede calcularse para la ventana Kaiser utilizando las especificaciones de atenuación y transición. La longitud del filtro es el menor número impar que cumple la siguiente desigualdad determinada empíricamente.
Por ejemplo, un diseño de filtro con una atenuación de 30 dB en la banda de rechazo y una zona de transición de 0,1 (frecuencia normalizada) requiere una longitud del filtro de al menos 17.
Algoritmo
El algoritmo utilizado en FlexPro se basa en el programa FIR1 de L.R. Rabiner, C.A. McGonegal y D. Paul.
Bibliografía
•Oppenheim, A. V. and Schafer, R. W. (1999). Discrete-Time Signal Processing, 2nd Edition. Prentice Hall, New Jersey.
•Antoniou, Andreas (2005). Digital Signal Processing. McGraw-Hill, Nueva York.
•L. R. Rabiner, C. A. McGonegal and D. Paul (1979). FIR Windowed Filter Design Program - WINDOW. Section 5.2 in Programs for Digital Signal Processing, IEEE Press, pág. 5.2-1 a 5.2-19.