OLE POLYTECHNIQUR DE MONTRAL

Transcription

OLE POLYTECHNIQUR DE MONTRAL
ÉOLE POLYTECHNIQUE DE MONTRÉAL
DÉPARTEMENT DE GÉNIE ÉLECTRIQUE
AUTOMNE 2011
COURS ELE2700
ANALYSE DES SIGNAUX
TP4-SÉANCE # 5
TRAITEMENT EN TEMPS REEL PAR LA CARTE
DSP DE TEXAS INSTRUMENTS
Section # 1
Section # 2
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 qu’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.
2
2. TRAVAIL À EFFECTUER
Partie I : Développement des filtres Passe-Bas et Passe-Bande à l’aide de
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/ f s .
3
-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
= fs
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 :
4
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 f s .
2- Dans la boite ‘Digital Filter design’ entrez la fréquence d’échantillonnage f s et la
fréquence du coupure f c .
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 de temps et spécifiez sur la
figure la période τ du signal et la fréquence fondamentale f 0 , 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 ? Pourquoi ?
5
Q1-Quel est l’intervalle d’échantillonnage Ts ?
Q2-Quel est la durée en sec de la fenêtre du signal analysé par la fft T fft (N=16384)?
4-Une figure représentant le spectre du signal filtré, utilisant la commande (fft) de
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
= fs
Fpass1
= fréquence1.
Fpass2
= fréquence2.
Magnitude Specifications : Units= dB
Apass= 1.
6
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 : f s
Word length : 32 bit.
Output data type : double.
Scaling : normalized.
Samples 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).
7
Paramètres :
Data type : integer.
Sample time : 1/ f s .
-La boîte ‘Digital Filter Design (BP)’ se trouve au (Signal Processing Blockset/
Filtering/ Filter Designs/ Digital Filter Design)
Paramètres :
Response Type : Bandpass
Design method : IIR Chebyshev type I
Filter order : 10
Frequency specifications : Units=Hz
Fs
= fs
Fpass1
= fréquence1.
Fpass2
= fréquence2.
Magnitude Specifications : Units= dB
Apass= 1.
-La boîte ‘Digital Filter Design (LP)’ 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 : 10
Frequency specifications : Units=Hz
Fs
= fs
Fc
= fréquence de coupure.
Magnitude Specifications : Units= dB
Apass= 1.
-La boîte ‘Switch’ se trouve au ( Simulink/ Commonly Used Blocks/ Switch).
Paramètres :
8
Criteria for passing first input : u2 > thershold
Thershold : 0
Sample time (-1 for inherited) : -1.
-La boîte ‘DAC’ de conversion N/A se trouve dans la librairie de Simulink au
(Embedded Target for TI C6000 DSP/ C6713 DSK Board Support/ DAC).
Paramètres :
Word length : 32 bit
Sample rate (Hz) : f s
Scaling : Normalized
Overflow mode : Wrap.
-La boîte ‘C6713DSK’, se trouve dans la librairie de Simulink au (Embedded Target for
TI C6000 DSP/ C6000 Target Preferences/ C6713DSK).
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 (Real-Time Workshop).
En ajoutant cette boîte à notre modèle de Simulink, une fenêtre s’ouvrira comme cidessous
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.
Générer et charger le code sur la carte :
D’abord vous devez allumer la carte en branchant le câble d’alimentation. Ensuite, pour
générer le code du système créé ci-dessus, allez dans la fenêtre
de
Simulink et
9
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 Generation’ et décocher la boite de l’option ‘Incorporate DSP/BIOS’,
Fig. 6. Cliquez sur ‘Apply’.
Figure 7: Décochage du l’option ‘Incorporate DSP/BIOS’
10
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. 8.
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.
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 :
S’Assurer 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.
12

Documents pareils