Filtres numériques FIR et IIR

publicité
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
Téléchargement