ELE2700 — Analyse des signaux
Notes de cours complémentaires
Éléments de Conception de filtres numériques
Christian Cardinal
Mars 2007
1.1 Généralités
Dans cette partie du cours nous ne considérons que des filtres linéaires et
invariants dans le temps (LTI). De tels filtres sont caractérisés soit par leur
réponse à l’impulsion, h(n), leur réponse en fréquence H(ej), leur transfor-
mée en z, H(z)ou encore par leurs équations aux différences.
Deux classes de filtres numériques :
1. Filtre à réponse à l’impulsion finie (RIF, en anglais FIR, Finite Impulse
Response)
2. Filtre à réponse à l’impulsion infinie (RII, en anglais IIR, Infinite Im-
pulse Response)
Dans les sections suivantes, ces deux classes de filtre sont étudiés.
1.2 Filtre à réponse à l’impulsion finie (RIF)
Dans plusieurs applications pratiques tels que les télécommunications, la
variation de la phase du signal engendrée par les opérations de filtrage est
un paramètre important de conception. Contrairement au filtre de types RII,
les filtres RIF sont généralement utilisés dans des applications où la phase
doit varier linéairement en fonction de la fréquence.
Exemple 1 : exemple d’une réponse à l’impulsion finie :
h(n) = u(n)u(nN)(1.1)
La sortie d’un filtre LTI s’obtient par convolution du signal d’entrée x(n)
et la réponse à l’impulsion h(n)du filtre :
y(n) = x(n)h(n) =
N1
X
k=0
x(k)h(nk)(1.2)
Cette dernière équation représente l’équation aux différences du filtre. La
transformée en z de h(n)est :
1
H(z) =
N1
X
n=0
h(n)zn(1.3)
Considérant l’exemple précédent, la transformée en z de h(n) = u(n)
u(nN)est :
H(z) =
N1
X
n=0
zn=z0+z1+z2+...z(N1) (1.4)
Ceci nous permet d’écrire la transformée en z de la sortie du filtre y(n):
Y(z) = X(z)H(z) = X(z) + X(z)z1+X(z)z2+... +X(z)z(N1) (1.5)
La séquence y(n)obtenue à la sortie du filtre est la transformée z inverse
de Y(z):
y(n) = x(n) + x(n1) + x(n2) + ... +x(n(N1)) (1.6)
La réalisation physique et matérielle des RIF utilise alors un ensemble de
délais z1sans rétro-action de la sortie. Pour cette raison, la phase devient
linéaire en fonction de la fréquence. Cette phase dépend du délai total en-
gendré par la suite des délais z1. En effet, la transformée de Fourier de la
séquence h(n) = u(n)u(nN)est :
H(ej) = H(z)|z=ej=ejΩ(N1)/2sin(ΩN/2)
sin(Ω/2)
On observe que la phase de H(ej)varie linéairement avec la fréquence
numérique :H(ej) = Ω(N1)/2.
Une façon simple de déterminer les coefficients d’un filtre RIF, consiste
à échantillonner la réponse à l’impulsion à temps continue désirée à une
fréquence fs= 1/T pendant une durée finie. Cela revient donc à multiplier
une réponse à l’impulsion (qui peut être infinie) h(n)avec une fenêtre w(n)
de longueur finie :
hw(n) = h(n)w(n)
La séquence alors obtenue est finie et peut être réalisée par un ensemble
de délais z1sans rétro-action de la sortie. Évidemment, une augmentation
2
de fsimplique une augmentation du nombre de coefficients et donc une aug-
mentation du nombre de délais nécessaire à la réalisation du filtre : cela
revient alors à considerer une séquences de longueur Nélevées. Cependant,
il faut utiliser une fréquence suffisamment élevée afin d’obtenir la précision
désirée. La fonction fenêtre, w(n)la plus simple à mettre en oeuvre est sans
doute la fenêtre rectangulaire : w(n) = u(n)u(nN). Cependant, ce type
de fenêtre induit un effet indésirable connu sous le nom de «phénomène de
Gibbs». En pratique, ce problème rend peu applicable ce type de fenêtre dans
la conception de filtres RIF. Cependant, d’autres types de fenêtres procurent
de meilleures performances : Bartlett, Hanning, Hamming et Blackman. Dans
ce cours nous n’étudirons pas ces fenêtres dans les détails. Cependant, on peut
facilement trouver leur fonction dans la litérature. D’autre part, le logiciel
Matlab implémente l’ensemble des fonctions fenêtres.
Exemple :
Soit la réponse à l’impulsion d’un filtre à temps continue h(t) = etu(t).
Échantillonnant cette réponse à l’impulsion avec une fréquence d’échantillon-
nage fs= 1000 Hz, on obtient une séquence h(n) = en/1000u(n). Tronquant
cette séquence à N= 1000, on obtient hw(n) = en/1000[u(n)u(n1000)].
On a donc filtre contient 1000 coefficients ai=ei/1000,i= 0,1,2,3, ...999.
La figure suivante montre la réalisation du filtre.
3
S
z-1 z-1 z-1 z-1 z-1 z-1
y(n)
x(n)
a0=1 a1=e-1/1000 a2=e-2/1000
a3=e-3/1000
ak=e-k/1000
aN-2=e-(N-2)/1000 aN-1=e-(N-1)/1000
Fig. 1.1 – Réalisation d’un filtre RIF
1.3 Filtre à réponse à l’impulsion infinie (RII)
La conception de filtres RIF conduit généralement à des réalisations ma-
térielles dans lesquelles le délai produit par le filtrage est excessif. Dans les
applications où des délais excessifs ne sont pas acceptables, les filtres nu-
mériques doivent être conçus de manière à ce que le délai engendré par le
filtrage numérique soit le plus court possible. Les filtres RII permettent des
réalisations matérielles introduisant des délais largement inférieurs à ceux in-
troduits par les filtres RIF. Cependant, alors que pour les filtres RIF, la phase
est linéaire, pour les filtres RII, la phase varie de façon non-linéaire avec la
fréquence. L’exemple suivant montre une réponse à l’impulsion infinie.
Exemple 2 : réponse à l’impulsion infinie :
h(n) = anu(n)(1.7)
Typiquement, la transformée en z de la réponse à l’impulsion d’un filtre
RII s’écrit sous la forme d’une fonction rationnelle propre :
4
1 / 13 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !