Filtres Numériques
Linéarité :
Invariance temporelle : )
(n
x
SLIT discrety (n )
)
1
( n
x y
1( n )
)
2
( n
x y
2( n )
) ( )
(
2 21
1
x n α x n
α + α
1y
1( n ) + α
2y
2( n )
) (n
x y (n )
) ( n − τ
x y ( n − τ )
Principe de
superposition
Stationarité Ce sont des Systèmes Linéaires Invariants dans le Temps discrets :
Convolution discrète
Réponse impulsionnelle :
Un signal numérique peut être exprimé comme une somme d'impulsions :
En vertu de la linéarité et de l'invariance temporelle :
Cette opération s'appelle la convolution discrète :
)
δ (n
SLIT Discreth (n )
∑ −
= ( ) ( ) )
( n x k n k
x δ
) ( )
( )
( n x n h n
y = ∗
∑ −
= ( ) ( ) )
( n x k h n k
y
Le Systèmes Linéaires Invariants dans le Temps discrets sont régis par
Convolution continue discrète
∫
−+∞∞ −=
∗
= x t h t h u x t u du t
y( ) ( ) ( ) ( ) ( )
Ce sont des Systèmes à temps discrets :
∑
+∞−∞
=
−
=
=
n
N t h n t nTe
h t
h( ) ( ) ( )δ( )
Traitant des signaux à temps discrets :
∑
+∞−∞
=
−
=
=
n
N t x n t nTe
x t
x( ) ( ) ( )δ( )
∫
−+∞∞∑ ∑
+∞−∞
= +∞
−∞
=
−
−
−
= h k u kTe x l t u lTe du t
y
l k
) (
) ( )
( ) ( )
( δ δ
∑ ∑
+∞∫
−∞
=
+∞
−∞
= − +
+∞
∞
− − − −
=
k l
Te l k t
du lTe u
t kTe u
l x k h t
y
4 4 4 4
4 3
4 4 4 4
4 2
1
) ) ( (
) (
) (
) ( ) ( )
(
δ
δ δ
l'opération de convolution continue :
k n l l k n
posons = + ⇒ = −
4 4 4 3 4
4 4 2 1
4 4 3 4
4 2 1
) ( )
(
) (
) ( )
( ) (
) ( )
(
t y n
n
n y k
nTe t
n y nTe
t k n x k h t
y
∑ ∑ ∑
+∞−∞
= +∞
−∞
=
+∞
−∞
=
−
=
−
−
= δ δ
∑
+∞−∞
=
−
=
k
k n x k h n
y( ) ( ) ( ) ) ( )
( )
(t δ t δ t
δ ∗ =
Réponse en fréquence
∑
+∞−∞
=
−
=
k
k n x k h n
y( ) ( ) ( )
Si alors :x(n) = ej2πfnTe 14243 4
4 4 3 4
4 4 2
1 ( )
2
) (
2 )
(
2 ( )
) ( )
(
n x
fnTe j
f H k
fkTe j
k
Te k n f
j h k e e
e k h n
y π π π
=
=
∑ ∑
+∞−∞
= +∞ −
−∞
=
−
SLIT Discret
fnTe
ej2π H( f )⋅ej2πfnTe
∑
+∞−∞
=
= − k
fkTe
e j
k h f
H( ) ( ) 2π
Les signaux de la forme sont les seuls pour lesquels ce
phénomène est observé. Ce sont les fonctions propres des systèmes linéaires invariants dans le temps.
eαnTe
Fonction filtrage
Il est ainsi possible de créer des filtres passe-bas, passe-haut, passe- bande, réjecteur, etc …
Exemple de synthèse d'un filtre RIF passe-bas ( )
∑
−=
= 1 − 0
) 2
( )
(
N
n
fnTe
e j
n h f
H π
Voir la fonction "sptool" de Matlab
Bande de transition
Gabarit
Bande affaiblie Bande passante
) ( f H
δ2
0 1+δ1
1−δ1
1
f1 f2
2 Fe f
∆f
6 c Fe
F =
78 n
=79 N
39 )
(n h
0
Filtrage
∑ −
=
k
k n x k h n
y ( ) ( ) ( )
) (n
x h (n ) y (n )
Le filtrage d'un signal consiste en sa convolution par la réponse impulsionnelle du filtre :
Exemple :
n 0
Remarque : Le signal de sortie est déphasé diagramme de Bode
) (n y
) (n x
Fe f2=0.3
Fe f1=0.03
2 Fe
Diagramme de Bode
0
0 1
f
2
0 Fe f
) ( f H
f dB
H( )
−60
4 Fe
2 Fe f
4 Fe
π
− π +
) ϕ( f
Exemple pour un filtre récursif
Filtrage dans le domaine fréquentiel
df e
f X n
x ( ) = ∫
−+∞∞( )
j2πfnTeConvolution par
) (n
x y(n)
df e
f H f X n
y
j fnTef Y
∫
−+∞∞=
2π) (
) ( ) ( )
( 1 42 43
) (n h
) ( f X
) ( f H
Multiplication par
) ( f Y
TF TF -1
) ( ) ( )
( f X f H f
Y = ⋅
Résolution théorique, traitement d'images, traitement par blocs, …
Comme leur nom l'indique, leur réponse impulsionnelle est finie ; c'est-à-dire nulle en dehors d'un intervalle borné : par exemple dans le cas d'un filtre causal :
Filtres à Réponse Impulsionnelle Finie (RIF)
∑
∑
−= +∞
−∞
=
−
=
−
= 1
0
) (
) ( )
( ) ( )
(
N
k k
k n x k h k
n x k h n
y
)
δ (n
RIFh (n )
−1
N n
n 0 0
{
L 0 L 0 1(04) 44(14) 2L44(4431) 0 L 0 L}
) (
termes N
N h h
h n
h = −
L'opération de convolution requière N multiplication-accumulations et elle est généralement mise en œuvre telle qu'elle dans le processeur de traitement.
Représentation
∑
−=
−
=
1
0
) (
) ( )
(
N
k
k n x k h n
y
{
(0) (1) ( 1)}
)
( = −
↑
N h h
h n
h L
) (n x
) (n y
Te Te Te L Te Te
+ ) 1 ( h
+ ) 2 ( h
+ ) 3 ( h
+ +
) 1 (N− h )
0 (
h L
L
) 1 (n−N + x
Filtre à phase linéaire
Ces filtres présentent une réponse impulsionnelle symétrique :
M
) 3 ( )
2 (
) 2 ( )
1 (
) 1 ( )
0 (
−
=
−
=
−
=
N h h
N h h
N h h
0 5 . 0
78 n )
(n h
( ) ( )
( ( ) )
4 4 4 4
4 3
4 4 4 4
4 2
1 43 42 1
) ( 1
0
2 2 1
1
0
2 2
2 1
0
2
2 2 2 1
2 1 2
1 2
1
2 cos 2 ) ( )
( )
( )
(
f R n
N e
Te f j n
Te n f j Te n f j Te
f j N
n
fnTe j
N
f j
N N
N N
N
Te n f
n h e
e e
n h e
e n h f
H
∑ ∑ ∑
−=
− −
−
=
−
−
− +
− −
=
− = −
+
=
= − − − − π
α
π π
π π π
N pair :
N impair :
( ) ( )
( ( ) )
4 4 4 4 4 4
4 3
4 4 4 4 4 4
4 2
1 43 42 1
1
0
2 1 2
2 1 1
0
2 2
2
2 1 2
1 2
2 1 1
2 1 2
1 2
1 ( ) ( ) ( ) ( )2cos 2
) (
n
N N
e Te f j n
Te n f j Te n f N j
Te f j
N
f j
N N
N N
N h h n e e e h h n f nTe
e f
H
− +
=
+
+
=
∑ ∑
−=
−
− −
−
=
−
−
−
− +
−
−
−
−
−
−
− π
α
π π
π π
π π −
−
π +
Exemple de filtre à phase linéaire
{
0.0537 0 -0.0916 0 0.3131 0.5 0.3131 0 -0.0916 0 0.0537}
)
(n = ↑
h
( ) ( ) ( )
( 444444444444442444444444444443)
431 42 1
) ( 5
2 0.5 0.3131 2cos 2 0.0916 2cos 6 0.0537 2cos10 )
(
f e R
Te f
j fTe fTe fTe
e f H
f j
π π
π
α
π + × − × + ×
= −
1
π +
0 f
) ( f R
α f
0 f
0 f
) ϕ( f
R(f) et phase linéaire Diagramme de Bode : Module et argument
f 1
) ( f H
0
) ( )
(f R f
H =
) 0 ) ( quand ( )
(f =α f ±π R f <
ϕ
(
e±jπ = −1)
Phase linéaire = Retard
{
0.0537 0 -0.0916 0 0.3131 0.5 0.3131 0 -0.0916 0 0.0537}
)
(n = ↑
h
( ) ( ) ( )
(1444444444444442444444444444443)
43 42 1
) 5 (
de retard
5
2 0.5 0.3131 2cos 2 0.0916 2cos 6 0.0537 2cos10 )
(
f Te R
Te f
j fTe fTe fTe
e f
H = − π + × π − × π + × π
ft
e
j2π 123) (
2 2
) ( 2
f H
f j ft
j t
f
j e e
e π −τ = π × − πτ
τ
) (n
x 5 Te
y(n)) ( f R
Un retard se traduit par un déphasage linéaire
Phase linéaire
⇔
Retard pur) (n y
Phase linéaire = Retard
{
0.0537 0 -0.0916 0 0.3131 0.5 0.3131 0 -0.0916 0 0.0537}
)
(n = ↑
h
( ) ( ) ( )
(1444444444444442444444444444443)
43 42 1
) 5 (
de retard
5
2 0.5 0.3131 2cos 2 0.0916 2cos 6 0.0537 2cos10 )
(
f Te R
Te f
j fTe fTe fTe
e f
H = − π + × π − × π + × π
) ( n
x h( n) y( n)
0 n
) (n x
0 n
0 t
) (t x
0 t
0 f
2 Fe 2
−Fe
) ( f X
2 f
Fe 2
−Fe
) ( f Y
0 f
2 Fe 2
−Fe
) ( f X
0
0 f
2 Fe 2
−Fe
) ( f Y
Harmoniques de
5
Te 5
) ( f R
) (t Harmoniques dey
) ( f R
Zoom
Réponse impulsionnelle antisymétrique
( ) ( ) ( ) ( ) ( )
(1444444444444444444444442444444444444444444444443)
43 42 1
) 9 (
de retard
9
2 0.6323 2sin 2 0.1991 2sin 6 0.1049 2sin10 0.0584 2sin14 0.0267 2sin18 )
(
f Te R
Te f
j j fTe fTe fTe fTe fTe
e f
H = − π × π + × π + × π + × π + × π
0 n ) (n h
18 9
=19 N
Déphasage de
2 π
) (n
x τ
y(n)) ( f R
2 π
{
00267 0 00584 0 01049 0 01991 0 06323 0 0.6323 0 01991 0 01049 0 00584 0 00267}
)
(n . . . . . . . . .
h = − − − − −
↑
Filtre de Hilbert
) (n
x τ
xR(n)) (n
h
xI (n)Partie réelle
Partie imaginaire
2 Fe
2 Fe
2 Fe
0 1
π
π
−
2
−π 2 π
) (n h
n f
f
f )
( f
H H(f)dB
−20
−40
−60
{
00267 0 00584 0 01049 0 01991 0 06323 0 0.6323 0 01991 0 01049 0 00584 0 00267}
)
(n . . . . . . . . .
h = − − − − −
↑
Les autres catégories de filtre RIF
Filtres à phase minimale : Filtres dont tous les zéros de la fonction de transfert en Z sont à l'intérieur du cercle unité.
Filtres à phase maximale : Filtres dont tous les zéros de la fonction de transfert en Z sont à l'extérieur du cercle unité.
∑
−=
n
Z
nn h Z
H ( ) ( )
La fonction de transfert en Z est le pendant de la transformée de Laplace pour les systèmes discrets :
Remarque :
( )
=(
=)
=∑ ( )
− =∑
−n
fnTe j
n
fTe n j fTe
j h n e h n e
e Z H f
H 2π ( ) 2π ( ) 2π
Synthèse des filtres RIF
) ( f
H h (n )
∑
−=
n
fnTe
e j
n h f
H( ) ( ) 2π
−1
TF
Déterminer réalisant la fonction de filtrage désiréeh(n) H( f )
On sait que est la Transformée de Fourier de :H( f ) h(n)
h(n) est la Transformée de Fourier Inverse de .H( f )
Mais encore ?
Synthèse des filtres RIF
est périodique. En effet : )
( f H
) ( .
) ( )
( )
(
1 2 2
) (
2 h n e e H f
e n h kFe
f H
n
knFeTe j
fnTe j
n
nTe kFe f
j = =
=
+
∑
− π +∑
− π 1−42π 43La transformation de Fourier adaptée aux fonctions périodiques est la Série de Fourier :
∫
⋅ −= T
t
j dt
e t T x
n
c 1 ( ) 2π Tn )
(
∑
⋅ +=
n
t j Tn
e n c t
x( ) ( ) 2π
Problème : est périodique dans le domaine fréquentiel …H( f ) Série de Fourier Inverse
f
) (n c
T 2T t
−T
) (t x
0
Serie de Fourier Inverse
∫
⋅ −= T
t
j dt
e t T x
n
c 1 ( ) 2π Tn )
(
∑
⋅ +=
n
t j Tn
e n c t
x( ) ( ) 2π
∫
+⋅ +
= Fe
e
f
j df
e f Fe H
n h
fnTe j
Fe n
43 42 1 π
π
2
) 2
1 ( )
(
∑
−⋅ −
=
n e
f j
fnTe j
Fe n
e n h f
H 14243
π
π
2
) 2
( )
(
f
) (n c
T 2T t
−T
) (t x
0
n
) (n h
Fe 2Fe f
−Fe
) ( f H
0
Application
Fe f 2
−Fe
) ( f H
0
∫
−+ += c
c
f f
fnTe
j df
Fe e n
h 1 2π
) (
1
fc
2 +Fe
[ ]
( 44)43
4 4
4 2 1
nTe f j
nTe f j nTe
f j
c
c
c e
nTe e j
n Fe h
π
π
π π
2 sin 2
2 2
2 1 ) 1
( = + − −
( )
nTe f
nTe f
Fe n f
h
c c c
π π 2
2 sin ) 2
( =
∫
⋅ += Fe
fnTe
j df
e f Fe H
n
h 1 ( ) 2π
) (
Problème : n'est pas causal et est de longueur infinie !h(n)
Il est nécessaire de tronquer et retarder …h(n)
n
) (n h
Troncature de
) (t w
Il faut encore rendre causal …
t t
f f
) (n
h h2(n)
) ( f
H H2(f)
) ( f W
) ( ) (t w t h ⋅
) ( )
(f W f
H ∗
)
2(n h
fNTe NTe fNTe
f
W π
π )
) sin(
( =
NTe
NTe 1
) (n h
1
Rendre causal h (n )
n )
2(n
h h3(n)=h2(n−K)
K K
N
0 K N n
2
−1
= N K
) ( ) ( )
( 2
2 n h n x n
y = ∗ y3(n)= h2(n−K)∗x(n)= y2(n−K)
)
2(n
h KTe
) (n
x y2(n) y3(n)
)
ϕ( f f N2 Te
2 −1
− π ϕ3(f)
f f f
f f
f )
( f
H R( f) H3(f)
π
− −π −π
π
+ +π +π
2 Fe
2 Fe
2 Fe
2 Fe
2 Fe
2 Fe
2 Fe
2 Fe 2
Fe
2 Fe 2
Fe
2 Fe
Représentation de Bode
H(f) idéale Représentation
phase linéaire
Phénomène de Gibbs
) ( f H
f
f
n f n n
) ( f H
) ( f H )
(n h
) (n h
) (n h
40 10
150
09 , 0
09 , 0
09 , 0
) ( f
H H( f) H( f)
2 Fe 2
−Fe 2
Fe 2
Fe
2
−Fe 2
−Fe
2
−Fe 2
−Fe 2
−Fe
2 Fe 2 Fe 2 Fe
) (fc−τ1 H
τ
) ( fc
H H( fc+τ1)
Fenêtrage
) ( f H
n f )
(n h
n n
f f
) ( f H
) ( f H
2 Fe 2 Fe 2 Fe
2
−Fe 2
−Fe 2
−Fe
10
40
150 )
(n h
) (n
h Hamming
) ( f W
) ( f W
f dB
W( ) f dB
W( )
f
f
2 Fe 2 Fe
2
−Fe 2
−Fe
Fe 2 2 Fe
−Fe
−Fe
Te 10 Te
−10
) (t w
Te 10 Te
−10
t
t
dB
−20 0
0
dB
−40 dB
−60
dB
−20 dB
−40
−
Hamming
Boxcar
Egaliser les ondulations
Filtres RIF à ondulations réparties (equiripple) Algorithme de Remez
n
f
150 )
(n
h Hamming
) (n h
) (n h
f dB
H( )
n
n
2 Fe
2 Fe
2 Fe 2
−Fe
2
−Fe
2
−Fe
f dB
H( )
f dB
H( )
f
f 10
40
Filtre Equiripple
Voir la fonction "sptool" de Matlab
Fc=Fe/6
f1=Fc-0.01*Fe;
f2=Fc+0.01*Fe;
d1=0.02; d2=0.02;
[N,Fo,Ao,Wo] = firpmord(2*[f1 f2],[1 0],[d1 d2]);
h = firpm(N,Fo,Ao,Wo);
( )
1011 23 10
2
log
ˆ f
δ δN Fe
= ∆
Bande de transition
Gabarit
Bande affaiblie Bande passante
) ( f H
δ2
0 1+δ1
1−δ1
1
f1 f2
2 Fe f
∆f
78 n
=79 N
39 )
(n h
0
93 , ˆ =79
→ N
Filtres à Réponse Impulsionnelle Infinie (RII)
∑
+∞=
−
=
0
) (
) ( )
(
k
k n x k h n
y
Comme leur nom l'indique, leur réponse impulsionnelle est infinie :
L'opération de convolution requière un nombre infini de multiplication-
accumulations et ne peut donc pas être mise en œuvre directement dans le processeur de traitement.
Solution : Systèmes récursifs Exemple :
) (n x
) (n y
+ b Te
) 1 (
) ( )
( n = x n + b ⋅ y n − y
) ( )
( n n
x = δ
y ( n ) h ( n ) { 1 b b
2b
3L b
nL }
=
↑=
Vérifier qu'il s'agit bien d'un SLIT
Équations aux différences
∑
∑
−=
−
=
−
=
− 1
0 1
0
) (
) ( )
( ) (
N
k M
k
k n x k a k
n y k b
Plus généralement, un Système Linéaire Invariant dans le Temps Discret peut être défini par son équation aux différences :
Il s'agit bien d'un système linéaire car :
∑
∑
−=
−
=
−
=
− 1
0
1 1
0
1( ) ( ) ( )
) (
N
k M
k
k n x k a k
n y k b
∑
∑
−=
−
=
−
=
− 1
0
2 1
0
2( ) ( ) ( )
) (
N
k M
k
k n x k a k
n y k b
Alors :
∑ ( ) ∑
−( )
=
−
=
− +
−
=
− +
− 1
0
2 1
1
0
2
1( ) ( ) ( ) ( ) ( )
) (
N
k M
k
k n x k n x k a k
n y k
n y k b Si :
Et si :