De la Respuesta Ideal al Filtro Práctico
Hamming presentó un método de diseño de cuatro pasos para filtros FIR usando series de Fourier.
Paso 1: Especificar la Respuesta Ideal
Define H_ideal(f): la respuesta de frecuencia exacta que deseas. Para un filtro paso bajo: H = 1 para f < f_c, H = 0 para f > f_c. Esta es una función escalón en el dominio de la frecuencia.
Paso 2: Calcular Coeficientes de Fourier
Expande H_ideal(f) como una serie de Fourier en la variable de frecuencia. Los coeficientes c_k son los valores de la respuesta al impulso ideal del filtro:
c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df
Para un filtro paso bajo con frecuencia de corte f_c: c_k = sin(2πf_c·k) / (πk) para k ≠ 0, c_0 = 2f_c.
Esta respuesta al impulso es infinita — la función sinc se extiende indefinidamente en el tiempo. Un filtro práctico necesita un número finito de coeficientes.
Paso 3: Truncar a 2N+1 Términos
Mantener solo los coeficientes c_k para |k| ≤ N. Esta ventana rectangular de 2N+1 términos es el truncamiento más simple. Produce el fenómeno de Gibbs: ≈9% de sobrepico cerca de la frecuencia de corte.
Paso 4: Aplicar una Ventana
Multiplicar los coeficientes truncados por una función de ventana w_k para reducir el sobrepico de Gibbs:
c̃_k = c_k · w_k
Los coeficientes ventaneados c̃_k definen el filtro práctico.
Calculando Coeficientes de Fourier
La fórmula del coeficiente de Fourier c_k = sin(2πf_c·k) / (πk) para un filtro paso bajo con frecuencia de corte f_c proporciona la respuesta al impulso.
Para un filtro paso banda con frecuencia de corte inferior f_l y frecuencia de corte superior f_u, el coeficiente de Fourier para la respuesta ideal es: c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).
Cómo las Ventanas Reducen el Sobrepico de Gibbs
Una función de ventana w_k suaviza la secuencia de coeficientes truncados desde su valor central hasta cero en los bordes. El suavizado elimina los bordes afilados introducidos por el truncamiento rectangular.
Por Qué el Suavizado Funciona
El sobrepico de Gibbs surge porque la transformada de Fourier de la ventana rectangular (la función sinc) tiene lóbulos secundarios grandes. Estos lóbulos secundarios se suman cerca de la discontinuidad para producir el sobrepico de ≈9%.
Una ventana suave tiene una transformada de Fourier con lóbulos secundarios más pequeños. Multiplicar los coeficientes por la ventana convoluciona la respuesta de frecuencia ideal con la transformada de Fourier de la ventana. Lóbulos secundarios más pequeños → menos rizado.
Ventanas Comunes
Rectangular (sin ventaneado): lóbulos secundarios ≈ −13 dB, Gibbs ≈ 9%.
Hann (von Hann): w_k = 0.5 + 0.5·cos(πk/N). Lóbulos secundarios ≈ −31 dB.
Hamming: w_k = 0.54 + 0.46·cos(πk/N). Lóbulos secundarios ≈ −41 dB, primer lóbulo secundario ≈ −43 dB. Gibbs < 0.2%.
Kaiser: w_k = I₀(α·√(1−(k/N)²)) / I₀(α). Ajustable: α controla el nivel de lóbulos secundarios, permitiendo que un diseño intercambie altura de lóbulo secundario frente a ancho de banda de transición.
El Intercambio de Ventanas
Cada ventana impone un intercambio: suprimir lóbulos secundarios siempre amplía el lóbulo principal.
Un lóbulo principal más ancho significa una banda de transición más ancha — el rango de frecuencias entre banda de paso & banda de rechazo.
Hamming formalizó esto en términos de los parámetros de diseño de Kaiser:
- δ: rizado permitido (tolerancia vertical de la respuesta ideal — cuánto puede desviarse la respuesta de 0 o 1)
- ΔF: ancho de transición (tolerancia horizontal — qué tan estrecha es la transición de paso a rechazo)
El método de Kaiser encuentra tanto N (número de coeficientes) como α (el parámetro de forma de la ventana) a partir de δ y ΔF solamente. Sin adivinanza del tipo de ventana.
De Especificaciones a Coeficientes
El método de Kaiser toma dos especificaciones — δ (tolerancia de rizado) & ΔF (ancho de transición) — & produce tanto N como los coeficientes de ventana sin ensayo y error.
La Secuencia de Diseño
1. Calcula A = −20·log₁₀(δ) (atenuación en dB)
2. Calcula el parámetro de forma α:
- Si A > 50: α = 0.1102·(A − 8.7)
- Si 21 ≤ A ≤ 50: α = 0.5842·(A − 21)^{0.4} + 0.07886·(A − 21)
- Si A < 21: α = 0 (ventana rectangular)
3. Calcula N = (A − 8) / (2.285 · 2πΔF)
4. Calcula los pesos de la ventana de Kaiser: w_k = I₀(α·√(1−(k/N)²)) / I₀(α)
5. Multiplica los coeficientes de Fourier ideales por los pesos de la ventana
6. Evalúa la función de transferencia resultante & comprueba que el rizado sea menor que δ. Si el rizado excede δ (interferencia de borde), repite con una tolerancia menor.
Hamming observó: Kaiser llegó al exponente 0.4 al probar 0.5 (demasiado grande) & encontrar que 0.4 se ajustaba bien. La computadora sirvió como herramienta experimental para la investigación teórica.
Aplicando el Método de Kaiser
La función de Bessel I₀(x) aparece en la fórmula de ventana de Kaiser. Se calcula como una serie que converge rápidamente:
I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²
Para x pequeño la serie converge en pocos términos debido al m!² en el denominador.