TPManips.pdf

Embed Size (px)

Citation preview

  • MINISTERE DE LENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

    ECOLE NATIONALE POLYTECHNIQUE

    Dpartement dElectronique

    1999/2011 ABDELOUEL Lahcene BELOUCHRANI Adel

    MINISTERE DE LENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

    ECOLE NATIONALE POLYTECHNIQUE Dpartement Electronique

    Anne Universitaire 2010/2011

    Travaux Pratiques Traitement du signal

    TP Matlab (Pr requis)

    PROGRAMMATION MATLAB Rappels : Matrices, Graphes, scripts et fonctions

    PARTIE I TRAITEMENTS NUMERIQUES Tp 1 REPRESENTATIONS DE SIGNAUX

    a) Reprsentation temporelle (Gnration de Signaux ) b) Reprsentation frquentielle : Transforme de Fourier (FT),

    Tp 2 ECHANTILLONNAGE ET RECONSTRUCTION DE SIGNAUX.

    Tp 3 TRANSFORMEE DE FOURIER DISCRETE (DTFT, DFT & FFT ).

    Tp 4 FILTRAGE NUMERIQUE Filtres RIF, Filtres RII, Equation aux diffrences

    Tp 5 ESTIMATION SPECTRALE Gnration dun signal partir dune densit spectrale

    PARTIE II : PROJETS & APPLICATIONS DU TS TELECOMMUNICATIONS AUDIO/VIDEO NUMERIQUE ACQUISITION DE DONNEES. . ETC

  • Traitement du signal i ABDELOUEL / BELOUCHRANI 1999@ 2011 [email protected]

    Anne Univ. 2010/2011

    MINISTERE DE LENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

    ECOLE NATIONALE POLYTECHNIQUE Dpartement dElectronique

    Traitement du signal

    TRAVAUX PRATIQUES

    TP-T.D.S

    PRESENTATION Chacune des manipulations du module Traitement de signal se compose de trois parties distinctes:

    1. Une partie thorique qui rend le TP indpendant de l'avancement du cours. 2. Une partie de prparation qui permet l'tudiant de se pencher sur tous les points de son

    TP et de rsoudre les exercices proposs 3. Une partie dite "Manipulation" qui permet ltudiant de vrifier pratiquement sur machine

    les diffrentes notions tudies en cours DEROULEMENT DU TP ET RECOMMANDATIONS PREPARATION : Le temps imparti pour la manipulation tant limit, il est important que les tudiants

    s'astreignent rsoudre les problmes poss dans les temps en se prsentant avec une prparation (Individuelle).

    Ltudiant ne sera pas autoris manipuler s'il n'est pas muni de sa prparation individuelle, contenant entre autres la solution des exercices proposs, et les programmes MATLAB demands. Lenseignant charg des TPs, pourra procder des tests et vrifications; pour sassurer que les solutions et les programmes de la prparation sont luvre de ltudiant.

    MODALITES DE DEROULEMENT Les TP ncessitant un logiciel mathmatique de calcul numrique, et peuvent tre raliss

    sous Matlab, Octave o Scilab. Matlab est un logiciel commercial, Octave et Scilab sont des logiciels librement utilisables (open source). Octave est un clone de Matlab avec une syntaxe trs proche et des programmes fortement compatibles. Scilab a diverses particularits et une syntaxe quelque peu diffrente. Les aspects textuels (commentaires, chanes de caractres, etc) et graphiques de Matlab et Scilab sont pratiquement incompatibles.

    Pour le droulement proprement dit des manipulations, les tudiants doivent sorganiser en binmes ou la limite en trinmes, selon les moyens informatiques disponibles

    SEANCE DE TP : A chaque sance, il vous sera demand :

    1. D'crire un ou plusieurs script(s) mettant en uvre les appels aux fonctions (Matlab/Octave/Scilab) pour rsoudre certains problmes du traitement du signal.

    2. De dcrire les problmes examins, les oprations effectues par le logiciel de calcul numrique, et les rsultats obtenus.

    Les tudiants doivent remettre le compte rendu du TP (Rapport crit+programmes) la fin de la sance, ou dans le cas chant lors de la prochaine sance de TP. Aucun retard ne sera tolr au del dune 1 semaine aprs la dernire sance.

    EVALUATION 1. Prparation et comprhension des exercices (valuation continue : 25%) 2. Travail effectu lors des sances de TP (valuation continue : 25%) 3. Rapports de synthse (25%) 4. Test de TP final (25%)

    Traitement du signal ii ABDELOUEL / BELOUCHRANI 1999@ 2011 [email protected]

    COMPTE RENDU DU TP Le rapport crit contiendra l'analyse des problmes, le cheminement utilis pour les rsoudre,

    le dtail des calculs des solutions thoriques /mathmatiques des problmes poss, les figures commentes, vos remarques et explications associes chaque exercice de faon montrer si les rsultats obtenus correspondent oui ou non aux rsultats attendus.

    La qualit du rapport (pertinence de vos remarques, commentaires et explications), ainsi que celle du code (utilisation de fonctions/ scripts Matlab, gestion efficace des variables) seront au coeur de lvaluation : mieux vaut faire peu mais bien

    Chaque tudiant/binme sera responsable de la sauvegarde de ses fichiers (Rapport crit+programmes) sur la plateforme denseignements dlectronique (Voir procdure daccs).

    BIBLIOGRAPHIE http://biblio.intranet.enp.edu Pour la prparation de son T.P, l'tudiant pourra se rfrer la documentation suivante: [1] M. Kunt, Traitement numriques des signaux, DUNOD 1981.

    Cote : 621.391KUN [2] M. Bellanger Traitement numrique du signal thorie et pratiques ed. Masson, 1981, 379

    Pages. Cote : 621.391 BEL [3] M. Kunt, Digital signal processing software laborator . ed P P Romandes , 1984, 89 pages,

    Cote : 681.32 KUN [4] Michel Marie, Applications de MATLAB 5 et SIMULINK 2, contrle de procds, logique

    floue, rseaux de neurones, traitement du signal : Cote : 681.3.06 MOK [5] R. Boite & M. Kunt, Traitement de la parole, P P Romandes, Lausanne, Suisse, 1987. [6] M. Labarrre, J.P. Krieff et B. Gimonet, Le Filtrage et ses applications, , Cepadues 1982. [7] J. Liffermann, Les mthodes rapides de transformation du signal: Fourier, Walsh,

    Hadamard, Haar, Masson 1980. [8] P. Fondaneche et P. Gilbertas, Filtres numriques: Principes et ralisations, Masson

    1981.. [9] P. Polletier, Traitement numrique du signal. Thorie et pratique. Masson 1971 . [10] P. Pelletier, Techniques numriques appliques aux calculs scientifiques, Masson 1971. [11] Georges Gastang, La transforme de Fourier, Revue: Mesure- Rgulation -Automatisme

    MARS 1979. [12] P. M. BEAUFILS, M. RAMI, Le filtrage numrique, Edition Sybex Applications

    Techniques [13] Patrick Duvant, Le traitement du Signal, Concepts et Applications, 2 Edition , Edition

    HERMES http://biblio.intranet.enp.edu Note :

    Les documents de TP et dautres documents trs utiles sont disponibles sur la plateforme denseignements dlectronique, accessible sur le site web de lENP http://elearning.eln.enp.edu.dz

    Linscription au cours est automatique, prenez contact avec votre enseignant pour avoir le code daccs

    Autres liens : http://sites.google.com/site/T2Signal/ https://spideroak.com/browse/share/Abdelouel/T2Signal email : [email protected]

  • Traitement du signal Page 3 TP1 : Reprsentation de Signaux ABDELOUEL / BELOUCHRANI 1999@ 2011

    2010/2011

    ECOLE NATIONALE POLYTECHNIQUE DEPARTEMENT ELECTRONIQUE

    TRAVAUX PRATIQUES TRAITEMENT DU SIGNAL

    TDS-TP 1 REPRESENTATIONS DE SIGNAUX

    Un signal est une entit qui sert vhiculer une information. Cest une quantit physique mesurable qui volue en fonction dune ou plusieurs variables Un systme est une entit physique qui ralise une opration sur un signal

    TRAITEMENT DU SIGNAL Le traitement du signal (analogique ou numrique) consiste 1. A tudier le signal, lanalyser, en extraire les informations pertinentes (radar, sonar, etc). 2. A modifier le signal (enlever les parasites dun son, claircir une image .etc. ) 3. A synthtiser/reproduire des signaux nouveaux voix artificielles

    APPROCHES DE CARACTERISATION D'UN SIGNAL: Description

    Frquentielle Description Statistique

    Description Temporelle

    signaux priodiques

    Signaux non priodiques

    Signaux alatoires

    valeur instantane d'un signal.

    x(t)

    Dcomposition en Srie de Fourier

    (DSF)1

    Transforme de Fourier (TF) 2

    X(f)

    Proprits statistiques

    (Moy,Var, Puissance)

    x(t) et X(f) sont deux descriptions quivalentes (temporelle ou frquentielle) du mme signal.

    On peut dfinir trois spectres de x (t). 1. Le spectre en amplitude si lon trace |X (f)|. 2. Le spectre en phase si lon trace Arg (X (f)). 3. Le spectre dnergie si lon trace |X (f) |2.

    PREPARATION 1. Calculer la transforme de Fourier de chacun de signaux suivants :

    2. Calculer la transforme de Fourier X(f) des signaux suivants Le signal avec a > 0 Le signal sinusodal de frquence f0. La fonction exponentielle complexe :

    1 La dcomposition en Srie de Fourrier (DSF) consiste exprimer un signal priodique

    comme une combinaison linaire de signaux. 2 La Transforme de Fourier (TF) peut tre vue comme une gnralisation des sries de Fourier aux signaux

    non priodiques. La TF constitue le lien entre la reprsentation temporelle d'un signal et sa reprsentation frquentielle.

    Traitement du signal Page 4 TP1 : Reprsentation de Signaux ABDELOUEL / BELOUCHRANI 1999@ 2011

    MANIPULATIONS 3 MMaanniipp 11 ((**)):: 1. Complter le code Matlab suivant pour reprsenter sur le mme graphe (o dans une mme fentre

    graphique) les variations de trois signaux de base (sinusodaux) ainsi que leur combinaison.

    Code Matlab

    % dfinition des paramtres f0 = 0.51; A0 = 1; f1 = 0.11; A1 = 2; f2 = 0.21; A2 = 2; % dclaration de signaux de base x0 = A0*sin(2*pi*f0*t); x1 = A1*sin(2*pi*f1*t); x2 = A2*sin(2*pi*f2*t); x3=x0+x1+x2 ; % combinaison % affichage des signaux plot(t, x0, 'y'); plot(t, x1, 'g'); plot(t, x2, 'c'); plot(t, x3, 'k.');

    MMaanniipp 22 :: 1. Ecrire une fonction MATLAB qui nous permet de gnrer une sinusode de longueur finie. La fonction

    doit accepter 5 paramtres (Amplitude, frquence, phase initiale, le dbut et la fin de lintervalle). La valeur de retour est un vecteur colonne les chantillons de la sinusode

    2. Ecrire le code MATLAB pour gnrer et reprsenter graphiquement les signaux suivants x1(t) = 4*cos(5pit/4) t 2s x2(t) = 3*cos(4t) + sin(pit) t 20s

    MMaanniipp 33 ((**)):: On considre les quatre signaux suivants :

    x1(t) = cos (2pif1t+p1) x2(t) = cos (2pif2t) x3(t) = cos (2pif3t+p3) x4(t) = x1(t) + 3*x2(t) + 2*x3(t)

    avec

    f1 = 40 Hz; p1 = pi/4, f2 = 105 Hz; f3 = 125 Hz; p3 = pi/3.

    1. Gnrer un vecteur temps t de 100 points entre t0 = 0s et t1 = 0.1s. 2. Tracer les xi(t); (i = 1; 4). Utiliser la commande subplot afin de tracer les quatre courbes les unes en

    dessous des autres. 3. Calculer la transforme de Fourier4 (fonction fft ) de chaque signal et reprsenter le spectre dnergie

    entre 0 Hz et 1000Hz . Utiliser la commande subplot afin de tracer les quatre courbes cot de chaque signal temporel de la question (2).

    4. A laide de la commande fftshift, reprsenter le spectre dnergie entre -500 Hz et 500 Hz. Utiliser la commande subplot afin de tracer les quatre courbes cot de chaque signal temporel et frquentiel des questions 2 et 3.

    NB. Toutes les figures devront tre traces avec les axes et les lgendes des axes appropris. MMaanniipp 44 ((**)):: Soit le signal avec a > 0 Ecrire un script Matlab comment pour raliser les oprations suivantes : 1. Tracer le signal x(t) entre 5 et 5, avec un pas de temps Te = 0.01s, et pour a = 1. 2. Tracer la transforme de Fourier Xa(f) calcule de manire formelle (expression algbrique) entre

    [-5Hz ..5Hz] avec un pas de frquence Fe = 0.01Hz. 3. Tracer le module et la phase de la transforme de Fourier (fonctions abs et angle). 4. Tracer le spectre en amplitude de X(f), la TF de x(t) entre 5 et 5 Hz. Justifier les diffrences avec le

    rsultat du (2). 5. Calculer la transforme de Fourier Inverse de X(f). Retrouve t'on exactement le signal de dpart x(t)? 66.. Illustrer la proprit de dcalage frquentiel de la TF en reprsentant le module de la TF de

    avec fo=5 Hz.

    3 Remarque : Ce TP traite en principe des signaux continus. Or l'utilisation de Matlab suppose l'chantillonnage du

    signal. Il faudra donc tre vigilant par rapport aux diffrences de traitement entre le temps continu et le temps discret. 4 Pour linstant on ne se proccupera pas des diffrences fondamentales entre la Transforme de Fourier et la

    Transforme de Fourier Discrte.

  • Traitement du signal Page 5 TP1 : Reprsentation de Signaux ABDELOUEL / BELOUCHRANI 1999@ 2011

    MMaanniipp 55 Le modle de bruit le plus couramment rencontr dans les mesures est le bruit blanc Gaussien. Il est ralis par la fonction Matlab randn() 1. Ecrire un script Matlab pour gnrer et reprsenter graphiquement 1000 points d'un signal alatoire

    uniforme de moyenne nulle et de variance gale 1 (fonction rand). Faites de mme pour un signal alatoire gaussien de moyenne nulle et de variance gale 1. Tracer et commenter lhistogramme de chaque signal (fonction hist)

    2. Rcrire le script suivant pour le transformer en une fonction bsinus() avec paramtres afin de gnrer une sinusode de frquence f0 bruite avec un bruit blanc gaussien de variance Var.

    t = (0:0.001:1)'; % Te y = 3*sin(2*pi*80*t) % F1 yn = y + 0.5*randn(size(t)); %Var plot(t(1:50),yn(1:50)) % Ne

    3. Ecrire un programme principal (script) faisant appel la fonction pour exprimenter diffrentes ralisations de signaux sinusodaux bruits.

    NNootteess MMaattllaabb :: 1. fft(X,N) est la transforme de Fourier discrte sur N points du vecteur X, complt avec des zros si X a

    moins de N points et tronqu si X a plus de N points. 2. La commande Xf=fft(X,N) codant les frquences ngatives entre N/2+1 et N valeurs du signal Xf, la

    commande fftshift(Xf) permet de centrer le spectre sur les frquences nulles (entre 1/(2 Te) et 1/(2 Te). 3. Pour approximer la Transforme de Fourier continue X(f) dun signal x(t), reprsent suivant un pas

    Te, on utilise la commande : Xf= fftshift(Te * fft(x)) ; 4. La transforme de Fourier Inverse sobtient par la commande xt=abs(ifft(Xf)/Te). Notez quil est

    ncessaire de considrer le module de la TF inverse , car la TF et la TF inverse sont des oprateurs valeurs complexes.

    EExxeemmpplleess ddee ccooddee MMaattllaabb :: Dfinition des fonctions Echelon et Rectangle Fonction Echelon Fonction Rectangle clear all % dfinition du vecteur temps n = 100 ; t = linspace(-5,5,n) % Dfinition de la fonction Echelon Echelon = @(u) (u>0);

    % Dfinition de la fonction Rectangle Rectangle = @(u,tau) (abs(u)

  • Traitement du signal Page 7 TP2 : Echantillonnage ABDELOUEL / BELOUCHRANI 1999@ 2011

    Manip 4 : 1. Gnrer sur un intervalle de 10 ms quatre sinusodes avec fe=8000Hz et une phase initiale

    arbitraire. Fait varier la frquence 0f de 100 Hz 475 Hz par pas de 125 Hz. 2. Tracer les 4 signaux obtenus dans lordre sur la mme fentre en utilisant la fonction MATLAB

    subplot. 3. Vrifier est ce que les frquences obtenus sur les courbes traces correspondants aux valeurs de 0f .

    Expliquer ce rsultat. 4. Refaire les tapes prcdentes (1,2,3) en variant cette fois-ci la frquence 0f de 7525 Hz 7900

    Hz par pas de 125 Hz. Noter que la frquence apparente de la sinusode sur les courbes traces dcrot. Expliquer ce phnomne.

    5. Refaire les tapes prcdentes (1,2,3) en variant la frquence 0f de 32100 32475 Hz par pas de 125 Hz.

    6. Prdire lavance si la frquence apparent de la sinusode sur les courbes traces dcrot ou crot. Expliquer.

    Manip 5 : 1. Gnrer 0.8 secondes dun signal s(t) sinusodal d'amplitude

    1 de frquence f=100 Hz chantillonn fe=1000 Hz. 2. Combien y a t'il d'chantillons (Ne) ?

    Quelle est la longueur du vecteur s ? 3. Reprsenter le module de la TFD avec la commande :

    plot(abs(fft(s))). 4. Gnrer le vecteur des frquences freq = n. fs/Ne,

    avec n variant de 0 Ne-1. 5. Reprsenter le module de la TFD en fonction du vecteur

    frquences freq : commande plot(freq,abs(fft(s))). 6. Vrifier qu'il y a bien une raie la frquence du signal.

    % Notes A=1; F=100; Tobs=0.8 ; Fe=1000; Te=1/Fe ; Ne=Tobs*Fe %Ne*Te=Tobs N=0 :Ne-1 ; t=N*Te; Freq=N*fe/Ne; S= plot(freq,abs(fft(s))).

    Manip 6 : A partir d'un signal de rfrence sinusodal, de frquence fr= 950 hz et pour une frquence

    d'chantillonnage fe de 1 khz:: 1. Tracer le graphe du signal et calculer sa priode 2. calculer la frquence apparente du signal ( partir du graphe fa=1/T) 3. Raliser les mmes oprations avec une frquence d'chantillonnage fe de 2 khz puis de 20 khz 4. Expliquer la diffrence entre la frquence relle du signal et le calcul de la la priode ou

    frquence raliss

    Manip 7 (*): 1. Gnrer un signal en dent de scie de dure 1.5 secondes et de frquence de 180 Hz chantillonn

    une frquence de 10 kHz 2. Gnrer un signal carr de dure 1.5 secondes et de frquence de 180 Hz chantillonn une

    frquence de 10 kHz 3. Tracer seulement 0.2 secondes des signaux gnrs (utiliser les fonctions sawtooth et square)

    fs = 10000; t = 0:1/fs:1.5; x1 = 0.2*sawtooth(2*pi*180*t); x2=0.2*square (2*pi*180*t);

    plot(t,x1,t,x2), axis([0 0.2 -1 1]); disp('Taper sur la touche "Entre" pour continuer'); pause;

    Traitement du signal Page 8 TP3-Transformes de Fourier ABDELOUEL / BELOUCHRANI 1999@ 2011

    2010/2011

    ECOLE NATIONALE POLYTECHNIQUE DEPARTEMENT ELECTRONIQUE

    TRAVAUX PRATIQUES TRAITEMENT DU SIGNAL

    TDS-TP 3 TTTRRRAAANNNSSSFFFOOORRRMMMEEEEEESSS DDDEEE FFFOOOUUURRRIIIEEERRR

    DE SIGNAUX NUMERIQUES (DTFT, DFT, FFT) Une alternative la reprsentation temporelle du signal consiste reprsenter son contenu frquentiel (dcomposition spectrale.

    Celui-ci est obtenu en calculant sa transforme de Fourier (FT : Fourier Transform) Pour les signaux discrets, la transformation de Fourier discrte est une des pierres angulaires du traitement du signal

    RAPPELS : DTFT & DFT La transforme de Fourier temps discret (DTFT : Discrete Time Fourier Transform) dune signal discret {x[k]} est une fonction frquence continue S(f), et il est dusage de la reprsenter sur les intervalles de frquence normalise [1/ 2,1/ 2] ou [0,1], du fait de sa priodicit. Le calcul sur ordinateur de la DTFT partir de la valeur des chantillons de x[k] impose une charge de calcul infinie puisque la frquence f varie continment sur lintervalle [0,1]. Cest la raison pour laquelle la notion de transforme de Fourier discrte (DFT : Discrete Fourier Transform) a t introduite. Son calcul est limit un nombre fini (N) de points de la suite temporelle {x[k]} et un nombre fini (L) de valeurs de la frquence f : L, le nombre de points de calcul de la DTFT influe sur la prcision du trac du spectre, tandis que N est li la rsolution. Lintrt pratique de la DFT est trs largement d la dcouverte dune mthode de calcul rapide connue sous le nom de transforme de Fourier rapide (FFT : Fast Fourier Transform), et prendre L = N ne restreint en rien la gnralit de la notion introduite. La fait de limiter N le nombre dchantillons dun signal peut tre vu comme la multiplication terme terme de la totalit du signal par la fentre rectangulaire W(k). Cette multiplication est quivalente, dun point de vue spectral, convoluer la DTFT de x[k ] avec la DTFT de w(k). Cette opration de convolution a pour effet dintroduire des ondulations dans le spectre.

    PREPARATION 1. Calculer la transforme de Fourier dun cosinus et dun sinus 2. Montrer que la transformation de Fourier temps discret (DTFT) W(f) de la fentre rectangulaire

    w(n) est donne par lexpression suivante : Dirichlet(, N) )1(

    )sin()sin()( = Nfjef

    fNfW pipi

    pi

    =

    =

    ailleursNnpour

    nw0

    ,1,01)( K

    3. Calculer analytiquement lexpression de la TF du signal h(n) o h[n]= an.u(n) avec a

  • Traitement du signal Page 9 TP3-Transformes de Fourier ABDELOUEL / BELOUCHRANI 1999@ 2011

    MANIPULATION

    Manip 1 On veut calculer la transforme de Fourier discrte d'une paire d'exponentielles complexes. 1. Gnrer 128 chantillons d'une somme de deux exponentielles complexes de frquences f1=1680

    Hz et f2=1780 Hz chantillonnes fe= 8 kHz, et de mme amplitude. Afficher la partie relle du rsultat.

    2. Calculer la FFT du signal sur 32 chantillons, et afficher le module. Les sinusodes sont-elles rsolues ?

    3. Refaire le calcul sur 32 chantillons en prenant une FFT sur N= 256 points frquentiels puis sur N=1024. Les sinusodes sont-elles rsolues? Interprter les rsultats obtenus en calculant f2-f1 et fe/32 ?

    4. Refaire le calcul sur 128 chantillons. Les sinusodes sont-elles rsolues? Calculer fe/128 et Interprter ?

    5. Refaire le calcul sur 128 chantillons en prenant une FFT sur N=256 points frquentiels. Est-ce que les sinusodes sont rsolues? Qu'est-ce qui change par rapport N = 128 par dfaut ?

    6. Donner la valeur de la prcision et la rsolution pour les diffrents cas prcdents.

    Manip 2 On veut gnrer une sinusode pure, de frquence donne, partir de la transforme de Fourier inverse Cela est possible en mettant deux termes non-nuls dans la transforme de Fourier discrte, le premier k et le second (son complexe conjugu) N-k, on obtient une sinusode discrte de frquence normalise f= (k/N) 1. Etudiez bien le code MATLAB suivant,

    notam-ment la ligne qui gnre les coefficients X(k)

    N=64, K=3 X=[zeros(1,k) N/2 zeros(1,N-(2*k-1)-2) N/2 zeros(1,k-1)] ; X=real(ifft(X)); plot(x)

    2. Vrifier que pour N=64 et k=3: le signal x(k) est un cosinus pur qui fait exactement k=3 cycles en N=64 chantillons

    3. En dfinissant dabord les coefficients de Fourier X(k) appropris, gnrez par transforme inverse (ifft) les signaux x[n] suivants : Un signal cosinus de dure 1 seconde, de frquence 500 Hz et damplitude 1, pour un systme

    chantillonn 8000 chantillons/seconde (vous devez donc convertir la dure en nombre dchantillons, et la frquence (500 Hz) en une valeur k qui dtermine la position des raies non-nulles dans le spectre).

    Un signal sinus de dure seconde, de frquence 800 Hz et damplitude 1, pour un systme chantillonn 8000 chantillons/seconde.

    Manip 3 La DFT correspond lchantillonnage de la DTFT aux points de frquence fe/N, o N est le nombre de points de la FFT. Calculer et tracer le module de la DTFT de la fentre rectangulaire w(n) en fonction de la frquence normalise f variant dans lintervalle -1/2 f

  • Traitement du signal Page 11 TP4 Filtrage Numrique ABDELOUEL / BELOUCHRANI 1999@ 2011

    2. Concevoir un filtre passe bas RII de type elliptique avec le gabarit suivant : Frquence dchantillonnage : Fs = 48000 Hz. Frquence de la bande passante : Fpass = 9600

    Hz. Frquence de la coupe bande : Fstop = 12000 Hz

    Ondulations dans la bande passante: Apass = 1 dB.

    Attnuation dans la coupe bande : Astop = 80 dB.

    3. Etudier la stabilit du filtre obtenu en utilisant les options de fdatool. 4. Quel est lordre du filtre obtenu ? 5. Visualiser les coefficients de lquation aux diffrences du filtre obtenu. 6. Enregistrer les coefficients obtenus dans un fichier de format .mat en utilisant loption export de

    fdatool. 7. Gnrer un signal contenant deux sinusodes : lune appartenant la bande passante, lautre

    appartenant la coupe bande du filtre ralis. 8. Etudier la fonction filter de MATLAB 9. Filtrer le signal gnr laide du filtre ralis. 10. Tracer le spectre du signal filtr et interprter le rsultat obtenu.

    Manip 3 : Refaire la Manip 2 en ralisant un filtre passe haut avec le gabarit

    suivant : a. Frquence dchantillonnage : Fs = 48000 Hz. b. Frquence de la bande passante : Fpass = 8000 Hz. c. Frquence de la coupe bande : Fstop = 7000 Hz d. Ondulations dans la bande passante: Apass = 1 dB. e. Attnuation dans la coupe bande : Astop = 80 dB.

    Manip 3bis : Montrer par un exemple quon peut

    raliser un filtre passe bande par la mise en cascade de deux filtres : lun passe bas, lautre un passe haut.

    Manip 4: Testez les scripts Matlab suivants et commentez les rsultats fsamp= 8000; fcuts = [1000 1500 2500 3000]; %fcuts = [1450 1500 2500 2550]; mags = [0 1 0]; gabarit=[0 1 1 0]; devs = [0.01 0.05 0.01]; [n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fsamp); n = n + rem(n,2); hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale'); [H,f] = freqz(hh,1,1024,fsamp); semilogy(fcuts,gabarit,f,abs(H)), grid on

    fn =[0 0.6 0.6 1]; H = [1 1 0 0]; M=30; fe=8000; f=fn*fe/2 b1=fir2(30,fn,H); b2=fir2(30,fn,H,Kaiser); [h1,f1]=freqz(b1,1,128,fe); [h2,f2]=freqz(b2,1,128,fe); plot(f,m,f1,abs(h)) legend('Ideal','FIR fir2') title('Comparison of H(f)')

    Manip 5: (Filtrage par FFT) On veut utiliser la FFT pour raliser un filtre FIR dfini par sa rponse impulsionnelle h(m).

    1. Implmenter sous Matlab la procdure suivante : Connaissant H(f), la FFT de h(m), et pour un signal d'entre x(n), calculer X(f), la FFT de x(n), multiplier les deux FFT terme terme : Y(f)= H(f ) X(f ) restituer la FFT inverse y(n) : y(n) =IFFT H(f ) X(f ) Avec H(f ) =FFT h(m ) et X(f ) =FFT x(n )

    2. Tester la procdure en utilisant le filtre dfini par h= ones(1,M)/M sur un sinusode avec un bruit additif gaussien

    Traitement du signal Page 12 TP5 : Analyse Spectrale ABDELOUEL / BELOUCHRANI 1999@ 2011

    2010/2011

    ECOLE NATIONALE POLYTECHNIQUE DEPARTEMENT ELECTRONIQUE

    TRAVAUX PRATIQUES TRAITEMENT DU SIGNAL

    TDS-TP 5 Analyse Analyse Analyse Analyse SpectraleSpectraleSpectraleSpectrale

    Les mthodes utilises pour l'analyse de signaux dterministes ne peuvent pas s'appliquer directement aux signaux alatoires. La reprsentation frquentielle des signaux alatoires fait appel une description statistique.

    L'analyse spectrale des signaux alatoires est donc un problme d'estimation. Prparation Associer chaque signal le spectre correspondant.

    MANIPULATION Manip 1 : SPTOOL est un outil qui simplifie les calculs que lon peut faire avec MATLAB. Linterface de SPTOOL permet de crer ou dimporter des signaux et des filtres et dobserver (avec loutil FVTOOL5) le rsultat du filtrage numrique en temporel et en frquentiel (outil FDATool). Toutes les oprations effectues sous ces outils sont obtenues par des calculs que lon peut excuter pas par pas dans la ligne de commande Matlab. Lutilisateur peut revenir aux calculs en utilisant les fonctions :

    Pour SPTOOL et FVTOOL : plot, stem, linspace, logspace, fft, spectrum, filter, freqz, zplane, roots, poly,

    Pour FDATOOL : les mmes plus les fonctions de synthse de FIR/IIR : filt1, filt2, butter, buttord, ellip, ellipord, yulewalk

    Lancer linterface avec la commande sptool 1. Dans la fentre SPTool, slectionnez un signal, puis dans la colonne Spectra, cliquez sur 'Create'. 2. Dans la fentre Spectrum Viewer qui vient d'apparatre choisissez une mthode d'analyse spectrale,

    puis 'Apply'. Cela vous donne le spectre du signal. 3. Il est intressant de faire cet essai sur le sinus avec les mthodes fft, et welsh. On peut aussi crer un

    signal gal la somme de 3 sinus de frquences diffrentes.

    5 FVTOOL :Filter Visualisation Tool

  • Traitement du signal Page 13 TP5 : Analyse Spectrale ABDELOUEL / BELOUCHRANI 1999@ 2011

    Manip 2: 1. Tapez h=firls(30,[0 .1 .2 .5]*2,[1 1 0 0]); 1. Lancez fvtool(h); 2. Lancez loutil SPTOOL 3. Observez le signal train laide de la

    commande view , puis son spectre aprs filtrage : trainse

    4. Observez la rponse frquentielle du filtre LSlp

    5. Exportez les objets train , trainse et le filtre LSlp dans le workspace de MATLAB. Tapez whos puis commenter.

    6. Tapez >>B=LSlp.tf.num ; A=LSlp.tf.den ; freqz(B,A)

    7. Ralisez limport dun filtre numrique sous SPTOOL en crant des supports B et A quelconques dans le workspace

    Manip 3 : 1) Charger le signal SinusGBF.xls sous lenvironnement MATLAB laide de la commande

    xlsread. 2) Importer le signal charg loutil sptool. 3) Visualiser le signal charg laide des options de sptool. 4) Lancer la fentre de lanalyse spectrale de loutil sptool pour le signal charg. 5) Calculer et visualiser le spectre du signal SinusGBF en choisissant les diffrentes mthodes

    danalyse que fournit loutil sptool. 6) Faire varier les paramtres danalyse et interprter les rsultats obtenus. 7) Refaire les oprations 1-6 pour les signaux : Sonde1.xls, Sonde2.xls et Sonde3.xls

    Manip 4 : On dispose de L chantillons dun signal x[1 . . .L], subdivis en M segments de taille N. Soit x(n) un bruit blanc de variance unitaire

    1. Estimer et dessiner la densit spectrale de ce signal laide de priodogrammes avec M = 1, M = 64, M = 256 et les 2 choix de fentre rectangulaire ou hanning.

    2. Calculez dans chaque cas la moyenne et la variance du priodogramme. Comparez aux rsultats thoriques attendus. Commentez le rle de M et du fentrage dans le cas du bruit

    Manip 5 : Analyse dun bruit blanc + 2 sinus On dispose de L chantillons dun signal x[1 . . .L], subdivis en M segments de taille N. Soit x(n) = sin(2*Pi*f1*n) + 0.3 sin(*Pi*f2*n) + b(n) avec b(n) bruit blanc de variance var et f1=0.2, f2=f1+df 1. On dispose de L = 1024 points, bruit faible Var= 0.2 : examinez les priodogrammes pour divers

    choix de df, de N et de la fentre. Dterminez les paramtres, selon df, permettant un pouvoir de rsolution optimal entre les deux raies pures.

    2. 2. Bruit fort : var = 0.05 : Quelle est la taille minimale L ncessaire (et de quelle facon les utiliser) pour assurer une sparation et extraction du bruit nette pour les 2 raies pures ? Essayez destimer les frquences et amplitudes des sinus, et la puissance var du bruit.

    Traitement du signal Page 14 TP5 : Analyse Spectrale ABDELOUEL / BELOUCHRANI 1999@ 2011

    2010/2011

    ECOLE NATIONALE POLYTECHNIQUE DEPARTEMENT ELECTRONIQUE

    TRAVAUX PRATIQUES TRAITEMENT DU SIGNAL

    TDS-TP 5b Analyse Analyse Analyse Analyse SpectraleSpectraleSpectraleSpectrale

    Gnration dun signal partir dune densit spectrale

    Prparation Considrer le systme suivant : y(n) = x(n) y(n + k 1) o k est un paramtre entier ainsi que . 1. Ce systme est-il AR, ARMA ou MA? Justifier votre rponse. 2. Etudier la causalit et la stabilit de ce systme en fonction des valeurs de k et . 3. Trouver la fonction de transfert H(z) pour k=0. En dduire la rponse frquentielle 4. Est ce que le systme considr est minimum de phase ? Justifier votre rponse. 5. Ce systme est excit par un bruit blanc de moyenne nulle et de variance 2 =1. En dduire la moyenne et la variance ainsi que la densit spectrale du signale de sortie.

    Manip 1 1. Charger le spectre H1.xls sous lenvironnement MATLAB laide de la commande xlsread. 2. Former partir de H1 un spectre symtrique par rapport lorigine des frquences. 3. Calculer la fonction dauto-corrlation partir du spectre obtenu. 4. Vrifier que la fonction dauto-corrlation obtenue est valeurs relles. 5. Obtenir les paramtres dun modle AR dordre 12 partir de la fonction dautocorrlation obtenue prcdemment en utilisant la fonction MATLAB levinson.m 6. Filtrer un signal blanc gaussien par le filtre AR obtenue ltape prcdente en utilisant la fonction MATLAB filter.m 7. Analyse le signal obtenu laide de loutil sptool 8. Comparer le spectre obtenu avec le spectre H1

    Manip 2 1. Refaire la Manip 1 pour les spectres : 2. H2.doc 3. H3.doc