Échantillonnage des signaux périodiques
Transcription
Échantillonnage des signaux périodiques
TP MP Licence Creative Commons 1 Échantillonnage des signaux périodiques 1. Introduction Un signal analogique u(t) est une grandeur physique, par exemple une tension électrique, qui varie au cours du temps. Lors de la numérisation d'un signal, on eectue un échantillonnage, consistant à prélever des valeurs à intervalle de temps régulier. L'intervalle de temps entre deux échantillons est la période d'échantillonnage Te . Les échantillons obtenus forment une suite de nombres uk = u(kTe ), qui constitue un signal numérique. Un signal numérique ore trois avantages comparé au signal analogique : . Il peut être traité, c'est-à-dire transformé, par un calculateur, qui eectue des opérations sur la suite de nombres. On parle de traitement numérique du signal. . Le stockage sous forme numérique (par exemple le son sur un CD audio) est plus able que le stockage analogique. D'autre part, un signal numérique peut être stocké dans un chier informatique. . La transmission (par exemple par onde radio) est plus able sous forme numérique. La numérisation des signaux, et donc l'échantillonnage, intervient dans de très nombreux appareils. On peut citer : . Oscilloscope numérique. . Carte d'acquisition pour ordinateur. . Enregistrement et transmission du son, de l'image (téléphonie, télévision, etc). . Capteurs pour l'aviation, l'automobile, l'industrie, la robotique, etc. L'objectif des ces travaux pratiques est d'apprendre à utiliser un oscilloscope numérique et une carte d'acquisition. Ces deux appareils nous permettront d'eectuer une étude approfondie de l'échantillonnage des signaux périodiques, et d'aborder le domaine du traitement numérique du signal. On abordera aussi la condition de Nyquist-Shannon et la synthèse harmonique des signaux périodiques. 2. 2.a. Oscilloscope numérique Principe de fonctionnement On utilise le modèle Agilent DSO-1002 à deux voies dont le panneau est reproduit ci-dessous. Le modèle DSO-1004 fonctionne de manière identique, mais il comporte 4 voies. TP MP Licence Creative Commons 2 L'oscilloscope numérique est principalement constitué d'un amplicateur analogique, d'un convertisseur analogique-numérique (CAN), d'une mémoire RAM, et d'un microprocesseur. L'amplicateur sert à augmenter ou à réduire l'amplitude du signal analogique, an de l'adapter à l'amplitude de fonctionnement du CAN. Chaque voie comporte son propre amplicateur. Le gain de l'amplicateur se modie avec le bouton de réglage de l'échelle verticale (bouton G1 pour la voie 1, G2 pour la voie 2). On peut aussi décaler le signal, c'est-à-dire ajouter une tension constante, avec le bouton situé juste au dessus de la borne d'entrée (D1 et D2). Le convertisseur analogique-numérique eectue les conversions à la fréquence d'échantillonnage. Il est précédé d'un circuit appelé échantillonneur-bloqueur, qui se charge de maintenir constante la tension pendant le temps de conversion. Le résultat est une suite de nombres stockée dans la mémoire RAM (dans une le), l'intervalle de temps entre deux nombres étant la période d'échantillonnage. Ces nombres sont des entiers codés sur 8 bits, c'est-à-dire compris entre 0 et 255. Si on note [V1 , V2 ] la plage de tension obtenue par le réglage vertical, la valeur 0 correspond à V1 , la valeur 255 correspond à V2 . La résolution en tension est donc (V2 − V1 )/256. Le microprocesseur se charge de traiter en temps réel le signal numérique enregistré en mémoire, et d'eectuer le tracé de la courbe. Les nombres entiers du signal numérique sont convertis en valeurs de tension, en utilisant l'échelle [V1 , V2 ] du réglage vertical. 2.b. Acquisition Pour tracer la courbe, le processeur eectue une acquisition du signal numérique (en lisant les données en mémoire) pendant une durée T = N Te , comportant N échantillons. Le nombre d'échantillons est xe, et la période d'échantillonnage se règle avec le bouton VB de vitesse de balayage, qui ajuste l'échelle horizontale en s/div. L'acquisition est répétée périodiquement pour qu'une modication du signal (fréquence ou amplitude) soit visible en temps réel sur l'écran. Pour obtenir une représenta- TP MP Licence Creative Commons 3 tion du signal stable, il faut que le déclenchement de l'acquisition soit synchronisé avec le signal. La gure suivante permet de comprendre cela, dans le cas d'une sinusoïde. u D1 T D2 us t Considérons un déclenchement D1. La durée T de l'acquisition est un multiple de la période d'échantillonnage ; elle n'est donc pas en général multiple de la période du signal. On voit que le déclenchement de l'acquisition suivante ne peut se faire juste après la n de cette durée. L'instant correct pour le déclenchement suivant est D2. La phase du signal en D2 est la même qu'en D1. Pour obtenir cela, on eectue un déclenchement par seuil. La tension seuil étant us , le déclenchement a lieu (une fois l'acquisition terminée) lorsque le signal franchit le seuil par valeur croissante. Le signal utilisé est appelé la source du déclenchement : ce peut être le signal de la voie 1, de la voie 2 ou un signal externe (entrée déclenchement externe). TP MP Licence Creative Commons 4 Utiliser le générateur de signaux basses fréquences (GBF) pour générer un signal sinusoïdal d'environ 1 kHz, à observer avec la voie 1 de l'oscilloscope. Activer la voie 1 en appuyant sur la touche 1. Sélectionner dans le menu le couplage DC et vérier que le réglage "Sonde" est sur 1x, qui signie que l'on n'utilise pas de sonde. Ajuster l'échelle verticale et l'échelle horizontale pour les adapter à l'amplitude et à la fréquence du signal. Entrer dans le menu du déclenchement. Choisir le mode Front (déclenchement par front), choisir la source du déclenchement, la pente (front montant ou descendant) et le mode Normal. Observer l'eet d'un changement du seuil (bouton SD). Où se trouve le point de déclenchement sur l'écran ? Ce point peut être déplacé avec le bouton DH (décalage horizontal). Que se passe-t-il lorsque le seuil ne se trouve pas dans la plage de tension du signal ? Essayer avec le mode de déclenchement Auto. 2.c. Couplage d'entrée Il y a deux modes de couplage pour l'entrée : le mode DC et le mode AC. En mode DC, le signal d'entrée est traité directement. En mode AC, il subit un ltrage passe-haut en entrée. Il s'agit d'un simple ltre RC, dont la fréquence de coupure est d'environ 10 Hz. Il sert à éliminer une éventuelle composante continue (la partie constante) du signal. Proposer un schéma pour le ltre RC. Sachant que la résistance est de 1 M Ω, calculer la capacité du condensateur. Pour voir l'eet du couplage AC, modier le réglage du GBF an d'ajouter un décalage (Oset) au signal sinusoïdal et réduire l'amplitude de la sinusoïde à quelques dizaines de millivolts. Comparer le mode AC et le mode DC. Quel est l'intérêt du mode AC dans ce cas ? 2.d. Fréquence d'échantillonnage Pour connaître la fréquence d'échantillonnage, appuyer sur la touche Menu/Zoom dans la zone de réglage horizontal. Celle-ci apparaît en bas du menu. Observer l'inuence de la vitesse de balayage (bouton VB) sur la fréquence d'échantillonnage. Calculer le nombre de points visibles sur l'écran. Calculer aussi le nombre de points par période. Changer la vitesse de balayage et calculer à nouveau le nombre de points. Conclure. La fréquence d'échantillonnage maximale est de 2 GHz alors que la bande passante est de 60 M Hz (ces valeurs sont écrites au dessus à droite de l'écran). La bande passante est la fréquence à laquelle le signal subit une atténuation de −3 décibel, à cause de la partie analogique du traitement, principalement l'amplicateur. Au delà de cette fréquence, l'atténuation est de plus en plus forte. TP MP Licence Creative Commons 5 Calculer le nombre de points par période pour un signal de 60 M Hz échantillonné à 2 GHz . On voit qu'un signal à 60 M Hz , qui est déjà une fréquence très élevée, peut être échantillonné avec un grand nombre de points par période. Une telle situation est appelée sur-échantillonnage. 3. Carte d'acquisition 3.a. Fonctionnement et caractéristiques On utilise la carte d'acquisition SYSAM-SP5, reliée à l'ordinateur par USB. Elle comporte 4 canaux, chacun étant pourvu d'un amplicateur et d'un convertisseur analogique-numérique (CAN). Les amplicateurs ont 4 gains programmables, qui donnent les calibres suivants : ±10 V , ±5 V , ±1 V et ±0.2 V . Les CAN ont une résolution de 12 bits, et fournissent donc des entiers compris entre 0 et 4095. Dans le cas du calibre ±10 V , la résolution est donc 20/4096 = 4.9 mV . Pour le calibre le plus petit ±0.2 V , la résolution est 0.4/4096 = 10 µV . La fréquence d'échantillonnage maximale des CAN est de 10 M Hz . Pour bénécier de cette fréquence, il faut néanmoins n'utiliser qu'une entrée par canal. En utilisera donc les entrées de préférence dans l'ordre EA0, EA1, EA2, EA3. La carte possède une mémoire RAM pouvant stocker 262142 points. Elle est remplie en temps réel pendant l'acquisition. Le signal numérique contenu dans cette mémoire est ensuite transféré à l'ordinateur via la liaison série USB. Il est important de savoir que l'ordinateur ne peut traiter ces données en temps réel. Comparer les caractéristiques des CAN de cette carte à celui de l'oscilloscope. Dans quel cas est-il préférable d'utiliser la carte ? TP MP Licence Creative Commons 6 L'autre avantage de la carte est de fournir directement des données numériques, qui peuvent être facilement traitées, par exemple avec le langage python. 3.b. Utilisation de python Nous allons eectuer l'acquisition en python, ce qui nous permettra d'eectuer plus tard des traitements du signal complexes. Pour le cela, on utilise le module pycan, que l'on importe de la manière suivante : import pycanum.main as pycan On doit commencer par établir une liaison avec la carte d'acquisition, en déclarant un objet de la classe Sysam : can = pycan.Sysam("SP5") On doit ensuite congurer les entrées que l'on veut utiliser, en précisant la valeur de la tension maximale que l'on va appliquer sur chaque voie (celle-ci ne peut dépasser 10 V ). Par exemple, pour congurer l'entrée EA0 avec un maximum de 10 V , on exécute : can.config_entrees([0],[10.0]) La fonction congure le CAN avec le plus grand calibre pour le maximum spécié. Dans le cas présent, ce sera le calibre ±10 V . Il faut choisir la période d'échantillonnage et le nombre de points à acquérir. On peut par exemple xer d'abord la fréquence d'échantillonnage et la durée T de l'acquisition, puis calculer le nombre de points : fe=5000.0 T=2.0 te=1.0/fe N = int(T/te) print(N) Il faut vérier que la période d'échantillonnage ne soit pas inférieure à 0.1 µs et que le nombre de points n'excède pas 262142, le maximum possible lorsqu'on utilise une voie (deux fois moins pour deux voies, etc). La conguration de l'échantillonnage se fait alors : can.config_echantillon(te*10**6,N) On remarque que la période d'échantillonnage doit être donnée en microsecondes. On doit enn déclencher l'acquisition. Il est possible d'eectuer un déclenchement par seuil, comme avec l'oscilloscope. On se contente pour l'instant d'un déclenchement logiciel : can.acquerir() Pour récupérer les instants et les tensions sous forme de tableaux numpy, on exécute : TP MP Licence Creative Commons 7 t0=can.temps()[0] u0=can.entrees()[0] Les valeurs de tensions obtenues sont exprimées en volts. Les nombres entiers fournis par le CAN ont donc été convertis en nombres à virgule ottante. Pour nir, il est bon de fermer la liaison avec la carte : can.fermer() Une bonne habitude à prendre est de sauvegarder les données obtenues dans un chier, de la manière suivante : numpy.savetxt('nom_fichier',[t0,u0]) Pour les relire, il sura d'exécuter [t0,u0]=numpy.loadtxt('nom_fichier') 3.c. Exemple d'acquisition On eectue l'acquisition d'un signal sinusoïdal, que l'on contrôlera en parallèle avec l'oscilloscope. On xe la fréquence du signal à environ 1000 Hz et on fait varier la fréquence d'échantillonnage. On commence par une fréquence telle que le nombre de points par période soit supérieur à 10. Eectuer l'acquisition d'une dizaine de périodes et tracer la tension en fonction du temps, en utilisant la fonction matplotlib.pylab.plot. Pour cela, écrire toutes les instructions dans un script et l'exécuter entièrement. Eectuer plusieurs fois l'acquisition et le tracé pour vérier que le déclenchement n'est évidemment pas synchrone avec le signal. Si on souhaite un déclenchement par seuil, avec pour source la voie EA0, on doit ajouter l'instruction suivante : voie = 0 seuil = 0.0 can.config_trigger(voie,seuil) 3.d. Condition de Nyquist-Shannon Cette condition xe la fréquence d'échantillonnage minimale pour une sinusoïde : elle est égale au double de la fréquence de la sinusoïde. Lorsque cette condition n'est pas vériée, il y a sous-échantillonnage. Lorsque la condition est très largement vériée, il y a sur-échantillonnage. Si la condition est remplie, il est théoriquement possible de reconstituer complètement la sinusoïde à partir des échantillons, une opération appelée reconstruction du signal. Dans cette partie, on xe la fréquence de la sinusoïde à environ 1000 Hz et on fait varier la fréquence d'échantillonnage. TP MP Licence Creative Commons 8 Faire une acquisition en sur-échantillonnant et tracer la tension en fonction du temps sous forme de points (non reliés). Faire une acquisition avec une fréquence d'échantillonnage vériant la condition de Nyquist-Shannon, mais seulement légèrement au dessus de la fréquence minimale (quelques dizaines d'Hertz). Tracer les points. Peut-on dans ce cas reconstituer la sinusoïde en reliant les points par des segments ? Faire une acquisition ne respectant par la condition de Nyquist-Shannon. Commenter le résultat. Comme on le voit sur l'exemple précédent, le respect de la condition de NyquistShannon ne garantit pas une reconstruction facile du signal. Pour cela, il faut réaliser un sur-échantillonnage. C'est ce que fait l'oscilloscope, avec sa fréquence d'échantillonnage de 2 GHz . Lorsqu'il y a sur-échantillonnage, la reconstruction se fait en reliant les points par des segments rectilignes. Lorsque le nombre d'échantillons par période est supérieur à 2 mais pas très grand, la reconstruction est théoriquement possible mais dicile à réaliser, car elle recquiert un traitement numérique beaucoup plus lourd. 3.e. Acquisition d'un signal périodique Un signal périodique non sinusoïdal peut être obtenu par synthèse harmonique. Cette méthode consiste à ajouter des sinusoïdes de diérentes fréquences. Soit T la période du signal à synthétiser. La fréquence fondamentale est f = 1/T . On eectue la somme d'une sinusoïde de fréquence f et de sinusoïdes de fréquences multiples de f . Par exemple : u(t) =A1 cos(2πf t) +A2 cos(4πf t + φ2 ) +A3 cos(6πf t + φ3 ) Le premier terme est le fondamental. Les deux suivants sont respectivement les harmoniques de rang 2 et 3. On peut bien sûr ajouter des harmoniques de rang plus élevé. Chacune a sa propre amplitude, éventuellement nulle, et son propre déphasage. Pour eectuer une synthèse harmonique, nous allons utiliser Pure Data, un logiciel de synthèse et de traitement du son. Le signal sera récupéré par la sortie son de l'ordinateur. Télécharger le chier syntheseHarmonique.pd et l'ouvrir avec Pure Data (PdExtended). Brancher la sortie son de l'ordinateur sur la voie 1 de l'oscilloscope, avec le câble fourni à cet eet. Cliquer sur DSP (en haut à droite) pour déclencher la synthèse. Ajuster la fréquence et les amplitudes du fondamental et des harmoniques. Observer la forme du signal sur l'oscilloscope. Faire varier les amplitudes des harmoniques et leur phase. Pour choisir la fréquence d'échantillonnage, il faut considérer la version complète de la condition de Nyquist-Shannon appliquée aux signaux périodiques : la fréquence d'échantillonnage doit être strictement supérieure au double de la plus grande fréquence contenue dans le signal. Dans l'exemple ci-dessus, la plus grande fréquence est celle de l'harmonique de rang 3, c'est-à-dire 3f . La condition s'écrit donc fe > 6f . TP MP Licence Creative Commons Noter la valeur de f choisie. En déduire la fréquence d'échantillonnage minimale. Faire une acquisition avec la carte Sysam-SP5 en respectant le critère largement (sur-échantillonnage). Comparer la courbe obtenue à celle de l'oscilloscope. Faire une acquisition pour laquelle la dernière harmonique (celle de plus grande fréquence) est sous-échantillonnée. 9