Académique Documents
Professionnel Documents
Culture Documents
Pierre Le Bars
(avec la collaboration de Francis Gary)
lebars@moniut.univ-bpclermont.fr
FILTRAGE NUMERIQUE
Deuxième partie : synthèse des filtres numériques
Mis à part quelques cas simples (par exemple filtre à « moyenne glissante » défini par
1 N −1
la récurrence y(n) = .∑ x(n − k) ), la synthèse directe des filtres numériques n’est pas
N k=0
aisée. Les méthodes de synthèse les plus utilisées s’appuient sur les propriétés (bien
connues !...) des filtres analogiques.
On part d’un filtre analogique « prototype » de fonction de transfert G anal (p) ayant les
propriétés souhaitées, puis on cherche le filtre numérique de fonction de transfert H Num (z)
ayant sensiblement les mêmes propriétés :
• même réponse impulsionnelle
• même réponse indicielle
f f
• même réponse harmonique sur l’intervalle − E ; E (Shannon !)
2 2
• ...
= a k .e 2
. e
+ e 2
p − j. P .ω.TE
= 2.a k .cos − k .ω.TE .e 2
2
∈\
p P
− j. .ω.TE
(si a k = − a P − k , on obtient 2.j.a k .sin − k .ω.TE .e 2
)
2
1
On aura alors :
P
P
− j. .ω.TE 2
p
H( j.ω) = e 2
. ∑ 2.a k .cos − k .ω.TE
k=0
2
S
D’où :
P
Arg [ H( j.ω) ] = − .TE .ω ( + π ) (le terme + π intervient si S < 0)
2
On obtient un filtre dont la phase varie linéairement en fonction de ω. Un tel
P
déphasage est équivalent à un retard τ = .TE .
2
π P
(si a k = − a P − k : Arg [ H( j.ω) ] = − .TE .ω ( + π ) . La conclusion est la même).
2 2
Or, on a vu que pour un filtre RIF : a k = h(k) , où h(n) est la réponse impulsionnelle
du filtre. Le problème se ramène donc à la détermination de la réponse impulsionnelle h(n) du
filtre numérique.
Deux cas peuvent se présenter :
• on sait calculer la réponse impulsionnelle g(t) du filtre analogique
prototype (technique de l’échantillonnage temporel)
• on ne sait pas calculer g(t), mais on connaît l’allure de la réponse en
fréquence du filtre analogique prototype. G anal ( j.ω) est connu, ou au moins
un gabarit (technique de l’échantillonnage en fréquence).
On travaillera sur un exemple pour mettre en œuvre ces deux techniques : on cherche à
F
réaliser sous forme numérique un filtre passe-bas idéal de fréquence de coupure FC = E (voir
10
TP). G anal
f
- FE/2 -FC FC FE/2
2
-3- Echantillonnage temporel (invariance impulsionnelle)
∫ δ(t).e
− j.2 π.f .t
δ(t)
Fourier
→ ∆ (f ) = .dt = 1
−∞
1 si − FC < f < FC
Filtrage
→ G(f ) = G anal (f ).∆ (f ) =
0 si f ∉ [ − Fc ; FC ]
+∞
∫ G(f ).e
j.2 π.f .t
Fourier Inverse
→ g(t) = .df
−∞
+ FC
∫e
j.2 π.f .t
= .df
− FC
3
Synthèse d’un filtre passe-bas « idéal » (FC = FE/10) : échantillonnage temporel
g(t)
Filtre analogique :
réponse impulsionnelle g(t)
sin ( 2π.FC .t )
g(t) = 2.FC .
t
2π.FC .t
h(n)
Echantillonnage de la réponse
impulsionnelle :
h(n) = TE .g(n.TE )
n
w
1 Fenêtre w(t) ou w(n).
(limitation du nombre d’échantillons)
h(n)
Réponse impulsionnelle limitée à un
nombre fini d’échantillons :
h(n).w(n)
h(n)
Décalage
(filtre causal, c’est à dire réalisable
physiquement)
4
-4- Echantillonnage en fréquence
ω
H(k) = G anal j.k. E
N
où N est le nombre d’échantillons. En reprenant le même exemple que précédemment
N = 17, H(0) = H(−1) = H(1) = 1 et H(2) = H(−2) = ... = H(8) = H(−8) = 0
On peut en déduire, par transformation de Fourier discrète (TFD), les valeurs de la
réponse impulsionnelle :
2.π
1 N/2 j. .k.n
h(n) = . ∑ H(k).e N
N k = − N/2
Dans notre cas :
1 2.π
− j. .n j. .n
2.π
1 2.π
h(n) = . 1 + e 17 + e 17 = . 1 + 2.cos .n avec − 8 ≤ n ≤ 8
17 17 17
Enfin, pour rendre ce filtre réalisable physiquement, on translate cette réponse
impulsionnelle de 8 échantillons. L’ensemble de ces opérations est résumé page suivante.
La figure ci-dessous indique la réponse en fréquence de chaque filtre.
1
Filtre idéal analogique
Echantillonnage temporel
Echantillonnage en fréquence
0.8
|G Num(j.ω )|
0.6
0.4
Echantillons H(k)
0.2
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f/FE
5
Synthèse d’un filtre passe-bas « idéal » (FC = FE/10) : échantillonnage en fréquence
G anal
Réponse en fréquence du filtre
analogique prototype
G anal ( j.ω)
H(k)
Echantillonnage en fréquence :
ω
H(k) = G anal j.k. E
N
h(n) Décalage
(filtre réalisable physiquement)
6
-5- Amélioration : notion de fenêtre
k 0 1 2 3 4 5 6 7 8
h(k) -0.0378 -0.0432 -0.0312 0 0.0468 0.1009 0.1514 0.1871 0.2000
h’(k) -0.0033 -0.0064 -0.0082 0 0.0272 0.0752 0.1332 0.1813 0.2000
k 9 10 11 12 13 14 15 16
h(k) 0.1871 0.1514 0.1009 0.0468 0 -0.0312 -0.0432 -0.0378
h’(k) 0.1813 0.1332 0.0752 0.0272 0 -0.0082 -0.0064 -0.0033
La figure ci-contre
1
Filtre analogique permet de comparer
les deux résultats :
0.8
fenêtre rectangulaire fenêtre rectangulaire
et fenêtre de
fenêtre de Hamming Hamming
|H Num(j.ω )|
0.6
0.4
0.2
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f/FE
7
-6- Intérêts et limites des filtres RIF
Il existe de nombreuses méthodes de synthèse des filtres RII, suivant le critère qu’on
s’impose :
• réponse temporelle imposée.
* réponse impulsionnelle → méthode d’invariance impulsionnelle
* réponse indicielle → méthode d’invariance indicielle (cette méthode a été
utilisée pour réaliser en TP AU le PID numérique, la consigne étant souvent
un échelon)
• simulation numérique d’une équation différentielle
* méthode d’Euler
* méthode des trapèzes
• réponse en fréquence imposée : transformation bilinéaire
Pour illustrer ces méthodes, on cherchera à réaliser un filtre numérique à partir d’un
1
filtre analogique prototype de fonction de transfert G anal (p) = , avec τ = TE
1 + τ.p
(système déjà pris comme exemple dans la première partie)
τ
T 1
Transformée en Z
→ H(z) = E .
τ T
− E
1 − e τ .z − 1
1
Remarque : Ganal(p) possède un pôle (valeur de p rendant Ganal(p) infini) : p = −
τ
TE
−
H(z) possède un pôle : z = e τ
= eTE .p , où p est le pôle de Ganal(p).
8
-3- Invariance indicielle
1 1 1
G anal (p) = ⇒ Y(p) = G anal (p).Γ(p) = .
1 + τ.p p 1 + τ.p
−
t
Laplace
→ y(t) = 1 − e τ .γ (t)
−
n.TE
Echantillonnage
→ y(n) = 1 − e τ .u(n)
1 1 1
Transformée en Z
→ Y(z) = −1
− = H(z).U(z) = H(z).
1− z −
TE
−1 1 − z−1
1 − e .zτ
9
En résumé :
dx x(n) − x(n − 1)
Equation temporelle : y = Récurrence : y(n) =
dt TE
1 − z− 1
Transformée de Laplace : Y(p) = p.X(p) Transformée en z : Y(z) = .X(z)
TE
1 − z −1
G anal (p) p= H Num (z)
TE
1 − z−1
On passe de Ganal(p) à HNum(z) en remplaçant p par .
TE
Exemple :
1 − z −1
1 p= 1 1 1
G anal (p) = TE
→ H Num (z) = = .
1 + τ.p 1− z −1
τ τ
1 + τ. 1+
TE TE TE
1− .z − 1
τ
1+
TE
Remarques
1. On a fait le parallèle transformée de Laplace - transformée en Z en utilisant
l’identité : z = eTE .p .
1 − z−1
Si TE .p 1:1 − z −1 = 1 − e − TE .p ≈ 1 − (1 − TE .p ) = TE .p soit p = . La
TE
méthode d’Euler est une approximation au premier ordre de l’identité
z = eTE .p . On conçoit facilement que cette approximation est grossière pour
les dérivées seconde, troisième …Il faut que x(t) varie « peu » sur une
période d’échantillonnage.
1
2. Considérons un intégrateur analogique : G anal (p) = . Son équivalent
p
1 TE
numérique par la méthode d’Euler est : H Num (z) = −1
= . En
1− z 1 − z− 1
TE
revenant à la récurrence : y(n) − y(n − 1) = TE .x(n) .
x
y(1)
(si y(0)=0)
y(2) - y(1) Méthode d’Euler
=
approximation d’une
y(n) - y(n - 1)
intégrale par une somme de
Darboux
t
0 TE 2.TE… (n-1).TE n.TE
10
-5- Méthode des trapèzes
2 1 − z− 1
p= .
TE 1 + z − 1
x(n) + x(n − 1) TE 1 + z − 1
Récurrence : y(n) − y(n − 1) = TE .
Transformée en Z
→ H Num (z) = .
2 2 1 − z−1
2 1 − z− 1
On passe de Ganal(p) à HNum(z) par la transformation p = .
TE 1 + z − 1
Exemple :
1 2 1 − z−1
G anal (p) = ⇒ H Num (z) = G anal p = .
1 + τ.p TE 1 + z − 1
1
=
2 1 − z− 1
1 + τ. .
TE 1 + z − 1
1 1 + z− 1
= .
τ τ
1 + 2. 2. − 1
TE TE
1− .z − 1
τ
2. + 1
TE
11
Remarques
T .p
1+ E
2 1 − z−1 2 ≈ 1 + T .p + 1 . ( T .p )2 + 1 . ( T .p )3 .
1. p = . ⇒ z= E E E
TE 1 + z −1
T .p 2 4
1− E
2
1 1
L’identité z = eTE .p donne : z ≈ 1 + TE .p + . ( TE .p ) + . ( TE .p ) . La
2 3
2 3!
méthode des trapèzes est une approximation au deuxième ordre de la
relation z = eTE .p , alors que la méthode d’Euler n’est valable qu’au premier
ordre.
2. Considérons un dérivateur analogique ;
dx
y= Laplace
→ G anal (p) = p
dt
⇒
2 1 − z− 1 y(n) + y(n − 1) x(n) − x(n − 1)
H Num (z) = . −1
Tranformée en Z
→ =
TE 1 + z inverse
2 TE
Les figures des pages suivantes permettent de comparer les réponses impulsionnelles,
indicielles et harmoniques des 4 filtres numériques . Pour τ = TE :
1
• Invariance impulsionnelle : H(z) =
1 − 0,36788.z − 1
0, 63212.z − 1
• Invariance indicielle : H(z) =
1 − 0,36788.z − 1
1 1
• Méthode d’Euler : H(z) = .
2 1 − 1 .z − 1
2
1 1 + z− 1
• Méthode des trapèzes : H(z) = .
3 1 − 1 .z − 1
3
12
REPONSES IMPULSIONNELLES
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
REPONSES INDICIELLES
Invariance impulsionnelle Invariance indicielle
1.5 1
0.8
1
0.6
0.4
0.5
0.2
0 0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
0 0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
13
REPONSES HARMONIQUES
0.5
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f/FE
Arguments
0
-45
-90
-135
-180
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
f/FE
2 1 − z −1 2 1 − e − j.ωN .TE
p= . ⇔ j.ωA = .
TE 1 + z −1 TE 1 + e − j.ωN .TE
14
Avant tout calcul, on peut remarquer que :
ωA → 0 ⇒ e − j.ωN .TE → 1 ⇒ ωN → 0
ωE
ωA → ∞ ⇒ e − j.ωN .TE → − 1 ⇒ ωN .TE → π ⇒ ωN →
2
Autrement dit, toute la gamme des fréquences analogiques ( de 0 à l’ ∞ ) est ramenée sur la
F
gamme des fréquences numériques (de 0 à E ) : on évite ainsi les problèmes de repliement de
2
spectre.
Correspondance :
− j.ωN . E j.ωN . E − j.ωN . E
T T T
e . e − e T
− j.ωN .TE
2
2 2
2.j.sin ωN . E
2 1− e 2 = 2. 2
j.ωA = . − j.ωN .TE
= .
TE 1 + e TE − j.ωN . j.ωN .
TE TE
− j.ωN .
TE
TE 2.cos ω . TE
e 2
. e 2
+e 2
N
2
T T T T
⇒ ωA . E = tan ωN . E ⇔ ωN . E =arctan ωA . E
2 2 2 2
TE π
(l’utilisation de la fonction arctan ne pose ici aucun problème, car ωN . ∈ 0; )
2 2
La figure ci-dessous indique la construction permettant de passer de la réponse en
fréquence du filtre analogique à la réponse en fréquence du filtre numérique.
H Num ( j.ωN )
ωA
2 T
ωN = .arctan ωA . E
TE 2
ωE/2
ωN
15
7.2. Exemple
On veut réaliser un filtre numérique de pulsation de coupure :
1 1
ωCN = =
τ TE
1
Comment choisir le filtre prototype de fonction de transfert G anal (p) = ?
p
1+
ωCA
Autrement dit, comment choisir ωCA ?
Pour tenir compte de la « distorsion » de l’axe des fréquences, on choisira :
2 ω .T 2 1
ωCA = .tan CN E = .tan
TE 2 TE 2
puis on applique la transformation bilinéaire :
1 1
G anal (p) = ⇒ H Num (z) = −1
T 1 2 1 − z TE 1
1 + p. E . 1+ . . .
2 1 TE 1 + z − 1
2 1
tan tan
2 2
1
tan
2 . 1 + z− 1
⇒ H Num (z) =
1 1
1 + tan 1 − tan
2 1− 2 .z −1
1
1 + tan
2
La réponse en fréquence est représentée ci-dessous
|G(j.ω)|et |H(j.ω)|
0
-2
-3 dB
-4
H(z) obtenue par transformation bilinéaire
-6
-8
-10 -1 0
10 10 1
ω.T
E
G(p) =
Arg[G(j. ω)] et Arg[H(j.ω)]
1 + TE .p
0
-20
-40
- 45°
-60
-80 -1 0
10 10
ω.T
E
16