Uploaded by jebbarih230

Rapport TS JEBBARI Hamza

advertisement
1
Compte Rendu du Travail Pratique
TRAITEMENT DE SIGNAL
Filière : Énergie Électrique et Industrie Numérique (EEIN)
Digital Signal Processing
Préparé Par :
Encadré par :
JEBBARI Hamza
Mr.Mhamdi
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
2
Table des matières
II.
But du travail pratique .................................................................................................................... 5
III.
Détection de numéro de téléphone (TP1) .................................................................................. 5
A.
Introduction au problème ........................................................................................................... 5
B.
Filtrage de signal.......................................................................................................................... 6
C.
Identification des numéros ......................................................................................................... 7
D.
Génération de tonalités pour touches en MATLAB..................................................................... 9
IV.
Les filtres numériques (TP2) ...................................................................................................... 10
A.
Exemples d'implémentation de FIR ........................................................................................... 11
1.
Filtre passe-bas ...................................................................................................................... 11
2.
Filtre passe-haut .................................................................................................................... 12
3.
Filtre passe-bande ................................................................................................................. 13
4.
Filtre rejecteur de bande ....................................................................................................... 14
B.
Exemples d'implémentation de IIR............................................................................................ 15
1.
Filtre passe-bas ...................................................................................................................... 15
2.
Filtre passe-haut .................................................................................................................... 16
3.
Filtre passe bande ................................................................................................................. 16
4.
Filtre rejecteur de bande ....................................................................................................... 17
C.
La fenêtre Filtre Designer .......................................................................................................... 18
1.
D.
Configuration de la fenêtre pour un FIR................................................................................ 18
Implémentation de filtre FIR sur DSP ....................................................................................... 19
........................................................................................................................................................... 19
V.
E.
Implémentation de filtre IIR sur DSP ........................................................................................ 21
F.
Implémentation de filtre FIR sur FPGA ..................................................................................... 22
Conclusion ..................................................................................................................................... 23
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
3
Table des figures
Fig1 :Table de correspondance…………………………………………………………………………5
Fig2 : le signal d’audio…………………………………………………………………………………6
Fig3 : le signal d’audio filtré……………………………………………………………………………7
Fig4 : le signal d’audio touche1………………………………………………………………………...8
Fig5 : le signal d’audio touche6………………………………………………………………………...9
Fig6 : Génération de tonalités pour touches……………………………………………………….…..10
Fig7 : Réponse temporelle(passe-bas)…………………………………………………………………11
Fig8 : Réponse fréquentiel (passe-bas)………………………………………………………………...11
Fig9 : Réponse temporelle (passe-haut)………………………………………………………………..12
Fig10 : Réponse fréquentiel (passe-haut)……………………………………………………………...12
Fig11 : Réponse temporelle (passe-bande)…………………………………………………………….13
Fig12 : Réponse fréquentiel (passe-bande)…………………………………………………………….13
Fig13 : Réponse temporelle (rejecteur)………………………………………………………………..14
Fig14 : Réponse fréquentiel (rejecteur)……………………………………………………………….14
Fig15 : Réponse temporelle(passe-bas)……………………………………………………………….15
Fig16 : Réponse fréquentiel (passe-bas)………………………………………………………………15
Fig17 : Réponse temporelle(passe-bas)……………………………………………………………….16
Fig18 : Réponse fréquentiel (passe-bas)………………………………………………………………16
Fig19 : Réponse temporelle(passe-bande)…………………………………………………………….17
Fig20 : Réponse fréquentiel (passe-bande)……………………………………………………………17
Fig21: Réponse temporelle(passe-bande)……………………………………………………………..17
Fig22 : Réponse fréquentiel (passe-bande)……………………………………………………………17
Fig23 : Filtre Designer…………………………………………………………………………………18
Fig24 : Filtre passe-bas ordre=200…………………………………………………………………….18
Fig25 : Filtre passe-haut ordre=200……………………………………………………………………18
Fig26 : Filtre passe-bande ordre=200………………………………………………………………….19
Fig27 : Filtre bandstop ordre=150……………………………………………………………………..19
Fig28 : generate coefficients…………………………………………………………………………...19
Fig29 : les éléments nécessaire………………………………………………………………………...20
Fig30 : signal filtrée(FIR)……………………………………………………………………………...20
Fig31 : signal filtrée(IIR)………………………………………………………………………………21
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
4
Fig32 : XILINIX ISE…………………………………………………………………………………22
Fig33 :filtre passe-bas utilisant XILINIX ISE………………………………………………………..22
Fig34 :filtre passe-bas utilisant VIVADO XILINIX…………………………………………………23
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
5
I.
But du travail pratique
Le TP1 consiste à reconnaître les numéros de téléphone en analysant les tonalités émises par
chaque touche du clavier téléphonique à l'aide des compétences en traitement du signal.
Le TP2 explore les techniques de filtrage numérique, examiner leurs applications sur des
signaux spécifiques et leur mise en œuvre sur (DSP) et (FPGA).
II.
Détection de numéro de téléphone (TP1)
Dans ce travail appliqué, nous tenterons d'identifier les numéros de téléphone par la tonalité
de chaque bouton, en utilisant ce que nous avons appris en traitement du signal.
A.
Introduction au problème
Chaque touche d'un clavier téléphonique à numérotation fréquentielle est liée à un signal
spécifique, résultant de la combinaison de deux sinusoïdes dont les fréquences f1 et f2 (en Hz)
sont prédéfinies. Lorsqu'une touche est pressée, ce signal à temps continu est transmis sur la
ligne téléphonique.
X(t)=cos(2*pi*f1*t)+cos(2*pi*f2*t)
DTMF Keypad Frequencies (with sound clips)
1
2
3
697 Hz
4
5
6
770 Hz
7
8
9
852 Hz
*
0
#
941 Hz
1209 Hz
1336 Hz
1477 Hz
Fig1 :Table de correspondance
L'audio sur lequel nous allons travailler :

Code Matlab pour visualiser le signal
[sig,fe]=audioread('telephone_sound.wav')
%sound(sig)<=Pour entendre le son
plot(sig);
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
6
Comme vous pouvez le constater, le
signal comporte initialement du bruit.
Avant de commencer l'extraction des
fréquences des notes de chaque touche,
nous allons d'abord le filtrer pour
éliminer ce bruit.
Fig2 : le signal d’audio
B.

Filtrage de signal
Code Matlab :
[sig,fe]=audioread('telephone_sound.wav');
% Paramètres du filtre coupe-bas
fc = 1480; % Fréquence de coupure en Hz
ordre_filtre = 6; % Ordre du filtre
% Calcul des coefficients du filtre coupe-bas
Butterworth
[b, a] = butter(ordre_filtre, fc / (fe/2), 'low');
% Filtrage du signal
sig_filtre = filtfilt(b, a, sig);
% Affichage du signal original et du signal filtré
subplot(2, 1, 1);
plot(sig);
title('Signal audio original');
subplot(2, 1, 2);
plot(sig_filtre);
title('Signal audio filtré (coupe-bas)');
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
7

Resultat :
Dans ce signal, un filtre coupe-bas Butterworth est utilisé avec une fréquence de coupure de
1480 Hz (à ajuster selon le besoin). Les coefficients du filtre sont calculés avec butter, et le
filtre est appliqué au signal avec filtfilt. on peut visualiser le signal original et le signal filtré
pour évaluer l'effet du filtre sur le retrait des fréquences d'amplitude très faible
Fig3 : le signal d’audio filtré
C.
Identification des numéros
Nous allons analyser chaque partie audio pour extraire leurs fréquences et identifier les
numéros correspondants. Pour le premier numéro, nous allons travailler de manière détaillée,
tandis que pour les suivants, nous les identifierons directement.

Partie1 :Touche1
Code Matlab :
[sig,fe]=audioread('telephone_sound.wav');
%sound(sig)
plot(sig);
% ginput(2)=> pour relever le cadre temporel de touche1
Touche1=sig(11828:17358);
y1=fft(Touche1,1024);
f=(0:1023)*fe/1024;
plot(f,abs(y1)),axis([0 fe/2 0 18]),grid;
title('Signal Audio Touche1');
ginput(2)
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
8
Les deux fréquences sont :
Signal Audio Touche1
18
f1≈703 hz
16
f2≈ 1222 hz
14
12
donc : touche1 = 1
10
8
6
4
2
0
0
0.5
1
1.5
2
10
4
Fig4 : le signal d’audio touche1

Partie2 :Touche2, Touche3, Touche4, Touche5, Touche6
Signal Audio Touche3
25
20
15
10
5
0
0
0.5
1
1.5
2
10 4
F1≈ 768 hz
F2≈ 1337 hz
touche2=5
F1≈ 863 hz
F2≈ 1337 hz
Touche3=8
Signal Audio Touche4
F1≈ 931 hz
F2≈ 1337 hz
Touche4=0
TP TRAITEMENT DE SIGNAL
F1≈ 965 hz
F2≈ 1202 hz
Touche4=*
HAMZA JEBBARI
9
Les deux fréquences sont :
f1≈ 965 hz
f2≈ 1473 hz
donc : touche6 = #
Fig5 : le signal d’audio touche6

La combinaison est : 1580*#
D.

Génération de tonalités pour touches en MATLAB
les fonctiones Matlab :
Le code MATLAB est une interface utilisateur graphique (GUI) pour décoder des signaux. Il
utilise des fonctions spécifiques pour différentes actions :



decode: Cette fonction est l'entrée principale et gère l'instance de la GUI.
decode_OpeningFcn: Elle initialise les paramètres et données de la GUI lors de son
ouverture.
decode_OutputFcn: Cette fonction récupère les sorties de la GUI.
b1_Callback, b2_Callback, ..., bn_Callback: Ces fonctions sont déclenchées lorsqu'un
bouton de la GUI est pressé. Chacune génère un signal spécifique en utilisant des fréquences
attribuées et utilise la fonction sound pour jouer le signal.
D'autres fonctions gèrent des actions spécifiques sur la GUI, comme l'affichage
d'informations (info_Callback) ou la fermeture de la GUI (close_Callback).
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
10

Voici quelques captures :
Fig6 : Génération de tonalités pour touches
Lorsque vous appuyez sur un bouton, cela affichera les signaux dans le domaine temporel et
les spectres de ces signaux à côté des touches correspondantes, en utilisant des filtres passebas et passe-haut pour séparer ces deux fréquences.
III. Les filtres numériques (TP2)
Dans cette section, nous allons explorer et utiliser différentes techniques de filtrage numérique
intégrées dans le traitement des signaux numériques. Cela inclut l'étude des filtres à réponse
impulsionnelle finie (RIF), des filtres à réponse impulsionnelle infinie (IIR), ainsi que leurs
types et leurs applications spécifiques sur un signal donné
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
11
A.
Exemples d'implémentation de FIR
1.

Filtre passe-bas
Code Matlab :
Réponse temporelle :
%passe bas
fc=200 ; fe=1000 ; N=65 ; fcn=fc/(fe/2);te=1/fe;
a=fir2(N-1,[0 fcn fcn 1], [1 1 0 0], blackman(N));
[y,n]=impz(a,1,N);
stem(n,y));
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre passe-bas');
Réponse fréquentiel :
%rep.frequ
[H,f]=freqz(a,1,1024,fe);
g=20*log10(abs(H));
plot(f,g), axis([0 fe/2 -60 1]),grid
t=0:te:1023*te;
x=sin(2*pi*50*t)+sin(2*pi*250*t);
fx=fft(x,1024);
xfilt=filter(a,1,x);
fxfilt=fft(xfilt,1024);
ff=(0:1023)*fe/1024;
subplot(4,1,1),plot(t,x),axis([0.1 0.2 -2 2])
subplot(4,1,2),plot(ff,abs(fx)),axis([0 fe/2 0 500 ]),grid
subplot(4,1,3),plot(t,xfilt),axis([0.1 0.2 -2 2]),grid
subplot(4,1,4),plot(ff,abs(fxfilt)),axis([0 fe/2 0 500 ]),grid
Réponse temporelle du filtre passe-bas
0.5
Réponse frequentiel du filtre passe-bas
2
0
0.4
-2
0.1
0.11
0.12
0.13
0.14
0.15
0.16
0.17
0.18
0.19
0.2
50
100
150
200
250
300
350
400
450
500
0.11
0.12
0.13
0.14
0.15
0.16
0.17
0.18
0.19
0.2
50
100
150
200
250
300
350
400
450
500
500
0.3
0.2
0
0
2
0.1
0
0
-2
0.1
500
-0.1
0
10
20
30
40
50
60
70
temps(s)
Fig7 : Réponse temporelle(passe-bas)
0
0
Fig8 : Réponse fréquentiel (passe-bas)
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
12
2.

Filtre passe-haut
Code Matlab :
Réponse temporelle :
%passe haut
fc=200 ; fe=1000 ; N=65 ; fcn=fc/(fe/2);
a=fir2(N-1,[0 fcn fcn 1], [0 0 1 1], blackman(N));
[y,n]=impz(a,1,N);
stem(n,y)
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre passe-haut');
Réponse fréquentiel :
%rep.frequ
[H,f]=freqz(a,1,1024,fe);
g=20*log10(abs(H));
plot(f,g), axis([0 fe/2 -60 1]),grid
t=0:te:1023*te;
x=sin(2*pi*50*t)+sin(2*pi*250*t);
fx=fft(x,1024);
xfilt=filter(a,1,x);
fxfilt=fft(xfilt,1024);
ff=(0:1023)*fe/1024;
subplot(4,1,1),plot(t,x),axis([0.1 0.2 -2 2])
subplot(4,1,2),plot(ff,abs(fx)),axis([0 fe/2 0 500 ]),grid
subplot(4,1,3),plot(t,xfilt),axis([0.1 0.2 -2 2]),grid
subplot(4,1,4),plot(ff,abs(fxfilt)),axis([0 fe/2 0 500 ]),grid
Réponse temporelle du filtre passe-haut
0.6
0.5
0.4
Amplitude
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
0
10
20
30
40
50
60
70
temps(s)
Fig9 : Réponse temporelle (passe-haut)
TP TRAITEMENT DE SIGNAL
Fig10 : Réponse fréquentiel (passe-haut)
HAMZA JEBBARI
13
3.

Filtre passe-bande
Code Matlab :
Réponse temporelle :
%passe-bande
fe=1000 ; fc1=100 ;fc2=300 ; fcn1=fc1/(fe/2) ; fcn2=fc2/(fe/2); N=65 ;
a=fir2(N-1,[0 fcn1 fcn1 fcn2 fcn2 1], [0 0 1 1 0 0], blackman(N));
[y,n]=impz(a,1,N);
stem(n,y)
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre passe-band');
Réponse fréquentiel :
%rep.frequ
[H,f]=freqz(a,1,1024,fe);
g=20*log10(abs(H));
plot(f,g), axis([0 fe/2 -10 1]),grid
t=0:te:1023*te;
x=sin(2*pi*50*t)+sin(2*pi*250*t)+ sin(2*pi*400*t);
fx=fft(x,1024);
xfilt=filter(a,1,x);
fxfilt=fft(xfilt,1024);
ff=(0:1023)*fe/1024;
subplot(4,1,1),plot(t,x),axis([0.1 0.2 -2 2])
subplot(4,1,2),plot(ff,abs(fx)),axis([0 fe/2 0 500 ]),grid
subplot(4,1,3),plot(t,xfilt),axis([0.1 0.2 -2 2]),grid
subplot(4,1,4),plot(ff,abs(fxfilt)),axis([0 fe/2 0 500 ]),grid
Réponse temporelle du filtre passe-band
0.5
0.4
0.3
Amplitude
0.2
0.1
0
-0.1
-0.2
-0.3
0
10
20
30
40
50
60
70
temps(s)
Fig11 : Réponse temporelle (passe-bande)
TP TRAITEMENT DE SIGNAL
Fig12 : Réponse fréquentiel (passe-bande)
HAMZA JEBBARI
14
4.

Filtre rejecteur de bande
Code Matlab :
Réponse temporelle :
%rejecteur de bande
fe=1000 ; fc1=100 ;fc2=300 ; fcn1=fc1/(fe/2) ; fcn2=fc2/(fe/2); N=65 ;
a=fir2(N-1,[0 fcn1 fcn1 fcn2 fcn2 1], [1 1 0 0 1 1], blackman(N));
[y,n]=impz(a,1,N);
stem(n,y)
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre rejecteur de bande');
Réponse fréquentiel :
Amplitude
%rep.frequ
[H,f]=freqz(a,1,1024,fe);
g=20*log10(abs(H));
plot(f,g), axis([0 fe/2 -10 1]),grid
t=0:te:1023*te;
x=sin(2*pi*50*t)+sin(2*pi*250*t)+ sin(2*pi*400*t);
fx=fft(x,1024);
xfilt=filter(a,1,x);
fxfilt=fft(xfilt,1024);
ff=(0:1023)*fe/1024;
subplot(4,1,1),plot(t,x),axis([0.1 0.2 -2 2])
subplot(4,1,2),plot(ff,abs(fx)),axis([0 fe/2 0 500 ]),grid
subplot(4,1,3),plot(t,xfilt),axis([0.1 0.2 -2 2]),grid
subplot(4,1,4),plot(ff,abs(fxfilt)),axis([0 fe/2 0 500 ]),grid
Fig13 : Réponse temporelle (rejecteur)
TP TRAITEMENT DE SIGNAL
Fig14 : Réponse fréquentiel (rejecteur)
HAMZA JEBBARI
15
B.
Exemples d'implémentation de IIR
𝑦=
1.

a(i) x(n − i) −
b(j) x(n − j)
Filtre passe-bas
Code Matlab :
Amplitude
%pass bas ordre=4
n=input('ordre de filtre =')
fc=100; fe=1000;fcn=fc/(fe/2);
[num,den]=butter(n,fcn,'low');
%analyse temporelle:
[y,n]=impz(num,den,100);
stem(n,y)
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre passe-bas');
%analyse frequentiel:
[H,f]=freqz(num,den,1024,fe);
g=20*log10(abs(H));
plot(f,g),axis([0 fe/2 -10 0]),grid
title('Réponse frequentiel du filtre passe-bas')
Fig15 : Réponse temporelle(passe-bas)
TP TRAITEMENT DE SIGNAL
Fig16 : Réponse fréquentiel (passe-bas)
HAMZA JEBBARI
16
2.

Filtre passe-haut
Code Matlab :
Amplitude
%pass haut ordre=6
n=input('ordre de filtre =')
fc=100; fe=1000;fcn=fc/(fe/2);
[num,den]=butter(n,fcn,'high');
%analyse temporelle:s
[y,n]=impz(num,den,100);
stem(n,y)
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre passe-haut');
% analyse frequentiel:
[H,f]=freqz(num,den,1024,fe);
g=20*log10(abs(H));
plot(f,g),axis([0 fe/2 -10 0]),grid
title('Réponse frequentiel du filtre passe-haut')
Fig17 : Réponse temporelle(passe-bas)
3.

Code Matlab :
TP TRAITEMENT DE SIGNAL
Fig18 : Réponse fréquentiel (passe-bas)
Filtre passe bande
%filre passe-bande ordre=6
n=input('ordre de filtre =')
fc=100; fe=1000;fcn=fc/(fe/2);
[num,den]=butter(n,[0.2 0.6]);
%analyse temporelle:s
[y,n]=impz(num,den,100);
stem(n,y)
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre passe-bande');
% analyse frequentiel:
[H,f]=freqz(num,den,1024,fe);
g=20*log10(abs(H));
plot(f,g),axis([0 fe/2 -10 0]),grid
title('Réponse frequentiel du filtre passe-bande')
HAMZA JEBBARI
17
Fig19 : Réponse temporelle(passe-bande)
4.

Fig20 : Réponse fréquentiel (passe-bande)
Filtre rejecteur de bande
Code Matlab :
Amplitude
%filre rejecteur-bande ordre=6
n=input('ordre de filtre =')
fc=100; fe=1000;fcn=fc/(fe/2);
[num,den]=butter(n,[0.2 0.6],'stop');
%analyse temporelle:s
[y,n]=impz(num,den,100);
stem(n,y)
xlabel('temps(s)');
ylabel('Amplitude');
title('Réponse temporelle du filtre rejecteur-bande');
% analyse frequentiel:
[H,f]=freqz(num,den,1024,fe);
g=20*log10(abs(H));
plot(f,g),axis([0 fe/2 -10 0]),grid
title('Réponse frequentiel du filtre rejecteur-bande')
Fig21: Réponse temporelle(passe-bande)
TP TRAITEMENT DE SIGNAL
Fig22 : Réponse fréquentiel (passe-bande)
HAMZA JEBBARI
18
C.
La fenêtre Filtre Designer
Filtre Designer représente une interface graphique robuste présente dans Signal Processing
Toolbox, dédiée à la conception et à l'évaluation de filtres. Cet outil offre la possibilité de
concevoir rapidement des filtres numériques FIR ou IIR. Il permet de définir des critères de
performance pour les filtres, d'importer des filtres depuis l'espace de travail MATLAB et de
manipuler les pôles et les zéros en ajoutant, déplaçant ou supprimant ces éléments. En plus de
la conception, Filter Designer propose des fonctionnalités d'analyse des filtres, telles que des
représentations graphiques des réponses en amplitude et en phase, ainsi que des graphiques
pôle-zéro pour une meilleure compréhension et évaluation des filtres.
Fig23 : Filtre Designer
1.
Configuration de la fenêtre pour un FIR
Fig24 : Filtre passe-bas ordre=200
TP TRAITEMENT DE SIGNAL
Fig25 : Filtre passe-haut ordre=200
HAMZA JEBBARI
19
Fig26 : Filtre passe-bande ordre=200
D.
Fig27 : Filtre bandstop ordre=150
Implémentation de filtre FIR sur DSP
Cette simulation explique comment mettre en place un filtre numérique à réponse
impulsionnelle finie (FIR). Ce type de filtre est utilisé pour traiter des signaux numériques tels
que des signaux audio ou vidéo.
Pour réaliser ce filtre, on utilise le logiciel Code Composer Studio, qui est spécialement
conçu pour programmer des processeurs de signal numérique (DSP). Dans le cas présent, le
DSP utilisé est le TMS320C6713, qui est un processeur de signal numérique de haute
performance. Ce processeur est capable de réaliser des opérations mathématiques
complexes en temps réel, ce qui en fait un choix idéal pour les applications de traitement de
signal.

Génération des coefficients de filtre
Fig28 : generate coefficients
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
20

Simulation sur code composer studio
Fig29 : les éléments nécessaire
Une fois le code C débogué et la simulation effectuée, on utilise les propriétés
graphiques de l'outil pour visualiser à la fois le signal d'entrée et le signal après le
filtrage.

Résultat
1.
Signal d’entrée :
2.
Signal de sortie :
Fig30 : signal filtrée(FIR)
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
21
E.
Implémentation de filtre IIR sur DSP
nous avons maintenant l'opportunité de réaliser une activité captivante portant sur
l'implémentation d'un filtre à réponse impulsionnelle infinie (RII) sur le DSP TMS320C6713.
Comme dans l'exemple précédent, nous allons maintenant remplacer uniquement les
coefficients existants par d'autres coefficients de filtre IIR générés par Matlab.

Résultat
Fig31 : signal filtrée(IIR)
Le filtre_ IIR passe bande d’ordre 65 avec les fréquences de coupure fc1=50 et fc2 = 2KHz c'est-à-dire
que notre filtre il fait atténuer les fréquences supérieures à 2KHz et il fait atténuer les fréquences
inferieurs à 50Hz et donc la fréquence de sortie il doit être d'ordre de300 Hz et c’est ça ce qu’était
trouver d’après la simulation F ≈ 300Hz.
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
22
F.

Implémentation de filtre FIR sur FPGA
Interface de xilinix ise
Fig32 : XILINIX ISE
Une fois que le code VHDL est généré à l'aide de Filter Designer, il peut être
implémenté sur un FPGA. Pour vérifier la fonctionnalité de la conception, une
simulation peut être effectuée en utilisant Vivado, qui offre la possibilité de visualiser
les signaux sous forme analogique. Vivado peut être utilisé pour simuler du code
VHDL/Verilog, et de nombreux tutoriels en ligne démontrent comment créer un
testbench de simulation à l'aide de Vivado. Les packages standard IEEE fournissent
des types de données et des opérateurs utiles qui peuvent être utilisés dans le code
VHDL, et ils doivent être inclus dans le code VHDL en utilisant des déclarations telles
que library ieee; use ieee.std_logic_1164.all.

Résultat de filtre passe-bas(xilinix ise) :
Fig33 :filtre passe-bas utilisant XILINIX ISE
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
23

Résultat de filtre passe-bas(vivado xilinix) :
Fig34 :filtre passe-bas utilisant VIVADO XILINIX
IV. Conclusion
L'implémentation de filtres FIR et IIR sur des DSP et des FPGA présente des
caractéristiques distinctes. Les DSP sont conçus pour des applications de traitement du signal
spécifiques nécessitant une faible consommation d'énergie et une vitesse de traitement élevée.
Ils sont bien adaptés pour les applications de traitement séquentiel, telles que les filtres IIR.
En revanche, les FPGA offrent une plus grande flexibilité et sont bien adaptés aux
applications nécessitant un traitement parallèle, telles que les filtres FIR. Les FPGA peuvent
être configurés pour exploiter des structures parallèles, telles que les filtres FIR systoliques,
offrant ainsi des performances élevées. En outre, les FPGA peuvent être optimisés pour des
applications spécifiques, offrant ainsi une vitesse de traitement compétitive. En résumé, les
DSP sont adaptés pour les applications de traitement séquentiel telles que les filtres IIR, tandis
que les FPGA offrent une plus grande flexibilité et des performances élevées pour les
applications de traitement parallèle telles que les filtres FIR.
TP TRAITEMENT DE SIGNAL
HAMZA JEBBARI
Download