You are on page 1of 51

D

ept
GEII IUT Bordeaux I
FILTRAGE
ANALOGIQUE et NUMERIQUE
(Vol. 8)
G. Couturier
Tel : 05 56 84 57 58
email : couturier@elec.iuta.u-bordeaux.fr
Sommaire
I-Introduction p. 1
II-Filtrage analogique p. 4
II-1- Filtres passe-bas d'ordre deux p. 5
II-2- Ralisation d'un filtre passe-bas d'ordre gal deux p. 8
II-3- Filtres passe-bas d'ordre suprieur deux p. 11
II-4- Synthse des filtres passe-bas p. 15
II-5- Filtres passe-haut d'ordre deux p. 18
II-6- Ralisation d'un filtre passe-haut d'ordre gal deux p. 19
II-8- Synthse des filtres passe-haut p. 25
II-9- Filtres passe-bande du deuxime ordre p. 27
II-10- Filtres rjecteurs du deuxime ordre p. 29
II-11- Filtres universels p. 32
II-12- Filtres capacits commutes p. 36
) approche simplifie du filtre p. 36
) traitement complet du filtre capacits commutes p. 38
III-Filtrage numrique p. 42
III-1- Critre de stabilit des filtres numriques p. 44
III-2- Comportement frquentiel des filtrres numriques p. 45
III-3- Synthse des filtres RII p. 46
) la fonction modle est la rponse en frquence :
transforme bilinaire p. 46
) exemple de calcul d'un filtre par utilisation de la
transforme bilinaire p. 50
) la fonction modle est la rponse impulsionnelle :
invariance impulsionnelle p. 53
) exemple de calcul d'un filtre par utilisation de l'invariance
impulsionnelle p. 54
III-4- Synthse des filtres RIF p. 58
III-5- Implmentation des filtres RII et RIF dans les processeurs de
de signaux p. 68
III-5-1- Implmentation d'un filtre RIF dans un DSP p. 68
III-5-2- Implmentation d'un filtre RII dans un DSP p. 69
1) Mthode d'implmentation directe p. 69
2) Mthode d'implmentation en cascade p. 71
III-5-3- Performances des filtres p. 73
annexe I : Les outils de traitement des signaux numriques p. 77
I- Rponse impulsionnelle d'un systme numrique et transforme en Z p. 77
I- 1- Rponse impulsionnelle p. 77
I- 2- Produit de convolution p. 77
I- 3- Transforme en Z p. 78
II- Rponse harmonique d'un systme numrique : fonction de transfert isochrone p. 80
II- 1- Proprits de la fonction de transfert isochrone d'un sytme numrique p. 80
II- 2- Exemples p. 81
annexe II : Table des transformes en Z p. 86
annexe III : Calcul de la transforme inverse de H z
B Cz
z z
( )
+
+


1
1 2 2
1 2
p. 87
annexe IV : Universal Active Filter UAF42 - Burr-Brown p. 89
annexe V : MF6 6th Order Switched Capacitor Butterworth Lowpass Filter, National
Semiconductor
MF10 Universal Monolithic Dual Switched Capacitor Filter, National
semiconductor p. 90
I- Introduction
Dans cette introduction nous allons montrer partir d'un exemple simple la ncessit
de dvelopper des formes standards des fonctions de transfert des filtres analogiques et de la
mme manire nous montrerons le besoin d'une mthodologie de conception des filtres
numriques.
Prenons donc le cas simple d'un filtre passe-bas du premier ordre, dont le schma
lectrique est reprsent ci-dessous :
V
e
V
s
R
C
Fig. 1 Filtre analogique passe-bas du premier ordre
Ecrivons l'quation diffrentielle rgissant le fonctionnement de ce filtre, il vient :
( ) ( )
( )
V t V t RC
dV t
dt
e s
s
+ (1)
Soient V
e
(p) et V
s
(p) les transformes de Laplace de V
e
(t) et V
s
(t), crivons la fonction
de transfert H(p) = V
s
(p)/V
e
(p) du filtre, on suppose V
s
(t=0
-
)=V
s
(t=0
+
)=0 :
( )
( )
( )
H p
V p
V p
RCp
s
e

+
1
1
(2)
La fonction de transfert H(p) est ici du premier ordre car l'quation diffrentielle
rgissant le circuit est du premier ordre.
Les filtres du premier ordre sont en gnral peu performants (pente d'attnuation
limite -20dB/dcade). On peut partir de la simple cellule R-C prcdente construire des
filtres dont la pente d'attnuation est -20dB/dcade, il suffit par exemple de disposer
plusieurs cellules en cascade. L'quation diffrentielle rgissant le fonctionnement d'un tel filtre
constitu de N cellules serait de le forme :
( ) ( )
( ) ( ) a
d V t
dt
a
d V t
dt
V t V t
N
N
s
N N
N
s
N s e
+ + +

1
1
1
(3)
Soient V
e
(p) et V
s
(p) les transformes de Laplace de V
e
(p) et V
s
(p), la fonction de
transfert H(p) du filtre s'crit :
( )
( )
( )
H p
V p
V p
a p a p
s
e
N
N
N
N

+ + +

1
1
1
1

(4)
Il est facile de prdire le comportement pour f 0 et f , en effet :
( ) H j 1 si f 0 et ( ) H j
a
N
N

1
si f (5)
La pente d'attnuation est donc de -Nx20dB/dcade, il s'agit ici d'un filtre passe-bas
du N
ime
ordre. Il est par contre plus difficile de prdire le comportement du filtre pour les
frquences intermdiaires, celui-ci dpend des coefficients a
j
(j = N, N-1, ... , 0), remarquons
qu'il existe une infinit de filtres passe-bas du N
ime
ordre. Pour faciliter la synthse des filtres
(faire la synthse c'est chercher la fonction de transfert H(p) telle que la courbe de rponse en
frquence obisse un certain gabarit), on utilisera donc des fonctions standards, c'est dire
des fonctions de transfert H(p) avec des coefficients a
j
choisis tels que H(j) prsente certaines
caractristiques intressantes.
La ralisation des filtres fait de plus en plus souvent appel aux techniques numriques.
Trs succinctement, il s'agit d'chantillonner le signal analogique d'entre V
e
(t), on dispose
donc de V
e
(t) aux instants nT
e
, o T
e
est la priode d'chantillonnage, et on fait subir ces
chantillons une transformation mathmatique. Prenons le cas par exemple du filtre passe-bas
de premier ordre, l'quation diffrentielle prcdente on fait correspondre une quation aux
diffrences finies de la forme :
( ) ( )
( )
( )
( )
V nT V nT RC
V nT V n T
T
e e s e
s e s e
e
+
1
(6)
On obtient alors la relation de rcurrence suivante permettant de calculer le n
ime
terme de V
s
connaissant le (n-1)
ime
terme et le n
ime
terme de V
e
.
( )
( )
( ) ( ) V nT
RC
T RC
V n T
T
T RC
V nT
s e
e
s e
e
e
e e

1
]
1
+
+

1
]
1
1 (7)
Un filtre numrique, c'est d'abord un algorithme de calcul. On peut bien entendu
restituer un signal analogique ( ) V t
s
'
partir des chantillons ( ) V nT
s e
en effectuant par
exemple la convolution par un bloqueur d'ordre zro de rponse impulsionnelle
( )
[ ] h t U t U t T
e e e
( ) ( ) , le signal de sortie est alors not volontairement ( ) V t
s
'
pour le
distinguer du signal V
s
(t) correspondant l'opration de filtrage analogique. Nous tudierons
par la suite les diffrences entre ces deux signaux.
Ici encore l'intrt des filtres du premier ordre est limit ; il nous faut donc tablir des
relations de rcurrence correspondant des filtres d'ordre N. Comme prcdemment, il est
priori possible de partir de l'quation diffrentielle d'ordre N et d'crire l'quation aux
diffrences finies correspondante. On voit tout de suite la "lourdeur" de cette dmarche. En
effet, crire par exemple la drive d'ordre 4 sous forme de diffrences finies relve presque
des "travaux d'Hercule" !... . Il nous faut donc dvelopper une mthodologie simple
permettant d'obtenir rapidement les fonctions de rcurrence des filtres numriques.
Les coefficients des filtres sont en gnral calculs par utilisation de fonctions
modles. Les fonctions modles utilises pour la synthse des filtres sont soit la rponse
impulsionnelle soit la rponse en frquence de filtres analogiques connus.
Dans le cas d'une fonction modle de type rponse impulsionnelle, les lments h(k)
de la rponse impulsionnelle numrique sont obtenus en calculant h(t), la rponse
impulsionnelle du filtre analogique, aux instants t=kT
e
. La fonction de transfert en Z du filtre
s'crit donc :
( ) ( ) H z h k z
k
k

0
(8)
Si la fonction de transfert H(z) est connue, alors il est facile d'crire l'quation de
rcurrence.
En gnral, on priviligie la rponse en frquence plutt que la rponse impulsionnelle,
dans ce cas la fonction modle utilise est la rponse en frquence d'un filtre analogique connu.
La procdure est alors la suivante : connaissant la fonction de transfert analogique H(p) (ou
H(j)) on cherche une relation fonctionnelle ( ) p f z telle que la fonction de transfert
isochrone ( ) T j
n
du filtre numrique soit la plus proche possible de H(j) ; rappelons que
( ) T j
n
est gal H(z) calcul pour ( ) z j T
e
exp .
Fonction de transfert
analogique
H(p)

Relation
fonctionnelle
p = f(z)

Fonction de transfert
numrique
H(z)

Relation de
rcurrence
( ) y n
Cette dmarche ncessite d'une part de connatre les filtres analogiques et d'autre
part de trouver une relation fonctionnelle p = f(z).
Les filtres numriques, dont nous venons de parler conduisent des relations de
rcurrence, c'est dire que l'chantillon ( ) V nT
s e
est obtenu partir de ( )
( ) V n T
s e
1 et dans le
cas plus gnral partir des chantillons ( ) ( ) V n j T
s e
, avec j etc 1 2 , , ... . Finalement
l'chantillon ( ) V nT
s e
dpend de toute l'histoire du signal ( ) V t
e
, ou plutt des ( ) V nT
e e
. C'est
galement vrai dans le cas des filtres analogiques, autrement dit ces filtres ont des rponses
impulsionnelles infinies. Les filtres numriques ainsi raliss sont classs dans la catgorie des
filtres RII ou IIR (Rponse Impulsionnelle Infinie ou Infinite Impulse Response), ou encore
filtres rcursifs.
Les techniques numriques permettent cependant de raliser des filtres non rcursifs.
En effet, on peut raliser des filtres dont l'chantillon ( ) V nT
s e
est simplement calcul partir
d'un nombre fini d'chantillons ( ) V jT avec j n n M
e e
, , , 1 . Ces filtres ont donc des
rponses impulsionnelles finies, il sont classs dans la catgorie des filtres RIF ou FIR
(Rponse Impulsionnelle Finie ou Finite Impulse Response).
Les coefficients des filtres RIF peuvent tre calculs par troncature de la rponse
impulsionnelle d'un filtre idal. Les filtres RIF ont l'avantage d'tre toujours stables, par contre
ils ncessitent un grand nombre de coefficients ce qui augmente le temps de calcul et la place
en mmoire.
II- Filtrage analogique
On distingue cinq types de filtres :
- filtre passe-bas
- filtre passe-haut
- filtre passe-bande
- filtre rjecteur
- filtre dphaseur pur (gain constant q.q.s. la frquence et phase dpendant
de la frquence).
Un filtre analogique est caractris par sa fonction de transfert H(p) ; le gain
complexe H(j) est obtenu en faisant p=j dans H(p). D'une manire gnrale H(p) se prsente
sous la forme :
( ) H p
a p
b p
i
i
i
M
j
j
j
N

0
0
avec M N (9)
L'ordre d'un filtre est donn par le degr du polynome du dnominateur, c'est dire N.
C'est le degr de l'quation diffrentielle rgissant le fonctionnement du filtre (voir par exemple
quations (3) et (4) ci-dessus). L'ordre du filtre dfinit le comportement asymptotique quand
tend vers zro ou l'infini. Par exemple, pour un filtre passe-bas d'ordre 4, la pente de
( ) 20
10
Log H j en fonction de Log
10
sera de -80dB/dcade quand . L'ordre d'un
filtre est donc une caractristique importante. Les filtres d'ordre deux et d'ordre un occupent
une place de toute premire importance, en effet un filtre d'ordre N quelconque peut tre
ralis partir d'un ensemble de filtres d'ordre deux et un si ncessaire.
filtre
ordre 5
filtre
ordre 2
filtre
ordre 2
filtre
ordre 1
Fig. 2 Ralisation d'un filtre d'ordre 5
Les filtres d'ordre un ne prsentent pas de difficult. Leur fonction de transfert est soit
( ) ( ) H p p + 1 1 pour un filtre passe-bas, soit ( ) ( ) H p p p + 1 pour un filtre passe-haut
avec rel.
On peut se poser la question de l'intrt des filtres d'ordre deux, en effet il est priori
possible de raliser un filtre d'ordre deux partir de deux filtres d'ordre un. La mise en cascade
de deux filtres d'ordre un constitue bien un filtre d'ordre deux, elle ne permet pas toutefois de
raliser tous les filtres d'ordre deux, en effet les ples de H(p) sont dans ce cas toujours rels.
En consquence nombre de filtres d'ordre deux ne sont pas ralisables par la mise en cascade
de deux filtres d'ordre un.
Nous allons nous intress plus particulirement aux filtres d'ordre deux de type
passe-bas. Les filtres passe-bas sont de toute premire importance, d'une part parce qu'ils sont
trs utiliss et d'autre part parce que la synthse des autres filtres est grandement facilite par
la connaissance des fonctions de transfert des filtres passe-bas (voir suite du cours).
II-1- Filtres passe-bas d'ordre deux
La fonction de transfert d'un filtre passe-bas d'ordre deux est donc de la forme :
( ) H p
a
b b p b p

+ +
0
0 1 2
2
(10)
A cette forme, on prfre la forme canonique suivante :
( ) H p A
p p Q
LP

+ +


0
2
2
0 0
2
(11)
dans laquelle A
LP
est la gain aux basses frquences, en effet ( ) H j A
LP


0
,
0
est la
frquence caractristique et Q est appel coefficient de surtension, la justification de ces deux
grandeurs apparatra clairement par la suite.
Le module de H(j) est donn par :
( ) H j A
Q
LP

_
,
+

_
,

1
]
1
1
1
1
1
2
0
2
2
0
2
1 2
(12)
Une tude rapide de ( ) H j en fonction de montre que ( ) H j prsentera un
maximum si Q1 2 ; en effet
( ) d H j
d

0 implique que ( ) 2 2 1
2
0
2 2
Q .
Dans le cas o Q0 707 . , il est facile de montrer que :
( )
( )
H j
A
Q Q
QA
Q
LP
LP

1
]
1

0
2
1 2
1 1 2
2 4
1 2
1 1
si Q1 (13)
c'est la raison pour laquelle Q est appel coefficient de surtension.
Pour une mme valeur du coefficient Q, les tracs 20
10
log ( ) H j fonction de log
10

se dduisent les uns des autres par une simple translation, avec ce systme d'axe il existe donc
une infinit de tracs suivant la valeur de la pulsation caractristique
0
. Il est possible de
ramener tous les tracs ayant une mme valeur de Q un trac unique condition de prendre
comme axe des x non plus log
10
mais log
10
(/
0
).
L'allure de ( ) 20
10
log H j en fonction de log
10
(/
0
) est reprsent ci-dessous pour
trois valeurs diffrentes du coefficient Q (Q=0.707, Q<0.707 et Q>0.707).
20log
10
H(j)
log
10
( /
0
)
0dB
20log
10
A
LP
Q<0.707
Q>0.707
Q=0.707
pente de -40dB/dcade
Fig. 3 Courbes de gain pour Q=0.707, Q<0.707 et Q>0.707
A l'criture de l'quation (11) on prfre une criture en variable rduite, cet effet on
pose s=p/
0
, dans ce cas l'quation (11) s'crit :
( ) H p H s A
s s Q
LP

+ +
( )
1
1
2
(14)
La fonction de transfert (14) est appele fonction de transfert normalise.
Suivant la valeur de Q les filtres portent des noms diffrents, on distingue :
a) Q=0.707 Butterworth
b) Q=0.577 Bessel
c) Q=0.863 Chebyschev (ripple band = 0.5dB)
Q=1.128 Chebyschev (ripple band = 2dB)
Les filtres de Butterworth ont les courbes de rponse les plus plates dans la bande
passante (pas de rebond), ce sont les filtres les plus utiliss. Dans la suite du cours, nous ne
prsenterons la synthse des filtres uniquement partir des filtres de Butterworth. Dans le cas
des filtres de Butterworth, la pulsation caractristique
0
est gale la pulsation de coupure
-3dB. En effet compte tenu de la relation (12), le module de H(j
0
) est gal A
LP
/ 2 pour

0
si Q 1 2 / .
Les filtres de Chebyschev prsentent une pente d'attnuation (roll-off) suprieur
40dB/dcade au voisinage de la frquence de coupure. Les filtres de Chebyschev sont
caractriss par une ondulation dans la bande passante (ripple band), voir la dfinition sur le
graphe de la Fig. 4.
Les filtres de Chebyschev sont caractriss par la valeur de Q et la pulsation
0db
; c'est
la pulsation pour laquelle le gain est de nouveau gal A
LP
, c'est dire le gain la frquence
nulle. Pour un filtre de ripple band=0.5dB, on a la relation :
0 0
1 231 .
dB
, pour un ripple
band=2dB :
0 0
0 907 .
dB
.
20log
10
H(j)
log
10
( /
0
)
0dB
20log
10
A
LP
ripple band
en dB
log
10
( /
0
)
0dB
Fig. 4 Filtre passe-bas de Chebyschev d'ordre deux
Dans le cas des filtres de Bessel, la pulsation de coupure -3dB est relie la
pulsation caractristique
0
par la relation :
0 3
1 274

.
dB
. L'intrt des filtres de Bessel
rside dans la phase linaire aux basses frquences. Trop souvent, on oublie la phase () des
filtres, or sa variation avec la frquence est un lment important dans une opration de
filtrage, pour s'en convaincre prenons le cas d'un signal constitu de trois sinusodes :
( ) ( ) ( ) e t A t B t C t ( ) sin sin sin + +
1 2 3
. Le filtre est conu par exemple pour liminer la
pulsation
3
>
1,
,
2
; le signal espr en sortie du filtre est donc :
( ) ( ) s t A t B t
th
( ) sin sin +
1 2
. Supposons que le gain du filtre est voisin de l'unit pour les
deux pulsations
1
et
2
et pratiquement nul pour
3
. Soient (
1
) et (
2
) les phases
respectives pour les deux pulsations
1
et
2
. Le signal s(t) aprs filtrage s'crit donc :
( ) ( ) ( ) ( ) s t A t B t ( ) sin sin + + +
1 1 2 2
Le signal aprs filtrage est dform, sauf si la phase ( ) ( ) arctg H j ( ) du filtre
varie linairement avec la frquence, en effet dans ce cas on peut crite ()=k par exemple,
et le signal s(t) s'crit :
( ) ( )
( )
( ) ( )
s t A t k B t k
A t k B t k
s t k
th
( ) sin sin
sin sin ( )
( )
+ + +
+ + +
+


1 1 2 2
1 2


En conclusion, si la phase () varie linairement en fonction de la frquence, le signal
est simplement translat mais non dform. Pour quantifier la dpendance de () en
fonction de , on introduit le retard de groupe

d
d
(group delay) ; un filtre phase
linaire a donc un retard de groupe constant. En pratique, on ne peut pas raliser un filtre
analogique phase linaire, le filtre de Bessel est celui dont la phase varie la plus linairement
en fonction de la frquence dans la bande passante.
NB : Le filtre passe-bas idal serait celui dont la rponse en frquence aurait l'allure
suivante (gain unit dans la bande passante et phase nulle) :
-F
c
F
c
1
f
Gain
Phase
f
Fig. 5 Passe bas idal
La rponse impulsionnelle d'un tel filtre est donne par la transforme de Fourier
inverse de H(f), avec H(f) =1 pour -F
c
<f<F
c
et H(f)=0 ailleurs d'o :

( )
h t e df
F t
t
j ft
c
F
F
c
c
( )
sin

2
2

Il est clair qu'un tel filtre est irralisable, en effet il s'agit d'un filtre non causal (la sortie
prcde l'entre).
Nous verrons dans la suite du cours qu'il est possible de raliser des filtres numriques
RIF phase linaire.
II-12- Filtres capacits commutes
Dans les filtres universels la pulsation caractristique
0
est fonction des constantes de
temps
1
et
2
des deux intgrateurs. La modification de
0
n'est donc pas trs aise. Les filtres
capacits commutes offrent une alternative ce problme, en effet dans ces filtres la
pulsation
0
est fixe par la frquence f
e
d'un signal logique.
Le schma lectrique de base d'un filtre capacits commutes, ici un intgrateur, est
donn la Fig. 16.
-
+
U
e
K K
1 2
C
C
1
logique de
commande la
frquence f
e
U
s
Fig. 16 Schma de base d'un filtre capacits commutes (intgrateur)
Les interrupteurs K
1
et K
2
(MOSFET en commutation) sont ferms ou ouverts en
synchronisme avec un signal logique de frquence f
e
, suivant le chronogramme de la Fig. 17.
Au niveau logique '1' le condensateur C
1
suit le signal d'entre U
e
. A l'instant nT
e

par
exemple la tension aux bornes de C
1
est gale U
e
(nT
e
). A l'instant nT
e
+
, c'est dire au niveau
logique '0' la charge du condensteur C
1
est transfre intgralement au condensateur C. Cette
opration s'effectue en un temps nul si on nglige la rsistance des interrupteurs K
1
et K
2
. La
tension aux bornes de C restera constante jusqu' l'instant (n+1)T
e
, (en pratique C se
dchargera trs faiblement, d'une part cause du courant de polarisation de l'amplificateur
oprationnel et d'autre part cause de la conductivit lectronique du matriau constituant le
diletrique du condensateur, ces deux quantits restent cependant trs faibles).
Pour dterminer le comportement du filtre en frquence, l'utilisation de la transforme
en Z s'impose. Dans une premire approche nous faisons cependant un raisonnement simplifi
sans introduire cet outil mathmatique.
) Approche simplifie du filtre
Nous allons montrer que le filtre se comporte comme un intgrateur de constante de
temps =R
eq
C avec R
eq
=1/C
1
f
e
=T
e
/C
1
. A cet effet, supposons un signal d'entre U
e
=AU(t)
avec U(t) la fonction chelon. Le signal de sortie U
s
est constitu de marches d'gale amplitude
comme le montre la Fig. 18. En crivant la conservation de la charge, on obtient une hauteur
de marche de
C A
C
1
.
U
tension aux
bornes de C
1
nT (n+1)T
e e
C
C
U
e
(nT
e
) -
t
t
t
t
U
e
s
signal logique
de commande
des interrupteurs
K
1
ferm
K
2
ouvert
K
1
ouvert K
1
ferm
K
2
ferm K
2
ouvert
nT (n+
1
2
)T
e
(n+1)T
e
'1'
'0'
1
e
Fig. 17 Principaux signaux du schma de la Fig. 16
Quelle devrait tre la valeur de R
eq
du schma (b) de la Fig. 19 pour que la droite
passe par les sommets des marches ? La droite a pour quation :

1
C
A
R
t
eq
L'accroissement en valeur absolue de U t
s
'
( ) (droite ) pendant une dure T
e
est donc
gal :
1
C
A
R
T
eq
e
. En comparant cette valeur la hauteur d'une marche
C A
C
1
, on obtient :
R
eq
=T
e
/C
1
.
On peut conclure que les schmas (a) et (b) sont des intgrateurs de fonction de
transfert H p
p
( )
1

avec R C
T
C
C
eq
e
1
. Il est clair que le signal U
s
(t) sera d'autant plus
proche du signal U
s
'
(t) que les marches seront petites donc que la frquence f
e
sera leve.
Pour tudier plus en dtail le comportement du filtre, par exemple sa rponse
harmonique, il faut faire usage de la transforme en Z.
A
T
e
signal logique
de commande
t
t
t
U
s
-C
1
A
C
-A
R
eq
C
t
-A
R
eq
C
T
e
droite
Fig. 18 Rponse du filtre capacites commutes un chelon de tension
U
e
K K
1 2
C
1
logique de
commande la
frquence f
e
-
+
C
U
s
-
+
C
U
s
R
eq
U
e
(a) (b)
'
Fig. 19 Equivalence entre filtres capacits commutes et filtre analogique
) Traitement complet du filtre capacites commutes
Il est noter que le signal de sortie U
s
serait inchang mme en prsence d'un signal U
e
tel que celui reprsent en pointills la Fig. 17.
Le filtre de la Fig. 16 ralise en fait trois oprations distinctes comme le montre la Fig.
20, on distingue :
1) un chantillonnage : les chantillons U
e
(n) sont obtenus par chantillonnage
du signal U
e
(t) la frquence f
e
2) un traitement numrique des chantillons U
e
(n) : la suite des chantillons
U
e
(n) on fait correspondre la nouvelle suite des chantillons U
s
(n) :
( ) ( )
( )
U n U n
C U n
C
s s
e
1
1
(40)
L'quation (40) traduit seulement la conservation de la charge.
3) une reconstruction analogique par un bloqueur d'ordre zro
chantillonnage
transformation
des
chantillons
reconstruction
analogique
U
e
(n) U
s
(n) U
e
(t) U
s
(t)
opration n1 opration n2 opration n3
multiplication
convolution
multiplication
convolution relation de rcurrence
fonction de transfert
isochrone
domaine
temporel
domaine
frquentiel
par bloqueur
d'ordre zro
Fig. 20 Diffrentes oprations ralises par le filtre de la Fig. 16
Pour tudier la rponse harmonique du filtre, supposons une entre de la forme
cosinusodale U
e
(t)=Acos(
0
t) et cherchons dterminer U
s
(t) et son spectre.
La transforme de Fourier de U
e
(t) s'crit (au sens des distributions) :
[ ] { } T F U t
A
f f f f
e
. . ( ) ( ) ( ) + +
2
0 0

Elle est constitue de deux raies d'amplitude A/2 situes aux frquences -f
0
et f
0
comme
le montre la Fig. 21-a.
Les chantillons U
e
(n) sont obtenus par chantillonnage, c'est dire multiplication (au
sens des distributions) par le peigne de Dirac :
( ) ( )
[ ] [ ] ( ) U n U t t kT n T F U t T F t kT
e e e
k
e e
n
( ) ( ) . . ( ) . .

1
]
1

T. F. U
e
( )
[ ] ( ) ( ) { } ( ) ( ) ( ) {
T. F. U
e
n
A
f f f f
T
f kf
A
T
f f kf f f kf
e
e
k e
e e
k
+ + + +

2
1
2
0 0 0 0

Il s'agit d'un spectre de raies d'amplitude A/2T
e
situes aux frquences ....-f
e
-f
0
, -f
e
+f
0
,
f
0
, f
0
, f
e
-f
0
, f
e
+f
0
, ... comme le montre la Fig. 21-b.
Chaque composante de frquence prcdente est multiplie par la fonction de transfert
isochrone T
n
(j) de l'opration n2. T
n
(j) est obtenue en calculant H(z) pour z e
j T
e


, avec
H(z) la fonction de transfert en Z dduite de l'quation de rcurrence (40). D'aprs (40), on
obtient respectivement pour H(z) et T
n
(j) :

( )
( )
( )
H z
C
C
z
j
C
C
e
j T
e
( )


1
1
1
1
1
1
1
T
n

La transforme de Fourier des chantillons U


s
(n) est encore constitue de raies situes
aux frquences ....-f
e
-f
0
, -f
e
+f
0
, f
0
, f
0
, f
e
-f
0
, f
e
+f
0
, ... . L'amplitude complexe d'une raie est
obtenue en multipliant A/2T
e
par le gain T
n
(j) calcul la frquence correspondante. Du fait
de la priodicit de T
n
(j), on notera que ( ) T j
n
est le mme pour toutes les raies, voir la
Fig. 21-c.
A/2
f
0
-f
0
T.F. de U
e
(t)=Acos(
0
t)
f
A/2T
e
f
0
f
e
-f
0
f
e
+f
0
f
e
+f
0
-f
e
-f
0
-
-f
0
f
T. F. des chantillons U
e
(n)
0
f
e
-f
0
f
e
+f
0
f
e
+f
0
-f
e
-f
0
-
f -f
0
A T
n
(j
0
)
2T
e
f
T. F. des chantillons U
s
(n)
f
T. F. de U
s
(t)
f -f
0 0
(a)
(b)
(c)
(d)
A
j
0
CT
e
( /C
1
)
1
2
Fig. 21 Spectres des diffrents signaux de la Fig. 20
Le signal de sortie U
s
(t) est le rsultat de la convolution des chantillons U
s
(n) par un
bloqueur d'ordre zro de rponse impulsionnelle h t U t U t T
e
( ) ( ) ( ) . La transforme de
Fourier de U
s
(t) est donc obtenue en effectuant le produit : T.F.[U
s
(n)]xH(j), avec
H j T F h t ( ) . . ( ) =
1

1
]
1

e
j
j T
e

. Le spectre de U
s
(t) est encore constitu de raies situes en
....-f
e
-f
0
, -f
e
+f
0
, f
0
, f
0
, f
e
-f
0
, f
e
+f
0
, ... , comme le montre la Fig. 21-d.
L'amplitude complexe d'une raie de frquence f est donne par :

( )
( )

1
]
1

A
T
C
C
e
e
j
A
T
C
C j
A
j f T
C
C
e
j T
j T
e
e
e
e
2
1
1
1
2
1
2
1
2
1 1
1

avec f= [ ....-f
e
-f
0
, -f
e
+f
0
, f
0
, f
0
, f
e
-f
0
, f
e
+f
0
, ... ].
On retrouve le rsultat obtenu en ) : le filtre se comporte comme un intgrateur de
constante de temps T C C
e
/
1
. La sortie U
s
(t) du filtre sera d'autant plus proche d'une
cosinusode que la frquence d'chantillonnage f
e
sera grande devant la frquence de travail f
0
.
Si par exemple, on impose que la raie situe en f
e
-f
0
soit infrieure 1% la raie
principale situe en f
o
; il faut satisfaire l'ingalit suivante :
( )
1
2
1
100
1
2
0
1
0
1
f f
T C
C
f
T C
C
e
e e

< d'o f f
e
100
0
En pratique il est conseill de travailler avec f
e
>50f
0
.
NB : On pourra consulter, en annexe V, les caractristiques techniques des filtres
capacits commuts MF6 et MF10 de National semiconductor.
III- Filtrage numrique
Un filtre numrique est un algorithme de calcul qui fait correspondre une suite
d'chantillons x(n) une autre suite d'chantillons y(n). Dans le cas le plus gnral l'chantillon
y(n) s'crit :
y n b x n i a y n j
i
i
i M
j
j
N
( ) ( ) ( ) +


0 1
(41)
C'est une gnralisation du bloc numrique du filtre capacits commutes, o
la relation de rcurrence s'crivait :
y n y n
C
C
x n ( ) ( ) ( ) 1
1
(a
1
= 1 et a
i
= 0 pour i>1 ; b
0
= -C
1
/C et b
i
= 0 pour i>0)
A partir de la relation (41) on peut distinguer deux types de filtres :
) les filtres rponse impulsionnelle finie (RIF) ou FIR (Finite Impulse
Response). Dans ces filtres tous les coefficients a
j
sont nuls, on obtient donc :
y n b x n i
i
i
i M
( ) ( )

0
(42)
L'chantillon y(n) ne dpend donc que d'un nombre limit d'chantillons. La fonction de
transfert H(z) s'crit :
H z
Y z
X z
b z
i
i
i
i M
( )
( )
( )

0
(43)
La transforme H(z) est aussi la transforme en Z de la rponse impulsionnelle h(n) ;
H z h k z
k
k
( ) ( )

0
. Il s'ensuit que b
i
=h(i), les coefficients h(k) sont donc nuls pour k>M, c'est
la raison pour laquelle ces filtres sont appels filtres rponse impulsionnelle finie. Ce sont des
filtres toujours stables car la sortie revient toujours zro aprs suppression de l'excitation.
Exemple de filtre RIF :
Soit le filtre obissant la relation suivante : y n
x n x n
( )
( ) ( )

+ 1
2
, seuls les deux
premiers coefficients b
0
et b
1
sont diffrents de zro. La rponse impulsionnelle de ce filtre est
reprsente ci-dessous.

n
0 1
1/2
Rponse impulsionnelle
Fig. 22 Rponse impulsionnelle du filtre y n
x n x n
( )
( ) ( )

+ 1
2
) Filtres rponse impulsionnelle infinie (RII) ou IIR (Infinite Impulse Response), ces
filtres sont encore appels filtres rcursifs. Dans ces filtres les coefficients a
j
sont diffrents de
zro, en consquence un chantillon y(n) dpend de tous les chantillons x(n) passs. La
transforme H(z) de ces filtres s'crit :
Y z y n z b x n i z a y n j z
n
n
i
i
M
n
n
j
j
N
n
n
( ) ( ) ( ) ( )

_
,
+

_
,


0 0 0 1 0

_
,
+

_
,


b x n i z a y n j z
i
n
n i
M
j
n
n j
N
( ) ( )
0 0 0 1
En effectuant les changements de variables (n-i)=u et (n-j)=v, on obtient :
Y z b z X z a z Y z X z b z Y z a z
i
i
i
M
j
j
j
N
i
i
i
M
j
j
j
N
( ) ( ) ( ) ( ) ( ) + +


0 1 0 1
d'o la fonction de transfert H(z) suivante :
H z
Y z
X z
b z
b z
i
i
i
M
j
j
j
N
( )
( )
( )

0
1
1
(44)
La rponse impulsionnelle de ces filtres est donc infinie, en consquence ces filtres
peuvent devenir instables.
Exemple de filtre RII :
Soit le filtre obissant la relation suivante :y n
x n y n
( )
( ) ( )

+ 1
2
. La transforme en
Z de ce filtre s'crit : H z
z
( )


1
2
1
. La transforme en z inverse permet de dterminer
l'lment h(n) de la rponse impulsionnelle : h n
n
( )

_
,

1
2
1
2
. Il s'agit bien d'une rponse
impulsionnelle infinie, le systme est stable, en effet h n ( ) 0 quand n . La rponse
impulsionnelle du filtre est donn ci-dessous.
n
0 1
Rponse impulsionnelle
1/2
1/4
1/8
1/16
etc
2 3
Fig. 23 Rponse impulsionnelle du filtre y n
x n y n
( )
( ) ( )

+ 1
2
III-1- Critre de stabilit des filtres numriques
Comme pour les systmes analogiques la stabilit des sytmes numriques peut tre
dduite du lieu des ples dans le plan complexe des z.
Soit donc H(z) la transforme en z d'un systme numrique, la dcomposition en
lments simples de l'expression (44) conduit soit des termes de la forme :
)
( )
A
az 1
1


pour un ple situ en z=a
soit des termes :
)
( )
B Cz
z z
+
+


1
1 2 2
1 2
pour des ples imaginaires conjugus situs en
z j
1 2
2 2
,
t avec z
1 2 ,
.
Les transformes inverses des ces deux expressions sont respectivement (voir annexes
II et III) :
( )
( )
A
az
U n
1
1

Aa
n
avec U(n) la squence chelon
( )
( ) ( ) { } [ ]
B Cz
z z
n T K n T U n
+
+
+


1
1 2 2
1 2
B
n
cos sin ( ) avec cos( ) / T
et
( )
( )
K =
C/ B +
sin T
.
Ces deux suites convergent condition que a et soient infrieurs l'unit. En
consquence le critre de stabilit des systmes numriques peut s'noncer comme suit :
Un systme numrique est stable si le module des ples reste infrieur l'unit.
Dans le plan complexe des z le lieu des ples d'un systme stable est donc le cercle de
rayon unit.
Plan complexe des z
zone de
stabilit
1
Fig. 24 Plan complexe des Z et lieu des ples d'un systme stable
Pour illustrer le critre de stabilit, nous tudions trois filtres numriques simples, un
filtre RIF et deux filtres RII dont un est instable.
Exemple n1 :
Soit le filtre RIF obissant la relation y n
x n x n
( )
( ) ( )

+ 1
2
, ce filtre a pour
transforme en Z ; H z
z
( )
+

1
2
1
. H(z) prsente donc un ple en z=0, le systme est donc
stable. Seuls les deux premiers lments de la rponse impulsionnelle h(n) sont diffrents de
zro ; h(0)=h(1)=1/2, h(i)=0 pour i 2.
Exemple n 2 :
Soit le filtre RII obissant l'quation rcurrente y n
x n y n
( )
( ) ( )

+ 1
2
, ce filtre a
pour transforme en Z ;
( )
H z
z
z
( )
2 1
. H(z) prsente donc un ple en z=1/2, le systme est
donc stable. Sa rponse impulsionnelle est : h n
n
( ) ( / )( / ) 1 2 1 2 , elle converge vers zro
quand n .
Exemple n 3 :
Soit le filtre RII obissant l'quation rcurrente y n x n y n ( ) ( ) ( ) + 2 1 , ce filtre a
pour transforme en Z ;
( )
H z
z
z
( )

2
2
. H(z) prsente un ple en z=2, donc l'extrieur du
cercle unit, le systme est donc instable. Sa rponse impulsionnelle est : h n
n
( ) ( ) 2 2 , elle
diverge quand n .
III-2- Comportement frquentiel des filtres numriques
Le comportement frquentiel des filtres numriques est obtenu en tudiant la fonction
de transfert isochrone T
n
(j); T j H z
n
z e
j T
e
( ) ( )

o T
e
est la priode d'chantillonnage
(voir annexe I). T
n
(j) est galement la transforme de Fourier numrique des chantillons h(n)
de la rponse impulsionnelle (voir Vol.4).
( ) T j H z h n e
n
z e
jn T
n
j T
e
e

( ) ( )
0
+


h n n T j h n n T
e
n
e
n
( ) cos( ) ( ) sin( )
0 0
(45)
On rappelle que T
n
(j) est une fonction priodique de la frquence, de priode f
e
=1/T
e
,
par ailleurs la partie relle de T
n
(j) est paire alors que la partie imaginaire est impaire. Pour
illustrer la signification de T
n
(j), prenons la cas d'un systme numrique attaqu par une
squence Acos(
0
nT
e
). En rgime permanent, la sortie du systme sera encore une squence
cosinusodale, elle s'crit :
A T j nT
n e n
( ) cos ( )
0 0 0
+ avec ( ) ( ) ( )

n n
arctg T j
0
0

Remarque : La fonction de transfert isochrone T


n
(j) est encore la transforme de
Fourier numrique de la rponse impulsionnelle h(n).
Pour les systmes analogiques, l'quivalent de T
n
(j) est H(j) obtenu en faisant p=j
dans H(p). H(j) est encore la transforme de Fourier de la rponse impulsionnelle h(t) du
systme analogique : H j h t e dt
j t
( ) ( )

0
pour un systme causal.
III - 3 - Synthse des filtres RII
Les coefficients a
j
et b
i
de la relation (41) sont gnralement obtenus partir d'une
fonction modle.
La fonction modle utilise est soit la rponse en frquence soit la rponse
impulsionnelle d'un filtre analogique connu, par exemple un filtre passe-bas de type
Butterworth du 4
me
ordre. Nous traitons successivement les deux cas.
) la fonction modle est la rponse en frquence : transforme bilinaire
Soit donc un filtre analogique dont la fonction de transfert H(p) est connue. La rponse
en frquence du filtre H(j) est obtenue en calculant H(p) pour p=j.
Filtre analogique
Echantillonneur
F
c
filtre de
reconstruction analogique
H(z) ; T
n
(j)
traitement
numrique
H(p) ; H(j)
U
e
U
s
U
e
U
s
Filtre numrique
T
e
(n) (n)
Fig. 25 Equivalence entre filtres analogiques et numriques
Le filtre numrique quivalent comprend trois blocs. Le premier bloc ralise
l'chantillonnage, le deuxime bloc ralise le traitement numrique proprement dit, il est
caractris par une fonction de transfert H(z), le troisime bloc est un filtre de reconstruction
analogique.
On rappelle que si le signal U
e
est bande passante limite B
max
et si le filtre de
reconstruction est idal avec une frquence de coupure F
c
telle B
max
<F
c
<f
e
-B
max
alors U
s
=U
e
si H(z)=1, autrement dit U
s
(n)=U
e
(n).
En consquence si on veut raliser un filtre numrique qui effectue le mme traitement
que le filtre analogique de rponse en frquence H(j), il faut vrifier l'galit suivante :
H j H p T j H z
p j
n
z e
j T
e
( ) ( ) ( ) ( )



(46)
H(z) est donc obtenu en faisant p
T
z
e

1
log( ) dans H(p).
Exemple : prenons le cas d'un filtre passe-bas avec H(p)=1/(1+p), on obtient
pour H(z) :
( )
H z
T
z
e
( )
log

+
1
1

On vrifie bien que
( )
T j
T
e
T
j T
j
H j
n
e
j T
e
e
e
( )
log
( )

+

1
1
1
1
1
1
En gnral, la fonction de transfert H(p) est sous forme rationnelle (quotient de deux
polynomes en p), il s'ensuit que la transforme en z obtenue en faisant p
T
z
e

1
log( ) ne
conduit pas une forme rationnelle pour H(z). Si H(z) n'est pas sous une forme rationnelle
alors il est impossible d'obtenir la relation de rcurrence (41), et par consquent d'implmenter
le filtre.
On procde alors une approximation qui consiste dire que T
n
(j) sera proche de
H(j) pour les basses frquences, approximation tout fait lgitime. En effet, une opration de
filtrage numrique ncessite au pralable un chantillonnage la frquence F
e
, ce qui suppose
que toutes les frquences suprieures F
e
/2 ont t limines, sinon il y a repliement des
spectres.
En consquence, la relation p
T
z
e

1
log( ) est approxime par la forme rationnelle
suivante :
p
T
z
z
e


+
2 1
1
(47)
obtenue en cherchant un dveloppement quand pT
e
reste voisin de zro.
dmonstration : Si pT
e
reste voisin de zro ; z est voisin de l'unit. Posons alors
z=(1+x)/(1-x) avec x <<1, et cherchons un dveloppement limit de log[(1+x)/(1-x)]
pour x petit devant l'unit. Il vient :
log log( ) log( ) ( / / ... ) ( / / ... )
1
1
1 1 2 3 2 3
2 3 2 3
+

_
,
+ + + +
x
x
x x x x x x x x
2x, en ne conservant que les termes au premier ordre.
Par ailleurs, x=(z-1)/(z+1), on obtient finalement :
( )
( )
log( ) z
z
z


+
2
1
1
, d'o la relation de passage de l'espace des p l'espace des z :
p
T
z
z
e


+
2 1
1
La transformation approche (47) fait que les filtres analogiques et numriques auront
le mme gain pour deux frquences f
a
et f
n
diffrentes comme le montre la Fig. 26. Cherchons
la relation entre f
a
et f
n
.
F
e
/2
H(j )
T
n
(j )
f f
a n
Fig. 26 Filtres analogique et numrique ont mme valeur de gain pour deux frquences f
a
et f
n
diffrentes
Le gain du filtre analogique H(p) est obtenu en remplaant p par j
a
et celui du filtre
numrique H(z) en remplaant z par e
j T
n e

, d'aprs (47) la relation entre f


a
et f
n
est donne par
:
p
T
z
z
j
T
e
e
T
e
e
e e
e e
e
a
e
j T
j T
e
j T
j T
j T j T
j T j T
n e
n e
n e
n e
n e n e
n e n e


+


+


+

2 1
1
2 1
1
2
2
2
2 2
2 2



( )
( )
( )
( )
/
/
/ /
/ /
( ) j
T
jtg T
f
tg
f
f
a
e
n e
e n
e

_
,

2
2 / f
a
(48)
Sur la Fig. 27, f
a
est trac en fonction de f
n
. On remarque que pour la frquence f
n
=f
e
/2,
le filtre numrique aura le gain du filtre analogique la frquence infinie ( ) f
a
.
f
f
a
n
pente = 1
f
e
/2 -f
e
/2
Fig. 27 variation de f
a
en fonction de f
n
Le facteur 2/T
e
de la relation (47) apparat uniquement comme un facteur d'chelle, il
est remplac par une constante k dterminer. Finalement, la transformation pour passer du
plan des p au plan des z se met sous la forme suivante :
p k
z
z


+
1
1
(49)
Cette transformation est connue sous le nom de transforme bilinaire. Les filtres
analogique et numrique auront le mme gain pour des frquences f
a
et f
n
. Ces frquences sont
obtenues en remplaant dans (49) p par j
a
et z par e
j T
n e

, on obtient :
( ) f
k
tg f f
a n e

2
/ (50)
La constante k est calcule de telle manire que filtres analogique et numrique aient le
mme gain pour une frquence particulire donne f
p
, comme le montre la Fig. 28.
En gnral, les fonctions de transfert des filtres analogiques sont donnes avec la
variable s p /
0
, o
0
est la pulsation caractristique, par exemple la pulsation de coupure
-3dB pour un filtre de type Butterworth. Il suffit de modifier comme suit la relation (49) :
p k
z
z
p k z
z
s K
z
z


+


+


+
1
1
1
1
1
1
0 0
avec K=
k

0

(51)
De la mme manire la relation (50) devient :
( ) ( ) ( ) f
k
tg f f
f
f
k
f
tg f f
f
f
tg f f
a n e
a
n e
a
n e
K
2 2
0 0 0

/ / / (52)
f
n
pente = 1
f
e
/2 -f
e
/2
f
a
f
p
f
p
F
e
/2
H(j )
T
n
(j )
f
p
Fig. 28 La constante k est calcule de faon H(j
p
)=T
n
(j
p
)
Finalement la mthode se rsume :

H(s)
s=K
z-1
z+1
H(z)
y(n)=
........
relation de rcurrence transforme en z
transforme en s
La constante K est calcule en faisant : f
a
= f
p
= f
n
tg( f
n
f
e
)
f
a
f
0
= K
dans
) Exemple de calcul d'un filtre par utilisation de la transforme bilinaire
Soit construire un filtre numrique chantillonn la frquence f
e
=4kHz. La fonction
modle est la rponse en frquence d'un filtre passe-bas de type Butterworth du 2
me
ordre
dont la frquence de coupure -3dB est gale 500Hz. On dsire que les filtres analogique et
numrique aient le mme gain 500Hz.
La fonction de transfert H(s) du filtre analogique s'crit :
H s
s s Q
( )
/

+ +
1
1
2
avec Q=1/ 2
Dans un filtre de Butterworth, la frquence caractristique f
0
est gale la frquence de
coupure -3dB, donc f
0
=500Hz.
La valeur K de la relation (52) s'obtient de la manire suivante :
( ) K
500
500
= Ktg
500
4000
d' o K = 2.4142
f
f
tg f f
a
n e
0

_
,


/
En remplaant s par K(z-1)/(z+1), on obtient :
H z
Y z
X z
z z
z z
( )
( )
( )
. . .
. .

+ +
+


0 0976 0 1952 0 0976
0 333 0 9428 1
2 1
2 1
La relation de rcurrence s'crit :
y n x n x n x n y n y n ( ) . ( ) . ( ) . ( ) . ( ) . ( ) + + + 0 0976 0 1952 1 0 0976 2 0 9428 1 0 333 2
Le module et la phase de T
n
(j) sont tracs sur la Fig. 29. On remarque que pour f<<f
e
,
T
n
(j) suit bien H(j), on vrifie en particulier que l'attnuation est de 3dB la frquence de
500Hz. L'attnuation est infinie pour f=f
e
/2, en accord avec les tracs de la Fig. 28.
La rponse impulsionnelle h(n) est par contre diffrente de la rponse impulsionnelle
h(t) du filtre de Butterworth ; ( ) ( ) h t t t ( ) exp / sin /
0 0 0
2 2 2 . On remarque par
exemple que h(n=0) est diffrent de zro alors que h(t=0)=0, voir les tracs de h(n) et h(t) sur
la Fig. 30.
) la fonction modle est la rponse impulsionnelle : invariance impulsionnelle
Il s'agit de fabriquer un filtre numrique dont la rponse impulsionnelle h(n) est obtenue
en chantillonnant la rponse impulsionnelle h(t) d'un filtre analogique connu. Soit un filtre
analogique de fonction de transfert H(p) et de rponse impulsionnelle h(t) telle que :
H(p) = transforme de Laplace de h(t)
Soient p
k
les ples de la fonction de transfert H(p), la dcomposition en lments
simples de H(p) conduit :
H p
A
p p
k
k
k
N
( )
( )

1
(53)
En utilisant la transforme de Laplace inverse, on obtient pour h(t) :
( ) h t A p t
k k
k
N
( ) exp

1
Les chantillons h(n) de la rponse impulsionnelle du filtre numrique sont construits
par chantillonnage de h(t) aux instants nT
e
o T
e
est la priode d'chantillonnage, on obtient
ainsi :
( ) h n A p nT
k k e
k
N
( ) exp

1
La transforme en Z du filtre numrique est gale la transforme en Z de la rponse
impulsionnelle d'o :
( ) ( ) H z A p nT z A p nT z A z p nT
k k e
k
N
n
n
k k e
n
k
N
n
k
n
k e
n k
N
( ) exp exp exp( )

_
,

_
,

_
,


1 0 1 0 0 1
On dmontre facilement que : ( )
( ) ( )
A z p nT
A
z p T
k
n
n
k e
k
k e


0
1
1
exp
exp
, en effet il
s'agit de la somme d'une progression gomtrique de raison z
-1
exp(p
k
T
e
). H(z) se met donc
sous la forme suivante :

( ) ( )
H z
A
z p T
k
k e
k
N
( )
exp

1
1
1
(54)
A partir de H(z) il est facile de construire la relation de rcurrence.
remarque n1 : Les ples de H(z) sont donns par :
z = exp(p
k
T
e
)
La partie relle des p
k
est ngative car le systme analogique est stable. Il s'ensuit que le
module des ples exp( ) p T
k e
est infrieur l'unit, en conclusion le systme numrique est
donc stable car le lieu du module des ples est l'intrieur du cercle unit.
remarque n2 : Pour 0, la fonction de transfert isochrone T
n
(j) est donne par :
( ) ( )
T j
A
p T
n
k
k e
k
N
( )
exp

0
1 1
Cette valeur est comparer H(j), la rponse en frquence du filtre analogique, pour
0. D'aprs la relation (53) :
H j
A
p
k
k
k
N
( )

0
1
On constate donc que T
n
(j=0) H(j=0). Si on veut obtenir T
n
(j0) = H(j=0), il
suffit de transformer la fonction de transfert H(z) de la manire suivante :
H(z)
( ) ( )
( ) ( )
A
p
A
p T
A
z p T
k
k k
N
k
k e
k
N
k
k e
k
N

'


1
1
1
1
1
1
exp
exp
Si la frquence d'chantillonnage est leve alors T
e
est petit et exp(p
k
T
e
)1+p
k
T
e
, il
s'ensuit que le terme correctif entre crochets est voisin de T
e
.
) Exemple de calcul d'un filtre par utilisation de l'invariance impulsionnelle
Soit construire un filtre numrique chantillonn la frquence f
e
=4kHz. La fonction
modle est la rponse impulsionnelle d'un filtre passe-bas de type Butterworth du 2
me
ordre
dont la frquence de coupure -3dB est gale 500Hz.
La fonction de transfert H(p) de ce filtre s'crit : H p
p p Q
( )
/

+ +


0
2
2
0 0
2
avec Q=1/ 2
La dcomposition en lments simples se met sous la forme :
H p
A
p p
A
p p
( )

1
1
2
2
avec p j p j
1
0
2
0
2
1
2
1 +

( ) ( ) et puis A A j
1 2 0
2 /
La rponse impulsionnelle du filtre h(t) du filtre s'crit :
h(t) A
1
exp(tp
1
) A
2
exp(tp
2
) +
La rponse impulsionnelle h(n) du filtre numrique s'crit donc :
h(n) A
1
exp(nT
e
p
1
) A
2
exp(nT
e
p
2
) +
On en dduit, d'aprs la relation (54), la fonction de transfert H(z) :

( ) ( ) ( ) ( )
H z
A
z p T
A
z p T
e e
( )
exp exp


1
1
1
2
1
2
1 1
En remplaant A
1
, A
2
, p
1
et p
2
par leurs valeurs littrales, on obtient finalement pour
expression de H(z) :
( )
( )
H z
z T T
z T T z T
e e
e e e
( )
sin / exp( / )
cos / exp( / ) exp( / )


1
0 0 0
1
0 0
2
0
2 2 2
1 2 2 2 2


En faisant dans H(z), 500

rds et T
e
s ( / ) 1 4000 , on obtient :
H z
z
z z
( )
.
. .


1343 4
1 0 975 0 329
1
1 2

d'o la relation de rcurrence suivante :
y(n) 1343.4x(n-1) 0.975y(n 1) 0.329y(n 2) +
Le module et la phase de T
n
(j) sont tracs la Fig. 31. La rponse impulsionnelle est
trace la Fig. 32, on vrifie bien que h(n)=h(t=nT
e
).
III - 4 - Synthse des filtres RIF
Le calcul des coefficients des filtres FIR repose sur l'utilisation de la transforme de
Fourier numrique et des fentres spectrales (rectangulaire, Hamming, Hanning, ....).
Une suite d'chantillon h(n) spars de T
e
=1/F
e
admet pour transforme de Fourier
numrique H(f) :
H f h n e
j fnT
n
n
e
( ) ( )

2
(55)
La transforme de Fourier numrique H(f) est priodique : H f qF H f
e
( ) ( ) + avec q
gal un entier. Pour 0<f<F
e
, le module de H(f) est symtrique par rapport F
e
/2, c'est dire
que : H f H F f
e
( ) ( ) pour 0<f<F
e
/2 . La transforme de Fourier numrique est identique
la fonction de transfert isochrone T
n
(j).
La transforme de Fourier inverse de H(f) permet de recuprer les chantillons h(n), on
montre que (pour le vrifier il suffit de remplacer H(f) de la relation (55) dans la relation (56)) :
h n T H f e df
e
j fnT
F
F
e
e
e
( ) ( )

2
2
2

(56)
A partir de ces considrations, essayons de raliser un filtre FIR passe-bas ayant une
frquence de coupure F
c
comme le montre la Fig. 33 ci-dessous.

H(f)
f
1
-F F
e e
/2 /2 -F F
c c
Fig. 33 Transforme de Fourier numrique d'un filtre passe-bas idal
D'aprs la relation (56), les chantillons h(n) de la rponse impulsionnelle du filtre
sont obtenus en calculant :

( )
h n T e df
F nT
n
e
j fnT
F
F
c e
e
c
c
( )
sin

2
2
2 2

(57)
Deux problmes apparassent immdiatement :
1- la suite des chantillons est infinie, h(n) existe qqs. soit n
2- h(n) est non causal, donc impossible de raliser le filtre en temps rel, h(n)0
pour n<0
On remdie au premier problme en tronquant la suite des chantillons h(n), les
chantillons h
1
(n) retenus sont les chantillons pondrs par une fentre temporelle y(n)
comprenant seulement N chantillons, voir la Fig. 34. Dans le domaine des frquences, la
nouvelle transforme de Fourier numrique des chantillons h
1
(n) est gale au produit de
convolution de H(f) par Y(f) : la transforme de Fourier numrique des chantillons y(n).
h
1
(n) h(n)y(n) H
1
(f ) H(f ) Y(f )
Le produit de convolution H(f)Y(f) a pour consquence :
- la transition entre bande passante et bande d'arrt est moins abrupte que pour H(f),
cette transition, voir la Fig. 35 ci-dessous, est appele transition de Gibbs.
- l'apparition d'ondulations dans les bandes passante et d'arrt
h(n)
y(n)
h (n)=h(n)y(n)
1
n
n
n
N=25
-12 12
12 -12
Fig. 34 Pondration des chantillons h(n) par une fentre rectangulaire y(n)
En pratique, on dispose de diffrentes fentres de pondration : rectangulaire,
Hamming, Hanning, Kaiser, Blackman, ... . Une fentre spectrale est caractrise dans le
domaine frquentiel par :
- la largeur du lobe principale qui dfinit la largeur de la transition de Gibbs
- les lobes secondaires qui conduisent aux ondulations dans les bandes passante et
d'arrt.
On ne peut videmment comparer que des fentres ayant le mme nombre
d'chantillons N. La fentre rectangulaire est celle qui assure la transition de Gibbs la plus
troite, par contre les ondulations dans les bandes passante et d'arrt sont importantes. La
fentre de Hamming assure quant elle des ondulations moindres, par contre la largeur de la
transition de Gibbs est plus importante, etc ... .
f
f
H(f)
= H(f) Y(f) H (f)
1
transition de Gibbs
ondulations dans la bande passante
ondulations dans la
bande d'arrt
Fig. 35 Transformes de Fourier numriques avant et aprs fentrage
Pour remdier au deuxime point mentionn ci-dessus, c'est dire la non causalit du
filtre, on procde une translation des chantillons h
1
(n) de manire rendre le filtre causal
donc ralisable en temps rel. La nouvelle suite d'chantillons h
2
(n) se dduit de h
1
(n) par la
relation suivante :
h n h n
N
2 1
1
2
( ) ( )

; n=0, 1, ......N-2, N-1 (58)
h (n)
1
h (n)
2
N=25
0
-12 12
12 24
n
n
translation de
N-1
2
priode T
e
Fig. 36 Les chantillons h
2
(n) sont obtenus partir des chantillons h
1
(n) par translation
Dterminons maintenant la nouvelle transforme de Fourier numrique des chantillons
h
2
(n). Pour l'obtenir, on dmontre ci-dessous deux thormes trs gnraux :
thorme n 1 : Transforme de Fourier numrique d'une suite d'chantillons
translats dans le domaine temporel
Soit une suite d'chantillons x(k) ayant pour transforme de Fourier numrique X(f),
avec X f x k e
j fkT
e
k
k
( ) ( )


2
. Quelle est la transforme de Fourier des chantillons
translats de M priode T
e
? Les chantillons translats y(k) s'crivent :
y k x k M ( ) ( ) (59)
et leur transforme de Fourier numrique :
Y f y k e x k M e
j fkT
k
k
j fkT
k
k
e e
( ) ( ) ( )


2 2
(60)
En effectuant le changement de variable, k-M=u, on obtient :
Y f x u e e x u e e X f
u
u
j f u M T j fMT
u
u
j fuT j fMT
e e e e
( ) ( ) ( ) ( )
( )



2 2 2 2
(61)
Comme on pouvait s'y attendre, le module de la transforme de Fourier n'est pas
modifi, seule la phase est change :
Y X e
f f fMT ( ) ( ) 2 .
thorme n 2 : Transforme de Fourier numrique d'une suite d'chantillons x(n)
vrifiant la proprit de symtrie x(n)=x(-n)
Nous montrons que si une suite d'chantillons x(n) vrifie la proprit de symtrie
x(n)=x(-n), alors la transforme de Fourier numrique X(f) des chantillons x(n) est purement
relle.
X f x n e x n e x x n e
j fnT
n
n
j fnT
n
n
j fnT
n
n
e e e
( ) ( ) ( ) ( ) ( ) + +


2 2
1
2
1
0

(62)
utilisons la proprit de symtrie : x n x n ( ) ( ) et effectuons le changement de variable
n u dans (...)
n
n

1
, il vient :
X f x u e x x n e x x n e e
j fuT
u
u
j fnT
n
n
j fnT
n
n
j fnT
e e e e
( ) ( ) ( ) ( ) ( ) ( )( ) + + + +


2
1
2
1
2
1
2
0 0

X f x x n fnT
e
n
n
( ) ( ) ( ) cos( ) +

0 2 2
1
(63)
La transforme de Fourier numrique X(f) est relle, en conclusion le thorme
s'nonce ainsi : la transforme de Fourier numrique d'une suite d'chantillons x(n) vrifiant la
proprit de symtrie x(n)=x(-n) est purement relle.
Appliquons ces deux thormes au cas du filtre FIR tudi prcdemment. Les
chantillons h
1
(n) obtenus par fentrage vrifient la proprit de symtrie h
1
(n)=h
1
(-n), il
s'ensuit que H
1
(f) est phase nulle, d'aprs le thorme n2.
Les chantillons h
2
(n) obtenus par translation de (N-1)/2 priode d'horloge des
chantillons h
1
(n) ont une transforme de Fourier numrique dont la phase est gale :


2
1
2
f
N
T
e
( ) , d'aprs le thorme n1. Le retard de groupe (groupe delay)

d
d
est donc
une constante : il vaut ( )
N
T
e
1
2
.
f
f
F
e
/2
(f)
X(f)

X
phase linaire
Fig. 37 La phase de la transforme de Fourier numrique
des chantillons h
2
(n) est linaire
En rsum :
___________________________________________________________________________
type de filtre IIR FIR
___________________________________________________________________________
mthode de calcul fonctions modles fentrage, ...
des coefficients ex : transforme bilinaire (rectangulaire, Hamming ...)
___________________________________________________________________________
avantages * peu de coefficients * phase linaire
rapidit de calcul pas de dformation
peu d'espace mmoire des signaux
* toujours stable
___________________________________________________________________________
inconvnients * phase non linaire * n
bre
de coefficients lev
* risque d'instabilit temps de calcul long
espace mmoire important
___________________________________________________________________________
A titre d'exemple les Fig. 38, 39 et 40 montrent les modules, phases et rponses
impulsionnelles de trois filtres RIF obtenus avec respectivement une fentre rectangulaire, de
Hanning et de Hamming, le nombre d'chantillons est limit 21 seulement. On note que la
largeur de la transition est plus faible dans le cas de la fentre rectangulaire, par contre
l'amplitude des oscillations est plus importante.
La Fig. 41 permet de comparer trois filtres RIF avec 256 chantillons. La comparaison
avec les Fig. 38, 39 et 40 montre que plus le nombre d'chantillons est lev plus la transition
est abrupte et plus on se rapproche du filtre idal.
III-5- Implmentation des filtres RII et RIF les processeurs de traitement de signaux
Les filtres numriques sont particulirement utiliss dans le traitement du son et des
images, la reconnaissance de forme, l'analyse spectrale, ... etc. Parmi leurs principaux
avantages on distingue :
- une grande fiabilit
- une absence de drive
- une grande facilit pour modifier les coefficients des filtres
Les DSP (Digital Signal Processor) sont des processeurs spcialement ddis aux
traitements numriques des signaux ; le filtrage numrique est un cas particulier de traitement.
La conception de filtres numriques partir de DSP pose les problmes suivants :
) approximation : consiste gnrer une fonction de transfert qui satisfait un
ensemble de conditions spcifiques dans le domaine frquentiel ou (et) temporel, c'est la partie
de cours traite prcdemment.
) ralisation : plusieurs types de structures sont envisageables pour raliser la
fonction de transfert (direct form, cascade, parallle, ... )
NB : Approximation et ralisation supposent une prcision infinie.
) implmentation : elle tient compte de l'architecture (hardware) et des
instructions disponibles (software) du processeur
) erreurs arithmtiques : les nombres sont cods sur un nombre fini de bits, il
s'ensuit automatiquement des erreurs arithmtiques et d'ventuels dpassements (overflow).
Dans cette partie, on suppose trait le problme de l'approximation, on dispose
donc des coefficients de la transforme H(z) du filtre, celle-ci se met sous la forme classique :
H(z)
Y(z)
X(z)
b z
1 a z
de h(n)
k
k
k 0
M
k
k
k 1
N

Transf en z . (64)
o Y(z) et X(z) sont les transformes en z des suites d'chantillons y(n) et x(n) prsentent
l'entre et la sortie du filtre numrique, h(n) est la rponse impulsionnelle du filtre.
La relation de rcurrence s'crit alors :
y(n) = a y(n k) b x(n k)
k
k=1
N
k
k=0
M
+

(65)
Dans le cas des filtres RIF les coefficients a
k
sont nuls.
III-5-1- Implmentation d'un filtre RIF dans un DSP
Pour ce type de filtre, y(n) est donc donn par :
y(n) = b x(n k)
k
k=0
M

(66)
Les coefficients b
k
de la relation (66) sont identiques aux lments h(k) de la rponse
impulsionnelle, en effet la transforme en z de la relation (64) s'crit :
H(z)
Y(z)
X(z)
b z h(k)z
k
k
k 0
M
k
k 0
M


(67)
L'quation (67) peut tre reprsente par la structure de la Fig. 42. Les branches avec
l'tiquette z
-1
correspondent un retard d'une priode d'horloge.
x(n)
z
-1
z
-1
h(0) h(1) h(2)
y(n)
z
-1
h(M) h(M-1)
x(n-1) x(n-2) x(n-M)
Fig. 42 Structure directe (Direct-form) d'un filtre FIR
Les coefficients h(0), h(1), ... h(M) doivent tre stocks en mmoire, ainsi que les
valeurs x(n), x(n-1), x(n-2), ... x(M), soit un total de 2(M+1) valeurs.
L'implmentation des filtres RIF est facilite par le mode d'adressage dit "circular
addressing" des DSP.
III-5-2- Implmentation d'un filtre RII
Trois mthodes sont gnralement utilises pour implmenter un filtre IIR dans un
processeur :
- directe (direct form)
- en cascade (cascade form)
- en parallle (parallel form)
Nous discutons ci-dessous les deux premires mthodes, la mthode cascade tant de
loin la plus utilise.
1) Mthode d'implmentation directe
L' quation (65) peut tre reprsente par la structure en rseau de la Fig. 43, pour
simplifier il a t suppos que N=M, la structure ainsi reprsente est appele : forme directe I
(direct-form I). Les branches associes z
1
correspondent un retard d'une priode
d'horloge.
z
-1
x(n-1)
x(n-2) y(n-2)
y(n-1)
y(n) x(n)
b
b
a
a
a
1
2
1
2
z
-1
z
-1
z
-1
> >
>
>
> >
<
<
>
x(n-N) y(n-N)
y(n-N+1)
b
b
a
N-1 N-1
N
N
z
-1
z
-1
x(n-N+1)
>
>
<
<
b
0
Fig. 43 Forme directe I
Pour raliser un filtre d'ordre N, il est ncessaire de stocker les (N+1) valeurs x(n),
x(n-1), ... x(n-N), les (N+1) coefficients b
0
, b
1
, b
2
, ... b
N
, les N valeurs y(n-1), y(n-2), ... y(n-
N) et les N coefficients a
1
, a
2
, ... a
N
, soit un total de (4N+2) valeurs. Il est possible de rduire
la taille mmoire en adoptant la structure de la Fig. 44. Cette structure est appele : forme II
(direct-form II). Elle prsente un plus petit nombre de branches avec l'oprateur z
-1
.
z
-1
y(n) x(n)
b
b
1
2
z
-1
> >
>
>
a
a
a
1
2
>
<
<
>
b
0
d(n)
d(n-1)
b
b
N
z
-1
>
>
a
N-1
N
<
<
N-1
d(n-N)
d(n), d(n-1), ... d(n-N) : delay nodes
Fig. 44 Forme directe II
D'aprs la Fig. 44, on obtient :
y n b d n b d n b d n b d n b d n b d n N
N
( ) ( ) ( ) ( ) ( ) ( )... ( ) + + + + +
0 1 2 3 4
1 2 3 4
d n x n a d n a d n a d n a d n a d n N
N
( ) ( ) ( ) ( ) ( ) ( ) ... ( ) + + + + + +
1 2 3 4
1 2 3 4 (68)
Il est facile de montrer que les deux quations (68) sont bien quivalentes l'quation
(65).
Pour raliser un filtre d'ordre N avec la structure directe II, il est ncessaire de stocker
les (N+1) valeurs d(n), d(n-1), d(n-2), ... d(n-N), les (N+1) coefficients b
0
, b
1
, b
2
, ... b
N
et les
N coefficients a
1
, a
2
, ... a
N
, soit un total de (3N+2) valeurs seulement.
La Fig. 45 reprsente la structure dans le cas particulier d'un filtre d'ordre deux (N=2).
Les quations aux diffrences de cette structure s'crivent :

y(n) = b d(n) + b d(n -1) + b d(n - 2)
d(n) = x(n) +a d(n -1) +a d(n - 2)
0 1 2
1 2
(69)
z
-1
y(n) x(n)
b
b
2
z
-1
> >
>
>
a
a
2
>
<
<
>
b
0
1
1
d(n)
d(n-2)
d(n-1)
d(n), d(n-1) et d(n-2) : delay nodes
Fig. 45 Forme directe II d'un filtre IIR d'ordre deux
2) Mthode d'implmentation en cascade
L'implmentation d'une structure en cascade est une extension des rsultats de
l'implmentation d'un structure directe II.
La mthode consiste dcomposer la transforme en Z de l'quation (64) en produit
de transformes du deuxime ordre (biquad).
H(z)
Y(z)
X(z)
b z
1 a z
k
k
k 0
M
k
k
k 1
N
N/2

+ +




ok k k
k k k
z z
z z
1
1
2
1
1
1
2
2
1
1
(70)
Les coefficients
ok
,
1k
,
2k
,
1k
,
2k
, ... peuvent tre obtenus au moyen de la bote
outils "Signal Processing Toolbox" de Matlab. Une procdure typique d'obtention des
coefficients d'un filtre de Butterworth partir d'un gabarit donn fait appel trois fonctions de
Matlab :

frquence
attnuation
0dB
-R
-R
s
p
(dB)
(dB)
f
p
f
s
Fig. 46 Exemple de gabarit d'un filtre pase-bas
a) recherche de l'ordre : [n,Wn]=buttord(Wp,Ws,Rp,Rs), Wp=fp/(F
e
/2) et
Ws=fs/(F
e
/2) o F
e
est la frquence d'chantillonnage, [n,Wn] renvoie l'ordre et la frquence
caractristique, c'est la frquence de coupure -3dB.
b) dtermination des coefficients sous forme de variables d'tat : [A,B,C,D]=
butter(n,Wn) ; [A,B,C,D] renvoie les coefficients du filtre sous forme de variables d'tat
c) dtermination des coefficients des biquads : sos=ss2sos(A,B,C,D) ; sos est un
tableau qui contient les coefficients
ok
,
1k
,
2k
,
1k
,
2k
, ...
La Fig. 47 montre la structure d'un filtre d'ordre 4. Dans cette structure chaque filtre
d'ordre deux est implment en utilisant la forme directe II dcrite prcdemment.
y (n) x(n)
z
-1
z
-1
>
>
>
>
<
<
>
z
-1
z
-1
> >
>
>
>
<
<
>
1


01 02
11 11 12 12
21 21 22 22
section 1 section 2
y(n) d (n)
1
d (n-1)
d (n-2)
1
1
d (n)
d (n-1)
d (n-2)
2
2
2
Fig. 47 Structure en cascade d'un filtre d'ordre 4
Dans le cas d'un filtre d'ordre N, les quations aux diffrences pour le i
me
biquad
s'crivent alors :

d (n) = y (n) + d (n -1) + d (n - 2)
y (n) = d (n) + d (n -1) + d (n - 2)
i i-1 1i i 2i i
i 0i i 1i i 2i i


(71)
o : i = 1, 2, ..., N/2
y
i-1
(n) est l'entre de la section i
d
i
(n) est la valeur un nud de la section i
y
i
(n) est la sortie de la section i
y
0
(n)=x(n) est l'chantillon d'entre
y
N/2
=y(n) est la sortie du filtre
III-5-3- Performances des filtres
Les filtres numriques sont gnralement conus avec l'hypothse qu'ils seront
implments dans des dispositifs de prcision infinie. Tous les processeurs ont cependant une
prcision finie, en consquence il est donc ncessaire d'approximer les coefficients obtenus par
calcul. Cette approximation introduit une erreur de quantification des coefficients (coefficient
quantization error). En consquence, la caractristique frquence-tension du filtre ralis est
quelque peu diffrente de celle du filtre idal. La quantification des coefficients peut conduire
un filtre instable, c'est particulirement vrai dans le cas des filtres IIR passe-bande o les ples
sont trs prs du cercle de rayon unit dans le plan des z. Une quantification des coefficients
peut entraner un dplacement des ples l'extrieur du cercle unit et par consquent une
instabilit. Dans le cas d'un passe-bande les ples sont d'autant plus prs du cercle unit que la
largeur de bande est faible.

plan des z plan des z
position des poles avant quantification position des poles aprs quantification
Fig. 48 Le dplacement des ples l'extrieur du cercle unit entrane l'instabilit
du filtre : cas d'un passe-bande d'ordre quatre.
Les effets de la quantification des coefficients sont fortement dpendant de la
structure utilise pour l'implmentation du filtre dans le processeur. Pour un filtre IIR, la
structure cascade implmente chaque paire de ples complexes conjugs indpendamment l'une
de l'autre. Ceci n'est pas vrai dans le cas de la structure directe, il s'ensuit que la structure
cascade est gnralement utilise pour l'implmentation des filtres RII.
1) processeur virgule fixe et processeur virgule flottante
Deux types de processeurs sont disponibles ; les processeurs virgule fixe et virgule
flottante. Prenons par exemple le cas d'un processeur 32 bits (ex : TMS320C31 de Texas
Instruments) pouvant travailler soit en virgule fixe soit encore en virgule flottante. S'il est
utilis en virgule fixe, les nombres sont crits en complment deux. Pour entrer les
coefficients dcimaux
k
ou
k
on utilise un format QM, par exemple Q17. Ce format est
obtenu en multipliant le coefficient par 2
17
et en ne conservant que la partie entire, voir
l'exemple ci-dessous :
exemple : soit le coefficient
k
= 2.000001 transformer en Q17
2.000001 x 2
17
= 262 144.1311, partie entire = 262 144 soit 2
18
ou encore 40000 en
hexadcimal (le coefficient est tronqu)
En complment deux ce nombre s'crit :

2
31
2
0
2
17
0 0 0 0 0 0
position de la virgule
1 0
Fig. 49 Ecriture au format Q17 de 2.000001
Dans ce format, la position de la virgule est donc au niveau du poids 2
17
. Au cours
des calculs ce coefficient est multipli par d(n-k), supposons qu' une tape du calcul d(n-k) =
24575 (5FFF en hexa.).
NB : Bien que l'entre x(n) soit code sur 14 bits (CNA bipolaire de 14 bits), il est
possible que d(n) et donc d(n-k) deviennent suprieurs x(n), (x(n) max. est gal 2
13
-1 =
8191). Ceci est particulirement vrai dans les filtres passe-bande, le rapport d(n)/x(n) est
d'autant plus grand que la bande passante est troite.
La multiplication en virgule fixe avec le TMS320C31 suppose des entiers signs cods
sur 24 bits, le rsultat est suppos tre sur 48 bits, en fait seuls les 32 bits de poids faibles sont
disponibles dans le registre de sortie du multiplieur. Avec l'exemple choisi, le bit de poids fort
est perdu, le rsultat
k
d(n-k) est ensuite transfr vers un registre 32 bits, pour tenir compte
de la position de la virgule, les 15 bits de poids forts du registre du multiplieur sont transfrs
vers un registre de 32 bits, comme le montre la Fig. 50 ci-dessous.
2
31
2
0
2
17
0 0 0 0 0 0
position de la virgule
2
2
0
1 1 0
13
0
1 0
24 bits
registre 32 bits
registre 32 bits

k
d(n-k)
0 1
1 1 1 0
0 0 1
transfert des
0
0 1
15 bits
bit perdu
registre 32 bits
registre de sortie
du multiplieur

k
d(n-k)
32 bits
Fig. 50 Multiplication de
k
d(n-k) et transfert dans un registre
On peut bien sr minimiser l'erreur en choisissant un format QM plus faible, mais dans
ce cas on perd en prcision.
Dans le cas o les chantillons prsentent une grande dynamique, il est prfrable de
travailler en virgule flottante (les processeurs virgule flottante cotent plus chers que les
processeurs virgule fixe). En gnral, on utilise le standard IEEE. En simple prcision par
exemple, le nombre est cod sur 32 bits ; un bit de signe, 8 bits d'exposant non signs et 23 bits
pour la partie dcimale.
bit de signe exposant partie dcimale
s f e
8 bits 23 bits 1 bit
Fig. 51 Standard IEEE en simple prcision
La valeur du nombre est dtermin comme suit : ( ) .
( )


1 1 2
127 s e
f .
Le format utilis par T.I. est diffrent du standard IEEE, l'exposant est en
complment deux et la place du bit de signe est diffrente comme le montre la Fig. 52. Pour
les calculs internes, aucun format spcifique n'est en fait requis. La norme est seulement
intressante pour changer des donnes entre divers supports.
bit de signe exposant partie dcimale
s f e
8 bits 23 bits 1 bit
Fig. 52 Format utilis par TI en simple prcision
La valeur du nombre est dtermin comme suit : { } ( ) (. ) + 2 2
s e
f .
Le format IEEE et celui utilis par T.I. conduisent une dynamique de 2
128
(3.4 10
38
)
2
-128
avec une rsolution de 24 bits.
Rfrences :
1- Al Lovrich and Ray Simar, Jr., Implementation of FIR/IIR Filters with the
TMS32010/TMS32020 in Digital Signal Processing Applications with the TMS320 Family,
Theory, Algorithms and Implementations, Volume 1, Texas Instruments,1989.
annexe I
Les outils de traitement des signaux numriques
Un systme numrique (ex : y(n)=[x(n)+x(n-1)]/2 avec x(n) et y(n) les chantillons
l'entre et la sortie du systme numrique) est caractris par : sa rponse impulsionnelle, sa
transforme en Z et sa transforme de Fourier numrique. Les transformes en Z et de Fourier
numrique sont les quivalents de la transforme de Laplace et de la transforme de Fourier
des signaux analogiques. Un systme numrique peut tre ralis soit sous forme "hard" (filtre
capacits commutes) soit sous forme "soft" (algorithme de calcul).
I- Rponse impulsionnelle d'un systme numrique et transforme en Z
I-1- Rponse impulsionnelle
La rponse impulsionnelle d'un systme numrique est la suite des chantillons h(nT
e
),
par la suite on notera plus simplement h(n), obtenus lorsque l'excitation est une simple
impulsion d'amplitude gale l'unit et applique t=0, on note cette impulsion (n).
systme
numrique
(n)
h(n)
n
0 1 2
n
0
-1
1
Fig. 1 rponse impulsionnelle d'un systme numrique
Comme pour les systmes analogiques, on peut imaginer des systmes numriques dont
les chantillons h(n) sont diffrents de zro pour n<0, ces systmes sont dits non causaux.
I-2- Produit de convolution
On se propose maintenant d'crire les chantillons y(n) en sortie d'un systme
numrique sachant que l'entre est une suite d'chantillons x(n), on suppose, comme en
analogique, que le systme est linaire et invariant temporellement.
A l'impulsion x(0) applique en n=0, le systme rpond par la suite d'chantillons
x(0)h(n), ..., l'impulsion x(k) applique en n=k le systme rpond la suite x(k)h(n-k), il
s'ensuit que l'chantillon y(n) s'crit :
y n ( ) ... + x(-1)h(n +1) + x(0)h(n) + x(1)h(n-1) + .... + x(k)h(n- k) + ....
ou encore : y n x k h n k x n k h k
k
k
k
k
( ) ( ) ( ) ( ) ( )


= (1)
en faisant le changement de variable (n-k)=u puis u=k.
On note y(n)=x(n)h(n), le symbole reprsente le produit de convolution.

h(n)
h(n+1)
h(n-1)
h(n-2)
rponse l'impulsion x(-1)
rponse l'impulsion x(0)
rponse l'impulsion x(1)
rponse l'impulsion x(2)
x(n)
0 -1 1 2
x(0) x(1)
y(n)
2
y(2)= ...+x(-1)h(2+1)+x(0)h(2)+x(1)h(2-1)+x(2)h(2-2)+...
Fig. 2 L'chantillon y(n) est obtenu par la somme des chantillons x(k)h(n-k) pour k allant de -

I-3- Transforme en Z
Comme dans le cas des sytmes analogiques, on cherche une transforme analogue la
transforme de Laplace susceptible de remplacer le produit de convolution par un produit
simple. Cette transforme porte le nom de transforme en Z unilatrale, sa dfinition est la
suivante :
Transf . en Z des chantillons y(n) =Y z y n z
n
n
( ) ( )

0
(2)
Pour des raisons de convergence, la somme est calcule pour n allant de zro l'infini.
La transforme unilatrale ne permet de traiter que le cas des systmes causaux, c'est dire
ceux dont h(n)=0, pour n<0.
Exemples de transformes :
1
er
exemple : y(n)=(n) ; impulsion unit
Y z z ( ) .... + +

1 0 1
0
(3)
2
me
exemple : y(n)=U(n) ; chelon, y(n)=0 si n<0, y(n)=1 pour n=0, 1, 2, etc ...
Y z z z z ( ) ..... + + + +

1
1 2 3
Il s'agit d'une progression gomtrique de raison z
-1
, dont la somme s'crit :
Y z
z
( )


1
1
1
(4)
3
me
exemple : y(n)=U(n)a
n
, on remarque que cette suite d'chantillons
correspond l'chantillonnage de la fonction U(t)e
-t/
. En effet, pour un chantillonnage la
frquence F
e
=1/T
e
, les valeurs des chantillons s'crivent :
y nT y n U nT e U n a
e e
nT n
e
( ) ( ) ( ) ( )
/ /


avec a = e
-T
e
Y z az a z a z ( ) .... + + + +

1
1 2 2 3 3
Il s'agit encore d'un progression gomtrique de raison az
-1
, dont la somme s'crit :
Y z
az
( )


1
1
1
(5)
Thorme du retard : Si la suite d'chantillons y(n) a pour transforme Y(z), alors la
suite d'chantillons retards y(n-k) a pour transforme Y'(z)=z
-k
Y(z) :

Y z y n k z y u z z y u z z y u z
n
n
k u
u k
k u
u k
k u
u
' ( ) ( ) ( ) ( ) ( )
( )


0 0

= z Y(z) car y(u) = 0 pour u < 0
-k
(6)
L'quivalent analogique est : si H(p) est la transforme de h(t), alors la transforme de
h(t-) est gale : e
-p
H(p).
L'introduction de la transforme en Z permet, comme nous allons le montrer
maintenant, de transformer le produit de convolution (1) en un produit simple, prenons donc la
transforme en Z de la suite d'chantillons y(n) en sortie du systme, il vient :
Y z x k h n k z x k h n k z x k h n k z
k n
n
k
n
n n
n
k
( ) ( ) ( ) ( ) ( ) ( ) ( )

1
]
1

1
]
1

1
]
1


0 0 0 0 0 0

1
]
1

1
]
1

1
]
1


x k h n k z x k h u z x k z h u z
n
n k
u k
u k k
k u
u k k
( ) ( ) ( ) ( ) ( ) ( )
( )
0 0 0 0

1
]
1


x k z h u z
k u
u k
( ) ( )
0 0
= X(z)H(z) car h(u) = 0 pour u < 0 pour un systme
causal. On obtient donc le rsultat important :
Y(z)=X(z)H(z) (7)
avec X(z) et H(z) les transformes en Z des chantillons d'entre x(n) et de la rponse
impulsionnelle h(n). Cette relation est en tout point analogue celle obtenue pour les signaux
analogiques Y(p)=X(p)H(p).
II- Rponse harmonique d'un systme numrique : fonction de transfert isochrone
On s'intresse au cas o les chantillons x(n) l'entre du systme sont du type :
x n Ae
j nT
e
( )

. On suppose que ces chantillons sont appliqus depuis t , en
consquence le rgime stationnaire est atteint. Les chantillons y(n) en sortie sont donns par
le produit de convolution (1), ils s'crivent :
y n x k h n k x n k h k
k
k
k
k
( ) ( ) ( ) ( ) ( )


= = Ae h k Ae e h k
j n k T
k
k
j nT j kT
k
k
e e e
( )
( ) ( )


x n T j
n
( ) ( )
La quantit complexe T
n
(j) est appele fonction de transfert isochrone, elle
renseigne sur le module et la phase des chantillons de sortie. Dans le cas d'un systme causal,
on obtient :
y n x n T j j h k e H z
n
jk T
k
z e
e
j T
e
( ) ( ) ( ) ( ) ( ) ( )

avec T
n
0
(8)
La fonction de transfert isochrone T
n
(j) est donc obtenue en faisant z e
j T
e


dans
H(z). La fonction de transfert isochrone T
n
(j) est la transforme de Fourier numrique de la
rponse impulsionnelle (voir Vol. 4).
L'quivalent analogique de T
n
(j) est H(j) (ou encore H(f) : transforme de Fourier
de la rponse impulsionnelle), la rponse en frquence d'un systme analogique. On rappelle
que H(j) est obtenue en faisant p=j dans H(p).
II-1- Proprits de la fonction de transfert isochrone d'un systme numrique
La fonction de transfert isochrone T
n
(j) prsente certaines particularits que nous
tudions maintenant.
a) Elle est priodique dans l'espace des frquences, de priode F
e
: la frquence
d'chantillonnage. Pour vrifier ceci, il suffit de montrer que T
n
(j)=T
n
(j(+K
e
)) avec K un
entier quelconque et
e
=2F
e
.
( ) T j K h n e h n e e
n e
j K nT
n
j nT jKn
n
e e e
( ) ( ) ( )
( )


+
+


0
2
0

h n e
j nT
n
n
e
( )

0
2
1 = T ( j ) car e
n
- jK
b) Les parties relle et imaginaire de T
n
(j) sont respectivement paire et
impaire, en effet :
Partie T j h n n T n T
n e
n
e
relle de ; cos est une fonction paire en ( ) ( ) cos( ) ( )

0
Partie T j h n n T n T
n e
n
e
imaginaire de ; sin est une fonction impaire en ( ) ( ) sin( ) ( )

0
II-2- Exemples
Nous traitons ci-dessous deux cas de systmes numriques (filtres numriques), qui
illustrent les rsultats prcdents. La synthse des filtres numriques, c'est dire la recherche
de la rponse impulsionnelle h(n) telle que la fonction de transfert isochrone T
n
(j) obisse
un certain gabarit, sera aborde aprs avoir traiter les filtres analogiques. Dans cette partie, on
se donne la relation de rcurrence entre-sortie et on tudie le comportement de T
n
(j) en
fonction de la frquence, c'est la dmarche inverse de la synthse des filtres.
1
er
cas : un filtre RIF (Rponse Impulsionnelle Finie)
Soit donc un filtre numrique dont la relation de rcurrence s'crit :
y n
x n x n
( )
( ) ( )

+ 1
2
(9)
La fonction de transfert en Z de ce filtre est donne par :
H z
Y z
X z
z
( )
( )
( )

+

1
2
1
(10)
Sa rponse impulsionnelle h(n) est constitue de deux chantillons non nuls, h(0)=1/2 et
h(1)=1/2. On dit, dans ce cas, qu'il s'agit d'un filtre rponse impulsionnelle finie (RIF).
filtre
numrique
1
(n)
h(n)
1/2
0 1
Fig. 3 Rponse impulsionnelle du filtre de relation y(n)=[x(n)+x(n+1)]/2
La fonction de transfert T
n
(j) se met sous la forme :
T
n
(j)=H z
e
z e
j T
e
j T
e
( )

1
2
(11)
Les parties relle et imaginaire, ainsi que le module sont tracs la Fig. 4, on vrifie bien les
symtries prvues prcdemment, la frquence d'chantillonnage F
e
=1Hz. Le filtre ralis est
un filtre passe-bas.
2
ime
cas : un filtre RII (Rponse Impulsionnelle Infinie)
Soit donc un filtre numrique dont la relation de rcurre
nce s'crit :
y n
x n y n
( )
( ) ( )

+ 1
2
(12)
La fonction de transfert en Z de ce filtre est donne par :
H z
Y z
X z z z
( )
( )
( )


1
2
1
2
1
1
2
1 1
(13)
Sa rponse impulsionnelle h(n) est constitue d'une infinit d'chantillons, en effet la
transforme inverse de H(z) donne les lments h(n) suivants : :
h n U n
n
( ) ( )

1
]
1
1
2
1
2
(14)
Ce type de filtre est appel filtre rponse impulsionnelle infinie (RII). On peut vrifier
que H z h n z U n z
n
n
n
n
n
( ) ( ) ( )

1
]
1


0 0
1
2
1
2
est une progression gomtrique de raison
a=
1
2
1
z

. On rapelle que la somme d'une progression gomtrique de raison a est gale


1 1 / ( ) a .
filtre
numrique
1
(n)
h(n)
1/2
n
1/4
1/8
2 0 1
Fig. 5 Rponse impulsionnelle du filtre de relation y(n)=[x(n)+y(n-1)]/2
La fonction de transfert T
n
(j) se met sous la forme :
T
n
(j)=H z
e
z e
j T
e j T
e
( )

1
2
1
1
2
(15)
Les parties relle et imaginaire, ainsi que le module sont tracs la Fig. 6, on vrifie
bien les symtries prvues prcdemment, la frquence d'chantillonnage F
e
=1Hz. Le filtre
ralis est encore un filtre passe-bas.

You might also like