13
ÉOLE POLYTECHNIQUE DE MONTRÉAL DÉPARTEMENT DE GÉNIE ÉLECTRIQUE AUTOMNE 2008 COURS ELE2700 ANALYSE DES SIGNAUX SÉANCE # 5, TP4 TRAITEMENT EN TEMPS REEL PAR LA CARTE DSP DE TEXAS INSTRUMENTS Section # 1 Section # 2 18 novembre 25 novembre

COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

Embed Size (px)

Citation preview

Page 1: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

ÉOLE POLYTECHNIQUE DE MONTRÉAL

DÉPARTEMENT DE GÉNIE ÉLECTRIQUE

AUTOMNE 2008

COURS ELE2700 ANALYSE DES SIGNAUX

SÉANCE # 5, TP4

TRAITEMENT EN TEMPS REEL PAR LA CARTE DSP DE TEXAS INSTRUMENTS

Section # 1 Section # 2

18 novembre 25 novembre

Page 2: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

ii

Table des Matières

1. Introduction……………………………………………………………………………..1 2. Travail à effectuer……………………………………………………………………....2 2.1 Partie I : Développement des filtre Passe-Bas et Passe-Bande à l’aide du Simulink.

2.2 Partie II : Réalisation des Filtres à l’aide de la carte Texas Instruments C6713.

Ce document a été rédigé avec la précieuse collaboration de Zaher Dannawi.

Le professeur,

Michael Corinthios

Page 3: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

1. INTRODUCTION Le but de ce travail est de nous familiariser avec le traitement numérique du signal en

temps réel utilisant la technologie DSP de Texas Instruments et en particulier la carte

TMS320C6713B.

La Première Partie du travail utilise Simulink de MATLAB. Deux types de filtrages sont

appliqués au signal d’entrée. Les résultats au domaine de temps et de fréquence sont

affichés et imprimés.

La deuxième partie du travail consiste à transposer les mêmes filtres sur la carte DSP de

Texas Instruments. Le système développé sur la carte est capable d’appliquer au choix

un filtrage passe-bas et un autre passe-bande du signal reçu. Un interrupteur physique

disponible sur la carte est utilisé pour choisir l’un ou l’autre filtre à employer. La carte

sera ainsi configurée pour un traitement en temps réel. Un signal audio ainsi que un autre

sinusoïdal sont appliqués à l’entrée de la carte pour observer l’effet du filtrage passe-bas

et celui passe-bande.

1

Page 4: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

2. TRAVAIL À EFFECTUER

Partie I : Développement des filtres Passe-Bas et Passe-Bande à l’aide

du Simulink. Accédez au Simulink et reproduisez le system suivant. A noter que la durée de simulation

est choisie égale à 1 sec.

Figure 1: Schéma du system à réaliser

-La boîte ‘Pulse Generator’ se trouve au (Simulink/ Sources/ Pulse Generator).

Paramètres :

Pulse type : Sample based

Time(t) : Use simulation time.

Amplitude : 1

Periode (number of samples) : 1024

Pulse width (number of samples) : 512

Phase delay (number of samples) : 0

Sample time : 1/ sf .

2

Page 5: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

-La boîte ‘Scope1’ se trouve au (Simulink/ Sinks/ Scope)

Paramètres :

Dans ‘Data History’, Décochez ‘Limit data points to last’.

-La boîte ‘To Workspace’ se trouve au (Simulink/ Sinks / To Workspace).

Paramètres :

Variable name: input

Limit data points to last: inf

Decimation : 1

Sample Time (-1 for inherted): -1

Save Format : Array.

-La boîte ‘Digital Filter Design’ se trouve au (Signal Processing Blockset/ Filtering/

Filter Designs/ Digital Filter Design)

Paramètres :

Response Type : lowpass

Design methode : IIR Chebyshev type I

Filter order : 1

Frequency specifications : Units=Hz

Fs = sf

Fc = fréquence de coupure.

Magnitude Specifications : Units= dB

Apass= 1.

-La boîte ‘Scope’ se trouve au (Simulink/ Sinks/ Scope)

Paramètres :

Dans ‘Data History’, ne cochez pas ‘Limit data points to last’.

-La boîte ‘To Workspace1’ se trouve au (Simulink/ Sinks / To Workspace).

Paramètres :

3

Page 6: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

Variable name: output

Limit data points to last: inf

Decimation : 1

Sample Time (-1 for inherted): -1

Save Format : Array.

Pour faire rouler la simulation :

1- Dans la boite ‘Pulse Generator’ entrez la fréquence d’échantillonnage sf .

2- Dans la boite ‘Digital Filter design’ entrez la fréquence d’échantillonnage sf et la

fréquence du coupure cf .

3- Fixez la durée de la simulation à une seconde.

4- Faire rouler la simulation.

Figure 2: signal d’entrée

Rapport :

Avant la fin de la séance vous devrez remettre :

1- Une figure représentant le signal d’entrée en fonction du temps et spécifiez sur la

figure la période τ du signal et la fréquence fondamentale 0f , voir figure 2.

2- Une figure représentant le signal filtré en fonction du temps, utilisant MATLAB.

3-Une figure représentant le spectre du signal d’entrée, utilisant la commands (fft) de

MATLAB. (La durée de la fenêtre du signal analysé par la fft est N=16384 échantillons).

Selon vous, le spectre du signal reflète-t-il le fait que l’intervalle d’analyse de Fourier

contient 16 cycles de la fonction analysée ?

4

Page 7: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

Q1-Quel est l’intervalle d’échantillonnage sT ?

Q2-Quel est la durée en sec de la fenêtre du signal analysé par la fft fftT (N=16384)?

4-Une figure représentant le spectre du signal filtré, utilisant la commands (fft)

MATLAB.

5- Le listage des commandes de MATLAB utilisées pour afficher les figures.

Refaire la partie I pour le filtre Passe-Bande suivant:

Figure 3: Schéma du system à réaliser.

-La boîte ‘Digital Filter Design’ se trouve au (Signal Processing Blockset/ Filtering/

Filter Designs/ Digital Filter Design)

Paramètres :

Response Type : Bandpass

Design methode : IIR Chebyshev type I

Filter order : 10

Frequency specifications : Units=Hz

Fs = sf

Fpass1 = fréquence1.

Fpass2 = fréquence2.

Magnitude Specifications : Units= dB

Apass= 1.

5

Page 8: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

Partie II : Réalisation des Filtres à l’aide de la carte Texas Instruments

C6713. Accédez au Simulink et reproduisez le system suivant :

Figure 4: Schéma du system à réaliser

-La boîte ‘ADC’ de conversion A/N se trouve dans la librairie de Simulink au

(Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ ADC).

Paramètres :

ADC source : Line in.

Sampling rate : sf

Word length : 32 bit.

Output data type : double.

Scaling : normalized.

Sample per frame : 1

-La boîte ‘C6713 DSP DIP Switch’ se trouve dans la librairie de Simulink au

(Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP DIP

Switch).

6

Page 9: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

Paramètres :

Data type : integer.

Sample ti 1/ sfme : .

lter Design (BP)’ se trouve au (Signal Processing Blockset/

De ns/ Digital Filter Design)

aramètres :

0

nits=Hz

-La boîte ‘Digital Fi

Filtering/ Filter sig

P

Response Type : Bandpass

Design methode : IIR Chebyshev type I

Filter order : 1

Frequency specifications : U

Fs = sf

Fpass1 = fréquence1.

fréquence2.

d

se trouve au (Signal Processing Blockset/Filtering/

aramètres :

I

0

Units=Hz

Fpass2 =

Magnitude Specifications : Units= B

Apass= 1.

-La boîte ‘Digital Filter Design (LP)’

Filter Designs/ Digital Filter Design)

P

Response Type : lowpass

Design methode : IIR Chebyshev type

Filter order : 1

Frequency specifications :

Fs = sf

Fc = fréquence de coupure.

ed Blocks/ Switch).

Magnitude Specifications : Units= dB

Apass= 1.

-La boîte ‘Switch’ se trouve au ( Simulink/ Commonly Us

Paramètres :

7

Page 10: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

Criteria for passing first input : 2u thershold>

Thershold : 0

Sample time (-1 for inherited) : -1.

N/A se trouve dans la librairie de Simulink au

mbedded Target for TI C6000 DSP/ C6713 DSK Board Support/ DAC).

z) :

-La boîte ‘DAC’ de conversion

(E

Paramètres :

Word length : 32 bit

sf Sample rate (H

Scaling : Normalized

ra .

se trouve dans la librairie de Simulink au (Embedded Target for

I C6000 DSP/ C6000 Target Preferences/ C6713DSK).

al-Time Workshop).

Overflow mode : W p

-La boîte ‘C6713DSK’,

T

Cet élément fournit un accès au hardware du processeur et permet de changer et

configurer la carte DSP pour l’exécution en temps réel (Re

En ajoutant cette boîte à notre model de Simulink, une fenêtre s’ouvrira comme ci-

dessous

Figure 5: Initialisation des Parameters de simulation

Cliquez sur ‘Yes’ pour initialiser les paramètres de la simulation d’une façon pertinente à

la carte utilisée.

er le code sur la carte :

’abord vous devez allumer la carte en branchant le câble d’alimentation. Ensuite, pour

allez dans la fenêtre de Simulink et

Générer et charg

D

générer le code du système créé ci-dessus,

8

Page 11: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

choisissez dans le menu principal ‘Simulation’ et cliquez sur ‘Configuration

Parameters…’. La fenêtre suivante s’ouvrira.

Figure 6: Fenêtre de Configuration Parameters

Cliquez dans la liste à gauche de la fenêtre ‘Configuration Parameters…’, Fig. 5, sur

‘TIC6000 Code Gener orporate DSP/BIOS’, ation’ et décocher la boite de l’option ‘Inc

Fig. 6. Cliquez sur ‘Apply’.

Figure 7: Décochage du l’option ‘Incorporate DSP/BIOS’

9

Page 12: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

Finalement, Cliquez dans la liste à gauche de la fenêtre ‘Configuration Parameters…’

sur ‘Real-Time Workshop’ et ensuite cliquez sur ‘Generate Code’ au bas et du côté

droit de la fenêtre.

Matlab automatiquement génère le code, établie une connexion avec le Code Composer

Studio, écrit tous les fichiers de C/C++ nécessaire pour le model, crée un nouveau projet,

ajoute les fichiers au projet et charge le programme sur la carte, Fig. 7.

Figure 8: CCStudio après la construction du projet

Faire rouler et vérifier le programme :

Pour faire rouler le programme, dans la fenêtre de CC Studio, cliquez dans le menu

‘Debug’ sur ‘Go Main’ et ensuite dans le même menu ‘Debug’ cliquez sur ‘ Run’.

Pour vérifier notre système, on branche un ‘Générateur des signaux/signal sinusoïdal ’ à

la porte ‘ Line In’, et des écouteurs à la porte ‘Headphone’ de la carte.

En laissant tous les interrupteurs dans leur état initial (‘up position’), le filtre (Digital

Filter Design (LP)) sera activé. Ainsi coupant toute fréquence qui dépasse sa fréquence

de coupure.

10

Page 13: COURS ELE2700 ANALYSE DES SIGNAUX - … · C6713 DSP DIP Switch ’ se trouve dans la librairie de Simulink au (Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ C6713 DSP

11

Pour activer et vérifier le filtre (Digital Filter Design1 (BP)) on doit peser sur

l’interrupteur numéro 2 de la carte. Observer le fait que le filtre passe-bande filtrera

toutes les fréquences qui se trouvent en dehors de sa passe-bande.

Rapport :

Assurez que le titulaire du labo vérifie que votre système fonctionne.

Finalement, testez votre système de filtrage sur un fichier de musique (vous pouvez

trouver un (Beethoven symphonie #9) dans le dossier Musique). Discutez votre

observation sur l’effet du filtrage.