CR TP DSP
CR TP DSP
CR TP DSP
2020/2021
OUDAD Souad M13IR
MEZIANI Souheila Encadré par : Mr Thiebeaut Bernard
Page 1
Sommaire
Introduction.....................................................................................3
Page 2
Introduction
Digital signal Processeur ou autrement dit traitement numérique de signal est un microprocesseur
optimisé pour exécuter des applications de traitement numérique du signal le plus rapidement
possible.
On trouve les DSP partout où on reçoit un signal complexe que l’on doit modifier à l’aide de
filtrage par exemple :
• les modems (ADSL, RTC)
• les téléphones mobiles
• les appareils multimédia (MP3)
• les récepteurs GPS
• chaînes de traitement de son
Le but de ces séances de travaux pratiques est d’avoir une première approche du traitement
numérique du signal ainsi de faire du traitement numérique du signal en temps réel. Pour faire cela
on aura amené dans ce tp à faire le rapport entre les microprocesseurs, les logiciels de simulation
( Matlab) ainsi que la programmation en langage basique C.
Cependant, ce TP est répartie en 5 parties :
I. Prise en main de l’outil de développement
II. Ecriture des premiers programmes C
III. Générations de signaux
IV. Implantation de filtres
V. Autres exemples de TNS
Page 3
1. Test du logiciel Talkthru
Logiciel Talkthru est un logiciel fournis par Analog Devices permet de sélectionner une fréquence
d’échantillonnage et un gain.
Avant de lancer la simulation, on a repéré les entrées gauches et droites, ainsi que les sorties gauche
droite :
Pour Input (J23) :
➢ Voie gauche verte: rx_buf[1]
➢ Voie droite rouge : rx_buf[2]
Pour Output (J22) :
➢ Voie gauche verte: tx_buf[1]
➢ Voie droite rouge : tx_buf[2]
1)
on a choisi de travailler avec une fréquence d’échantillonnage de 32KHz et un gain de 0 db(il faut
que le gain soit compatible avec le signal d’entrée.
Rappel de théorème de Shannon :
Pour que le signal puisse être entièrement reconstruit à partir des échantillons il suffit d’avoir une
fréquence d’échantillonnage supérieure ou égale au double de sa fréquence maximale :
fe>2fmax
On a fait varier par la suite la fréquence sur le GBF et on remarque sur le signal de sortie qu’au delà
de 12KHz qui correspond bien a fe/2 on observe un signal bruité, le théorème de Shannon est
vérifié.
Le signal XL(t) passe par une première résistance puis une deuxième, puis une capacité (qui bloque
le contenu continue) → puis un CAN (on aura XCANL(t) ) le rapport théorique des amplitudes entre le
signal de sortie et celui d’entrée
R∗R e
R∥R e R+R e Re 1
X CANL (t)= = = = =0.4 (filtre anti-repliement)
R∥R e +R R∗R e 2 R e +R 2.5
R+
R+ R e
Le rapport expérimentales des amplitudes entre la sortie et l’entrée est égale à 0.46.
Page 4
On constate que la valeur expérimentale qu’on a trouvé est proche de la valeur théorique avec une
0,46−0,4
erreur de ∗100=15 % est ça est dû a une multitude de composants qui constitue le
0,4
circuit interne de la carte DSP.
Le filtre passif présente l’avantage de ne pas écrêter le signal (à condition de choisir les composants
supportant les tensions et courants qui leur sont appliqués).
Autrement dit, ils ne peuvent qu’atténuer en partie des signaux mais pas les amplifier.
Donc un filtre passif de type RC à l’entrée de chacune des voies du CAN du codec a un rôle de
repliement.
Filtre passif est l’usage exclusif de composants passifs (R,C,L) leur gain gain (rapport de puissance
entre la sortie et l’entrée) ne peut excéder 1 .
En utilisant la documentation du Codec AD1847, le registre interne du Codec qui permet de
modifier la fréquence d’échantillonnage est le Data Format Register (Index Address 8) :
Page 5
Dans cette partie, la démo permet de télécharger un filtre à réponse impulsionnelle finie.
On choisit la largeur de bande entre 328 et 448Hz.
On fait varier la fréquence sur le GBF et on note la valeur d’amplitude de sortie et le gain en db
la fréquence centrale est f 0 = √ f min . f max = √ 328.448=383,33 Hz → c’est un filtre très efficace.
Scanned by TapScanner
Page 6
II. Premiers programmes à partir de CANEVAS.C
Dans cette partie on doit gérer les entrées/sorties analogiques de l’EZ-KIT et le but c’est de bien
comprendre le mécanisme des interruptions matérielles.
On initialise les valeurs numériques de l’entrée et sortie, par la suite on affecte entrée à inputJ23
voie gauche verte.
Par la suite on doit multiplier l’entrée par une valeur pour compenser l’atténuation, ensuite on
affecte la sortie à output J22 voie gauche verte :
Page 7
3. Changement de la fréquence d’échantillonnage
On a choisi d’échantillonner à une fréquence de fe=16Khz.
Pour avoir une fréquence d’échantillonnage qui correspond à 16Khz il faut utiliser le Data Format
Register :
0 1 0 1 0 0 1 0
4. T_periode et T_count
Au début on avait pour une interruption de 0.25s T_count=10000000 et T_period=10000000
et dans cette partie on souhaite avoir une interruption chaque 2s donc on a 0.25*8=2s
Alors 10000000 *8=80000000
Page 8
III. Génération de signaux.
III.1. Un exemple simple.
A partir de CANEVAS.C, on écrit un programme GEN_SIN.C qui génère de
façon autonome un signal sinusoïdal sur la sortie LOUT de fréquence fixe
égale à 1 kHz et d’amplitude crête à crête de 1V.
0110=6
Sur le programme c : Le registre d’index 8 aura la valeur de 0xC856 (Fe
=32khz).
Ensuite, on doit calculer le pas de quantification :
n= 16 bits ; nombre de classes N=2^16=65 536
Le pas de quantification : q=(M-m)/N=(1.4-(-1.4))/65536=2.8/65536
q=4.2724609375*10-5
Ym=n*q ; 0.5=n*q ; donc n=0.5/q=0.5/(4.2724609375*10-5)
n=11703
Yn=11703.024*sin(2*π*f0*n*Te)= 11703.024*sin(2*π*1*n*(1/32))
Yn= 11703.024*sin(0.1963495408*n)
Programme :
Le graphe :
Le graphe :
Mesure de la fréquence et de l’amplitude du signal de sortie :
On a d’après l’image ci-dessus :
La fréquence : On a 5 carreaux par période, et chaque carreau correspond à 200
us, donc :
Te=200*5=1000 us= 10-3s ; d’où Fe=1/Te= 1/10-3 =103 hz= 1khz.
L’amplitude : On a 4 carreaux par période, et chaque carreau correspond à 200
mv, donc : A=0.8V crête à crête.
1. Synthèse manuelle
On commence d’abord par calculer les coefficients d’un filtre passe-bas de fréquence de coupure
fc=2KHz et fe=32KHz à partir d’un filtre analogique de Butterworth d’ordre 2
J’ai choisi pour faire les calculs la méthode de transformation bilinéaire
Page 12