Vous êtes sur la page 1sur 27
Traitement de signal, Filtrage ENSIL ELT 2 ième année Résumé de cours 5. Filtrage Numérique
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
Résumé de cours
5.
Filtrage Numérique
5.1. Introduction
- Quelques avantages et inconvénients des filtres numériques
- Ils sont programmables en changeant uniquement des variables et non pas le circuit.
- On peut avoir des structures adaptatives, ce qui les rend très attractifs dans un certain
nombre d'applications comme l'égaliseur de canal.
- La simulation se fait de manière exacte sur l'ordinateur.
- Pas de dégradation avec le temps et la température (2*2=4 il fait chaud ou froid, jour
ou nuit !!!)
- La fréquence d'opération est constamment en progrès à l'aide des circuits de plus en
plus rapides.
- Mais à ne pas utiliser à haute puissance
- Donne des circuits complexes même pour des filtres simples
- Plus de consommation électrique
- Le système numérique remplaçant le système analogique
Système
x(t)
y(t)
analogique
H
a (p)
Système
y(t)
x(t)
Filtre anti-
CNA
numérique
CAN
repliement
Bloqueur
H(z)
Le bloqueur en sortie du système peut être remplacé par un bloc interpolateur. Dans les
pluparts des cas, la fonction de transfert de ce bloc modifie légèrement la fonction de
transfert du système global. On peut cependant, en tenir compte et le récompenser dans la
synthèse de H(z) du système numérique.
La question est que nous connaissons le gabarit du filtre analogique et que nous cherchons un
H(z) à remplacer dans le circuit ci-dessus pour finalement satisfaire le gabarit analogique.
Pour pouvoir remplacer le système analogique par numérique, il faut échantillonner le signal
au rythme supérieur à celui de Shannon. C'est à dire que le signal à l'entrée du convertisseur
CAN doit être limité en fréquence :
-
f
e
X
(
j
)
0
pour
>
2
2
Par convention, nous prendrons pour la fréquence analogique et pour désigner la
fréquence numérique dans l’intervalle (- , ).
Dans un premier temps, on calcule le gabarit du filtre numérique à partir du gabarit du filtre
analogique. C’est une transformation linéaire en fréquence pour transformer l’intervalle (-f e /2,
f e /2) dans l’intervalle (- , ) :
f
f
e
e
(
,
)
(
,
)
2
2
C’est un résultat de la théorie d’échantillonnage. Les propriétés suivantes en découlent :
Vahid Meghdadi
1
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année ∑ j est périodique : X
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
j
est périodique : X e
j
j
+
2
k
X
(
e
)
(
)
=
X
(
e
)
k
Z
f
1
e
j
Si
H
(
j
)
0
pour
>
2
, on aura :
H
(
e
) =
H
(
j
)
a
a
2
T
T
e
e
f
1
• + 2
k
e
j
Si
H
(
j
)
π
0
pour
>
2
on
aura :
H
(
e
) =
H
(
j
)
.
a
a
2
T
T
e
k
= •
e
C’est l’effet de recouvrement du spectre ou aliasing.
Conclusion : nous avons un gabarit analogique donné.
Suivant la fréquence maximale du signal, on choisit la fréquence d'échantillonnage.
On calcule le gabarit du filtre numérique correspondant.
On calcule le H(z) pour que H(e j ) satisfasse le gabarit.
5.2.
Définitions
P (
z
)
-
La fonction de transfert du filtre H(z) est rationnelle :
H
(
z
)
=
Q (
z
)
M
n
b z
n
Y
(
z
)
n = 0
H
(
z
) =
=
N
-
X
(
z
)
n
1
a z
n
n = 1
y n
(
)
=
a y n
(
1) +
a
y n
(
2) +
+
a
y n
(
N
+ )
b x n
(
+ )
b x n
(
+ 1)
+
b
x n
(
M
)
1
2
N
0
1
M
-
si a n =0 le filtre s’appelle non récursif ou RIF (à Réponse Impulsionnelle Finie)
-
si a n π0 le filtre s’appelle récursif ou RII (à Réponse Impulsionnelle Infinie)
-
Le filtre numérique est stable si les pôles de H(z) sont à l'intérieur du cercle unité.
-
Il est linéaire et invariant dans le temps : la somme de convolution est applicable.
-
Le gabarit d'un filtre numérique H(e j ) est défini comme suit :
5.3.
Filtres à réponse impulsionnelle infinie (RII)
On cherche à calculer un H(z) satisfaisant un gabarit donné. Pour que le filtre soit réalisable, il
faut un certain nombre de conditions.
∑ La fonction de transfert est une fonction rationnelle aux coefficients réels
∑ Les pôles sont tous à l'intérieur du cercle unité
Une méthode pour calculer le H(z) à partir du gabarit numérique consiste à transformer ce
gabarit en un gabarit analogique (moyennant une transformation appropriée), et ensuite,
concevoir le filtre analogique H a (p). On revient dans le domaine numérique en appliquant la
Vahid Meghdadi
2
2009-2010

Traitement de signal, Filtrage

 

ENSIL

ELT 2 ième année

transformation inverse. Suivant la transformation utilisée, on obtient des caractéristiques différentes. Nous allons étudier les méthodes suivantes :

Invariance impulsionnelle (impulse invariance)

 

Approximation de dérivée (Backward difference)

Approximation de l'intégral / transformation bilinéaire

 
 

5.3.1.

Invariance impulsionnelle (impulse invariance)

 

Si nous disposons de H a (p) du filtre analogique, nous connaissons donc la réponse impulsionnelle du filtre h a (t). Cette méthode consiste à échantillonner h a (t) pour obtenir la réponse impulsionnelle du filtre numérique h(n)

 

h(n)

=

Th (nT )

 

a

où T est la période d'échantillonnage. Noter que le h(n) est normalisé en utilisant le coefficient

T

devant h a (nT) pour conserver le gain du filtre. H(z) est immédiatement calculé à partir de

h(n).

 

La question est : quelle est la relation entre H(e j ) et H a (j ) ? Rappelant le théorème d'échantillonnage, on peut écrire :

 

H

(

e

j

)

=

+ 2

H

a

(

j

k =

T

e

 

k

)

En examinant cette équation, il est clair que le filtre numérique garde la même forme que le

filtre analogique à condition que :

H

a

(

j

)

0

pour

/T

ou de manière équivalante

pour

 

f

f

e

/ 2

, où f e est la fréquence d'échantillonnage.

 

On cherche maintenant à trouver une transformation directe de H a (p) en H(z) sans passer par

la

réponse temporelle du filtre.

 

Imaginez par exemple que le filtre analogique défini par la fonction de transfert :

H

(

p

)

=

1

. La réponse impulsionnelle sera donc : e bt u(t). En échantillonnant ce signal, on

p

b

obtient pour la réponse impulsionnelle du filtre numérique : h(n)

=

Th (nT )

=

Te

bTn

u(n)

qui a

T

a

pour transformée en Z :

H

(

z

) =

bT

 

1

 

z En comparant les deux fonctions de transfert, on déduit que le pôle du système analogique à p=b est transformé en z=e bT . Sachant que n'importa quelle fonction rationnelle peut être divisée en somme des éléments du premier ordre, cette conclusion est généralisée pour tous les pôles d'un système.

1

e

Remarque 1 : Un système analogique stable donne un système numérique stable car les pôles dans le demi-plan gauche du plan "p" sont projetés dans le cercle unité du plan "z".

Vahid Meghdadi

 

3

2009-2010

Traitement de signal, Filtrage ENSIL ELT 2 ième année Plan P Plan Z Z=e pT
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
Plan P
Plan Z
Z=e pT
j /T
-j /T
Remarque 2 : L'axe de j dans l'intervalle de (- /T, /T) est projeté sur le cercle unité. Si on
monte encore sur l'axe j
et on dépasse le point /T, l'image sur le plan Z continue à tourner
autour du cercle unité. Ceci est l'effet de repliement dont on a parlé auparavant.
Remarque 3 : Ayant une fonction rationnelle analogique, on la développe en éléments de
premier ordre et ensuite, on utilise la transformation :
1
T
H
(
p
) =
H
(
z
)
=
a
bT
1
Remarque 4 : La commande "impinvar" de matlab, transforme un filtre analogique en
numérique utilisant la méthode invariance impulsionnelle.
p
b
1
e
z
Remarque 5 : Cette méthode ne peut pas être utilisée pour des filtres passe haut et coupe
bande puisque l'effet d'aliasing supprime complètement l'effet de filtrage.
Exercice :
Considérer un filtre analogique Butterworth de second ordre avec la fréquence de coupure
-3dB à 3000 Hz. Utilisant la méthode invariance impulsionnelle, calculer le filtre numérique
résultant si la fréquence d'échantillonnage est égale à 30 KHz.
j
2
/ 2
j
2
/ 2
2
2
c
c
réponse :
H
(
z
) =
+
où c =6000
et
p
=
± j
[
]
1
1
1(2)
1
exp
T p
z
1
exp
[
T p
]
z
2
2
c
s
1
c
s
2
5.3.2.
Approximation de dérivée
Une fonction de transfert en "p" est une équation différentielle dans le temps. En effet :
M
k
d
p
k
N
k
M
k
Y
(
p
)
d
d
k
=
0
H
(
p
) =
=
c
y t
( )
=
d
x
( )
t
N €
k
k
k
k
X
(
p
)
dt
dt
k
∑ p
k =
0
k
=
0
c
k
k
=
0
1
x(n)
1
z
En approximant x'(t) par
x(n 1) , on peut remplacer "p" par
. Ceci est une
T
T
1
z 1
transformation facile à faire et on obtient H(z) en remplaçant "p" par
dans H a (p) :
T
1
H
(
z
)
=
H
(
p
)
1
z
a
p =
T
Remarque 1 : Un système analogique stable donne un système numérique stable car les pôles
dans le demi-plan gauche du plan "p" sont projetés dans un cercle présenté ci-dessous :
Vahid Meghdadi
4
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année Plan P Plan Z Z=1/(1-pT) Remarque
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
Plan P
Plan Z
Z=1/(1-pT)
Remarque 2 : l'axe j n'est pas projeté sur le cercle unité. Ceci signifie que la forme de la
réponse fréquentielle du filtre analogique sera déformée et on ne peut pas deviner la réponse
fréquentielle du filtre numérique. Par contre, on attend par l'intuition, que quand le T est
suffisamment petit, l'approximation devienne exacte. En effet, quand T tend vers zéro, une
grande partie de l'axe j (de -jM à jM où M est un grand réel) est projetée autour du point
z=1. A cet endroit les deux cercles sont tangents. C'est à dire que l'axe j est quasiment
projeté sur le cercle unité. A ce moment là, la réponse fréquentielle du filtre numérique est
quasiment identique à celle du filtre analogique : H (e ) H ( j ) .
j
T
a
Remarque 3 : Déduisant de la remarque 2, cette transformation est utilisée pour les filtres
passe bas et passe bande.
Remarque 4 : Augmenter la fréquence d'échantillonnage n'est pas toujours toléré.
Exercice : Montrer qu'une approximation de dérivée par la relation y (n) y(n +1) y(n)
peut aboutir à des filtres numériques instables.
5.3.3.
approximation de l'intégral / transformation bilinéaire
Cette méthode consiste à approximer l'intégral temporel par son approximation numérique.
Y
(
p
)
d
0
Soit :
H
(
p
) =
=
.
a
X
(
p
)
c p
+
c
1
0
On peut écrire le y(t) en fonction de sa dérivée :
y
( )
t
=
∫ t
y
( )
t
dt
+
y
(
t
)
a
a
a
0
t
0
En remplaçant t par nT et t 0 par (n-1)T, on obtient :
∫ nT
y
(
nT
)
=
y
( )
t dt
+
y
((
n
1)
T
)
a
a
a
(
n
1)
T
Nous n'avons qu'à remplacer l'intégral par son approximation trapézoïdale :
T
y
(
nT
)
=
(
y
(
nT
)
+
y
((
n
1)
T
))
+
y
((
n
1)
T
)
a
a
a
a
2
En utilisant la fonction de transfert du système, on peut écrire :
c
d
0
0
y
(
nT
)
=
y
(
nT
)
+
x
(
nT
)
a
a
a
c
c
1
1
En remplaçant cette équation dans la relation précédente, on obtient :
Vahid Meghdadi
5
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année T  d  [ 0
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
T 
d
[
0
0
y n
(
)
y n
(
1)
]
=
(
 c 1
c
y n
(
)
+
y n
(
1))
+
(
x n
(
)
+
x n
(
1)
)
2
c
1
où x(n) et y(n) sont x a (nT) et y a (nT). Ceci va donner le résultat intéressant ci-dessous :
Y
(
z
)
d
0
H
(
z
) =
=
1
X
(
z
)
2 1
z
c
+ c
1
1
0
T
1 + z
Comparant cette équation avec H a (p), on remarque la transformation nécessaire :
T
1 +
p
2
1
H
(
z
)
=
H
(
p
)
2
1
z
z =
a
p =
T
1
1
p
T
1 + z
2
La question principale : qu'est-ce qui se passe dans le domaine fréquentiel ?
Remplaçant z par e j , on obtient :
j
2
1
e
2
p =
=
j tan(
/ 2)
=
2arctan T
j
T
1 + e
T
2
Le résultat étant purement imaginaire, le cercle unité est projeté sur l'axe j dans le plan "p".
Autre point très intéressant c'est que tout l'axe j est projeté sur un tour du cercle unité. La
courbe ci-dessous présente ce résultat :
T
1
= 2 tan
(
)
2
-
Remarque 1 : Un système analogique stable donne un système numérique stable car les pôles
dans le demi-plan gauche du plan "p" sont projetés dans le cercle unité du plan "z". Ceci est
facilement vérifié par le fait que pour un "p" avec la partie réelle négative, le module de Z est
+
(
T
/ 2)
p
inférieur à 1 car dans l'équation
z =
1 le module de numérateur est inférieur à celui
1
(
T
/ 2)
p
de dénominateur.
Vahid Meghdadi
6
2009-2010

Traitement de signal, Filtrage

 

ENSIL

 

ELT 2 ième année

 

1 (

+

T

/ 2)

p

 

Plan P

z =

1

(

T

/ 2)

p

Plan Z

 
   
   
   
 

Remarque 2 : L'axe j

est projeté sur le cercle unité.

Remarque 3 : Il n'y a pas d'effet d'aliasing car l'axe j unité.

tout entier est projeté sur le cercle

Remarque 4 : Cette méthode peut être utilisée pour tout type de filtre : passe bas, passe bande, passe haut et coupe bande.

Remarque 5 : Dans le domaine fréquentiel c'est une transformation non linéaire d'où une déformation de la réponse fréquentielle est obtenue.

Remarque 6 : En partant d'un gabarit numérique, on peut obtenir un gabarit analogique, concevoir le filtre analogique et ensuite utiliser la transformation bilinéaire afin de calculer H(z).

 
   
 
 

Exemple : Supposons que nous disposons une fonction de transfert

H

a

(

p

)

H

a

(

j

)

est tracé ci-dessous :

 

Vahid Meghdadi

 

7

2009-2010

Traitement de signal, Filtrage

ENSIL

ELT 2 ième année

H ( j ) a -8 -6 -4 -3 -1 1 3 4 6 8
H
(
j
)
a
-8
-6
-4
-3
-1
1
3
4
6
8
Nous allons utiliser la transformation bilinéaire pour transformer en numérique cette
fonction de transfert pour obtenir un H(z) et puis implémenter ce H(z) avec le système
ci-dessous :
CAN
H(z)
CNA
Pour passer
H
p
)
en numérique en utilisant la transformation bilinéaire, nous
a (
pouvons choisir arbitrairement le T : on prend T=1/4. C'est-à-dire que dans
H a (
p
)
, on
remplace le p par
p =
 
T
formule :
= 2arctan
2
  .
1
0.25
3
0.72
4
0.93
6
1.29
8
1.57
j
H
(
e
)
0.25
0.72
0.93
1.29
1.57
3.14
Le H(z) ainsi obtenu est implanté comme présente le système échantillonné ci-dessus.
Le comportement fréquentiel équivalent du système résultant supposant une fréquence
d’échantillonnage à 500 Hz sera donc le suivant :

Vahid Meghdadi

8

2009-2010

2

T

1

1

+

z

z

1

1

. On peut maintenant dessiner le

H

(

e

j

)

utilisant la

Traitement de signal, Filtrage ENSIL ELT 2 ième année H( j ) 19.8 57.1 73.8
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
H( j
)
19.8
57.1
73.8
102.4
125
Exercice 1 : Dans l'approximation bilinéaire, l'intégral est approximé par un trapèze. Suivez
les mêmes démarches pour obtenir une autre transformation en approximant l'intégral par un
rectangle.
x(n-1)T
x(n-1)T
Approximation trapézoïdale
Approximation rectangulaire
Exercice 2 : Soit H a (p) la fonction de transfert d'un système analogique :
p
+
a
H
(
p
)
=
a
2
2
(
p
+
a
)
+
b
Calculer le H(z) d'un système numérique obtenu par
a) la méthode invariance impulsionnelle : h(n)=T.h a (nT)
n
t
b) la méthode invariance indicielle : s(n) = s a (nT) où
s(n)
=
h(k) et
s
(t)
=
h ( )d
a
a
∫ •
k
= •
Exercice 3 : Soit H a (p) un filtre passe bas et H(z)=H a ((z+1)/(z-1)). La bande passante du filtre
numérique est centrée autour de : (choisissez la bonne réponse)
1)
=0 (passe bas)
2)
=
(passe haut)
3)
à une autre fréquence
5.3.4.
Transformation en Fréquence
Comme dans le cas des filtres analogiques, on peut utiliser des transformations pour obtenir, à
partir d’un filtre passe-bas, des filtres passe-bas, passe-bande, passe-haut et coupe-bande.
La transformation utilisée pour transformer un filtre passe bas numérique ressemble à une
transformation bilinéaire. Nous utilisons par convention, z (minuscule) pour le filtre passe bas
d’origine que nous présentons par H
(z), et Z (majuscule) pour le filtre désiré que nous
pb
présenterons par H d (Z). Nous utilisons finalement la fonction G(Z -1 ) pour présenter la
1
(
1
)
1
1
(
1
)
transformation de la variable z :
z
= G Z
. On peut écrire donc :
Z
= G
z
Pour une bonne transformation, il faut que la transformation soit rationnelle pour donner
toujours une fonction de transfert rationnelle, et il faut aussi qu'un filtre causal et stable donne
un filtre causal et stable :
Vahid Meghdadi
9
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année ∑ G(Z -1 ) doit être
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
∑ G(Z -1 ) doit être une fonction rationnelle de Z -1
∑ L'intérieur du cercle unité sur le plan z doit être projeté à l'intérieur du cercle unité sur le
plan Z.
Une forme générale de la fonction G(Z -1 ) qui satisfait les deux conditions ci-dessus est la
suivante :
N
1
Z
a
1
k
G Z
(
)
= ±
1
1
a Z
k =
1
k
Pour avoir la stabilité, il faut que
a
<1
.
k
Utilisons la notation suivante pour présenter la fréquence :
∑ Cercle unité sur le plan Z (filtre obtenu) : Z=e j
∑ Cercle unité sur le plan z (filtre passe-bas de départ) : z=e j
5.3.4.1.
Transformation passe bas - passe bas
1
Z
a
1
La transformation est la plus simple :
z
=
1
1
aZ
j
e
a
j
On peut écrire alors :
e
=
ce qui va donner :
j
1
ae
2
(1
a
)sin
= arctan
2
 2
a
+
(1
+
a
)cos
En pratique, si nous avons un filtre passe bas à la fréquence de coupure p , et que nous
voulons un autre à la fréquence
transformation nécessaire.
p ,
il
suffit de calculer la valeur de
a pour obtenir la
La résolution de l'équation ci-dessus nous donne :
sin((
) / 2)
p
p
a
=
sin((
+
) / 2)
p
p
On peut écrire alors
H
(
Z
)
=
H
(
z
)
d
pb
1
1
1
z
=
(
Z
a
) /(1
aZ
)
Vahid Meghdadi
10
2009-2010

Traitement de signal, Filtrage

ENSIL

ELT 2 ième année

a=0.9 a=0.7 a=0.5 a=0.3 a=0
a=0.9
a=0.7
a=0.5
a=0.3
a=0

en fonction de

pour différentes valeurs de a

Exemple

Le gabarit d'un filtre passe-bas est donné sur la figure ci-dessous. Sachant que le paramètre a

filtre obtenu par la transformation

est

égal

à

0.5,

tracez

le

gabarit

du

z

1

=

(

Z

1

a

) /(1

aZ

1

)

.

|H(e j )|

Z 1 a ) /(1 aZ 1 ) . |H(e j )| 0.2 0.4 En appliquant

0.2

0.4

En appliquant la formule donnée 5.3.4.1, ou utilisant le graphe ci-dessus, on obtient pour a =0.067 et p =0.135.

a=0.5
a=0.5

5.3.4.2. Autres transformations

|H(e j )|

a=0.5 5.3.4.2. Autres transformations |H(e j )| 0.067 0.135 Le tableau ci-dessous résume ces

0.067

0.135

Le tableau ci-dessous résume ces transformations :

Vahid Meghdadi

11

2009-2010

Traitement de signal, Filtrage ENSIL ELT 2 ième année ∑ Exemple pour une transformation passe-bas
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
Exemple pour une transformation passe-bas passe-haut
a=0.9
a=0
a=0
a=0.9
en fonction de
pour différentes valeurs de a=0, 0.3, 0.5, 0.7 et 0.9 pour une
transformation passe-bas passe-haut
Vahid Meghdadi
12
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année ∑ Exemple pour une transformation passe-bas
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
∑ Exemple pour une transformation passe-bas passe-bande. On prend p = /4,
( 2 + 1 )/2= /4,
et
on fait
varier
( 2 - 1 )/2.
On
obtient
donc pour (a,k) les valeurs
suivante : (0.76, 1), (0.72, 2.08), (0.71, 4.2), (0.7, 8.4). On remarque que les basse
fréquences pour le filtre passe-bas sont transformées autour de /4 pour le filtre passe-
bande souhaité.
en fonction de
pour différentes valeurs de (a,k) pour une transformation
passe-bas passe-bande
5.3.5.
Conception des filtres RII assistée par ordinateur
Dans beaucoup de cas pratiques, on s'intéresse d'optimiser directement le filtre numérique car
soit un filtre analogique n'est pas disponible, soit on ne maîtrise pas la conception des filtres
analogiques et surtout quand nous avons un ordinateur équipé des logiciels d'optimisation.
5.3.5.1.
Minimisation d'erreur quadratique moyenne
L'algorithme est simple. Nous avons la réponse fréquentielle idéale, et nous voulons que le
filtre à synthétiser se rapproche le plus possible à cette caractéristique.
Imaginez par exemple la réponse fréquentielle d'un filtre passe bas présentée ci-dessous :
H d (e j )
H(z) peut avoir la forme générale ci-dessous
K
2
1
+ a
z
1 +
b z
k
k
H
(
z
)
=
A
2
1
+ c
z
1 +
d
z
k =
1
k
k
Vahid Meghdadi
13
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année Prenons quelques points sur la réponse
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
Prenons quelques points sur la réponse fréquentielle et essayons donc de minimiser la
fonction de coût présentée ci-dessous :
M
[
j
j
]
2
E
=
H
(
e
i
)
H
(
e
i
)
d
i =
1
Le but est de minimiser la fonction d'erreur en jouant sur les paramètres a k , b k , c k et d k . Ceci
aboutit normalement à 4K équations non linéaires à résoudre.
5.3.5.2.
Least-Square Inverse Design
Cette méthode au contraire de la méthode précédente, aboutit à des équations linéaires. Le
principe de cette méthode est simple. Le filtre est identifié ici, en terme de L premiers
échantillons du filtre recherché : {h d n)} , n=0, 1, 2, …, L-1
Pour une question de simplicité, on ne développe que le cas des filtres ayant la forme
suivante :
b
0
H
(
z
)
=
N
k
1
a
z
k
k = 1
Le problème se réduit maintenant à trouver les a k pour que les L premières valeurs de h(n)
soient les plus proches possibles aux valeurs correspondantes de h d (n). Autrement dit, on
cherche à ce que la sortie du système ci-dessous se rapproche à un delta dirac.
(n)
v(n)
H
d (z)
1/H(z)
En écrivant les équations de différence relatives au schéma ci-dessus, on obtient :
N
H
(
z
)
d
V
(
z
) =
b v n
(
)
=
h
(
n
)
a h
(
n
r
)
0
d
r
d
H
(
z
)
r = 1
b 0 se calcule donc facilement car on va mettre v(n)= (n) : b 0 =h d (0).
On considère maintenant le reste des coefficients. Pour cela, il faut que v(n) soit le plus petit
2
possible pour n>1. L'erreur à minimiser est donc E
=
v n
(
)
. En remplaçant le v(n) par son
n = 1
équivalent et calculer sa dérivée par rapport à a i , on arrive à l'ensemble d'équations ci-
dessous :
N
∑ ∑
a
h
(
n
r
)
h
(
n
i
=
)
h
(
n h
)
(
n
i
)
i=1,2,…,N
r
d
d
d
d
r
=
1
n
=
1
n
=
1
Ceci est un ensemble d'équations linéaires qui donne les coefficients a i .
Vahid Meghdadi
14
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année 5.4. Filtres non-récursif (ou à réponse
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
5.4. Filtres non-récursif (ou à réponse impulsionnelle finie, RIF)
5.4.1.
Introduction
Les filtres à réponse impulsionnelle finie présente une catégorie très importante des filtres
numériques. La fonction de transfert d'un filtre RIF s'écrit :
M
n
H
(
z
)
= ∑
h n z
(
)
n
= 0
Ceci implique qu'un filtre RIF a M+1 pôles à l'origine est toujours stable. Une autre
propriété intéressante des filtres RIF est qu'ils peuvent donner une phase linéaire ce qui le
rend très intéressant pour un grand nombre d'applications pratiques.
5.4.2.
Filtre à phase linéaire
La réponse fréquentielle d'un filtre RIF est la suivante :
M
j
j
n
H
(
e
)
=
h n e
(
)
n
= 0
Si la condition de symétrie est satisfaite : h(n)=h(M-n), la somme ci-dessus peut s'écrire sous
la forme :
M / 2
1
M  
j
M / 2
e
h   M 
 +
2
h
(
n
)cos 
   n
pour M paire
2
2
 
j
n = 0
H
(
e
) =
(
M
1) / 2
M  
j
M / 2
e
2
h
(
n
)cos 
pour M impaire
  n
2
n = 0
Dans cette équation le terme entre les crochets est réel. La phase est donc - M/2, ce qui veut
dire que la phase est linéaire et correspond à un délai de M/2 échantillons :
d
M
=
(
)
=
d
2
Dans beaucoup de cas pratiques, les filtres à phase linéaire sont exigés. De plus, cette
propriété permet une implantation plus facile des filtres RIF. C'est la raison pour laquelle nous
ne considérons que les filtres à phase linéaire.
5.4.3.
Conception des filtres RIF utilisant des fenêtres
L'utilisation des fenêtres est la méthode la plus directe de la conception des filtres RIF.
Imaginer que nous avons à notre disposition la réponse fréquentielle recherchée H d (e j ). En
général, pour des filtres de fréquence, c'est une constante, 1, pour une plage fréquentielle et
zéro pour le reste des fréquences. La réponse temporelle d'un tel filtre peut être calculée en
faisant une transformé de Fourier inverse sur cette réponse fréquentielle :
1
j
j
n
h
(
n
) =
H
e
)
e
d
d (
d
2
Vahid Meghdadi
15
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année Si la durée de h d
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
Si la durée de h d (n) est infinie, une méthode d'obtenir un filtre RIF est de tronquer cette
réponse sur une fenêtre de largeur désirée :
 h
(
n
)
0
n
M
d
h n
(
) =
0
ailleur
Cette troncation est équivalente à une multiplication d'une fonction porte par le h d (n) :
h(n)
=
h (n)w(n)
d
 1
0
n
M
w n
(
) =
0
ailleur
La multiplication dans le temps correspond à une convolution dans le domaine de fréquence :
1
j
j
j (
)
H
(
e
) =
H
(
e
)
W
(
e
)
d
d
2
M
j
(
M
+
1)
1
e
sin(
(
M +
1) / 2)
j
j
n
j
M
/ 2
W
(
e
) =
e
=
= e
.
j
1
e
sin(
/ 2)
n =
0
Le schéma ci-dessous présente graphiquement cette relation.
Ceci signifie que la réponse fréquentielle résultant est la réponse "arrondie" du filtre désiré.
C'est à dire que les discontinuités du filtre idéal sont remplacées par des ondulations autour de
ces sauts. Pour ne pas trop dégrader la réponse idéale, la fenêtre doit avoir un certain nombre
de propriétés. Dans le domaine fréquentiel, il faut qu'il se rapproche à un delta dirac.
Si on augment la taille de la fenêtre, la largeur du lobe principal se réduit, d'où l'effet
d'arrondissement va réduire. Plus la variation de H d (e j ) est important, plus nous avons
besoins d'un W(e j ) pointu ce qui se traduit par une fenêtre plus longue. De l'autre côté, il est
préférable d'avoir un h(n) le plus court possible d'où une petite fenêtre (pour des raisons de
complexité d’implantation). Il y a donc un compromis entre ces deux propriétés
contradictoires.
La figure ci-dessous présente la réponse fréquentielle de w(n) pour différentes valeurs de M.
Il se voit qu'en augmentant le M, la largeur (fréquentielle) du lobe principal diminue.
Vahid Meghdadi
16
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année 1,2 M=7 1 M=15 0,8 M=31
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
1,2
M=7
1
M=15
0,8
M=31
0,6
0,4
0,2
0
-0,25
-0,15
-0,05
0,05
0,15
0,25
f
Il existe autres méthodes de fenêtrage qui, tout en gardant la largeur temporelle de la fenêtre
constante, présente une réponse fréquentielle plus pointue (lobe principal plus mince ou
évanouissement plus important des lobes secondaires). Pour M constant, un lobe principal
plus étroit conduit à un évanouissement moins important.
Un fenêtrage rectangulaire est optimisé dans le sens de la minimisation de l'expression :
1
2
j
j
E =
H
(
e
)
H
(
e
)
d
d
2
La méthode Bartlett consiste à utiliser une fenêtre triangulaire à la place d'une fenêtre
rectangulaire. C'est à dire qu'il pondère la réponse impulsionnelle du filtre idéal tout en
insistant sur les points du milieu. Les méthodes Hanning, Hamming, Blackman et Kaiser
proposent d’autres méthodes de fenêtrage.
Bartelett :
 2 n
M
0
n
M
2
w n
(
) =
2
n
M
 2
n
M
M
2
Hanning :
1 
w n
(
) =
cos   2 n  
1
0
n
M
2
M
Hamming :
w n
(
)
=
0.54
0.46cos   2 n 
0
n
M
M
Blackman :
w n
(
)
=
0.42
0.5cos   2 n 
+
0.08cos   4 n 
0
n
M
M
M
Vahid Meghdadi
17
2009-2010
W(f)

Traitement de signal, Filtrage

ENSIL

ELT 2 ième année

M/2 M
M/2
M

Quelques propriétés des fenêtres ci-dessus sont présentées par le tableau suivant :

Fenêtre

Amplitude du

Largeur du lobe principal

Atténuation minimale de la bande coupée

lobe secondaire

Rectangulaire

-13

4 /(M+1)

-21

Bartelett

-25

8 /M

-25

Hanning

-31

8 /M

-44

Hamming

-41

8 /M

-53

Blackman

-57

12 /M

-74

5.4.3.1. Fenêtrage Kaiser

Parmi les méthodes de fenêtrage existantes, la méthode de Kaiser présente une meilleure flexibilité. C'est la méthode la plus souvent utilisée. C'est la raison pour laquelle, nous la présentons sous un paragraphe séparé plus en détails. La relation mathématique de cette fenêtre est donnée ci-dessous :

[

(1

[(

n

a

) /

a

]

2 ]

I

(

) =

0

0

n

M

 

w n

I

0

[

]

a = M / 2 et I 0 (.) est la fonction de Bessel modifiée du premier espèce et d'ordre zéro. Cette fenêtre a deux paramètres : la taille de la fenêtre M et le paramètre de forme . Les figures ci-dessous présentent l'effet de variation de ces deux paramètres sur la transformée de Fourier et la fenêtre résultant.

Vahid Meghdadi

18

2009-2010

Traitement de signal, Filtrage

 

ENSIL

ELT 2 ième année

Filtrage   ENSIL ELT 2 i è m e année     Ce qui est intéressant
Filtrage   ENSIL ELT 2 i è m e année     Ce qui est intéressant
 
   
 

Ce qui est intéressant dans cette méthode est le fait que Kaiser propose des relations empiriques qui permettent de trouver M et en fonction de gabarit désiré. Prenons le gabarit ci-contre. Supposons que les valeurs de , a et p sont données. On définit

désiré. Prenons le gabarit ci-contre. Supposons que les valeurs de , a et p sont données.

= a -

et

A=-20log 10 . Dans

ce cas

 

p

peut être estimé à l'aide de la relation :

 

0.1102(

A

8.7)

A

>

50

=

0.5842(

A

21)

0.4

+

0.07886(

A

21)

21

A

50

0.0

A <

21

 

La taille de la fenêtre peut être calculée à l'aide de la formule empirique suivante :

 

A

8

M

= 2.285

Ceci rend cette méthode attractive car il n'y a plus d'itération ou d'essai et erreur pour trouver les paramètres de la fenêtre comme c’était le cas d’autres fenêtres. Remarque : en utilisant cette méthode 1 = 2 = .

Exemple : Calculer un filtre numérique pour répondre aux caractéristiques suivantes :

p =0.4 , a =0.6 , 1 =0.01 et 2 =0.001. Solution : =5.653, M=37.

 

Vahid Meghdadi

 

19

2009-2010

Traitement de signal, Filtrage ENSIL ELT 2 ième année 5.4.4. Méthodes assistées par ordinateur Les
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
5.4.4.
Méthodes assistées par ordinateur
Les méthodes de fenêtrage sont les méthodes directes. Leurs comportements autour d'une
discontinuité ne sont pas satisfaisants à cause des ondulations créées autour de ces endroits. Il
existe autres critères d'optimisation par exemple, minimisation de l'erreur maximale, c'est ce
que l'on appelle la méthode minimax.
Les méthodes assistées par ordinateurs sont généralement des méthodes itératives pour
minimiser une fonction de coût à définir.
5.4.4.1.
Echantillonnage en fréquence
Sachant qu'une séquence bornée peut être représentée par sa TFD (Transformée de Fourier
Discrète), on peut écrire :
N
1
j
(2
/
N kn
)
H
(
k
)
=
H
(
z
)
h n e
(
)
k
=
0,1,
,
N
1
) =
z
=
exp(
j
(2
/
N
)
k
n
=
0
H(z) peut s'écrire en fonction de H(k) comme suit :
N
N
1
1
z
H
(
k
)
H
(
z
) =
j
(2
/
N
)
k
1
N
1
e
z
k
=
0
Cette relation est la base de la méthode de synthèse par les échantillons fréquentiels.
Remplaçant z par e j , on obtient :
j
((
N
1) / 2
N
1
e
sin[
N
(
(2
/
N
)
k
) / 2]
j
H
(
e
)
=
H
(
k
)
N
sin[(
(2
/
N
)
k
) / 2]
k
=
0
Cette relation montre un point très important. Si nous avons des échantillons isolés d'une
réponse fréquentielle, nous pouvons en déduire la réponse fréquentielle pour tous les points de
fréquence (rassurez-vous d'avoir bien compris les trois équations ci-dessus).
Une proposition simpliste pour synthétiser un filtre RIF est donc de prendre quelques
échantillons (N plus précisément) sur la réponse fréquentielle du filtre pour former H(k) :
H(k)=H d (e j(2 /N)k ). Ensuite, à l'aide de l'équation ci-dessus, on trace H(e j ). Si cette dernière est
satisfaisante, on calcule H(z) correspondant.
Les figures ci-dessous montrent un exemple de cette technique.
Vahid Meghdadi
20
2009-2010

Traitement de signal, Filtrage

ENSIL

ELT 2 ième année

Si par exemple l'atténuation dans la bande coupée n'est pas satisfaisante, on peut élargir la bande de transition. Plus la discontinuité est graduelle, plus l'atténuation dans la bande coupée peut être importante. On laisse alors un point intermédiaire entre 1 et zéro : mettons H 1 =0.5. On obtient alors les figures ci-dessous :

H 1 =0.5. On obtient alors les figures ci-dessous : On remarque l'amélioration apportée dans la
H 1 =0.5. On obtient alors les figures ci-dessous : On remarque l'amélioration apportée dans la

On remarque l'amélioration apportée dans la bande coupée au prix d'avoir un filtre moins sélectif. On peut aller plus loin et essayer d'optimiser la valeur de H 1 pour obtenir l'atténuation maximale. Cette valeur se trouvant par itération est égale à 0.3904. La figure ci-dessous présente la réponse fréquentielle résultante.

 
 

On peut obtenir encore plus d'atténuation dans la bande coupée en élargissant encore la bande de transition. Nous prenons cette fois-ci, 2 échantillons non nuls dans la bande de transition à optimiser : H 1 et H 2 . Les valeurs optimisées sont H 1 =0.5886 et H 2 =0.1065. On obtient alors les figures ci-dessous :

H 2 =0.1065. On obtient alors les figures ci-dessous : Dans cette méthode, on fixe d'abord

Dans cette méthode, on fixe d'abord la valeur de N, on sélection les échantillons fixe, et ensuite une série d'échantillons en variables d'optimisation. Si le gabarit recherché n'est pas satisfait, on augmente la valeur de N et on re-itère cet algorithme.

5.4.4.2.

Approximation equi-ondulation

On remarque que l'approche utilisée dans le paragraphe 5.4.3 donne une erreur d'approximation maximale autour de la bande de transition mais une erreur "trop" bonne

Vahid Meghdadi

21

2009-2010

Traitement de signal, Filtrage ENSIL ELT 2 ième année quand on s'éloigne de cette bande.
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
quand on s'éloigne de cette bande. Par intuition, on se pose la question si on pouvait obtenir
une erreur constante répartie en fréquence, on aurait obtenu un filtre plus court. Ceci est
vérifié par la suite.
Nous considérons uniquement le cas des filtres à phase linéaire :
M
j
j
n
H
(
e
)
=
h n e
(
)
, et que h(n)=h(-n). on obtient alors :
n
=
M
M
j
H
(
e
)
=
h
(0)
+
2
h n
(
)cos(
n
)
n =
1
Le gabarit à satisfaire est présenté ci-contre :
Pour un problème d'optimisation, nous avons donc un
certain nombre de variable à faire varier pour
minimiser une fonction de coût. Les variables sont 1 ,
2 , p , a , et M. Normalement, on fixe un certain
nombre de ces variables et on optimise le reste. Par
exemple, Parks et McClellan proposent un algorithme
dans lequel M, p et a sont fixes et on optimise 1 et
2 . On fixe aussi le
rapport K= 1 / 2 . Ainsi, la seule
variable à optimisée est le 2 .
Avant d'expliquer leur méthode, nous définition le théorème d'alternance :
Une condition nécessaire et suffisante pour que H(e j ) soit unique et le meilleur
approximation au sens Chebyshev d'une fonction donnée H d (e j ) sur un sous-ensemble
compact F de l'intervalle [0, ], est que la fonction d'erreur E( ) présente au moins
M+2 fréquences extrémales sur F. C'est à dire qu'il existe M+2 fréquence ( 0 , 1 , …,
M+1 ) telles que E( i )=-E( i-1 )=max|E( )| avec 0
1 2 … < M+1 et i est dans
F.
Ce théorème peut être compris plus facilement en regardant le schéma ci-dessous tracé pour
un filtre passe bas.
M=7
La fonction d'erreur est définie comme la suivante :
Vahid Meghdadi
22
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année j j où E( ) est
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
j
j
où E( ) est évaluée sur la bande passante et la bande coupée, et W( ) est une fonction de
poids. Pour le gabarit présenté précédemment :
E
(
)
=W
(
)[
H
(
e
)
H
(
e
)]
d
1
0
1/
K
0
j
p
p
H
(
e
)
=
et W (
) =
d
0
1
a
a
La fonction de coût à minimiser est |E( )| qui est équivalent à minimiser 2 .
La fonction H(e j ) peut avoir M-1 maximum et minimum dans l'intervalle (0, ). Nous avons
en plus, H(e j p )=1- 1 , H(e j a )= 2 . La fonction de coût atteint aussi sa valeur maximale en
=0 et = . C'est à dire qu'en M+3 points, la courbe d'erreur atteint sa valeur maximale.
L'algorithme commence par une première estimation des i , i=0, 1, …, M+1. N'oublions pas
que ces valeurs sont dans l'intervalle (0, p ] et [ a , ) et que p et a constituent deux i
consécutifs. Si cette estimation (des i ) était exacte, la fonction d'erreur pour ces fréquences
serait égale (au signe près) :
M
j
i
W
(
)[
H
(
e
i
)
h
(0)
2
h ( n
) cos(
n
)]
=
(
1)
i
=
0,1,
,
M
+
1
i
d
i
n
=
1
Nous avons donc à résoudre cet ensemble de M+2 équations. Les inconnus sont les h(n) et le
. Une fois les inconnus sont calculés, on calcule maintenant les maximums et les miniums de
la fonction résultant. Ces valeurs seront les nouvelles valeurs de i (voir la figure ci-dessous)
et l'algorithme se répète jusqu'à ce que les nouvelles valeurs s'approchent suffisamment aux
fréquences estimées dans l'itération précédente. Ce qui signifie d'une itération à l'autre, on
s'approche à la solution optimisée.
Une fois le filtre est optimisé, la valeur de 2 est fixe et si cette valeur n'est pas suffisante, on
augment la valeur de M et on ré-optimise le filtre. Il existe quand même une formule
empirique qui estime la taille du filtre (2M+1). Ceci se fait à partir du gabarit du filtre
numérique recherché :
1
f
e
N
=
(2
M
+
1)
=
2 log
e
10
3
10
f
1
2
où f e est la fréquence d'échantillonnage et f est la largeur de la bande de transition.
Vahid Meghdadi
23
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année 5.5. La réalisation des filtres RIF
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
5.5.
La réalisation des filtres RIF
Une fois que les coefficients du filtre, h(n), sont calculés, il suffit d'évaluer la convolution de
l'entrée du filtre avec la réponse impulsionnelle, h(n), du filtre :
N
1
y n
(
)
=
h i
( )
x n
(
i
)
i
=
0
x(n)
-1
-1
-1
-1
z
z
z
z
h(0)
h(1)
h(2)
h(3)
h(N-1)
y(n)
Pour un filtre à phase linéaire, on peut utiliser la symétrie des coefficients pour réduire la
complexité du système :
-1
-1
-1
z
z
z
-1
-1
-1
z
z
z
x(n
h((N-1)/2)
h(0)
h(1)
h((N-3)/2)
y(n
N impaire
5.6.
Structure des filtres RII
Une fois que la fonction de transfert d'un filtre est calculée, il ne reste qu'à réaliser cette
fonction. Tous systèmes avec une fonction de transfert rationnelle peuvent être réalisés avec
des éléments élémentaires suivants : additionneur, multiplicateur et délai. Puisque la réponse
impulsionnelle d'un filtre RII n'est pas bornée, une somme de convolution n'est pas réalisable.
Exemple :
Pour
voir
comment
on
peut
réaliser
une
équation
de
différence,
considérer l'équation
b
suivante : H z
(
) =
.
Ce H(z) n'a
que des
1
2
1
a z
a
z
1
2
pôles.
L'équation aux différences s'écrit alors :
y n
(
)
= bx n
(
)
+ a y n
(
1)
+ a
y n
(
2)
1
2
Cette équation se réalise avec le système ci-contre.
Nous considérons maintenant le cas général d'un filtre RII. C'est à dire le cas où le système
possède des pôles et des zéros. Soit
Vahid Meghdadi
24
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année M k ∑ b z k
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
M
k
b
z
k
k
=
0
H
(
z
)
=
N
k
1
a
z
k
k
=
1
L'équation aux différences s'écrit alors :
N
M
y(n)
=
a y(n
k)
+
b x(n
k)
k
k
k
=
1
k
=
Une réalisation de cette équation est donnée ci-dessous (la forme directe I) :
On regardant la structure de la forme directe I, on remarque la mis en série de deux structures.
Celle qui réalise les zéros de la fonction de transfert et celle qui réalise les pôles. Puisque l'on
peut changer l'ordre des systèmes linéaire, la structure ci-dessus peut être présentée comme la
suivante (la forme directe II) :
Une autre méthode de réalisation des systèmes discrets est de transformer la fonction de
transfert en produit des fractions de deuxième ordre :
K
2
1 +
z
1 +
z
1 k
2
k
H
(
z
) =
A
2
1
z
1 z
k
=
1
1 k
2
k
Vahid Meghdadi
25
2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 ième année Cette relation se réalise par la
Traitement de signal, Filtrage
ENSIL
ELT 2 ième année
Cette relation se réalise par la structure ci-dessous appelée la forme en cascade.
On peut aussi présenter une fonction de transfert avec une somme des éléments de deuxième
ordre. Dans ce cas H(z) s'écrit :
M
N
1
+
z
k
H
(
z
) =
c
z
+
0
k
1
k
k
2
z
La structure correspondant sera donc (la structure en parallèle) :
1 +
1
+
z
k
=
0
k
=
1
1
k
2
k
5.7. Théorie de la Transposition
Le théorème de transposition dit que l'on peut inverser, dans un système discret donné, le sens
de tous les signaux et inter changer l'entrée et la sortie. La fonction de transfert résultant est
identique au système initial. Suivant cette loi, on peut transformer les structures présentées ci-
dessus pour obtenir de nouvelles structures. Par exemple la forme transposée directe I sera
celle de la figure ci-dessous.
Vahid Meghdadi
26
2009-2010

Traitement de signal, Filtrage

ENSIL

ELT 2 ième année

Traitement de signal, Filtrage ENSIL ELT 2 i è m e année Vahid Meghdadi 27 2009-2010
Traitement de signal, Filtrage ENSIL ELT 2 i è m e année Vahid Meghdadi 27 2009-2010

Vahid Meghdadi

27

2009-2010