MASTER1-FILS
UPB
Le Filtrage des
Signaux Num riques
Andrei Doncescu
Filtres Lin aires
Fonction de Transfert
Filtres Analogiques Passives
4 types de filtres - Ideal
Passe-bas lowpass
Passe-haut highpass
Bande passante bandpass Filtre rejecteur bandstop
Filtres Analogiques Passives
Le Cas R el :
lowpass
highpass
bandpass
bandstop
Syst mes lin aires
"/ Les syst mes lin aires sont caract ris s compl tement par
leur r ponse une impulsion unit
Specification (anglais)
Frequency-Selection function
Passing
Stopping
Pass-Band
Low-Pass
High-Pass
Band-Pass
Band-Stop
Band-Reject
Passband ripple
Ripple bandwidth
Filter Specification
Filtres
"/ Analogique : se divisent en
passives et actives en
fonction de la partie
hardware utilis : RLC ou
A.O.
"/ Num riques : Impl ment s
en utilisant une structure
num rique : DSP,
microprocesseur permettant
de calculer la convolution,
la FFT
Filtre Passe-Bas Passif et
Analogique
VI
+
_
R
C
+
VO
_
Low pass filter circuit
OV jw
)
(
V jw
)
(
i
=
R
1
jwC
1
jwC
+
=
1
jwRC
1
+
Filtre Passe-Bas Passif et
Analogique
0 dB
.
-3 dB
Bode
1/RC
1
x
0.707
Lineair
0
1/RC
Filtre Passe-Haut Analogique
Passif
+
_
Vi
C
R
+
VO
_
En anglais
High Pass Filter
(
OV jw
)
V jw
)
(
i
=
R
1
jwC
R
+
=
jwRC
+
jwRC
1
Filtre Passe-Haut
High Pass Filter
0 dB
Bode
1
0.707
Lineair
. -3 dB
1/RC
1/RC
x
.
0
1/RC
Filtre Passe-Bande Passif
Vi
+
_
C
L
R
+
VO
_
( )
V s
O
V s
( )
i
=
2
s
+
s
R
L
R
s
L
+
1
LC
Filtre Passe-Bande Passif
0 dB
-3 dB
1
0.707
0
.
l
o
.
l
o
.
hi
.
Bode
Lineair
hi
Filtre Passif et Analogique
B ode D iagrams
F rom : U(1)
-3 dB
0
-5 dB
-5
)
B
d
(
e
d
u
t
i
n
g
a
M
;
)
g
e
d
(
e
s
a
h
P
-10
-15
100
50
0
-50
-100
)
1
(
Y
:
o
T
2
10
3
10
4
10
Frequency (rad/sec)
Filtre Passe-Bande
Exemple Matlab
N = 10; %order butterworth ordre 10
= buttap(N);
numzb = poly( );
denpb = poly( );
wo = 600; bw = 200; % wo freq centrale
% bw bandwidth
= lp2bs(numzb,denpb,wo,bw);
w = 1:1:1200;
Hbbs = freqs(numbbs,denbbs,w);
Hb = abs(Hbbs);
plot(w,Hb)
grid
xlabel('Amplitude')
ylabel('frequency (rad/sec)')
title('10th order Butterworth filter')
Butterworth
Filtre Rejecteur
Exemple
num = [1 0 300000];
den = [1 3100 300000];
w = 1 : 5 : 10000;
Bode(num,den,w)
Filtre Rejecteur
Exemple
Bode
Matlab
Filtre Passe-Bas Actif
C
Rfb
Rin
+
Vin
_
+
VO
_
Filtre Passe-Haut Actif
Rfb
C
Rin
+
Vin
_
+
VO
_
Filtre Passe-Bande Actif
R1
C1
R1
C2
R2
Rfb
R2
Ri
+
Vin
_
+
VO
_
Filtre Rejecteur
C1
R1
R2
Ri
R1
C2
Vin
+
_
Rfb
+
VO
_
La Transform e en z
Lien avec la Transform e de
Laplace
"/ Pour p= +2 jf, lamortissement et f=fr quence
x(n)
npTee
nZ
=
nZ
n
x(n)z
Plan des {z}
{
Tz x(n)
{
} = TL x(n)
} z=e pt =
Plan de Laplace
2 jf
0
Plan Transform e en Z
p
2 +=
j
f
f
(
k
1
2
)
f
e
(,
k
+
1
2
)
f
et
e
<
0
z
=
tee
j
2
eTf
Plan des p
2 jf
fe/2
0
-fe/2
fe/2
-fe/2
Plan des {z}
fe/4
-fe/4
Repr sentation par la
Transform e en z
"/ D finition
On appelle transform e en z bilat rale dune suite {x(n)}, la
somme Xb(z) d finie par :
Xb(z) = Tzb =
zn
x(n)
nZ
Remarque :
On peut consid rer la transform e monolat rale:
Xb(z) = Tzb x(n)
{
} =
zn
x(n)
n=0
Propri t s
"/ Lin arit
nw
)(
=
nax
)(
zWnby
)(
= +
)(
zaX
)(
+
zbY
)(
"/ Shift (retard ou avance)
nnx
(
)
n
zXz
)(
0
0
"
Inversion dans le temps
nx
(
zX
(
Publicité
1
)
)
Attention au domaine de convergence
Propri t s
"/ Multiplication par une exponentielle
nxn
)(
X
"/ Convolution
(
1 z
)
nhnxny
)(
)(
)(
=
zHzXzY
)(
)(
)(
=
"/ La transform e en z na pas de sens que si lon pr cise le domaine de
convergence
Le domaine de convergence dun signal causal est un ????
Syst mes lin aires invariants
"/ D finition
kLx
)(
=
ky
)(
kkLx
(
)
=
0
kky
(
)
0
Signaux D terministes
"/ Dans un contexte de logique c bl e ou programm e, il est
imm diat de cr er certains signaux d terministe:
nx
)(
=
rect
N
n
)(
nx
)(
triang
=
n
)(
N
"/ Par contre il est moins facile de cr er des signaux plus labor s
comme par exemple:
y(n)
=
a
exp
(
e
)
cos
02
nT f
(
e
) u(n)
Syst mes discrets
"/ Un syst me est discret lorsque toutes les
grandeurs variables du syst me sont des
signaux discrets.
"/ La r ponse du syst me ne d pend pas
uniquement des signaux discrets dentr e
mais aussi de l tat interne du syst me, donc
nous avons une relation de r currence
Syst mes discrets
"/ Si le syst me est lin aire et invariant dans le
temps nous avons l quation de type
r currence :
N
M
0
=
n
(
nkyb
)
=
n
m
(
mkxa
)
m
0
=
Exemple (limportance des conditions initiales)
1)1(
=
1)0(
ay
=
x
)0(
)0(
)1(
)1(
ay
a
y
y
x
ky
0)(
k
0
<=
)(
tukx
)(
=
=
1)2(
=
y
ky
)(
=
=
aa
ay
1)1(
+=
)
(1
a
1
a
+
ku
)(
1
+
k
2
Relation de r currence et
transform e en z monolat rale
"/ Consid rons la relation de r currence:
ny
)(
+
nyb
(
1
)1
+
nyb
(
2
0)2
=
b1 et b2 ctes
"/ La Transform e en z est :
{
Y
+
)(
z
=
yb
)1(
1
yb
+
1
)2(
zb
+
1
1
2
} {
+
zb
+
2
2
yb
}
)1(
z
2
1
La Transform e en z Inverse
"/ Bas e sur lint grale de Cauchy
"/ M thode didentification par inspection
/ D composition en fractions simples
/ Identification de la s rie g om trique
Exemple: Calculer la transform e z inverse de :
( )
zX
=
1
1
2
1
z
1
z
>
1
2
[ ]
nx
=
n
1
2
[ ]nu
[ ]
n
nua
Z
1
az
1
1
z
>
a
35
Transform e en z inverse
"/ Supposons que la TZ se pr sente sous la forme :
( )
zX
M
0k
=
= N
0k
=
k
zb
k
k
za
k
"/ D veloppement en fractions simple :
( )
zX
=
NM
0r
=
r
zB
r
+
N
ik,1k
`
=
k
A
zd1
k
s
+
1m
=
1
C
m
(
zd1
i
m1
)
"/ Le premier terme existe si M>N
/ Br est obtenu par division longue
"/ Le deuxi me terme repr sente le p les simples
"/ Le troisi me terme repr sente les p les multiples
"/ Chaque terme permet dobtenir le TZ inverse par identification
36
D veloppement en Fraction
( )
zX
=
NM
0r
=
r
zB
r
+
N
ik,1k
`
=
k
A
zd1
k
s
+
1m
=
1
C
m
(
zd1
i
m1
)
A
k
=
"/ Coefficients sont :
) ( )
(
zXzd1
k
1
kdz
=
C
m
=
1
) (
(
d!ms
i
ms
)
d
dw
ms
ms
[
(
(
)
wXwd1
s
i
1
]
)
1
=
idw
37
"/ Easier to understand with examples
Transform e z inverse dun 2eme
ordre
( )
zX
=
1
Publicité
1
4
1
z
1
1
1
2
1
z
ROC
z :
>
1
2
( )
zX
=
1
+
A
2
1
2
1
1
z
1
z
A
1
1
4
1
A
1
=
1
1
4
1
( )
zXz
=
z
=
1
4
1
1
2
1
4
1
=
1
A
2
=
1
1
2
1
( )
zXz
=
z
=
1
2
1
1
1
4
1
2
1
=
2
38
( )
zX
=
1
1
1
4
z
+
1
1
2
1
2
1
z
z
>
1
2
"/ ROC extension
[ ]
nx
=
1
2
2
n
[ ]
-nu
1
4
n
[ ]nu
39
G n ration des signaux
num riques
"/ Relation de r currence :
kxakx
)(
=
)1(
x
1)0(
=
x(k)
=
"/ G n rer un signal sinuso dal
ak
0
k
en
0
e
rest
sin(
cos(
kb
kb
ba
)
+
ba
)
+
b
)
+
b
)
+
sin(
cos(
a
b
)
)
cos(
sin(
=
+
)
cos(
cos(
a
b
)
=
sin(
)
)
kb
b
cos(
+
=
)
kb
cos(
b
)
cos(
=
a
b
cos(
)
sin(
)
sin(
sin(
a
b
)
)
cos(
sin(
kb
)
b
)
sin(
kb
)
b
)
sin(
x(k
y(k
1
)
=+
)
1
=+
x(k)
y(k)
cos
cos
(b)
+
(b)
y(k)
x(k)
sin
sin
(b)
(b)
x
0)0(
=
y
1)0(
=
kx
)(
sin(
=
ky
cos(
)(
=
kb
)
kb
)
Mod le Lin aire Discrets
Soit, l quation lin aire, aux diff rences finies
L
1
lnyb
(
)
=
l
1
knxa
(
)
k
K
0
=
k
0
=
l
Est un mod le ARMA dordre (K,L)
Questions:
1./ Quel lordre minimal (K,L) qui permettre de repr senter le signal de
fa on convenable ?
2./ Comment d terminer les {ak} et les {bl} ? Ces coefficients restent-ils
invariants lorsque lon consid re diff rentes r alisation du signal ?
Filtres
"/ Filtres r cursifs
Entr e
Xk
RII-ARMA
Sortie
yk
"/ Filtres non-r cursifs
Entr e
Xk
RIF-MA
Sortie
yk
Stabilit des Mod les ARMA
"/ La CNS pour quun syst me lin aire, de r ponse
impulsionnelle {h(n)} soit stable est que :
)(
nh
<
sommabilit
n
=
0
"/ La stabilit dun syst me AR ou ARMA exige que les p les de
la fonction de transfert H(z) soient lint rieur du cercle
unit du plan {z}
Filtrage Num rique
l
i
a
n
g
s
u
d
e
d
u
Publicité
t
i
l
p
m
a
MATLAB 3: signal sinuso dal
c hronogr amme d'un signal en temps c ontinu
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0. 005
0. 01
0.015
axe des temps (secondes)
0.02
0.025
"/ Amplitude : 0.8
"/ Dur e : 0.03 seconde
"/ P riode : 0.02 seconde
"/ Fr quence : 1/0.02 = 50Hz
"/ Signal analogique et (en temps) continu
"/ Expression : s(t)= 0.8sin(2 *t/0.02)
script Matlab
% cr er et afficher le signal sinuso dal pr c dent
freq= 50; % en Hertz (Hz)
ampl= 0.8; % ';' signifie ne pas afficher le r sultat
temps= [0:1:299]/10000; % d finir vecteur temps(secondes)
signal= amplsin(2pifreqtemps); % cr er vecteur signal
plot(temps, signal) % trace la courbe signal(temps)
axis([0, temps(length(temps)), -1, 1]) % d finir les axes
grid % tracer la grille
title('chronogramme d''un signal en temps continu')
xlabel('axe des temps (secondes)')
ylabel('amplitude du signal')
c hronogr amme d'un signal en temps c ontinu
l
i
a
n
g
s
u
d
e
d
u
t
i
l
p
m
a
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0. 005
0.015
0. 01
axe des temps (secondes)
0.02
0.025
Page 46
l
i
a
n
g
s
u
d
e
d
u
t
i
l
p
m
a
signal discret, signal num rique.
chronogramme dun signal en temps discret
signal num ris , B=3bits
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
0.005
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
l
a
n
g
s
i
0.01
axe des temps (secondes)
0.015
0.02
0.025
-1
0
0.005
0.01
axe des temps (secondes)
0.015
0.02
010
001
000
0.025
"/ p riode d chantillonnage : Te= 0.001s
"/ fr quence d' chantillonnage fe =1000Hz
"/ 20 Te par p riode
"/ Signal en temps discret et analogique
"/ nombre de bits par chantillon : B = 3
"/ 8 niveaux de quantification
"/ pas de quantification : Q=0.25
"/ erreur de quantification 0 < < 0.25
"/ Signal num rique et en temps discret
Page 47
Composition fr quentielle.
Le chronogramme ci-dessus a t trac par Goldwave partir de lexpression
math matique :
ts
)(
=
t
)
+
cos(
400
2
200Hz
cos(
t
1200
18
600Hz
)
+
)
cos(
t
2000
50
1000Hz
Le signal s(t) est compos des trois fr quences 200, 600 et 1000Hz
Page 48
MATLAB : spectre et spectrogramme du signal s(t)
fe/2
e
c
n
e
u
q
r
f
amplitude
en dB
spectrogramme = spectre(temps)
spectre calcul par lalgorithme de F.F.T.
(Fast Fourier Transform)
Page 49
fr quence
fe/2
Gabarit dun filtre
"/ Pour un filtre passe-bas, est conduit introduire 3 r gions
/ Bande passante, plage de fr quences o le gain prend des valeurs
comprises entre (1- p,1+ p) o p est le taux dondulation
/ Bande de transition, plage de fr quence o le gain satt nue dans
un rapport A.
/ Bande affaiblie, plage de fr quences o le gain prend des valeurs
inf rieurs s
H(f)
ripples
- 3dB
B. passante
B. affaiblie
fc
fe
f
"/ La partie du plan complexes o se trouvent les z ros correspond la
bande affaiblie. Plus les z ros sont proches du cercle unit , plus
latt nuation est grande. Plus le nombre de z ros est grand, plus les
ondulations dans la bande affaiblie pourront tre rendues faibles.
z ros
x
p les
"/Le lien entre le gabarit et la position des
p les et des z ros.
/Le cercle unit est gradu en valeur de la
fr quence qui varie entre et
/Si les p les et les z ros sont complexes
conjugu s |H(j )| est paire
/La partie du plan complexe o se
trouvent les p les correspond la bande
passante. Plus les p les sont proches du
cercle unit , plus les surtension sont
grandes. Plus les p les est grandes, plus
les ondulations dans la bande passante
pourront tre rendues faibles.
Im(z)
f=1/4
x
x
x
f=0
Re(z)
f=-1/4
Synth se dun filtre r el temps continu
"/ Probl me :
Comment r aliser en num rique un filtrage
analogique ?
/ Donc, si xa(t) et ya(t) sont les signaux dentr e et de
sortie dun filtre analogique: comment fabriquer les
chantillons de ya(t) partir de ceux de xa(t) ?
Solution :
"/ Soit le filtrage lin aire r el analogique d fini par l quation en
fr quence :
fXfHfY
) (
) (
a
a
) (
a
=
Si Xa(f)=0 pour |f|>B, alors Ya(f) est lui-m me bande limit e B. On
prend Fe=1/Te>2B
"/ Lexpression des chantillons ye(n)=ya(nT) en fonction des
chantillons x e(n)=xa(nTe) s crit
~
)(
e
)(
*)(
nhtxny
e
e
e(Y
e
=
j
2
nf
e(X)
=
e
n 2
j
f
~
e(H)
e
n 2
j
f
)
2~
nf
j
e(H
e
O est la p riodis e de
)
H
(
fFe
a
)
rect
(
),
bb
)(
f
o
b
=
B/fe
Conclusion
"/ Cest donc un filtrage temps discret dont la r ponse en
fr quence sobtient par troncature de Ha la bande (-B,B)
suivie dune division de laxe des fr quences par Fe
Preuve
"/ En utilisant la formule de Poisson:
fj
2
e
(
Y
e
)
=
fnj
2
=
F
e
Zn
)
FfkXFfkHF
)
e
e
((
)
FfkY
a
e
Zk
)
e
e
)(
ny
e
((
a
((
a
)
)
=
Zk
~
Et en posant
fFeHfH
=
)(
(
a
a
)
rect
(
bb
),
f
)(
: aon
fj
( 2
Y e
e
)
=
Zk
))
FfkHFfkXF
))
((
((
a
a
e
e
e
~
Zk
ANALYSE DES FILTRES
NON RECURSIFS OU RIF
Caract ristiques des RIF
"/ quations math matiques :
y(n) =
N1
k=0
h(k)x(n k)
H (z) =
N1
k=0
h(k)zk
x(n)
h0
Publicité
z 1
h1
z 1
hk
y(n)
zH
)(
=
zY
)(
zX
)(
=
h
0
+
zh
1
1
N
zh
N
...
++
1
Filtre r ponse impulsionelle
finie (RIF)
xhy
=
0
n
n
...
++
xh
L
1
Ln
1
Stabilit : un filtre RIF est stable
Phase lin aire: si la r ponse impulsionelle
v rifie
0
Remarque: cons quence directe de la sym trie de la r ponse
impulsionelle
D monstration de la phase
lin aire
"/ N=7
"/ h(n)=h(N-1-n) ou h(n)=-h(N-1-n)
h
)0(
=
h
h
)1( ; )6(
=
h
h
)2( ; )5(
=
h
)4(
6
H
)(
=
eH
(
t
j
)
=
ekh
)(
Tjk
=
0
k
H
(
)
=
e
j
3
T
h
)(0((
e
j
3
T
+
e
j
3
T
)
+
h
)(1(
e
j
2
T
+
e
j
2
T
)
+
h
)(2(
e
Tj
+
e
Tj
))
Exemple
"/ Consid rons le filtre RIF, dont la r ponse :
, hhh
=
0
3
h
et h
=
1
2
0
=
n
{
}3210
pour n
,,,
`
Sa r ponse en fr quence est :
fj
2
e j
fj
fj
4
2
H
ehh
(
)
eh
+=
+
0
1
2
e
(h
f )
cos
(
3
h
=
+
1
fj
6
eh
+
3
(
cos
6
f ))
3
0
Filtre Design
"/ Sp cifications du filtre
"/ Calcul des coefficients
"/ R alisation
"/ Analyse de la quantification des coefficients du filtre
"/ Impl mentation
Sp cifications :
Soit un filtre passe-bas utilis pour la r duction
du bruit physiologique :
"/ La bande passante 10Hz
"/ La bande darr t < 20 Hz
"/ Latt nuation dans la bande darr t < 30dB
"/ Les oscillation dans la bande passante ripple <0.026 dB
"/ La fr quence d chantillonnage 256 Hz
Gabarit dun filtre
/ Bande passante, plage de fr quences o le gain prend des valeurs
comprises entre (1- p,1+ p) o p est le taux dondulation
/ Bande de transition, plage de fr quence o le gain satt nue dans
un rapport A.
/ Bande affaiblie, plage de fr quences o le gain prend des valeurs
inf rieurs s
H(f)
ripples
- 3dB
B. passante
B. affaiblie
fc
fe
f
Synth se RIF passe-bas par la
m thode de la fen tre
"/ On veut construire un filtre num rique id al r el de bande
b(0,1/2) d finie par :
2
eH
(
fj
)
=
rect
(
bb
,
)
(
f
)
"/ Donc
h
n
b
= +
b
2
e
jn
f
df
=
sin(
2
)
bn
n
h
O
2=
f
c
"/ La meilleure approximation de longueur 2N+1 est :
{
=
h
n
0
g
n
si n
=
T
e
1
zX
)(
p
z 1
1
eT
Synth se dun filtre num rique
passe-bas du 1er ordre
"/ Soit la fonction de transfert :
pH
)(
=
=
RC
1
"/ La r ponse impulsionnelle :
1
p
+
th
)(
tu
)(
"/ La r ponse indicielle :
=
e
RC
t
1
RC
s
ind
t
)(
t
RC
e
=
1
tu
)(
"/ En utilisant la transformation pr c dente :
zH
)(
=
1
+
1
T
e
T
e
1
z
"/ L quation aux diff rence est :
y
k
=
T
e
1
+
T
e
y
k
1
+
1
1
T
e
+
x
k
Application
=
Rms
1
(
=
)1Ck 1
=
Te
=
100
s
quation ????*
R ponse impulsionnelle x1=1 xk=0 k>1
R ponse indicielle xk=1 k>=1
Conditions initiales y0=1
RII versus RIF
"/ La complexit d'un filtre RII est moindre que celle d'un filtre RIF du
m me ordre. Cette propri t peut tre utile sur les plateformes limit es
en puissance de calcul
"/ G n ralement, les filtres RIF sont moins sensibles aux erreurs de
quantification que les filtres RII. L'absence de r cursivit emp che les
erreurs cumulatives.
"/ Un filtre RIF est moins s lectif qu'un filtre RII du m me ordre. C'est- -
dire que la transition entre la bande passante et la bande rejet e est
moins rapide que dans le cas du filtre RII.
"/ Contrairement un RII, un filtre RIF peut avoir une r ponse
impulsionnelle sym trique et introduire un retard sur le signal mais
aucun d phasage.
Le choix du filtre RIF/RII
"/ RIF peuvent avoir une phase lin aire : Applications
transmission de donn es, audio, traitement dimages
"/ RII la phase est non-lin aire
"/ RIF toujours stable
"/ Leffet de la limitation du nombre de bits est moins s v re