CONVERSION ANALOGIQUE NUMERIQUE Introduction Les progrès rapides de la micro-électronique et des microprocesseurs ont multiplié les applications de traitement numérique des signaux, et ce dans une multitude de domaines. Un téléphone cellulaire, un satellite météo, un système de freinage anti-blocage (ABS), voilà quelques exemples d’applications faisant un usage intensif de traitement numérique.
température, vibration Monde digital ‘’artificiel’’ 2.0 Chaîne de traitement De façon générale, un système de traitement numérique doit interfacer avec le monde « continu » pour agir sur des signaux qui appartiennent à ce monde (audio, vidéo, signaux produits par des capteurs de toutes sortes, etc.). Les interfaces qui transforment un signal analogique en un signal à temps discret puis en impulsions binaires, et inversement des impulsions binaires en un signal à temps discret puis en un signal analogique sont des convertisseurs. Monde analogique réel Exemple : son, image, température, vibration Monde digital ‘’artificiel’’ Système de traitement numérique CAN Et CNA
Un convertisseur analogique/numérique (convertisseur A/N, ou ADC) convertit un signal continu en une série d’échantillons numériques (à temps et à amplitude discrets) qui seront à leurs tour traduit en binaire. De même, un convertisseur numérique/analogique (convertisseur N/A, ou DAC) convertit des signaux binaires numériques en une série d’échantillons discrets puis en un signal continu. Le système de traitement numérique se situe entre les deux convertisseurs :
Dans cette figure, le signal x(t) est un signal continu qui pourrait être par exemple un signal audio ou un signal de contrôle recueillit par un capteur. Le convertisseur A/N produit, à partir du signal x(t), un signal numérique x[n] qui représentent l’amplitude binaire du signal x(t) à des instants discrets du temps. De façon générale, ces instants sont également espacés les uns des autres, et la durée entre deux de ces échantillons est appelée la période d’échantillonnage T.
Le convertisseur numérique analogique ou Signal échantillonné Codage en binaire n bits Echantillonnage Quantification Signal analogique Un convertisseur analogique numérique ou CAN (ADC en anglais) se compose de trois parties Le convertisseur numérique analogique ou CNA (DAC en anglais L’unité de traitement numérique du signal Signal analogique traité Ainsi, une chaine de traitement numérique du signal se compose : d’un CAN : composé d’un échantillonneur, d’un quantifieur et d’un codeur en binaire, D’une unité de traitement numérique D’un CNA
Exemple d’uneChaîne de traitement 10010110 10011101 01110110 . . . 00111110 1110 0101 . . . Conversion A/N DSP N/A x(t) x[n] y[n] y(t) D 0.5 1.69 -0.81 x[n] y[n] D = retard d’un échantillon
Mathématiquement, la conversion A/N commence par remplacer la variable continue du temps, t, par la variable à temps discret nT, (phase d’échantillonnage) où n est un entier et T est la période d’échantillonnage (1ère phase de la CAN). On a donc
Dans la figure ci-dessus, on montre le signal continu x(t), de même que ses échantillons x[n], représentés par des bâtonnets. Dans cet exemple, la période d’échantillonnage T est 0.1 milliseconde, ce qui correspond à une fréquence d’échantillonnage Fe = 1/T = 10 kHz. En général, les échantillons x[n] sont représentés avec une certaine résolution, (sur un nombre de bits donné). La résolution typique des convertisseurs est 8, 16 et parfois 24 bits par échantillon. Plus la résolution est grande, plus l’amplitude du signal x(t) sera échantillonnée avec précision. Sauf dans de rares exceptions, les fichiers audio avec lesquels nous allons travailler auront une résolution de 16 bits par échantillon, ce qui correspond à 65536 niveaux possibles (incluant le signe) pour chaque échantillon du signal.
3. ECHANTILLONNAGE DES SIGNAUX ANALOGIQUES Te Te) Te 1/Te
Conversion A/N Conversion N/A Filtre anti- repliement Convertisseur 10010110 10011101 01110110 . . . Filtre anti- repliement (analogique) Convertisseur A/N Conversion N/A 00111110 1110 0101 . . . Convertisseur N/A
4. EXEMPLES DE SIGNAUX ECHANTILLONNES (k) u(k) u(k).ak
xe(t) = x(t) . PT(t) = x(t) . (t-kT) = x(kT).(t-kT) Comme nous l’avons indiqué plus haut, l’échantillonnage revient à prélever des échantillons du signal à des instants précis et avec une cadence, dite pas d’échantillonnage, T. Mathématiquement cette opération peut être exprimée par un produit entre le signal analogique et un peigne de Dirac. X Signal analogique x(t) Signal échantillonné xe(t) Peigne de Dirac PT(t) PRINCIPE DE L’ECHANTILLONNAGE THEORIQUE OU IDEAL xe(t) = x(t) . PT(t) = x(t) . (t-kT) = x(kT).(t-kT) k k
Echantillonnage idéalisé modulation (multiplication point-à-point) x(t) y(t) X dT(t) train d’impulsions périodiques espacées de T secondes T
Propriété de la modulation Modulation dans le temps Convolution dans les fréquences x(t) y(t) X(w) * Y(w)
Spectre d’un train d’impulsions Transformée de Fourier Signal temporel (train d’impulsions) Spectre de Fourier (aussi un train d’impulsions) t (ms) f (Hz) T0 = 16 ms F0 = 1/ T0 = 62.5 Hz
Convolution avec une impulsion * = * = Donc par linéarité: * = opérateur de convolution
Conséquence pour l’échantillonnage Spectres Signal analogique d'entrée x(t) A A t (sec) f (Hz) Signal échantillonné x(nT) A A t (sec) f (Hz) 1 T 2 T ...
Mauvais échantillonnage
Exemple d’un signal audible avec son spectre Exemple d’un signal audible avec son spectre. La frequence d’echantillonnage etant de 22kHz. On remarque que le son est intelligible. Il y a pas de repli de spectre. Bon echantillonnage.
Meme chose seulement l’echantillonnage est de 2.2kHz
Meme chose mais la frequence d echantillonnage est de 1.1kHz
Meme chose avec une frequence d echantillonnage egale a 733.33Hz
5. Théorème d’échantillonnage Comme on l’a dit plus haut, on doit limiter la bande de fréquences d’un signal analogique avant de l’échantillonner, sans quoi il ne sera pas possible de reconstruire le signal analogique à partir de ses échantillons. Cette limite s’exprime sous la forme du théorème d’échantillonnage, ou théorème de Nyquist: Si on échantillonne un signal analogique x(t) à la fréquence Fe échantillons par seconde, il sera possible de reconstruire « parfaitement » le signal x(t) à partir de ses échantillons si la plus haute fréquence contenue dans x(t) est Fe/2 Hz. Ceci se représente graphiquement comme suit :
où X(f) est le spectre de Fourier du signal x(t) et Fe est la fréquence d’échantillonnage minimale nécessaire pour échantillonner x(t). A titre d’exemple, la fréquence d’échantillonnage standard dans les systèmes téléphoniques est Fe = 8 kHz, ce qui limite à 4 kHz la plus haute fréquence pouvant être transmise dans ces systèmes.
Avant d’être numérisé, le signal de parole y est limité à la bande 300-3400 Hz. Puisque les filtres analogiques ne sont pas des filtres parfaits, on coupe avant 4 kHz pour garder une marge de sécurité. Les fréquences au-delà de 4 kHz ne sont pas complètement coupées pour autant mais pour éviter les artefacts audibles, il suffit que l’atténuation des filtres passe-bas (avant échantillonnage) soit telle que l’énergie des fréquences au-delà de 4 kHz (Fe/2) soit en-dessous du bruit de quantification dû à la résolution des convertisseurs. Notez simplement que l’atténuation des filtres passe-bas doit être audelà de 50 à 60 dB pour les fréquences au-delà de 4 kHz. Ces filtres passe-bas, utilisés pour limiter la largeur de bande des signaux avant échantillonnage, sont appelés filtres anti-aliasing, ou filtres anti-repliement. L’aliasing, ou repliement spectral, est un phénomène qui change l’identité d’une sinusoïde lorsqu’elle est échantillonnée à une fréquence trop faible.
Théorème d’échantillonnage En résumé le théorème d’échantillonnage s’énnonce comme suit Si un signal continu xc(t) ne contient aucune composante de fréquence supérieure à fmax Hz, alors toute l’information concernant xc(t) est entièrement contenue dans les valeurs xc(nT) pourvu que T < 1/(2fmax ), ou encore fe = 1/T > 2fmax .
Graphiquement Signal analogique d'entrée x(t) Signal échantillonné x(nT) T
6. LE REPLIEMENT DE SPECTRE ? Comme tous les signaux analogiques peuvent être considérés comme une combinaison linéaire de signaux sinusoïdaux avec différentes fréquences, on va essayer d’explique le phénomène de repliement de spectre dans le cas particulier d’une seule sinusoïde.
Un exemple d’une période d’un signal sinusoïdal de fréquence 1000Hz dont on a respecter le théorème d’échantillonnage (fréquence d’échantillonnage = 8000Hz
Qu’observerait-on maintenant en échantillonnant une sinusoïde de 9000 Hz (au lieu de 1000 Hz), toujours à la même fréquence d’échantillonnage de 8000 Hz? La réponse est : les mêmes échantillons que pour la sinusoïde de 1000 Hz ci-dessus. Ceci est montré à la figure suivante, où on voit x1(t) la sinusoïde de 1000 Hz, x2(t) la sinusoïde de 9000 Hz, et les échantillons (les mêmes échantillons) correspondant aux deux signaux :
Puisque ces deux sinusoïdes, pourtant bien distinctes dans le monde analogique, donnent les mêmes échantillons une fois numérisées, on en conclut qu’il est impossible de les distinguer l’une de l’autre à partir de leur échantillons. C’est ce qu’on appelle le phénomène d’aliasing, et c’est ce qui limite la bande de fréquences analogiques pouvant être prises en compte par un système de traitement numérique du signal. Ce phénomène a son équivalent en cinématographie. Supposer qu’on filme, vue du dessus, une pale d’hélicoptère en rotation. La pellicule enregistre un certain nombre d’images par seconde (échantillonnage temporel). Si la cadence est 30 images par seconde, il est impossible de distinguer, en regardant le film, une pale qui fait un demi-tour en 1/30ième de seconde, d’une autre qui fait un tour et demi en 1/30ième de seconde, d’une autre qui fait deux tours et demi en 1/30ième de seconde, etc. On peut représenter ce phénomène de façon plus rigoureuse en posant t = n T où n est un entier et T = 1/Fe est la période d’échantillonnage. Ainsi, la sinusoïde continue
x(t) = sin(2πft) devient, dans le domaine échantillonné, x(nT)= x[n]= sin(2πfnT)= sin(2πfn/Fe)= sin(θ n) où θ = 2 πf/Fe est la fréquence normalisée, en radians/échantillon. La fréquence θ indique le nombre de radians par échantillon qu’effectue une sinusoïde discrète. Cette fréquence normalisée ne peut dépasser π, i.e. ½ cycle par échantillon. Au-delà de cette fréquence, la fréquence apparente diminue à nouveau, jusqu’à atteindre 0 (une DC) lorsque θ = 2 π (i.e. f = Fe). Les figures de la page suivante illustrent ce phénomène. Chacun de ces signaux est une sinusoïde discrète de la forme x[n] = cos(θ n) où la fréquence normalisée θ prend successivement les valeurs π/4, 2π/4, 3π/4, … , 8π/4. On observe que lorsque θ = 4π/4 = π, la sinusoïde discrète (de phase nulle) prend successivement les valeurs +1, -1, +1, -1, … Cette fréquence correspond à ½ cycle par échantillon, puisqu’à toutes les valeurs paires de n, l’argument du cosinus sera un multiple entier de 2π.
Ensuite, lorsque θ dépasse π radians par échantillon, la fréquence apparente, au lieu d’augmenter davantage, se met à diminuer, jusqu’à atteindre 0 à nouveau lorsque θ = 2π. Cette valeur de θ (2π) correspond à f = Fe. Ceci est tout à fait cohérent : si on échantillonne à Fe échantillons par seconde une sinusoïde de Fe Hz, on obtient exactement 1 échantillon par période, i.e. une série d’échantillons qui sont tous identiques – on obtient donc une DC, de fréquence nulle. Au-delà de θ = 2π, le tout se répète de façon cyclique. On en vient donc à la conclusion fondamentale qu’on ne peut représenter une fréquence analogique plus grande que Fe/2 si on échantillonne un signal à Fe échantillons par seconde. C’est l’idée principale du théorème d’échantillonnage.
Ceci donne lieu au phénomène de repliement spectral, qui signifie qu’une fois échantillonnée, une sinusoïde de fréquence trop élevée apparaît comme une sinusoïde de fréquence plus basse. La figure cidessous donne la fréquence apparente en fonction de la fréquence réelle, pour une fréquence d’échantillonnage Fe.
Aliasing Phénomène qui implique qu’une sinusoïde échantillonnée peut apparaître comme une autre sinusoïde de plus basse fréquence si le théorème d’échantillonnage n’est pas respecté. Effet sur l’audio: Distortion de type métallique Effet sur la video: Moirages apparents sur certaines surfaces “HF” (exemple: un veston à lignes très rapprochées)
Aliasing: un exemple Soit le signal x(t) = sin(2 p f t) que l’on échantillonne à la fréquence Fe = 8000 Hz. Si f = 2000 Hz, on a le signal échantillonné x(nT) = sin(2 p f n T) = sin(2 p f n /Fe ) = sin(2 p 2000 n /8000 ) = sin(n p / 2) Donc, x(nT) est une sinusoïde discrète qui fait 1/4 de tour à chaque échantillon (4 échantillons par période).
Aliasing: un exemple (suite) Si f = 4000 Hz, on a le signal échantillonné x(nT) = sin(2 p f n T) = sin(2 p f n /Fe ) = sin(2 p 4000 n /8000 ) = sin(n p) Donc, x(nT) est une sinusoïde discrète qui fait 1/2 tour à chaque échantillon (2 échantillons par période). Peut-on tourner encore plus vite dans le domaine discret?
Aliasing: un exemple (suite) Si f = 6000 Hz, on a le signal échantillonné x(nT) = sin(2 p f n T) = sin(2 p f n /Fe ) = sin(2 p 6000 n /8000 ) = sin(3 n p / 2) = -sin(n p / 2 ) Donc, x(nT) est une sinusoïde discrète qui fait 3/4 de tour à chaque échantillon, ou encore 1/4 tour par échantillon dans le sens contraire…
Illustration de l’aliasing Sinusoïde de 171 Hz Echantillonnée à 1000 Hz Sinusoïde de 1171 Hz Echantillonnée à 1000 Hz
Signal plus complexe Echantillonné à 1000 Hz Signal analogique Signal reconstruit Cas 1: Cas 2:
7. Reconstruction du signal (conversion numérique/analogique) Filtre passe-bas qui ne retient que la première période du spectre la bande de base En pratique,on désire un filtre qui coupe le plus abruptement possible.
8. La quantification des signaux Pour effectuer un traitement numérique, il est nécessaire que les signaux soient représentés par un nombre fini de données binaires: Cette contrainte impose non seulement l'échantillonnage des signaux, mais aussi la quantification des valeurs mesurées après échantillonnage. (Il arrive, en téléphonie par exemple, qu'avant quantification, le signal subisse un prétraitement : on le multiplie par un gain fonction logarithmique de son amplitude, de manière à diminuer la dynamique des données à traiter ou à transmettre.) Les données sont initialement numérisées en ``virgule fixe'', avec en général une représentation du signe en complément à deux. La précision des données au moment de l'échantillonnage est de l'ordre de 2-8 en téléphonie ou en codage d'image à 2-14 , rarement plus du fait des bruits perturbant les mesures.
Fonction de quantification d'un convertisseur à trois bits
On obtient l'ordre de grandeur du bruit de quantification de la manière suivante. La fonction de quantification est une fonction en escalier. Nommons q le pas de quantification. Supposons que l'erreur de quantification soit centrée (ce qui peut s'obtenir en soustrayant une constante q/2 au signal avant échantillonnage. L'amplitude de l'erreur de quantification en fonction de l'amplitude du signal initial est une fonction en dents de scie. Erreur de quantification d'un convertisseur à trois bits, après centrage du signal initial
L'écart-type correspondant est On suppose que l'erreur de quantification est équirépartie dans l'intervalle , sa densité de probabilité p(b) valant 1/q. La variance de l'erreur de quantification est L'écart-type correspondant est Dès que cela est possible, on effectue les traitements numériques en ``flottant'' pour éviter les problèmes de débordement. La précision relative des résultats de calculs est donnée par la taille de la mantisse. Par exemple, si la mémorisation se fait sur 64 bits, la mantisse (signe compris) pourra être codée sur 48 bits ce qui correspond à une précision de 2-48 , soit de l'ordre de 10-18 . Notons aussi que l'addition ou la soustraction de deux nombres d'amplitudes très différentes donne un résultat imprécis. Il est toujours utile d'avoir une idée de l'ordre de grandeur des données qu'on traite dans un programme ainsi que de la précision qu'on envisage sur les résultats.