DesignSpark Electrical Logolinkedin
Ask a Question

Traitement numérique du signal partie 3 : CNA et reconstruction

Dans l'article précédent de cette série, Traitement numérique du signal : échantillonnage et crénelage, nous avons vu le processus de conversion d'un signal analogique continu en une série d'échantillons numériques. Cette fois, nous allons examiner le processus inverse.

Un filtre numérique dans une caméra permet à l'utilisateur de définir différentes valeurs de compensation de l'exposition pour chacune des trois bandes horizontales sur l'image. Crédit image : Sony

Pour rappel, le convertisseur analogique-numérique (ADC) a échantillonné le signal d'entrée à une fréquence plus de deux fois supérieure à la composante de fréquence maximale présente dans ce signal. Ces échantillons, convertis en chiffres numériques, sont traités par un ordinateur qui exécute un algorithme qui réalise une certaine fonction comme un filtre passe-bas. La série d'échantillons de sortie de cet algorithme doit maintenant être reconvertie en une forme d'onde analogique.

Convertisseur numérique-analogique (CNA)

 

Les CNA de base sont beaucoup plus simples que des CAN. En fait, vous pouvez fabriquer vos propres CNA avec simplement une poignée de résistances et un ampli-op ! Étrangement, alors que la plupart des microcontrôleurs sont chargés de canaux CAN, très peu sont dotés de la capacité de conversion numérique-analogique. Bien que vous puissiez fabriquer votre propre CNA comme que je viens de l'expliquer, une bien meilleure idée est d'utiliser une puce CNA prête à l'emploi. Les CNA à usage général ne sont pas très chers, et à moins que vous ne recherchiez des vitesses très élevées (fréquence d'échantillonnage) et une haute résolution (nombre de bits), alors la monotonicité (la sortie augmente toujours avec chaque entrée numérique croissante) et la linéarité (des entrées numériques incrémentielles fournissent des tensions de sortie égales) peuvent être assumées.

Critères de sélection d'un CNA

La résolution et la plage dynamique du signal de sortie sont basées sur le nombre de bits numériques tout comme un

CNA

. Dans la plupart des cas, la résolution du CNA sera la même que celle de le CAN utilisé. En effet, il n'y a aucun intérêt à ce que le CNA ait une résolution plus élevée.

La fréquence d'échantillonnage doit également correspondre à celle de le CAN, mais très souvent, on trouve que la fiche technique présente la capacité de vitesse du CNA en exprimant son temps de stabilisation. Il s'agit du temps qu'il faut pour que la sortie analogique descende en dessous de ½ LSB de sa valeur finale lorsque l'entrée est comprise entre les valeurs minimale et maximale en une seule étape. Si on utilise un CNA 8 bits, par exemple, c'est le temps que prend la sortie pleine échelle pour se stabiliser une fois que l'entrée numérique est passée de 00 à FFh (pire des cas). Ce temps de stabilisation existe parce que :

  • Les entrées numériques ne changent pas simultanément, donc pendant un bref intervalle, le CNA "voit" toute une variété de codes d'entrée.
  • L'amplificateur de sortie a une vitesse de balayage finie et il faut du temps, après la stabilisation de l'entrée, pour que la sortie s'ajuste à la valeur correcte.
  • Une capacité vagabonde peut provoquer le dépassement et le "bourdonnement" de la sortie.

Au cours du temps de stabilisation, un "signal transitoire" ou un "bourdonnement" s'affiche à chaque étape de tension de la sortie non filtrée. Ce n'est habituellement pas un problème tant qu'il ne dure qu'environ 10 % ou moins de la période d'échantillonnage. Le filtre passe-bas de reconstruction devrait le supprimer.

Le CNA parfait

Vous vous souvenez de "le CAN parfait" de la dernière fois ? En théorie, il avait un intervalle d'échantillonnage de 0 et à ce titre pouvait avoir une fréquence d'échantillonnage infinie et n'avait pas besoin d'un filtre anticrénelage. Malheureusement, des composants pratiques ont un temps de conversion défini ce qui signifie que les fréquences d'échantillonnage sont définies et la largeur de bande de signal qui peut être échantillonnée est limitée. La Fig.1a et la Fig.1b illustrent la sortie idéale d'un CNA pour le domaine temporel et fréquentiel respectivement. Le signal numérique est une onde sinusoïdale unique. Notez que la sortie contient les mêmes composantes de fréquence que l'entrée échantillonnée d'origine. Le problème est qu'aucun CNA réel ne peut fournir des impulsions de largeur nulle, et des impulsions de largeur finie déforment le signal.

CNA réels et distorsion sinx/x

La Fig.1c et la Fig.1d montrent la sortie réelle d'un CNA typique et la distorsion de fréquence qui en résulte. Vous pouvez voir qu'un échantillon de sortie est constant pour l'ensemble de l'intervalle d'échantillonnage T. Il s'agit de la réalisation matérielle la plus simple : un CNA en entrée parallèle connecté à des broches GPIO verrouillées sur un microcontrôleur/DSP. La forme d'onde bleue a l'air très "ramassée" mais elle peut être nettoyée assez facilement avec un filtre passe-bas analogique ou de "reconstruction" parce que la fréquence d'échantillonnage est égale à douze fois la fréquence du signal. Les composantes de fréquence présentes dans le signal non filtré sont montrées dans la Fig.1d. Comme les échantillons de sortie sont de la même largeur que la période d'échantillonnage T, les composantes de fréquence sont atténuées par un sinx/x (prononcé "sinus x sur x"), avec la fréquence d'échantillonnage et ses harmoniques qui disparaissent complètement. La fréquence d'échantillonnage élevée signifie que la seule composante de fréquence que nous voulons dans la sortie finale (fS/12), l'onde sinusoïdale d'origine, est à peine touchée. Tout le reste serait supprimé par un filtre de reconstruction de toute façon.

Par souci d'exhaustivité, nous allons examiner le même graphique pour un signal sinusoïdal de fréquence fS/3, tout juste inférieur à la limite de Nyquist fS/2 (Fig.2). La sortie CNA a l'air encore plus "ramassée" mais le signal d'origine peut encore être récupéré car aucun crénelage ne s'est produit. Dans la Fig.2d vous pouvez voir que l'enveloppe sinx/x imposée a atténué notre composante de fréquence voulue fS/3 plus qu'avant et la fréquence non voulue 2fS/3 suivante est beaucoup plus proche et plus grande. Imaginez maintenant que fS/3 est simplement la plus élevée des composantes dans une bande de base de fréquences. Voyez comment la distorsion sinx/x introduit une coupure courbée significative sur la bande de base.

Reconstruction

Les filtres anticrénelages et de reconstruction sont des filtres passe-bas et effectuent des tâches similaires de suppression de composantes de haute fréquence non voulues. La bande anticrénelage limite le signal de bande de base prêt pour l'échantillonnage, la reconstruction supprime les fréquences indésirables résultant du processus d'échantillonnage en lui-même (Fig.3). Pas surprenant donc que les considérations de conception soient les mêmes pour les deux : une faible fréquence d'échantillonnage implique un filtre de coupure plus complexe et plus rapide. Une fréquence d'échantillonnage élevée permet d'utiliser une conception de coupure plus lente et plus simple.

Digital Signal Processing

Ainsi, nous avons désormais les moyens de convertir un signal analogique en une série de nombres qui peuvent être reconvertis en précisément la même forme d'onde par la suite. Ce n'est pas aussi inutile qu'il y paraît, car cela pourrait constituer la base d'un système de communication pour l'envoi de données analogiques sur un réseau numérique. La communication n'est pas le but ici : nous voulons traiter le signal dans sa forme numérisée. À peu près tout est possible, du filtrage simple à l'analyse spectrale en passant par l'extraction de caractéristiques depuis des images vidéo, le tout en temps réel. Je vais commencer par présenter les algorithmes de traitement de base dans la prochaine partie de cette série, mais avant de vous enthousiasmer à propos de toutes les possibilités, considérez ceci : pour un fonctionnement en temps réel, un cycle de processus doit prendre moins de temps qu'une période d'échantillonnage. Cela signifie qu'il faut faire un autre compromis, entre l'intérêt que représente une fréquence d'échantillonnage élevée et la complexité de l'algorithme du processus.

 

Engineer, PhD, lecturer, freelance technical writer, blogger & tweeter interested in robots, AI, planetary explorers and all things electronic. STEM ambassador. Designed, built and programmed my first microcomputer in 1976. Still learning, still building, still coding today.

10 Dec 2019, 10:03

Commentaires