Le filtrage numérique des signaux n'est pas qu'un filtre ... - Mesures
Le filtrage numérique des signaux n'est pas qu'un filtre ... - Mesures
Le filtrage numérique des signaux n'est pas qu'un filtre ... - Mesures
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Solutions<br />
Ateme<br />
TRAITEMENT DU SIGNAL<br />
<strong>Le</strong> <strong>filtrage</strong> numérique<br />
<strong>des</strong> <strong>signaux</strong> n’est <strong>pas</strong><br />
qu’un <strong>filtre</strong> analogique<br />
numérisé…<br />
Étape essentielle d'une<br />
chaîne d'acquisition de<br />
données,le <strong>filtrage</strong> ne se<br />
résume <strong>pas</strong> aux <strong>filtre</strong>s<br />
analogiques.Il existe les<br />
<strong>filtre</strong>s numériques,<br />
implantés sur <strong>des</strong> DSP et<br />
<strong>des</strong> FPGA.<br />
▼<br />
Quand on parle d’acquisition de données, on s’intéresse toujours au nombre d’entrées/sorties, à la conversion analogiquenumérique,<br />
à l’aspect logiciel, mais plus rarement au <strong>filtrage</strong>. Pourtant, les <strong>filtre</strong>s sont indispensables à la capture et au prétraitement<br />
<strong>des</strong> <strong>signaux</strong>. Il y a évidemment le “célèbre” <strong>filtre</strong> analogique anti-repliement qui permet de respecter le théorème<br />
de Shannon, les <strong>filtre</strong>s <strong>pas</strong>se-bas, <strong>pas</strong>se-haut ou <strong>pas</strong>se-bande aux consonances étrangères comme Tchebychev, Bessel,<br />
Butterworth… Mais le <strong>filtrage</strong> ne se résume <strong>pas</strong> uniquement aux <strong>filtre</strong>s analogiques. Il existe également les <strong>filtre</strong>s numériques<br />
qui profitent de l’évolution constante <strong>des</strong> composants spécifiques pour s’imposer. <strong>Le</strong>s avantages du <strong>filtrage</strong> numérique?<br />
Il est possible de faire n’importe quel <strong>filtre</strong>, même le plus exotique, avec peu d’erreurs…<br />
de <strong>signaux</strong> physiques,<br />
quels qu’ils soient, est<br />
une opération souvent délicate.<br />
L’acquisition<br />
Un simple convertisseur analogique-numérique<br />
permet de transformer<br />
une tension ou un courant en une donnée<br />
numérique. Cela suffirait si les valeurs physiques<br />
n’étaient <strong>pas</strong> étroitement associées à<br />
une kyrielle de <strong>signaux</strong> : autres <strong>signaux</strong> de<br />
mesure, <strong>signaux</strong> parasites tels que le bruit<br />
électronique, les décharges électrostatiques,<br />
Pour l’essentiel<br />
<strong>Le</strong> <strong>filtrage</strong> est une étape<br />
essentielle dans une chaîne<br />
d’acquisition de données.<br />
Il permet d’isoler une<br />
fréquence particulière ou<br />
d’éliminer <strong>des</strong> fréquences<br />
parasites.<br />
Couramment utilisés, les<br />
<strong>filtre</strong>s analogiques manquent<br />
de précision et sont limités<br />
en types de gabarit<br />
disponibles.<br />
<strong>Le</strong> <strong>filtrage</strong> numérique n’a<br />
<strong>pas</strong> ces limitations. Il utilise<br />
<strong>des</strong> algorithmes de calcul<br />
implémentés dans <strong>des</strong> DSP<br />
ou <strong>des</strong> FPGA.<br />
Avantages : <strong>pas</strong> de dérive,<br />
<strong>filtre</strong>s exotiques, <strong>filtre</strong>s<br />
facilement modifiables…<br />
les fluctuations de la<br />
tension d’alimentation.<br />
Tous ces <strong>signaux</strong> se<br />
combinent, s’interfèrent<br />
et viennent “polluer”<br />
le signal utile.<br />
Afin de capturer correctement<br />
le signal<br />
recherché, un convertisseur<br />
analogiquenumérique<br />
est toujours<br />
associé à <strong>des</strong><br />
convertisseurs, à <strong>des</strong><br />
amplificateurs ou à <strong>des</strong><br />
<strong>filtre</strong>s. <strong>Le</strong> rôle de chacun<br />
est de mettre en<br />
forme les <strong>signaux</strong> pour<br />
les rendre “propres” :<br />
les convertisseurs transforment<br />
<strong>des</strong> fréquences,<br />
<strong>des</strong> courants, <strong>des</strong> impulsions en<br />
tension, les amplificateurs adaptent l’amplitude<br />
de la tension à la plage d’entrée du<br />
convertisseur analogique-numérique. <strong>Le</strong> <strong>filtrage</strong><br />
permet, quant à lui, d’extraire une<br />
partie de l’information liée à un signal (une<br />
fréquence particulière, une ou <strong>des</strong> ban<strong>des</strong><br />
de fréquences utiles dans un signal complexe),<br />
d’éliminer <strong>des</strong> fréquences parasites<br />
indésirables.<br />
<strong>Le</strong> <strong>filtrage</strong> peut être également vu comme<br />
une forme de traitement de signal qui<br />
modifie le spectre de fréquence et de phase<br />
d’un signal. <strong>Le</strong> <strong>filtrage</strong> peut s’appliquer<br />
à <strong>des</strong> <strong>signaux</strong> analogiques ou numériques.<br />
Quand on parle de <strong>filtrage</strong> de<br />
<strong>signaux</strong> de mesure, on pense immédiatement<br />
au <strong>filtrage</strong> analogique. Par<br />
exemple, le <strong>filtre</strong> anti-repliement, les<br />
<strong>filtre</strong>s <strong>pas</strong>se-bas de Bessel ou de Tchebychev<br />
(associant une résistance et une<br />
capacité), le <strong>filtre</strong> <strong>pas</strong>se-bande utilisant<br />
un amplificateur opérationnel. Il existe<br />
bien d’autres familles de <strong>filtre</strong>s à base de<br />
composants traditionnels : les <strong>filtre</strong>s analogiques<br />
<strong>pas</strong>sifs RLC qui utilisent <strong>des</strong><br />
résistances (R), <strong>des</strong> condensateurs (C) et<br />
<strong>des</strong> inductances (L), les <strong>filtre</strong>s <strong>pas</strong>sifs à<br />
résonateurs à base de quartz, de résonateurs<br />
céramiques ou à on<strong>des</strong> de surface,<br />
les <strong>filtre</strong>s <strong>pas</strong>sifs à lignes imprimées, les<br />
<strong>filtre</strong>s analogiques actifs intégrant <strong>des</strong><br />
amplificateurs opérationnels ou <strong>des</strong> transistors,<br />
les <strong>filtre</strong>s analogiques à capacités<br />
commutées.Tous ces <strong>filtre</strong>s se distinguent<br />
par une facilité de mise en œuvre, un<br />
fonctionnement à <strong>des</strong> fréquences qui<br />
peuvent atteindre quelques gigahertz. <strong>Le</strong><br />
revers de la médaille réside dans la sensibilité<br />
de ces composants aux conditions<br />
externes (température, humidité). La<br />
non-maîtrise de leurs tolérances nuit également<br />
à la précision du <strong>filtrage</strong>… surtout<br />
dans le cas de <strong>filtre</strong>s exigeants.<br />
Des <strong>filtre</strong>s avec <strong>des</strong> erreurs<br />
connues et maîtrisées<br />
Pour s’affranchir <strong>des</strong> limites <strong>des</strong> composants<br />
traditionnels, il existe une alternative :<br />
les <strong>filtre</strong>s numériques. <strong>Le</strong>s judicieux assemblages<br />
de résistances, de capacités, d’amplificateurs<br />
opérationnels <strong>des</strong> <strong>filtre</strong>s analogiques<br />
sont ici remplacés par <strong>des</strong><br />
algorithmes de calcul implémentés dans<br />
<strong>des</strong> microprocesseurs DSP ou <strong>des</strong> composants<br />
spécifiques du type FPGA. <strong>Le</strong>s <strong>filtre</strong>s<br />
numériques travaillent sur <strong>des</strong> <strong>signaux</strong><br />
numérisés et sont donc placés en aval <strong>des</strong><br />
convertisseurs analogique-numérique. <strong>Le</strong><br />
signal analogique d’entrée est d’abord<br />
échantillonné à un rythme élevé, à une fréquence<br />
qui est au moins le double de la<br />
52<br />
MESURES 749 - NOVEMBRE 2002
Solutions<br />
fréquence maximale contenue dans le<br />
signal (sinon, une partie de l’information<br />
est perdue). <strong>Le</strong>s échantillons obtenus sont<br />
ensuite numérisés et c’est sur ces échantillons<br />
numériques que travaillent les <strong>filtre</strong>s<br />
numériques. <strong>Le</strong>s algorithmes implémentés<br />
dans les <strong>filtre</strong>s sont caractérisés par un<br />
ensemble de coefficients permettant de<br />
déterminer la valeur d’un échantillon de<br />
sortie en fonction <strong>des</strong> échantillons d’entrée<br />
et/ou de sortie précédents. En quoi un<br />
<strong>filtrage</strong> numérique prévaut-il face à un <strong>filtrage</strong><br />
analogique?<br />
Tout d’abord, on n’a <strong>pas</strong> les erreurs liées<br />
aux non-linéarités <strong>des</strong> amplificateurs opérationnels<br />
ou aux mauvaises tolérances <strong>des</strong><br />
résistances, <strong>des</strong> capacités, que l’on trouve<br />
sur les <strong>filtre</strong>s analogiques. <strong>Le</strong>s <strong>filtre</strong>s numériques<br />
ne sont <strong>pas</strong> pour autant parfaits, leurs<br />
résultats sont entachés par d’autres sources<br />
d’erreurs. L’une d’entre elles est liée à la<br />
conversion analogique-numérique. La<br />
numérisation consiste à capturer régulièrement<br />
une valeur d’un signal analogique<br />
pour la transformer en un nombre binaire.<br />
Lors de cette étape, on introduit une<br />
erreur d’arrondi, appelée bruit de quantification,<br />
dont la valeur crête est parfaitement<br />
connue (elle est égale au <strong>pas</strong> de quantification,<br />
c’est-à-dire 1/2 n ).<br />
Une autre source de bruit provient de l’architecture<br />
<strong>des</strong> microprocesseurs à virgule<br />
fixe. Prenons l’exemple d’un <strong>filtre</strong> avec <strong>des</strong><br />
coefficients valant en théorie 0,0001 et<br />
0,9999 pour deux d’entre eux et implémenté<br />
sur DSP à virgule fixe. Ce genre de<br />
DSP autorise pour valeurs de paramètres<br />
0, 0,1, 0,2… Il faut alors arrondir les coefficients<br />
de l’algorithme aux valeurs possibles<br />
du DSP. Cette opération implique<br />
une erreur supplémentaire : c’est le bruit<br />
de calcul. On retrouve le même phénomène<br />
avec les résultats <strong>des</strong> opérations de<br />
base (multiplication, addition, soustraction<br />
et division).<br />
Contrairement aux erreurs issues de la<br />
non-linéarité <strong>des</strong> amplificateurs opérationnels<br />
ou <strong>des</strong> tolérances <strong>des</strong> composants<br />
(utilisés dans les <strong>filtre</strong>s analogiques), les<br />
bruits de quantification et de calcul sont<br />
parfaitement connus et ils restent stables.<br />
Résultat : les <strong>filtre</strong>s numériques gagnent<br />
en précision et en reproductibilité. Il est<br />
même possible d’améliorer la précision<br />
en réduisant le bruit de quantification.<br />
Pour cela, il faut utiliser <strong>des</strong> microprocesseurs<br />
disposant d’un nombre de bits plus<br />
grand.Ainsi, le <strong>pas</strong> de quantification, donc<br />
l’erreur entre la valeur réelle et l’arrondi,<br />
seront plus petits. En ce qui concerne le<br />
MESURES 749 - NOVEMBRE 2002<br />
bruit de calcul lié aux microprocesseurs à<br />
virgule fixe, une solution consiste à utiliser<br />
<strong>des</strong> FPGA à virgule flottante.Toutes les<br />
valeurs <strong>des</strong> coefficients d’un <strong>filtre</strong> numérique<br />
sont possibles sans arrondi, ce qui<br />
rend le bruit de calcul négligeable. En<br />
contrepartie, ces processeurs à virgule flottante<br />
requièrent une puissance de calcul<br />
plus importante, ralentissant les temps<br />
d’exécution. Avec les évolutions technologiques<br />
<strong>des</strong> composants, ce handicap s’estompe<br />
progressivement.<br />
<strong>Le</strong> <strong>filtrage</strong> numérique apporte d’autres avantages<br />
par rapport aux <strong>filtre</strong>s analogiques.<br />
Changer le gabarit d’un <strong>filtre</strong> (ondulation<br />
dans la bande <strong>pas</strong>sante, ordre du <strong>filtre</strong>, affaiblissement<br />
dans la bande de réjection) ou<br />
même changer de <strong>filtre</strong> (<strong>pas</strong>se-bas en <strong>pas</strong>sehaut)<br />
revient à modifier les coefficients d’un<br />
algorithme ou l’algorithme lui-même. Ces<br />
opérations s’effectuent par logiciel. Il n’est<br />
donc plus nécessaire d’enlever et d’assembler<br />
différemment résistances, capacités, amplificateurs<br />
opérationnels.<br />
Filtres numériques IIR ou FIR ?<br />
Derrière la notion de <strong>filtrage</strong> numérique, se<br />
cachent deux gran<strong>des</strong> familles de <strong>filtre</strong>s.<strong>Le</strong> <strong>filtre</strong><br />
numérique le plus général peut se décrire par<br />
un algorithme de la forme :<br />
y n<br />
=a 1<br />
.y n-1<br />
+a 2<br />
.y n-2<br />
+...+a p<br />
.y n-p<br />
+b o<br />
.x n<br />
+b 1<br />
.x n-1<br />
+...+b q<br />
.x n-q<br />
.<br />
Selon la forme de l’algorithme, on distingue<br />
les <strong>filtre</strong>s IIR et les <strong>filtre</strong>s FIR.<br />
<strong>Le</strong>s <strong>filtre</strong>s Infinite Impulse Response (IIR)<br />
sont inspirés <strong>des</strong> techniques de <strong>filtrage</strong> analogique.<br />
Ainsi, on trouve <strong>des</strong> <strong>filtre</strong>s IIR de<br />
Butterworth,Tchebychev, etc. L’idée est de<br />
profiter dans le monde numérique de tout<br />
le savoir-faire acquis dans le monde analogique.<br />
Pour réaliser un <strong>filtre</strong> numérique<br />
IIR, on établit d’abord un gabarit de <strong>filtre</strong><br />
analogique. Grâce à un outil mathématique<br />
(la transformée bilinéaire), on transpose<br />
la fonction du gabarit du domaine de la<br />
transformation de Laplace (utilisée dans<br />
l’univers analogique) à celui de la transformation<br />
en Z (utilisée dans l’univers<br />
“numérique”). Ce sont <strong>des</strong> <strong>filtre</strong>s récursifs<br />
(la valeur d’un échantillon de sortie est<br />
fonction <strong>des</strong> échantillons d’entrée et de<br />
sortie précédents) et leur réponse à une<br />
impulsion s’annule au bout d’un temps<br />
infini, d’où leur nom.<br />
Avec les <strong>filtre</strong>s Finite Impulse Response<br />
(FIR), on accède au très haut de gamme<br />
en matière de <strong>filtrage</strong> numérique. <strong>Le</strong>ur<br />
théorie s’appuie sur un modèle de <strong>filtre</strong><br />
idéal, une approche purement théorique<br />
et mathématique. L’idée d’un <strong>filtre</strong> FIR est<br />
de réaliser le <strong>filtrage</strong> numériquement au<br />
moyen du produit de convolution. Cette<br />
manière de procéder permet de réaliser<br />
Filtrage numérique face au <strong>filtrage</strong> analogique<br />
Avantages<br />
Inconvénients<br />
Filtrage numérique . Insensibilité aux conditions . Performances du <strong>filtre</strong> directement<br />
(IIR et FIR) extérieures (chaleur, humidité, etc.) proportionnelles à la puissance de<br />
. Pas de problème de dérive l’unité de calcul (DSP ou FPGA)<br />
<strong>des</strong> composants<br />
. Filtrage limité à 100 MHz<br />
. Nombre d’opérations illimité . Nécessité d’un <strong>filtrage</strong> anti-repliement<br />
. Filtres non réalisables en (analogique) à l’échantillonnage et<br />
analogique (par exemple <strong>filtre</strong>s FIR)<br />
à la restitution<br />
. Précision connue et contrôlée . Conversions analogique-numérique<br />
. Reproductibilité, sans réglage et numérique-analogique obligatoires<br />
. Filtres modifiables par logiciel . Alimentation nécessaire<br />
. Filtrage adaptatif (<strong>filtre</strong>s FIR) . Bande <strong>pas</strong>sante importante<br />
. Systèmes intégrables . Limitation pour les <strong>signaux</strong> forts et<br />
. Systèmes adaptés aux gran<strong>des</strong> séries faibles<br />
Filtrage analogique <strong>pas</strong>sif . Réalisable jusqu’à <strong>des</strong> fréquences . Faibles tolérances <strong>des</strong> composants<br />
(avec composants discrets élevées (quelques GHz) . Systèmes difficilement intégrables<br />
ou piézoélectriques) . Pas d’alimentation<br />
. Systèmes adaptés aux gran<strong>des</strong> séries<br />
Filtrage analogique actif . Fréquence de coupure . Filtrage limité à quelques MHz<br />
(<strong>filtre</strong>s standards programmable (<strong>filtre</strong>s à capacité commutée) . Alimentation nécessaire<br />
ou à capacité commutée) . Systèmes intégrables (<strong>filtre</strong>s à . Excursion de la tension de sortie limitée<br />
capacité commutée)<br />
. Nécessite <strong>des</strong> composants précis<br />
53
Solutions<br />
Hunt Engineering<br />
Avec les <strong>filtre</strong>s numériques IIR et FIR,il est possible de réaliser n'importe quel gabarit,même le plus exotique.Extraire l'information<br />
utile de <strong>signaux</strong> de mesure parasités ne pose alors plus aucun problème…<br />
n’importe quel <strong>filtre</strong>, même le plus exotique<br />
(un <strong>filtre</strong> ayant la forme d’un dos de<br />
chameau, par exemple). Il “suffit” d’imaginer<br />
un <strong>filtre</strong> donné dans le domaine<br />
fréquentiel et de chercher sa réponse<br />
impulsionnelle (la réponse à un signal<br />
“impulsion”). Par simple convolution<br />
de cette réponse, on arrive à <strong>filtre</strong>r<br />
numériquement n’importe quel<br />
signal. Voilà (brièvement) pour la<br />
théorie.<br />
Mais la réponse impulsionnelle obtenue<br />
est définie pour un temps infini. Aucun<br />
produit de convolution ne peut être réalisé<br />
numériquement avec un tel signal parce<br />
qu’on aurait un nombre infini de paramètres<br />
pour l’algorithme. On effectue un<br />
fenêtrage pour obtenir un nombre limité<br />
de paramètres. Différents types de fenêtres<br />
peuvent être utilisés:fenêtre rectangulaire,<br />
fenêtre de Hamming, fenêtre de Kaiser.<br />
Précisons que, la période d’échantillonnage<br />
du signal étant connue, on ne<br />
parle plus de la durée de la fenêtre, mais<br />
du nombre de “taps” du <strong>filtre</strong>. Plus un<br />
<strong>filtre</strong> comporte de taps, plus sa fenêtre est<br />
grande et plus le <strong>filtre</strong> se rapproche du<br />
<strong>filtre</strong> idéal. A l’inverse, plus le nombre de<br />
taps est grand, plus le produit de convolution<br />
est long à effectuer.<br />
Même en appliquant un fenêtrage, la<br />
réponse impulsionnelle n’est <strong>pas</strong> causale.<br />
Pour la rendre causale, c’est-à-dire pour<br />
que f (x) = 0 pour x < 0, il faut “déplacer”<br />
<strong>Le</strong>s <strong>filtre</strong>s numériques : FIR ou IIR ?<br />
Avantages<br />
Inconvénients<br />
Filtres Infinite Impulse . Bien moins de calculs que pour un <strong>filtre</strong> FIR . Vérifier la stabilité <strong>des</strong> <strong>filtre</strong>s<br />
Response à performances équivalentes . Phase non linéaire, donc distorsion<br />
de phase<br />
Filtres Finite Impulse . Filtres toujours stables . Beaucoup de calculs par rapport<br />
Response . Phase <strong>des</strong> <strong>signaux</strong> linéaire si à un <strong>filtre</strong> IIR à performances<br />
symétrie <strong>des</strong> coefficients<br />
équivalentes<br />
. Pas de distorsion de phase<br />
. Possibilité de réaliser toutes sortes<br />
de <strong>filtre</strong>s (standards et exotiques)<br />
vers la droite la réponse. Ce qui entraîne un<br />
déphasage dans le domaine fréquentiel et<br />
un retard dans le domaine temporel. Malgré<br />
tout et contrairement aux <strong>filtre</strong>s IIR, les<br />
<strong>filtre</strong>s FIR n’entraînent <strong>pas</strong> de distorsion de<br />
la phase, ce qui se traduit par une nondéformation<br />
<strong>des</strong> <strong>signaux</strong>. De plus, ces <strong>filtre</strong>s<br />
sans contre-réaction sont donc toujours<br />
stables, c’est-à-dire qu’une impulsion de<br />
Kronecker delta appliquée à ces <strong>filtre</strong>s a une<br />
influence de durée limitée. C’est la raison<br />
pour laquelle on appelle ces <strong>filtre</strong>s Finite<br />
Impulse Response. <strong>Le</strong>ur stabilité signifie<br />
qu’il n’y a jamais de saturation au niveau<br />
du signal de sortie.<br />
Des algorithmes pour déterminer<br />
les coefficients<br />
Cependant ces <strong>filtre</strong>s FIR ne sont jamais<br />
utilisés tels quels, car ils ne sont <strong>pas</strong> assez<br />
efficaces. Pour une détermination optimale<br />
<strong>des</strong> coefficients, on fait appel aux<br />
algorithmes Parks-McClellan et Remez.<br />
Cette méthode est basée sur une distribution<br />
uniforme de l’ondulation sur l’ensemble<br />
de la bande <strong>pas</strong>sante et de l’affaiblissement<br />
sur toute la bande de réjection.<br />
<strong>Le</strong>s <strong>filtre</strong>s FIR résultants ou <strong>filtre</strong>s “equiripple”<br />
sont nettement plus performants<br />
que les <strong>filtre</strong>s FIR fenêtrés et leur réponse<br />
en phase est également linéaire. La<br />
méthode recherche itérativement les paramètres<br />
afin qu’avec un ordre minimal, le<br />
gabarit soit respecté au mieux. Par rapport<br />
à un <strong>filtre</strong> FIR fenêtré, l’ordre d’un<br />
<strong>filtre</strong> FIR “equi-ripple” est nettement inférieur<br />
(à gabarit identique). L’ondulation<br />
dans la bande <strong>pas</strong>sante et l’affaiblissement<br />
minimal dans la bande de réjection sont<br />
configurables séparément.<br />
Il existe une autre méthode basée sur un<br />
algorithme <strong>des</strong> moindres carrés. Par rapport<br />
à l’algorithme Parks McClellan, elle<br />
présente une ondulation dans la bande <strong>pas</strong>sante<br />
moindre et un affaiblissement minimal<br />
dans la bande de réjection plus<br />
accentué. La transition bande <strong>pas</strong>sante/bande<br />
de réjection est cependant bien<br />
moins rapide.<br />
Toutes ces métho<strong>des</strong>, tous ces algorithmes<br />
ne doivent <strong>pas</strong> faire oublier l’essentiel. <strong>Le</strong><br />
<strong>filtrage</strong> numérique n’est <strong>pas</strong> la solution à<br />
tous les problèmes. Et, dans l’idéal, rien ne<br />
peut remplacer le <strong>filtrage</strong> analogique…<br />
Cédric Lardière<br />
Cet article a été réalisé en collaboration avec Denis Prêtre,<br />
professeur HES au laboratoire “Signaux et réseaux” de<br />
l’École d’Ingénieurs de Saint-Imier (EISI).<br />
Ecole d’Ingénieurs de Saint-Imier (Suisse)<br />
Tél : +41 (0) 32942 42 56<br />
E-mail : denis.pretre@eisi.hes-be.ch<br />
54<br />
MESURES 749 - NOVEMBRE 2002