Académique Documents
Professionnel Documents
Culture Documents
TP DSP:: EL ATIK Meriem & EL MSIYAH Ibtissam
TP DSP:: EL ATIK Meriem & EL MSIYAH Ibtissam
TP DSP:
Préparé Par :
Encadré par:
Mr NAJOUI
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 :
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.
Nous avons simulé à l’aide du Matlab afin de visualiser le comportement temporelle et fréquentielle
du signal avant et après le filtrage.
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');
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
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.
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 :
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.
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.
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.
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
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