Вы находитесь на странице: 1из 58

Cours de

Traitement du signal

- Synthse de filtres 1re partie : Filtres Analogiques


Benot Decoux
benoit.decoux@wanadoo.fr

Cours de "Synthse de filtres", 1re partie

Plan
Introduction gnrale
Gnralits et rappels sur le filtrage

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre
I.1.2) Ralisation lectronique
I.1.3) Association des cellules lmentaires
I.2) Filtres de Butterworth
I.3) Filtres de Tchebyscheff
I.4) Filtres de Cauer
I.5) Filtres de Bessel
I.6) Comparaison des performances
I.7) Rsum des diffrentes tapes de synthse
I.8) Exemple complet

Introduction

Introduction gnrale (1/4)

Dfinitions
e(t) : entre

s(t) : sortie

E(p) =TL[e(t)]

S(p)=TL[s(t)]

h(t) : rponse impulsionnelle ( (t))

Reprsentations

Equation diffrentielle
N

n =0

Fonction de transfert
de Laplace

TL

d s(t) M
d e(t)
= bm
, MN
n
dt
dtm
m =0
Rponse impulsionnelle

H(p) =
TL

h(t)
Rponse une entre quelconque

Fonction de transfert
harmonique

H(j) =

Domaine temporel

Signaux quelconques

p=j

TF

TF

s(t) = (e * h)(t) = h(t )e()d

S(p)
E(p)

S(j)
S(f)
ou H(f) =
E(j)
E(f)

Signaux sinusodaux

Domaine frquentiel (complexe)

Introduction

Introduction gnrale (2/4)

Objectif
Se rapprocher des filtres idaux (le plus simplement possible)

H(j)

1
fc

20 log H(j)

fc
f

passe-bas

f1 f2

fc

fc

passe-haut

f1

f2

passe-bande

f1

f2

f1

f2

coupe-bande

Autre type de filtre courant : passe-tout (dphaseur pur)

H(j)

20 log H(j)

f
4

Introduction

Introduction gnrale (3/4)

Caractrisation des filtres "physiques"


- type : passe-bas, passe-haut, passe-bande : coupe-bande, passe-tout
- frquence(s) de coupure
- pente des variations (lie lordre du filtre)
- retard de phase

()
t =

- retard de groupe

d()
t =
g
d

Si la phase est linaire, tg est constant le signal ne subit pas de dformation.

Introduction

Introduction gnrale (4/4)

Stabilit
Condition par rapport aux ples
Un systme est stable si tous les ples de sa fonction de transfert de Laplace sont situs dans le demi-plan situ
gauche de laxe imaginaire du plan de la variable p :

zone de
stabilit

Im

plan p

Re
risque dinstabilit

Explication
Ple rel p0 :

H (p ) =

A
L

h(t) = Aep0t
p p0

Ples complexes conjugus p1,2=j :

H(p) =

A
L

h(t) = Aet. sin(t)


(p p1)(p p2)

Condition par rapport la rponse impulsionnelle


Soit h(t) la rponse impulsionnelle dun systme. Ce systme est stable si :

t =

h(t)dt <
6

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre

Cellules lmentaires de filtrage : 1er ordre

Cellule passe-bas du 1er ordre


Gain en dB :

HdB ( ) = 20 log H ( j )

Fonction de transfert harmonique :

H(j) =

1
1+ j

c
pente=-20dB/dcade
pente=-20dB/dcade

Cellule passe-haut du 1er ordre

c
H(j) =

1+ j
c
j

pente=20dB/dcade

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre

Cellules lmentaires de filtrage : 2e ordre (1/3)

Cellule passe-bas du 2e ordre


Exemple dun filtre passe-bas du 2e ordre :

H(j) =

coefficient damortissement
2

1 + 2j


+j
c c

1
, Q facteur de qualit)
2Q

=0,1
=0,1
Gain en dB :

HdB( ) = 20 log H ( j )

pente=-40dB/dcade
pente=-40dB/dcade
=0,7
=0,7
=2=2

Le cas =0,7 est intressant, puisque on a une rduction de gain assez limite (-3dB), et une pente 40dB/dc.
8

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre

Cellules lmentaires de filtrage : 2e ordre (2/3)

Cellule passe-bande du 2e ordre


Exemple dun filtre passe-bas du 2e ordre :
2


j

c
H(j) =
2

1 + 2j + j
c c

bande passante :
avec

f =

f0
Q

f0 = fc1 fc2

frquence centrale

Gain en dB :
=2

HdB( ) = 20 log H (j )

=0,7
=0,1

pente=-20dB/dcade

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre

Cellules lmentaires de filtrage : 2e ordre (3/3)

Cellules du 1er et du 2e ordre


1er ordre
Passe-bas :

Passe-haut :

1+ j
c

2er ordre
Passe-bas :

2 j

Passe-haut :


+j
1 + 2 j
c c
2

Passe-bande :

1+ j
c
j

j

0

1 + 2j
+j
0 0


1 + 2 j
+j
0 0

Coupe-bande :

1 + j

c

+j
1 + 2 j
c c

Dphaseur :


1 2j + j
c c
2

1 + 2j + j
c c

10

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre

Diffrentes formes des fonctions de transfert

Diffrentes formes des fonctions de transfert

j = p

H(j)
harmonique (rgime sinusodal)

H(p)

p / c = s

en variable de Laplace

H(s)

en variable de Laplace rduite


(forme normalise
indpendante de c)

Exemple : cellule passe-bas du 2e ordre

H(j) =

H(p) =

1
2


1 + 2j + j
c c

1
2

p p
1 + 2 +
c c

H(s) =

1
1 + 2s + s2

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre

utile pour tude en frquence : gain en dB et phase


(cellules lmentaires)

utile pour tude temporelle avec signaux (causals)


quelconques, tude des ples (tude stabilit, factorisation)

idem variable de Laplace, avec criture simplifie


(=variable de Laplace rduite)

11

Diffrentes formes des fonctions de transfert

Intrt de la forme normalise


Toute ltude peut porter sur la forme normalise ; indpendamment de c.

H(s ) =

H(s) =

1
1+ s

1
1 + 2s + s2

s= j

H(j) =

H(j) =

1
1+ j

c
1
2


1 + 2j + j
c c

Au final, il faut "dnormaliser" la fonction de transfert, cest dire remplacer s par j/c, pour pouvoir raliser le filtre
satisfaisant aux paramtre du filtrage..

12

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.1) Cellules du 1er et du 2e ordre

Transformation du type de filtrage

Passage du cas passe-bas aux autres cas


Le passage dun type lautre seffectue facilement par changement de variable.
Passe-bas passe-haut

s
Passe-bas passe-bande

1
s

1
1
s +
B
s

avec B =

f0

B : bande passante
1

s B s +
s

Passe-bas coupe-bande

fc2 fc1

fc1, fc2 : frquences de coupure


f0 : frquence centrale du filtre

13

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.2) Ralisation lectronique

Ralisation des cellules lmentaires par circuits passifs

Ralisation par circuits passifs


1er ordre
passe-bas

passe-haut

2e ordre

passe-bas

passe-bande

passe-haut

Mthode de calcul
Chacun de ces montages peut tre vu comme un pont diviseur de tension
avec 2 impdances complexes Z1 et Z2.
Dans le cas du 2e ordre, lune des 2 impdances est elle-mme constitue

Z1
Z2

de 2 impdances complexes en srie ou parallle.

14

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.2) Ralisation lectronique

Cellule lmentaire active du 1er ordre

Ralisation par circuits actifs : cellule du 1er ordre


La cellule du 1er ordre suivante permet de raliser des filtres passe-bas et passe-haut :

Passe-bas :

Z1 :

Z2 :

Passe-haut :

Z1 :

Z2 :

|H(j)|

Exemple : passe-bas avec R=1k et C=10nF

H(j) =

-R2/R1

R2
1
.
R1 1 + jR2C

(ch. log)

1/R2C

15

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.2) Ralisation lectronique

Cellule lmentaire active de Sallen-Key

Ralisation par circuits actifs : cellules du 2e ordre


Les structures de Sallen-Key et de Rauch permettent de raliser des filtres passe-bas, passe-haut et passe-bande
du 2e ordre.
Ils permettent dobtenir des facteurs de qualit moyens (jusqu 20 environ).
Structure de Sallen-Key

H=

Vs
kZ2Z4
=
Ve Z1Z4(1 H0) + Z1(Z2 + Z3) + Z2(Z3 + Z4)
avec

k=

Ra
+1
Rb

Passe-bas :

Z1 = R1 Z2 =

1
C2p

Z3 = R3

Z4 =

1
C4p

c =

1
R1R3C2C4

1 R1C2(1 H0) + R1C4 + R3C4 H = k


0
2
R1R3C2C4

1 R2C1 + R2C3 + R4C3(1 + H0)


H = k
0
2
R2R4C1C3

Passe-haut :

Z1 =

1
C1p

Z2 = R2

Z3 =

1
C3p

Z4 = R4

c =

1
R2R4C1C3

16

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.2) Ralisation lectronique

Cellule lmentaire active de Rauch

Ralisation par circuits actifs : cellules du 2e ordre


Structure de Rauch

H=

Vs
Y1Y3
=
Ve Y5(Y1 + Y2 + Y3 + Y4) + Y3Y4

Passe-bas :

Z1 = R1

Z2 =

1
C1p

Z3 = R2

Z4 = R3

Z5 =

1
C2p

c =

1
1 1
1
1
C
= +
+ R2R3 2
R 2 R 3 C1C 2
2 R1 R2 R3
C1

H0 =

c =

1
R1R2C2 C3

H0 =

R3
R1

Passe-haut :

Z1 =

1
C1p

Z2 = R1

Z3 =

1
C2p

Z4 =

1
C3p

Z5 = R2

Passe-bande :

Z1 = Z2 = R1

Z3 = Z4 =

1
Cp

c =

Z5 = R2

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.2) Ralisation lectronique

2
R1C

1
(C + C2 + C3 ) R1
2 1
R2C2C3

R1
2R2

H0 =

1
2

C1
C3

17

Cellule lmentaire active universelle

Ralisation par circuits actifs : cellules du 2e ordre


Cellule gnralise du seconde degr (ou filtre universel, ou filtre variables dtat)
Intrts :
- 4 filtrages de base dans une mme structure ;
- facteurs de qualit lvs (Q>10).
Inconvnient :
- phases des sorties diffrentes

Passe-bas :

H0 =

2R4
(gain statique)
R3 + R4

Passe-haut :

H0 =

2R4
R3 + R4

Passe-bande :

H0 =

R4
R3

Coupe-bande :

H0 =

Rb
2R4

Ra R3 + R4

c =

1
R1R2C1C2

R3
R2C2
R3 + R4 R1C1
18

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.2) Ralisation lectronique

Circuits passifs vs circuits actifs

Circuits passifs vs circuits actifs


Filtres passifs
Inconvnients :
- ncessitent parfois des composants volumineux (condensateurs et bobines)
Avantages :
- passifs, donc ne ncessitent pas dalimentation (exemple : enceintes acoustiques)
Filtres actifs
Inconvnients :
- ncessitent une alimentation
- bande passante limite donc limitation aux frquences basses
- sensibles leurs composants passifs (condensateurs et rsistances)
- produisent du bruit
- limits en tension
Avantages :
- permettent une intgration grande chelle (et notamment dans les processeurs)
- fiables
- cot de fabrication rduit

19

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.2) Ralisation lectronique

Etude des ples des cellules lmentaires

Mise en vidence des ples


Par factorisation du dnominateur, la fonction de transfert peut se mettre sous la forme :
N1

N1

pn
p pn
n=0

H(p) =

1
s sn
n=0

H(s) =

ou

N ordre du filtre

Exemple avec N=1

H(j) =

s = j / c

H(s) =

1+ j
c

1
1+ s

1 ple (rel pur) :


do :

Exemple avec N=2 et =0,7

H(j) =

s = j / c

1
2


1 + 2 j + j
c c

2 ples (complexes conjugus


et partie relle <0) :

s1 =

s =
2

2
(1 j)
2
2
( 1 + j )
2

do

H(s) =

H(s) =

s1 = 1

1
s (1)

1
1 + 2s + s2

H(s) =
(s

2
2
(1 j))(s
(1 + j))
2
2
20

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.3) Association des cellules lmentaires

Intrt des cellules lmentaires de filtrage (1/2)

Dcomposition des fonctions de transfert


Dcomposition sous forme de produit
Une fonction de transfert dordre n quelconque peut se dcomposer en un produit de fonctions de transfert lmentaires
dordres 1 et 2 (les ordres sajoutent).

H(j) = H1(j).H2(j).H3(j)
Schmas-blocs et modules lectroniques
Quand les modules lmentaires (schmas-blocs ou modules lectroniques) sont mis en cascade (=en srie), les
ordres sajoutent. Exemple pour lordre N=5 :
H1

H2

H3

N=2

N=2

N=1

H
N=5

Diagrammes de Bode
Dans les diagrammes de Bode, les courbes de gain (en dB) sadditionnent :
fc

fc

fc

=
-20

-40

-40

fc

-100

importance de ltude des cellules de filtrage dordre 1 et 2 ; on les appelle cellules lmentaires
21

I) Synthse de filtres analogiques


I.1) Cellules lmentaires de filtrage
I.1.3) Association des cellules lmentaires

Intrt des cellules lmentaires de filtrage (2/2)

Position du problme
On a vu comment vu la cellule de filtrage passe-bas du 1er ordre, dont les caractristiques sont :
-3dB fc
-attnuation -20dB/dcade
puis la cellule de filtrage du 2e ordre dont les caractristiques sont
-3dB fc
-attnuation -40dB/dcade
De plus, on sait quen associant des cellules du 1er et du 2e ordre, on peut obtenir des cellules dordre plus lev.
Problme : est-il possible dobtenir un filtre dordre N quelconque, caractris par :
-3dB fc
-attnuation -20N dB/dcade ?
On a vu quen associant des cellules lmentaires on pouvait obtenir un ordre quelconque, comme par exemple pour
lordre 5 :
H1

H2

H3

N=2

N=3

N=1

H
N=5

mais comment avoir toujours 3dB fc ?


22

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Filtre de Butterworth : dfinition et proprits

Intrt
Comment obtenir une pente quelconque tout en ayant 3dB fc, sans calculs (trop) compliqus ?

Monsieur Butterworth, dans les annes 30, a trouv une solution :


0

Dfinition

-10

H() =

-20

2N

1 +
c

-30
-40
-50

N ordre du filtre

-60
-70
-80
-90
-100
-1
10

10

Proprits

10

Gain en dB pour N=1, 2, 3, 4, 5


Programme Matlab :

pente de la dcroissance du gain : -20N dB/dcade


gain fc : 3dB ( N)

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

w=linspace(0.1,10,1000);
[z,p,k]=buttap(2);
h=freqs(k*poly(z),poly(p),w);
semilogx(w,20*log10(abs(h)),'black');
...

23

Filtre de
Cellules
Butterworth
de filtrage
: tude
dede
base
lordre
: 2e ordre
1 et 2

Lien avec cellules lmentaires


Cellule passe-bas du 1er ordre :

H(j) =

H(j) =

1+ j
c

1+ j

1
2

1 +
c

Il sagit bien dun cas particulier du filtre de Butterworth, avec N=1.

Cellule passe-bas du 2e ordre, avec =

H(j) =

1
2


1 + 2 j + j
c c

2
(rappel : -3dB fc) :
2

H(j) =

1
2


1 + 2 j + j
c c

1
2

1 + j 2
c
c

= ... =

1
4

1 +
c

Il sagit galement dun cas particulier du filtre de Butterworth, avec N=2.

24

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Filtre de Butterworth : tude des ples (1)

Etude des ples de la fonction de transfert (=racines du dnominateur)


Diffrentes formes de la fonction de transfert

p = j

H (j ) =

2N


1 +
c

harmonique

s = p / c

H (p ) =

H (s ) =

2N

p
1 +
c

en variable de Laplace

1
1 + s2N

en variable de Laplace rduite

Dtermination des ples

s= j

= js
c
c

H(s) =

1 + (1) s = 0
N 2N

Les ples sont tels que :

1
1 + (1)Ns2N

sn = e

2n + 1
2n + 1
sn = sin
+ j cos

2N
2N

N1+ 2n

2N

0 n 2N 1

Il y a 2N ples (2 fois plus que lordre du filtre), ce qui est normal puisquon a recherch les ples de |H(j)|2

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

25

Filtre de Butterworth : tude des ples (2)

Position des ples


La fonction |H(j)|2 possde 2N ples ; ils sont situs sur le cercle unit ;

0 n N 1 : partie relle <0

N n 2N 1 : partie relle >0


Chaque ple partie relle ngative possde un "homologue" partie relle >0. Ces derniers, qui ne correspondent
pas un systme stable, ne sont pas pris en compte (on a vu prcdemment que la cellule passe-bas du 1er ordre et celle
du 2e ordre, pour . = 2 / 2 possdaient respectivement 1 et 2 ples partie relle <0 ; la gnralisation lordre N
consiste ne garder que les ples partie relle <0 : ce sont les ples de H(j), mme si cette dernire nest pas
dfinie directement).
non pris
en compte

etc

N=1

N=2

N=3

N=4

Le ple rel pur, quand il existe, correspond une cellule du 1er ordre.
Les autres ples existent par paires : 1 ple + son conjugu ;

26

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Filtre de Butterworth : exemple dordre 2

Exemple : Filtre de Butterworth dordre 2 (passe-bas)


N=2 2 ples :

2n + 1
2n + 1

sn = sin
+ j cos
2N
2N

n = 0 ,1

Im

s1 = sin j cos = s0*


4

4

s0 = sin + j cos
4
4

2
2
+j
2
2

2
2
j
2
2

Re

On retrouve bien les 2 ples calculs prcdemment.


Diffrentes formes de la fonction de transfert :

H(j) =

H(p) =

ou

1 +
c

H(s) =

ou

p
1 +
c

1
1 + s4

Ralisation pratique : mise sous forme standard

H (s ) =

1
s + 2s + 1

(dj tudie prcdemment)

27

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Filtre de Butterworth : exemple dordre 4

Exemple : Filtre de Butterworth passe-bas dordre 4


N=4 4 ples :

2n + 1
2n + 1
sn = sin
+ j cos

2N
2N

s0 = sin + j cos
8

8

5
5
s2 = sin + j cos = s1*
8
8

n = 0,...,3

3
3
s1 = sin + j cos
8

8
7
7
*
s3 = sin
= s0
+ j cos
8
8

s0
s1

1
Re

s2
3

H(s) =
n =0

1
1
1
1
1
=
.
.
.
s sn s s0 s s1 s s2 s s3

Im

s3

Ralisation pratique : mise sous forme de 2 fonctions de transfert standard du 2e ordre

H(s) =

1
*
(s s0)(s s0 )(s s1)(s s1*)

1
= ...
.
2
*
*
s s(s0 + s0 ) + s0s0 s s(s1 + s1*) + s1s1*
1

1
1
= H1(s ). H2(s )
. 2
s + 0,765s + 1 s + 1,848s + 1
2

28

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Filtre de Butterworth : polynmes

Polynmes de Butterworth
Une fois les ples de la fonction de transfert calculs, les ples complexes conjugus sont regroups ensemble.
Chaque paire correspond une cellule lmentaire (passe-bas) du 2e ordre.
Le ple simple rel, sil existe (ordre impair), correspond la cellule lmentaire (passe-bas) du 1er ordre.
Forme dveloppe
n=1 : s+1
n=2 : s2+1,41s+1
n=3 : s3+2s2+2s+1
n=4 : s4+2,6131s3+3,4142s2+2,6131s+1
n=5 : s5+3,2361s4+5,2361s3+5,2361s2+ 3,2361s+1
n=6 : s6+3,8537s5+7,4741s4+9,1416s3+7,4741s2+3,8537s+1
etc
Forme factorise
n=1 : s+1
n=2 : s2+1,41s+1
n=3 : (s+1)(s2+s+1)
n=4 : (s2+0,765s+1)(s2+1,848s+1)
n=5 : (s+1)(s2+0,618s+1)(s2+1,618s+1)
n=6 : (s2+1,932s+1)(s2+1,414s+1)(s2+0,518s+1)
etc
29

Butterworth avec gabarit

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Dfinition dun gabarit


(On parle galement de "synthse sur cahier des charges")
On distingue la bande passante de la bande dattnuation (ou coupe).
On dfinit lattnuation maximale (Ap) tolre dans la bande passante, et lattnuation minimale tolre dans la
bande darrt (Aa).
0
-Ap

a
p

-Aa

: slectivit

Dans le cas classique, Ap=3dB. On peut souhaiter une attnuation Ap moins importante. Il suffit dajouter un paramtre
supplmentaire dans la fonction de transfert de Butterworth :

H ( ) =

1+

p

2N

0 1

ou

H ( ) =

1
1 + 2 2 N

pulsation rduite
30

Gabarits

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Autres gabarits

0
-Ap

-Aa

-Aa
passe-bas

0
-Ap

0
-Ap

a1 p1

passe-haut

p2 a2

0
-Ap

p1 a1

a2 p2

-Aa

-Aa
passe-bande

coupe-bande

Remarque
Pour la transformation de gabarits passe-bas vers passe-bande ou coupe-bande, ces derniers doivent tre symtriques.
Si a nest pas le cas, il faut des rendre symtrique (en les rendant plus svres).
La condition de symtrie est :

fp 1. fp 2 = fa 1. fa 2
31

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Paramtres du filtre de Butterworth partir du gabarit

Dfinition dun gabarit


On part du gain en dB :

20 log H ( ) = 20 log

1
1+
2

2N

Soit Ap le gain la pulsation =p, (soit =1) on peut dmontrer (*) que lon a :

= 10

A
p
10

On peut dmontrer (**) que lordre du filtre est donn par :

Aa
log 10 10 1 2 log

N=
2 log a

p
p

0
-Ap

-Aa

a =

a
p

Le rsultat peut tre fractionnaire ; lordre choisi est lentier suprieur.


On peut dmontrer que la frquence de coupure 3dB est lie la frquence fp par la relation :

c =

p
N

(*) il suffit dimposer que le gain soit Ap dB pour =p ; on a alors 2N=1, et la seule inconnue est .
(**) on impose que la courbe passe par le point (p, Aa). Connaissant , la seule inconnue est N.
32

Butterworth partir dun gabarit : exemple

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Exemple : Dtermination dun filtre dont le gain est attnu de 1dB la frquence fa=1kHz et de 50dB fr=5kHz

= 10

A
p
10

1 = 1010 1 = 0,509
0
-1

Pulsation rduite dattnuation en bande coupe a :

a =
Ordre du filtre :

a fa 5kHz
= =
=5
p fp 1kHz

f(kHz)

-50

Aa
50
log 10 10 1 2 log log 1010 1 2 log 0,509

=
N=
= 3,99
2 log a
2 log 5
On prend pour lordre lentier suprieur : N=4.
La fonction de transfert du filtre est la suivante :

H() =

2N

1 + 2

p

1
8

1 + 0,259

p

Autre exemple : en prenant fa=2kHz, on aurait trouv un ordre N=10


33

Filtre de Butterworth gnralis : dtermination des ples

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Dtermination des ples


2

H (s ) =

s= j

= js
c
c

1
1 + 2s2N

1 + (1) s = 0
2

H(s) =

N 2N

1
1 + 2(1)Ns2N

1 j
sn = e

N1+ 2n

2N

1
2n 1
2n 1

sn = N sin
+ j cos

2N
2N

Rappel : uniquement les ples


partie relle <0

0 n N 1

s0
Les arguments des ples sont les mmes que ceux de la
fonction de transfert simplifie avec =1, mais situs
sur un cercle de rayon

Im

.N

s1

1/

Re

s2
s3

34

Butterworth : utilisation dabaques

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Utilisation dabaques
Elles permettent de dterminer lordre du filtre en fonction des paramtres Ap, Aa, p et a.

0
-Ap

-Aa

a
p
35

Butterworth avec Matlab

I) Synthse de filtres analogiques


I.2) Filtre de Butterworth

Programmation Matlab

0
-10

%Rponse en frquence d'un filtre de Butterworth


-20

[N,Wn]=buttord(1000,5000,1,50,'s')

-30

[b,a]=butter(N,Wn,'s');
F=[100:1:10000];

%vecteur de frquences

[hb,bc]=freqs(b,a,F);

%calcul rponse en frquence

semilogx(bc,20*log10(abs(hb)));

%affichage avec axe des abs. log.

)
B
d(
ni
a
G

-40
-50
-60

xlabel('Frequence (radians)');

-70

ylabel('Gain (dB)');
grid;

-80
2
10

10
Fre que nc e (Hz)

10

Pour la phase :

...
2

semilogx(bc,angle(hb));

...
)
d
a(r
e
s
a
h
P

0
-1
-2
-3
-4
2
10

10
Freque nce (Hz )

10

36

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Filtres de Chebyshev (ou Tchebyscheff )

Dfinition
2

2TN

2
p

Type II : H ( ) =
2
1 + 2TN

Il existe 2 types :
Type I :

H ( ) =


1 + TN

p
2

avec pulsation rduite :

<1

<1

TN(.) dsigne un polynme dordre N dfini par :

TN() = Re[ + j 1 2 ]N
Les premiers polynmes sont donc :

....

T0() = Re[ + j 1 2 ]0 = 1

T1() = Re[ + j 1 2 ] =
T2() = Re[ + j 1 2 ]2 = 22 1
On peut dmontrer (*) quil existe une relation de rcurrence entre ces polynmes :

TN() = 2.TN1() TN2()


(*) la dmonstration consiste exprimer TN+1() et utiliser les formules de trigonomtrie :
et
ch(a + b) = ch(a).ch(b) sh(a).sh(b)
cos(a + b) = cos(a). cos(b) sin(a). sin(b)

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

37

Filtres de Chebyshev (ou Tchebyscheff )

Dfinition

Les polynmes TN(.) sont galement dfinis par :

cos(N. arccos(x)) si x 1
TN(x) =
ch(N. arg ch(x)) si x > 1

Rappel :

sinh(x) =

ex ex
2

cosh(x) =

ex + ex
2

On peut dmontrer que la frquence de coupure 3dB est lie la frquence fp par la relation :

1
1
c = p cosh a cosh

n

38

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Filtres de Chebyshev : caractristiques

Caractristiques

0
-10
-20

Type I

-30

Oscillations dans la bande passante (band-pass ripple)

-40
-50

1
1 + 2

-60

H() 1

-70
-80
-90
-100

Soit N lordre du polynme du dnominateur ;

10

10

10

20log|H(j)| (N=2,3,4)
1.0

H(0) = 1/ 1 + 2

- si N pair, |H(0)|=0 ; si N impair,

-1

0.9
0.8

- Pour <=c, |H(j)| oscille N/2 fois entre 1 et .1/

1+

0.7
0.6
0.5

- Pour >c, |H(j)| est monotone et dcroissante.

0.4
0.3
0.2
0.1
0.0
0

10

|H(j)| (N=2,3,4)
39

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Filtres de Chebyshev : caractristiques

Caractristiques
Type II

0 H()

Oscillations dans la bande attnue (ou coupe) (stop-band ripple)

1 + 2

1.0
0.9
0.8
rt 0.7
ef
s
n
ar
t 0.6
e
d
n
oti
c 0.5
n
of
el
u 0.4
d
o
M
0.3
0.2
0.1
0.0
0

10

Frequence

40

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Paramtres du filtre de Chebyshev partir du gabarit

Dfinition
On part du gain en dB :

20 log H ( ) = 20 log

1 + TN( )
2

On peut montrer que le paramtre est dfini par :

Ap

= 1010 1
et que lordre N du filtre est donn par :

o Ap est lattnuation p

10 10 1
arg ch

N=
arg ch(a)

a =

a
p

o a est la pulsation rduite dattnuation minimale en bande attnue.

41

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Filtres de Chebyshev : caractristiques

Etude des ples


Les ples sont dfinis par :

sk = sin(k)sh( ) + j cos(k)ch()
avec

k =

+k
2N
N

et

1
1
arg sh
N

0 k 2N 1
(=cte)

Comme dans le cas de Butterworth, on ne prend en compte que la moiti des ples : ceux partie imaginaire <0.
En posant
et en se souvenant que

Imk = cos(k)ch( )

Rek = sin(k)sh()
sin2(x) + cos2(x) = 1

, on voit que

Re k2
Im 2
+ 2k =1
2
sh ( ) ch ( )

ce qui est la dfinition dune ellipse, sh2() et ch2() tant des constantes (voir ci-dessous).
Les ples sont donc situs sur une ellipse.
Rappel : dans un repre (x,y), une ellipse est dfinie par

x2 y 2
+
= 1 ; a et b sont les 2 rayons de lellipse.
a2 b2
42

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Filtres de Chebyshev : caractristiques

Etude des ples : exemple avec N=2


Les ples sont dfinis par :

sk = sin(k)sh() + j cos(k)ch()
On a :

et

k =

do

0k 3

1
1 1
1
1
arg sh = arg sh
arg sh2 0,17
N
0,509 2
N

+k
2N
N

, soit

0 =

3
+ =
4 2 4

1 =

s0 = 0,17 sin( ) + j cos( )


4
4

s1 = 0,17 sin(

ch( ) 1

sh() 0,17

2 =

5
+=
4
4

3 7
+
=
4 2
4

3 =

3
3
3
3
) + j cos( ) = 0,17 sin( ) + j cos( )
4
4
4
4

Les ples sont donc situs sur une ellipse de rayons sh()0,17 et ch()1 .

43

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Filtres de Chebyshev : exemple avec type I

Exemple avec type I : Gain attnu de 1dB fa=1kHz et de 50dB fr=5kHz


Ap

0
-1

= 1010 1 = 1010 1 = 0,509


Pulsation rduite dattnuation en bande coupe :

a =
A

Ordre du filtre :

f(kHz)

-50

a
p
50

10 10 1
1010 1
arg ch
arg ch

=
= 2 ,1
N=
arg ch(a)
arg ch(5)

On prend pour lordre lentier suprieur : N=3.


Fonction de transfert du filtre :
2

H ( ) =

1
2


1 + 0 ,26 T3

3
2 .10 .

1
2

3

1 + 0 ,26 4
3
3
2 .10 3
2 .10

Autre exemple : en prenant fa=2kHz, on aurait trouv N=3,66 ( N=4)


2

Remarque : lordre est infrieur celui du filtre de Butterworth quivalent.


44

I) Synthse de filtres analogiques


I.3) Filtres de Chebyshev

Polynmes de Chebyshev

Polynmes de Chebyshev
Les coefficients du polynmes sont donns en fonction de Ap (en gnral, on prend 0,5 ou 1) et de lordre du filtre N.
Pour Ap=1dB :
Forme dveloppe
n=1 : 0,509s+1
n=2 : 0,907s2+0,9957s+1
n=3 : 2,0353s3+2,0116s2+2,5206s+1
n=4 : 3,628s4+3,4568s3+5,2749s2+2,6942s+1
n=5 : 8,1415s5+7,6271s4+13,75s3 +7,933s2+4,7264s+1
n=6 : 14,512s6+13,47s5+28,02s4+17,445s3 +13,632s2+4,456s+1
etc
Forme factorise
n=1 : 0,509s+1
n=2 : 0,907s2+0,996s+1
n=3 : (2,024s+1)(1,006s2+0,497s+1)
n=4 : (3,579s2+2,411s+1)(1,014s2+0,283s+1)
n=5 : (3,454s+1)(2,329s2+1,091s+1)(1,012s2+0,181s+1)
n=6 : (8,019s2+3,722s+1)(1,793s2+0,609s+1)(1,009s2+ 0,126s+1)
etc

Remarque : contrairement aux polynmes


de Butterworth, les cellules lmentaires
de la forme factorise ne possdent pas
ici toutes la mme frquence de coupure.

45

I) Synthse de filtres analogiques


I.4) Filtres de Bessel

Filtres de Bessel : principe (1)

Filtres de Bessel
Les filtres de Bessel sont bass sur le critre de la plus grande linarit possible de la phase (en fonction de la frquence).
On rappelle lintrt davoir une phase linaire : le signal nest pas dform par le filtre.
On dfinit le retard de groupe :

d()
t =
g
d

Si la phase est linaire, le retard de groupe est constant.


On dfinit donc une fonction de transfert (FT) :

H ( p ) = e p
Pour simplifier, on prend =1 :

H(j) = ej

avec constant

H(p) = ep

On cherche ensuite mettre la FT sous forme passe-bas (on cherche faire apparatre ses ples) :

H(p) =

1
1
=
ep + ep ep ep ch(p) + sh(p)
+
2
2

46

I) Synthse de filtres analogiques


I.4) Filtres de Bessel

Filtres de Bessel : principe (2)

Filtres de Bessel

p2 p4
1
ch(p) 1 + 2! + 4! + ... 1
on utilise la "technique" suivante : on exprime le dveloppement
=
= +
cth(p) =
p3 p5
p 3+ 1
sh(p)
1 + + + ...
limit de cth(p)=ch(p)/sh(p), on effectue la division des polynmes
P 5 + ...
3! 5!
p
puis on identifie numrateur et dnominateur resp. ch(p) et sh(p).
Pour dterminer le polynme quivalent au dnominateur,

En limitant le dveloppement limit lordre N, on obtient une expression approche de cth(p).


Pour N=2, on a :

cth(p) =

Par identification, on trouve :

ch(p) = 3 + p2

et

cth(p) =

Pour N=3, on a

Pour lordre n, on a : H(p) =

sh(p) = 3p

do

H(p) =

1
1
=
ch(p) + sh(p) 3 + 3p + p2

1
1
15 + 6p2
+
=
p 3 / p + 1/ 5 / p 15p + p3

Par identification, on trouve : ch(p) = 15 + 6p


etc.

1 1 3 + p2
+ =
p 3
3p
p

et sh(p) = 15p + p

1
1
=
Bn(p) a0 + a1p + a2p2 + ... + anpn

do H(p) =

1
1
=
ch(p) + sh(p) 15 + 15p + 6p2 + p3

B0 = 1
B1(p) = p + 1

avec

Bn(p) = (2n - 1)Bn-1(p) + p2Bn-2(p)

I) Synthse de filtres analogiques


I.4) Filtres de Bessel

47

Filtres de Bessel : normalisation

Normalisation
En considrant la frquence normalise pour /c avec c telle que 20log|H(c)|=-3dB, on a :
3

a0 + a1p + a2p2 + ... + anpn = 10 20


Par exemple pour N=2, le polynme du dnominateur est :

3 + 3 p + p2
On le transforme en polynme standard (en mettant en facteur le terme constant, qui reprsente un gain statique) :

1+ p +

1 2
p
3

La pulsation normalise =c permettant davoir une attnuation de 3dB est telle que
3

1
1 + p + p2 = 1020
3

1
1 + jc + (jc)2 = 1020
3

c = 1,359

La fonction de transfert normalise devient donc :

H(p) =

1
1
=
1
2
1
+
1
,
359
p
+ 0,6149 p2
1 + 1,359p + (1,359p)
3
48

I) Synthse de filtres analogiques


I.4) Filtres de Bessel

Polynmes de Bessel

Coefficients des polynmes du dnominateur


Forme dveloppe (normalise)
n=1 : s+1
n=2 : 0,618s2+1,359s+1
n=3 : 0,3607s3+1,2328 s2+1,7556s+1
n=4 : 0,1901s4+0,8995s3+1,9149s2+2,1138 s+1
n=5 : 0,08911s5+0,5506s4+1,588s3+2,6174s22,4266s+1
Forme factorise
n=1 : s+1
n=2 : 0,618s2+1,359s+1
n=3 : (1,3225s+1)(0,4773s2+0,9998s+1)
n=4 : (0,4883s2+1,3389s+1)(0,3885s2+0,7738s+1)
n=5 : (1,5015s+1)(0,4133s2+1,1408s+1)(0,3885s2+0,7738s+1)
Il nexiste pas de mthode analytique pour permettre de dterminer les coefficients ai en fonction dun gabarit.
Ces coefficients sont obtenus par approximations successives, par des mthodes graphiques ou des
algorithmes numriques

49

I) Synthse de filtres analogiques


I.4) Filtres de Bessel

Filtres de Bessel : programmation Matlab

Programmation Matlab

0
-10

%Rponse en frquence d'un filtre de Butterworth


-20

[b,a]=besself(4,1000)
F=[100:1:10000];

%vecteur de frquences

[hb,bc]=freqs(b,a,F);

%calcul rponse en frquence

semilogx(bc,20*log10(abs(hb)));

%affichage avec axe des abs. log.

-30
-40

)
B
d(
ni
a
G

-50

xlabel('Frequence (radians)');

-60

ylabel('Gain (dB)');

-70

grid;

-80
-90
2
10

Pour la phase :

10
Fre que nc e (Hz )

10

...
3

semilogx(bc,angle(hb));
...

2
1
)
d
a(r
e
s
a
h
P

0
-1
-2
-3
-4
2
10

10
Frequenc e (Hz)

10

50

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Filtres de Cauer : introduction

Filtres de Cauer
Introduction
Les filtres tudis jusquici (Butterworth, Chebyshev, Bessel) taient tous sous la forme :

H(p) =

1
1
=
D(p) a0 + a1p + a2p + ... + pn

On les appelle filtres polynmiaux. Ils sont caractriss par leurs ples. On parle de filtres "tous ples".
D(p) est appele fonction de transmission.
Il existe galement des filtres qui possdent en plus un polynme au numrateur.

H(p) =

N(p) b0 + b1p + b2p + ... + pm


=
D(p) a0 + a1p + a2p + ... + pn

On les appelle filtres elliptiques. Cest le cas du filtre de Cauer.


En plus de ses ples, cette fonction de transfert possde des zros (valeurs de p qui annulent la fonction de transfert).
Ces zros correspondent des frquences pour lesquelles la fonction de transfert est nulle, et donc un signal cette
frquence est limin.
Sils sont judicieusement placs dans le plan complexe, ils permettent daugmenter les pentes de variation du gain,
par rapport aux filtres polynmiaux.

51

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Filtres de Cauer : dfinition

Filtres de Cauer
Ils sont dfinis par la fonction de transfert suivante :

H ( )

1
1 + 2R N2 ( , / 0 )

o RN(,/0) est appele fonction rationnelle de Chebyshev; N est lordre du filtre, 0 la pulsation de coupure,,
est le facteur dondulation et est le facteur de slectivit.
Dans la bande passante, le gain varie donc entre 1 et

1/ 1 + 2

Dans la bande attnue, le gain varie donc entre 0 et 1 / 1 + 2L2N , avec L N = R N( , )


La fonction RN est appele fonction elliptique.
Ces filtres sont caractriss par des oscillations la fois
dans la bande passante et dans la bande coupe.

en.wikipedia.org

La dcroissance de leur gain est plus rapide


que celle des filtres polynmiaux, avec un ordre infrieur.
Quand

, le filtre devient quivalent un filtre de

Chebyshev de type I.

52

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Filtres de Cauer : dfinition

Filtres de Cauer
La fonction elliptique peut se mettre sous la forme suivante :

RN(, x) = r0

i =1
N
i =1

(x xi)

(x xpi)

pour N pair

RN(, x) = xr0

i=1
N
i=1

(x xi)

(x xpi)

pour N impair

avec xi les zros et xpi les ples de ces rationnelles, et r0 un facteur de normalisation tel que RN(,1) = 1
Le dnominateur de ce polynme fait apparatre des zros dans la fonction de transfert du filtre.
Ils sont appels zros de transmission, et ont la proprit dliminer les frquences correspondantes.

RN(,x) avec N=3 ; =1,3

RN(,x) avec N=4 ; =1,3

53

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Filtres de Cauer : dfinition

Filtres de Cauer
Il nexiste pas dexpression analytique pour les ples et les zros de la fonction de transfert du filtre.
Ils sont calculs par des mthodes numriques.
La synthse comporte les tapes suivantes :
1. Dtermination de lordre N en fonction du gabarit
2. Dtermination du polynmes du numrateur et du dnominateur
3. Dtermination des ples et des zros
Exemple Matlab
fp=1000; fa=2000; Ap=1; Aa=40;
[N,Wn]=ellipord(fp,fa,Ap,Aa,'s')

%tape 1

[num,den]=ellip(N,1,50,Wn,'s')

%tape 2

zeros=roots(num)

%tape 3

poles=roots(den)

%tape 3

Une fois les ples et les zros connus, on peut crire la fonction de transfert sous forme dun produit de
fonctions de transfert lmentaires du 1er et du 2e ordre (en regroupant les ples et les zros conjugus entre eux).
On peut alors passer la ralisation lectronique.

54

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Filtres de Cauer : programmation Matlab

Programmation Matlab
0

%Rponse en frquence d'un filtre de Cauer (elliptique)


-20

[N,Wn]=ellipord(1000,5000,1,50,'s')
[b,a]=ellip(N,1,50,Wn,'s');

-40

F=[100:1:10000];

%vecteur de frquences

[hb,bc]=freqs(b,a,F);

%calcul rponse en frquence

semilogx(bc,20*log10(abs(hb)));

%affichage avec axe des abs. log.

)
B
d(
ni
a
G

-60

-80

xlabel('Frequence (radians)');
ylabel('Gain (dB)');

-100

grid;
-120
2
10

Pour la phase :

10
Fre quenc e (radia ns )

10

...

semilogx(bc,angle(hb));
2

...
1
)
B
d(
ni
a
G

0
-1
-2
-3
-4
2
10

10
Fre que nc e (ra dia ns )

10

55

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Filtres de Cauer : programmation Matlab

Caractristiques
Affichage du gain en dB et de la phase en chelle semi-log :

-50

f=[0.1:0.01:4];
[n,wn]=ellipord(0.4,0.5,1,100) %-99dB entre f/fe=0,4 et 0,5
[b,a]=ellip(n,1,100,wn);
% -> ordre 9
[H,fl]=freqz(b,a,f);
semilogx(fl,20*log(abs(H)),'b');
hold;
[n,wn]=ellipord(0.4,0.45,1,100) %-99dB entre f/fe=0,4 et 0,45
[b,a]=ellip(n,1,100,wn);
% -> ordre 11
[H,fl]=freqz(b,a,f);
semilogx(fl,20*log(abs(H)),'r');
[n,wn]=ellipord(0.4,0.41,1,100) %-99dB entre f/fe=0,4 et 0,41
[b,a]=ellip(n,1,100,wn);
% -> ordre 16
[H,fl]=freqz(b,a,f);
semilogx(fl,20*log(abs(H)),'g');

-100

-150

-200

-250

-300

10

-1

10

50

Un affichage de |H(f)| en chelle linaire permet de constater la


non-linarit de la phase (mme dans la bande passante) :

)
B
d(
e
d
ut
i
ng
a
M

0
-50
-100
-150

0.1

0.2
0.3
0.4
0.5
0.6
0.7
0.8
Normalized Angular Frequency ( rads /s ample)

0.9

0.1

0.2
0.3
0.4
0.5
0.6
0.7
0.8
Normalized Angular Frequency ( rads /s ample)

0.9

[n,wn]=ellipord(0.4,0.5,1,100)
[b,a]=ellip(n,1,100,wn);
freqz(b,a);

)
s
e
e
gr
e
d(
e
s
a
h
P

-200
-400
-600
-800

56

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Butterworth, Chebyshev, Bessel, Cauer

Comparaison des performances des filtres de Butterworth, de Chebyshev de Bessel et de Cauer


Gain en dB
0
[z,p,k]=buttap(4);

%Butterworth ordre 4

w=logspace(-1,1,1000);

%1000 points entre 0.1 et 10

-10

h=freqs(k*poly(z),poly(p),w);
semilogx(w,20*log(abs(h)),'b');

%bleu

hold;

[z,p,k]=cheb1ap(4,0.5);

-30
%Chebyshev type I ordre 4

h=freqs(k*poly(z),poly(p),w);

%(0,5dB max en BP)

semilogx(w,20*log(abs(h)),'r');

[z,p,k]=cheb2ap(4,20);

-20

-40

%rouge

-50

%Chebyshev type II ordre 4

-60

h=freqs(k*poly(z),poly(p),w);

%(20dB min en BA)

semilogx(w,20*log(abs(h)),'g');

[z,p,k]=besselap(4);

%vert

-70

%Bessel ordre 4

-80

h=freqs(k*poly(z),poly(p),w);
semilogx(w,20*log(abs(h)),'c');

[z,p,k]=ellipap(4,0.5,20);

%cyan

-90
-1
10

10

10

%Cauer ordre 4

Gain en dB pour N=4

h=freqs(k*poly(z),poly(p),w); %(0,5dB max en BP et


semilogx(w,20*log(abs(h)),'m');
grid;

%20dB min en BA)


%magenta

57

I) Synthse de filtres analogiques


I.5) Filtres de Cauer

Butterworth, Chebyshev, Bessel, Cauer

Comparaison des performances des filtres de Butterworth, de Chebyshev de Bessel et de Cauer


Dlai de groupe (en secondes) pour N=4

Dlai de groupe

w=logspace(-1,1,1000);

%1000 points entre 0.1 et 10

[z,p,k]=buttap(4);

%Butterworth ordre 4

h=freqs(k*poly(z),poly(p),w);
dg=-diff(unwrap(angle(h)))./diff(w);

%dlai de groupe

semilogx(w(1:length(w)-1),dg,'b');

%bleu

hold;

[z,p,k]=cheb1ap(4,0.5);

%Chebyshev type I ordre 4

h=freqs(k*poly(z),poly(p),w);

%(0,5dB max en BP)

dg=-diff(unwrap(angle(h)))./diff(w);

%dlai de groupe

semilogx(w(1:length(w)-1),dg,'r');

%rouge

grid;

[z,p,k]=besselap(4);

1
%Bessel ordre 4

h=freqs(k*poly(z),poly(p),w);
dg=-diff(unwrap(angle(h)))./diff(w);

%dlai de groupe

semilogx(w(1:length(w)-1),dg,'c');

%cyan

0
-1
10

10

10

20

0
-20

Remarque : le dlai de groupe du filtre de Chebyshev de type II


et du filtre de Cauer doit tre affich sparment :

-40
-60
-80
-100

0.2

0.4

0.6

0.8

1.2

1.4

58

I) Synthse de filtres analogiques


I.6) Comparaison des performances

Butterworth, Chebyshev, Bessel

Comparaison des performances des filtres de Butterworth, de Chebyshev et de Cauer

Critres de
choix selon
type de filtre

Butterworth

Chebyshev

Bessel

Cauer

Facilit de
conception

***

**

Raideur des
pentes

**

***

Linarit de la
phase

**

***

Absence
doscillations
(BP)

***

**

***

59

I) Synthse de filtres analogiques


I.7) Rsum des diffrentes tapes de synthse

Rsum des diffrentes tape de synthse

Les diffrentes tapes de la synthse dun filtre analogique


1. Dfinition du gabarit dsir
2. Normalisation du gabarit par rapport une pulsation de rfrence r :

s
r

(- frquence de coupure 3dB pour un filtre de Butterworth de la forme simplifie,


- frquence dattnuation max. en bande passante pour un filtre de Butterworth, Chebyshev ou Cauer,
- frquence centrale pour un filtre passe-bande ou coupe-bande)
3. Transposition en gabarit (normalis) passe-bas
4. Dtermination de lordre du filtre (calcul, abaques, logiciel)
5. Recherche de la fonction de transfert normalise (mise en facteur) partir des tables de polynmes
6. Transposition du filtre passe-bas tudi vers le type de filtre recherch
7. Dnormalisation :

s j

8. Ralisation lectronique
Remarque : dans le cas de la synthse dun filtre passe-bas, les tapes 2 et 5 nont pas lieu dtre.
60

I) Synthse de filtres analogiques


I.8) Exemple complet

Exemple complet de synthse (1/6)

Exemple complet de synthse


On souhaite raliser un filtre passe-haut satisfaisant aux contraintes suivantes :
-attnuation maximale en bande passante :

Ap=1dB fp=4kHz

-attnuation minimale en bande attnue :

Aa=40dB fa=2kHz

0
-1

f(kHz)

0,5

-40

et pour lequel on accepte une ondulation dans la bande passante de 1dB.


On choisit dutiliser un filtre de Chebyshev de type I.
Normalisation du gabarit
On normalise les frquences par rapport fp :

F=f/fp

fp

Fp=fp/fp=1

fa

Fa =fa/fp=0,5

0
-1
-40

Gabarit passe-bas (normalis) correspondant


Changement de variable de la transposition passe-bas vers passe-haut :

s
Pour f=fa :

f
f
j a j p
fp
fa

j
p
p
j

1
s
j0,5 j2

0
-1

-40

(on fait abstraction du signe - )


61

I) Synthse de filtres analogiques


I.8) Exemple complet

Exemple complet de synthse (2/6)

Exemple complet de synthse


Dtermination de lordre du filtre
A

10 10 1
arg ch

N=
arg ch(a)

Ap

avec

= 1010 1 = 1010 1 = 0,509

et a =

a
=2
p

A / 10

N=

arg ch( 10 a 1) / 0,509


= 4 ,5
arg ch(2)

on prend N=5

Fonction de transfert normalise partir de la table des polynmes de Chebyshev (pour Ap=1dB)

H(s) =

1
(3,454s + 1)(2,329s2 + 1,091s + 1)(1,012s2 + 0,181s + 1)

Transposition vers le type de filtre de dpart (passe-haut)

1
s

H(s) =

0,29s
0,429s2
0,988s2

0,29s + 1 0,429s2 + 0,468s + 1 0,988s2 + 0,179 s + 1

62

I) Synthse de filtres analogiques


I.8) Exemple complet

Exemple complet de synthse (3/6)

Exemple complet de synthse


Dnormalisation

s j

=j
2fp
p

( )

(c)1
c 3

(c)2
H(s) H(j) = H1(j) H2(j) H3(j) =

2
2

1+ j

1
j
2
j
+
1
+
j
2

j
+
+

(c)1
(c)2 (c)2
(c)3 (c)3
j

Identification :

(c)1 = 86,665 rad / s


(fc)1 = 13,8Hz

(c)2 = 38,372rad / s

(c)3 = 25,285 rad / s

(fc)2 = 6,1Hz

(fc)3 = 4Hz

2 = 0,357

3 = 0,09

63

I) Synthse de filtres analogiques


I.8) Exemple complet

Exemple complet de synthse (4/6)

Exemple complet de synthse


Tests
Avant de passer la ralisation proprement dite, on peut simuler le filtre pour vrifier que la synthse est correcte.
Programme Scilab :
fc=4;
w0=2*%pi*fc/0.29
num=poly([0 1/w0], "s", "coef");
den=poly([1 1/w0], "s", "coef");
sys1=syslin('c', num, den);
bode(sys1, 0.1, 100);

H1, H2, H3

w0=2*%pi*fc/sqrt(0.429)
xi=0.468*w0/(4*%pi*fc)
num=poly([0 0 1/w0/w0], "s", "coef");
den=poly([1 2*xi/w0 1/w0/w0], "s", "coef");
sys2=syslin('c', num, den);
bode(sys2, 0.1, 100);
w0=2*%pi*fc/sqrt(0.988)
xi=0.179*w0/(4*%pi*fc)
num=poly([0 0 1/w0/w0], "s", "coef");
den=poly([1 2*xi/w0 1/w0/w0], "s", "coef");
sys3=syslin('c', num, den);
bode(sys3, 0.1, 100);

Affichage de la fonction de transfert produit :


...
bode(sys1*sys2*sys3, 1, 100);
...

Le gabarit dsir est bien obtenu.

H1 x H 2 x H 3

zoom
zoom

64

I) Synthse de filtres analogiques


I.8) Exemple complet

Exemple complet de synthse (5/6)

Exemple complet de synthse


Ralisation lectronique (1/2)
On se propose dutiliser une cellule active du 1er ordre et de 2 filtres de Rauch pour les cellules du 2nd ordre.

Les calculs donnent :


Cellule 1 :

R1=1000

R2=1000

C=11,5F

Cellule 2 :

R1=1000

C1=C2=C3=6,2F

R2=17,6k

Cellule 3 :

R1=1000

C1=C2=C3=2,3F

R2=277,8k

I) Synthse de filtres analogiques


I.8) Exemple complet

65

Exemple complet de synthse (6/6)

Exemple complet de synthse


Ralisation lectronique (2/2)
Avec la cellule de Sallen-Key (pour le 2e ordre) :

On prend Ra=0 et Rb= ; on pose : C1=C3=10F


Les calculs donnent :
Cellule 2 :

R2=930

R4=7,3k

Cellule 3 :

R2=348

R4=43k

66

Cours de

Traitement du signal

- Synthse de filtres 2e partie : Filtres Numriques


Benot Decoux
benoit.decoux@wanadoo.fr

67

Cours de "Synthse de filtres", 2e partie

Plan
II) Synthse de filtres numriques
II.1) Introduction
II.2) Transforme en z
II.3) Filtres RII
II.3.1) Mthode de lchantillonnage de la RI
II.3.2) Mthode de lquivalence de la drivation
II.3.3) Mthode de la transforme bilinaire
II.4) Filtres RIF
II.4.1) Principe gnral
II.4.2) Synthse par TF inverse du spectre
II.4.3) Synthse par TFD inverse du spectre
II.5) Performances compares des filtres RII et RIF
II.6) Conclusion
Conclusion gnrale

68

II) Synthse de filtres numriques


II.1) Introduction

Introduction sur le filtrage numrique (1/5)

Introduction
Dans lintroduction gnrale sur le filtrage, on a vu quun filtre tait dcrit par une quation diffrentielle :

s(t) + b1

ds(t)
dP1s(t)
dPs(t)
de(t)
dQ1e(t)
dQe(t)
+ ... + bP 1
+ bP
= a0e(t) + a1
+ ... + aQ1
+ aQ
n
P
Q 1
dt
dt
dt
dt
dt
dtQ

QP

De manire analogue, un filtrage numrique consiste transformer une squence discrte dentre en une
squence de sortie :

s(n) = a0e(n) + a1e(n 1) + a2e(n 2) + ... + aPe(n P) b1s(n 1) b2s(n 2) ... bQs(n Q)

QP

n reprsente lindice de lchantillon prsent ; n-i (i>0) reprsentent les indices dchantillons passs.
On appelle cette relation entre-sortie "quation aux diffrences" ("qua. diff.").
La synthse de filtres numriques "se rsume" dterminer des valeurs adquates pour ces coefficients.
Les outils mathmatiques utiliss pour ltude des filtres analogiques sont les transforme de Laplace et de Fourier ;
loutil dtude des filtres numriques est la transforme en z.
La TZ permet de modliser les filtres numriques sous la forme de fonctions de transfert polynmiale, facilitant leur tude.
P

S(p)
H(p) =
=
E(p)

am.pm

S(z)
H(z) =
=
E(z)

m=0
N

1 + bn.pn

a z

p =0
Q

1 + bq.zq
q=1

n =1

(attention, les coefficients du filtre analogique ne sont pas les mmes que celui du filtre numrique !)

II) Synthse de filtres numriques


II.1) Introduction

69

Introduction sur le filtrage numrique (2/5)

Filtrage numrique en pratique


Comme son nom lindique, le filtrage numrique se pratique sur systme numrique :
- ordinateur (utilisation de logiciels, programmation C/C++) ;
- Processeur de Traitement de Signal (DSP) ;
- autre composant numrique (microcontrleur, FPGA, etc).
Le traitement peut seffectuer
- en temps diffr (C/C++, Matlab, Scilab, etc) ou
- en temps rel (C/C++, assembleur, FPGA).

traitement
numrique

e(nTe)

Traitement temps-rel

s(nTe+tt)

La condition de temps rel est que lchantillon de sortie prsent s(n)


soit calcul avant le prochain chantillon dentre,
cest dire sur une dure tt infrieure Te, la priode dchantillonnage.

Pour pouvoir calculer cette quation dans un systme temps-rel,


le bloc fonctionnel de traitement doit comporter de la
mmoire pour les chantillons e(n-i) et s(n-i) :

e(n)

e(n-1)
e(n-2)

s(n-1)
s(n-2)

e(n-P)

s(n-Q)

s(n)

70

II) Synthse de filtres numriques


II.1) Introduction

Introduction sur le filtrage numrique (3/5)

Filtres RII et filtre RIF


Les filtres numriques peuvent tre classs en 2 grandes catgories :
- Rponse Impulsionnelle Finie (RIF)
- Rponse Impulsionnelle Infinie (RII)
Filtres RII
Leur quation aux diffrences comportent des termes en e(n-i) et des termes en s(n-i) :

s(n) = a0e(n) + a1e(n 1) + a2e(n 2) + ... + aPe(n P) b1s(n 1) b2s(n 2) ... bQs(n Q)
On va voir que :
- ils permettent de synthtiser des filtres partir des caractristiques de filtres analogiques
(cellules lmentaires, filtres de Butterworth, de Chebyshev, de Bessel et de Cauer, etc) ;
- ils peuvent tre instables, do les prcautions prendre dans leur implmentation.
Filtres RIF
Leur quation aux diffrences ne comporte que les termes en e(n-i) ; la sortie ne dpend que des valeurs de lentre :

s(n) = a0e(n) + a1e(n 1) + a2e(n 2) + ... + aPe(n P)


On retrouve lexpression de la convolution numrique tudie prcdemment : les RIF sont des systmes convolution.
On va voir que :
- ils permettent dobtenir des filtres partir dune rponse en frquence idale ;
- les coefficients ai constituent sa rponse impulsionnelle du filtre (ils sont souvent nots hi) ;
- ils sont forcment stables (pas de terme de rcurrence dans lqua. diff.).
71

II) Synthse de filtres numriques


II.1) Introduction

Introduction sur le filtrage numrique (4/5)

Signification de "Rponse Impulsionnelle Finie" et "Rponse Impulsionnelle Infinie "


Rponse "intuitive" : prenons lexemple du filtre dfini par lquation aux diffrences :

s(n) = e(n) + ks(n 1)


Appliquons lui une impulsion de Kronecker (k={1,0,0,0,.}, quivalent de limpulsion de Dirac du domaine continu).

- si k>1, le signal de sortie s(n) peut diverger vers des valeurs


- si k=1, s(n) garde une valeur constante
- si k<1, s(n) tend vers 0 quand n

72

II) Synthse de filtres numriques


II.2) Transforme en z

Dfinition de la transforme en z (TZ)

La transforme en z
La transforme en z (TZ) est loutil dtude des systmes chantillonns.
Dfinition
Soit s(n) un signal numrique. Sa TZ est dfinie par :

S (z ) =

s (n )z

n=0

Une fonction de transfert en z est elle-mme la transforme dune squence h(n) :

H (z) =

h (n )z

n=0

Comme dans le cas continu, la fonction de transfert est la transforme de la rponse impulsionnelle du filtre.
Les coefficients h(n) reprsentent donc les chantillons de sa rponse impulsionnelle.
En pratique, la rponse impulsionnelle possde un nombre fini dchantillons. La sommation est donc finie :
N

H(z) = h(n)zn
n =0

73

II) Synthse de filtres numriques


II.2) Transforme en z

Lien entre transformes en z et de Laplace

Lien avec la Transforme de Laplace (TL)


Tp

z=ee

La TZ est la TL dun signal chantillonn. Elle est obtenue en posant :


Dmonstration

(Te priode dchantillonnage)

L{s(t)} = S(p) = s(t)eptdt


+

L
(t)
1

t0p

L
(t t0)
e

Soit s(t) un signal et se(t) sa version chantillonne :

se(t) = s(t)

(t nT ) = s(nT )(t nT )
e

n =

n =

Se(p) = s(nTe)e

nTep

n=0

Tp

z=ee

S (z ) =

s (nT )z

n=0

Remarque : en gnral, on utilise lcriture simplifie :

S (z ) =

s (n )z

n=0

o s(n) est llment dindice n de la squence numrique obtenue.

74

II) Synthse de filtres numriques


II.2) Transforme en z

Proprits de la transforme en z

La transforme en z
Proprits lmentaires
Rappel domaine continu

Linarit :

Z
a1s1(n) + a2s2(n)
a1S1(z) + a2S2(z)

L
a1.s1(t) + a2.s2(t)
a1.S1(p) + a2.S2(p)

Retard temporel :
L
s(t t0)
et0pS(p)

Z
s(n n0)
zn0S(z)

Z

*

Produit de convolution :

Z
*

Rponse impulsionnelle et fonction de transfert :

H(z) =
Stabilit :

S(z)
E(z)

E(z) = 1

H(z) =

(voir plus loin)

S(z)
= S(z)
1

: RI
Rappel domaine continu

h(n) <

systme stable

n =0

t =0

h(t) dt <
75

II) Synthse de filtres numriques


II.2) Transforme en z

Lien entre TZ et suites numriques

Rappels : suites gomtriques


Pour calculer la transforme en z, il est ncessaire de connatre les dfinitions et proprits des suites gomtriques.

un+1 = r.un

Une suite gomtrique de terme principal un est telle que :


Le terme principal un est dfini par :

r : raison

u n = u 0r n

N1

SN = un

On peut dmontrer que la somme des N premiers termes, dfinie par :

n=0

1 r
1 r

est gale :

SN = u0

De mme, la somme de tous les termes est gale :

S = u0 lim

Exemple numrique :

un = 0,5n

1 rn
n 1 r

S = 1 + 0,51 + 0 ,52 + 0 ,53 + ... = 0 ,5n


n =0

n +1

un+1 = 0,5

S2 = u0

= 0,5 0,5 = un 0,5


n

1 r2
1 0,52 1 0,25 0,75
= 1
=
=
= 1,5
1 r
1 0,5
1 0,5
0,5
1 rn
1 0,5n
1
= lim
=
=2
n 1 r
n 1 0,5
0,5

S = u0 lim

76

II) Synthse de filtres numriques


II.2) Transforme en z

Quelques exemples de TZ

Transformes lmentaires
Impulsion
Il sagit ici de limpulsion de Kronecker, dfinie par (n)={1,0,0,} :
Z
s(n) = (n)
S(z) = 1

Echelon unit

1
Z
s(n) = u(n) = 1 pour n 0
S(z) =
0 pour n < 0
1 z1
Signal exponentiel
Z
s(n) = eanT
S(z) =

1
1 z1eaT

77

II) Synthse de filtres numriques


II.2) Transforme en z

Stabilit dans le plan z

Stabilit
De la mme manire quun filtre analogique peut tre tudi dans le plan p du point de vue de ses ples et de ses zros,
les filtres numriques peuvent tre tudies dans le plan z.
La correspondance plan p plan z est directement lie la relation entre les variables p et z :

z = eTep
Lchantillonnage conduit limiter le plan p la bande horizontale [-e/2, e/2] (e pulsation dchantillonnage).

Il a t vu prcdemment quun filtre analogique tait stable si tous ses ples sont partie relle ngative.
Un filtre numrique est donc stable si tous ses ples sont lintrieur du cercle unit.
78

II) Synthse de filtres numriques


II.2) Transforme en z

De la fonction de transfert en z lqua. diff.

De la fonction de transfert en z lquation aux diffrences


Forme gnrale de la fonction de transfert en z du filtre numrique :
P

S(z) a0 + a1z1 + a2z2 + ... + aPzP


H(z) =
=
=
E(z) 1 + b1z1 + b2z2 + ... + bQzQ

a z

p=0
Q

1 + bq.zq
q=1

E(z) et S(z) reprsentent respectivement les transformes en z des chantillons dentre e(n) (avec n correspond nTe)
et de sortie s(n) courants : E(z)=Z{e(n)} ; S(z)=Z{s(n)}

H(z) =
Z{e(n i)} = ziE(z)

Z{aea(n) + beb(n)} = aEa(z) + bEb(z)

S(z)
E(z)
(proprits de retard temporel et de linarit)

s(n) = a0e(n) + a1e(n 1) + a2e(n 2) + ... + aPe(n P) b1s(n 1) b2s(n 2) ... bQs(n Q)

79

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.1) Introduction

Synthse des filtres RII

Introduction
En cherchant transformer les filtres analogiques tudis prcdemment en filtres numriques, on va voir quon arrive
des fonctions de transfert de type RII.
La variable z tant dfinie par

pTe

z=e

, le passage du domaine continu (variable p) au domaine discret (variable z) peut

seffectuer en remplaant p par p = (1/ Te) ln z , mais cette transformation ne conduit pas une forme polynmiale.
On doit donc rechercher des mthodes dapproximation.
Les mthodes de transformation tudies ici sont :
- chantillonnage de la rponse impulsionnelle
- quivalence de la drivation (transformation dEuler)
- quivalence de lintgration (transforme bilinaire)
Toutes ces mthodes conservent la stabilit des filtres analogiques, une fois convertis en filtres numriques.

80

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.1) Introduction

Cellules du 1er et du 2e ordres

Importance des cellules du 1er ordre et du 2e ordres


Comme dans le cas continu, un filtre dordre quelconque peut se dcomposer en un ensemble de cellules
lmentaires du 1er et du 2e ordre. Par exemple, pour lordre 5 :

H1

H2

H3

N=2

N=3

N=1

H
N=5

Chaque bloc tant dfini par une fonction de transfert en z lmentaire :

S ( z ) a 0 + a1z 1
=
E (z )
1 + b1z 1

S (z) a0 + a1z 1 + a2z 2


=
E (z)
1 + b1z 1 + b2z 2

(N=1)

(N=2)

Du point de vue de la programmation, chaque bloc fonctionnel correspond un ensemble de lignes de programme
calculant s(n) en fonction de e(n) et des valeurs mmorises :
- e(n-1) et s(n-1) pour le 1er ordre,
- e(n-1), e(n-2), s(n-1) et s(n-2) pour le 2e ordre.

e(n-1)
e(n-2)

e(n)

e(n-1)
e(n-2)

s(n-1)
s(n-2)

N=2

e(n-1)

s(n-1)
s(n-2)

N=2

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.1) Introduction

s(n)

s(n-1)
N=1

81

Stabilit des cellules lmentaires

Etude de la stabilit des cellules dordre 1 et 2


Un filtre RII peut tre instable. Il faut vrifier que ses ples soient bien lintrieur du cercle unit.
Cas du 1er ordre

H(z) =

a0 + a1z1
1 + bz1

b <1
b <1

b=

Cas du 2e ordre

H(z) =
Le dnominateur possde 2 racines :

1<

b1 b12 4b2
<1
2

z1, z2 =

fc fe
fc + fe

fe < +fe

a0 + a1z1 + a2z2
1 + b1z1 + b2z2

b1 b12 4 b2
2
b1 < b2 + 1
b < b +1
1 2

b1 < b2 + 1

Dans le cas o des ples de la fonction de transfert en z sont proches du cercle unit, il faut faire attention quils
ne se trouvent pas dplacs en dehors de ce cercle la suite darrondis numriques.
82

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.1) Mthode de lchantillonnage de la RI

Synthse par chantillonnage de la RI : principe

Principe de lchantillonnage de la rponse impulsionnelle (systme 1 ple simple)

On peut passer de la fonction de transfert en p (continue) la fonction de transfert en z (chantillonne), et donc


lquation aux diffrences que lon peut programmer, en chantillonnant la rponse impulsionnelle :

H(p) =
TZ

H (z) =

1
p pi

TL-1

h (n ). zn =
n=0

ch. Te

h ( t ) = e p it

1 (e i e z 1)n
p T 1
n 1 e i ez

epinTe.z n =

h ( n ) = e p inT e
pT

(epiTe.z 1)n = lim

n=0

n=0

1:
z=1 correspond la frquence nulle. Le gain pour z=1 est gal
H0 =

piTe 1

1 e z

=
z =1

H (z ) =

1
pT
1 e i e z 1

1
pT
1 e i e

Il nest pas nul, alors que cest le cas de la fonction analogique de dpart.
Il faut donc multiplier H(z) par 1/H0 :

1 / H0
1 e p iTe z 1

H (z ) =
Finalement :

H (z ) =

S (z)
E (z )

S(z) =

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.1) Mthode de lchantillonnage de la RI

avec

1
1 epiTe

H0 =

TZ-1

1
pT
E(z) + e i ez1S(z)
H0

s (n ) =

1
e (n ) + epiTes (n 1 )
H0

83

Echantillonnage de la RI : passe-bas du 1er ordre

Filtre passe-bas du 1er ordre

Le cellule lmentaire passe-bas du 1er ordre est un exemple du systme un ple simple tudi prcdemment :

H(j) =

1
1+ j

j=p

H(p) =

TL-1

c
p + c

TZ

H (z) =

h (t) = ce

h ( n ). z
n=0

ch. Te

c t

h(n) = cecnTe

c
T
1 e c e z 1

Pour assurer un gain nul f=0, il faut modifier H(z) :

H (z ) =

1 / H0
T
1 e c e z 1

avec

H0 =

1
T
1 e c e

Finalement :

H (z ) =

S (z)
E (z)

S(z) =

1
T
E(z) + e c e z1S(z)
H0

TZ-1

s(n) =

1
e(n) + ecTes(n 1)
H0

84

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.1) Mthode de lchantillonnage de la RI

Synthse par chantillonnage de la RI : exemple

Exemple
Soit programmer un filtrage laide de la fonction de transfert du 1er ordre suivante, avec fc=1Hz : H(j) =

1 / H0 = 1 e

On chantillonne sa rponse impulsionnelle fe=100Hz. On a :


Fonction de transfert en z :

H (z ) =

c Te

1
1+ j

= 1 e0,2 = 0 ,0609

0 , 0609
0 , 0609
1 / H0
=
=
0 ,2 1
c Te 1
1 e
z
1 0 , 9391 z 1
1 e
z

Equation aux diffrences correspondante :

Magnitude
0

cTe

s(n) = (1/ H0)e(n) + e

s(n 1)

-5
-10

= 0,0609e(n) + 0,9391s(n 1)

b -15
d
-20
-25

Programmation avec Scilab

-30
-35

-4

10

fc=1;
fe=100;
a=[0,1-exp(-2*%pi*fc/fe)]; //coef. num. fonction transfert
b=[-exp(-2*%pi*fc/fe), 1]; //coef. dn.
num=poly(a, "z", "coef");
den=poly(b, "z", "coef");
sys=syslin('d', num, den);
bode(sys, 0.001, 0.3)

-2

10
Hz

-1

10

10

Phase
0
-10
s

-20

e
e-30
gr
e
d-40
-50
-60
-70

-4

10

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.1) Mthode de lchantillonnage de la RI

-3

10

-3

-2

10

10
Hz

-1

8510

10

Synthse par chantillonnage de la RI : limitations

Autres filtres
Filtre passe-bas du 2e ordre

H(j) =

1
2
1 + 2j / c + ( j / c )

h(t) = aer1t + ber2t


ou
selon la valeur de :
h(t) = aet cos(t + )

TL-1

Dans les 2 cas, on peut connatre la TZ-1 (=H(z)), en utilisant la table des transformes.
Filtre passe-haut du 1er ordre
La fonction de transfert possde un ple et un zro (nul) :

H(p) =

p
p
= 1+ i
p pi
p pi
ch. Te

H(j) =

h ( n ) = ( n ) c e

j / c
1
= 1
1 + j / c
1 + j / c

c nT e

TZ

TL-1

H (z ) = 1

h (t ) = ( t) ce

c t

c
1 e c Te z 1

En mettant H(z) sous forme rationnelle, on peut alors la transformer en quation aux diffrences.
Limitations
Lchantillonnage de la RI priodise le spectre du filtre analogique.
Or, le spectre dun filtre passe-haut nest pas limit dans les hautes frquences ; il y a donc chevauchement des spectres.
Cette mthode de transformation nest donc pas adapte aux filtres passe-haut et passe-bande bande large.
86

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.2) Mthode de lquivalence de la drivation

Synthse par transformation dEuler

Mthode de lquivalence de la drivation (transformation dEuler)


Principe
Approximation de la drive dune fonction continue :

s(t) =

de(t)
dt

Drivateur en chantillonn :

s(n) =

e(n) e(n 1)
Te

Te priode dchantillonnage

Drivateur en continu :

Identification :

S(p)
=p
E(p)

S(z) 1 z1
=
E(z)
Te

p=

1 z1
Te

Limitations
1

Par dfinition, z = epTe ; son dveloppement limit au voisinage de 0 est : z 1 pTe , donc pour pTe<<1.
Rappel du dveloppement en srie entire dune fonction, au point a :
f(x) = f(a) + (x a)f' (a) +

Lquivalence p (1 z1) / Te

(x a)2
(x a)n (n)
f' ' (a) + ... +
f (a) + ... + (x a)n(x a)
2!
n!

est donc valable uniquement pour pTe<<1.

On peut dmontrer que cette mthode transforme laxe imaginaire du plan p en un cercle de centre 1/2 et de rayon 1/2
(au lieu du cercle centr sur 0 et de rayon 1 de la TZ). Elle nest donc correcte que pour les basses frquences, et
nest pas adapte aux filtres devant laisser passer des frquences leves.
87

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.2) Mthode de lquivalence de la drivation

Exemple de transformation dEuler

Mthode de lquivalence de la drivation (transformation dEuler)


Exemple : circuit RC srie

e(t) = RC

ds(t)
+ s(t)
dt

e(n) = RC(

RC RC
e(n) = s(n)
+ 1
s(n 1)
Te
Te

s(n) s(n 1)
) + s(n)
Te

s(n) = e(n) + (1 )s(n 1)

Te
Te + RC

Magnitude
0
-5
-10

Programme Scilab :

b-15
d
-20
-25

tho=1/(2*%pi);
//->fc=1/(2*%pi*tho)=1
fe=100;
//fc=0,01 en frquence rduite
Te=1/fe;
beta=Te/(Te+tho);
a=[beta,0];
b=[-(1-beta),1];
num=poly(a, "z", "coef");
den=poly(b, "z", "coef");
den=poly(b, "z", "coef");
sys=syslin('d', num, den)
bode(sys, 0.0001, 0.5);

-30
-35

-4

10

-3

10

-2

10
Hz

-1

10

10

Phase
0
-20
-40
s -60
e
er -80
g
e
d-100
-120
-140
-160
-180
10

-4

-3

10

-2

10
Hz

-1

10

10

88

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.3) Mthode de la transforme bilinaire

Synthse par transforme bilinaire

Mthode de la transforme bilinaire (quivalence de lintgration)


Principe
Approximation de lintgrale dune fonction continue (base sur la mthode des trapzes) :
t

s(t) = e(t).dt

s(n) = s(n 1) + Te

Intgrateur en chantillonn :

e(n) + e(n 1)
2

Te priode dchantillonnage

Intgrateur en continu :
1

Identification :
1

1 Te 1 + z
=
p 2 1 z1

S(p) 1
=
E(p) p

S(z) Te 1 + z
=
E(z) 2 1 z1

p=

2 z 1
.
Te z + 1

Exemple pour lordre 2

H(p) =

S(p) a0 + a1p + a2p2


=
E(p) 1 b1p b2p2
2 z 1
.
Te z + 1

p=

H(z) =

Y(z) a0'+a1' z1 + a2' z2


=
X(z) 1 b1' z1 b2' z2

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.3) Mthode de la transforme bilinaire

89

1er exemple de transforme bilinaire

Exemple passe-bas du 1er ordre

H(j) =

1
1+ j

H(p) =

On cherche la mettre sous la forme :

On obtient :

H(z) =

fc
fc + fe

1
1+

H(z) = H0

1
fe z 1
.
1+
fc z + 1

H(z) =

p
c
1 + a1z1
1 + bz1

1 + z1
1 + z1
= H0
f f
1 + (H0 H1)z1
1 + c e z1
fc + fe

avec

H0 =

fc
et
fc + fe

H1 =

fe
fc + fe

Magnitude
0

Exemple numrique et programmation avec Scilab

-5
-10
b
d -15

fe=100Hz, fc=1

-20
-25

fe=100;
fc=1;
den=%pi*fc+fe;
H0=%pi*fc/den;
H1=fe/den;
a=[H0,H0];
b=[H0-H1,1];
num=poly(a, "z", "coef");
den=poly(b, "z", "coef");
sys=syslin('d', num, den)
bode(sys, 0.0001, 0.2)

-30

-4

10

-3

10

-2

10
Hz

-1

10

10

Phase
0
-10
-20
s -30
e
er -40
g
e
d -50
-60
-70
-80
-90
10

-4

-3

10

-2

10
Hz

-1

10

10

90

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.3) Mthode de la transforme bilinaire

2e exemple de transforme bilinaire

Exemple passe-haut du 1er ordre

c
H(j) =

1+ j
c
On cherche la mettre sous la forme :

On obtient :

H(z) =

fe z 1
.
fc z + 1
H (z ) =
f z 1
1+ e .
fc z + 1

p
c
H(p) =
p
1+
c

H(z) = H0

1 + a1z1
1 + bz 1

fe
1 z1
1 z1
.
= H0
fc + fe 1 + z1fc fe
1 + (H1 H0)z1
fc + fe

H0 =

avec

fe
fc + fe

et H1 =

fc
fc + fe

Magnitude
0
-5

Exemple numrique et programmation avec Scilab

-10
-15
b-20
d
-25

fe=100Hz, f1=1 (fc/fe=0,01)

-30
-35
-40

fe=100;
fc=1;
den=%pi*fc+fe;
H1=%pi*fc/den;
H0=fe/den;
a=[-H0,H0];
b=[H1-H0,1];
num=poly(a, "z", "coef");
den=poly(b, "z", "coef");
sys=syslin('d', num, den)
bode(sys, 0.0001, 0.5)

-45

-4

10

-3

-2

10

-1

10
Hz

10

10

Phase
90
80
70
60
s
e 50
er
g 40
e
d
30
20
10
0
-10
10

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.3) Mthode de la transforme bilinaire

-4

-3

-2

10

-1

10
Hz

10

10

91

3e exemple de transforme bilinaire

Exemple passe-bas du 2e ordre

2 z 1
.
Te z + 1

H(z) = H0

1 + 2j

p=

H(j) =

H(z) = H0


+j
0 0

1 + a1z1 + a2z2
1 + b1z1 + b2z2

1 + 2z1 + z2

avec H0 =

1 + 2H0(1 (fe / fc)2)z1 + H0(1 2fe / fc + (fe / fc)2)z2

1 + 2

fe fe

+
fc fc

Magnitude

Exemple numrique et programmation avec Scilab

20
10

fe=100Hz, fc=1Hz (fc/fe=0,01), =0,1


fc=1;
fe=100;
xi=0.1;
H0=1/(1+2*xi*fe/%pi/fc+(fe/%pi/fc)*(fe/%pi/fc));
a0=H0;
a1=2*H0;
a2=H0;
b0=1;
b1=2*(1-(fe/%pi/fc)*(fe/%pi/fc))*H0;
b2=(1-2*xi*fe/%pi/fc+(fe/%pi/fc)*(fe/%pi/fc))*H0;
a=[a2,a1,a0];
b=[b2,b1,b0];

0
b-10
d
-20
-30
-40
-50

-3

10

-2

10
Hz

-1

10

Phase
0
-20
-40
s -60
e
er -80
g
e
d-100
-120
-140
-160
-180
10

-3

-2

10
Hz

-1

10

92

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.3) Mthode de la transforme bilinaire

Amlioration de la transforme bilinaire (1/3)

Amlioration de la transforme bilinaire


Analysons plus en dtail la transforme bilinaire telle que dfinie prcdemment.
On a effectu le changement de variable suivant :
2 z 1

p=

.
Te z + 1

Or Ha(p)=p est la fonction de transfert dun drivateur : |Ha(p)|= |Ha(j)|= et arg(Ha(p))=arg(Ha(j))=/2.


Pour la partie en z de lquivalence, on a :

2 z 1
Hn(z) = .
Te z + 1

Hn(j) =

2 ejTe 1
2j T
= ... = tg( e )
. jTe
Te e + 1
Te
2

Hn(j ) =

T
2
tg ( e )
2
Te

La phase nest donc pas modifie par la transformation.


Par contre, le module est modifi quand f fe/2 ; en effet :

Te/2 /2

arg(Hn(j)) =

Hn(j)

La rponse en frquence du filtre numrique ne correspond donc plus son quivalent analogique quand f fe/2 .
Pour pallier cet inconvnient, on ralise une pr-distorsion des frquences :
avant dappliquer la transforme bilinaire prcdente. on modifie une frquence caractristique du filtre :
frquence de coupure dans les cas passe-bas et passe-haut, frquence centrale dans les cas passe-bande et coupe-bande.

c' =

Exemple : c, pulsation de coupure :

T
2
.tg c e
Te
2

(on peut vrifier que pour c, on trouve bien |Hn(j)|= c


le gain du filtre analogique cette pulsation)

La transforme bilinaire est ensuite applique ; la valeur de c pour le filtre numrique correspond alors bien celle du
filtre analogique de dpart.
93

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.3) Mthode de la transforme bilinaire

Amlioration de la transforme bilinaire (2/3)

Amlioration de la transforme bilinaire


Exemple avec cellule passe-bas du 2e ordre

H (j ) =

1
2


+j
1 + 2 j
c c

avec c=1rad/s et

2
2

H (p ) =

1
1 + 2p + p2

On effectue un chantillonnage des signaux fe=1Hz.


On applique la pr-distorsion de frquence c :

c' =
H (p ) =

2
1
T
.tg c e = 2.tg = 2tg0,5463 = 1,0926
Te
2
2

1
2

p
p

1+ 2
+

1 ,0926 1 ,0926

1
1 + 1 ,2944 p + 0 ,8377 p2

2 z 1
p= .
Te z + 1

H (z) = ...

Intrt de la transformation
Un intrt important de cette transformation est quelle comprime toutes les frquences dans la bande de Shannon (0-fe/2).
Tout repliement spectral est alors impossible. Elle est adapte tous les types de filtres, mme passe-haut.
Cette mthode de transformation est la plus utilise en pratique.
94

II) Synthse de filtres numriques


II.3) Filtres RII
II.3.3) Mthode de la transforme bilinaire

Amlioration de la transforme bilinaire (3/3)

Amlioration de la transforme bilinaire


Exemple Matlab (fonction "bilinear")
Lexemple suivant montre les consquences de lapplication de la transforme bilinaire et de la transforme
bilinaire modifie par rapport la courbe de rponse (en dB) du filtre analogique correspondant. On constate que :
- les courbes de rponse des 2 filtres RII tendent vers fe/2 ;
- la courbe de rponse du filtre RII calcul avec la transforme bilinaire pr-distorsion possde bien
la mme frquence dattnuation minimale en bande passante que le filtre analogique correspondant.

Butterworth : analogique (pointill), RII (hachur), RII rectifi (trait plein)

fe=4000; fp=1000; fa=3000; Ap=1; Aa=40;


wp=2*pi*fp; wa=2*pi*fa;
[N,Wc]=buttord(wp,wa,Ap,Aa,'s');
[b,a]=butter(N,Wc,'s');
%Filtre analogique de Butterworth
[bb,ab]=bilinear(b,a,fe); %sans prdistorsion
[bbp,abp]=bilinear(b,a,fe,fp); %avec prdistorsion en fp

-10

-20

L=64;
[Ha,wa]=freqs(b,a,L);
[Hn,wn]=freqz(bb,ab,L,fe);
-30
[Hnp,wnp]=freqz(bbp,abp,L,fe);
semilogx(wa/(2*pi),20*log10(abs(Ha)),':'); %pointill
-40
hold on;
title('Butterworth : analogique (pointill), RII (hachur), RII rectifi (trait plein)');
semilogx(wn,20*log10(abs(Hn)),'--'); %ligne hachure
-50
semilogx(wnp,20*log10(abs(Hnp)),'-'); %trait plein
grid;
-60
10

95

96

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.1) Principe gnral

Principe de la synthse des RIF

Principe gnral de la synthse des filtres RIF ( Rponse Impulsionnelle Finie)


Le principe de la synthse des filtres RIF est de partir de la rponse en frquence dsire.
Puisquon est dans le domaine de lchantillonn, ces rponses sont priodiques, de priode fe.
Par exemple, dans le cas dun passe-bas :
1

-fe

fc

-fc

-fe/2

fe/2

fe

La phase idale est nulle. La rponse en frquence est donc relle pure.
Les mthodes de synthse sont bases sur la Transforme de Fourier inverse de cette rponse idale :
- synthse par TF inverse, ou par dcomposition en srie de Fourier de la rponse frquentielle (ce qui revient au mme) ;
- synthse par TFD inverse.
Elles consistent dterminer le nombre et la valeur des coefficients du filtre (que lon notera hi), qui sont galement ceux
de lquation aux diffrences :

s(n ) = h0e (n ) + h1e (n 1 ) + h2e (n 2 ) + ... + hPe (n P )


La rponse en frquence idale dun filtre passe-bas priodis fe est la TF dun sinus cardinal, chantillonn Te=1/fe.
Ce dernier constitue la rponse impulsionnelle du systme. Ses chantillons sont les coefficients hi.
La squence des coefficients hi est infinie ; elle doit donc tre tronque.
De plus, elle nest pas causale ; elle doit donc tre dcale vers t>0 pour devenir causale.
97

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse : principe (1/3)

Synthse des filtres RIF ( Rponse Impulsionnelle Finie) par transforme de Fourier inverse du spectre

Calcul de la Transforme de Fourier du spectre priodis :

S(f) = rect2fc(f)

h ( t) = 2 fc sin c ( 2 fc t)

La priodisation du motif (priode fe) provoque une multiplication de la TF de ce motif par un peigne de Dirac :
+

n =

n =

n =

he(t) = Teh(t) (t nTe) = Te h(nTe).(t nTe) = Te 2fc sin c(2fcnTe).(t nTe)


h (n ) = 2 fcTe sin c (2 fc nTe)
2fc

n 2n

1/ fc

En fonction des frquences rduites (fcFc=fc/fe), cette expression devient :

h ( n ) = 2 Fc sin c ( 2 Fc n )

98

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse : principe (2/3)

Autres filtres
Pour les autres types de filtres, le mme calcul donne les rsultats ci-dessous.
Passe-haut

fc

-fe/2

fc
fe/2

h(n) = 2fcTe sin c(2fcnTe)

Passe-bande
F

fc1 fc2

-fe/2

fe/2

h ( n ) = 2 fc 2Te sin c ( 2 fc 2 nTe )


2 fc 1Te sin c ( 2 fc 1 nTe )

Coupe-bande
F

fc1 fc2

-fe/2

fe/2

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

h ( n ) = 2 fc 1Te sin c ( 2 fc 1 nTe)

2 fc 2Te sin c ( 2 fc 2 nTe )


99

Synthse des RIF par TF inverse : principe (3/3)

Transformation en filtres physiquement ralisables


Les filtres possdant les rponses impulsionnelles (RI) obtenues prcdemment ne sont pas physiquement ralisables,
pour 2 raisons :
- ces RI sont centres sur 0, donc non-causales ;
- leur dure est infinie (= elles sont support non-born).
Pour les rendre physiquement ralisables, il est donc ncessaire de :
- tronquer ces RI ;
- les dcaler pour que tous leurs lments soient nuls pour t<0.
Aprs troncature et dcalage des RI, leurs expressions deviennent (en frquences rduites, avec F=f/fc) :
Passe-bas :

h(n) = 2Fc sin c(2(n n0)Fc )

Passe-haut :

h(n) = 2Fc sin c(2(n n0)Fc )

Passe-bande :

h (n ) = 2 Fc 2 sin c(2 (n n0)Fc 2 ) 2 Fc 1 sin c(2 (n n0)Fc1 )

Coupe-bande :

h ( n ) = 2 Fc 1 sin c(2 (n n0)Fc 1 ) 2 Fc 2 sin c(2 ( n n0) Fc2 )

avec, dans tous les cas : n=0,,N-1, n0=N/2 pour N pair et n0=(N-1)/2.

100

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF-1, physiquement ralisable (1/2)

Consquences de la troncature de la rponse impulsionnelle (raisonnement dans le domaine continu)


Sur le plan thorique, la rponse impulsionnelle (RI) h(n) est une squence de taille infinie.
En pratique, elle doit tre tronque, pour que le nombre de coefficients soit fini.
Cette troncature revient multiplier la RI initiale par une fentre carre w(t), centre sur 0 :

h' (t) = h(t) w(t)

Dans le domaine des frquences, cette troncature se traduit par un produit de convolution :

H' (f) = H(f) * W (f)

Pour lexemple de la rponse en frquence H(f) dun passe-bas et h(t) la rponse impulsionnelle correspondante :
H(f)

*
-fc

H(f)

fc

H(f)

W(f)

Aprs troncature de la RI, la rponse en frquence pratique possde des oscillations en bande passante et en bande
attnue, et ses pentes de variation sont moins importantes quen thorie.
Interprtation :
- pour que la rponse frquentielle relle se rapproche le plus possible de celle qui est dsire, le nombre de
coefficients du filtre N doit tre le plus grand possible ;
- plus N est petit, plus la frquence de coupure obtenue sera infrieure la frquence de coupure dsire.
101

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse, physiquement ralisable (2/2)

Consquences du dcalage de la rponse impulsionnelle


On sait quun dcalage temporel se traduit par un dphasage du signal ( la phase nest plus nulle).
On cherche savoir si la phase est linaire, en fonction de la frquence (cest lun des critres de synthse).
Rappels :
continu

discret

x(t) X(f)

F
x(k)
X(f)

F
x(t t0)
X( f ) e

Interprtation :

F
x(k n)
X(f)ej2fnTe

g =

(*)

( f ) = 2 fnT e

( f ) = 2 ft 0

phase :
temps propag. :

j2 ft 0

d()
1 d(f)
= t0
=
d
2 df

g = nTe

- La phase est donc bien une fonction linaire de la frquence.


- Le temps de propagation de groupe est constant (le signal nest donc pas dform).

(*) dmonstration :

xe(t) = x(t) (t kTe) =


k=

x(k) = y(k n)

Y (f ) =

F
X(f) =
x(k)(t kTe)

k =

y(k n ) e

k =

j2 fkTe

x(k)e

j2fkTe

k =

puis changement de variable k=k-n


102

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Consquence de la symtrie des coefficients

Consquence de la symtrie des coefficients


Les rponses impulsionnelles tudies prcdemment prsentent toutes une symtrie par rapport leur valeur centrale,
et les filtres correspondant sont phase nulle (avant dcalage).
On peut montrer que cest une gnralit. Soit x(k) une squence infinie. Sa TF est dfinie par :

X(f) =

x(k)e

j2fkTe

x(k)e

j2fkTe

k =

k =

+ x(0) + x(k)e j2fkTe


k =1

En effectuant le changement de variable k=-u, et en utilisant la proprit : x(k)=x(-k) , on peut montrer que lon obtient :

X(f) = x(0) + 2 x(k ) cos( 2 fkTe)


k =1

La Transforme de Fourier dune squence dchantillons x(k) prsentant une symtrie x(k)=x(-k) est donc relle pure.
( sa phase est nulle).
De mme, on pourrait montrer que cest galement le cas si les coefficients sont anti-symtriques (x(k)=-x(-k))

Application au filtre FIR tudi


Soit la rponse impulsionnelle discrte h(n), compose de N chantillons.
Lindice de llment central est N/2 si N pair, N/2-1 si N impair.
N

indices dchantillons

dcalage

phase

temps de propagation de groupe

impair
pair

[-(N-1)/2,,(N-1)/2]
[-N/2,,N/2-1]

(N-1)/2
N/2

2((N 1) / 2)Tef
2(N / 2)Tef

((N 1) / 2)Te
(N / 2)Te
103

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par dveloppement en srie de Fourier

2e mthode de dtermination des coefficients h(n) : par dcomposition en srie de Fourier du spectre damplitude

Le spectre damplitude tant priodique de priode fe, on peut galement le dcomposer en srie de Fourier.
Rappel : un signal priodique s(t) peut se mettre sous la forme :

s (t ) =

c(n).e

jn 2

t
T

avec

c (n ) =

n =

jn 2
1 T
T
s (t). e
dt

0
T

Ici, la fonction dvelopper est la rponse en frquence H(f) :

H (f) =

h (n ). e

jn 2 fTe

avec

n =

La partie imaginaire peut tre annule :

fe

h (n ) = Te H (f ). e

jn 2 fTe

df

h ( n ) = Te H ( f ). cos (2 nfT e )df


fe

Exemple : cas passe-bas, avec N impair :

h (n ) = 2 Te cos(2 nfTe )df = ... = 2 fcTe sin c(2 nfcTe)


fc

ou, en frquences rduites :

h(n) = 2Fc sin c(2nFc)

On retrouve bien le mme rsultat quavec la transforme de Fourier inverse.


Cette RI doit ensuite tre rendue physiquement ralisable (par troncature et dcalage).
104

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse : programmation

Algorithme du cas passe-bas


Lire la valeur de N (nombre de coefficients du filtre)
si N pair
p=N/2
sinon
p=(N-1)/2
Lire la valeur de la frquence de coupure normalise Fc
Pour k variant de 0 N-1
si k!=p
h(k+1)=sin(2*pi*(k-p)*Fc)/((k-p)*pi);
sinon
h(k+1)=2*Fc;
Diviser les coefficients h(i) par leur somme

//calcul des coefficients h(i) du filtre


//k-p pour le dcalage
//sinus(x)/x pour x=0 trait part

Programme Scilab correspondant


N=10
if modulo(N,2)==0
//si N pair
p=N/2;
else
p=(N-1)/2;
//si N impair
end
Fc=0.01
for k=0:N-1
if k~=p
h(k+1)=1/(k-p)/%pi*sin(2*Fc*(k-p)*%pi);
else
h(k+1)=2*Fc;
//cas sin(x)/x pour x=0 trait part
end
end
somme=sum(h);
h=h/somme;
//division des coefficients par leur somme
105

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse : exemple

Exemple : Ralisation dun filtre passe-bas avec fe=44100Hz, fc=4410Hz et N=10


Frquence de coupure relative : Fc=0,01
RI du passe-bas avant dcalage :

Dcalage :

h(n) = 2Fc sin c(2nFc )

h(n) = 2Fc sinc(2(n n0)Fc )

Aprs dcalage :

h (n ) =

n0 =

N
=5
2

, n=-5,,4
, n=0,,9

1
sin(0,02 (n 5) )
(n 5 )

Rsultats obtenus :
h0= 0.0989147
h1= 0.0995054
h2= 0.0999662
h3= 0.1002962
h4= 0.1004945
h5= 0.1005607

= h9
= h8
= h7
= h6

Affichage graphique :

num=poly(h, "z", "coef");


sys=syslin('d', num, 1);
bode(sys, 0.0001, 0.3);

106

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse : fentrage

Diminution des ondulations en bande attnue par fentrage


Il existe des oscillations dans la fonction de transfert, au niveau des bandes de transition.
Il sagit du phnomne de Gibbs
Ce phnomne peut tre compens par un fentrage de la rponse impulsionnelle.
Ce fentrage consiste multiplier la rponse impulsionnelle avec une fentre pouvant avoir plusieurs formes possibles.
Une fentre couramment utilise est celle dite de Hamming, dfinie par :

k 2
wk = 0,54 + 0,46 cos

k=-(N-1)/2,0,,(N-1)/2

(= 0 pour les autres valeurs de k)


Exemple
N=10;
fc=0.01;
if modulo(N,2)==0
//cas N pair
p=N/2
else
p=(N-1)/2
//cas N impair
end
for k=0:N-1
w(k+1)=0.56+0.44*cos(2*%pi*(k-p)/N);
if(k==p)
h(k+1)=2*fc*w(k+1);
else
h(k+1)=w(k+1)*sin(2*%pi*(k-p)*fc)/((k-p)*%pi);
end
end

107

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse : gabarit

Synthse partir dun gabarit


Comme pour les filtres analogiques, on peut dfinir un gabarit dans lequel doit se situer la rponse en frquence.
Du fait du principe de synthse utilis, ce gabarit est un peu diffrent de celui utilis dans le cas des filtres analogiques :
les ondulations en bande passante se font autour de |H(f)|=1.

f
Il existe une formule empirique permettant de dterminer lordre du filtre, en fonction des paramtres de ce gabarit :

2
1
log10(
)
3f
1012
108

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.2) Synthse par TF inverse du spectre

Synthse des RIF par TF inverse : exemple de calcul

Exemple de calcul

109

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.3) Synthse par TFD inverse du spectre

Synthse des RIF par TFD inverse : principe

Principe de la synthse de filtres RIF par Transforme de Fourier Discrte inverse (TFD-1) du spectre damplitude
On dfinit dabord la rponse frquentielle dsire pour le filtre RIF. Elle est ensuite chantillonne.
Sa TFD-1 est calcule ; le rsultat correspond la rponse impulsionnelle (RI) du filtre (donc aux coefficients du RIF).
Rappel de lexpression de la TFD :

X( k ) =

N 1

x(n )e

j 2 nk
N

, k=0,,N-1

x (n ) =

n=0

directe

1 N 1
X( k ) e
N k =0

j2 nk
N

, n=0,,N-1

H(f)

inverse

Le principe consiste considrer que le filtre est rel,


et donc que la partie imaginaire est nulle :

x(n) =

1 N1
2nk
X(k) cos

N k =0
N

fc

fe

f(Hz)

Le rsultat correspond aux chantillons de la rponse impulsionnelle. Celle-ci est relle et impaire (donc non causale).
Pour que le filtre soit ralisable, il faut rendre la RI causale : elle doit tre dcale de n0 chantillons vers la droite, avec :
N pair : n0=N/2 ; N impair : n0=(N-1)/2

h(n) = x(n n0)

Lexpression de h(n) peut alors scrire :


soit :

h(n) =

1 N1
2k

H(k). cos N (n n0 )
N n=0

n=0,,N-1

H(k) = H(f)

f=

kfe
N

H0 correspond une frquence nulle et HN-1 fe-fe/N . La rsolution frquentielle est fe/N (1/N en frquences rduites).

110

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.3) Synthse par TFD inverse du spectre

Synthse des RIF par TFD inverse : exemple

Exemple
Filtre passe-bas, avec N=16, Hn=1 pour n variant de 0 2 et de 14 15, et Hn=0 pour n variant de 3 13.

h(n) =

1 N1
2k

H(k).cos N (n n0 ) , n0=N/2=8
N k =0

h(n) =

1 15
2k

cos 16 (n 8 ) , k=0,1,,15
16 k =0

La frquence de coupure rduite est gale : fc=2/N=2/10=0,25. Cest approximativement ce quon observe sur la figure.

Programme Scilab :
N=10;
Coefficients :
if modulo(N,2)==0 //cas N pair
p=N/2;
else
//cas N impair
h0= 0,1
p=(N-1)/2;
h1= 0
end
Nc=3;
//correspond fc=Nc/N
h2=-0,1236068
for n=0:N-1
h3= 0
if(n<Nc)
h4= 0,3236068
H(n+1)=1;
end,
h5= 0,35
if(n>N-Nc)
H(n+1)=1;
end,
end
for k=0:N-1
somme=0;
for n=0:N-1
somme=somme+H(n+1)*cos(2*%pi*n*(k-p)/N);
end,
h(k+1)=1/N*somme;
end

Magnitude
10
0
-10
b
d-20

= h9
= h8
= h7
= h6

-30
-40
-50

-2

-1

10

10
Hz

10

Phase
0
-50
-100
-150
s
e-200
er
g
e-250
d
-300
-350
-400
-450
-500

-2

-1

10

10
Hz

10

111

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.3) Synthse par TFD inverse du spectre

Synthse des RIF par TFD inverse : fentrage

Amlioration par fentrage


Modification du programme de lexemple prcdent :
Magnitude
10

...
for k=0:N-1
w(k+1)=0.54+0.46*cos(2*%pi*(k-p)/N);
somme=0;
for n=0:N-1
somme=somme+H(n+1)*cos(2*%pi*n*(k-p)/N);
end,
h(k+1)=1/N*somme*w(k+1);
end
...

Lamlioration est notable.

0
-10
b -20
d
-30
-40
-50
-60

-2

10

-1

10
Hz

10

Phase
0
-100
s -200
e
e
gr -300
e
d
-400
-500
-600
10

-2

-1

10
Hz

10

Limitations
Si le nombre dchantillons hk du filtre est limit, la rsolution frquentielle lest galement.
Par exemple, avec N=10, on passe directement dune frquence de coupure fc=2/N=2/10=0,2 fc=3/10=0,33
(pour une application audio, avec fe=44100Hz, cela reprsente respectivement 0,2x44100=8820Hz 0,33x44100=14700Hz.
Do la ncessit dutiliser un grand nombre de coefficients.

112

II) Synthse de filtres numriques


II.4) Filtres RIF
II.4.3) Synthse par TFD inverse du spectre

Synthse des RIF par TFD inverse : exemple de calcul

Exemple numrique

113

II) Synthse de filtres numriques


II.5) Performances compares des filtres RII et RIF

RII vs RIF

Comparaison RII/RIF

Filtres RII
Avantages :
- peu de coefficients donc calcul rapide
- modlisation des filtres analogiques (et notamment possibilit dobtenir des rsonances)
Inconvnients :
- risque dinstabilit surtout pour les grands facteurs de qualit
- les coefficients doivent tre cods avec beaucoup de prcision (consquence du risque dinstabilit)
- phase non-linaire (se traduit par une dformation du signal).

Filtres RIF
Avantages :
- pas de risque dinstabilit
- phase linaire
- permet de synthtiser nimporte quelle fonction de transfert (sauf rsonances)
Inconvnients :
- nombreux coefficients surtout pour les pentes raides et les bandes passantes troites

114

II) Synthse de filtres numriques


II.6) Conclusion

Conclusion

Conclusion

115

Conclusion gnrale

Conclusion gnrale

116

Вам также может понравиться