Vous êtes sur la page 1sur 47

Traitement du Signal

Filtrage numérique - Transformée en Z

13 octobre 2014

Nancy Bertin - nancy.bertin@irisa.fr


Filtrage numérique Transformée en Z Filtres récursifs Application

Filtrage numérique

1 Filtrage numérique
Introduction
Filtres linéaires invariants
Vocabulaire et propriétés des filtres
Réponse impulsionnelle et réponse en fréquence

2 Transformée en Z

3 Filtres récursifs

4 Application d’un filtre

2 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Introduction

En traitement du signal, on appelle filtre un système destiné à


modifier la distribution fréquentielle d’un signal.
Cf. filtres colorés en optique (action sur le spectre lumineux)
Exemples d’application :
supprimer un brouilleur (réjecteur de bande)
éviter le repliement avant sous-échantillonnage (passe-bas)
améliorer le RSB avant transmission (préaccentuation)
modifier l’équilibre des différentes fréquences (égalisation)

Les filtres numériques prennent un signal discret en entrée et


produisent un signal discret à la sortie.
On pourrait finalement aussi bien parler de système discret.

x[n] Filtre H y[n]

3 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

But des deux ou trois prochains cours

1 Comment décrire et caractériser un filtre H ?


⇒ Réponse impulsionnelle
⇒ Réponse en fréquence
⇒ Transformée en Z (un peu de maths, désolée)
2 Comment concevoir un filtre H (qui fasse ce qu’on veut et qui
soit réalisable en pratique, par nous dans Scilab ou par nos
amis électroniciens) ?
⇒ Synthèse de filtre
⇒ Méthode de la fenêtre
⇒ Méthode de Remez
⇒ Filtres à phase linéaire

4 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Filtres linéaires invariants

Comme en continu, on s’intéresse plus particulièrement à des


systèmes qui remplissent deux conditions agréables :
Linéarité : H(x + λy) = H(x) + λH(y)
Invariance par translation :
n0 -translatée de la fonction f : fn0 : n → f [n − n0 ]
Invariance du système : [H(fn0 )] = [H(f )]n0

Attention ! La translation s’entend ici pour des signaux discrets


infinis (pas de circularité). Elle modélise bien un retard, une
translation dans le temps physique.

5 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemples

Ligne à retard : ∃n0 ∀n, y[n] = x[n − n0 ]


Amplificateur (gain) : ∃G0 ∀n, y[n] = G0 x[n]
1 PM −1
Moyenne glissante : ∃M ∀n, y[n] = M m=0 x[n − m]
Exemple : température journalière et moyenne sur les 30
derniers jours
À votre avis, quel est l’effet sur la forme du signal ? Sur son
spectre ? Comment qualifieriez-vous le filtre correspondant ?

Illustration de Saïd Ladjal.

6 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Systèmes linéaires et signaux à supports finis

Systèmes linéaires invariants et signaux à support fini


Soit H est un système linéaire invariant.
Si, pour tout signal d’entrée x[n] à support fini, le signal de sortie
y[n] est à support fini, alors il existe une suite à support fini h telle
que :
X X
∀n ∈ Z y[n] = x[m]h[n − m] = h[`]x[n − `]
m∈Z `∈Z

La suite h est appelée la réponse impulsionnelle du filtre H.


Remarques :
En fait, si on accepte l’axiome du choix, on peut construire des SLI pathologiques pour lesquelles
cette propriété est fausse, mais de tels SLI n’ont aucune réalité physique. Cf. “Banach limit”.
Cf. signal continu et convolution. Là on le prend par l’autre bout pour changer, mais c’est pareil.

7 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Démonstration

Comme on ne l’avait pas faite en continu...


Soit δ l’impulsion de Dirac. C’est bien une suite à support fini.
On note h = H(δ). h est une suite à support fini (que l’on
appelle “réponse impulsionnelle” pour des raisons évidentes).
H est invariant par translation donc H(δm ) = hm .
P
On sait que x[n] = m∈Z x[m]δm [n].
P
H est linéaire donc H(x) = m∈Z x[m]H(δm ).
P
On déduit y[n] = (H(x)) [n] = m∈Z x[m]h[n − m].
La deuxième partie se déduit par changement de variable
` = n − m.

8 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Généralisation

Filtrage et produit de convolution.


Si x[n] et y[n] sont deux signaux discrets quelconques, on définit leur
produit de convolution par la suite x ? y[n] :
X X
(x ? y) [n] = x[m]y[n − m] = x[`]y[n − `]
m∈Z `∈Z

Si H est un système linéaire invariant, alors il existe une suite h telle que :
X X
∀n ∈ Z y[n] = x[m]h[n − m] = h[`]x[n − `]
m∈Z `∈Z

La suite h est appelée la réponse impulsionnelle du filtre H.


Réciproquement, toute suite h définit un filtre linéaire invariant dont
l’effet est décrit par le produit de convolution avec h.
Remarque : la preuve est un peu plus subtile car il faut tenir compte de l’existence de différentes
quantités, qu’on cache sous le tapis ici.

9 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Propriétés du produit de convolution

Commutativité : x ? y = y ? x
Associativité : (x ? y) ? w = x ? (y ? w)
Linéarité : x ? (y + λw) = (x ? y) + λ(x ? w)
Invariance par translation : x ? yn0 = (x ? y)n0

10 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Causalité

Définition : causalité.
Un filtre est dit causal si ∀n < 0, h[n] = 0.
Dans ce cas, la relation entrée-sortie de filtrage s’écrit :
n
X
y[n] = x[m]h[n − m]
m=−∞

Cela signifie que la sortie du filtre à l’instant n ne dépend que


du passé, d’où le terme causal (les causes précèdent les
effets).
Remarques :
Les systèmes physiques sont causaux.
Les signaux physiques sont causaux.
La sortie doit exister.

11 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Stabilité

Définition : stabilité.
Un filtre est dit stable si h ∈ `1 (Z).
On parle aussi de stabilité EBSB (entrée bornée, sortie
bornée) si, à tout signal borné x, le filtre H fait correspondre
une sortie h ? x bornée.
Les deux propriétés précédentes sont équivalentes.
Remarques :
Les systèmes physiques feraient mieux d’être stables...
Dans le cas contraire, ils risquent surtout de perdre leur linéarité (exemple :
clipping).

12 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Réponse impulsionnelle

Définitions. Filtres RIF et RII.


La réponse impulsionnelle d’un filtre H est la sortie de ce
filtre quand
P on lui applique une impulsion en entrée :
h[n] = h[n]δ[n − m].
Pour toute entrée x, la sortie y du filtre s’écrit : y = h ? x.
Si h est de support fini, on dit que H est un filtre à réponse
impulsionnelle finie, en abrégé “filtre RIF”.
Dans le cas contraire, on dit que H est un filtre à réponse
impulsionnelle infinie, en abrégé “filtre RII”.

13 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Réponse en fréquence

Exactement comme en continu (cf. cours 2) :


Les ondes de Fourier étant les signaux discrets wν [n] = e2πiνn ,
les ondes de Fourier sont des fonctions propres des filtres
linéaires invariants :

∀ν, ∃H, H(wν ) = Hwν .

La constante C dépend de la fréquence. On appelle réponse


en fréquence la donnée de la fonction H de la variable ν telle
que ∀ν, H(wν ) = H(ν)wν
H est la TFtd de h.

14 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Transformée en Z

1 Filtrage numérique

2 Transformée en Z
Motivations
Définitions
Propriétés
Fonction de transfert
Représentations

3 Filtres récursifs

4 Application d’un filtre

15 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Motivations

La réponse impulsionnelle d’un filtre n’est pas forcément très


parlante...

2
1

−1 5 10 15
−2

⇒ besoin d’outils pour caractériser les filtres, et savoir construire la


réponse impulsionnelle d’un filtre en fonction des caractéristiques
que l’on désire pour lui.

16 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Définition de la transformée en Z

Définition. Transformée en Z
Soit x[n] un signal à temps discret quelconque. La transformée en
z de x est la fonction de la variable complexe z définie par :
+∞
X
X(z) = x[n]z −n
n=−∞

pour tout z dans le domaine de convergence : R1 < |z| < R2 .


Remarques :
La transformée en Z est une série entière.
La TFtd est la transformée en Z restreinte au cercle unité (z = e2iπf ), à
condition qu’il appartienne à la couronne de convergence.
(La TZ est à la TFtd ce que la transformée de Laplace est à la TF.)

17 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemple : porte

La transformée en Z de la porte 1[0;N −1] est :


N
X −1
X(z) = z −n = 1 + z −1 + . . . + z −(N −1)
n=0

et converge pour tout z 6= 0. X(1) = N et pour tout z 6= 1,

1 − z −N
X(z) = .
1 − z −1

18 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemple : exponentielle

La transformée en Z de la suite causale x[n] = an est :


+∞
X 1
X(z) = an z −n =
1 − az −1
n=0

converge pour tout |z| > |a|.


x étant nulle à gauche, Dx s’étend à l’infini.
si |a| < 1, Dx contient le cercle unité.

19 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exercice

Calculer la transformée en Z des signaux suivants :


2 1 n+1
(
− 23 2n+1 pour n 6 −2

x[n] = 3 2
0 pour n > 2
|n|
x[n] = − 13 21
( n+1 2 n+1
− 23 12 − 32 pour n > 0
x[n] =
0 pour n < 0
P+∞
(Rappel : n=0 un = 1−u
1 pour |u| < 1.)

Conclusion ?

20 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Transformée en Z inverse
La TZ inverse n’est définie que si on donne le domaine de
convergence associé.
Il existe une formule générique mais elle est concrètement
inutile (intégrale circulaire sur un contour de Cauchy).
En pratique, pour les TZ qui sont des fractions rationnelles
(les seules qu’on rencontrera), on utilise une décomposition en
éléments simples et la formule
+∞
X 1
un = pour |u| < 1.
1−u
n=0

Ou alors, on choisit un contour de Cauchy particulier : le


cercle-unité, et on applique la TFtd inverse :
Z 1/2
h[n] = H(e2iπν )e2iπνn dν
−1/2

21 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Premières propriétés

Si x[n] est de durée finie, Dx est le plan complexe entier, sauf


peut-être en z = 0.
Si x[n] est causal, X(z) est finie à l’infini et
x[0] = limz→+∞ X(z).
Si x[n] est nulle à gauche (x[n] = 0 pour n < N ), Dx s’étend
à l’infini.
Si x[n] est nulle à droite (x[n] = 0 pour n > N ), Dx contient
l’origine.
Dans le cas contraire, x[n] est bilatérale et Dx est une
couronne.

22 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

D’autres propriétés

Propriété t[n] T (z) Dy


Linéarité x[n] + λy[n] X(z) + λY (z) Dx ∩ Dy
Retournement temporel x[−n] X(1/z) 1/Dx
Retard (ou avance) x[n − n0 ] X(z)z −n0 Dx
Convolution x ? y[n] X(z)Y (z) Dx ∩ Dy
Produit x[n]y[n] X ? Y (z) Dx × Dy
Parité-conjugaison x̄[n] X̄(z̄) Dx
x[n] réel X(z) = X̄(z̄)

23 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Fonction de transfert

Soit un filtre H de réponse impulsionnelle h.


Quelle que soit l’entrée x, la sortie y est y = h ? x
Donc en Z, Y (z) = H(z)X(z)
On appelle fonction de transfert de H:

Y (z)
H(z) =
X(z)

24 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemples

Retard : y[n] = x[n − 1] ⇒ H(z) = z −1

x[n] z −1 y[n]

Gain : y[n] = G0 x[n] ⇒ H(z) = G0

x[n] G0 y[n]

Addition :
x[n] + y[n]

b[n]

25 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Fonction de transfert rationnelle

Muni de ces trois opérations on peut construire une vaste


catégorie de filtres :

y[n] + a1 y[n − 1] + a2 y[n − 2] + . . . + ap y[n − p]


= b0 x[n] + b1 x[n − 1] + . . . + bq x[n − q]

La fonction de transfert de ces filtres est une fraction


rationnelle :
b0 + b1 z −1 + . . . + bq z −q
H(z) =
1 + a1 z −1 + . . . + ap z −p

26 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Pôles et zéros de la fonction de transfert

Les points du domaine de convergence où H(z) = 0 sont


appelés les zéros de la fonction de transfert.
Les points isolés du domaine de convergence où H(z) = +∞
sont appellés les pôles de la fonction de transfert.
Dans le cas d’une fonction de transfert rationnelle
H(z) = N (z)/D(z) :
Les zéros sont les racines du numérateur N (z)
Les pôles sont les racines du dénominateur D(z)
Si D(z) 6= 1 on parle de filtre récursif.

27 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemple

Le filtre de fonction de transfert :


1 − bz −1
H(z) =
1 − az −1
possède un pôle en z = a et un zéro en z = b.
Il est causal et stable pour |a| < 1.

28 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Représentations des filtres

On possède maintenant de multiples représentations d’un filtre :


Par sa réponse impulsionnelle (finie ou infinie)
Sous formes d’un diagramme en blocs (vision système)
Par sa réponse en fréquence (diagramme de Bode)
Par les pôles et les zéros de sa fonction de transfert dans le
plan complexe

29 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Représentation système

Un exemple de diagramme bloc (filtre RIF, non récursif) :

Illustration Wikipedia.

30 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Représentation de la réponse en fréquence

On représente le gain (module) et la phase (argument) de la TZ


échantillonnée sur le cercle unité.
20
Magnitude (dB)

10

−10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency (×π rad/sample)

0
Phase (degrees)

−20

−40

−60

−80
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency (×π rad/sample)

31 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Représentation en diagramme pôles-zéros

On représente les pôles et les zéros dans le plan complexe, en


matérialisant le cercle unité.

Illustration de Maurice Charbit.

32 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Filtres récursifs

1 Filtrage numérique

2 Transformée en Z

3 Filtres récursifs
Définition d’un filtre récursif
Propriétés des filtres récursifs

4 Application d’un filtre

33 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Définition d’un filtre récursif

Un filtre est récursif si le dénominateur de sa fonction de


transfert est différent de 1.
Cela signifie que la sortie à un instant dépend des états
antérieurs de la sortie.
Le diagramme bloc contient une ou des boucles fermées.
Un filtre est dit purement récursif si N (z) = 1.
Dans ce cas, p est appelé l’ordre du filtre.

34 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemples

Le système répondant à l’équation aux différences :

y[n] − ay[n − 1] = x[n]


est un filtre purement récursif d’ordre 1.
En appliquant la transformée en Z, on obtient sa fonction de
transfert :
1
H(z) =
1 − az −1
Ce filtre est stable pour |z| > a.
Dans ce cas, on peut développer H(z) en série entière et
identifier sa réponse impulsionnelle sous condition de causalité :

h[n] = an 1R+

35 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Propriétés des filtres récursifs

Le domaine de convergence de la TZ d’un filtre récursif est la


couronne du plan ne contenant aucun pôle.
Le filtre convolutionnel h correspondant est stable si son
domaine de convergence contient le cercle unité.
Par conséquent, un filtre récursif est causal et stable si et
seulement si tous ses pôles sont contenus à l’intérieur du
cercle unité.

36 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemple

Filtre récursif d’ordre 2 :


1
H(z) =
(1 − az −1 )(1 − bz −1 )

On décompose H(z) en éléments simples :


 
1 a b
H(z) = −
a − b 1 − az −1 1 − bz −1
Causalité : h est nulle à gauche donc Dh s’étend à l’infini.
Stabilité : |a| < 1 et |b| < 1 donc Dh contient le cercle unité.

37 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Récursivité et réponse impulsionnelle

Les filtres récursifs sont à réponse impulsionnelle infinie.


(Évidemment, les filtres non-récursifs sont RIF).

38 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Bande passante et bande atténuée

Intuitivement :
|H(z)| est petit pour les fréquences à proximité de ses zéros
(bande atténuée).
|H(z)| est grand pour les fréquences à proximité de ses pôles
(bande passante).
On précisera ses notions et le moyen dans les contrôler dans le
prochain cours.

39 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Application d’un filtre

1 Filtrage numérique

2 Transformée en Z

3 Filtres récursifs

4 Application d’un filtre


Convolution rapide
Dans Matlab / Scilab
Exemple (exercice)

40 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Application d’un filtre RIF

Pour les filtres RIF, on peut calculer numériquement la sortie


en calculant directement la convolution h ? x.
Mais le nombre d’opérations à réaliser est en O(N 2 )...
... ce qui est quand même dommage puisqu’on a l’algorithme
de FFT !
Problème : la propriété de FFT concerne la convolution
circulaire, mais notre filtrage est une convolution “normale” !
Astuce : zero-padding + overlap-add.

41 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Convolution rapide

Illustration de Rémi Gribonval.

42 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Convolution rapide

Illustration de Rémi Gribonval.

43 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Convolution rapide

Illustration de Rémi Gribonval.

44 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Application de filtres RII

Il n’est évidemment pas question d’utiliser la formule de


convolution pour un filtre à réponse impulsionnelle infinie
(somme infinie !).
Si le filtre est causal, il suffit d’utiliser la relation :
y[n] = b0 x[n]+b1 x[n−1]+. . .+bq x[n−q]−a1 y[n−1]−a2 y[n−2]−. . .−ap y[n−p]

Attention, si le filtre n’est pas causal, cette relation peut violer


la stabilité.

45 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Dans Matlab / Scilab

Dans Matlab on peut spécifier un filtre dont la fonction de transfert est une
fraction rationnelle en z −1 par les coefficients des polynômes du numérateur et
du dénominateur, rangés dans des vecteurs.
Dans Scilab on peut presque faire la même chose (mais il faut ranger les
coefficients dans un objet polynôme créé avec la fonction poly, et construire la
fonction de transfert avec syslin) et il y a moins de fonctions intégrées.

Fonctionnalité Matlab Scilab

Appliquer un filtre filter(B,A,X) filter(num,den,x)


Voir la réponse en fréquence freqz(B,A,X) bode(sl)*
Voir la réponse impulsionnelle impz(B,A) csim*
Racines d’un polynôme roots(B) roots(P)
Diagramme pôles-zéros zplane(B,A) plzr(sl)

*
C’est moins pratique, vous aurez besoin de Google !

46 M1 RI Traitement du Signal 13/10/2014


Filtrage numérique Transformée en Z Filtres récursifs Application

Exemple : le filtre passe-tout

z −1 − b̄
H(z) =
1 − bz −1

Justifiez par le calcul l’appellation “passe-tout” de ce filtre.


Choisir une valeur b et le vérifier avec Scilab en observant sa
réponse en fréquence.
Appliquer le filtre passe-tout au signal phrase.wav et écouter
le résultat.
À quoi peut bien servir un filtre passe-tout ?

47 M1 RI Traitement du Signal 13/10/2014

Vous aimerez peut-être aussi