De la Réponse Idéale au Filtre Pratique
Hamming a présenté une méthode de conception en quatre étapes pour les filtres RIF utilisant des séries de Fourier.
Étape 1 : Spécifier la Réponse Idéale
Définir H_idéal(f) : la réponse en fréquence exacte que vous souhaitez. Pour un filtre passe-bas : H = 1 pour f < f_c, H = 0 pour f > f_c. Il s'agit d'une fonction échelon dans le domaine des fréquences.
Étape 2 : Calculer les Coefficients de Fourier
Développer H_idéal(f) en tant que série de Fourier dans la variable fréquence. Les coefficients c_k sont les valeurs de réponse impulsionnelle idéale du filtre :
c_k = ∫₀¹ H_ideal(f) · e^{i2πfk} df
Pour un filtre passe-bas avec fréquence de coupure f_c : c_k = sin(2πf_c·k) / (πk) pour k ≠ 0, c_0 = 2f_c.
Cette réponse impulsionnelle est infinie — la fonction sinc s'étend indéfiniment dans le temps. Un filtre pratique nécessite un nombre fini de coefficients.
Étape 3 : Tronquer à 2N+1 Termes
Conserver uniquement les coefficients c_k pour |k| ≤ N. Cette fenêtre rectangulaire de 2N+1 termes est la troncature la plus simple. Elle produit le phénomène de Gibbs : environ 9% de dépassement près de la coupure.
Étape 4 : Appliquer une Fenêtre
Multiplier les coefficients tronqués par une fonction fenêtre w_k pour réduire le dépassement de Gibbs :
c̃_k = c_k · w_k
Les coefficients fenêtrés c̃_k définissent le filtre pratique.
Calcul des Coefficients de Fourier
La formule du coefficient de Fourier c_k = sin(2πf_c·k) / (πk) pour un filtre passe-bas avec fréquence de coupure f_c donne la réponse impulsionnelle.
Pour un filtre passe-bande avec fréquence de coupure inférieure f_l et fréquence de coupure supérieure f_u, le coefficient de Fourier pour la réponse idéale est : c_k = [sin(2πf_u·k) − sin(2πf_l·k)] / (πk).
Comment les Fenêtres Réduisent le Dépassement de Gibbs
Une fonction fenêtre w_k réduit graduellement la séquence de coefficients tronqués de sa valeur centrale à zéro aux bords. La réduction graduelle supprime les bords aigus introduits par la troncature rectangulaire.
Pourquoi la Réduction Graduelle Fonctionne
Le dépassement de Gibbs survient parce que la transformée de Fourier de la fenêtre rectangulaire (la fonction sinc) a de grands lobes secondaires. Ces lobes secondaires s'ajoutent ensemble près de la discontinuité pour produire le dépassement d'environ 9%.
Une fenêtre lisse a une transformée de Fourier avec des lobes secondaires plus petits. Multiplier les coefficients par la fenêtre effectue une convolution de la réponse en fréquence idéale avec la transformée de Fourier de la fenêtre. Lobes secondaires plus petits → moins d'ondulation.
Fenêtres Courantes
Rectangulaire (sans fenêtrage) : lobes secondaires ≈ −13 dB, Gibbs ≈ 9%.
Hann (von Hann) : w_k = 0.5 + 0.5·cos(πk/N). Lobes secondaires ≈ −31 dB.
Hamming : w_k = 0.54 + 0.46·cos(πk/N). Lobes secondaires ≈ −41 dB, premier lobe secondaire ≈ −43 dB. Gibbs < 0.2%.
Kaiser : w_k = I₀(α·√(1−(k/N)²)) / I₀(α). Ajustable : α contrôle le niveau des lobes secondaires, permettant une conception d'échanger la hauteur des lobes secondaires contre la largeur de la bande de transition.
Le Compromis de la Fenêtre
Chaque fenêtre impose un compromis : supprimer les lobes secondaires élargit toujours le lobe principal.
Un lobe principal plus large signifie une bande de transition plus large — la plage de fréquences entre la bande passante et la bande d'arrêt.
Hamming a formalisé cela en termes de paramètres de conception de Kaiser :
- δ : ondulation admissible (tolérance verticale par rapport à l'idéal — combien la réponse peut s'écarter de 0 ou 1)
- ΔF : largeur de transition (tolérance horizontale — finesse de la transition de passage à arrêt)
La méthode de Kaiser trouve à la fois N (nombre de coefficients) et α (le paramètre de forme de la fenêtre) à partir de δ et ΔF seuls. Pas besoin de deviner le type de fenêtre.
Des Spécifications aux Coefficients
La méthode de Kaiser prend deux spécifications — δ (tolérance d'ondulation) et ΔF (largeur de transition) — et produit à la fois N et les coefficients de la fenêtre sans essais et erreurs.
La Séquence de Conception
1. Calculer A = −20·log₁₀(δ) (atténuation en dB)
2. Calculer le paramètre de forme α :
- 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 (fenêtre rectangulaire)
3. Calculer N = (A − 8) / (2.285 · 2πΔF)
4. Calculer les poids de la fenêtre de Kaiser : w_k = I₀(α·√(1−(k/N)²)) / I₀(α)
5. Multiplier les coefficients de Fourier idéaux par les poids de la fenêtre
6. Évaluer la fonction de transfert résultante et vérifier l'ondulation par rapport à δ. Si l'ondulation dépasse δ (interférence des bords), répéter avec une tolérance plus petite.
Hamming a noté : Kaiser est arrivé à l'exposant 0.4 en essayant 0.5 (trop grand) et en trouvant que 0.4 s'ajustait bien. L'ordinateur servait d'outil expérimental pour la recherche théorique.
Application de la Méthode de Kaiser
La fonction de Bessel I₀(x) apparaît dans la formule de la fenêtre de Kaiser. Elle se calcule comme une série rapidement convergente :
I₀(x) = Σ_{m=0}^∞ [(x/2)^m / m!]²
Pour petit x, la série converge en quelques termes en raison du m!² au dénominateur.