TD3
Correction des exercices
3 Filtrage
Exercice 3.7.1 (Moyenne glissante). On considère le filtre dont la réponse
impulsionnelle vaut
(
1/2 si n = 0 ou 1,
h[n] = (1)
0 sinon.
1. Exprimer la sortie y du filtre en fonction de l’entrée x.
2. Calculer la transformée en z de la réponse impulsionnelle.
3. Calculer la transformée de Laplace du filtre continu équivalent et mon-
trer qu’on retrouve un filtre de Butterworth dont on précisera l’ordre et
la fréquence de coupure.
4. On note h↑ le suréchantillonné de h par insertion de zéros aux indices
impairs (sans filtre). Calculer h↑ ∗ y en fonction de x.
5. En déduire une méthode pour calculer récursivement la moyenne des
2k derniers termes de x. Vérifier qu’on tombe bien sur un filtre de
Savitzky-Golay d’ordre zéro.
Solution:
1. Pour tout n ∈ Z, on a
X x[n] + x[n − 1]
y[n] = h[k]x[n − k] = .
k∈Z
2
2. La transformée en z de la réponse impulsionnelle est
1 + z −1
H(z) = .
2
1
3. On utilise une transformation de Tustin en posant
1 + s∆t/2
z= .
1 − s∆t/2
On en déduit la transformée de Laplace du filtre équivalent :
1 ωc
Hc (s) = = .
1 + s∆t/2 s + ωc
On reconnaı̂t un filtre de Butterworth d’ordre 1 et de pulsation de
coupure ωc = 2/∆t.
4. Pour tout n ∈ Z, on a
X x[n] + x[n − 2]
y[n] = h↑ [k]x[n − k] = .
k∈Z
2
5. Pour tout k ∈ N, on note h↑(k) la fonction définie par :
↑(k) h[k] si n est multiple de 2k ,
h [n] =
0 sinon
Alors, on montre aisément par récurrence que pour tout k ∈ N∗ et pour
tout n ≥ 2k ,
k
2 −1
1 X
x[n − q] = h↑(k−1) ∗ . . . h↑(0) ∗ x[n].
2k q=0
On retrouve bien l’expression d’un filtre de Savitzky-Golay d’ordre 0,
pour lequel la sortie est définie comme étant la solution du problème
de minimisation :
n
X
y[n] = argmina∈R (x[p] − a)2 ,
p=0
donnée par :
n
1X
y[n] = x[p].
n p=0
2
Exercice 3.7.2 (Banc de filtres à reconstruction parfaite). 1. Soient {x[n], n ∈
Z} et {y[n], n ∈ Z} deux signaux discrets dans l’ensemble ℓ1 (Z) des si-
gnaux sommables :
( )
X
ℓ1 (Z) = x[n], n ∈ Z, |x[n]| < ∞ .
n∈Z
On définit le produit de convolution x ∗ y de x par y en posant, pour
tout n ∈ Z : X
x ∗ y[n] = x[m]y[n − m].
m∈Z
On admettra que le signal x ∗ y est bien défini et dans ℓ1 (Z). Montrer
que la transformée de Fourier en temps discret (TFTD) de x[ ∗ y n’est
autre que le produit des TFTDs x b et yb.
2. Soit {x[n], n ∈ Z} un signal discret, dont on suppose qu’il a été échantillonné
avec un pas de temps ∆t qui vérifie le critère de Nyquist. On considère
le signal discret {y[n], n ∈ Z} défini pour tout n ∈ Z par :
y[n] = x[2n].
Montrer que la transformée de Fourier en temps discret (TFTD) yb de
y vérifie, pour tout ω ∈ R,
1
yb(2ω) = (b
x(ω) + x
b(ω + π)) .
2
Donner une interprétation du terme x
b(ω + π).
3. Soit {x[n], n ∈ Z} un signal discret. On considère le signal discret
{y[n], n ∈ Z} défini pour tout n ∈ Z par :
y[n] = x[p] si n = 2p
y[n] =
0 sinon.
Calculer la TFTD du signal y.
Une manière classique d’encoder un signal s consiste à séparer ses com-
posantes de hautes et de basses fréquences en filtrant ce dernier par un filtre
passe-haut h et un filtre passe-bas g, puis à sous-échantillonner d’un facteur 2
les deux signaux obtenus afin d’obtenir un signal d contenant les variations à
hautes fréquences (les ”détails”) du signal d’origine et un signal a contenant
les variations à basses fréquences (”l’approximation”) du signal d’origine :
∀n ∈ Z, a[n] = s ∗ g[2n], d[n] = s ∗ h[2n].
3
Figure 1 – Décomposition et reconstruction du signal.
On reconstruit ensuite le signal d’origine en sur-échantillonnant a et d par
insertion de zéros et en filtrant les signaux obtenus par deux nouveaux filtres
gr et hr . On note r le signal reconstruit :
ˇ
r[n] = gr ∗ ǎ[n] + hr ∗ d[n],
où le signal x̌ est défini par
x[p] si n = 2p
x̌[n] =
0 sinon.
4. Exprimer la TFTD du signal reconstruit en fonction des TFTDs sb du
signal d’origines et des TFTDs des filtres h, g, hr , gr .
5. Déterminer une condition suffisante portant sur les TFTDs des filtres
hr et gr pour qu’il soit possible de reconstruire exactement le signal
d’origine, i.e pour que r = s.
Solution:
1. Pour tout ω ∈ R, on a, par définition de la TFTD :
XX
x[∗ y(ω) = x[m]y[n − m]e−inω .
n∈Z m∈Z
Considérons la fonction g : Z×Z 7→ R définie pour tout couple (n, m) ∈
Z × Z par
g[n, m] = x[m]y[n − m]e−inω .
Comme x, y ∈ ℓ1 (Z), on vérifie :
XX X
|g[n, m]| = |x[m]|∥y∥ℓ1 = ∥x∥ℓ1 ∥y∥ℓ1 .
m∈Z n∈Z m∈Z
4
La fonction g est donc sommable sur Z × Z. D’après le théorème de
Fubini, il est donc licite d’intervertir l’ordre des sommations dans le
calcul de la TFTD. Par conséquent :
XX
∗ y(ω) =
x[ x[m]y[n − m]e−inω
m∈Z n∈Z
XX
= x[m]y[n]e−inω e−imω
m∈Z n∈Z
= x
b(ω)b
y (ω).
2. Par définition de la TFTD, on a
X
yb(2ω) = y[n]e−i2ωn
n∈Z
X
= x[2n]e−i2ωn
n∈Z
1X
= (x[n] + (−1)n x[n]) e−iωn
2 n∈Z
1
= (x(ω) + x(ω + π)) .
2
La transformée de Fourier du signal continu yc (t) = xc (2t) est donnée
pour tout ω ∈ R par
1
ybc (2ω) = xbc (ω).
2
Le terme x b(ω + π) qui apparaı̂t dans l’expression de la TFTD de y est
un terme d’aliasing qui découle du sous-échantillonnage appliqué au
signal x original (voir exercice 2.4.11).
3. Par définition, on a
X X
yb(ω) = y[n]e−inω = x[p]e−i2pω = x
b(2ω).
n∈Z p∈Z
4. Pour tout ω ∈ R, on a, en utilisant le résultat démontré dans la question
2,
1 b
a(2ω) =
b h(ω)bs(ω) + bh(ω + π)b
s(ω + π) ,
2
et
1
d(2ω)
b = (b g (ω)b
s(ω) + gb(ω + π)b
s(ω + π)) .
2
Par ailleurs, on vérifie également que ∀ω ∈ R,
rb(ω) = b
a(2ω)hbr (ω) + d(2ω)
b gbr (ω).
5
On en déduit :
1 b
rb(ω) = h(ω)bs(ω) + h(ω + π)b
b s(ω + π) hbr (ω)
2
1
+ (b g (ω)b
s(ω) + gb(ω + π)b
s(ω + π)) gbr (ω),
2
soit encore
1 b
rb(ω) = h(ω)hr (ω) + gb(ω)hr (ω) sb(ω)
b b
2
1 b
+ h(ω + π)hr (ω) + gb(ω + π)gbr (ω) sb(ω + π).
b
2
5. Une condition suffisante pour que le banc de filtre parvienne à parfai-
tement reconstruire le signal d’origine est d’avoir :
h(ω)hbr (ω) + gb(ω)gbr (ω) = 2,
b h(ω + π)hbr (ω) + gb(ω + π)gbr (ω) = 0.
b
Lorsque ces deux relations sont vérifiées, les TFTDs des filtres de re-
construction sont liées à celles des filtres de décomposition par la rela-
tion matricielle :
!
h(ω)
b gb(ω) hbr (ω) 2
= .
h(ω + π) gb(ω + π)
b gbr (ω) 0
La matrice est inversible si et seulement si
∆(ω) = b g (ω + π) − b
h(ω)b g (ω) ̸= 0.
h(ω + π)b
Dans ce cas, on a
hbr (ω) 2 gb(ω + π)
= .
gbr (ω) h(ω + π)
∆(ω) b
□
Exercice 3.7.3 (Filtre de Butterworth d’ordre 2). On rappelle que la fonc-
tion de transfert d’un filtre de Butterworth d’ordre N et de pulsation de
coupure wc est donnée par
N
Y 1 (2k + N − 1)iπ
HN (s) = s−sk , sk = ωc exp , k = 1, ..., N (2)
k=1 ωc
2N
1. Donner l’expression de cette fonction de transfert H2 dans le cas N = 2.
6
2. Montrer que cette fonction de transfert se met sous la forme
a b
H2 (s) = + (3)
s − s1 s − s2
avec a, b ∈ iR.
3. En déduire une expression similaire pour la fonction de transfert dans
le domaine de Fourier.
4. Pour a ∈ C avec ℜ(a) < 0 donner la transformée de Fourier de la
fonction
f (t) = eat 1[0,+∞] (t) (4)
5. En déduire la réponse impulsionnelle du filtre de Butterworth d’ordre
2.
6. On rappelle que la transformée de Tustin permet d’obtenir un filtre dis-
cret à partir de la fonction de transfert d’un filtre discret en choisissant
2 1 − z −1
Hd (z) = Hc (5)
∆t 1 + z −1
où ∆t est le pas d’échantillonnage, Hc la fonction de transfert du
filtre continu et Hd celle du filtre discret. Déduire de cette formule une
implémentation √ d’un filtre de Butterworth du 2e ordre de pulsation de
coupure ωc = 2 2/∆t rad/s, discretisé à un pas de temps ∆t sous
forme d’une équation aux différences.
7. Donner les 3 premiers termes non nuls de la réponse impulsionnelle du
filtre discret.
Solution:
1. On a :
ωc2
H2 (s) = ,
(s − s1 )(s − s2 )
3π 3π
avec s1 = ωc ei 4 et s2 = ωc e−i 4 . On note qu’en développant le dénominateur,
on trouve l’expression :
√
(s − s1 )(s − s2 ) = s2 + 2ωc s + ωc2 .
2. En effectuant une décomposition en éléments simples de H2 , on trouve
aisément :
iωc 1 1
H2 (s) = √ − .
2 s − s2 s − s1
7
3. On obtient la fonction de transfert dans le domaine de Fourier en
évaluant la fonction de transfert en s = iω :
iωc 1 1
H2 (ω) = √ − .
2 iω − s2 iω − s1
4. En revenant à la définition de la transformée de Fourier, comme t 7→
f (t) est dans L1 (R), on trouve, pour tout réel ω :
Z +∞
1
f (ω) =
b eat e−iωt dt = .
0 iω − a
5. La fonction de transfert du filtre dans le domaine de Fourier correspond
à la transformée de Fourier de la réponse impulsionnelle. Par ailleurs,
on a ℜ(s1 ) < 0 et ℜ(s2 ) < 0. Par conséquent, d’après le théorème d’in-
version dans L1 (R) et en utilisant le résultat de la question précédente,
la fonction de transfert dans le domaine de Fourier du filtre est la trans-
formée de Fourier de la fonction :
iωc
t 7→ √ (es2 t − es1 t )1[0,+∞] (t),
2
qui correspond donc à l’expression de la réponse impulsionnelle dans le
domaine temporel.
6. La fonction de transfert continue est donnée par :
ω2
Hc (s) = √ c .
s2 + 2ωc s + ωc2
La transformation de Tustin fait correspondre à la pulsation ω du filtre
continu la pulsation Ω du filtre discret telle que :
2 Ω
ω= tan .
∆t 2
2 Ωc
4 Posons donc ωc = tan , et appliquons la transformée de
∆t 2
Tustin au filtre, pour trouver :
2
Ωc
tan
2
Hd (z) = 2 2 .
1 − z −1 √ 1 − z −1
Ωc Ωc
−1
+ 2 tan −1
+ tan
1+z 2 1+z 2
8
√
Ωc
En posant tan = 2 on obtient finalement :
2
2 1 + 2z −1 + z −2
Hd (z) = ,
5 1 + 25 z −1 + 15 z −2
qui correspond à l’équation aux différences finies :
2 1 2 4 2
y[n] + y[n − 1] + y[n − 2] = x[n] + x[n − 1] + x[n − 2].
5 5 5 5 5
7. Pour calculer la réponse impulsionnelle, on cherche à exprimer la trans-
formée de z du filtre sous la forme d’une série entière. On a :
n
1 X
n 2 −1 1 −2 2 1
2 −1 1 −2 = (−1) z + z = 1− z −1 − z −2 +. . .
1 + 5z + 5z n≥0
5 5 5 25
On en déduit :
2 8 −1 4 −2
Hd (z) = 1 + z + z + ... .
5 5 25
Les trois premiers termes de la réponse impulsionnelle du filtre sont
donc :
2 16 8
, ,
5 25 125
□