TP Processeurs de Traitement du Signal



Documents pareils
INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

1. PRESENTATION DU PROJET

Projet audio. Analyse des Signaux ELE2700

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Systèmes de transmission

TD1 Signaux, énergie et puissance, signaux aléatoires

Filtres passe-bas. On utilise les filtres passe-bas pour réduire l amplitude des composantes de fréquences supérieures à la celle de la coupure.

Chaine de transmission

CHAPITRE V. Théorie de l échantillonnage et de la quantification

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

Partie Agir : Défis du XXI ème siècle CHAP 20-ACT EXP Convertisseur Analogique Numérique (CAN)

TP Modulation Démodulation BPSK

SYSTEME DE PALPAGE A TRANSMISSION RADIO ETUDE DU RECEPTEUR (MI16) DOSSIER DE PRESENTATION. Contenu du dossier :

Expérience 3 Formats de signalisation binaire

A. N(p) B + C p. + D p2

Transmission de données. A) Principaux éléments intervenant dans la transmission

SUR MODULE CAMÉRA C38A (OV7620)

Régler les paramètres de mesure en choisissant un intervalle de mesure 10µs et 200 mesures.

Chapitre 18 : Transmettre et stocker de l information

Mode d emploi ALTO MONITOR PROCESSEUR D ÉCOUTE. Version 1.0 Juillet 2003 Français

Chapitre 2 : communications numériques.

Numérisation du signal

- Instrumentation numérique -

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Equipement. électronique

ANALYSE TRAMEs LIAISON SERIE

TS 35 Numériser. Activité introductive - Exercice et démarche expérimentale en fin d activité Notions et contenus du programme de Terminale S

ELP 304 : Électronique Numérique. Cours 1 Introduction

8563A. SPECTRUM ANALYZER 9 khz GHz ANALYSEUR DE SPECTRE

SIGNAUX NUMERIQUES ET MODULATIONS NUMERIQUES

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Instruments de mesure

Mesures de temps de propagation de groupe sur convertisseurs de fréquence sans accès aux OL

Document de formation pour une solution complète d automatisation Totally Integrated Automation (T I A) MODULE A5 Programmation de la CPU 314C-2DP

Oscilloscope actif de précision CONCEPT 4000M

UE 503 L3 MIAGE. Initiation Réseau et Programmation Web La couche physique. A. Belaïd

Débuter avec PsoC ou PsoC niveau 0

Intérêt du découpage en sous-bandes pour l analyse spectrale

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Manipulations du laboratoire

Fiche technique CPU 314SC/DPM (314-6CG13)

QUESTION 1 {2 points}

Enregistrement et transformation du son. S. Natkin Novembre 2001

Le langage C. Séance n 4

Chap17 - CORRECTİON DES EXERCİCES

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

ET 24 : Modèle de comportement d un système Introduction à Labview et initiation à la réalisation d un Instrument Virtuel (VI).

ENREGISTREUR DE TEMPERATURE

CLIP. (Calling Line Identification Presentation) Appareil autonome affichant le numéro appelant

DimNet Gradateurs Numériques Evolués Compulite. CompuDim 2000

IV- Comment fonctionne un ordinateur?

Mesures d antennes en TNT

Conférence sur les microcontroleurs.

MANUEL DU PLUGIN. niveau filter

La structure du mobile GSM

Telecommunication modulation numérique

P1PY7204 Acquisition de données Cours

Université de La Rochelle. Réseaux TD n 6

LÕenregistrement Enregistrement analogique et enregistrement numžrique

Prise en main. Prise en main - 0

ASR1 TD7 : Un microprocesseur RISC 16 bits

ELECTRONIQUE ANALOGIQUE

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

TeamConnect. SL TeamConnect CU1, Unité centrale SL TeamConnect CB1, Combox CARACTÉRISTIQUES

Choix d une carte Acquisition de Données

9 rue Georges Besse BP FONTENAY LE FLEURY FRANCE Tél.:(33) fax:(33)

LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK

Quantification Scalaire et Prédictive

Kit pédagogique RFID-EDUC

xdsl Digital Suscriber Line «Utiliser la totalité de la bande passante du cuivre»

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Exemple d acquisition automatique de mesures sur une maquette de contrôle actif de vibrations

ACTIVITÉ DE PROGRAMMATION

Telecommunication modulation numérique

Traitement de données

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

PIC : COURS ASSEMBLEUR

SCL LOGICIEL DE CONTROL

PIC EVAL Dev Board PIC18F97J60

0 20mV; 0 40mV; 0 80mV; 0 160mV; 0 320mV; 0 640mV; 0 1,28V; 0 2,56V 0 5V; 0 10V

Système de sécurité de périmètre INTREPID

Ed 03/95 PAQ 1530 NON URGENTE (INFO PRODUIT) TEMPORAIRE DEFINITIVE

Chapitre I La fonction transmission

HMI target Visu / PLC HMI. Pour réaliser une interface homme machine avec PLC control

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

TP : Gestion d une image au format PGM

INTERPRÉTATION ET ANOMALIES DE LA PROSPECTION À RÉSONANCE MAGNÉTIQUE (MRS)

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

Contraintes, particularités. 1. Généralités Gestion de la mémoire a. Type des variables et constantes... 2

Transmission d informations sur le réseau électrique

UE Programmation Impérative Licence 2ème Année

Transcription:

TP Processeurs de Traitement du Signal Nous allons étudier dans ce TP l'implantation d'algorithmes de traitement du signal dans le Processeur de Traitement du Signal TMS320C50 de Texas Instruments. Pour le fonctionnement du TP et l'accès à la chaîne de développement, cliquez sur l'icône Traitement du Signal/TMS/TMSC25 C50/ TMSC50 dans le dossier EII. Les fichiers sources nécessaires se trouvent dans Informations ENSSAT /TP ENSSAT/TMS/TP_EII2. Copiez tous ces fichiers (sauf le répertoire enseignants) dans votre répertoire de travail. I. Présentation de l'environnement de développement. Chaque poste est équipé d'un PC sur lequel on pourra éditer, compiler, assembler et exécuter du code pour TMS320C50. Le PC est relié à une carte de développement de Texas Instruments EVM C50 ou Starter Kit C50 suivant les postes, sur laquelle se trouve un DSP C50, une interface avec le monde analogique (Analog Interface Circuit) TLC. Le TLC contient les éléments indispensables à une chaîne de TNS (Filtrage anti-repliement, CAN, Interface avec le DSP, CNA, Filtre de lissage). Il contrôle la fréquence d échantillonnage (Fe) et la fréquence de coupure (Fc) des filtres d entrée et de sortie. IN ±1V OUT Filtre Anti-Aliasing Filtre de Lissage Fc Echantillonage Blocage Fe CAN 14 bits CNA 14 bits DR DX FSR FSX 64K SRAM PROGRAM DATA Compteurs TLC C50 HOST/TARGET INTERFACE 10 MHz PC BUS PC/ISA INTERFACE EMULATION Deux registres TA et TB permettent de fixer les valeurs maximales de deux compteurs. Ceux-ci sont ensuite utilisés pour diviser la fréquence de l horloge externe (F MasterClock =10.368 MHz) afin de régler Fe et Fc selon les besoins. Ces valeurs peuvent être choisies en modifiant les fichiers d initialisation de la carte, développés en assembleur : InitEVM.asm (quand vous développez en C) ou Filtre.asm (quand vous développez en assembleur).

Les outils disponibles après la commande TMS sur le PC sont: dspac, dspcg: un compilateur C (parser, générateur de code assembleur) pour la famille TMS en Virgule Fixe dspa: un assembleur pour la famille TMS Virgule Fixe permettant d obtenir les fichiers objets. dsplnk: un éditeur de lien produit l exécutable (.out) à partir des fichiers objets (programme source, programme de configuration) et du mapping mémoire choisi. EVM5x pour les cartes EVM ou DSK5D pour les cartes Starter Kit: un debbuger/émulateur interactif permettant de télécharger, d'exécuter et d'observer du code sur la carte DSP II. Implantation d'un filtre passe bande RII sélectif On s'intéresse à un filtre sélectif Passe Bande centré sur F0 = 2400 Hz, de bande passante [1600 3200] et de bande atténuée [0 1400] U [3400 8000] dont le gabarit est donné figure 1.1. La sélectivité du filtre vaut 0.8, l'ondulation de la courbe dans la bande passante est de 3 db, l'affaiblissement doit être de 30 db. La fréquence d'échantillonnage est égale à 16 KHz. 1 gain ²2 Fa - Fp- F0 Fp+ Fa+ Fe/2 Figure 1.1 Figure 1.2 Ce filtre est d'ordre 8, une représentation cascadée de 4 filtres d ordre 2 et non cascadée est donnée ci après. H(z) = 0.3344-0.5567.z-1 + 0.3344.z -2 1-1.382.z -1 + 0.877.z -2 * 0.5-0.2428.z-1 + 0.5.z -2 1-0.853.z -1 + 0.8417.z -2 * 0.5 + 0.1186.z-1 + 0.5.z -2 1-0.6234.z -1 + 0.969.z -2 * 0.5-0.9159.z-1 + 0.5.z -2 1-1.5964.z -1 + 0.98.z -2 H(z) = 0.0418-0.1567.z-1 + 0.3265.z -2-0.4849.z -3 + 0.5546.z -4-0.4849.z -5 + 0.3265.z -6-0.1567.z -7 + 0.0418.z -8 1-4.4548.z -1 + 10.8034.z -2-17.0825.z -3 + 19.2862.z -4-15.6429.z -5 + 9.0510.z -6-3.4087.z -7 + 0.7013.z -8 II.1 Forme cascadée du filtre RII en langage C Pour chaque filtre à tester vous disposez de : C_IIR/INITEVM.ASM : Fichier contenant la procédure principale (initialisation, configuration du composant TLC, Lecture/Écriture des échantillons). C_IIR/MAIN.C : Procédure de filtrage et d'initialisation des coefficients du filtre C_IIR/compile : Batch de compilation A partir du code fourni dans le fichier main.c, déterminez le graphe flot du filtre. NB: quand nous utilisons le C, le P register n'est pas mis en mode shift automatique pour l élimination du bit de signe redondant.

Nous considérons que l'entrée du filtre est comprise dans l'intervalle ]-1,1[. Déterminez la dynamique des signaux y i (n) et d i (n) Déterminez le codage des données, des coefficients et les recadrages nécessaires afin que le calcul s effectue sans débordement et avec le maximum de précision Complétez le programme C avec la valeur des coefficients et les différents décalages dans le fichier main.c Vérifiez le gabarit du filtre passe-bande implanté et l absence de débordement en mettant une amplitude élevée pour le signal d entrée Vérifiez l'influence de la fréquence d'échantillonnage sur la fréquence de coupure en changeant TA et TB dans InitEVM.asm pour avoir Fe à 10kHz. II.2 Forme non cascadée du filtre RII en langage C Les fichiers se trouvent dans le répertoire C_IIR_NC. Reprenez la démarche présentée dans la partie II.1 pour déterminer le graphe flot du filtre. la dynamique des signaux et d(n) le codage des données, des coefficients et des différents recadrages. Complétez le programme C avec la valeur des coefficients et les différents décalages dans le fichier main.c Exécutez le filtre et analysez sa stabilité. Concluez par rapport aux résultats vus en cours. II.3 Forme cascadée du filtre RII en langage assembleur. Pour chaque filtre à tester vous disposez de : A_IIR/FILTRE.ASM Fichier contenant la procédure principale (initialisation, configuration du composant TLC, Lecture/Écriture des échantillons). A_IIR/FIL.ASM Procédure de filtrage et d'initialisation des coefficients du filtre A_IIR/compile Batch de compilation Reprenez la démarche présentée dans la partie II.1 pour déterminer

le graphe flot du filtre. NB: ici le registre P est mis en mode shift automatique pour l élimination automatique du bit de signe redondant. la dynamique des signaux le codage des données, des coefficients et des différents recadrages Complétez le programme assembleur avec la valeur des coefficients et les différents décalages dans le fichier fil.asm Vérifiez le gabarit du filtre passe-bande implanté et l absence de débordement. Comparez avec l'assembleur généré précédemment par le C. Observez notamment comment sont cascadés les calculs des filtres d'ordre 2. II.4 Etude comparée des performances du C et de l'assembleur. Sur l'exemple du filtre cascadé, nous allons comparer les performances du programme écrit en C et du programme écrit en assembleur. Mesure de performances : le C50 possède une broche de sortie XF qui peut être mise à 1 ou à 0 par une instruction (respectivement SETC XF et CLRC XF). Insérez une mise à 1 au début du code et une mise à zéro à la fin du code et visualisez sur l'oscilloscope par observation de la broche XF la durée d'exécution du code pour le C et l'assembleur. Analyse des codes : le code C est donc moins rapide que l'assembleur dans des proportions assez importantes. L'observation de certaines parties du code permet d expliquer ce phénomène : - Observez la gestion des boucles en C et en assembleur. - Observez la gestion de la double précision en C et en assembleur. - Observez la gestion des accès aux tables de coefficients et d'échantillons en C et en assembleur. III. Observation des phénomènes classiques dus à l'échantillonnage. Nous allons observer les effets de l'échantillonnage (sous-échantillonnage, repliement) vus de façon théorique en cours, en utilisant un filtre passe-tout, et en jouant sur les fréquences Fe et Fc. Les fichiers se trouvent dans le répertoire ALLPASS. Le fichier filtre.asm écrit en assembleur initialise le convertisseur TLC et réalise un écho du signal d entrée sur la sortie, en passant néanmoins par les filtres du TLC. Compilez linkez le fichier Filtre.asm en utilisant le batch Compile.bat, lancez le debugger, puis chargez et exécutez le code Filtre.out. Utilisez le générateur de fonction pour entrer une sinusoïde sur l'entrée analogique de la carte et visualisez la sortie sur l'oscilloscope. Prenez les valeurs CAS 1 pour TA et TB (Fe=16KHz, Fc in et Fc out =8KHz). Vérifiez que pour tout signal de fréquence inférieure à Fe/2, on a bien un filtre passe tout.

Prenez les valeurs CAS 2 pour TA et TB (Fe=16KHz, Fc in =16KHz, Fc out = 8KHz). Mettez un signal à 10KHz à l'entrée. Quelle est la nature du signal observé en sortie (forme, fréquence )? Pourquoi? Prenez les valeurs CAS 3 pour TA et TB (Fe=16Khz, Fc=16Khz). Mettez un signal sinusoïdal à 10Khz à l'entrée. Quelle est la nature du signal observé en sortie (forme, fréquence )? Pourquoi? IV. Annexe : traitements temps réel wait_it() attente IN CAN CNA Interface série Tx Rx Rx Tx Interface série input() output() entree TNS OUT sortie TA, RA, TB, RB DSP MCLK Description fonctionnelle de la chaîne de traitement extern void input(); extern void output(); extern void init_dsp(); extern void debut(); extern void fin(); /* Variables globales */ int entree,sortie; int attente; /* Programme principal */ main() { init_dsp(); for (;;) { input(); sortie = entree ; output(); } } while(attente==0){}; attente=0;

Tx AIC x(n+1) Rx AIC y(n-1) Rx DSP x(n+1) Tx DSP y(n-1) y(n+1) attente entree x(n+1) sortie y(n-1) y(n+1) Etat DSP Wait_IT() input() output() TNS Attente passive