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