Vous êtes sur la page 1sur 30

TRAITEMENT DU SIGNAL 45

CHAPITRE 4

Chaîne de traitement du signal

1. Structure d’une chaîne de conditionnement


numérique
L'objectif d'une chaîne de traitement du signal est de conditionner sous forme
numérique les signaux analogiques pour qu'un calculateur réalise une opération
de contrôle ou plus généralement un traitement numérique, (cf. figure 1).

Filtre analogique CAN Filtre numérique

Figure 1: Chaîne de conditionnement pour un calcul numérique

La chaîne de conditionnement comprend trois organes principaux : deux


filtres et un convertisseur analogique-numérique :
- le filtre passe-bas analogique adapte la bande passante du signal d'entrée à
l'échantillonnage ;
- le filtre numérique fait partie du conditionnement lorsqu'il se limite à la
recherche d'un gabarit ;
- le convertisseur opère des opération d'échantillonnage, d'apodisation et de
quantification, (cf. figure 2).

Echantillonage Apodisation Quantification

xa ( t ) xeb [ n ] xw [ n ]

Figure 2 : Conversion analogique numérique

L'échantillonnage-blocage transforme le signal analogique en une suite


numérique.
L'apodisation limite par fenêtrage la durée totale de la suite.
46 Chaîne de traitement du signal

La quantification alloue un nombre fini de valeurs à un échantillon


quelconque.

2. Exemples de système d’acquisition de données


Pour être traité numériquement, l'information issue d'un capteur doit être
convertie numériquement. Auparavant, la séquence analogique sélectionnée est
maintenue par l'échantilloneur-bloqueur (E/B).

Dans les cartes d'acquisition multi-entrées, les voies sont souvent multiplexées
pour n'utiliser qu'un Convertisseur Analogique-Numérique (CAN), cf. figure 3.
Le CAN convertie une valeur constante en une donnée numérique appelé mot de
code.

Multiplexage
Voie 0 Conditionneur analogique

CAN Sorties
parallèles
E/B
Sortie
série
Commande
d'échantillonage
Voie 15 Conditionneur et de blocage
Fin de Commande
conversion de conversion

Adressage
de canal Microprocesseur

Figure 3 : Système d'acquisition de données multi-voie

Parfois les amplificateurs en entrée devant le multiplexeur sont à gain


programmable. On évite ainsi l'utilisation d'amplificateurs dans le
conditionnement extérieur.

La résolution et la précision de la mesure ainsi que la fréquence maximale


admissible en entrée dépendent du CAN. Aussi pour assurer une meilleure
acquisition des données recourt-on à plusieurs CAN, soit pour assurer la
simultanéité de la prise des échantillons, figure 4, soit pour garantir des cadences
de prélèvement élevées figure 5.
TRAITEMENT DU SIGNAL 47

Voie 0 Conditionneur E/B Multiplexage


analogique

CAN Sorties
parallèles

Sortie
série

Voie 15 Conditionneur E/B


Commande
de conversion
Fin de
Adressage conversion
Commande de canal
d'échantillonage
Microprocesseur
et de blocage

Figure 4 : Système d'acquisition de données synchrones

Entrée analogique

E/B CAN Multiplexage


Voie 0 numérique

Sorties
parallèles
E/B CAN
CAN
Voie 1

E/B CAN
CAN
Voie 2
Commande Fin de Adressage
Commande de conversion conversion de canal
d'échantillonage Microprocesseur
et de blocage

Figure 5 : Système d'acquisition de données rapide

L'Echantillonneur-Bloqueur (E/B) est soit intégré dans le CAN, soit à


l'extérieur, soit inutile dans le cas de Convertisseur Sigma-Delta (CSD).
48 Chaîne de traitement du signal

Le traitement numérique offre une excellente immunité au bruit et ne connaît


pas de phénomènes de dérive.

Une chaîne de traitement du signal repose sur un système mono-processeur


générique (processeur pentium) ou dédié au traitement numérique (DSP) auquel
est associé un nombre limité de cartes d’entrées/sorties sur un bus générique
(ISA, PCI) ou sur un bus propre au transfert de données rapide (EISA, PHS).

3. Signaux numériques
Un signal numérique est quantifié en amplitude et discrétisé en temps.

Exemple 1 : Compléter le tableau suivant à partir du signal analogique sinusoïdal.

Temps Continu Discret


Amplitude
Continue Signal analogique Signal quantifié
1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8

-1 -1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Discrète Signal échantillonné Signal numérique ou digital


1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2

-0.4 -0.4

-0.6 -0.6

-0.8 -0.8

-1 -1
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Le traitement numérique a des applications variées allant notamment de la


réalisation d’interfaces de mesure, à la détection de défauts et à l’estimation de
modèles des systèmes industriels.
Nous manipulerons des suites numériques ou séquences : x[n], n ∈ . Pour
distinguer l'échantillon lu à un instant n d'une suite de valeurs, on utilisera la
notation avec accolades : {x[n]} n∈ Z
Pour translater une séquence, on écrira : {x[n − n0 ]} n∈Z .
TRAITEMENT DU SIGNAL 49

La séquence est obtenue par échantillonnage à la cadence Te , d'un signal


analogique x a (t ) :

x[n] = x a [nTe ] , n ∈ .

3.1. Quelques signaux


La séquence échelon 1
γ [n] = 1 si n ≥ 0
γ [n] = 0 sinon

Donner l’expression de l’exemple 0.5


ci-contre

0
0 5 10

La séquence impulsionnelle δ [ n ] 1
δ [0 ] = 1
δ [ n ] = 0 si n ≠ 0

Donner l’expression de l’exemple ci- 0.5


contre :

0
0 5 10

La séquence porte 1
ra , b [ n ] = 1 si a ≤ n ≤ b
ra , b [ n ] = 0
avec a ∈ Z et b ∈ Z
0.5
Donner l’expression de l’exemple
ci-contre :
0
0 5 10 15

La séquence triangulaire
2⋅ n 1
Λ N [n] = (1 − )r [ n]
N − N2 , N2

Donner l’expression de l’exemple 0.5


ci-contre :

0
0 5 10
50 Chaîne de traitement du signal

3.2. Représentation Matlab d’un signal numérique

Construction d’un signal à partir de ses composantes fréquentielles (figure 6).


% Création d'un vecteur temps à 100Hz
Fs=100;
4
t=(1:100)/Fs;
2
% Création d'un signal et affichage
s=sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30); 0
plot(t, s), grid
-2

-4
0 0.5 1
Figure 6 : Signal ayant pour composantes fréquentielles 5,
15 30Hz

4. Quantification
La quantification consiste à partitionner l'ensemble des valeurs possibles du
signal analogique en un nombre fini de niveaux. Le quantum ou pas de
quantification q est la variation maximale que peut avoir le signal d'entrée pour
provoquer un changement de 1 LSB en sortie du convertisseur.
4.1. Codage
Le codage transcrit dans un code donné le nombre fini de niveaux (Binaire
naturel, complémenté, BCD, …). Chaque code a un bit de poids le plus fort MSB
(Most Significant Bit) et un bit de poids le plus faible LSB (Least Significant
Bit). La tension d'entrée est unipolaire ou bipolaire, le code tient compte du signe.
4.2. Courbe de transfert
Code binaire
La pleine échelle ECH de
conversion est liée au quantum par la 111
ECH = q • 2 où n est la
n
relation 110
résolution du CAN 101
q et ECH sont exprimés en volts,
100
elles sont traduites généralement en
011
LSB. q
010

001 q/2
La courbe de transfert ( figure 7) est une
fonction en escalier issue de la 000
1/8 3/8 5/8 7/8
quantification et du codage 1/4 1/2 3/4
Signal analogique

Figure 7 : Courbe de transfert


TRAITEMENT DU SIGNAL 51

4.3. Bruit de quantification


Le CAN présente de façon E

intrinsèque une erreur systématique de


quantification ERR (figure 8). C'est le q/2

décalage entre le signal analogique 0


d'entrée et la sortie quantifiée. Son 1/8
1/4
3/8
1/2
5/8
3/4
7/8
-q/2
allure est une dent de scie entre -q/2 et
+q/2. ERR a une probabilité P de se
trouver dans l'intervalle [0, ECH-q/2]. Figure 8 : Erreur de quantification

Prob(E)
Pour la forme dent de scie,
1/q
B =q / 12 ERR ( x ) = x
et la probabilité associée (figure 9) E

est P ( ERR ) = 1 / q -q/2 0 q/2

Figure 9 : Probabilité de l’erreur

Le bruit de quantification B est la moyenne quadratique de ERR.


+ q/ 2

= ∫ ERR •P ( ERR ) • dERR


2 2
B
− q/ 2

D'où la relation caractérisant le bruit des convertisseurs

B =q / 12

4.4. Paramètres caractéristiques

Code binaire
L’erreur d'offset correspond à une
translation fortuite de la caractéristique 111

de transfert (figure 10). C'est la tension 110

continue à appliquer à l'entrée pour 101

ramener la droite de conversion dans sa 100

position théorique en son origine. 011

L'erreur d'offset s'exprime en LSB. 010


q

001 q/2

000

Erreur 1/4 3/8 5/8 7/8


1/2 3/4
d'offset Signal analogique

Figure 10 : Erreur d'offset


52 Chaîne de traitement du signal

Code binaire
Le gain est représenté par la pente de la
droite de conversion (figure 11). 111
Erreur
de gain

L'erreur de gain est l'écart relatif entre 110

la pente réelle et la pente théorique de 101

la droite. Elle est exprimée en 100

pourcentage de la pleine échelle. 011

Lorsqu'elle est multipliée par 2n, l'erreur 010


q

est exprimée en LSB. 001 q/2

000

1/4 3/8 5/8 7/8


1/2 3/4
Signal analogique

Figure 11 : Erreur de gain

En théorie, pour les CAN parfaits, les largeurs de marche qi pour chaque code i
sont égales au pas de quantification q. Dans la réalité, la largeur des marches qi
peut varier d'un code à l'autre. L'erreur de linéarité différentielle est définie par
NLD(i)=qi-q, NLD s'exprime en LSB. Du fait de la non linéarité des pas de
quantification d'un convertisseur réel, sa caractéristique de transfert ne suit pas la
ligne droite théorique. L’erreur de linéarité intégrale NLI est pour chaque code i
la somme cumulée des erreurs de linéarité différentielle:
NLI ( i ) = ∑ NLD ( j )
j ≤i

Le taux de distorsion harmonique THD traduit les effets des non linéarités d'un
composant sur un signal d'attaque sinusoïdal. C'est le rapport des valeurs efficaces
des harmoniques Hk et la valeur efficace du signal S:
∑H 2
k

THD ( dB ) = 20 log k >1

S
Le THD s'obtient par analyse spectrale à partir d'une transformée de Fourier
discrète en sortie du composant.

Le rapport signal sur bruit SNR : signal noise ratio est le rapport des valeurs
efficaces du signal et du bruit. Dans le cas où le signal d'entrée est sinusoïdal
d'amplitude crête à crête V
V
S =
2 2

La valeur efficace du bruit de quantification est :


q V
B = = n
12 2 12

S 3 S
SNR = = 2n ou SNR dB = 20 log = 6 , 02 n + 1, 76
B 2 B
TRAITEMENT DU SIGNAL 53

Le calcul du nombre de bits effectifs se déduit de la formule précédente en


remplaçant le SNR théorique par le rapport signal sur bruit mesuré SINAD
SINAD −1, 76
n eff =
6, 02
Ce paramètre traduit l'imprécision due aux bruits et erreurs supplémentaires dans
le composant. Cette valeur est inférieure à la résolution n du convertisseur.
n eff <n
La relation doit être corrigée dans le cas où l'amplitude du signal serait inférieure
à la pleine échelle.

Exemple 2 : Pour coder une mesure entre -10 et 10 volts avec une résolution de
10mv combien de bits doit avoir le CAN?

Exemple 3 : Déterminer le nombre de bits significatifs d'un CAN à 16 bits dont le


SNR mesuré est 70 dB?
4.5. Choix d'un CAN
En fonction d’un compromis précision-rapidité, une chaîne de traitement
numérique peut être basée sur différents types de CAN :
- les CAN à rampes sont précis mais lents. Leur durée de conversion est de l'ordre
de quelques dizaines de milisecondes. Leurs caractéristiques les limitent à la
numérisation de signaux lents ;
- les CAN à approximations successives dont la durée de conversion est
fonction du nombre de bits et de la fréquence d'horloge. En général, la
conversion se fait en quelques microsecondes. Ils sont bons marchés mais
sensibles aux bruits superposés au signal à convertir dus au comparateur
présent en entrée ;
- les CAN parallèles ou dits «flash» sont rarement utilisés dans l'industrie. En
effet leur nombre de bits est assez faible et par conséquent la résolution
médiocre. La vitesse de conversion de l'ordre des nanosecondes leur donne
leur nom et les rends utiles dans des applications d’imagerie;
- les convertisseurs tension-fréquence, pour des montages de mesure de
phénomènes lents, sont également possibles pour faire une conversion
tension-fréquence en guise de CAN. C'est le cas dans les montages de mesure
de la température ;
- les convertisseurs sigma-delta ont un faible niveau de bruit dans la bande
passante. Cette technologie est très prometteuse.
54 Chaîne de traitement du signal

5. Echantillonnage
41 échantillons
L'échantillonnage prélève 1

0.5
régulièrement des valeurs x[ kTe ] d'un
0

signal analogique x (t ) à la fréquence -0.5

1 -1
d'échantillonage fe = , la -20 -15 -10 -5 0 5
4001 échantillons
10 15 20

Te 1

0.5
quantification associe aux valeurs
0
x[ kTe ] une suite binaire. -0.5

Le problème consiste à s'assurer -1


-20 -15 -10 -5 0 5 10 15 20
qu'à partir des x[ kTe ], il est possible de
Figure 12 : Influence du nombre d’échantillons
reconstituer le signal sans perte sur la reconstitution du signal
d'information.

5.1. Signal bande de base (basse-fréquence)

Théorème : un signal x (t ) d'énergie finie dont la transformée de Fourier à un


support borné [− B,+ B] est entièrement définie par ses échantillons x[ kTe ]
prélevés à la fréquence d'échantillonnage f e > 2 B

La plus petite fréquence 2 B est appelée fréquence de Nyquist ou de Shannon.

Le signal x (t ) est le résultat de la superposition d'une infinité de sinus cardinaux


décalés de multiples de la période d'échantillonnage et pondérés par les
échantillons x[ kTe ] . La formule d'interpolation est
+∞

x (t ) = ∑ x [ kTe ] • sin c ( π fe ( t − kTe ) )


k =− ∞

Il est impossible de reconstruire x (t ) en temps réel à partir uniquement des


échantillons du passé. Le théorème d'échantillonnage peut ne pas être respecté
dans le cas par exemple où l'on cherche à déterminer la valeur moyenne ou la
puissance moyenne d'un signal x (t ) .

L’interprétation spectrale est réalisée à partir de la relation


+∞

xe ( t ) = ∑ x [ kTe ] • Te • δ ( t − kTe )
k=− ∞
+∞

xe ( t ) = x ( t ) ∑ Te • δ ( t − kTe )
k =− ∞
+∞
k
Xe ( f ) = X ( f )∗ ∑ δ (t −
Te
)
k =− ∞
TRAITEMENT DU SIGNAL 55

+∞
k
Xe ( f ) = ∑ X( f −
Te
)
k= − ∞

Le spectre complexe du signal échantillonné est obtenu par périodisation de fe


du spectre complexe de x (t ) . Echantillonner dans l'espace temps revient à
périodiser dans l'espace fréquence.

Cas f e < 2 B

On assiste à un repliement de spectre ou recouvrement ou encore aliasing. La


conséquence est l'impossibilité de reconstruire X ( f ) à partir de X e ( f ) .
Xe(f)

-B 0 B f
-fe/2 fe /2 fe

Figure 13 : Aliasing

Cas fe ≥ 2 B

Xe(f)

-B 0 B f
-fe/2 fe/2 fe

Figure 14 : Restitution idéale

5.2. Signal passe-bande


Dans ce cas on réalise l’échantillonnage de l'enveloppe complexe. La théorie
des signaux passe-bande montre que les signaux à spectre de support inclu dans
[ − f 2 , − f 1 ] ∪ [ f 1 , f 2 ] se décompose sous la forme
αx ( t ) = p x ( t ) + iq x ( t )
f1 + f2
si l'on considère f 0 = , B = f2 − f1
2
p x ( t ) et q x ( t ) sont des signaux bande de base à spectre de support inclus dans
B B
[− , ].
2 2
Le théorème d'échantillonnage bande de base s'applique aux signaux p x ( t )
B
et q x ( t ) , il faut donc les échantillonner à f e ≥ 2
2
56 Chaîne de traitement du signal

B est la bande passante monolatérale du spectre X ( f )

Si l'on désire échantillonner directement un signal passe-bande, il suffit de le faire


avec f e ≥ 2 f M , où f M est la fréquence maximale du signal.

5.3. Limites du théorème d'échantillonnage


Le contenu spectral d'un signal n'est pas toujours connu lorsqu'on veut
l'échantillonner. De plus, le bruit inhérent aux capteurs ou encore issu du contexte
de la mesure doit être spectralement limité. Il est donc essentiel pour éviter
l'aliasing ou repliement du spectre d'effectuer un filtrage analogique

Le filtre antirepliement n'est pas idéal, il présente un certain affaiblissement


en bande atténuée et une ondulation en bande passante. Dans le cas où l'ordre du
filtre analogique serait élevé, la fréquence de Nyquist valant le double de la
bande passante peut être approchée pour échantillonner le signal. Cependant, il ne
faut pas oublier l'ondulation dans la bande atténuée du filtre retenu qui introduit
dans le repliement de son spectre des imperfections dans le signal.

Un échantillonneur s'ouvrant durant un instant τ met en mémoire x (t ) . En


réalité, la donnée récupérée n'est pas x[ kTe ] mais une valeur moyenne sur
kTe − τ , kTe . Pour avoir une bonne estimation, on choisit τ << Te . Lorsqu'il n'y a
pas de numérisation mais un multiplexage temporel d'impulsions le signal prélevé
recopie le signal d'entrée durant l'ouverture τ . L'opération est dans ce cas un
échantillonnage analogique ou échantillonnage suiveur.

L’échantillonneur bloqueur opère une acquisition sous la forme d’une tension


aux bornes d’un condensateur puis après l’isolation de ce dernier, une
mémorisation est réalisée sous le nom de blocage.
5.4. Choix de la fréquence d'échantillonnage
Par convention la fréquence de Nyquist f N est la fréquence retenue pour la
fréquence normalisée
fe
fN =
2
ainsi la fréquence normalisée F est compris dans l’intervalle[0, 1].
f 2. f
F= = où f e est la fréquence d’échantillonnage.
fN fe
La fréquence est établie :
- selon la structure de la chaîne c’est-à-dire du nombre de CAN et de la
présence de multiplexeurs ;
- selon le phénomène qu’il soit normal ou issu des transitoires ou encore du
aux défauts.

La technique de suréchantillonnage permet de fixer au niveau du filtrage


numérique la fréquence de coupure.
TRAITEMENT DU SIGNAL 57

6. Apodisation
La restriction du nombre des données se réalise par une opération
d’apodisation. Elle est motivée par la limitation des mémoires d'accueil de
données ou des temps de traitement imposés.
6.1. Influence de la limitation du nombre des données
A temps continu, pour calculer le spectre complexe d'un signal x (t ) , on ne
dispose pas de toute l'échelle des temps, mais d'une durée T que l’on peut
représenter par x T (t ) = x (t )rect T (t ) dont la transformée de Fourier s’écrit :

X T ( f ) = X ( f )T sin c( fT )

La restriction temporelle conduit à un élargissement fréquentiel.

A temps discret, on ne peut définir exactement la TFD d’un signal à durée


illimitée. Il est donc nécessaire de fournir des méthodes de limitation de la durée
d’un signal numérique.

Dans ces deux cas, la solution est de prélever les données par une fenêtre
temporelle continue w(t ) , numérique w[n] ou fréquentielle continue W ( f ) ou
discrète W[ k ].
6.2. Fenêtre rectangulaire
Lorsque l'on cherche la TF d'un signal x[n], on choisit une fenêtre
d'observation pour avoir les échantillons importants du signal. Il faut trouver un
signal y[n] prolongement de x[n] tel que Y ( f ) approche au mieux X ( f ) .

La restriction peut être réalisée par une séquence porte

y[ n ] = r N N [ n ] x[ n ]
− ,
2 2

1/ 2
Y(f )= ∫ − 1/ 2
X (λ )R( f − λ )
La diminution de la durée de x[n] par une fenêtre rectangulaire apporte des
perturbations sur X ( f ) .

Exemple 4 : Donner la réponse fréquentielle d’un sinus cardinal limité à 3 , 31


et 201 échantillons. Quel phénomène apparaît relativement à cette troncature
temporelle ?
58 Chaîne de traitement du signal

5, 31, 201 échantillons


1
10

0
10

-1
10

-2
10

-3
10

-4
10

-5
10

-6
10
0 0.5 1 1.5

Figure 15 : Phénomène de Gibbs

Ces perturbations dépendent de x[n] mais surtout de la largeur du lobe


principal et des amplitudes des lobes secondaires de R( f ). Pour éviter ces
problèmes, on utilise des fenêtres de pondération polynomiales ou cosinusoïdales.
6.3. Fenêtres symétriques à phase linéaire

Les fenêtres fréquentielles sont caractérisées par la largeur B de leur lobe


∆p
principal et le rapport ρ = de l'amplitude du lobe principal sur la plus grande
∆s
amplitude des lobes secondaires. Ainsi, ρ dépend du type de fenêtre et peu de N
le nombre de points de la fenêtre. Il faut pour diminuer les oscillations gênantes
a
que ρ soit grand. B = , a dépend du type de fenêtre. On choisit d'appliquer
N
une séquence finie, i.e. w [ n ] = 0 si n ∉ {0 ,1, 2 ,… , N − 1} La plupart des fenêtres
possède un axe de symétrie.
N
Si N est pair w [ N − 1 − n ] = w [ n ] 0 ≤ n≤ −1
2

L'axe de symétrie est entre les deux échantillons


N −1
Si N est impair w [ N − 1 − n ] = w [ n ] 0 ≤ n≤
3

L'axe de symétrie est sur l'échantillon central


La phase de la TF de la fenêtre a des variations proportionnelles à la fréquence
réduite. La phase est donc linéaire.
TRAITEMENT DU SIGNAL 59

50

-50

-100
Magnitude Response (dB)
-150
0 0.2 0.4 0.6 0.8 1
Normalized frequency (Nyquist == 1)
0

-1000

-2000
Phase (degrees)
-3000
0 0.2 0.4 0.6 0.8 1
Normalized frequency (Nyquist == 1)

Figure 16 : Filtre à phase linéaire

6.4. Fenêtres de pondérations


Le spectre d'amplitude d'un signal apodisé par une fenêtre w [ n ] s'identifie au
produit de convolution des spectres d'amplitude de la fenêtre et du signal original.

Fenêtre Définition (avec 0 ≤ n ≤ N − 1) ρ en


dB
Rectangulaire w[n] = 1 -13

Fenêtre Définition (avec 0 ≤ n ≤ N − 1) ρ en


dB

Triangulaire N −1 -25
ln( )
w[n] = 1 − 2
N −1
2
Hanning 1 2 nπ -31
w[n] = [1 − cos( )]
2 N −1
Hamming 2nπ -41
w[n] = 0.54 − 0.46 cos( )
N −1
Blackman 2nπ 4nπ -57
w[n] = 0.42 − 0.5 cos( ) + 0.08 cos( )
N −1 N −1

… … …

Figure 17 : Principales fenêtres


60 Chaîne de traitement du signal

D'autres fenêtres existent selon le domaine d'application du traitement du


signal.

Exemple 5 : Tracer la réponse fréquentielle d’un sinus cardinal prélevé par un


fenêtre de Hanning de 201 échantillons.

201 échantilons
0
10

-1
10

-2
10

-3
10

-4
10

-5
10

-6
10

-7
10
0 0.2 0.4 0.6 0.8 1

Figure 18 : Apodisation par une fenêtre de Hamming

7. Filtre réel
7.1. Filtre idéal et gabarit
Un filtre idéal est celui qui transmet toutes les composantes fréquentielles sans
atténuation et sans déphasage tout en éliminant celles qu’il doit supprimer. Le
module des fonctions de transfert H ( f ) de ces types de filtres est une fonction
rectangulaire. Ces derniers sont donc sans distorsion, i.e. leur module est constant
et leur phase est linéaire en fonction de la fréquence.
La fonction de transfert d’un passe-bas idéal
H ( f ) = A. rect 2 B ( f )e −i 2πft0
Sa réponse impulsionnelle
h(t ) =2. A. B.sin c[2. B (t − t 0 )]

La fonction de transfert d’un passe-bande idéal


H ( f ) = A.[rect 2 B ( f − f 0 ) + rect 2 B ( f + f 0 )]e − i 2πft0
Sa réponse impulsionnelle
h(t ) = 4. A. B.sin c[2. B (t − t 0 )]cos[2π . f 0 (t − t 0 )]
TRAITEMENT DU SIGNAL 61

La fonction de transfert d’un passe-haut idéal


H ( f ) = A.[1 − rect 2 B ( f )]e −i 2πft0
Sa réponse impulsionnelle
h(t ) = A[δ (t − t 0 ) − 2. B sin c[2 B(t − t 0 )]]

Un filtre réel approxime un gabarit. Les circuits à nombre fini de composants


présentent trois imperfections :
- une atténuation en bande passante non nulle,
- une atténuation finie en bande coupée,
- une transition progressive entre les bandes passantes et coupées.

f
f1 f2

Figure 19 : Gabarit normalisé d’un filtre passe-bas

En pratique la réalisation des filtres se fait à partir de gabarit, car on ne peut


assurer des fronts de coupure aussi raide. On recherche une certaine ondulation
dans la bande passante, une certaine largeur de la bande de transition f 2 − f 1 et
l'ondulation dans la bande atténuée.
7.2. Equivalence au filtre passe-bas
ω
La normalisation de la fréquence angulaire s’obtient par Ω = = 2.π . F . La
ω0
2
H (iω )
normalisation en amplitude s’effectue par 2 . Considérons p = i.Ω la
H (i 0)
variable complexe normalisée.

Passe -bas <-> passe -haut 1


p↔
p
Passe -bas <-> passe -bande 1
p ↔ Q( p + )
p
Passe -bas <-> coupe -bande 1
p↔
1
Q( p + )
p
62 Chaîne de traitement du signal

7.3. Méthode d’approximation


Le gabarit définit le domaine d'atténuation A ( f ) en fonction de la fréquence.
La phase est par exemple linéaire.
2 1
A ( f) = 2
H( f )

Rechercher des filtres dont l'ondulation dans la bande passante est plate,
équivaut à trouver une fonction dont les dérivées d'ordre n sont nulles en un point
milieu de la bande passante.

Pour le cas du passe-bas, cela revient à annuler les n premières dérivées


2 2n
A ( f ) = 1 + ( kf )

Plus généralement on a
2 2 2
A ( p) = 1 + ε L ( p)

Lorsque L ( p ) est un polynôme, le filtre est polynomial (Bessel, Butterworth,


Tchebichev,…).
Si L ( p ) est une fraction rationnelle, le filtre est elliptique (Cauer).
7.4. Filtre polynomial de Butterworth

Le filtre de Butterworth est maximally 10


0

flat (filtre MF) Magnitude

2 1
H( f ) =
f
1 + ( ) 2n 10
-5

f0 10
2
10
3

Frequency (radians)
10
4

200
Phase (degrees)

-200
2 3 4
10 10 10
Frequency (radians)

Figure 20 : Passe bas de Butterwoth d’ordre 4


TRAITEMENT DU SIGNAL 63

7.5. Filtre polynomial de Tchebychev


Généralisation des filtres de Butterworth, c'est un filtre à ondulation d'égale
amplitude où ε caractérise l'amplitude de l'ondulation.

2 1
H(f ) =
f
1 + ε 2 Tn2 ( )
f0
Tn ( f ) = cos ( nArc cos ( f ) ) si f ≤ 1
Tn ( f ) = ch ( nArgch ( f ) ) si f ≥ 1
sont solution de :
Tn + 1 ( f ) = 2 fTn ( f ) − Tn −1 ( f )

T0 ( f ) = 1
T1 ( f ) = f
T2 ( f ) = 2 f 2 − 1
3
T3 ( f ) = 4 f − 3 f
2
L'atténuation en puissance maximale dans la bande passante est égale à 1 + ε .
Cette atténuation maximale est également obtenue pour la valeur f = 1 .
Le nombre de tangentes horizontales de A( f ) pour f > 0 donne l'ordre n du
filtre.
Les filtres d'ordre pair présentent une atténuation non nulle en continu.

0
10

Magnitude

-5
10
1 2 3 4
10 10 10 10
Frequency (radians)
200

Phase (degrees)

-200
1 2 3 4
10 10 10 10
Frequency (radians)

Figure 21 : Passe bas de Chebychef d’ordre 3 à ondulation dans la bande passante


64 Chaîne de traitement du signal

7.6. Filtre polynomial de Legendre


Une autre méthode de synthèse de filtres consiste à imposer une surface
bornée.
2 2 2
Soit A ( f ) − 1 = Pn ( f )
+1
2 2
∫ −1
Pn ( f )df ≤ γ
(1) - Normaliser le gabarit par la fréquence de coupure fc .
2 2
(2) - Symétriser le gabarit. On peut alors exprimer H ( f ) en fonction de f
2
H ( f ) = H( f ) H(− f )

Si γ = 1 , on a des polynômes de norme unitaire pour le produit scalaire


+1

∫ −1
P ( f ) Q ( f )df

Les polynômes de Legendre forment un système orthonormale en la sphère


unité
+1 2 m
∫ −1
Pn ( f ) Pm ( f )df =
2n + 1
δn
m
avec δn = 0 si n ≠ m

=1 si n = m
2 2
γ =
2n + 1
Les polynômes de Legendre sont donnée pour une résolution sur la sphère
unité
1 dn 2 n
Pn ( x ) = n n ( ( x − 1) )
2 n ! dx
2
On pose x = ω , les premiers polynômes sont les suivants :
2
P0 ( ω ) = 1
P1 ( ω 2 ) = ω 2
3 4 1
P2 ( ω 2 ) = ω −
2 2
5 3
P3 ( ω 2 ) = ω 6 − ω 2

2 2
L'approximation de f ( t ) par les polynômes de Legendre sur [ − 1, 1] s'écrit :
+∞

f (t ) = ∑ cn Pn ( t )
n=0
+1

cn =
∫ 1 f ( t ) Pn ( t )dt

+1
2
∫ 1 Pn ( t ) dt

TRAITEMENT DU SIGNAL 65

2n + 1 +1
cn =
2 ∫ −1
f ( t ) Pn ( t )dt

7.7. Filtre elliptique de Cauer


Les filtres polynomiaux ne permettent pas une atténuation infinie pour des
fréquences finies.

Le filtre de Cauer a pour atténuation


2 2 N( f 2)
A ( f ) = A0 [ 1 + 2 2 ]
P (f )
Le dénominateur est le carré d'un polynôme, la pente de l'atténuation est plus
importante autour des fréquences de coupures.
0
10

-1 Magnitude
10

-2
10

-3
10
2 3 4
10 10 10
Frequency (radians)
100
Phase (degrees)
0

-100

-200
2 3 4
10 10 10
Frequency (radians)

Figure 22 : Filtre elliptique passe bas d’ordre 2

Le comportement ondulatoire en bande passante et en bande atténuée est


réalisé en considérant les fonctions de Zolotarev Z n ( f ) .
1
n
f2− 2
fk
Z 2 n+1 ( f ) = f . ∏ ( 2 )
1 f − f k2
1
f2−
n
f k2
Z2n ( f ) = ∏ ( 2 )
1 f − f k2
L’atténuation relative en puissance s’écrit :
A ( f ) = 1 + ε 2 . Z n2 ( f )
L’atténuation est infinie pour les fréquences f k . On obtient une ondulation
d’amplitude constante en choisissant les f k .
66 Chaîne de traitement du signal

f k = s n [( 2 n + 1) u , ku ])

s n ( u , z ) = th ( z ) ∏ th ( m u − z ). th ( m u + z )
m =1

8. Caractéristiques des filtres usuels


8.1. Retard de groupe et retard de phase d'un filtre
Un filtre réel fait subir aux composantes spectrales un déphasage variable
avec la fréquence. Notonsϕ la phase,
ϕ = ω.t
ϕ (ω )
τp =−
ω
La transition est sans déformation si le retard de phase τ p est constant

Pour tout ω de la bande passante, le temps de propagation de groupe τ g doit


être constant.

dϕ (ω )
τg =−

Dans la pratique, le compromis entre le gabarit d’atténuation et la bonne


régularité du temps de propagation de groupe se réalise en fonction des
performances souhaitées.

Lorsque la réponse en amplitude doit être régulière, on accepte l’irrégularité


du temps de propagation de groupe. Lorsque la réponse transitoire est importante,
il faut une bonne régularité du temps de propagation de groupe et on
s’accommode de la réponse en amplitude.

Pour un filtre de réponse fréquentielle H ( f ) , on appelle retard de groupe ou


temps de propagation de groupe τ g ( f 0 ) et retard de phase ou temps de
propagation de phase τ ϕ ( f 0 ) .

1 dArg[ H ( f )]
τ g ( f0) = − { } f0
2π df
1 Arg[ H ( f 0 )]
τ ϕ ( f0) = −
2π df

Exemple 6 : Pour un passe-bas de type Butterworth à 100Hz, 3dB, bande coupée


supérieure à 140Hz, 10dB, tracer dans le cas continu et dans le cas discret le
retard de groupe et le retard de phase.
TRAITEMENT DU SIGNAL 67

[n, wn]= x 10
-3

4
buttord(100*2*pi, 140*2*pi, 3, 10, 's');
[b, a]=butter(n, wn,'s'); 3
gd=grpdelay(b, a, 512);
gd(1)=[]; 2

[h, w]=freqz(b, a,512); 1


h(1)=[]; w(1)=[];
pd=-unwrap(angle(h))./w; 0
plot(w, gd, w, pd) -1

-2

-3

-4
0 0.5 1 1.5 2 2.5 3 3.5

clear;
[b, a]=butter(6, .2); 12

gd=grpdelay(b, a, 512);
gd(1)=[]; 10
[h, w]=freqz(b, a,512);
h(1)=[]; w(1)=[]; 8
pd=-unwrap(angle(h))./w;
plot(w, gd, w, pd)
6

0
0 0.5 1 1.5 2 2.5 3 3.5

8.2. Usage des filtres


On distingue trois types de filtre
- les filtres d'affaiblissement basés sur la réponse en amplitude dont le gabarit
en temps de propagation n'est pas spécifié.
- les filtres à temps de propagation de groupe prennent en compte les
contraintes de phase et celles sur l'affaiblissement.
- les filtres correcteurs de phase ou déphaseurs ont une réponse en amplitude
constante et la phase variable.

Affaiblissement + Correcteur de phase = Propagation de groupe

On choisira :
- un Butterworth lorsqu’on veut une stabilité particulière pour f=o;
- un Tchebycheff lorsqu’on désire une atténuation importante en bande coupée;
- un Cauer lorsqu’on souhaite une bande de transition voisine de 0
68 Chaîne de traitement du signal

Type de filtre Caractéristique Inconvénients

Butterworth Réponse plate dans la Flanc de montée très peu


bande passante raide

Legendre Pente la plus forte à la Ordre souvent élevé pour


coupure satisfaire le gabarit

Atténuation croissant
uniformément

Bessel Approximer un retard Sans oscillation pour la


pure réponse indicielle

Mauvaises
caractéristiques
d'atténuation
Tchebychev Ordre minimal pour Oscillations pour la
atténuation donnée réponse indicielle

Cauer Ordre le plus faible Complexité des calculs


Zéro de transmission Phase non linéaire

9. Simulation des performances d’un filtre


9.1. Modèles en temps continu et en temps discret
L’adjonction du paramètre 's' sur certaines instructions de Matlab précise au
système qu’il s’agit d’un filtre à temps continu.

Exemple 7 : Déterminer l'ordre et la fréquence de coupure d'un passe-bas de


type Butterworth à 100Hz, 3dB, bande coupée supérieure à 140Hz, 10dB
[n, wn]=buttord(100*2*pi, 140*2*pi, 3, 10, 's') n=

wn =

668.3864

9.2. Normalisation
La normalisation est faite en pulsation de coupure à 1 rd/s.
[b, a]=butter(n, wn,'s');
figure;
freqs(b, a)
TRAITEMENT DU SIGNAL 69

Souvent, pour les filtres analogiques la pulsation est supérieure à l’unité. Dans
la conception de filtre numérique 1 correspond à la moitié de la fréquence
d’échantillonnage.
9.3. Transformations
D'après les relations d'équivalence au filtre passe-bas données précédemment,
il est possible de trouver les filtres passe-haut, passe-bande, coupe-bande par
simple transformation.

Exemple 8 : Déterminer le même filtre qu'à l'exemple 7 de pulsation de


coupure unitaire.
[d, c]=lp2lp(b, a, 1/668.3864); 0
10
figure;
w=logspace(-1, 3, 256); -5
10
freqs(d, c, w);
-10
10

-15
10 -1 0 1 2 3
10 10 10 10 10

200
Phase (degrees)

-200 -1 0 1 2 3
10 10 10 10 10
Frequency (radians)

Exemple 9 : Déterminer le filtre passe-haut de même pulsation de coupure


qu'à l'exemple 7.
[e, f]=lp2hp(d, c, 668.3864); 0
10
figure;
freqs(e, f, w);grid;
-10
10

-20
10 -1 0 1 2 3
10 10 10 10 10

200
Phase (degrees)

0
70 Chaîne de traitement du signal

Exemple 10 : Déterminer le passe-bande de même pulsation de coupure qu'à


l'exemple 7.
[g, h]=lp2bp(d, c, 668.3864, 668.3864); 0
10
figure;
w2=logspace(0, 6, 512); -5
10
freqs(g, h, w2);grid;
-10
10

-15
10 0 2 4 6
10 10 10 10

200

Phase (degrees)
0

-200 0 2 4 6
10 10 10 10
Frequency (radians)

Exemple 11 : Déterminer le coupe-bande de même pulsation de coupure qu'à


l'exemple 7.
[i, j]=lp2bs(d, c, 668.3864, 668.3864); 0
10
figure;
w2=logspace(0, 6, 512);
freqs(i, j, w2);grid; -5
10

-10
10 0 2 4 6
10 10 10 10

200
Phase (degrees)

-200 0 2 4 6
10 10 10 10
Frequency (radians)
TRAITEMENT DU SIGNAL 71

9.4. Filtres polynomiaux et elliptiques


La structure de Butterworth largement utilisée pour le filtrage anti-repliement.
D'autres filtres polynomiaux permettent d'approximer le gabarit défini :
Tchebychev, Bessel. Le filtre de Cauer est employé pour assurer une transmission
nulle dans la bande de transition.
[n, wn]=buttord(100*2*pi, 140*2*pi, 3, 10, 's'); 0
10
[b, a]=butter(n, wn,'s');
figure;
freqs(b, a)

-5
10 2 3 4
10 10 10

200

Phase (degrees) 0

-200 2 3 4
10 10 10
Frequency (radians)

Exemple 12 : Déterminer le Tchebychev de même pulsation de coupure qu'à


l'exemple 7.
[n, wn]=cheb1ord(100*2*pi, 140*2*pi, 3, 10, 's') 0
10
[b, a]=cheby1(n, 3 , wn,'s')
figure
freqs(b, a)

-5
10 1 2 3 4
10 10 10 10

200
Phase (degrees)

-200 1 2 3 4
10 10 10 10
Frequency (radians)
72 Chaîne de traitement du signal

Exemple 13 : Déterminer le Tchebychev inverse de même pulsation de


coupure qu'à l'exemple 7.
[n, wn]=cheb2ord(100*2*pi, 140*2*pi, 3, 10, 's') 0
10
[b, a]=cheby2(n, 10, wn,'s')
figure -1
10
freqs(b, a)
-2
10

-3
10 2 3 4
10 10 10

100

Phase (degrees)
0

-100

-200 2 3 4
10 10 10
Frequency (radians)

Exemple 14 : Déterminer le Bessel de même pulsation de coupure qu'à


l'exemple 7.
[b, a]=besself(4, 100) 0
10
figure
freqs(b, a)
-2
10

-4
10 1 2 3
10 10 10

200
Phase (degrees)

-200 1 2 3
10 10 10
Frequency (radians)

Exemple 15 : Déterminer le Cauer de même pulsation de coupure qu'à


l'exemple 7.
[n, wn]=ellipord(100*2*pi, 140*2*pi, 3, 10, 's') 0
10
[b, a]=ellip(n,3, 10, wn,'s')
figure -1
10
freqs(b, a)
TRAITEMENT DU SIGNAL 73

10. Identification fréquentielle


Nous avons raisonné tout au long de ce chapitre à partir du concept de gabarit.
Une alternative à cette démarche est l'identification du filtre selon une réponse
fréquentielle déterminée. Dans ce cas, on cherche un filtre approximant au sens
des moindres carrés une réponse fréquentielle donnée. On minimise l’une des
deux erreurs suivantes :

N 2

∑ wt ( k ). h( k ). A( w( k )) − B( w( k ))
k =1
N 2
B( w( k ))
∑ wt ( k ). h( k ) − A( w( k ))
k =1

[b, a] =butter(5, 0.5, ‘s’); [b, a] =butter(5, 0.5, ‘s’);


[h, w] =freqs(b, a); [h, w] =freqs(b, a);
[bb, aa] =invfreqs(h, w, 5, 5); [bb, aa] =invfreqs(h, w, 2, 5);
[hc, wc] = freqs(bb, aa); [hc, wc] = freqs(bb, aa);
figure; clf;
semilogx(w, abs(h)); semilogx(w, abs(h));
hold on; hold on;
semilogx(wc, abs(hc)); semilogx(wc, abs(hc));

Warning: Matrix is close to singular or badly scaled. Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 4.016723e-052 Results may be inaccurate. RCOND = 2.021231e-022

1.2 2

1
1.5
0.8

0.6 1

0.4
0.5
0.2

0 -2 0 2 4 6
0 -2 0 2 4 6
10 10 10 10 10 10 10 10 10 10
74 Chaîne de traitement du signal