63
Filtres Numériques Linéarité : Invariance temporelle : ) ( n x SLIT discret ) ( n y ) ( 1 n x ) ( 1 n y ) ( 2 n x ) ( 2 n y ) ( ) ( 2 2 1 1 n x n x α α + ) ( ) ( 2 2 1 1 n y n y α α + ) ( n x ) ( n y ) ( τ - n x ) ( τ - n y Principe de superposition Stationarité Ce sont des Systèmes Linéaires Invariants dans le Temps discrets :

Filtres Numériques - Free

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Filtres Numériques - Free

Filtres Numériques

Linéarité :

Invariance temporelle :

)(nx SLIT discret )(ny

)(1 nx )(1 ny

)(2 nx )(2 ny

)()( 2211 nxnx αα + )()( 2211 nyny αα +

)(nx )(ny

)( τ−nx )( τ−ny

Principede

superposition

Stationarité

Ce sont des Systèmes Linéaires Invariants dans le Temps discrets :

Page 2: Filtres Numériques - Free

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 Discret )(nh

∑ −= )()()( knkxnx δ

)()()( nhnxny ∗=

∑ −= )()()( knhkxny

Page 3: Filtres Numériques - Free

Le Systèmes Linéaires Invariants dans le Temps discrets sont régis par

Convolution continue � discrète

∫+∞

∞−−=∗= duutxuhthtxty )()()()()(

Ce sont des Systèmes à temps discrets : ∑+∞

−∞=

−==n

N nTetnhthth )()()()( δ

Traitant des signaux à temps discrets : ∑+∞

−∞=

−==n

N nTetnxtxtx )()()()( δ

∫ ∑∑+∞

∞−

+∞

−∞=

+∞

−∞=

−−−= dulTeutlxkTeukhtylk

)()()()()( δδ

∑ ∑ ∫+∞

−∞=

+∞

−∞=+−

+∞

∞−−−−=

k lTelkt

dulTeutkTeulxkhty44444 344444 21

))((

)()()()()(

δ

δδ

l'opération de convolution continue :

knllknposons −=⇒+=

444 3444 2144 344 21)()(

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

ty

nn

ny

k

N

nTetnynTetknxkhty ∑∑ ∑+∞

−∞=

+∞

−∞=

+∞

−∞=

−=−−= δδ ∑+∞

−∞=

−=k

knxkhny )()()(

)()()( ttt δδδ =∗

Page 4: Filtres Numériques - Free

Réponse en fréquence

∑+∞

−∞=

−=k

knxkhny )()()(

Si alors :fnTejenx π2)( = 43421

444 3444 21 )(

2

)(

2)(2 )()()(nx

fnTej

fH

k

fkTej

k

Teknfj eekhekhny πππ

== ∑∑

+∞

−∞=

−+∞

−∞=

SLIT DiscretfnTeje π2 fnTejefH π2)( ⋅

∑+∞

−∞=

−=k

fkTejekhfH π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.

nTeeα

Page 5: Filtres Numériques - Free

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

fnTejenhfH π

� Voir la fonction "sptool" de Matlab

Bande de transition

Gabarit

Bande affaiblie

Bande passante

)( fH

0

11 δ+

11 δ−

1

1f 2f2Fe f

f∆

6Fe

cF =

78 n

79=N

39

)(nh

0

Page 6: Filtres Numériques - Free

Filtrage

∑ −=k

knxkhny )()()(

)(nx )(nh )(ny

Le filtrage d'un signal consiste en sa convolution par la réponse impulsionnelle du filtre :

Exemple :

n0

Remarque : Le signal de sortie est déphasé� diagramme de Bode

)(ny

)(nx

Fef 3.02 =Fef 03.01 =

Page 7: Filtres Numériques - Free

2Fe

Diagramme de Bode

0

0

1

f

2Fe0 f

)( fH

dBfH )(

60−

4Fe

2Fe f

4Fe

π−

π+

)( fϕ

Exemple pour un filtre récursif

Page 8: Filtres Numériques - Free

Filtrage dans le domaine fréquentiel

dfefXnx fnTej

∫+∞

∞−= π2)()(

Convolution par)(nx )(ny

dfefHfXny fnTej

fY

∫+∞

∞−= π2

)(

)()()(43421

)(nh

)( fX)( fHMultiplication par

)( fY

TF TF -1

)()()( fHfXfY ⋅=

Résolution théorique, traitement d'images, traitement par blocs, …

Page 9: Filtres Numériques - Free

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

kk

knxkhknxkhny

)(nδ RIF )(nh

1−N n0n0

{ }LL4444 34444 21

LLL 00)1()1()0(00)(termesN

Nhhhnh −=

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.

Page 10: Filtres Numériques - Free

Représentation

∑−

=

−=1

0

)()()(N

k

knxkhny

{ })1()1()0()( −=↑

Nhhhnh L

)(nx

)(ny

Te Te Te TeL Te

+

)1(h

+

)2(h

+

)3(h

+ +

)1( −Nh)0(h L

L

)1( +− Nnx

Page 11: Filtres Numériques - Free

Filtre à phase linéaire

Ces filtres présentent une réponse impulsionnelle symétrique :

M

)3()2(

)2()1(

)1()0(

−=−=−=

Nhh

Nhh

Nhh

0

5.0

78 n

)(nh

( ) ( ) ( )( )44444 344444 21

43421

)(

1

02

121

0

2221

0

22

21

2

21

21

21

2cos2)()()()(

fR

n

N

e

Tefj

n

TenfjTenfjTefjN

n

fnTej

N

fj

N

N

NNN

TenfnheeenheenhfH ∑∑∑−

=

−−−

=

−−−+−−

=

− −=

+==

−−−−π

α

πππππ

N pair :

N impair :

( ) ( ) ( )( )4444444 34444444 21

43421

)(

1

02

12

121

0

222

122

1

21

21

21

21

21

2cos2)()()()()(

fR

n

NN

e

Tefj

n

TenfjTenfjNTefj

N

fj

N

N

NNN

TenfnhheeenhhefH

−+=

++= ∑∑

=

−−−−

=

−−−+−−−

−−

−−−π

α

ππππ

Page 12: Filtres Numériques - Free

π−π−

π+

Exemple de filtre à phase linéaire

{ }0.053700.0916-00.31310.50.313100.0916-00.0537)(↑

=nh

( ) ( ) ( )( )44444444444444 344444444444444 2143421

)(

52 10cos20.05376cos20.09162cos23131.05.0)(fRe

Tefj fTefTefTeefHfj

πππα

π ×+×−×+= −

1

π+

0 f

)( fR

0 f

0 f

)( fϕ

R(f) et phase linéaire Diagramme de Bode : Module et argument

f

1

)( fH

0

)()( fRfH =

)0)( quand ()( <±= fRff παϕ

( )1−=± πje

Page 13: Filtres Numériques - Free

Phase linéaire = Retard

{ }0.053700.0916-00.31310.50.313100.0916-00.0537)(↑

=nh

( ) ( ) ( )( )44444444444444 344444444444444 2143421

)(5 de retard

52 10cos20.05376cos20.09162cos23131.05.0)(fRTe

Tefj fTefTefTeefH ππππ ×+×−×+= −

ftje π2321)(

22)(2

fH

fjftjtfj eee τππτπ −− ×=τ

)(nx )(nyTe5)( fR

Un retard se traduit par un déphasage linéaire

Phase linéaire Retard pur⇔

Page 14: Filtres Numériques - Free

)(ny

Phase linéaire = Retard

{ }0.053700.0916-00.31310.50.313100.0916-00.0537)(↑

=nh

( ) ( ) ( )( )44444444444444 344444444444444 2143421

)(5 de retard

52 10cos20.05376cos20.09162cos23131.05.0)(fRTe

Tefj fTefTefTeefH ππππ ×+×−×+= −

)( nx )( nh )( ny

n0

)(nx

n0

t0

)(tx

t0

f0

2Fe

2Fe−

)( fX

f2Fe

2Fe−

)( fY

f0

2Fe

2Fe−

)( fX

0

f0

2Fe

2Fe−

)( fY

Harmoniques de

5

Te5

)( fR

)(tyHarmoniques de

)( fR

Zoom

Page 15: Filtres Numériques - Free

Réponse impulsionnelle antisymétrique

( ) ( ) ( ) ( ) ( )( )44444444444444444444444 344444444444444444444444 2143421

)(9 de retard

92 18sin20.026714sin20.058410sin20.10496sin20.19912sin26323.0)(fRTe

Tefj fTefTefTefTefTejefH ππππππ ×+×+×+×+×= −

n0

)(nh

189

19=N

Déphasage de 2

π

)(nx )(nyτ)( fR

{ }0267000584001049001991006323.0063230019910010490005840002670)( .........nh −−−−−=↑

Page 16: Filtres Numériques - Free

Filtre de Hilbert

)(nx )(nxRτ

)(nh )(nxI

Partie réelle

Partie imaginaire

2Fe

2Fe

2Fe

0

1

π

π−2π−

)(nh

n

f

f

f

)( fH dBfH )(

20−

40−

60−

{ }0267000584001049001991006323.0063230019910010490005840002670)( .........nh −−−−−=↑

Page 17: Filtres Numériques - Free

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

nZnhZH )()(

La fonction de transfert en Z est le pendant de la transformée de Laplace pour les systèmes discrets :

Remarque :

( ) ( ) ( ) ∑∑ −−====

n

fnTej

n

nfTejfTej enhenheZHfH πππ 222 )()(

Page 18: Filtres Numériques - Free

Synthèse des filtres RIF

)( fH )(nh

∑ −=n

fnTejenhfH π2)()(

1−TF

� Déterminer réalisant la fonction de filtrage désirée)(nh )( fH

On sait que est la Transformée de Fourier de :)( fH )(nh

� est la Transformée de Fourier Inverse de .)( fH)(nh

Mais encore ?

Page 19: Filtres Numériques - Free

Synthèse des filtres RIF

est périodique. En effet :)( fH

)(.)()()(1

22)(2 fHeenhenhkFefHn

knFeTejfnTej

n

nTekFefj ===+ ∑∑ −−+−43421

πππ

� La transformation de Fourier adaptée aux fonctions périodiques est laSérie de Fourier :

∫−⋅=

T

tj dtetxT

nc Tnπ2)(

1)(

∑ +⋅=n

tj Tn

enctx π2)()(

Problème : est périodique dans le domaine fréquentiel …)( fH

� Série de Fourier Inverse

f

)(nc

tT T2T−

)(tx

0

Page 20: Filtres Numériques - Free

Serie de Fourier Inverse

∫−⋅=

T

tj dtetxT

nc Tnπ2)(

1)(

∑ +⋅=n

tj Tn

enctx π2)()(

∫+

+⋅=Fe

e

fjdfefH

Fenh

fnTej

Fen

43421π

π

2

2)(1

)(

∑−

−⋅=n e

fj

fnTej

Fen

enhfH 43421π

π

2

2)()(

f

)(nc

tT T2T−

)(tx

0

n

)(nh

fFe Fe2Fe−

)( fH

0

Page 21: Filtres Numériques - Free

Application

fFe2

Fe−

)( fH

0

∫+

+=c

c

f

f

fnTej dfeFe

nh π21)(

1

cf 2

Fe+

[ ]( )

444 3444 21nTefj

nTefjnTefj

c

cc eenTejFe

nhπ

ππ

π2sin2

22

2

11)( −+ −=

( )nTef

nTef

Fe

fnh

c

cc

ππ

2

2sin2)( =

∫+⋅=

Fe

fnTej dfefHFe

nh π2)(1

)(

Problème : n'est pas causal et est de longueur infinie !)(nh

� Il est nécessaire de tronquer et retarder …)(nh

n

)(nh

Page 22: Filtres Numériques - Free

Troncature de

)(tw

� Il faut encore rendre causal …

t t

f f

)(nh )(2 nh

)( fH )(2 fH

)( fW

)()( twth ⋅

)()( fWfH ∗

)(2 nh

fNTe

fNTeNTefW

ππ )sin(

)( =

NTe

NTe1

)(nh

1

Page 23: Filtres Numériques - Free

Rendre causal )(nh

n

)(2 nh )()( 23 Knhnh −=

K K

N

0N

nK

21−= NK

)()()( 22 nxnhny ∗= )()()()( 223 KnynxKnhny −=∗−=

)(2 nh KTe)(nx )(2 ny )(3 ny

)( fϕ Tef N2

12 −− π )(3 fϕ

f f f

fff

)( fH )( fR )(3 fH

π− π− π−

π+ π+ π+

2Fe

2Fe

2Fe

2Fe

2Fe

2Fe

2Fe

2Fe

2Fe

2Fe

2Fe

2Fe

Représentationde Bode

H(f) idéale Représentationphase linéaire

Page 24: Filtres Numériques - Free

Phénomène de Gibbs

)( fH

f

f

fn

n

n

)( fH

)( fH

)(nh

)(nh

)(nh

40

10

150

09,0

09,0

09,0

)( fH )( fH )( fH

2Fe

2Fe−

2Fe

2Fe

2Fe−

2Fe−

2Fe−

2Fe−

2Fe−

2Fe

2Fe

2Fe

)( 1τ−fcH

τ

)( fcH )( 1τ+fcH

Page 25: Filtres Numériques - Free

Fenêtrage

)( fH

fn

)(nh

n

n

f

f

)( fH

)( fH

2Fe

2Fe

2Fe

2Fe−

2Fe−

2Fe−10

40

150

)(nh

)(nh Hamming

)( fW

)( fWdB

fW )(

dBfW )(

f

f

2Fe

2Fe

2Fe−

2Fe−

2Fe

2Fe

2Fe−

2Fe−

Te10Te10−

)(tw

Te10Te10−

t

t

dB20−

0

0

dB40−

dB60−

dB20−

dB40−

dB60−

Hamming �

Boxcar �

Page 26: Filtres Numériques - Free

Egaliser les ondulations

� Filtres RIF à ondulations réparties (equiripple)

�Algorithme de Remez

n

f

150

)(nh Hamming

)(nh

)(nh

dBfH )(

n

n

2Fe

2Fe

2Fe

2Fe−

2Fe−

2Fe−

dBfH )(

dBfH )(

f

f

10

40

Page 27: Filtres Numériques - Free

Filtre Equiripple

� Voir la fonction "sptool" de Matlab

Fc=Fe/6f1=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);

( )2110

1103

2 logˆδδf

FeN

∆=

Bande de transition

Gabarit

Bande affaiblie

Bande passante

)( fH

0

11 δ+

11 δ−

1

1f 2f2Fe f

f∆

78 n

79=N

39

)(nh

0

93,79ˆ =→ N

Page 28: Filtres Numériques - Free

Filtres à Réponse Impulsionnelle Infinie (RII)

∑+∞

=

−=0

)()()(k

knxkhny

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 :

)(nx

)(ny

Te+b

)1()()( −⋅+= nybnxny

)()( nnx δ= � { }LL nbbbbnhny 321)()(↑

==

� Vérifier qu'il s'agit bien d'un SLIT

Page 29: Filtres Numériques - Free

Équations aux différences

∑∑−

=

=

−=−1

0

1

0

)()()()(N

k

M

k

knxkaknykb

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

01

1

01 )()()()(

N

k

M

k

knxkaknykb

∑∑−

=

=

−=−1

02

1

02 )()()()(

N

k

M

k

knxkaknykb

Alors : ( ) ( )∑∑−

=

=

−+−=−+−1

021

1

021 )()()()()()(

N

k

M

k

knxknxkaknyknykb

Si :

Et si :

Page 30: Filtres Numériques - Free

Filtre récursif

{44 344 2144 344 21

récursivepartie

M

k

transversepartie

N

k

knykbknxkanyb ∑∑−

=

=

−−−=1

1

""

1

01

)()()()()()0(

Sous certaines conditions, il est possible de calculer récursivement le signal de sortie :

Remarque : On peut faire en sorte que 1)0( =b

)(nx

)(ny

Conditions : Il faut que les soient tels que le système soit stable .

)(kb

+

)(ka )(kbTe Te Te TeL Te

+

)1(a

+

)2(a

+

)3(a

+ +

)1( −Na)0(a L

L

Te Te Te TeL Te

+ +

)3(b

+

)2(b)1( −Mb L

L+

)1(b

Page 31: Filtres Numériques - Free

Réponse Impulsionnelle Infinie

44 344 2144 344 21récursivepartie

M

k

transversepartie

N

k

knhkbknkanh ∑∑−

=

=

−−−=1

1

""

1

0

)()()()()( δ

)(nδ

)(nh

+

)(ka )(kbTe Te Te TeL Te

+

)1(a

+

)2(a

+

)3(a

+ +

)1( −Na)0(a L

L

Te Te Te TeL Te

+ +

)3(b

+

)2(b)1( −Mb L

L+

)1(b

{ ( ) }L)0()1()1()1()0(*)2()2()0()1()1()0()( abababaabaanh ++++=↑

0 20 40 60 80 100-20

-10

0

10

20

0 20 40 60 80 100-1

-0.5

0

0.5

1

Système stable : Système instable

est difficile àdéterminer de cette manière !

)(nh

∞<∑∞

=0

)(k

kh

Page 32: Filtres Numériques - Free

En effet, si alors :

Réponse en fréquence et fonction de transfert en Z

Si la réponse impulsionnelle est divergente : alors :

+fnTejenx π2)( =44 344 21

43421

)(

0

2

)(

2 )()(

fH

k

fkTej

nx

fnTej ekheny ∑∞

=

−= ππ

∑∞

=

−=0

2)()(k

fkTejekhfH π

∑∞

=

−=0

)()()(k

knxkhny

∞→)( fH

Mais il est toujours possible de calculer la réponse à un signal :

( )43421

nfTeje

fnTejnn eZπ

πρ2

2=

nZnx =)( {

43421)(

0)(

)()(

ZH

k

k

nx

n ZkhZny ∑∞

=

−=

∑∞

=

−=0

)()(k

kZkhZH

est la TF de )( fH )(nh

Et si alors, amortit et rend la série convergente.minZ ρ> kZ −

est la TZ de )(ZH )(nh

réel)(kh

∞<∑∞

=0

)(k

kh

Page 33: Filtres Numériques - Free

Transformée en Z

La fonction de transfert en Z est la Transformée en Z de

nZnx =)(

∑∞

=

−=0

)()(k

kZkhZH

)(ZH )(nh

{ }L)3()2()1()0()( hhhhnh↑

=

TeZ de retard1 ≡−

{ {kTe

k

nx

nkn ZZZknx −− ⋅==−)(

)(

)( pnh − )()'()(

)''(0'

)'( ZHZZkhZpkh p

pkkpkkk

pk

pk

k −

+=→−=

=

+−∞

=

− ==− ∑∑

)( pnx − ∑∞

=

−− =0

)()( avec )(k

kp ZkxZXZXZ

Généralisation :

La transformation en Z est l'équivalent de la transformation de Laplace : pTeeZ =

Page 34: Filtres Numériques - Free

Application

∑∑−

=

=

−=−1

0

1

0

)()()()(N

k

M

k

knxkaknykb

De même si :

∑−

=

=

=1

0

1

0

)(

)(

)(M

k

k

N

k

k

Zkb

Zka

ZH

∑∞

=

−=0

)()()(k

knxkhny

∑∑∞

=

−∞

=

− ⋅=⋅=00

)()()()()(k

k

k

k ZkhZXZZXkhZY

∑∞

=

−==0

)()(

)()(

k

kZkhZX

ZYZH

∑∑−

=

−−

=

− =1

0

1

0

)()()()(N

k

kM

k

k ZkaZXZkbZY

Page 35: Filtres Numériques - Free

Pour retrouver , il suffit de remplacer par

)()( fHZH ↔

fTejeZ π2↔

)( fH Z fTeje π2

∑∑∞

=

−∞

=

− =↔=0

2

0

)()()()(k

fkTej

k

k ekhfHZkhZH π

Mais attention, il faut que la série converge pour 1=Z

De même :

∑−

=

=

=

=

=↔= 1

0

2

1

0

2

1

0

1

0

)(

)()(

)(

)()(

M

k

fkTej

N

k

fkTej

M

k

k

N

k

k

ekb

ekafH

Zkb

ZkaZH

π

π

Remarque : )()( mais )()( 2 fTejeZHfHZfHfH π===≠

Page 36: Filtres Numériques - Free

Factorisation

∑−

=

=

=1

0

1

0

)(

)(

)(M

k

k

N

k

k

Zkb

Zka

ZH

La fonction de transfert apparaît comme une fraction polynomiale et peut-être factorisée :

( )

( )

( ) ( )

( ) ( )

( )

( )∏

=

=

=

−−

=

−−

=

−−−−

=

−−−−

−=

−== M

kk

N

kk

M

kk

M

N

kk

N

M

k

kMM

N

k

kNN

ZPb

ZZa

PZbZ

ZZaZ

ZkbZ

ZkaZZH

1

1

1

1

1

1

1

1

1

0

11

1

0

11

1)0(

1)0(

)0(

)0(

)(

)()(

)(ZH

Les racines du numérateur sont appelées zéros .kZ

Les racines du dénominateur sont appelées pôles .kP

Page 37: Filtres Numériques - Free

Cascade

Toutes les cellules récursives doivent être stables !

( ) ∏∏=

−=

−×−=

M

k k

N

kk

ZPZZaZH

11

1

1

1

11)0()(

)(ZX

: Toujours stable

)1()()()(

)(

1

11

−+=→=− − nyPnxny

ZX

ZY

ZPk

k: Cellule récursive

du premier ordre

111 −− ZZ 1

21 −− ZZ 11 −− ZZNL

)(ZY111

1−− ZP 1

21

1−− ZP 11

1−− ZPM

L

)1()()()(

)(1 1 −+=→=− − nxZnxny

ZX

ZYZZ kk

Page 38: Filtres Numériques - Free

Cellule récursive du 1er Ordre

Si alors croît exponentiellement � divergence

)(nx

)(ny

Te+b

1>b

{ }LL nbbbbnh 321)(↑

=

{ )1()()( −⋅+= nybnxnykP

)(nh

Si alors � mémoire infinie1=b 1)( =nh

Si alors décroît exponentiellement � satisfaisant1<b )(nh

� Le système est stable si : 1<b

( )

<−====

−−

=

−∞

=

−∞

=

− ∑∑∑sinon

1si1

1)()(

11

0

1

00

bZbZbZZbZkhZH

k

k

k

kk

k

k

→<→

<→

− 111

2

bbZ

eZ fTej π

1<kP Stabilité si tous les pôles sont àl'intérieur du cercle unité.

Page 39: Filtres Numériques - Free

Interprétation Géométrique

( ) ( )

( ) ( )∏

=

−−

=

−−

−=

M

k

kM

N

kk

N

PZZ

ZZZ

aZH

1

1

1

1

)0()(

( )

( )∏

=

−−

=

−−

−===

M

kk

fTejTeNfj

N

kk

fTejTeNfj

fTej

Pee

Zee

aeZHfH

1

2)1(2

1

2)1(2

2 )0()()(ππ

ππ

π

=

=

=

==

=M

kk

N

k

k

M

kdp

kfTej

N

kdz

kfTej

fdp

fdz

a

Pe

Ze

afH

k

k

1

1

1

2

1

2

)(

)(

)0()0()(

43421

4434421

π

π

0 0.2 0.4 0.6 0.8 10

0.5

1

1.5|H(f)|

0 0.2 0.4 0.6 0.8 1-2

0

2phase

Phase non-linéaire

Réponse en fréquence périodique

Re

Im

0=f

1

j

1−

j−

4Fef =

43Fef =

2Fef =

1Z

1Z

1P

1P

)( fdz

)( fdp

fTeje π2

Page 40: Filtres Numériques - Free

Synthèse

La synthèse des filtres RII est basée comme en analogique sur les fonctions modèles : Butterworth , Tchebycheff, Cauer (Elliptique)

Influence des pôles

Influence des zéros

(Source : Wikipédia)

Page 41: Filtres Numériques - Free

Exemple sous Matlab (TP)

[N, Wn] = ellipord(0.4, 0.6, 0.09, 60); � N = 6 Wn = 0.4

[B,A] = ellip(N,0.09,60,Wn);

� B = 0.0207 0.0585 0.1060 0.1255 0.1060 0.0585 0.0207

� A = 1.0000 -1.9673 2.9074 -2.5353 1.5771 -0.5972 0.1163

0 0.5 10

0.5

1

1.5|H(f)|

0 0.5 1-100

-50

0

50|H(f)| (dB)

0 0.5 10

5

10

15

20Groupe delay

0 0.5 1-200

-100

0

100

200Phase (°)

Page 42: Filtres Numériques - Free

Filtres particuliers

• Cellule du 1er ordre purement récursive (filtrage passe bas)

• Cellule de second ordre purement récursive (résonnance)

• Cellule de second ordre générale (filtre réjecteur, déphaseur pur)

• Oscillateur (générateur sinusoïdal)

Page 43: Filtres Numériques - Free

Cellule du premier ordre purement récursive

)(nx

)1()()( −+= nybnxny

Te+b

{ }LL nbbbbnh 321)(↑

=

11

1)( −−

=bZ

ZH

fTejbefH π21

1)( −−

=)2cos(21

1)(

2 fTebbfH

π−+=

−=

)2cos(1

)2sin()(

fTeb

fTebArctgf

ππϕ

2π−

0

0

2Fe

2Fe

2Fe−

2Fe−

)( fϕ

)( fH

2π+

b−11

b+11

0=f

1

j

1−

j−

2Fef =

fTejeZ π2=0>b 0=f

1

j

1−

j−

2Fef =

fTejeZ π2=0<b

2π−

0

0

2Fe

2Fe

2Fe−

)( fϕ

)( fH

2π+

b−11

b+11

2Fe−

Page 44: Filtres Numériques - Free

Filtre passe-bas du 1er Ordre

)(nx

)1()()1()( −+−= nybnxbny

Te+b

11

1)( −−

−=bZ

bZH

0=f

1

j

1−

j−

2Fef =

fTejeZ π2=

0

)( fH

bb

+−

11

b−1

2Fe

2Fe−

1

5.0

9.0

99.0

( ) ( ) 110 ==== ZHfH

∑∑−∞=

−∞

=

−=−−=n

i

in

i

i bixbinxbbny )()1()()1()(0

0

0

n

n

inb −

)(nx

)(ny

1)1(0

=− ∑∞

=i

ibb

npondératio

Page 45: Filtres Numériques - Free

Mise en œuvre en virgule fixe

)(nx

)1()()1()( −+−= nybnxbny

Te+bb−1

))()1(()1()1()()(

44 344 21321ne

nxnybnyny −−−−−=µ

PP nenynyb

−⋅−−==−

2)()1()( alors 21

1 si

Décalage de P bits

� Mise en œuvre en virgule fixe sur N>P bits

Algorithme LMS

Page 46: Filtres Numériques - Free

Cellule de second ordre purement récursive

)(nx Te+1P

)(1

1

1

1

)(

12

)(

11

21

ZHZPZP

ZHZH

=−

×− −−

4342143421

Constituée de 2 cellules du premier ordre en cascade :

Te+2P

)(ny

{2

221

121

1

)(1

1)( −− ++−

=⇒ZPPZPP

ZH

bb43421

)2()1()()()(

)(

1

1)( 212

21

1

−−−−=⇒=++

= −− nybnybnxnyZX

ZY

ZbZbZH

Stabilité : et 11 <P 12 <P

Page 47: Filtres Numériques - Free

Cellule de second ordre à coefficients réels

)(nx

2b

22

111

1)( −− ++

=ZbZb

ZH

)2()1()()( 21 −−−−= nybnybnxny

Te Te

1b

Lorsque le filtre est à coefficients réels ( et réels), les pôles et sont soit réels soit complexes conjugués

1b 2b 1P 2P

( )21222

21

11 bZbZZZbZb ++=++ −−−2

21 4bb −=∆

∆−−=

∆+−=

⇒≥∆

2

201

2

11

bP

bP

∆−−−==

∆−+−==⇒<∆

2

201*

2

11

jbPP

jbPP

Page 48: Filtres Numériques - Free

Réponse en fréquence

)(nx Te+1P

11

11

1)( −−

=ZP

ZH

Te+2P

)(ny

fTejfTej ebebfH

ZbZbZH ππ 4

22

12

21

1 1

1)(

1

1)( −−−− ++

=⇒++

=

12

21

1)( −−

=ZP

ZH1

j

1−

j−

fTejeZ π2=1P

1

j

1−

j−

fTejeZ π2=

2P

02Fe

2Fe−

)( fH

mH

0f+0f−

02Fe

2Fe−

)(2 fHr−1

1

r+11

Tefj perPπ2

2−=

pf−02Fe

2Fe−

)(1 fH

r−11

r+11

Tefj perP π21

+=

pf+

1

j

1−

j−

fTejeZ π2=

2P

1P

θr

pff ≈0

×

Page 49: Filtres Numériques - Free

Réponse en fréquence

fTejfTej ebebfH ππ 4

22

11

1)( −− ++

=

1

j

1−

j−

fTejeZ π2=

2P

1P

( ) ( ) ( )fTebfTebbbbfH

ππ 4cos22cos121

1)(

2212

22

1

2

+++++=

( ) ( )( ) ( )

+++=

fTebfTeb

fTebfTebArctgf

ππππϕ4cos2cos1

4sin2sin)(

21

21

2Fe

2Fe−

)( fH

mH

0f+0f−

0f+

0f−2Fe

2Fe−

2π+

2π−

)( fϕ

résonance

Page 50: Filtres Numériques - Free

Résonance

1

j

1−

j−

fTejeZ π2=

2P

1P

( ) ( ) ( )fTebfTebbbbfH

ππ 4cos22cos121

1)(

2212

22

1

2

+++++=

2Fe

2Fe−

)( fH

mH

0f+0f−

( ) ( ) ( ) 04sin422sin2120)(

221

2

=++⇒= fTeTebfTeTebbdf

fHdππππ aaa cossin22sin =

( ) ( )[ ] ( ) 02sin2cos41 221 =++ fTefTebbb ππ ( )2

02sin FekfpourfTe ==π

( ) ( ) sifTebbb 02cos41 221 =++ π Condition de résonance

Si c'est le cas : ( ) ( )2

210 4

12cos

b

bbTef

+−=π

( )1

4

1

2

21 ≤+b

bb

1cos22cos 2 −= aa

Hb

b

b bm =

− −1

1

4

42

2

2 12

0

Page 51: Filtres Numériques - Free

Réponse impulsionnelle

)(nδ Te+1P

)()()( 21 nhnhnh =∗

Te+2P

)(nh)(1 nh

∑∑∑=

=

−∞

−∞===−=

n

i

iinn

i

ini

i

PPPPPinhihnh0

2120

2121 )()()(

)(21 nhPP nn =∗

( ) θ

θ

θ

θθθθθ

2

)1(2)1(

0

221 1

1)(

j

nj

j

njn

n

i

ijjnnjj

e

e

e

ereernherPeterPsi

−−==⇒==

+

+−

=

−− ∑

⇒−−= −

++−

θθ

θθ

jj

njnjn

ee

eernh

)1()1()(

θθ

sin

)1sin()(

+= nrnh n

)(nh

n0

Page 52: Filtres Numériques - Free

Décomposition en éléments simples

⇒+=⇒==

+−

θθθθ

sin2

)1sin(2)(

1

21 jr

njrnherPeterPsi

njj

θθ

sin

)1sin()(

+= nrnh n

( )( ) ( ) ( )

−+

−=

−−=

++=

++= −−

2

2

1

12

21

2

212

22

21

1

11

1

1)(

PZ

A

PZ

AZ

PZPZZ

bZbZZ

ZbZbZH

( )21

1111

: vient il ; faisonset par sMultiplionPP

APZPZ−

==−

( )12

2221

: vient il ; faisonset par sMultiplionPP

APZPZ−

==−

−−

−−=

−−

−−= −− 1

21

1212121

2

1

1

1

111)(

ZPZPPP

Z

PZPZPP

ZZH

[ ]21

12

11

2121

)1()1(1

)(PP

PPnhnh

PPnh

nn

−−=+−+

−=⇒

++

2112

1

PPAA

−−=−=

)(nx + )(ny)1(1 +nh

21

1

PP −)1(2 +nh

)(nh

n0

Page 53: Filtres Numériques - Free

1P

2P

Cellule de second ordre générale

22

11

22

110

1)( −−

−−

++++

=ZbZb

ZaZaaZH

)2()1(

)2()1()()(

21

210

−−−−−+−+=

nybnyb

nxanxanxany

)(nx

2b

Te Te

1b

TeTe

0a 1a 2a

2Fe

2Fe−

)( fH

0

Im

Re

2Z

1Z

2Fe

2Fe− 0

)( fN

)( fD

Page 54: Filtres Numériques - Free

Cas particuliers : filtre réjecteur

Re

Im

1

j

1−

j−*1Z

1Z

1P

*1P

fTeje π2

Fer

Bπ−≅→ 1

*12

21

*12

21

0

0

PPetreP

ZZeteZTefj

Tefj

====

π

π

2

Fe−2

Fe+

)( fH

1

00f+0f−

Tef02π

2

Fe−2

Fe+

)( fH

1

00f+0f−

Page 55: Filtres Numériques - Free

Cas particuliers : déphaseur pur

⇒++

++= −−

−−

22

11

2112

1)(

ZbZb

ZZbbZH

2

Fe−

Tef02π

2

Fe+0

0f+0f−

)( fϕ

1)( =fH

Page 56: Filtres Numériques - Free

Mise en œuvre des filtres numériques en précision finie

1) La quantification des coefficients des filtres conduit à une modification de leur réponse en fréquence.

2) Les erreurs d'arrondi lors de l'opération de filtrage (calculs) conduisent àune dégradation du rapport signal à bruit.

Page 57: Filtres Numériques - Free

Il faut donc que q soit aussi petit que possible :

� grand

� A petit � structure cascade

Quantification des coefficients

∑−

=

=

==1

0

2

1

0

2

)(

)(

)(

)()(

M

k

fkTej

N

k

fkTej

ekb

eka

fD

fNfH

π

π2

)()()()(q

kakakaka ≤+→ δδ

2)()()()(

qkbkbkbkb ≤+→ δδ

2)()()(

2)()()(

1

0

2

1

0

2

qMfeekbfe

qNfeekafe

N

M

k

fkTejD

N

N

k

fkTejN

<=

<=

∑−

=

=

π

π

δ

δ

)()(

)()()(

fefD

fefNfH

D

N

++

=

cb

Aq

2

2=

cb2

Page 58: Filtres Numériques - Free

Les et sont des polynômes à coefficients réels du premier ou du second ordre dont les coefficients sont à dynamique limitée :

Structure cascade

∏∏

∑=== −

=

=

ii

ii

M

k

k

N

k

k

ZD

ZN

ZD

ZN

Zkb

Zka

ZH)(

)(

)(

)(

)(

)(

)(1

0

1

0

)(ZNi )(ZDi

( ){ {

21)( 22

1

Re21

2

<⇒++= −−

ij

P

i

P

ii bZbZbZD

ii

( ){ { 2)11()( 21

Re210

2

≤⇒++= −−

ij

ZZ

iii aZZaaZN

ii

zéros sur le cercle (filtre elliptique)

Les formes développées et présentent des coefficients à dynamique plus importante (convolution des dynamiques)

� q petit � A petit � mise en œuvre suivant une structure cascade.

)(ZN )(ZD

Page 59: Filtres Numériques - Free

Pour que la dégradation de la réponse en fréquence reste de l'ordre de ses ondulations initiales; il faut que :

Filtre elliptique

22

11

211

01

0

1

0

1

1

)(

)(

)( −−

−−

=

=

++++== ∏

ZbZb

ZZaa

Zkb

Zka

ZHii

i

i

iN

k

k

N

k

k

( )

+

∆+

Feff

Febc 12sin

122

12 loglog1

1log

πδ

cbNbits

Aq −== 22

2

2

Source : Traitement numérique du signal - Maurice Bellanger – Dunod

Remarque : La formule n'est qu'indicative � décider du nombre de bits àadopter après avoir calculé réellement la réponse en fréquence dégradée (Matlab ou autre).

Page 60: Filtres Numériques - Free

Supposons que les données soient codées en interne sur bits. Lors du produit par les coefficients du filtre codés sur bits, on obtient des résultats sur bits qu'il convient de ramener sur bits � erreur d'arrondi.

Bruit de calcul

ibcb

ci bb + ib

x x x xs x x x xs

s x x xs

bitsib bitscb

bitsci bb +

x x x xs

bitsib

x x x x

arrondid'erreur

L'erreur d'arrondi au sein d'une cellule élémentaire peut être vue comme l'ajout d'un bruit (bruit de calcul).

Page 61: Filtres Numériques - Free

Bruit de calcul

Structure D-N

+

1b− Te

Te2b−

+1a

2a

+

+

)(nx )(ny

)(nes)(ne

Erreur d'arrondi sur N(Z)

Erreur d'arrondi sur D(Z)

Remarque : L'erreur d'arrondi subit la fonction de filtrage.

Et dans une structure cascade, les erreurs d'arrondi et subissent les fonctions de filtrage des cellules suivantes. Ces considérations conduisent à des règles d'implémentation.

)(ne

)(ne )(nes

Page 62: Filtres Numériques - Free

Règles

1) La dynamique du signal doit rester limitée au cours des calculs � ce qui conduit à constituer les cellules en associant les pôles les plus proches du cercle unité (les plus résonnants) aux zéros qui leurs sont le plus proches.

2) Les cellules sont d'autant plus "bruyantes" qu'elles sont raisonnantes. Elles doivent donc être disposées de la plus raisonnante à la moins raisonnante pour tirer profit du filtrage des erreurs d'arrondi.

3) Des facteurs d'échelles doivent être appliqués entre les cellules pour que les signaux occupent au maximum la dynamique permise.

Appairage des pôles et zéros

Page 63: Filtres Numériques - Free

Structure cascade

00a

+)(nx

)(0 ne

)(

1

1 fD)(1 fN

10a

+

)(1 ne

+

)(1 neK −

)(

1

fDK)( fNK

Ka0

+

)(neK

)(ny

101

+=km

k

Ha

dBen bruit à signalrapport du n dégradatio:

entréed' signaldu bits de Nb:

SB

x(n)bd

Remarque : La formule n'est qu'indicative � décider du nombre de bits àadopter en réalisant une simulation d'implémentation en précision finie (Matlab ou autre).

( ) ( )

++≅ ∆∆

Feff

FeSBdi bb

12sin1

21

2 loglog2