ECOLE SUPERIEURE DES SCIENCES INFORMATIQUES JEAN-PAUL STROMBONI ELECTRONIQUE NUMERIQUE 16/04/2017 Page 1 TD 2 : Codage, conversion et traitement Objectif : faire le lien entre électronique numérique et informatique, puisque les calculs dans les ordinateurs sont en définitive effectués par des composants et des fonctions électroniques qui utilisent les propriétés arithmétiques et logiques des nombres binaires. 1. Traitement des signaux en binaire On veut traiter des échantillons numériques de sons multimédia, codés sur 8bit en complément à 2 selon le principe suivant. Soit N un tel code, variant donc entre 128 et 127 , la valeur de l’échantillon est en fait N / 128 . 1. donner les bornes positive et négative des échantillons 2. quels sont les codes prévisibles pour 0.5 , 0.2 , 0.25 et 0.6 ? 3. on note e(n) l’échantillon n mesuré, et s(n) 0.75e(n) l’échantillon après traitement, proposer une manière de calculer s(n) en binaire basée sur la multiplication des deux membres de l’équation précédente par 256 . On vérifiera dans le cas où e(n) 0.4 constant. 4. si on « dérive » maintenant le signal e(n) en faisant s(n) e(n) e(n 1) , quel est le résultat si e(n 0) 0.5 puis si e(n 0) (1) n 0.5 ? 5. Enfin, expliquer en détail comment mettre en oeuvre le filtre passe bas suivant s (n) 0.25s (n 1) 0.75e(n) on dispose d’un multiplicateur d’entiers sur 16 bits. 2. Calcul binaire à précision donnée on dispose d’un additionneur binaire sur 16 bits pour réaliser la soustraction 2 avec une incertitude maximale de 0.001 . Indiquer comment on place le point décimal, et le procédé de la soustraction. Vérifier le résultat obtenu, on prend 3.142 et 2 1.414 , on précise que int( 3.142 * 212 ) 12870 $3246 et int( 1.414 * 212 ) 5792 $16 A0 3. Fonctions de conversion analogique numérique et réciproque Le CAN d’une carte son numérise sur B bit un signal sonore s tension électrique entre 1V et 1V issue d’un microphone, en procédant comme suit : l’intervalle de variation de s est découpé en 2 B intervalles égaux adjacents et le convertisseur leur attribue un code de 0 autour de s 1jusqu’à 2 B 1 pour le dernier intervalle autour de s 1V . 1. prenons B 3 pour simplifier, préciser le nombre d’intervalles de quantification et leur largeur (ou pas de quantification) 2. tracer la caractéristique du convertisseur, en abscisse s et en ordonnée le code associé 3. comment passer au code en complément à deux pour les valeurs négatives 4. le convertisseur dans l’autre sens ou CNA, associe à chaque code binaire i la valeur de s au centre de l’intervalle de quantification i . Dresser la caractéristique d’entrée sortie de la chaîne CAN – CNA. Où apparaît l’erreur de quantification ? Quelle est l’erreur maximale possible ? 5. Donner l’expression d’un signal sinusoïdal d’amplitude unité et de fréquence 1kHz , on représentera ce signal sur une période, et on l’échantillonnera à 8kHz sur B 3bit . Faire apparaître l’erreur de quantification, comment faudrait il choisir B si on impose à cette erreur de rester inférieur au bruit électronique qui est de l’ordre de 1mV ? -1- ECOLE SUPERIEURE DES SCIENCES INFORMATIQUES JEAN-PAUL STROMBONI ELECTRONIQUE NUMERIQUE 16/04/2017 Page 2 4. Coder en ASCII pour transmettre Coder le jour et la date « Jeudi 27 » en ASCII sur 8 bits d’abord sans parité , puis avec une parité paire, et enfin en rajoutant un octet final dit Checksum ou CRC (Cyclic Redondancy Check) calculé en faisant la somme des codes ASCII modulo 256. Pourquoi faire ceci ? 5. Soustraction par addition du complément à deux Pourquoi en définitive peut on calculer a b ( a et b , quantités binaires exprimées sur n bit) en utilisant une addition ? 6. Complexité Soit un affichage de D digits en base B qui permet de représenter des nombres entiers variant de 0 à M . Si on définit la complexité de cet affichage comme D B , montrer que cet indicateur passe par un minimum à M constant pour une valeur à déterminer. Interprétation ? 7. Multiplier par additions et décalages On multiplie deux nombres binaires A a K a K 1 a1a0 et B bL b0 pour obtenir un résultat R rZ r0 , par exemple on fera le produit de A $7F par B $5 pour illustrer. On demande : 1. combien de bits sont nécessaires pour contenir le résultat 2. et de préciser un algorithme calculant A B à partir de décalages (arithmétiques) et d’additions 8. Compresser L’application de la loi mu law à un échantillon sonore numériser permet de compresser la taille nécessaire dans un rapport 2 / 3 , c’est à dire que l’on admet généralement que l’on peut passer ainsi de 12bit à 8bit en utilisant le fait que les « petites » valeurs de signal sont plus fréquentes que les « grandes ». 1. analyser la fonction ulaw2linear en langage C, pour déterminer la composition d’un octet de ce code 2. indiquer la valeur d’échantillon associée à $B7 et à $71 -2-