Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres numériques FIR et IIR Guy Gauthier École de technologie supérieure 14 février 2013 Filtres IIR Exemples Signaux Filtrage Transformée en Z Outline 1 Signaux 2 Filtrage 3 Transformée en Z 4 Filtres FIR 5 Fenêtres 6 Filtres IIR 7 Exemples Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Représentation des signaux - signal périodique Dans le domaine temporel un signal périodique x (t) peut ressembler à : Dans le domaine fréquentiel ce signal devient : T1 est la période du signal ; f1 est sa fréquence. Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Représentation des signaux - signal non périodique Dans le domaine temporel un signal non périodique x (t) peut ressembler à : Dans le domaine fréquentiel ce signal devient : fm est sa bande passante. Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Définitions Bande passante Plage de fréquences pour laquelle le signal dépasse une certaine amplitude. Spectre (en fréquence) La courbe du signal en fréquence est appelée le spectre du signal. Cette courbe s’étend sur une plage de fréquences positives et négatives. La courbe est une fonction paire, i.e., elle symétrique par rapport à l’axe des amplitudes. Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres L’échantillonnage d’un signal continu Un signal échantillonné à une certaine période : Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples L’échantillonnage d’un signal continu Période d’échantillonnage Temps entre deux échantillons. Ce temps est invariant. La période d’échantillonnage doit donner une fréquence au moins 2 fois plus grande que le signal le plus rapide à mesurer. Durée d’échantillonnage Dépend des convertisseurs A/N utilisés. Devrait être courte devant la période d’échantillonnage Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR L’échantillonnage à une fréquence très très rapide Très bonne qualité de représentation Exige de la mémoire Exige un système rapide Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres L’échantillonnage à la fréquence de Nyquist Fréquence limite pour l’acquisition Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR L’échantillonnage sous la fréquence de Nyquist Le signal est complètement déformé (Recouvrement – Alias). Superposition des spectres dans le domaine fréquentiel. Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples En conclusion Deux solutions possibles : 1) Échantillonner plus que 2 fois plus rapidement que le signal le plus rapide. 2) Filtrer le signal analogique pour éliminer les fréquences indésirables. Les deux solutions peuvent être appliquées ensembles. Signaux Filtrage Transformée en Z Outline 1 Signaux 2 Filtrage 3 Transformée en Z 4 Filtres FIR 5 Fenêtres 6 Filtres IIR 7 Exemples Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Le filtrage des signaux Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Le filtrage des signaux - types de filtres Filtres passe-bas Filtres passe-haut Filtres passe-bande Filtres coupe-bande Filtres passe-tout (Modifie simplement la phase des signaux) Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Phase des signaux Indésirable : - musique - vidéo - communications numériques L’oreille humaine utilise la phase pour localiser la source du son. Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtres analogiques Filtre passe-haut - La fonction de transfert d’un filtre passe haut est : H(ω) = R jωRC = R + 1/(jωC ) jωRC + 1 C’est un vecteur dans le domaine complexe. (1) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtres analogiques Le gain est l’amplitude du vecteur ; |A| = q Re[H(ω)]2 + Im[H(ω)]2 (2) La phase est l’angle du vecteur ; φ = tan −1 Im[H(ω)] Re[H(ω)] (3) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtres analogiques La fréquence de coupure du filtre correspond à la fréquence ou l’amplitude est descendu de 3 dB par rapport au plateau. Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Critères de performance d’un filtre - Réponse en amplitude Le « ripple » dans la bande passante est nuisible. Il est possible de faire un filtre sans « ripple » Pente en dB/décade. L’atténuation (en dB) de la bande bloquée. Note : Gain(dB)= 20 log10 |A|. Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Critères de performance d’un filtre - Réponse en phase Représente un délai en temps en fonction de f . La réponse de phase devrait être linéaire. - Même délai en temps quelque soit la fréquence. Si pas linéaire : -distorsion -audible si on écoute de la musique -visible si on regarde une image. Exemples Signaux Filtrage Transformée en Z Outline 1 Signaux 2 Filtrage 3 Transformée en Z 4 Filtres FIR 5 Fenêtres 6 Filtres IIR 7 Exemples Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Rappel sur la transformée en Z La transformée en Z peut être vue comme l’équivalent, dans le domaine discret, de la transformée de Laplace qui s’applique au domaine continu. - La transformée en Z est la résultante de l’application de la transformée de Laplace sur un signal échantillonné. À l’entrée de l’échantillonneur bloqueur, le signal analogique est continu : x (t). À sa sortie, le signal est discret (échantillonné) : xs (t). Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Signal discret dans le domaine du temps Un signal discret est définit par la série suivante : xs (t) = ∞ X (x (t)δ(t − kTS )) k=0 avec la période d’échantillonnage TS = 1/FS , FS étant la fréquence d’échantillonnage. Le terme δ(t − kTS ) est une impulsion retardée de kTS . (4) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Transformée de Laplace de ce signal La transformée de Laplace est définie par cette intégrale : Z ∞ Xs (s) = xs (t)e−st dt (5) 0 Avec la définition donnée pour xs (t), on trouve : Xs (s) = Z ∞ (X ∞ 0 Z ∞ = 0 ) (x (t)δ(t − kTS )) e−st dt k=0 (x (t)δ(t) + x (t)δ(t − TS ) + . . .) e−st dt (6) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples La transformée de Laplace d’une impulsion Une propriété importante de δ(t) est : Z ∞ 0 f (t)δ(t − kTS )dt = f (kTS ) (7) Ainsi, on peut écrire : Xs (s) = ∞ X x (kTS )e−skTS (8) k=0 Avec la définition donnée pour xs (t), on trouve : Xs (s) = x (0) + x (TS )e−sTS + x (2TS )e−2sTS + . . . (9) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Signal discret Pour simplifier l’écriture, définissons z = esTS . Alors : Xs (z) = ∞ X x (kTS )z −k = ZT {x [k]} k=0 Regardons maintenant deux exemples de transformées en Z. (10) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Premier exemple de transformée en Z Soit x [n] = e na , avec n ≥ 0 et a une constante : X (z) = ∞ X na −n e z i=0 = ∞ X e a z −1 n i=0 n Posons u n = e a z −1 . Or, il existe une série semblable qui donne : ∞ X i=0 un = 1 1−u Cette série converge si |u| < 1. Donc, si |e a z −1 | < 1, on peut alors écrire : X (z) = 1 z = a −1 1−e z z − ea Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Second exemple de transformée en Z Soit x [n] = sin(nωTS ), avec n ≥ 0, ω la pulsation du sinusoïde et TS la période d’échantillonnage. En utilisant une des relations d’Euler, on peut écrire : sin(nωTS ) = e jnωTS − e −jnωTS 2j Ainsi : X (z) = ∞ 1 X e jωTS z −n − e −jωTS z −n 2j n=0 En se basant sur l’exemple précédent, on peut écrire : X (z) = 1 2j z z − jωT z −e S z − e −jωTS Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Second exemple de transformée en Z On peut simplifier la dernière équation en mettant tout sous le même dénominateur : 1 X (z) = 2j z(z − e −jωTS ) − z(z − e jωTS ) (z − e jωTS )(z − e −jωTS ) ! Ce qui donne : 1 X (z) = 2j z(e jωTS − e −jωTS ) z 2 − (e jωTS + e −jωTS )z + 1 ! Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Second exemple de transformée en Z Le numérateur divisé par 2j, c’est le sinus. Le coefficient de z au dénominateur correspond à cette relation d’Euler : cos(ωTS ) = e jωTS + e −jωTS 2 Ce qui mène à : X (z) = z2 z sin(ωTS ) − 2z cos(ωTS ) + 1 Note : ω = 2πf , avec f la fréquence de la sinusoïde. (11) Signaux Filtrage Transformée en Z Outline 1 Signaux 2 Filtrage 3 Transformée en Z 4 Filtres FIR 5 Fenêtres 6 Filtres IIR 7 Exemples Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtres FIR Un filtre FIR est basé sur l’équation suivante : y [n] = ∞ X (h[k]x [n − k]) (12) k=0 Si l’entrée x [n] est une impulsion à t = 0 (soit δ(0), alors y [n] = h[n]. Il se trouve que y [n] suivra donc la réponse impulsionnelle représentée par la suite des h[n]. Cette opération est nommée une convolution et est N représentée par y [n] = h[n] x [n]. Dans le domaine Z cette convolution correspond à ce produit Y (z) = H(z)X (z). Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtres FIR La définition de H(z) est : H(z) = ∞ X (h[k]z −k ) (13) k=0 Puisqu’un microcontrôleur a une quantité de mémoire finie, il faut choisir un H(z) plus réaliste en le tronquant. Considérons que nous changeons la borne supérieure de la somme de ∞ à N. - Il suffit alors de connaître les N + 1 coefficients, de h[0] à h[n], pour obtenir le filtre. - Il faut mémoriser N + 1 données de x [n] à x [n − N]. Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR La définition de H(z) tronquée est : H(z) = N X (h[k]z −k ) k=0 =h[0]z −0 + h[1]z −1 + . . . + h[N]z −N = (14) h[0]z N + h[1]z N−1 + . . . + h[N] zN Ce filtre présente un grand avantage. Il est toujours stable, puisque les N pôles de ce filtre sont à 0. Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Structure du filtre FIR Cette structure met en évidence les délais z −1 présents dans le filtre. Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Exemple de filtre FIR Un filtre à moyenne mobile est un filtre FIR : H(z) = 9 X k=0 Réponse en fréquence. (0.1z −k ) (15) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Second exemple de filtre FIR Soit la fonction de transfert suivante : G(z) = 0.995z − 0.995 z − 0.99 (16) qui est un filtre passe haut dont la fréquence de coupure est de 100 Hz (le système est échantillonné à 10 kHz). Considérons les 16 premiers termes de la réponse impulsionnelle de ce filtre :. H(z) =0.9950 − 0.0099z −1 − 0.0098z −2 − 0.0097z −3 − 0.0096z −4 − 0.0095z −5 − 0.0094z −6 − 0.0093z −7 − 0.0092z −8 − 0.0091z −9 − 0.0090z −10 − 0.0090z −11 − 0.0089z −12 − 0.0088z −13 − 0.0087z −14 − 0.0086z −15 (17) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Second exemple de filtre FIR Ce filtre comporte une certaine réponse en fréquence (en bleu G(z), en vert H(z) en rouge FIR à 100 points de la réponse impulsionnelle de G(z)) : Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle Certaines applications (filtrage adaptatif, traitement de la voie) ont besoin de filtres ayant des structures particulières. Un de ces structures est nommée "structure en échelle" (Lattice structure). Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle Pour l’étage i, on peut écrire : yi [n] = yi−1 [n] + ki ei−1 [n − 1] (18) ei [n] = ki yi−1 [n] + ei−1 [n − 1] (19) et : Le premier étage reçoit comme entrées x[n]. Donc : Pour l’étage #1, on peut écrire : y1 [n] = x [n] + k1 x [n − 1] (20) e1 [n] = k1 x [n] + x [n − 1] (21) et : Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle Pour le second étage, on peut écrire : y2 [n] =y1 [n] + k2 e1 [n − 1] =x [n] + k1 (1 + k2 )x [n − 1] + k2 x [n − 2] (22) et : e2 [n] =k2 y1 [n] + e1 [n − 1] =k2 x [n] + k1 (1 + k2 )x [n − 1] + x [n − 2] Remarquez vous les coefficients des deux équations ? (23) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle Si on généralise pour un filtre du N-ième ordre : yN [n] = N X ai x [n − i] (24) aN−i x [n − i] (25) i=0 et : eN [n] = N X i=0 Pour un filtre du 2-ième ordre : on peut tirer de l’acétate précédente que a0 = 1,a1 = k1 (1 + k2 ) et a2 = k2 . Il serait intéressant de trouver la relation entre les a• et les k• . Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle La transformée en Z du filtre du N-ième ordre est : YN (z) = N X ai X (z)z −i (26) aN−i X (z)z −i (27) i=0 et : EN (z) = N X i=0 On remarque que EN (z) = z −N YN (1/z). Cela signifie que le polynôme EN (z) est le polynôme image de YN (z). Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle La transformée en Z de la r -ième section du filtre est : Yr (z) = Yr −1 (z) + kr z −1 Er −1 (z) (28) Er (z) = kr Yr −1 (z) + z −1 Er −1 (z) (29) et : La dernière équation peut s’écrire : Er −1 (z) = Er (z) − kr Yr −1 (z) z −1 (30) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle Puis en remplaçant Er −1 (z) dans l’équation de Yr (z) : Yr (z) = Yr −1 (z) + kr z −1 Er (z) − kr Yr −1 (z) z −1 (31) Ensuite : Yr (z) = Yr −1 (z) + kr (Er (z) − kr Yr −1 (z)) (32) Et isolant Yr −1 (z), on obtient : Yr −1 (z) = Yr (z) − kr Er (z) 1 − kr2 (33) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle En utilisant la notion de polynôme image : Yr −1 (z) = Yr (z) − kr z −r Yr (1/z) 1 − kr2 Or : Yr (z) = r X ar ,i z −i (34) (35) i=0 et : Yr (1/z) = r X i=0 ar ,(r −i) z r −i (36) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle En utilisant la notion de polynôme image : r X a(r −1),i z −i Pr i=0 ar ,i z = −i i=0 Pr − kr z −r 1 − kr2 i=0 ar ,(r −i) z r −i (37) Puis : r X a(r −1),i z −i Pr = i=0 ar ,i z i=0 −i − kr ri=0 ar ,(r −i) z −i 1 − kr2 P (38) Ce qui mène à la relation recherchée : a(r −1),i = ar ,i − kr ar ,(r −i) 1 − kr2 (39) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Filtre FIR en structure échelle Cette relation : a(r −1),i = ar ,i − kr ar ,(r −i) 1 − kr2 est utilisée de façon itérative avec i = 0, 1, 2, . . . , r − 1 et r = N, N − 1, N − 2, . . . , 1. Le gain kr est posé égal à ar ,r et |kr | = 6 1. Cette approche permet de calculer les gains ki à partir des coefficients ai,j . Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Filtre FIR en structure échelle - Exemple Soit ce filtre de 2e ordre : Y2 (z) = 1 + 0.2z −1 − 0.5z −2 = a2,0 + a2,1 z −1 + a2,2 z −2 On commence en posant r = N = 2 (filtre du 2e ordre). Le gain k2 = a2,2 = −0.5. Puis on calcule : a1,0 = a1,1 = 1 − (−0.5)(−0.5) a2,0 − k2 a2,1 = =1 1 − (−0.5)2 1 − k22 a2,1 − k2 a2,1 0.2 − (−0.5) × 0.2 = = 0.4 2 1 − k2 r 1 − (−0.5)2 Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtre FIR en structure échelle - Exemple On décrémente r à 1 et on recommence. Le gain k1 = a1,1 = 0.4. Cela met un terme au calculs. Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR en structure échelle - Obtenir les coefficients ai Soit k1 = 0.4 et k2 = −0.5. On peut procéder au calcul suivant : ar ,r = kr Donc, a1,1 = k1 = 0.4 et a1,0 = 1, ce qui mène à : Y1 = 1 + 0.4z −1 Puis a2,2 = k2 = −0.5 et a2,0 = 1. Ce plus : a2,1 = a1,1 + k2 a1,1 = 0.4 − 0.5 × 0.4 = 0.2 Ce qui mène à : Y (z) = 1 + 0.2z −1 − 0.5z −2 Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtres FIR basés sur la transformée de Fourier On peut créer des filtres FIR en se basant sur la transformée de Fourier. Pour ce faire définit le spectre en fréquence désiré du filtre : ∞ Hd (ω) = X Cn e jnωTS (40) −∞ Normalisons les fréquences avec ν = f /FN , avec FN = FS /2 et TS = 1/FS : Hd (ω) = ∞ X Cn e jnπν (41) −∞ Les coefficients de Fourier Cn sont calculés avec : 1 Cn = 2 Z +1 −1 Hd (ν)e −jnπν dν Rappel : e −jnπν = cos(nπν) − j sin(nπν). (42) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtres FIR basés sur la transformée de Fourier De plus, si on intègre une fonction impaire entre -1 et +1 cela donne 0. Puisque H(ν) est une fonction paire, alors : Z 1 Cn = 0 Hd (ν) cos(nπν)dν (43) avec n ≥ 0. Et C−n = Cn . On approxime Hd (ν) en réduisant le nombre de coefficients à 2Q − 1 : Ha (ω) = Q X −Q Cn e jnωTS (44) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Calcul des coefficients Cn Filtre passe bas : sin(nπν1 ) nπ En vertu de la règle de l’Hopital, C0 = ν1 . Filtre passe haut : Cn = Cn = − sin(nπν1 ) nπ (45) (46) Filtre passe bande (ν2 > ν1 ) : Cn = sin(nπν2 ) − sin(nπν1 ) nπ (47) Filtre coupe bande (ν2 > ν1 ) : Cn = sin(nπν1 ) − sin(nπν2 ) nπ (48) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Calcul des coefficients Cn - Exemple Il faut concevoir un filtre passe bas ayant une fréquence de coupure de 1 kHz. Le signal est échantillonné à 10 kHz et le filtre est de 33 points. Calcul de la fréquence de coupure normalisée ν1 : ν1 = 2fc 2000 fc = = = 0.2 FN FS 10000 La formule pour obtenir les 16 coefficients (car 2Q + 1 = 33) est : sin(0.2nπ) Cn = (49) nπ Les coefficients sont : C0 = 0.2, C1 = 0.1871, C2 = 0.1514, C3 = 0.1009, C4 = 0.0468, C5 = 0, C6 = −0.0312, C7 = −0.0432, C8 = 0.0378, C9 = −0.0208, C10 = 0, C11 = 0.017, C12 = 0.0252, C13 = 0.0233, C14 = 0.0134, C15 = 0 et C16 = −0.0117. Signaux Filtrage Transformée en Z Outline 1 Signaux 2 Filtrage 3 Transformée en Z 4 Filtres FIR 5 Fenêtres 6 Filtres IIR 7 Exemples Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Les fonctions de fenêtres Pour le FIR, on ne considère qu’une partie des points, car normalement, la réponse impulsionnelle est de durée infinie. Pour pouvoir l’exploiter, il faut tronquer cette réponse. On tronque en multipliant la série par une fonction de fenêtre rectangulaire. ( 1, si |n| ≤ Q; (50) wR [n] = 0, ailleurs. Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Les fonctions de fenêtres - Fenêtre de Hann (ou Hanning) Le fait de ne considérer qu’une partie des coefficients fait en sorte que la fonction de transfert sera tronquée. La fonction de fenêtre coupe très abruptement à ses frontières, ce qui entraîne certains problèmes. Pour améliorer le comportement du filtre, on peut ne considérer qu’un certain nombre de points et utiliser une fonction différente pour pondérer chacun des points. Plusieurs personnes ont proposés diverses fonctions. Parmi ces fonctions, il y a la fenêtre de Hann (nommée aussi Hanning) : ( wHA [n] = 0.5 + 0.5 cos(nπ/Q), si |n| ≤ Q; 0, ailleurs. (51) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Les fonctions de fenêtres - Fenêtre de Hamming Un autre fonction de fenêtre est la fenêtre de Hamming : ( wH [n] = 0.54 + 0.46 cos(nπ/Q), si |n| ≤ Q; 0, ailleurs. (52) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Les fonctions de fenêtres - Fenêtre de Blackman Enfin, on trouve la fenêtre de Blackman : ( wB [n] = 0.42 + 0.5 cos(nπ/Q) + 0.08 cos(2nπ/Q), si |n| ≤ Q; 0, ailleurs. (53) Soit un système en temps discret que l’on excite avec une impulsion de Dirac. La sortie y [n] sera la somme des éléments de la réponse impulsionnelle du système : y [n] = ∞ X (h[k]δ[n − k]) (54) k=0 Le principe du filtre FIR consiste à ne prendre en compte que les Q premiers éléments de la réponse impulsionnelle. Signaux Filtrage Transformée en Z Outline 1 Signaux 2 Filtrage 3 Transformée en Z 4 Filtres FIR 5 Fenêtres 6 Filtres IIR 7 Exemples Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Les filtres à réponse impulsionnelle infinie (IIR) Si on désire considérer la réponse impulsionnelle complète tout en ayant un filtre ne nécessitant pas de faire une somme infinie, c’est d’utiliser un filtre représenté par une fonction de transfert dont le dénominateur à au moins un pôle différent de 0. Ainsi la fonction de transfert du filtre IIR peut ressembler à : H(z) = a0 + a1 z −1 + a2 z −2 + . . . + aN z −N 1 + b1 z −1 + b2 z −2 + . . . + bM z −M (55) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Les filtres IIR – Équation récurrente Le filtre IIR est donc représenté par l’équation récurrente suivante : y [n] = N X k=0 (ak x [n − k]) − M X (bk y [n − k]) (56) k=1 Si on développe chaque somme, on peut écrire : y [n] =a0 x [n] + a1 x [n − 1] + . . . + aN x [n − N] − b1 y [n − 1] − b2 y [n − 2] − . . . − bM y [n − M] dont la fonction de transfert apparait en page précédente. (57) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Les filtres IIR – Fonction de transfert En posant M = N, H(z) devient : H(z) = a0 + a1 z −1 + a2 z −2 + . . . + aN z −N 1 + b1 z −1 + b2 z −2 + . . . + bN z −N (58) En multipliant le numérateur et le dénominateur par z N , on peut écrire : H(z) = a0 z N + a1 z N−1 + a2 z N−2 + . . . + aN z N + b1 z N−1 + b2 z N−2 + . . . + bN (59) Le filtre IIR peut être instable, ce qui implique qu’il est important d’analyser la position des N pôles du filtre avant de l’implanter. Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Un filtre IIR qui génère une onde sinusoïdale ! ! ! Le placement des N pôles à l’intérieur du cercle unitaire est important pour la stabilité. Si un seul pôle ne respecte pas cette condition, alors le filtre ne sera pas utilisable. Par exemple, le filtre suivant est en fait un générateur sinusoïdal de fréquence f : H(z) = z2 z sin(2πfTe ) − 2z cos(2πfTe ) + 1 avec Te = 1/fe la période d’échantillonnage. (60) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Un filtre IIR qui génère une onde sinusoïdale ! ! ! Ainsi, pour générer une onde sinusoïdale de 10 Hertz sur un système échantillonné à 200 Hertz : H(z) = z2 H(z) = z sin(2π10/200) − 2z cos(2π10/200) + 1 z2 0.3090169944z − 1.902113033z + 1 L’équation récurrente est : y [n] = 0.3090169944x [n] + 1.902113033y [n − 1] − y [n − 2]; Si on arrondit les coefficients, on a de bonnes chances d’avoir un système instable si cela fait en sorte que les deux pôles sortent du cercle unitaire. Signaux Filtrage Transformée en Z Outline 1 Signaux 2 Filtrage 3 Transformée en Z 4 Filtres FIR 5 Fenêtres 6 Filtres IIR 7 Exemples Filtres FIR Fenêtres Filtres IIR Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Filtre IIR Soit un système échantillonné à 1 kHz sur lequel on met un filtre IIR : 0.03046z + 0.03046 HIIR (z) = z − 0.9391 L’équation récurrente de ce filtre est est : y [n] = 0.03046x [n] + 0.03046x [n − 1] + 0.9391y [n − 1]; Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Filtre FIR correspondant Considérons que les 11 premières valeurs de la réponse impulsionnelle du filtre HIIR présenté en page précédente. Avec la fenêtre rectangulaire de largeur 11 on obtient : HFIR−REC (z) = 1 0.03046z 10 + 0.05906z 9 + 0.05546z 8 z 10 +0.05209z 7 + 0.04891z 6 + 0.04593z 5 +0.04313z 4 + 0.04051z 3 + 0.03804z 2 +0.03572z + 0.03355) Exemples Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR correspondant Toujours en ne considérant que les 11 premières valeurs de la réponse impulsionnelle du filtre HIIR . Avec la fenêtre de Hann de largeur 11 on obtient : HFIR−Hann (z) = 1 0.00564z 9 + 0.01916z 8 + 0.03409z 7 z 10 +0.04424z 6 + 0.04593z 5 + 0.05342z 4 +0.0363z 3 + 0.018z 2 + 0.004671z Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR correspondant Avec la fenêtre de Hamming de largeur 11 on obtient : HFIR−Hamm (z) = 1 0.002437z 10 + 0.009914z 9 + 0.02207z 8 z 10 +0.03553z 7 + 0.04462z 6 + 0.04593z 5 0.05387z 4 + 0.03784z 3 + 0.02072z 2 +0.00821z + 0.003675) Signaux Filtrage Transformée en Z Filtres FIR Fenêtres Filtres IIR Exemples Filtre FIR correspondant Enfin, avec la fenêtre de Blackman de largeur 11 on obtient : HFIR−Black (z) = 1 0.002375z 9 + 0.01114z 8 + 0.02655z 7 z 10 +0.04154z 6 + 0.04593z 5 + 0.05016z 4 +0.02828z 3 + 0.01046z 2 + 0.001967z Signaux Filtrage Transformée en Z Réponses en fréquence Filtres FIR Fenêtres Filtres IIR Exemples