Upload
dinhtruc
View
221
Download
0
Embed Size (px)
Citation preview
É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
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
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
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
-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
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
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
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
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
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
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
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
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.