Le Filtrage des Signaux Numériques

Page 1 sur 121Lecteur de document UniversityLib

Le Filtrage des Signaux Numériques

Digital Signal Processing · notes

Voir tous les documents en électronique et automatique

MASTER1-FILS

UPB

Le Filtrage des

Signaux Num riques

Andrei Doncescu

[email protected]

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