Vous êtes sur la page 1sur 12

Filière :

Énergie Électrique et Industrie Numérique (EEIN)

TP DSP:

Préparé Par :

EL ATIK Meriem & EL MSIYAH Ibtissam

Encadré par:
Mr NAJOUI

Année Universitaire : 2020/2021


Sommaire :
Sommaire : ................................................................................................................................ 2
Figure : ...................................................................................................................................... 2
I. Objectifs : ........................................................................................................................... 3
II. Partie théorique : .............................................................................................................. 3
III. Partie Pratique : ............................................................................................................ 4
1. Simulation sous Matlab : .............................................................................................. 4
1.1 Code de programmation : ..................................................................................... 5
1.2 Résultat de la simulation : ..................................................................................... 6
2. Simulation sous CCS :................................................................................................... 6
2.1 Le code de programmation : ...................................................................................... 6
2.2 Résultats de la simulation : ........................................................................................ 8
2.3 Simulation et traçages des graphes des signaux ..................................................... 8
1. Calcule de la fréquence de sortie : ............................................................................. 11
2. Le régime transitoire : ................................................................................................ 11
IV. Comparaison des memoires DSP ............................................................................... 11
Conclusion ............................................................................................................................... 12

Liste des Figures :

Figure 1: résultats de la simulation du filtre FIR sous MATLAB .................................................... 6


Figure 2:le résultat après l’exécution du programme ........................................................................ 8
Figure 3:configuration du paramètre du signal d'entrée.................................................................. 9
Figure 4:la Courbe du signal d’entrée (input) .................................................................................... 9
Figure 5:configuration du paramètre du signal de sortie ................................................................ 10
Figure 6: la Courbe du signal de sortie (output)............................................................................... 10

ENSAM RABAT | Sommaire : 2


I. Objectifs :

 Simulation sur Matlab d’un filtre à réponse impulsionnelle finie (RIF)


 Implémenter ce filtre sur le DSP TMS320C6713
 Comparer les résultats de l’implémentation avec les résultats obtenus par Matlab

II. Partie théorique :

Un filtre numérique est un élément qui effectue un filtrage à l'aide d'une succession
d'opérations mathématiques sur un signal discret. C'est-à-dire qu'il modifie le contenu spectral
du signal d'entrée en atténuant ou éliminant certaines composantes spectrales in désirées.
Contrairement aux filtres analogiques, qui sont réalisés à l'aide d'un agencement de
composantes physiques (résistance, condensateur, inductance, transistor, etc.), les filtres
numériques sont réalisés soit par des circuits intégrés dédiés, des processeurs programmables
(FPGA, microprocesseur, DSP, microcontrôleur, etc.), soit par logiciel dans un ordinateur On
parle le plus souvent de filtre RIF pour des filtres à temps discret. Un filtre numérique RIF est
caractérisé par une réponse uniquement basée sur un nombre fini de valeurs du signal
d'entrée. Par conséquent, quel que soit le filtre, sa réponse impulsionnelle sera stable et de
durée finie, dépendante du nombre de coefficients du filtre.

Les filtres RIF sont caractérisés par une fonction de transfert polynômiale dans le domaine z :

(Pas de dénominateur => pas de pôles)


• Propriétés :
– Réponse stable par défaut
– Réponse en phase linéaire pour un filtre réalisable
– Peuvent demander un temps de calcul excessif
– Non réalisables en analogique pour toutes fins pratiques

ENSAM RABAT | Objectifs : 3


y[n] Valeurs successives du signal de sortie
x[n] Valeurs successives du signal d’entrée
bk Coefficients de la fonction de transfert du filtre
N Nombre de coefficients (ordre du filtre)

y[0]=b[0]*x[0] ;
y[1]=b[0]*x[1]+ b[1]*x[0] ;
y[2]=b[0]*x[2]+ b[1]*x[1]+ b[2]*x[0] ;
y[n]=b[0]*x[n]+ b[1]*x[n-1]+ b[2]*x[n-2]+…….+b[N-1]*x[n-N+1] ;

• La réponse impulsionnelle du filtre est donnée par les valeurs successives de ses
coefficients.
Conséquences:
L’ordre du filtre est égal au nombre de coefficients
La réponse du filtre est de durée finie NTe

L'opération ainsi réalisée est un produit de convolution, c'est pourquoi on parle dans ce cas de
filtrage par convolution. Ce type de filtrage est aussi employé en traitement d'image.
Autrement dit, les coefficients bn constituent la réponse impulsionnelle du filtre. Cette
réponse impulsionnelle est dite finie car le nombre d'échantillons non nuls en sortie est fini,
égal au nombre de coefficients bn non nuls.
Le type le plus répandu de filtre à réponse impulsionnelle finie (filtre RIF) est le filtre RIF à
phase linéaire, dont les coefficients sont obtenus par série de Fourier.

III. Partie Pratique :


1. Simulation sous Matlab :

Nous avons simulé à l’aide du Matlab afin de visualiser le comportement temporelle et fréquentielle
du signal avant et après le filtrage.

ENSAM RABAT | Partie Pratique : 4


1.1 Code de programmation :

f1=50;f2=300;f3=2000;Fe=8000;Tm=0.1;N=100;
t= [0 :1/Fe:Tm-1/Fe];
Fc = [200, 400];
a=1;
%-------------------génération du signal d entrée et son tracé
x=cos(2*pi*f1*t)+cos(2*pi*f2*t)+cos(2*pi*f3*t);
subplot(2,2,1)
plot(t,x), grid on
title('signal avant filtrage');
xlabel('temps en seconde');
ylabel('amplitude');
%--------------------génération du filtre FIR et son tracé
b= fir1(N,Fc/(Fe/2), 'bandpass');
y= filter(b,a,x)
subplot(2,2,2)
plot(t,y), grid on
title('signal après filtrage');
xlabel('temps en seconde');
ylabel('amplitude');
f=0:1/Tm:Fe-1/Tm;
Y=fft(y);
X=fft(x);
x1=abs(X);
y1=abs(Y);
%--------------------génération du spectre du signal d entrée et son tracé
subplot(2,2,3)
plot(f,x1), grid on
title('spectre du signal avant filtrage');
xlabel('fréquence en Hz');
ylabel('amplitude');
%--------------------génération du spectre du signal de sortie et son tracé
subplot(2,2,4)
plot(f,y1), grid on
title('spectre du signal après filtrage');
xlabel('fréquence en Hz');
ylabel('amplitude');

fid= fopen('coeff.dat', 'w');


for i=1:N+1
fprintf (fid, '%f, \n',b(i));
end
fclose(fid);

ENSAM RABAT | Partie Pratique : 5


1.2 Résultat de la simulation :
signal avant filtrage signal après filtrage
4 2

2 1
amplitude

amplitude
0 0

-2 -1

-4 -2
0 0.05 0.1 0 0.05 0.1
temps en seconde temps en seconde
spectre du signal avant filtrage spectre du signal après filtrage
600 400

300
400
amplitude

amplitude

200
200
100

0 0
0 2000 4000 6000 8000 0 2000 4000 6000 8000
fréquence en Hz fréquence en Hz

Figure 1: résultats de la simulation du filtre FIR sous MATLAB

Interprétation : d’après la figure 1 on remarque que les deux spectres qui


correspondent à f1 =50 Hz et f3=2000 Hz s’annulent après le filtrage car ils
n’appartiennent pas à la bande passante [200 Hz 400 Hz].

2. Simulation sous CCS :

Pour implémenter le filtre FIR on utilise le logiciel code composer studio qui permet de
programmer les processeurs de signal numérique (DSP) dont ce dernier on utilise le
TMS320C6713 et d’afficher les résultats sous formes des courbes d’entrées et de sorties à
l’aide de la fonction Tools . On cherche à réaliser un programme qui calcul le produit de
convolution des échantillons d’entrées x[i] et des coefficients bk qui sont déjà calculés et
donnés par MATLAB.

2.1 Le code de programmation :

Pour expliquer le programme-t-on à faire des commentaires qui facilitent la compréhension


du programme.

ENSAM RABAT | Partie Pratique : 6


Cette partie du programme est la partie de vérification des valeurs des outputs quand on a
calculé avec les valeurs des Output-Ref calculé avec matlab pour voir la valeur de l’écart ce
qu’il dépasse 0.01 ou non.

la fonction « floatFIR_filter(floatxn) » qui implémente le filtre FIR

ENSAM RABAT | Partie Pratique : 7


2.2 Résultats de la simulation :

Après l’exécution du programme et la simulation du filtre FIR, on visualise les deux signaux
d’entrée (INPUT) et de sortie(OUTPUT) du filtre. On obtient les résultats comme le montre
les figures ci-dessous :

Figure 2:le résultat après l’exécution du programme

D’après la simulation on trouve que la comparaison qu’était faite donne un Compare OK=800 et un
Compare NOT_OK =0 celui-là veut dire que le filtre FIR est bien, il n’a pas d’erreur supérieure à 0,01.

2.3 Simulation et traçages des graphes des signaux

Exécuter votre projet sur simulateur et tracer les graphes des signaux x(n) et y(n). En mode Debug,
aller a Tools → Graph → Single Time.

Configuration du propriéte du graphe


Signale d’entrée X(n)

ENSAM RABAT | Partie Pratique : 8


Figure 3:configuration du paramètre du signal d'entrée

Figure 4:la Courbe du signal d’entrée (input)

ENSAM RABAT | Partie Pratique : 9


Signale de de sortie Y(n)

Figure 5:configuration du paramètre du signal de sortie

Figure 6: la Courbe du signal de sortie (output)

ENSAM RABAT | Partie Pratique : 10


1. Calcule de la fréquence de sortie :

En prend 2 points dans le regime permanant en determine la valeur de chaque point


T1=18 ,70ms
T2=22 ,08ms
𝑇 = 𝑇1 − 𝑇2 = 22,08 − 18,70 = 3,38𝑚𝑠

1 1
𝐹= = = 295ℎ𝑧 ≈ 300ℎ𝑧
𝑇 3,38−3

Le filtre_ FIR passe bande d’ordre 100 avec les fréquences de coupure fc1=200 et fc2=400
c'est-à-dire que notre filtre il fait atténuer les fréquences supérieures à 400hz et il fait atténuer
les fréquences inferieurs à 200hz et donc la fréquence de sortie il doit être d'ordre de 300hz et
c’est ça ce qu’était trouver d’après la simulation F ≈ 300hz

2. Le régime transitoire :

Au début du signal de sortie un régime transitoire qui fait apparaitre ce dernier est dû au
nombre N qu'est au début petit est par la suite il vient d’augmenter, le filtre FIR essaie
d’atteindre le régime permanant en faisant la somme des valeurs finies du signal d’entrée.

IV. Comparaison des mémoires DSP

Nombre de cycle
N=50 With opt without opt classement
L1D 480727 3844602 3
L2SRAM 471017 3830100 1
MSMCSRAM 472924 3832342 2
DDR 8789778 22761796 4

D’après l’exécution on remarque que la mémoire L2SRAM est le plus rapide par rapport aux
autres mémoires

ENSAM RABAT | Comparaison des mémoires DSP 11


Conclusion

C’est grâce à ce Travail pratique que nous avons eu l’opportunité de cumuler les
connaissances théoriques avec celles de la pratique. Et de savoir le principe de
fonctionnement du filtre FIR et leurs caractéristiques. Aussi nous avons réalisé une
implantation du filtre FIR à l’aide du logiciel code composer studio afin de relever les courbes
d’entrés et de sorties du filtre. Enfin nous souhaitons adresser nos remerciements les plus
sincères à notre professeur M .NAJOUI pour l’occasion et pour vos efforts.

ENSAM RABAT | 12

Vous aimerez peut-être aussi