3- Filtrage numérique

32
1 Traitement du Sigal - 3TC Transparents C. Odet, Prof. GE 3- Filtrage numérique Généralités sur les filtres numériques et sur le filtrage Forme générale d’un filtre numérique Réponse en fréquence des systèmes discrets Spécification et méthodologie de calcul des filtres (numériques et analogiques) Classification des filtres Comparaison RIF-RII Structures des filtres numériques Structures non récursives Structures récursives Structures cascade, paralléle... Calcul des filtres RII Calcul des filtres RIF

description

3- Filtrage numérique. Généralités sur les filtres numériques et sur le filtrage Forme générale d’un filtre numérique Réponse en fréquence des systèmes discrets Spécification et méthodologie de calcul des filtres (numériques et analogiques) Classification des filtres Comparaison RIF-RII - PowerPoint PPT Presentation

Transcript of 3- Filtrage numérique

Page 1: 3- Filtrage numérique

1Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

3- Filtrage numérique

• Généralités sur les filtres numériques et sur le filtrage

– Forme générale d’un filtre numérique

– Réponse en fréquence des systèmes discrets

– Spécification et méthodologie de calcul des filtres (numériques et analogiques)

– Classification des filtres

– Comparaison RIF-RII

• Structures des filtres numériques

– Structures non récursives

– Structures récursives

– Structures cascade, paralléle...

• Calcul des filtres RII

• Calcul des filtres RIF

Page 2: 3- Filtrage numérique

2Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

3-1 Généralités sur les filtres et sur le filtrage

• Forme générale d’un filtre numérique

G zB z

A z

b b z b Q z

a z a P z

bz z

p z

Q

P

ii

Q

ii

P

( )( )

( )

( ) ( ) ( )

( ) ( )

( )( )

( )

0 1

1 1

01

1

1

1

1

1

1

1

• Les coefficients a(i) et b(j) sont réels• Fonction de transfert G(z) à P pôles pi et Q zéros zi réels ou en paires complexes conjuguées• Réponse impulsionnelle g(k)

G z g g z g k z k( ) ( ) ( ) ( ) 0 1 1

Page 3: 3- Filtrage numérique

3Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Forme générale d’un filtre numérique

• FILTRE RIF: Si P=0, le filtre n’a que des zéros

G zB z

A zb b z b Q z

b z z

Q

ii

Q

( )( )

( )( ) ( ) ( )

( ) ( )

0 1

0 1

1

1

1

• Les coefficients b(k) forment la réponse impulsionnelle

• La Réponse Impulsionnelle est de durée Finie FILTRE RIF

• Filtre à moyenne mobile, ou filtre MA (Moving Average).

Page 4: 3- Filtrage numérique

4Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Filtre RIF• ATTENTION G(z) a Q zéros et Q pôles

situés à l’origine z=0

• ATTENTION la forme de G(z) peut être trompeuse

• Exemple: Filtre moyenneur

g k

N k N

ailleurs( )

/ ,

1 0 1

0

G zN

z

z N

z

z z

N N

N( )( )

1 1

1

1 1

11 1

N zéros et 1 pôleN zéros, N-1 pôles enz=0, 1 pôle en z=1

z=1 est à la fois pôle et zéro

il reste N-1 zéros et N-1 pôles en z=0

G zN

z i

i

N

( )

1

0

1

Page 5: 3- Filtrage numérique

5Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Forme générale des filtres numérique

• FILTRE RII: Si G(z) a des pôles (différents de z=0)

– La Réponse Impulsionnelle est de durée Infinie

– Un pôle correspond à une réponse impulsionnelle exponentielle

G zaz

a z

g k a pour k

i i

i

k

( )

( ) ,

1

1

0

10

Pôle en z=aRemarque: série convergente pour |a|<1

k

g(k)

Page 6: 3- Filtrage numérique

6Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Filtres RII

• Si le filtre RII n’a que des pôles (et des zéros en z=0)

– Filtre AR (Auto-Régréssif)

– Filtre tout-pôles, (All pole filter)

• Si le filtre RII a des pôles et des zéros différents de z=0

G zB z

A z

b

a z a P z

bp z

P

ii

P

( )( )

( )

( )

( ) ( )

( )( )

0

1 1

01

1

1

1

1

G zB z

A z

b b z b Q z

a z a P z

Q

P( )( )

( )

( ) ( ) ( )

( ) ( )

0 1

1 1

1

1

Modèle ARMA d’ordre P et Q

Page 7: 3- Filtrage numérique

7Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Forme générale des filtres numériques

• En règle générale

G zB z

A z

b b z b Q z

a z a P z

Q

P( )( )

( )

( ) ( ) ( )

( ) ( )

0 1

1 1

1

1

posséde Q zéros et P pôles et• Q-P pôles en z=0 si Q>P• P-Q zéros en z=0 si P>Q

Exemples• 1) Voir filtre moyenneur• 2) Filtre AR d’ordre 1

G zaz

a zz

z a

g k a pour k

i i

i

k

( )

( ) ,

1

1

0

10

Pôle en z=aP=1, Q=0 donc 1 zéro en z=0

Page 8: 3- Filtrage numérique

8Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Forme générale des filtres numériques

• Filtre stable si les pôles sont à l’intérieur du cercle unité dans le plan des z

1

x

xx

o

o

3 pôles z = -0.5 + 0.5 i , -0.5-0.5i , 0.52 zéros z = -1-i , -1+i

• Si les zéros sont aussi à l’intérieur du cercle unité, le filtre est à phase minimale

Page 9: 3- Filtrage numérique

9Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Réponse en fréquence des filtres numériques

• Evaluation de G(z) sur le cercle unité

• Evaluation de G(z)pour z=exp(j2f)

f variant de 0 à 1

• Evaluation de G(z) pour z=exp(j2fTe)

f variant de 0 à Fe=1/Te , fréquence d’échantillonnage réelle

• Transformée de Fourier discrète de la réponse impulsionnelle

• Représentation en module et en phase

• Périodique en fréquence (période 1 ou Fe)

• Réponse impulsionnelle réelle

Module pair, phase impaire

Page 10: 3- Filtrage numérique

10Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Réponse en fréquence des filtres numériques

• Exemple

H zaz

a z

rép impuls h k a k

H fae

h k e

H f a eae

k k

k

k

j fj fk

k

k j fk

kj f

( )

. . ( ) ,

( ) ( )

( )

1

1

0

1

1

1

1

10

22

2

02

H fa a f

( )cos( )

1

1 2 22

Arg H f ArcTana f

a f( ( )) (

sin( )

cos( ))

2

1 2

TFD

Page 11: 3- Filtrage numérique

11Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Réponse en fréquence des filtres numériques

• Exemple (suite)

pour a=0,5

Module |H(f)|

Pair, période 1

Phase

Impaire, période 1

Page 12: 3- Filtrage numérique

12Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Réponse en fréquence des filtres numériques

• Exemple

Filtre de Butterworth passe-bas ordre 2

Fréquence de coupure 0.25 (c.à.d 0.25 Fe)

MATLAB: > [b,a]=butter(2,0.5) (2 = Fe)

b = 0.2929 0.5858 0.2929

a = 1.0000 0.0000 0.1716

H zz z

z( )

. . .

.

0 2929 0 5858 0 2929

1 01716

1 2

2

•Pôles et zéros ( > [z,p,k]=butter(2,0.5))z = -1.0000 , -1.0000 p = 0.4142i , - 0.4142i

•Réponse en fréquence z = exp(j2f)f =[0,1]

Page 13: 3- Filtrage numérique

13Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Réponse en fréquence des filtres numériques

• Exemple (suite)

Module Phase

o(2)

x

x

Page 14: 3- Filtrage numérique

14Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Méthodologie de calcul des filtres

• Spécification (Gabarit)

– Module de la réponse en fréquence

– Phase, temps de propagation de groupe

– Réponse impulsionnelle ou indicielle

Entrée Sortie

Filtre

Application

Spécification

CalculApproximationRéalisationTest

Page 15: 3- Filtrage numérique

15Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

• Approximation

Spécifications H(p), H(z)

Trouver une fonction de transfert réalisable dont la réponse (en fréquence, en temps et/ou en phase) respecte la spécification

– Fonctions bien connues (tables, abaques)

• Butterworth, Tchebysheff, Bessel

Legendre, Cauer (filtres elliptiques)...

– Méthodes directes

• Manuelles

• Par ordinateur

– Méthodes itératives (par ordinateur!)

• Approximations optimales au sens d’un certain critère

Méthodologie de calcul des filtres

Page 16: 3- Filtrage numérique

16Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Méthodologie de calcul des filtres

• Synthèse (réalisation)

Choisir la structure, calculer les composants, format des calculs et des coefficients (nb de bits)...

– Analogique

• Filtres passifs

• Filtres actifs (Sallen&Key, NIC...)

– Numérique

• Circuits numériques spécifiques

• Programmation (P, DSP...)

• FIR, IIR, récursif, non récursif, en cascade, en parallèle, en treillis...

– Mixte

• Capacités commutées

• Approximation et synthèse sont parfois intimement liées.

Page 17: 3- Filtrage numérique

17Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Méthodologie de calcul des filtres

• Test

La réalisation ne respecte pas toujours l’approximation et les spécifications

– Réglage (analogique, coûteux)

– Retour en arrière

• Modification des spécification (!)

• Autre approximation

• Choix de la structure

• Choix des composants (précision).

• Les spécifications ne doivent pas être trop rigoureuses, ou contradictoires.

Page 18: 3- Filtrage numérique

18Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Spécification des filtres• Spécification par gabarit

Atténuation(dB)

Fréquence(kHz8 100

60

40

3

15

Bande passante Bande coupée

Bande de transition

• Module de la réponse en fréquence• Atténuation (inverse du gain)• Filtre réel, donc module pair• Simplification (ex: 60dB entre 10 et 15 kHz)• Bande de transition INDISPENSABLE

Mais: Ordre du filtre, complexité de la réalisation, temps de calcul...

Page 19: 3- Filtrage numérique

19Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Classification des filtres

• Classification fréquentielle

– Passe-bas

• Atténuation des hautes fréquences

– Passe-haut

• Atténuation des basses fréquences

– Passe-bande

• Atténuation des hautes et des basses fréquences

– Coupe-bande ou réjecteur

• Atténuation d’une bande de fréquences intermédiaires

– Autres : Dérivateur, intégrateur, réseau déphaseur (passe-tout)

Page 20: 3- Filtrage numérique

20Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Classification des filtres

• Sélectivité

– Passe-bas

kf

fp

a

1

ffafp

A(dB)

– Passe-haut

kf

fa

p

1

ffa fp

A(dB)

Page 21: 3- Filtrage numérique

21Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Classification des filtres

– Passe-bande

kf f

f f

Bf f

f

f f f f f

p p

a a

p p

p p a a

2 1

2 1

2 1

0

02

2 1 2 1

1

fa1 fp1 fp2 fa2

– coupe-bande

kf f

f f

Bf f

f

f f f f f

a a

p p

p p

p p a a

2 1

2 1

2 1

0

02

2 1 2 1

1

fp1 fa1 fa2 fp2

f0

f0

Page 22: 3- Filtrage numérique

22Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Classification des filtres

• Attention: cas des filtres numériques

40

Atténuation(dB)

100

60

3

15

40

Fréquence(kHz)FeFe/2

• Le gabarit est implicitement périodisé• La bande «intéressante» est [0, Fe/2]• Fe --------> 1

Fe/2 -------> 0,5f ----------> f/Fe

Page 23: 3- Filtrage numérique

23Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Classification des filtres

pour les filtres numériques

• Classification d’après la réponse impulsionnelle

– RIF (FIR) Réponse Impulsionnelle finie

– RII (IIR) Réponse impulsionnelle infinie

• Classification méthodologique

– Implantation non récursive (RIF)

y(n)=a0x(n)+a1x(n-1)+...+akx(n-k)

– Implantation récursive (RIF et RII)

y(k)= a0x(k)+a1x(k-1)+...+anx(k-n) -

b1y(k-1)-...-bmy(k-m)

– Implantation par Tr. de Fourier

Page 24: 3- Filtrage numérique

24Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Comparaison des filtres RIF et RII

Caractéristique Filtre FIR Filtre IIR

Fonction detransfert

ne contient quedes zéros

contient despôles et des zéros

Réponse enfréquence

Aucunerestriction

Les méthode sontplutôt limitéesaux filtres passe-bas passe-haut,passe-bande etréjecteur.

Réponse enphase

Parfaitementlinéaire sinécessaire;déphaseurs pursirréalisables

Approximationd'une phaselinéairedéphaseursréalisables

Stabilité Toujours stables Les pôles doiventêtre à l'intérieurdu cercle unité

Complexité de lastructure

Proportionnelle àla longueur de laréponseimpulsionnelle

Plus faible qu'unfiltre FIR pour lamême sélectivité.

Sensibilité à laquantificationdes coefficientset aux erreursd'arrondi

Faible, sauf dansle cas d'uneréalisationrécursive

Les pôlespeuvent passer àl'extérieur ducercle unité.Apparition de

Page 25: 3- Filtrage numérique

25Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

3-2 Structures de calcul des filtres numériques

• Fonction de transfert en Z

Equations de réalisation

Filtre RIF

y n b i x n i

b x n b x n b Q x n Qi

Q

( ) ( ) ( )

( ) ( ) ( ) ( ) ( ) ( )

0

0 1 1

Filtre RII

y n b x n b x n b Q x n Q

a y n a P y n P

( ) ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

0 1 1

1 1

G zY z

X z

b b z b Q z

a z a P z

Y z a Y z z a P Y z z

b X z b X z z b Q X z z

Q

P

P

Q

( )( )

( )

( ) ( ) ( )

( ) ( )

( ) ( ) ( ) ... ( ) ( )

( ) ( ) ( ) ( ) ... ( ) ( )

0 1

1 1

1

0 1

1

1

1

1

Par transformée en Z inverse, on obtient:

Page 26: 3- Filtrage numérique

26Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Structure des filtres numériques

• Calcul des équations précédentes

– Par programme (C, Matlab, langage machine sur P, DSP...)

– Avec une électronique spécifique

Additionneurs, multiplieurs,

registres (mémoires).

a

y(n)

x(n)+y(n)x(n)

x(n) x(n-1)T

x(n) a x(n)

Page 27: 3- Filtrage numérique

27Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Exemple de réalisation programmée «simpliste» d’un filtre numérique

/* b(0) + b(1) z -1 + b(2) z-2

H(z) = ------------------------------

1 + a(1) z -1 + a(2) z -2 */

int x[3],y[2], xin,yout=0;

float b[3], a[2];

/* xin contient l'echantillon d'entree */

x[0]=xin

/* calcul du numérateur */

for(i=0;i<3;i++) yout=yout+x[i]*b[i];

/* calcul du dénominateur , partie recursive du filtre */

for(i=0;i<2;i++) yout=yout-y[i]*a[i];

/* decalage du tampon d'entrée */

for(i=0;i<2;i++) x[i+1]=x[i];

/* decalage du tampon de sortie */

for(i=0;i<1;i++) y[i+1]=y[i];

y[0]=yout;

/* sortie de yout */

Page 28: 3- Filtrage numérique

28Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Structure des filtres numériques

• Structure non récursive ou

filtre transverse

x(n) x(n-1) x(n-Q)

b(0) b(1) b(2) b(Q-1) b(Q)

y(n)

T T T

y n b x n b x n b Q x n Q( ) ( ) ( ) ( ) ( ) ( ) ( ) 0 1 1

• Q mémoires (tampon, tableau à Q) élements)• Q multiplieurs• Q additionneurs

Page 29: 3- Filtrage numérique

29Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Structure des filtres numériques

• Structure récursive

forme directe de type 1

x(n) x(n-1) x(n-Q)

b(0) b(1) b(2) b(Q-1) b(Q)

T T T

-a(P) -a(P-1) -a(P-2) -a(1)

y(n)

T T T

y n b x n b x n b Q x n Q

a y n a P y n P

( ) ( ) ( ) ( ) ( ) ( ) ( )

( ) ( ) ( ) ( )

0 1 1

1 1

• Q+P mémoires• Q+P multiplieurs• Q+P additionneurs

Page 30: 3- Filtrage numérique

30Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Structure des filtres numériques

• Structure récursive

forme canonique directe de type 2

y(n)

x(n)

b(Q) b(Q-1) b(1) b(0)

-a(P) -a(P-1) -a(P-2) -a(1)

T T T

• Max(P,Q) mémoires• P+Q multiplieurs• P+Q additionneurs• Variable intermédiaire mémorisée

Variable d’état ?

Page 31: 3- Filtrage numérique

31Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Structure des filtres numériques

• Structure cascade

– Décomposition en pôles et zéros

G z br z z z z z

s z p z p z

ii

Q

i ii

Q

ii

P

i ii

P( ) ( )( ) ( )( )

( ) ( )( )

*

*

0

1 1 1

1 1 1

1

1

11 1

1

2

1

1

11 1

1

2

Regroupement par paires de pôles et de zéros

G zb b z b z

a z a zk k k

k kk

N

( )

0 1

12

2

11

22

1 1

Cellule2nd ordre

Cellule2nd ordre

Cellule2nd ordre

Page 32: 3- Filtrage numérique

32Traitement du Sigal - 3TC

Transparents C. Odet, Prof. GE

Structure des filtres numériques

• Structure paralléle

– Décomposition en fraction partielle

G z C zA

c z

B e z

d z d z

C ze e z

a z a z

kk

k

N

k

kk

Nk k

k kk

N

kk

k

N

ok k

k kk

N

p

p s

( )( )

( )( )*

01

1

1

1 11

0

11

11

22

1

1

1

1 1

1

1 2

Cellule 2nd ordre

Cellule 2nd ordre

Retard etMultiplication

x[n] y[n]