Vous êtes sur la page 1sur 27

Traitement de signal, Filtrage ENSIL ELT 2iè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

x(t) Système y(t)


analogique
Ha(p)

Système y(t)
x(t) Filtre anti- numérique CNA
repliement CAN 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 :
fe
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 (-fe/2,
fe/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 2ième année

• X ( e jω )
est périodique : X (e jω ) = X (e jω +2 kπ ) ∀k ∈ Z
f 1 ω
• Si H a ( jΩ) ≈ 0 pour Ω > 2π e , on aura : H (e jω ) = H a ( j )
2 Te Te
fe 1 ∞
ω + 2πk
• Si H a ( jΩ) ≠ 0 pour
2
on aura : H (e jω ) =
Ω > 2π
Te
∑H
k = −∞
a (j
Te
).

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(ejω) satisfasse le gabarit.

5.2. Définitions

P( z )
- La fonction de transfert du filtre H(z) est rationnelle : H ( z ) =
Q( z )
M

Y ( z) ∑b z n
−n

H ( z) = = n=0
N

- X ( z)
1 − ∑ an z −n

n =1

y (n) = a1 y (n − 1) + a2 y (n − 2) + ... + aN y (n − N ) + b0 x(n) + b1 x(n − 1) + ... + bM x(n − M )

- si an =0 le filtre s’appelle non récursif ou RIF (à Réponse Impulsionnelle Finie)


- si an ≠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(ejω) 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 Ha(p). On revient dans le domaine numérique en appliquant la

Vahid Meghdadi 2 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2iè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 Ha(p) du filtre analogique, nous connaissons donc la réponse


impulsionnelle du filtre ha(t). Cette méthode consiste à échantillonner ha(t) pour obtenir la
réponse impulsionnelle du filtre numérique h(n)
h(n) = Tha (nT )
où T est la période d'échantillonnage. Noter que le h(n) est normalisé en utilisant le coefficient
T devant ha(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(ejω) et Ha(jΩ) ? Rappelant le théorème
d'échantillonnage, on peut écrire :

ω + 2πk
H (e jω ) = ∑ H a ( j )
k = −∞ Te
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ù fe est la fréquence d'échantillonnage.
On cherche maintenant à trouver une transformation directe de Ha(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 :
1
H ( p) = . La réponse impulsionnelle sera donc : ebtu(t). En échantillonnant ce signal, on
p −b
obtient pour la réponse impulsionnelle du filtre numérique : h(n) = Tha (nT ) = Te bTn u (n) qui a
T
pour transformée en Z : H ( z ) =
1 − e bT z −1
En comparant les deux fonctions de transfert, on déduit que le pôle du système analogique à
p=b est transformé en z=ebT. 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.

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 2ième année

Plan P Z=epT Plan Z

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 a ( p) = ⇒ H ( z) =
p −b 1 − ebT z −1
Remarque 4 : La commande "impinvar" de matlab, transforme un filtre analogique en
numérique utilisant la méthode invariance impulsionnelle.

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ω c / 2 j 2ω c / 2 2 2
réponse : H ( z ) = + où ωc=6000π et p1( 2 ) = − ±j
1 − exp[ω cTs p1 ]z −1
1 − exp[ω cTs p 2 ]z −1
2 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 :

Y ( p) ∑d k pk N
dk M
dk
H ( p) =
X ( p)
= k =0
N
⇔ ∑ ck dt k
y (t ) = ∑ d k
dt k
x(t )
∑c
k =0
k pk k =0 k =0

x(n) − x(n − 1) 1 − z −1
En approximant x'(t) par , 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 Ha(p) :
T

H ( z ) = H a ( p) −1
1− z
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 2ième année

Plan P Z=1/(1-pT) Plan Z

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 jωT ) ≈ H a ( jΩ) .

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) d0
Soit : H a ( p ) = = .
X ( p ) c1 p + c0
On peut écrire le y(t) en fonction de sa dérivée :
t
y a (t ) = ∫ y a′ (t )dt + y a (t 0 )
t0

En remplaçant t par nT et t0 par (n-1)T, on obtient :


nT
y a (nT ) = ∫ y ′a (t )dt + y a ((n − 1)T )
( n −1) T

Nous n'avons qu'à remplacer l'intégral par son approximation trapézoïdale :

y a (nT ) =
T
( y a′ (nT ) + ya′ ((n − 1)T ) ) + y a ((n − 1)T )
2

En utilisant la fonction de transfert du système, on peut écrire :


−c d
y a′ (nT ) = 0 y a (nT ) + 0 xa (nT )
c1 c1
En remplaçant cette équation dans la relation précédente, on obtient :

Vahid Meghdadi 5 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2ième année

[ y (n) − y (n − 1)] = T  − c0 ( y(n) + y(n − 1)) + d 0 (x(n) + x(n − 1))


 
2  c1 c1 
où x(n) et y(n) sont xa(nT) et ya(nT). Ceci va donner le résultat intéressant ci-dessous :
Y ( z) d0
H ( z) = =
X ( z) 2 1 − z −1
c1 + c0
T 1 + z −1
Comparant cette équation avec Ha(p), on remarque la transformation nécessaire :

T
1+ p
H ( z ) = H a ( p) 2 1 − z −1 z= 2
p= T
T 1 + z −1 1− p
2

La question principale : qu'est-ce qui se passe dans le domaine fréquentiel ?


Remplaçant z par ejω, on obtient :

2 1 − e − jω 2 ΩT
p= = j tan(ω / 2) ω = 2 arctan
T 1 + e − jω 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
ω ω = 2 tan −1 ( )
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
1 + (T / 2) p
inférieur à 1 car dans l'équation z = 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 2ième année

1 + (T / 2) p
Plan P z= Plan Z
1 − (T / 2) p

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Ω tout entier est projeté sur le cercle
unité.

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 ) où


H a ( jΩ) est tracé ci-dessous :

Vahid Meghdadi 7 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2ième année

H a ( jΩ)


-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 a ( p ) en numérique en utilisant la transformation bilinéaire, nous


pouvons choisir arbitrairement le T : on prend T=1/4. C'est-à-dire que dans H a ( p ) , on
2 1 − z −1
remplace le p par p = −1
. On peut maintenant dessiner le H (e jω ) utilisant la
T 1+ z
 ΩT 
formule : ω = 2 arctan  .
 2 
Ω ω
1 0.25
3 0.72
4 0.93
6 1.29
8 1.57

H (e jω )

ω
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


Traitement de signal, Filtrage ENSIL ELT 2iè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 Ha(p) la fonction de transfert d'un système analogique :


p+a
H a ( p) =
( p + a) 2 + b 2
Calculer le H(z) d'un système numérique obtenu par
a) la méthode invariance impulsionnelle : h(n)=T.ha(nT)
n t
b) la méthode invariance indicielle : s(n) = sa(nT) où s (n) = ∑ h(k ) et s
k = −∞
a (t ) = ∫ h a (τ )dτ
−∞

Exercice 3 : Soit Ha(p) un filtre passe bas et H(z)=Ha((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 Hpb(z), et Z (majuscule) pour le filtre désiré que nous
présenterons par Hd(Z). Nous utilisons finalement la fonction G(Z-1) pour présenter la
transformation de la variable z : z −1 = G (Z −1 ) . On peut écrire donc : Z −1 = G −1 (z −1 )

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 2iè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
Z −1 − a k
G ( Z −1 ) = ±∏ −1
k =1 1 − a k Z

Pour avoir la stabilité, il faut que ak < 1 .


Utilisons la notation suivante pour présenter la fréquence :
• Cercle unité sur le plan Z (filtre obtenu) : Z=ejω
• Cercle unité sur le plan z (filtre passe-bas de départ) : z=ejθ

5.3.4.1. Transformation passe bas - passe bas

Z −1 − a
La transformation est la plus simple : z −1 =
1 − aZ −1
− jθ e − jω − a
On peut écrire alors : e = ce qui va donner :
1 − ae − jω
 (1 − a 2 ) sin θ 
ω = arctan  
 2a + (1 + a ) cosθ 
2

En pratique, si nous avons un filtre passe bas à la fréquence de coupure θp, et que nous
voulons un autre à la fréquence ωp, il suffit de calculer la valeur de a pour obtenir la
transformation nécessaire.

La résolution de l'équation ci-dessus nous donne :

sin((θ p − ω p ) / 2)
a=
sin((θ p + ω p ) / 2)

On peut écrire alors H d ( Z ) = H pb ( z )


z −1 = ( Z −1 − a ) /(1 − aZ −1 )

Vahid Meghdadi 10 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2ième année

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
est égal à 0.5, tracez le gabarit du filtre obtenu par la transformation
z −1 = ( Z −1 − a ) /(1 − aZ −1 ) .

|H(ejθ)|

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.

|H(ejω)|

a=0.5

θ
0.067 0.135 π ω

5.3.4.2. Autres transformations

Le tableau ci-dessous résume ces transformations :

Vahid Meghdadi 11 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2iè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 2iè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 :

Hd(ejω)

π
H(z) peut avoir la forme générale ci-dessous

K
1 + a k z −1 + bk z −2
H ( z ) = A∏ −1
k =1 1 + c k z + d k z −2

Vahid Meghdadi 13 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2iè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
E = ∑ H (e jωi ) − H d (e jωi )
2

i =1

Le but est de minimiser la fonction d'erreur en jouant sur les paramètres ak, bk, ck et dk. 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é : {hdn)} , n=0, 1, 2, …, L-1

Pour une question de simplicité, on ne développe que le cas des filtres ayant la forme
suivante :
b0
H ( z) = N
1 − ∑ a k z −k
k =1
Le problème se réduit maintenant à trouver les ak pour que les L premières valeurs de h(n)
soient les plus proches possibles aux valeurs correspondantes de hd(n). Autrement dit, on
cherche à ce que la sortie du système ci-dessous se rapproche à un delta dirac.

δ(n) v(n)
Hd(z) 1/H(z)

En écrivant les équations de différence relatives au schéma ci-dessus, on obtient :


N
H ( z)
V ( z) = d ⇒ b0 v(n) = hd (n) − ∑ a r hd (n − r )
H ( z) r =1

b0 se calcule donc facilement car on va mettre v(n)=δ(n) : b0=hd(0).


On considère maintenant le reste des coefficients. Pour cela, il faut que v(n) soit le plus petit

possible pour n>1. L'erreur à minimiser est donc E = ∑ v(n) 2 . En remplaçant le v(n) par son
n =1
équivalent et calculer sa dérivée par rapport à ai, on arrive à l'ensemble d'équations ci-
dessous :

N ∞ ∞

∑ a ∑ h ( n − r ) h ( n − i ) = ∑ h ( n) h ( n − i )
r =1
r
n =1
d d
n =1
d d i=1,2,…,N

Ceci est un ensemble d'équations linéaires qui donne les coefficients ai.

Vahid Meghdadi 14 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2iè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
H ( z ) = ∑ h ( n) z − n
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
H (e jω ) = ∑ h(n)e − jωn
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 :

 − jωM / 2   M  M / 2−1   M  
e h  + ∑ 2h(n) cos ω  n −   pour M paire
   2  n =0   2  
H (e jω ) = 
e − jωM / 2  M  
( M −1) / 2
 
  ∑ 2h(n) cos ω  n −   pour M impaire
  n =0   2  

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 Hd(ejω). 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 π
hd (n) = ∫π H (e jω )e jωn dω

d

Vahid Meghdadi 15 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2ième année

Si la durée de hd(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
h( n ) =  d
0 ailleur
Cette troncation est équivalente à une multiplication d'une fonction porte par le hd(n) :
h(n) = hd (n) w(n) où
1 0≤n≤M
w(n) = 
0 ailleur
La multiplication dans le temps correspond à une convolution dans le domaine de fréquence :
1 π
H (e jω ) = ∫ H d (e jθ )W (e j (ω −θ ) )dθ
2π −π
M
1− e − jω ( M +1)
sin(ω ( M + 1) / 2)
où W (e jω ) = ∑ e − jωn = = e − jωM / 2 .
n=0 1− e − jω
sin(ω / 2)
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 Hd(ejω) est important, plus nous avons
besoins d'un W(ejω) 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 2ième année

1,2

1 M=7
M=15
0,8 M=31
W(f)

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
E= ∫π H (e jω ) − H (e jω ) dω

d

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 :
 2n M
 0≤n≤
w(n) =  M 2
2n M
2 − ≤n≤M
 M 2
Hanning :
1  2πn 
w(n) = 1 − cos  0≤n≤M
2  M 
Hamming :
 2πn 
w(n) = 0.54 − 0.46 cos  0≤n≤M
 M 
Blackman :
 2πn   4πn 
w(n) = 0.42 − 0.5 cos  + 0.08 cos  0≤n≤M
 M   M 

Vahid Meghdadi 17 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2ième année

M/2 M

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

Amplitude du Largeur du lobe Atténuation minimale


Fenêtre
lobe secondaire principal de la bande coupée
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 :

w(n) =
[ ]
I 0 β (1 − [(n − a ) / a ]2
0≤n≤M
I 0 [β ]
où a = M / 2 et I0(.) 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 2ième année

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
∆ω=ωa-ωp et A=-20log10δ. Dans ce cas β
peut être estimé à l'aide de la relation :

0.1102( A − 8.7) A > 50



β = 0.5842( A − 21) + 0.07886( A − 21) 21 ≤ A ≤ 50
0.4

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 2iè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
H (k ) = H ( z ) z =exp( j ( 2π / N ) k )
= ∑ h(n)e − j ( 2π / N ) kn k = 0,1,..., N − 1
n=0

H(z) peut s'écrire en fonction de H(k) comme suit :

1− z −N N −1
H (k )
H ( z) =
N
∑1− e
k =0
j ( 2π / N ) k
z −1

Cette relation est la base de la méthode de synthèse par les échantillons fréquentiels.
Remplaçant z par ejω, on obtient :

e − jω (( N −1) / 2 N −1 sin[ N (ω − (2π / N )k ) / 2]


H (e jω ) =
N

k =0
H (k )
sin[(ω − (2π / N )k ) / 2]
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)=Hd(ej(2π/N)k). Ensuite, à l'aide de l'équation ci-dessus, on trace H(ejω). 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 2iè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 H1=0.5.
On obtient alors les figures ci-dessous :

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 H1 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 : H1 et H2. Les valeurs optimisées sont H1=0.5886 et H2=0.1065. On obtient alors
les figures ci-dessous :

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 2iè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
H (e jω ) = ∑ h ( n) e
n=− M
− jωn
, et que h(n)=h(-n). on obtient alors :
M
H (e jω ) = h(0) + ∑ 2h(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(ejω) soit unique et le meilleur
approximation au sens Chebyshev d'une fonction donnée Hd(ejω) 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 2ième année

E (ω ) = W (ω )[ H d (e jω ) − H (e 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 :

1 0 ≤ω ≤ωp 1 / K 0 ≤ω ≤ωp
H d (e jω ) =  et W (ω ) = 
0 ωa ≤ ω ≤ π  1 ωa ≤ ω ≤ π

La fonction de coût à minimiser est |E(ω)| qui est équivalent à minimiser δ2.

La fonction H(ejω) peut avoir M-1 maximum et minimum dans l'intervalle (0,π). Nous avons
en plus, H(ejωp)=1-δ1, H(ejω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
W (ω i )[ H d (e jωi ) − h(0) − ∑ 2h(n) cos(ω i n)] = −(−1) i ρ i = 0,1,..., M + 1
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é :

2  1  fe
N e = (2 M + 1) = log10  
3 10δ 1δ 2  ∆f
où fe 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 2iè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)
z-1 z-1 z-1 z-1
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 :

z-1 z-1 z-1

z-1 z-1 z-1


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 − a1 z −1 − a 2 z − 2
pôles.
L'équation aux différences s'écrit alors :
y (n) = bx(n) + a1 y (n − 1) + a 2 y (n − 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 2ième année

∑b z k
−k

H ( z) = k =0
N
1 − ∑ a k z −k
k =1
L'équation aux différences s'écrit alors :

N M
y ( n ) = ∑ a k y ( n − k ) + ∑ bk x ( n − 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
1 + β 1k z −1 + β 2 k z 2
H ( z ) = A∏
k =1 1 − α 1k z − α 2k z 2
−1

Vahid Meghdadi 25 2009-2010


Traitement de signal, Filtrage ENSIL ELT 2iè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
γ 0 k + γ 1k z −1
H ( z ) = ∑ ck z −k + ∑
k =1 1 + α 1k z + α 2k z 2
−1
k =0

La structure correspondant sera donc (la structure en parallèle) :

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 2ième année

Vahid Meghdadi 27 2009-2010

Vous aimerez peut-être aussi