Rapport DSP

11
ECOLE NATIONALE DES SCIENCES APPLIQUEED DE KHOURIBGA 3émé Année cycle ingénieur RAPPORT DU TP Année 2013-2014 Réalisé par : Sliman ENNAIRY; ATIFI Rajae; AGOUTI Issam; MANAR Rabia Encadré par : Pr. I.LAGRET

Transcript of Rapport DSP

ECOLE NATIONALE DES SCIENCES APPLIQUEED DE KHOURIBGA

3émé Année cycle ingénieur

RAPPORT DU TP Année 2013-2014

Réalisé par : Sliman ENNAIRY; ATIFI Rajae; AGOUTI Issam; MANAR Rabia

Encadré par :

Pr. I.LAGRET

1 Introduction

1.1 Generalites

L’ensemble C6713 DSK (Development System Kit) est un outil de developpement qui permet a des uti-

lisateurs de mettre au point et de tester des applications utilisant le processeur de traitement de signal Texas

Instruments (TI) TMS320C6713. Autour de ce DSP sont connectes une grande variete de peripheriques per-

mettant une large gamme d’applications en traitement numerique du signal. Ainsi, la configuration realisee est

une reference qui, dans beaucoup de cas standards, peut eviter le temps de developpement du ≪ hardware ≫.

1.2 La carte DSK 6713

FIGURE 1 – La carte DSK 6713

TMS320C6713 : DSP de la gamme TI travaillant a 225 MHz. Il est connecte a ses peripheriques par un bus

de 32 bits.

CODEC AIC23 : dedie a l’interfacage pour les applications ≪ audio ≫. Il comprend les convertisseurs CAN

pour la capture de signaux (LINE IN, MIC IN) et les convertisseurs CNA pour l’exportation de signaux

(LINE OUT, HP OUT).

Une CPLD : composant de logique programmable qui contient entre autre la logique de connexion des divers

composants entre eux. Elle contient aussi des registres accessibles a l’utilisateur permettant de configurer

la carte ou d’acceder a la configuration en place.

Une SDRAM synchrone de 8 Mega-octets.

Une memoire Flash de 512 Kilo-octets.

4 LEDs et 4 interrupteurs (DIP) : accessibles par les registres de la CPLD et permettant un dialogue simple

entre la carte et l’utilisateur.

Des options d’initialisation configurables (SW3).

Une possibilite d’extension standard vers une autre carte (Peripheral Expand).

Une emulation JTAG : autorisant le dialogue avec un hote exterieur via une connexion USB.

Une seule alimentation est requise en +5V.

1

1.3 Le logiciel : Code composer studio (CCs)

Fourni avec le kit de developpement, le CCS contient tous les outils logiciels necessaires pour la realisation

d’applications avec la carte precedente. Le coeur de ce systeme est un IDE (Integrated Development Environ-

ment) qui permet de travailler sur l’ordinateur hote a partir d’une seule fenetre d’application. Les utilitaires sont

ainsi accessibles par menus deroulants et boıtes de dialogue. Cela comprend :

• La configuration de CCS.

• L’edition de programmes d’application en C ou C++.

• La generation de code (compilation, edition des liens, assembleur).

• La visualisation et (ou) modification du code assembleur. Ceci permet une optimisation du code.

• Chargement de l’application dans la memoire de la carte cible.

• Une aide au developpement autour d’un noyau temps reel.

CCS est un environnement IDE qui incorpore les outils logiciel necessaires au developpement. Il inclut les

outils pour la generation du code tel qu’un compilateur C, un assembleur et un linker. Il support le ≪ debugging

≫ temps reel. Le processus (simplifie) permettant d’aboutir a un fichier executable a partir d’un programme

ecrit en langage C, est le suivant :

FIGURE 2 – Les etapes de generation d’un code sous CCS

1.4 Types de fichiers et Extensions

On vas travailler avec plusieurs fichiers avec des extensions differentes :

Fichier.pjt : pour creer et construire un projet nommes Fichier

Fichier.c : programme source en langage C.

Fichier.asm : programme source assemble cree par l’utilisateur, par le compilateur C ou par l’optimiseur

lineaire (linear optimizer).

Fichier.sa : programme source de l’assembleur lineaire. L’optimiseur lineaire peut produire a partir de ce

fichier un programme assemble Fichier.asm.

2

Fichier.h : fichier de support (d’entete).

Fichier.lib : fichier bibliotheque.

Fichier.cmd : fichier de commande du Linker (mappage des sections vers la memoire).

Fichier.obj : fichier objet cree par l’assembleur.

Fichier.out : fichier executable cree par le linker devant etre charge et execute par le processeur C6713.

Fichier.cdb : fichier de configuration quand le DSP/BIOS est utilise.

1.5 Connexion de la carte DSK

Pour connecter la carte DSK au PC on suit les etapes suivantes :

1. On Connecte le cable USB au PC (une extremite du cable seulement) ;

2. On Branche, s’il y a lieu, les connexions audio (microphone, haut parleur,. . . ). La tension a l’entree audio

ne doit en aucune maniere depasser 2 Volts crete a crete (2Vpp) ;

3. On Connecte l’adaptateur a la prise murale ;

4. On Connecte l’adaptateur a la carte DSK, et attendez le cycle des diodes 10-15 secondes. En fin de cycle

deux diodes restent allumees ;

5. On Connecte l’extremite restante du cable USB a la carte DSK ;

6. On Laisse Windows trouver les drivers USB (automatique dans XP.

1.6 Test de la connexion

Pour tester la connexion de la carte on suit les etapes suivantes :

1. Double cliquez sur l’icone 6713 Diagnostic ;

2. Appuyez sur ≪ Start ≫ et attendez les feus verts ;

3. Appuyez sur ≪ Stop ≫ et quittez (fermez la fenetre).

2 Filtres a Reponse Impulsionnelle Finie – FIR –

2.1 Implementation d’un filtre FIR coupe bande

Les echantillons a la sortie ≪ y(k) ≫ d’un filtre FIR se calculs en fonction de l’entree ≪ x(k) ≫ par la

formule suivante :

y(n) =k=0∑

N−1

h(k)x(n− k)

Les coefficients h(k) determinent la nature et le type du filtre.

Notre objectif est d’implementer un filtre FIR coupe bande, avec la frequence ‘coupee’ fixee a 2700Hz. Le

schema suivant resume l’objectif de notre TP.

3

FIGURE 3 –

Le listing ci-dessous est un programme matlab qui permet de :

• Lire le fichier audio voixenfant.wav

• Generer un son (bruit) de frequence fixe 2700Hz

• Melanger les deux sons

• Faire l’analyse spectrale du fichier audiovoixenfant.wav , avant et apres l’ajout du bruit ;

FIGURE 5 –

4

FIGURE 4 –

2.2 Conception d’un filtre FIR avec Matlab – determination des coefficients h(n) du filtre

La conception de notre filtre coupe-bande doit commencer par la determination des coefficients h(k). Matlab

dispose de deux outils destines a la conception de filtres numeriques SPTool et FDATool, nous utiliserons dans

ce TP l’outil FDATool. Le schema suivant represente le gabarit desire pour notre filtre avec :

• Fpass1 = 2500Hz

• Fstop1 = Fstop2 = 2700Hz

• Fpass2 = 2900Hz

• Apass1 = Apass2 = 0,5 dB

• Astop = 40 dB

5

FIGURE 6 –

Pour generer le filtre on suivie les etapes suivantes :

1. on Lance l’outil FDATool dans Matlab ;

2. on Selectionne la configuration suivante des choix et parametres :

a) Response Type : ≪ Bandstop ≫

b) Design Method : ≪ FIR ≫ et ≪ Window ≫

c) Filter Order : ≪ Minimum order ≫

d) Options :

i. ≪ Scale Passband ≫ : cochee

ii. Window : ≪ Kaiser ≫

e) Frequency Specifications :

• ]Units : Hz

• Fs : 8000

• Fpass1 : 2500

• Fstop1 : 2700

• Fstop2 : 2700

• Fpass2 : 2900

f) Magnitude Specifications :

• Units : dB

• Apass1 : 0.5

• Astop : 40

• Apass2 : 0.5

6

FIGURE 7 –

3. On Appuie sur Design Filter et on trouve

7

FIGURE 8 –

4. Le champ ≪ Current Filter Information ≫, nous donne des informations sur le filtre genere, ordre et sta-

bilite.on obtiens un filtre d’ordre 91

Les coefficients sont donc disponibles (pour un copier coller), mais ne sont pas utilisables directement

puisqu’ils sont en virgule flottante (avec ce format, le calcul est plus precis au detriment du temps de

calcul qui peut etre eleve). Il est necessaire de transformer le format des coefficients en ≪ entiers-signes

≫.

(a) On vas dans le menu ≪ Target ≫ et selectionnez ≪ Generate C Header . . . ≫

(b) On Selectionne les choix suivants :

a. Numerator : h

b. Numerator length : N

c. Export as : cochee : Signed 16-bit integer

(c) Cliquez sur ≪ Generate ≫

Les coefficients sont enregistres dans le fichier ≪ fdacoefs.h ≫ par defaut. Nous voulons plutot

mettre ces donnees dans un fichier de terminaisons ≪ .cof ≫.

(d) Changez le nom et l’extension du fichier : ≪ fdacoefs.h→ fdacoefs2700.cof ≫

(e) Ouvrez le fichier ≪ fdacoefs.cof ≫ dans un editeur de text

a Enlever tous les commentaires

b Enlever la ligne : include tmwtypes.h

c Remplacez les deux lignes :

c o n s t i n t N = 91 ;

8

c o n s t i n t 1 6 T h [ 9 1 ] = {

Par :

# d e f i n e N 91 ;

S h o r t h [ 9 1 ] = {

Le fichier ≪ fdacoefs.cof ≫ est pret a etre incorpore dans le projet d’implementation du filtre dans

la DSK6713.

2.3 Implementation du filtre FIR coupe bande dans la DSK6713

Ayant les coefficients de notre filtre il faut calculer les termes :

y(n) =k=0∑

N−1

h(k)x(n− k)

Ou x(k) representent les echantillons a l’entree du filtre et y(n) sa sortie. Le programme en C suivant permet de

faire ce calcul. Il utilise le mode interruptions deja vu.

FIGURE 9 –

9

FIGURE 10 –

ON Cree un nouveau projet en incluant les fichiers suivants :

– Fir.c

– c6713dskinit.c

– V ectorsintr.asm

– C6713dsk.cmd

– csl6713.lib

– dsk6713bsl.lib

– rts6700.lib

1. Compilez votre projet

2. Appliquez a l’entree de la DSK (Line IN) un signal sinusoıdal d’amplitude 0.1V

3. Visualisez a l’oscilloscope l’entree du GBF et la sortie de la DSK (Line OUT)

4. Modifiez la frequence de l’entree dans la plage suivante f = [100Hz ,4000Hz] et notez ce qui se passe

pour la frequence particuliere de 2700Hz.

5. Test du filtrage du fichier bruite≪ voixenfant.wav ≫

a Reliez l’entree (Line IN) de la DSK a la sortie audio du PC (sortie de la carte son du PC)

b Reliez la sortie (HEADPHONE) de la DSK aux hauts parleurs ou au casque mis a votre disposition

c Tapez dans matlab la commande : (le fichier matlab ≪ voixplusbuit.m ≫ayant ete execute aupara-

vant)

>> wavplay(z, Fs)

d Verifiez que a la sortie de la DSK le signal sonore correspondant a la sinusoıde de 2700Hz a disparu

et que le filtre fonctionne donc correctement.

10