04.08.2013 Views

Transformation en Z - LPSC

Transformation en Z - LPSC

Transformation en Z - LPSC

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Introduction au filtrage<br />

numérique<br />

Signaux & Systèmes - M1 Physique -<br />

<strong>LPSC</strong>/UJF - F.Montanet<br />

Caractérisation des filtres linéaires<br />

Réponse impulsionnelle :<br />

Réponse indicielle :<br />

Réponse fréqu<strong>en</strong>tielle :<br />

j2<br />

ft<br />

e π<br />

Filtre<br />

Filtre<br />

Filtre<br />

3<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Introduction<br />

Le filtrage a deux applications principales :<br />

1. séparation de signaux combinés (démultiplexage).<br />

2. restoration de signaux distordus<br />

Les filtres analogiques électroniques sont utilisés pour les<br />

mêmes taches, néanmoins, les filtres numériques atteign<strong>en</strong>t<br />

des performances bi<strong>en</strong> supérieures.<br />

Caractérisation des filtres linéaires<br />

Relations d’équival<strong>en</strong>ce <strong>en</strong>tre réponse impulsionnelle,<br />

réponse indicielle et réponse fréqu<strong>en</strong>tielle :<br />

Réponse impulsionelle Réponse fréqu<strong>en</strong>tielle<br />

Réponse indicielle<br />

TF<br />

intégration 20 Log 10( )<br />

Réponse fréqu<strong>en</strong>tielle (dB)<br />

2<br />

4


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

<strong>Transformation</strong> <strong>en</strong> z<br />

Cours signaux et systèmes<br />

M1 physique<br />

<strong>Transformation</strong> <strong>en</strong> Z<br />

La transformation <strong>en</strong> z repr<strong>en</strong>d le formalisme et les propriétés de la<br />

transformation de Laplace et les applique aux signaux discrets.<br />

Transformée <strong>en</strong> Z = Transformée de Laplace<br />

de la fonction échantillonnée avec z = e Ts ou T est la période d’échantillonnage.<br />

<strong>Transformation</strong> de Laplace <strong>Transformation</strong> <strong>en</strong> Z<br />

Exemple :<br />

e(t)<br />

1<br />

1/2<br />

t<br />

10<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Relations <strong>en</strong>tre Laplace et TZ<br />

Transformée de Laplace de x[kT], signal échantillonné :<br />

Définition<br />

Quelques propriétés<br />

Linéarité<br />

Décalage temporel :<br />

Convolution :<br />

Multiplication par série<br />

expon<strong>en</strong>tielle :<br />

Transformée <strong>en</strong> Z<br />

Somme de série... donc problèmes de converg<strong>en</strong>ce !<br />

9<br />

11


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Propriétés de la transformées <strong>en</strong> Z<br />

Retard :<br />

Cette propriété est particulièrem<strong>en</strong>t importante. Elle donne<br />

tout son intérêt à la TZ. En effet, la multiplication par z -1<br />

correspond à la translation <strong>en</strong> temps d'un échantillon au<br />

suivant :<br />

Avance :<br />

Échelon unitaire :<br />

Rampe unitaire :<br />

à démontrer<br />

Transformées <strong>en</strong> Z<br />

conditions initiales<br />

12<br />

14<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Propriétés de la transformées <strong>en</strong> Z<br />

Conditions initiales et finales :<br />

Convolution :<br />

Expon<strong>en</strong>tielle :<br />

Sinus et Cosinus :<br />

Transformées <strong>en</strong> Z<br />

si ces limites exist<strong>en</strong>t<br />

13<br />

15


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Systèmes différ<strong>en</strong>tiels et TZ<br />

x[n]<br />

Système<br />

y[n]<br />

La sortie y[n] et x[n] d’un système physique linéaire<br />

échantillonné sont reliés par une équation aux différ<strong>en</strong>ces :<br />

y( n)<br />

+ a1y(<br />

n −1)<br />

+ ... + a My(<br />

n − M)<br />

= b0x(<br />

n)<br />

+ b1x(<br />

n −1)<br />

+ ... + b Nx(<br />

n − N)<br />

Causal : N ≥ M<br />

la sortie au temps nT dép<strong>en</strong>d des valeurs des échantillons connu à ce mom<strong>en</strong>t<br />

c.a.d x[n], x[n-1], x[n-2]… et y[n-1], y[n-2], … et des caractéristiques du<br />

systèmes définies par les a k et b k (système linéaire causal)<br />

Fonction de transfert et Pôles<br />

dans le domaine Z<br />

Fonction de transfert <strong>en</strong> z, un rapport de polynômes <strong>en</strong> z avec M ≤<br />

N pour un système physique.<br />

qui peut se mettre égalem<strong>en</strong>t sous la forme :<br />

Les zi sont les zéros et les pj sont les pôles du système.<br />

Les zéros et les pôles décriv<strong>en</strong>t le système à un facteur d’amplitude près a0 (gain statique) et à un retard près z N - M avec N - M ≤ 0.<br />

En particulier, on appellera :<br />

• filtres MA (à Moy<strong>en</strong>ne Adaptée) les filtres n’ayant que des zéros<br />

(et des pôles <strong>en</strong> z = 0)<br />

• filtres AR (Auto Régressifs) les filtres n’ayant que des pôles<br />

(et des zéros <strong>en</strong> z =0)<br />

!<br />

16<br />

18<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Fonction de transfert et Pôles<br />

dans le domaine Z<br />

En pr<strong>en</strong>ant la TZ et <strong>en</strong> utilisant les propriétés de linéarité et de<br />

translation <strong>en</strong> temps, on obti<strong>en</strong>t :<br />

Donc :<br />

Y( z) = H( z) X ( z)<br />

Pôles dans le domaine Z<br />

17<br />

19


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

On retrouve la transformée<br />

de Fourier discrète du<br />

signal x[k], et sa périodicité<br />

2πF e =2π/T<br />

0<br />

Relations <strong>en</strong>tre TZ et Fourier<br />

Im(s)=ω<br />

Re(s)=r<br />

6πFe<br />

4πFe<br />

2πFe<br />

0<br />

-2πFe<br />

-4πFe<br />

-6πFe<br />

f = 1/2<br />

Im(s)<br />

Plan de Laplace<br />

Plan de Laplace Plan des Z<br />

0<br />

Im(z)<br />

f = 1/4<br />

1<br />

-1<br />

Re(s)<br />

f=0<br />

f=1<br />

Re(z)<br />

Im(z)<br />

1<br />

Plan des Z<br />

f croissante<br />

Im(z)<br />

1<br />

f = 0<br />

Re(z)<br />

f = 1<br />

f=0<br />

f=1<br />

Re(z)<br />

20<br />

22<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

-a<br />

Le plan ou domaine z<br />

Interprétation géométrique de la TZ<br />

ρ<br />

0<br />

Plan Z<br />

ϕ<br />

1<br />

Re(z)<br />

f = 0<br />

f = 1<br />

Périodicité de X( f )<br />

21<br />

23


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Caractérisation des filtres linéaires<br />

Implém<strong>en</strong>tation par convolution :<br />

Filtres à Réponse Impulsionnelle Finie<br />

RIF (ou FIR <strong>en</strong> anglais)<br />

Implém<strong>en</strong>tation par récurr<strong>en</strong>ce :<br />

Filtres à Réponse Impulsionnelle Infinie<br />

RII (ou IIR <strong>en</strong> anglais)<br />

Caractérisation dans le domaine fréqu<strong>en</strong>tiel<br />

Bande passante, bande atténuée, passe-haut, passe-bas,<br />

passe-bande, coupe-bande.<br />

Amplitudes<br />

Amplitudes<br />

bande<br />

passante<br />

Passe-bas<br />

bande de<br />

transition<br />

Passe-bande<br />

bande<br />

atténuée<br />

Fréqu<strong>en</strong>ces<br />

Fréqu<strong>en</strong>ces<br />

Amplitudes<br />

Amplitudes<br />

Passe-haut<br />

Coupe-bande<br />

Fréqu<strong>en</strong>ces<br />

Fréqu<strong>en</strong>ces<br />

24<br />

27<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Caractérisation des filtres linéaires<br />

Implém<strong>en</strong>tation d’un filtre numérique par récurr<strong>en</strong>ce :<br />

La sortie y[n] est calculée par combinaison linéaire<br />

des x[n], x[n-1], x[n-2]…<br />

et des y[n-1], y[n-2], …<br />

par une équation de récurr<strong>en</strong>ce<br />

et des coeffici<strong>en</strong>ts de récurr<strong>en</strong>ce:<br />

y[<br />

n]<br />

= a<br />

0<br />

x[<br />

n]<br />

+ a x[<br />

n<br />

1<br />

−1]<br />

+ a<br />

x[<br />

n<br />

− 2]<br />

+ a<br />

x[<br />

n<br />

− 3]<br />

+ …<br />

+ b y[<br />

n −1]<br />

+ b y[<br />

n − 2]<br />

+ b y[<br />

n − 3]<br />

+ …<br />

1<br />

Inversion spectrale<br />

2<br />

2<br />

3<br />

3<br />

25<br />

29


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Symétrie spectrale<br />

Changem<strong>en</strong>t de signe d’un échantillon sur deux<br />

⇒ multiplication par e j2πk/2<br />

⇒ convolution du spectre<br />

par δ(f-0.5)<br />

⇒ décalage du spectre<br />

de 0.5<br />

⇒ la partie négative<br />

du spectre<br />

pr<strong>en</strong>d la place<br />

de la partie positive.<br />

Classification des filtres<br />

Les filtres sont classifié selon leur fonction ou selon leur implém<strong>en</strong>tation:<br />

Fonction<br />

Domaine temporel<br />

(lissage, suppression<br />

de niveau continu)<br />

Domaine Fréqu<strong>en</strong>tiel<br />

(séparation de<br />

fréqu<strong>en</strong>ce)<br />

Spécifique<br />

(Déconvolution)<br />

Implém<strong>en</strong>tation<br />

Moy<strong>en</strong>ne mobile Pôle unique<br />

F<strong>en</strong>êtres Tchebycheff<br />

RIF sur mesure Récursif<br />

30<br />

32<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Construction<br />

d’un passe-bande ou d’un coupe-bande<br />

Par convolution, RIF Par récursivité, RII Filtres Récursifs<br />

31


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

x[n]<br />

Filtre<br />

RIF<br />

y[<br />

n]<br />

y[<br />

n]<br />

H[<br />

z]<br />

x[n]<br />

Fonction de transfert<br />

par la transformation <strong>en</strong> Z<br />

x[n-1] x[n-2]<br />

z -1 z -1 z -1<br />

a 0 a 1 a 2 a 3<br />

y[<br />

n]<br />

H[<br />

z]<br />

=<br />

x[n-3]<br />

Σ Σ Σ<br />

−1<br />

−2<br />

−3<br />

( a + a z + a z + a z )<br />

0<br />

1<br />

y[<br />

n]<br />

= = a<br />

x[<br />

n]<br />

0<br />

2<br />

+ a z<br />

−1<br />

1<br />

+ a<br />

2<br />

3<br />

z<br />

−2<br />

x[<br />

n]<br />

+ a<br />

Fonction de transfert<br />

par la transformation <strong>en</strong> Z<br />

z -1 z -1 z -1<br />

3<br />

z<br />

−3<br />

Filtre récursif RII d’ordre 1<br />

combinaison d’un RIF et d’un<br />

RII simple<br />

−1<br />

−2<br />

−3<br />

−1<br />

−2<br />

−3<br />

= ( a 0 + a1z<br />

+ a 2z<br />

+ a 3z<br />

) x[<br />

n]<br />

+ ( b1z<br />

+ b2z<br />

+ b3z<br />

)<br />

−1<br />

−2<br />

−3<br />

−1<br />

−2<br />

−3<br />

( 1−<br />

b z − b z − b z ) = ( a + a z + a z + a z ) x<br />

1<br />

x[n-1] x[n-2]<br />

a 0 a 1 a 2 a 3<br />

Σ Σ Σ<br />

2<br />

y[<br />

n]<br />

a 0 + a z + a z +<br />

= =<br />

x[<br />

n]<br />

1−<br />

b − b −<br />

−1<br />

1<br />

−1<br />

1z<br />

3<br />

x[n-3]<br />

−2<br />

2<br />

−2<br />

2z<br />

Σ Σ Σ<br />

b 3 b 2 b 1<br />

z -1<br />

0 1<br />

−3<br />

a 3z<br />

−3<br />

b3z<br />

2<br />

z -1<br />

3<br />

z -1<br />

[ n]<br />

y[n]<br />

y[n]<br />

y[<br />

n]<br />

34<br />

36<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Filtre<br />

récursif<br />

RII simple<br />

x[n]<br />

Fonction de transfert<br />

par la transformation <strong>en</strong> Z<br />

y[<br />

n]<br />

y[<br />

n]<br />

Σ Σ Σ<br />

b 3 b 2 b 1<br />

H[<br />

z]<br />

z -1<br />

z -1<br />

−1<br />

−2<br />

−3<br />

= x[<br />

n]<br />

+ ( b1z<br />

+ b2z<br />

+ b3z<br />

)<br />

−1<br />

−2<br />

−3<br />

( 1−<br />

b z − b z − b z ) = x<br />

1<br />

y[<br />

n]<br />

= =<br />

x[<br />

n]<br />

1−<br />

b z<br />

2<br />

1<br />

−1<br />

3<br />

1<br />

− b z<br />

2<br />

−2<br />

[ n]<br />

− b<br />

Fonction de transfert<br />

par la transformation <strong>en</strong> Z<br />

3<br />

y[<br />

n]<br />

Filtre récursif combinaison RIF et RII du second ordre.<br />

x[n]<br />

Σ Σ<br />

z -1<br />

z -1<br />

x[n-2]<br />

x[n-1]<br />

a 0<br />

a 1<br />

a 2<br />

y[<br />

n]<br />

= b1y[<br />

n −1]<br />

+ b2y[<br />

n − 2]<br />

+ a x[<br />

n]<br />

+ a1x[<br />

n −1]<br />

+ a 2x[<br />

n − 2]<br />

y[<br />

n]<br />

a 0 + a z + a<br />

H[<br />

z]<br />

= =<br />

x[<br />

n]<br />

1−<br />

b − b<br />

−1<br />

1<br />

−1<br />

1z<br />

Σ<br />

0<br />

−2<br />

2z<br />

−2<br />

2z<br />

Σ<br />

b 1<br />

b 2<br />

z<br />

z -1<br />

z -1<br />

−3<br />

y[n-2]<br />

y[n-1]<br />

z -1<br />

y[n]<br />

y[n]<br />

35<br />

37


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

x[n]<br />

x[n]<br />

Filtre récursif combinaison<br />

RIF et RII du second ordre<br />

z -1<br />

z -1<br />

x[n-2]<br />

x[n-1]<br />

a 0<br />

a 1<br />

a 2<br />

Σ<br />

Σ<br />

Filtre récursif combinaison<br />

RIF et RII du second ordre<br />

Σ Σ<br />

Σ<br />

b 1<br />

b 2<br />

w[n]<br />

z -1<br />

z -1<br />

w[n-2]<br />

Σ<br />

Σ<br />

w[n-1]<br />

a 0<br />

a 1<br />

a 2<br />

b 1<br />

b 2<br />

Σ<br />

z -1<br />

z -1<br />

y[n-2]<br />

y[n-1]<br />

y[n]<br />

y[n]<br />

38<br />

40<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

y[<br />

n]<br />

w[<br />

n]<br />

H[<br />

z]<br />

=<br />

=<br />

=<br />

x[n]<br />

Σ<br />

Σ<br />

Filtre récursif combinaison<br />

RIF et RII du second ordre<br />

b 1<br />

b 2<br />

z -1<br />

z -1<br />

w[n-2]<br />

w[n-1]<br />

z -1<br />

z -1<br />

w[n-2]<br />

w[n-1]<br />

Fonction de transfert<br />

par la transformation <strong>en</strong> Z<br />

Filtre récursif combinaison RIF et RII du second ordre.<br />

−1<br />

−2<br />

( a 0 + a1z<br />

+ a 2z<br />

) w<br />

−1<br />

−2<br />

x[<br />

n]<br />

+ ( b z + b z )<br />

y[<br />

n]<br />

x[<br />

n]<br />

1<br />

x[n]<br />

a 0 + a z + a z<br />

=<br />

1−<br />

b − b<br />

2<br />

−1<br />

1<br />

−1<br />

1z<br />

[ n]<br />

w[<br />

n]<br />

−2<br />

2<br />

−2<br />

2z<br />

Σ Σ<br />

Σ<br />

b 1<br />

b 2<br />

w[n]<br />

z -1<br />

z -1<br />

w[n-2]<br />

a 0<br />

a 1<br />

a 2<br />

w[n-1]<br />

a 0<br />

a 1<br />

a 2<br />

Σ<br />

Σ<br />

Σ<br />

y[n]<br />

39<br />

y[n]<br />

41


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

x[n]<br />

Fonction de transfert<br />

par la transformation <strong>en</strong> Z<br />

Filtre récursif d’ordre 4 utilisant <strong>en</strong> cascade deux combinaisons<br />

RIF et RII du second ordre.<br />

Σ Σ<br />

Σ<br />

b 1<br />

b 2<br />

z -1<br />

z -1<br />

a 0<br />

a 1<br />

a 2<br />

Σ<br />

Σ Σ<br />

Σ<br />

b 1<br />

b 2<br />

z -1<br />

z -1<br />

1 2<br />

y[<br />

n]<br />

a 0 a1z<br />

a 2z<br />

H[ z]<br />

1 2<br />

x[<br />

n]<br />

1 b1z<br />

b2z<br />

⎟ − −<br />

⎛ + + ⎞<br />

= = ⎜<br />

− −<br />

⎝ − − ⎠<br />

Filtres à Moy<strong>en</strong>ne Mobile<br />

(RIF)<br />

Signaux & Systèmes - M1 Physique -<br />

<strong>LPSC</strong>/UJF - F.Montanet<br />

2<br />

a 0<br />

a 1<br />

a 2<br />

Σ<br />

y[n]<br />

42<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Filtre récursif combinaison<br />

RIF et RII du second ordre<br />

Forme dite canonique directe:<br />

b10 b20 bn0<br />

Filtres à Moy<strong>en</strong>ne Mobile<br />

Le filtrage à moy<strong>en</strong>ne mobile est d’usage courrant<br />

et il est simple à concevoir et à utiliser.<br />

C’est un filtre bi<strong>en</strong> adapté à la réduction de bruit<br />

de signaux <strong>en</strong>codé <strong>en</strong> temps.<br />

Il est <strong>en</strong> revanche très peu efficace dans le domaine<br />

fréqu<strong>en</strong>tiel notamm<strong>en</strong>t pour la séparation de fréqu<strong>en</strong>ce.<br />

Il existe des variantes de ce type de filtre plus performantes<br />

dans le domaine fréqu<strong>en</strong>tiel, tels que les filtres à moy<strong>en</strong>ne<br />

mobile Gaussi<strong>en</strong>s, de Blackman et à passes multiples.<br />

43<br />

45


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Implém<strong>en</strong>tation par convolution<br />

Calcul de la moy<strong>en</strong>ne mobile :<br />

Variante symétrique / k :<br />

Noyau pour la convolution<br />

(par exemple sur 5 points):<br />

y[<br />

k]<br />

=<br />

1<br />

M<br />

∑ − M 1<br />

i=<br />

0<br />

1<br />

y[<br />

k]<br />

=<br />

2M<br />

+ 1<br />

x[<br />

k + i]<br />

M<br />

∑<br />

i=<br />

−M<br />

x[<br />

k + i]<br />

… , 0,<br />

0,<br />

1 , 1 , 1 , 1 , 1 , 0,<br />

0,<br />

…<br />

5 5 5 5 5<br />

100 'MOVING AVERAGE FILTER<br />

110 'This program filters 5000 samples with a 101 point moving<br />

120 'average filter, resulting in 4900 samples of filtered data.<br />

130 '<br />

140 DIM X[4999] 'X[ ] holds the input signal<br />

150 DIM Y[4999] 'Y[ ] holds the output signal<br />

160 '<br />

170 GOSUB XXXX 'Mythical subroutine to load X[ ]<br />

180 '<br />

190 FOR I% = 50 TO 4949 'Loop for each point in the output signal<br />

200 Y[I%] = 0 'Zero, so it can be used as an accumulator<br />

210 FOR J% = -50 TO 50 'Calculate the summation<br />

220 Y[I%] = Y[I%] + X(I%+J%]<br />

230 NEXT J%<br />

240 Y[I%] = Y[I%]/101 'Complete the average by dividing<br />

250 NEXT I%<br />

260 '<br />

270 END<br />

Réponse <strong>en</strong> fréqu<strong>en</strong>ce<br />

Le noyau du filtre à moy<strong>en</strong>ne mobile est une fonction créneau.<br />

Sa TF est une fonction sinc :<br />

H[<br />

f ]<br />

sin[ πfM]<br />

=<br />

M sin[ πf<br />

]<br />

46<br />

48<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Filtrage de bruit blanc<br />

On peut montrer que le filtrage à moy<strong>en</strong>ne mobile est la méthode optimale parmi<br />

tout les filtres linéaires pour la réduction de bruit tout <strong>en</strong> préservant au mieux<br />

les sauts du signal.<br />

11 points<br />

51 points<br />

Filtre à moy<strong>en</strong>ne mobile multi-passes.<br />

47<br />

49


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Filtre à moy<strong>en</strong>ne mobile à f<strong>en</strong>être<br />

Gaussi<strong>en</strong>ne ou de Blackman<br />

Filtres à F<strong>en</strong>êtres<br />

Cours DSP<br />

50<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Implém<strong>en</strong>tation par récursivité<br />

Calcul de la moy<strong>en</strong>ne mobile par récursion :<br />

y[<br />

i]<br />

= y[<br />

i −1]<br />

+ x[<br />

i + M]<br />

− x[<br />

i − M −1]<br />

100 'MOVING AVERAGE FILTER IMPLEMENTED BY RECURSION<br />

110 'This program filters 5000 samples with a 101 point moving<br />

120 'average filter, resulting in 4900 samples of filtered data.<br />

130 'A double precision accumulator is used to prev<strong>en</strong>t round-off drift.<br />

140 '<br />

150 DIM X[4999] 'X[ ] holds the input signal<br />

160 DIM Y[4999] 'Y[ ] holds the output signal<br />

170 DEFDBL ACC 'Define the variable ACC to be double precision<br />

180 '<br />

190 GOSUB XXXX 'Mythical subroutine to load X[ ]<br />

200 '<br />

210 ACC = 0 'Find Y[50] by averaging points X[0] to X[100]<br />

220 FOR I% = 0 TO 100<br />

230 ACC = ACC + X[I%]<br />

240 NEXT I%<br />

250 Y[50] = ACC/101<br />

260 ' 'Recursive moving average filter<br />

270 FOR I% = 51 TO 4949<br />

280 ACC = ACC + X[I%+50] - X[I%-51]<br />

290 Y[I%] = ACC/101<br />

300 NEXT I%<br />

310 '<br />

320 END<br />

Nota b<strong>en</strong>e: bi<strong>en</strong> que cette implém<strong>en</strong>tation soit récursive, ce filtre est à réponse<br />

impulsionnelle finie RIF<br />

Filtres à F<strong>en</strong>être<br />

Les filtres à f<strong>en</strong>être (compr<strong>en</strong>dre f<strong>en</strong>être fréqu<strong>en</strong>tielle)<br />

sont utilisés pour séparer différ<strong>en</strong>tes fréqu<strong>en</strong>ces.<br />

Ils peuv<strong>en</strong>t atteindre des niveaux de performances<br />

extrêmem<strong>en</strong>t poussés dans le domaine fréqu<strong>en</strong>tiel.<br />

Ils sont <strong>en</strong> revanche mal adaptés pour conserver la forme des<br />

signaux dans le domaine temporel, avec des effets<br />

d’overshoot et d’oscillation assez désastreux.<br />

Ils peuv<strong>en</strong>t être facilem<strong>en</strong>t implém<strong>en</strong>tés par le calcul de la<br />

convolution, mais cette méthode est coûteuse <strong>en</strong> temps de<br />

calcul. Il est <strong>en</strong> revanche possible de les réaliser très<br />

efficacem<strong>en</strong>t <strong>en</strong> utilisant la FFT.<br />

51<br />

53


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Noyau de filtre<br />

idéal,<br />

f<strong>en</strong>être<br />

spectrale ou<br />

fonction sinc.<br />

Noyau de filtre<br />

tronqué<br />

On rajoute un<br />

filtre avec f<strong>en</strong>être<br />

de Hamming ou<br />

Blackman<br />

Noyau de filtre<br />

adouci et r<strong>en</strong>du<br />

fini par la f<strong>en</strong>être<br />

Hanning:<br />

Bartlett:<br />

Stratégie des filtres à f<strong>en</strong>être<br />

Autres f<strong>en</strong>êtres<br />

Ondulations,<br />

conséqu<strong>en</strong>ce de<br />

la troncature<br />

⎧0. 5 + 0.<br />

5cos(<br />

2πk<br />

/ M)<br />

pour k ≤ M / 2<br />

w[<br />

k]<br />

= ⎨<br />

⎩0<br />

ailleurs<br />

⎧2k<br />

/ M pour - M/2 ≤ k < 0<br />

⎪<br />

w[ k]<br />

= ⎨1<br />

− 2k<br />

/ M pour 0 ≤ k ≤ M / 2 ( fonction triangle)<br />

⎪<br />

⎩0<br />

ailleurs<br />

Ondulations<br />

atténuées mais<br />

zone de transition<br />

élargie<br />

Hamming : atténuation 20% plus rapide que Blackman mais atténuation plus faible.<br />

Atténuation Largeur de transition Ondulations<br />

(/Hamming) de bande passante<br />

Blackman -74dB 0.02% 0.80 0.02%<br />

Hamming -53dB 0.2% 1 (ref) 0.2%<br />

Hanning -44dB 0.63% ~1<br />

Barlett -25dB 5.6% ~1<br />

Rectangle (ou sans f<strong>en</strong>être) -21dB 8.9% 0.25<br />

54<br />

56<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Hamming:<br />

Blackman:<br />

F<strong>en</strong>être de Hamming et de Blackman<br />

( 1−<br />

α)<br />

⎧α + cos( 2πk<br />

/ M)<br />

pour k ≤ M / 2<br />

w[<br />

k]<br />

= ⎨<br />

⎩0<br />

ailleurs<br />

avec α = 0.54<br />

⎧α + ( 1−<br />

α + β)<br />

cos( 2πk<br />

/ M)<br />

− βcos(<br />

4πk<br />

/ M)<br />

pour k ≤ M / 2<br />

w[<br />

k]<br />

= ⎨<br />

⎩0<br />

ailleurs<br />

Synthèse de filtre à f<strong>en</strong>être<br />

La formule complète pour le noyau d’un filtre f<strong>en</strong>être de Blackman<br />

sin(<br />

2πfC<br />

( k − M / 2)<br />

) ⎛<br />

⎛ 2πk<br />

⎞ ⎛ 4πk<br />

⎞⎞<br />

h[ i]<br />

= K<br />

⎜0.<br />

42 − 0.<br />

5cos⎜<br />

⎟ + 0.<br />

08cos⎜<br />

⎟⎟<br />

k − M / 2 ⎝<br />

⎝ M ⎠ ⎝ M ⎠⎠<br />

55<br />

57


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Implém<strong>en</strong>tation d’un<br />

filtre f<strong>en</strong>être de<br />

Hamming, filtrant 5000<br />

points avec un noyau de<br />

101 points de longueur<br />

(M=100) et produisant<br />

4900 échantillons filtrés.<br />

Hautes performances !<br />

Synthèse de filtre à f<strong>en</strong>être<br />

100 'LOW-PASS WINDOWED-SINC FILTER<br />

110 'This program filters 5000 samples with a 101 point windowed-sinc filter,<br />

120 'resulting in 4900 samples of filtered data.<br />

130 '<br />

140 DIM X[4999] 'X[ ] holds the input signal<br />

150 DIM Y[4999] 'Y[ ] holds the output signal<br />

160 DIM H[100] 'H[ ] holds the filter kernel<br />

170 '<br />

180 PI = 3.14159265<br />

190 FC = .14 'Set the cutoff frequ<strong>en</strong>cy (betwe<strong>en</strong> 0 and 0.5)<br />

200 M% = 100 'Set filter l<strong>en</strong>gth (101 points)<br />

210 '<br />

220 GOSUB XXXX 'Mythical subroutine to load X[ ]<br />

230 '<br />

240 ' 'Calculate the low-pass filter kernel<br />

250 FOR I% = 0 TO 100<br />

260 IF (I%-M%/2) = 0 THEN H[I%] = 2*PI*FC<br />

270 IF (I%-M%/2) 0 THEN H[I%] = SIN(2*PI*FC * (I%-M%/2)) / (I%-M%/2)<br />

280 H[I%] = H[I%] * (0.54 - 0.46*COS(2*PI*I%/M%) )<br />

290 NEXT I%<br />

300 '<br />

310 SUM = 0 'Normalize the low-pass filter kernel for<br />

320 FOR I% = 0 TO 100 'unity gain at DC<br />

330 SUM = SUM + H[I%]<br />

340 NEXT I%<br />

350 '<br />

360 FOR I% = 0 TO 100<br />

370 H[I%] = H[I%] / SUM<br />

380 NEXT I%<br />

390 '<br />

400 FOR J% = 100 TO 4999 'Convolve the input signal & filter kernel<br />

410 Y[J%] = 0<br />

420 FOR I% = 0 TO 100<br />

430 Y[J%] = Y[J%] + X[J%-I%] * H[I%]<br />

440 NEXT I%<br />

450 NEXT J%<br />

460 '<br />

470 END<br />

Synthèse de filtre à f<strong>en</strong>être<br />

Obt<strong>en</strong>u <strong>en</strong> convoluant un filtre f<strong>en</strong>être par lui même.<br />

58<br />

60<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Synthèse de filtre à f<strong>en</strong>être<br />

Implém<strong>en</strong>tation d’un filtre f<strong>en</strong>être passe-bande.<br />

100 'BAND-PASS WINDOWED-SINC FILTER<br />

110 'This program calculates an 801 point band-pass filter kernel<br />

120 '<br />

130 DIM A[800] 'A[ ] workspace for the lower cutoff<br />

140 DIM B[800] 'B[ ] workspace for the upper cutoff<br />

150 DIM H[800] 'H[ ] holds the final filter kernel<br />

160 '<br />

170 PI = 3.1415926<br />

180 M% = 800 'Set filter kernel l<strong>en</strong>gth (801 points)<br />

190 '<br />

200 ' 'Calculate the first low-pass filter kernel via Eq. 16-4,<br />

210 FC = 0.196 'with a cutoff frequ<strong>en</strong>cy of 0.196, store in A[ ]<br />

220 FOR I% = 0 TO 800<br />

230 IF (I%-M%/2) = 0 THEN A[I%] = 2*PI*FC<br />

240 IF (I%-M%/2) 0 THEN A[I%] = SIN(2*PI*FC * (I%-M%/2)) / (I%-M%/2)<br />

250 A[I%] = A[I%] * (0.42 - 0.5*COS(2*PI*I%/M%) + 0.08*COS(4*PI*I%/M%))<br />

260 NEXT I%<br />

270 '<br />

280 SUM = 0 'Normalize the first low-pass filter kernel for<br />

290 FOR I% = 0 TO 800 'unity gain at DC<br />

300 SUM = SUM + A[I%]<br />

310 NEXT I%<br />

320 '<br />

330 FOR I% = 0 TO 800<br />

340 A[I%] = A[I%] / SUM<br />

350 NEXT I%<br />

360 ' 'Calculate the second low-pass filter kernel via Eq. 16-4,<br />

370 FC = 0.204 'with a cutoff frequ<strong>en</strong>cy of 0.204, store in B[ ]<br />

380 FOR I% = 0 TO 800<br />

390 IF (I%-M%/2) = 0 THEN B[I%] = 2*PI*FC<br />

400 IF (I%-M%/2) 0 THEN B[I%] = SIN(2*PI*FC * (I%-M%/2)) / (I%-M%/2)<br />

410 B[I%] = B[I%] * (0.42 - 0.5*COS(2*PI*I%/M%) + 0.08*COS(4*PI*I%/M%))<br />

420 NEXT I%<br />

430 '<br />

440 SUM = 0 'Normalize the second low-pass filter kernel for<br />

450 FOR I% = 0 TO 800 'unity gain at DC<br />

460 SUM = SUM + B[I%]<br />

470 NEXT I%<br />

480 '<br />

490 FOR I% = 0 TO 800<br />

500 B[I%] = B[I%] / SUM<br />

510 NEXT I%<br />

520 '<br />

530 FOR I% = 0 TO 800 'Change the low-pass filter kernel in B[ ] into a high-pass<br />

540 B[I%] = - B[I%] 'filter kernel using spectral inversion (as in Fig. 14-5)<br />

550 NEXT I%<br />

560 B[400] = B[400] + 1<br />

570 '<br />

580 '<br />

590 FOR I% = 0 TO 800 'Add the low-pass filter kernel in A[ ], to the high-pass<br />

600 H[I%] = A[I%] + B[I%] 'filter kernel in B[ ], to form a band-reject filter kernel<br />

610 NEXT I% 'stored in H[ ] (as in Fig. 14-8)<br />

620 '<br />

630 FOR I% = 0 TO 800 'Change the band-reject filter kernel into a band-pass<br />

640 H[I%] = -H[I%] 'filter kernel by using spectral inversion<br />

650 NEXT I%<br />

660 H[400] = H[400] + 1<br />

670 ' 'The band-pass filter kernel now resides in H[ ]<br />

680 END<br />

Filtres à réponse arbitraire<br />

Cours signaux et systèmes<br />

M1 physique<br />

2004-2005<br />

F. Montanet UJF<br />

59


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Filtres à F<strong>en</strong>être<br />

Les filtres classiques sont passe-haut, passe-bas, passe-bande,<br />

coupe-bande. Il est possible de construire des filtres<br />

numériques ayant une réponse fréqu<strong>en</strong>tielle<br />

arbitrairem<strong>en</strong>t choisie.<br />

C’est un des domaines d’application ou les techniques DSP<br />

excell<strong>en</strong>t.<br />

Les applications typiques de ce g<strong>en</strong>re de filtre sont:<br />

la déconvolution, permettant de restaurer un signal<br />

ayant subit des distorsions de spectre connu,<br />

le filtrage optimal utilisé dans la séparation de signaux<br />

dont les spectres fréqu<strong>en</strong>tielles se recouvr<strong>en</strong>t.<br />

Effet de la longueur du noyau<br />

M = 10 M = 30<br />

M = 100 M = 300 M = 1000<br />

62<br />

64<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Réponse<br />

impulsionnelle<br />

obt<strong>en</strong>ue par TFD<br />

inverse (avec<br />

repliem<strong>en</strong>t)<br />

Noyau du filtre<br />

obt<strong>en</strong>ue par<br />

troncature à M,<br />

décalage de M/2<br />

et multiplication<br />

par une f<strong>en</strong>être<br />

de Hamming.<br />

Stratégie du filtrage à réponse arbitraire<br />

Domaine Temporel Domaine Fréqu<strong>en</strong>tiel<br />

Troncature,<br />

décalage,<br />

f<strong>en</strong>êtrage<br />

TFD -1<br />

Exemple d’un signal à déconvoluer<br />

Réponse<br />

fréqu<strong>en</strong>tielle<br />

souhaitée.<br />

Réponse<br />

fréqu<strong>en</strong>tielle<br />

réalisée.<br />

Détection de rayons gamma par un scintillateur.<br />

Le dépôt d’énergie est quasi instantané, mais l’émission de lumière de<br />

scintillation par le cristal suit une loi de décroissance expon<strong>en</strong>tielle. Le photodétecteur<br />

(photomultiplicateur) et l’électronique associée ont aussi une<br />

fonction de transfert qui n’est pas neutre. Le signal résultant de l’interaction<br />

d’un gamma à une forme bi<strong>en</strong> caractéristique qui est la réponse impulsionelle<br />

du système.<br />

63<br />

65


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Exemple d’un signal à déconvoluer<br />

Détection de rayons gamma par un scintillateur.<br />

Signal détecté<br />

correspondant à<br />

l’arrivée de plusieurs<br />

rayons gamma de<br />

même énergie.<br />

Signal après filtrage<br />

de déconvolution.<br />

Déconvolution à l’aveugle<br />

Cas délicat ou l’on ne connaît pas la réponse impulsionnelle du système.<br />

Exemple, restauration de vieux <strong>en</strong>registrem<strong>en</strong>ts:<br />

66<br />

68<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Obt<strong>en</strong>tion du noyau de déconvolution<br />

Domaine temporel :<br />

f ⊗ g = h<br />

Réponse<br />

impulsionnelle<br />

du détecteur<br />

Réponse<br />

impulsionnelle<br />

désirée<br />

Noyau du filtre<br />

obt<strong>en</strong>ue par TFD<br />

inverse du<br />

spectre (f)<br />

TFD<br />

TFD<br />

TFD -1<br />

Filtrage optimal<br />

Domaine fréqu<strong>en</strong>tiel :<br />

G = H / F<br />

division<br />

Problème typique : sortir un signal d’un bruit blanc aléatoire.<br />

Réponse<br />

fréqu<strong>en</strong>tielle<br />

correspondante<br />

Réponse<br />

fréqu<strong>en</strong>tielle<br />

correspondante<br />

Réponse<br />

fréqu<strong>en</strong>tielle<br />

nécessaire<br />

obt<strong>en</strong>ue par<br />

division des<br />

spectres (b) et (d)<br />

67<br />

69


Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Exemples de filtres optimaux :<br />

Filtrage optimal<br />

Moy<strong>en</strong>ne mobile :<br />

Noyau = créneau.<br />

Optimise la réponse indicielle pour un niveau<br />

de réduction du bruit donné<br />

Filtrage miroir ou autocorrélation :<br />

Noyau = image symétrique du signal<br />

recherché.<br />

Optimise le rapport signal/bruit <strong>en</strong><br />

amplitude au pic<br />

Filtre de Wi<strong>en</strong>er<br />

Discrimination fréqu<strong>en</strong>tielle:<br />

2<br />

S[<br />

f ]<br />

H[<br />

f ] = 2 2<br />

S[<br />

f ] + B[<br />

f ]<br />

Optimise le rapport signal/bruit <strong>en</strong><br />

puissance.<br />

70<br />

Signaux & Systèmes - M1 Physique - <strong>LPSC</strong>/UJF - F.Montanet<br />

Exemples de filtres optimaux :<br />

Filtrage optimal<br />

Moy<strong>en</strong>ne mobile :<br />

Autocorrélation :<br />

Wi<strong>en</strong>er :<br />

71

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!