Filtres numériques A. Filtrage temporel Le filtrage temporel consiste en l interruption ou l atténuation durant certaines périodes temporelles d un signal. Un exemple fréquemment rencontré est le prélèvement d un signal dans un intervalle de temps limité. Le signal filtré est alors simplement le produit du signal original par une porte rectangulaire. Nous savons que ce filtrage modifie le spectre en fréquence, la transformée de Fourier du signal tronqué étant donnée par la convolution des transformées du signal initial et de la porte. La figure 13-1 rappelle le spectre en fréquence d une sinusoïde évalué sur cinq périodes. Non seulement les deux raies sont élargies, mais on observe également des lobes secondaires. Fig. 13-1 : Spectre de cos(nω 0 ) avec ω 0 =π/4 calculée cinq périodes La fenêtre rectangulaire peut être remplacée par d autres fenêtres avec des lobes secondaires de plus faible amplitude. Alors qu avec la fenêtre naturelle chaque échantillon a le même poids, par exemple dans le calcul d une TFD, les autres fenêtres attribuent des poids différents aux échantillons selon leur position. Les échantillons centraux ayant plus de poids que ceux des bords. On parle de fenêtres de pondération ou de fonctions d apodisation. Outre une fenêtre triangulaire, il est possible d utiliser les fenêtres pondération de N+1 points suivantes, k variant de 0 à N : Hanning : Hamming : w (k) w (k) 2π k = 0.50 0.50 cos N 2π k = 0.54 0.46 cos N S. Tisserant ESIL Traitement du signal 2008-2009 13-1
Blackman : w (k) 2 π k 4 π k = 0.42 0.50 cos + 0.08 cos N N Ces trois fonctions d apodisation sont représentées sur la figure 13-2 pour N = 64. Fig. 13-2 : Fenêtres de pondération : Hanning en vert, Hamming en bleu et Blackman en rouge Leurs transformées de Fourier discrètes (ou fonction de transfert) correspondantes, normalisées à 1 pour le gain maximum, sont présentées sur les figures 13-3 et 13-4, en échelle logarithmique (db) pour mettre en évidence les lobes secondaires. La fenêtre de Blackman atténue fortement les lobes secondaires mais élargit le lobe principal. Il existe d autres fenêtres de pondération. Fig. 13-3 : Fonctions de transfert en db correspondant à la fenêtre naturelle (en noir à gauche) et à la fenêtre de Hanning (en vert à droite) S. Tisserant ESIL Traitement du signal 2008-2009 13-2
Fig. 13-4 : Fonctions de transfert en db correspondant à la fenêtre Hamming (en bleu à gauche) et à la fenêtre de Blackman (en rouge à droite) Les figures 13-5 et 13-6 illustrent l effet d une telle pondération sur les 64 échantillons d un signal sinusoïdal pur. Les courbes en noir visualisent les amplitudes des transformées de Fourier discrètes en fonction de la pulsation alors que les points représentent ces TFD échantillonnées sur 64 points. Fig. 13-5 : Spectre d une sinusoïde non pondérée Sur la première figure la sinusoïde n est pas pondérée et les échantillons de la TFD sont proches des maxima des lobes secondaires. Sur la seconde figure la sinusoïde est pondérée par une fenêtre de Blackman. Les deux pics sont légèrement plus larges mais les lobes secondaires sont remarquablement atténués. S. Tisserant ESIL Traitement du signal 2008-2009 13-3
Fig. 13-6 : Spectre d une sinusoïde pondérée par une fenêtre de Blackman B. Filtrage fréquentiel A côté du filtrage temporel nous avons également le filtrage fréquentiel. Nous allons traiter ici quelques aspects des filtres numériques sans prétendre à l exhaustivité. Nous commençons par des filtres aux comportements similaires aux filtres analogiques étudiés dans le chapitre 5. B.1. Premier exemple : filtre passe-bas Commençons par la réalisation d un filtre numérique de type passe-bas. La figure suivante représente un filtre passe-bas idéal, il s agit d une porte de demi-largeur ω c en pulsation ou f c en fréquence. Fig. 13-7 : Filtre passe-bas idéal S. Tisserant ESIL Traitement du signal 2008-2009 13-4
Il nous avons vu (chapitre 3) que la transformée de Fourier inverse d une porte est un sinus cardinal. En effet : TF[ Sinc(t) ] = π Π( ω) Soit encore : TF [ Sinc ( ωc t) ] = Π ω ω c c Nous avons donc pour la transformée de Fourier inverse d une porte de demi-largeur ω c : π ω 1 h(t) = TF Π ωc = c π ω ω sin ( ωc t) ωc t sin ( ωc t) = π t Il s agit de la réponse impulsionnelle du filtre recherché. Echantillonnons celle-ci à une fréquence f e, ce qui nous donne : t = n f e sin 2 π f h(n) = n π f e c n f e = f e sin (2πν πn c n) sin (2 πνc n) f h (n) = fe avec νc = πn f Nous avons introduit la fréquence de coupure réduite ν c. En nous souvenant que la définition de la transformée de Fourier discrète fait abstraction de la fréquence d échantillonnage nous avons pour la réponse impulsionnelle d un filtre passe-bas numérique : sin (2 πν h(n) = πn La figure 13-8 présente cette réponse impulsionnelle sur 65 échantillons pour une fréquence de coupure réduite de 0.1 ainsi que la fonction de transfert correspondante. Si la fréquence de coupure répond à la spécification nous observons des oscillations avant et après cette coupure. Ces oscillations n auraient pas été présentes pour un nombre infini d échantillons. Ici, pour calculer la transformée de Fourier discrète de la réponse impulsionnelle, nous avons supposé que les échantillons pour n<0 et au-delà de 64 sont nuls. Il y a donc une discontinuité en 0 et une autre en 64. Ces discontinuités sont à l origine des rebonds. Pour atténuer ceux-ci il est possible de multiplier la réponse impulsionnelle par une des fenêtres d apodisation rencontrées dans le paragraphe précédent. Par exemple sur la figure 13-9 nous avons utilisé une fenêtre de Blackman. Les oscillations ne sont plus visibles en échelle linéaire. Il faut une échelle logarithmique, comme sur la figure 13-10, pour pouvoir les analyser. Cette figure permet de comparer les oscillations résiduelles pour des fenêtres de Hanning (en vert), Hamming (en bleu) et Blackman (en rouge). c n) c e S. Tisserant ESIL Traitement du signal 2008-2009 13-5
La réponse impulsionnelle d un filtre numérique est également appelée noyau du filtre. Si les oscillations résiduelles restent une gêne, le produit de convolution du noyau d un tel filtre avec lui-même fournit le noyau d un nouveau filtre qui atténue de manière très efficace ces lobes secondaires. Fig. 13-8 : Réponse impulsionnelle et fonction de transfert d un filtre passe-bas numérique Fig. 13-9 : Réponse impulsionnelle et fonction de transfert d un filtre passe-bas numérique pondéré par Blackman La figure 13-11, qui présente un agrandissement de la fonction de transfert au voisinage de la fréquence de coupure, permet de constater que les fronts de descente obtenus avec Hanning et Hamming sont très similaires, alors que le front est un peu moins raide pour Blackman. Par ailleurs la largeur de la bande de transition, entre bande passante et bande interdite, varie avec le nombre d échantillons utilisés pour représenter la réponse impulsionnelle, comme le montre la figure 13-12. La largeur de cette bande de transition est approximativement donnée par : S. Tisserant ESIL Traitement du signal 2008-2009 13-6
B T = 4 N Fig. 13-10 : Fonction de transfert d un filtre passe-bas numérique pondéré par Hanning (vert), Hamming (bleu) et Blackman (rouge) Fig. 13-11 : Transition de la fonction de transfert d un filtre passe-bas numérique pondéré par Hanning (vert), Hamming (bleu) et Blackman (rouge) B.2. Réalisation d autres types de filtres numériques Il existe deux méthodes qui permettent de transformer un filtre passe-bas en filtre passe-haut. Soit h(n) la réponse impulsionnelle d un filtre passe-bas de gain maximum unité. Considérons le filtre ayant pour réponse impulsionnelle : h 1 (n) = δ(n) h(n) S. Tisserant ESIL Traitement du signal 2008-2009 13-7
Il a pour fonction de transfert : H 1 ( ν ) = TFD [ δ(n) h(n) ] = 1 H( ν) Il s agit d un filtre passe-haut comme le montre la figure 13-12. Sur celle-ci nous avons "inversé" le filtre de la figure 13-9. Le rôle du filtre est inversé mais la fréquence de coupure est inchangée. Fig. 13-12 : Transition de la fonction de transfert d un filtre passe-bas numérique en fonction du nombre d échantillons : N = 17 (vert), N = 33 ( bleu) et N = 129 (rouge) Fig. 13-13 : Filtre passe-haut obtenu en inversant : h 1 (n )= δ(n)-h(n) le filtre passe-bas de la figure 13-9 Une autre méthode pour transformer un filtre passe-bas en un filtre passe-haut. Elle consiste à changer le signe d un échantillon sur deux du noyau du filtre passe-bas. C est ce que nous avons réalisé, toujours avec le même filtre initial, pour tracer la figure 13-14. Nous avons un nouveau filtre passe-haut avec une fréquence de coupure différente. S. Tisserant ESIL Traitement du signal 2008-2009 13-8
Fig. 13-14 : Filtre passe-haut obtenu changeant de signe un échantillon sur deux du filtre passe-bas de la figure 13-9 Changer le signe d un échantillon sur deux est équivalent à multiplier la réponse impulsionnelle par cos(nπ), c est-à-dire une sinusoïde de fréquence réduite 0.5. Nous avons vu (chapitre 3) que la modulation d un signal analogique par cos(2πν 0 t) a pour effet diviser le spectre initial en deux copies d amplitude moitié et décalées de ±ν 0. Dans notre cas la modulation produit deux portes d amplitude 0.5 décalées de ±0.5. La figure13-15 visualise cette transformation appliquée au spectre idéal de la figure 13-7. Cependant en numérique un spectre est périodique de période 1. Les deux parties du spectre extérieur à l intervalle [-0.5, 0.5] se replient donc à l intérieur. Il y a ainsi recouvrement de des deux copies (figure 13-16). La fréquence de coupure réduite du filtre passe-haut ainsi réalisé est alors 0.5-ν c. Fig. 13-15 : Effet de la modulation par cos(nπ) sur le spectre du filtre passe-bas idéal de la figure 13-7 S. Tisserant ESIL Traitement du signal 2008-2009 13-9
Fig. 13-16 : Prise en compte du recouvrement du spectre de la figure 13-5 En analogique une façon de réaliser un filtre passe-bande consiste à monter un filtre passebas, de fréquence de coupure ν b, en série avec un filtre passe-haut, de fréquence de coupure ν h, à la condition que ν h > ν b. Il en est de même avec des filtres numériques. Fig. 13-17 : Filtre passe-bande réalisé en enchaînant un filtre-passe bas et un filtre passe-haut Faisons passer un signal numérique e(n) au travers de deux filtres numériques successifs de réponses impulsionnelles h 1 (n) et h 2 (n). Calculons le signal de sortie s(n). Notons x(n) le signal à la sortie de premier filtre et à l entrée du second. Nous avons : x(n) = h1(n) * e(n) s(n) = h 2 (n) * x(n) s(n) = h 2 (n) * h 1 (n) * e(n) La réponse impulsionnelle du filtre équivalent est donc égale au produit de convolution de deux réponses impulsionnelles : h(n) = h1(n) * h 2 (n) S. Tisserant ESIL Traitement du signal 2008-2009 13-10
Le filtre illustré par la figure 13-17 a été obtenu par convolution de deux filtres numériques, un passe-bas avec une coupure de 0.4 et un passe-haut de coupure 0.1. Il est également possible de réaliser un filtre coupe-bande en passant en parallèle au travers d un filtre passe-bas, de fréquence de coupure ν b, et d un filtre passe-haut, de fréquence de coupure ν h, et en sommant les sorties des deux filtres. Il faut cette fois que ν h < ν b. La réponse impulsionnelle du filtre équivalent est alors égale à la somme des deux réponses impulsionnelles. C est ainsi que nous avons construit le filtre visualisé sur la figure suivante. Fig. 13-18 : Filtre coupe-bande réalisé en parallélisant un filtre-passe bas et un filtre passe-haut C. Opérateurs simples Nous rappelons ici les caractéristiques de quelques opérateurs simples. Le retard-avance est caractérisé par la relation : Il a pour réponse impulsionnelle : s(n) h(n) = e(n k) = δ(n k) La dérivée discrète est caractérisée par la relation : Il a pour réponse impulsionnelle : s(n) h(n) = e(n) e(n 1) = δ(n) δ(n 1) L intégration discrète est caractérisée par la relation : S. Tisserant ESIL Traitement du signal 2008-2009 13-11
s (n) = s(n 1) + e(n) Il a pour réponse impulsionnelle : h (n) = Même si leurs réponses impulsionnelles sont très simples ces trois opérateurs sont en général implémentés sous une forme récursive, plutôt que sous la forme d un produit de convolution. u(n) D. Filtre à moyenne glissante Un filtre à moyenne glissante peut être caractérisé par la relation suivante entre les signaux en entrée et en sortie : s (n) = 1 M M 1 e(n k) k = 0 A chaque instant, la sortie apparait comme la moyenne des M derniers échantillons du signal d entrée. Quand cela est possible on peut également choisir une moyenne symétrique en utilisant un nombre impair d échantillons centrés sur n : M 1 1 s(n) = e(n m k) M + k = 0 avec M = 2m + 1 Un tel filtre peut être réalisé par un produit de convolution, sa réponse impulsionnelle étant une porte de largeur M et d amplitude 1/M. Mais il est plus simple et plus rapide de l implémenter sous forme récursive. Prenons par exemple la moyenne symétrique, nous pouvons écrire : M s(n) M 1 M 1 = e(n m + k) = e(n 1 m + k + 1) = k = 0 k = 0 M e(n 1 m + l) l= 1 M 1 M s(n) = e(n 1 m + l) + e(n 1 m + M) e(n 1 m) l= 0 Comme M = 2m+1 nous avons : M s(n) = Ms(n 1) + e(n + m) e(n m 1) A chaque pas la nouvelle somme s obtient en retranchant à la précédente l échantillon le plus ancien et en ajoutant un nouveau. S. Tisserant ESIL Traitement du signal 2008-2009 13-12
Il est possible de montrer qu un filtre à moyenne glissante est optimal pour réduire un bruit blanc tout en préservant des fronts raides. L écart-type du bruit est divisé par M. La figure suivant illustre l effet d un tel filtre sur un signal constitué par un bruit blanc gaussien d écart-type 0.3 superposé à une porte d amplitude 1. Le filtre utilisé porte sur 21 échantillons symétriques. Fig. 13-19 : Filtre à moyenne glissante symétrique calculée sur 21 échantillons appliqué à une porte d amplitude 1 perturbée par un bruit blanc d écart-type 0.2 E. Filtres adaptés Dans la pratique il est souvent nécessaire de construire des filtres adaptés à un type de problème particulier. En numérique il est généralement plus facile de trouver une solution et de l implémenter qu en analogique. Les situations pouvant être très variées nous allons nous appuyer sur un exemple simple. Il s agit d analyser le signal s(n) présenté sur la figure suivante. Dans cet enregistrement, obtenu par simulation, nous apercevons un signal au milieu de bruit. Fig. 13-20 : Signal à analyser S. Tisserant ESIL Traitement du signal 2008-2009 13-13
Nous supposons que l allure temporelle du signal x(n) à détecter est connue. Celle-ci est présentée sur la figure 13-21 pour une cinquantaine d échantillons. A partir de ceux-ci nous pouvons calculer la transformée de Fourier discrète. Ce spectre est également visible sur la figure. Fig. 13-21 : Allures temporelle et fréquentielle du signal à rechercher Il est possible d utiliser un filtre à moyenne glissante tel que celui présenté dans le paragraphe précédent. La figure suivante montre le résultat obtenu avec une fenêtre symétrique de 21 échantillons. Fig. 13-22 : Utilisation d une moyenne glissante symétrique calculée sur 21 échantillons Il est également possible d utiliser l inter-corrélation décrite dans le chapitre 11. Nous utilisons comme référence le signal x(n) de la figure 13-21 échantillonné à la même fréquence que l enregistrement à analyser s(n). L inter-corrélation C sx qui permet de retrouver le signal de référence dans l enregistrement et d en mesurer le retard est visualisée sur la figure 13-23. S. Tisserant ESIL Traitement du signal 2008-2009 13-14
Fig. 13-23 : Inter-corrélation entre s(n) et x(n) Une autre méthode consiste à utiliser un filtre optimisé. Un critère d optimisation peut consister à maximiser la puissance du signal par rapport à celle du bruit. Cela correspond, par exemple, au filtre de Wiener pour lequel la fonction de transfert est définie par : H W ( ν ) = 2 X( ν) 2 X( ν) + B( ν) 2 X(ν) et B(ν) représentant les transformées de Fourier du signal et du bruit respectivement. Les densités de puissance du signal et du bruit, correspondant au cas que nous étudions, sont présentées sur la figure 13-24. Le bruit simulé est un bruit blanc gaussien. La figure montre également la forme de la fonction de transfert du filtre de Wiener. Fig. 13-24 : A gauche densités de puissance du signal (trait plein) et du bruit (tirets). A droite fonction de transfert du filtre de Wiener correspondant. Par transformation de Fourier inverse de H W (ν) nous pouvons déterminer le noyau (ou réponse impulsionnelle) k(n) du filtre numérique cherché. Dans notre cas nous avons construit S. Tisserant ESIL Traitement du signal 2008-2009 13-15
la transformée de Fourier numérique inverse sur 63 échantillons (fig. 13-25) de la fonction de transfert présentée figure 13-24 Fig. 13-25 : Transformée de Fourier inverse de la fonction de transfert H W (ν) Par la suite nous négligeons la partie imaginaire. Ce filtre peut être implémenté sous la forme d un produit de convolution. La figure suivante montre le signal filtré par ce noyau. Fig. 13-26 : Utilisation d un filtre de Wiener de 63 échantillons Pour référence la figure 13-27 montre le signal avant simulation du bruit. L inter-corrélation permet de mesurer le retard du signal. Elle est maximale au voisinage du centième échantillon, ce qui correspond à ce qui a été simulé. Le signal reconstruit avec le filtre à moyenne mobile semble plus déformé qu avec le filtre de Wiener. Dans notre cas simple les trois méthodes essayées permettent de détecter le signal dans le bruit. Il faut ensuite une analyse un peu plus détaillée on souhaite extraire des informations plus complètes (par exemple l amplitude) sur le signal détecté. S. Tisserant ESIL Traitement du signal 2008-2009 13-16
Fig. 13-27 : Signal de référence à comparer au signaux obtenus après filtrage F. Réalisation d un filtre à réponse fréquentielle spécifiée La technique rencontrée dans les paragraphes B.1 et E pour construire le noyau d un filtre numérique peut se généraliser à tout type de réponse dans le domaine fréquentiel. A titre d exemple supposons que nous cherchons à réaliser un filtre numérique dont la courbe de gain, totalement arbitraire, correspond à la figure 13-28. Fig. 13-28 : Réponse fréquentielle souhaitée La méthode consiste à prendre la transformée de Fourier numérique inverse pour N échantillons de la fonction de transfert prise sur une période complète (-0.5 et 0.5). Nous pouvons choisir un nombre impair d échantillons et prendre l échantillon central comme origine du temps. La figure 13-29 présente les parties réelle et imaginaire de la transformée inverse pour N = 63. Nous pouvons négliger la partie imaginaire et limiter le noyau à sa partie réelle. Sur la figure 13-30 nous avons tracé le module de la fonction de transfert correspondant à ce noyau. S. Tisserant ESIL Traitement du signal 2008-2009 13-17
Nous constatons que pour N = 63, la courbe de gain n est correspond pas exactement à la réponse recherchée. L accord s améliore lorsque le nombre N d échantillons du noyau augmente, comme nous pouvons le constater sur la figure 13-31. Fig. 13-29 : Noyau pour N = 63 correspondant à la réponse souhaitée Fig. 13-30 : Réponse fréquentielle d un noyau de 63 échantillons Fig. 13-31 : Réponse fréquentielle d un noyau de 257 échantillons S. Tisserant ESIL Traitement du signal 2008-2009 13-18
Sur la figure précédente nous observons des oscillations de la courbe de gain. Celles-ci peuvent être atténuées en pesant le noyau avec une fenêtre d apodisation (Hamming ou Blackman). C est ce que montre la figure suivante. Le nombre d échantillons sera choisi en fonction de l accord souhaité. Le filtre obtenu peut s implémenter sous la forme d un produit de convolution. Fig. 13-32 : Réponse fréquentielle d un noyau de 257 échantillons pesé par une fenêtre de Blackman S. Tisserant ESIL Traitement du signal 2008-2009 13-19