Vous êtes sur la page 1sur 8

UNIVERSITECURIE PIERRE & MARIE LA SCIENCE A PARIS

Traitement des Signaux


Travaux Pratiques

UPMC : Master mention Physique et Applications (PG)

Benot C. Forget Christine Bou, Grgoire Deback, Mohamed Chetouani

v0.9 - 11/2004

Prsence aux T.P. : La prsence aux T.P. est obligatoire. Toute absence devra tre valablement justie et donnera lieu un rattrapage. Modalits dvaluation : A lissue des 3 sances de T.P. aura lieu un examen de T.P. Cet examen est individuel (et non par binme) et pratique (programmation sur machine). Il est donc indispensable de mettre prot les sances de T.P. pour acqurir une certaine matrise personnelle de Matlab. Dautre part, il est fortement recommand de rdiger au fur et mesure des sances un compte-rendu personnel o seront consigns la fois les aspects pratiques de Matlab, et les commentaires et conclusion qui sont tirs des expriences ralises en T.P. Ce compte-rendu constitueront le seul document autoris pour lexamen de T.P. Une disquette sur laquelle vous aurez copi les programmes raliss chacune des sances sera aussi autorise. Prparations thoriques : Les prparations thoriques sont indispensables la comprhension du T.P. et mme parfois son excution. Les T.P. tant conus pour durer 4 heures hors prparation thorique, il est ncessaire de prparer le T.P. avant la sance.

Traitement des Signaux v0.9 - 11/2004

B.C. Forget

UNIVERSITECURIE - Physique et Applications (PG) PIERRE & MARIE LA SCIENCE A PARIS

TP No 1 chantillonnage - Analyse spectrale Corrlation - Sries de Fourier 1 Prparation thorique

Achage de signaux discrets


Etudier le contenu du programme de dmonstration asig.m dont le listing est fourni dans la partie 4.

Sries de Fourier
1. Revoir lexercice No 1 du T.D. No 1 et lapporter lors de la sance. 2. Etudier le contenu du programme de dmonstration sf.m dont le listing est fourni dans la partie 4.

Troncature temporelle
Calculer la Transforme de Fourier du signal s(t) = cos(2f0 t + ) limit par une porte de demi-largeur T/2 et centre en T/2. La comparer celle du signal s(t) non tronqu.

Echantillonnage
On considre les 3 signaux continus suivants : x1 (t) = cos(21 t) x2 (t) = cos(22 t + /4) y(t) = x1 (t) + x2 (t) (1a) (1b) (1c)

On chantillonne ces signaux sur N points avec une priode Te . On note x1e , x2e , et ye les signaux chantillonns. 1. Pour chacun des signaux x1 , x2 , et y, exprimer en fonction de N , n1 , et n2 la priode dchantillonnage maximale que lon peut choisir sans perte dinformation. 2. Exprimer en fonction de Te et n2 le nombre de points N ncessaire pour acher environ 3 priodes du signal x2 . 3. On ltre le signal x1e par un ltre passe-bas idal de frquence de coupure Fe /2. Dterminer 1 le signal de sortie du ltre, not s1 (t), pour Fe = 10n1 , Fe = n1 , et Fe = 5 n1 .

Corrlation
1. Calculer les fonctions de corrlation cx1 x1 ( ), cx1 x2 ( ), cx1 y ( ), et cyy ( ) des signaux dnis par les quations (1). 2. Calculer approximativement (dans le cas o T >> Te ) la fonction de corrlation cx1 x1 ( ) lorsque le signal x1 est limit par une porte de demi-largeur T /2.

Dmonstrations

Lors de cette premire sance, les deux points suivants seront traits sous forme de dmonstrations animes par lenseignant de T.P.

Traitement des Signaux v0.9 - 11/2004

B.C. Forget

UNIVERSITECURIE - Physique et Applications (PG) PIERRE & MARIE LA SCIENCE A PARIS

2.1 Achage de signaux discrets

2.1

Achage de signaux discrets

Lobjectif de cette premire dmonstration est de poser le problme de lachage des signaux temps discret sous Matlab. Le programme de dmonstration permet de comparer 3 types dachage : lachage des points discrets (grce la fonction plot avec un symbole pass en argument : +, , o, etc.), lachage continu par interpolation par des rectangles (grce la fonction stairs), lachage continu par interpolation par des triangles (grce la fonction plot sans argument de style de ligne : en eet le style de ligne par dfaut est une ligne continue donc cet achage consiste relier les points discrets par des segments).

2.2

Sries de Fourier

Lobjectif de cette dmonstration est dtudier linuence du nombre dharmoniques sur la srie de Fourier du signal carr. On visualisera le signal obtenu en particulier pour le nombre dharmoniques permettant de retrouver 98 % de lnergie du signal dans sa srie de Fourier (calcul en T.D.).

3
3.1

Travail pratique
Echantillonnage

On pose n1 = 60, n2 = 10. Visualiser les signaux chantillonns x1e , x2e et ye pour direntes 1 valeurs de Fe (Fe = 10n1 , Fe = n1 , et Fe = 5 n1 ), en choisissant N de manire acher environ 3 priodes de x2e . Que se passe-t-il lorsque Fe < FShannon ? Quelles sont alors les frquences apparentes des signaux ?

3.2

Analyse spectrale numrique

1. On pose n1 = 60, n2 = 10, Fe = 512, et N = 256. Calculer et visualiser les parties relles et imaginaires des Transformes de Fourier discrtes des signaux x1e , x2e , et ye , obtenues par la fonction t (Fast Fourier Transform : algorithme rapide de calcul de la TFD), ainsi que les spectres de puissance correspondants. Interprter les rsultats obtenus. 2. Mme question avec n1 = 60, n2 = 10, Fe = 64, N = 256. Observer la position des pics et commenter. 3. Mme question avec n1 = 60, n2 = 10.5, Fe = 512, et N = 256. Observer la position des pics avec la fonction zoom de Matlab. Quel problme met-on ainsi en vidence ? Comment faudrait-il choisir Fe pour le contourner dans ce cas prcis ?

3.3

Corrlation

1. Visualiser les fonctions de corrlation cx1e x1e ( ), cx1e x2e ( ), cx1e ye ( ), et cye ye ( ) des signaux discrets tronqus dans le cas o n1 = 60, n2 = 10, Fe = 512, et N = 256. Interprter les rsultats obtenus. (On utilisera la fonction dintercorrlation xcorr(x,y) qui restitue un signal sur 2N 1 points) 2. Vrier, pour le signal ye (t), le thorme de Wiener-Kinchine : T F [Cyy ] = Y (f )
2

Attention : Ici le signal est discret et tronqu sur N points.

Traitement des Signaux v0.9 - 11/2004

B.C. Forget

UNIVERSITECURIE - Physique et Applications (PG) PIERRE & MARIE LA SCIENCE A PARIS

4
4.1

Listing des programmes fournis


Programme asig.m

%% Dmonstration %% Affichage des sugnaux discrets sous Matlab close all; clear all; f=60; N=256; Te=1/1024; t=0:Te:(N-1)*Te; x=cos(2*pi*f*t); subplot(311) ; plot(t,x,+) ; title(Echantillons) ; grid subplot(312) ; stairs(t,x) ; title(Blocage dordre 0) ; grid subplot(313) ; plot(t,x) ; title(Blocage dordre 1) ; grid xlabel(temps)

4.2

Fonction sf.m

function s(n) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % SF Calcule la srie de Fourier correspondant au signal carr % et affiche la somme de la srie jusqu lharmonique de % rang n % % n : nombre dharmoniques % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% close all; m=floor(n/2); Ts=0.22e-3; % Priode dchantillonnage t0=24.e-3; % Priode du signal carr N=500; % nombre de points p=(-m-1):m ; cn=((-1).^p)./(2*p+1)/pi; cc=(2*pi*i*Ts)*(2*p+1)/t0; for k=0:N-1 vn=exp(cc*k); s(k+1)=cn*vn; end t=(0:N-1)*Ts; f=(0:N-1)/N/Ts; subplot(211); plot(t,real(s)); grid; title(signal) subplot(212); plot(f,abs(fft(s)/N)); grid; title(signal)

Traitement des Signaux v0.9 - 11/2004

B.C. Forget

UNIVERSITECURIE - Physique et Applications (PG) PIERRE & MARIE LA SCIENCE A PARIS

TP No 2 Modulation - Dmodulation Filtrage par FFT - Sous-chantillonnage 1


1.1

Prparation thorique
Modulation - Dmodulation
Soit x1 (t) = cos(2n1 t). 1. Donner lexpression de x1ma et x1ms , les signaux moduls respectivement avec et sans porteuse (on note f0 la frquence de la porteuse). 2. Reprsenter schmatiquement les spectres des signaux x1 , x1ms , et x1ma . On chantillonne ces signaux la frquence fe . 3. Comment faut-il choisir fe par rapport f0 et n1 pour viter le recouvrement spectral ?

On dsire dmoduler les signaux x1ma et x1ms . Pour cela on multiplie nouveau chaque signal modul par cos(2f0 t). 4. Reprsenter les spectres des signaux x1mad et x1msd aprs dmodulation. 5. Comment faut-il choisir fe pour viter le recouvrement spectral lors de la dmodulation ?

1.2

Application : transmission par multiplexage frquentiel

On dispose de 2 signaux xA et xB , dnis sur N = 2048 points et chantillonns une frquence de 512 Hz. 1. Quelle est la frquence maximale conserve aprs chantillonnage ? On souhaite transmettre sur un mme canal ces 2 signaux, en faisant en sorte que la bande utile de xA (0-10 Hz) occupe, durant la transmission, la bande 30 - 40 Hz et que la bande utile de xB (0-10 Hz) soit transmise entre 90 et 100 Hz. 2. Dterminer lensemble des oprations raliser.

2
2.1

Travail pratique
Modulation et dmodulation

On considre le signal x1e (k), obtenu par chantillonnage de x1 (t) la frquence fe . (On prendra n1 = 10 Hz et fe = 500 Hz.) 1. Visualiser le signal x1e (k), ainsi que les signaux x1e ma (k) et x1e ms (k) moduls respectivement avec et sans porteuse. On prendra comme frquence de porteuse f0 = 70 Hz. 2. Visualiser les spectres de ces signaux et les comparer avec les reprsentations thoriques de la question 1.1. 3. Dmoduler les signaux moduls en les multipliant par cos(2f0 kTe ). Visualiser les signaux obtenus et leurs spectres. Commenter. Que faudrait-il faire pour retrouver x1 dans chaque cas ? 4. Filtrer chaque signal dmodul par le ltre numrique de Chebychev fourni (fonction passebas). Justier le choix de la frquence de coupure et commenter les rsultats.

Traitement des Signaux v0.9 - 11/2004

B.C. Forget

UNIVERSITECURIE - Physique et Applications (PG) PIERRE & MARIE LA SCIENCE A PARIS

2.2 Filtrage par FFT et sous-chantillonnage

2.2

Filtrage par FFT et sous-chantillonnage

Visualiser le signal tp (chier tp.mat), dni sur 2048 points et chantillonn la frquence Fe = 512 Hz, ainsi que son spectre de puissance T F tp. Linstruction loadtp permet de lire le chier tp.mat et de charger la variable tp quil contient dans lespace de travail Matlab ; tp peut ensuite tre utilise de la mme manire que toutes les autres variables, par exemple celles cres par vos soins : x 1e , etc. 1. Quel est le pas en frquence du spectre en Hz ? On dsire ltrer ce signal par un ltre passe-bas idal H(f ) (voir gure ci-dessous) de frquence de coupure Fc = 32 Hz. H(f ) 1 0 32 Fe f On rappelle que le ltrage par FFT consiste non pas convoluer le signal temporel par la rponse impulsionnelle du ltre, mais multiplier la FFT du signal par la FFT de la rponse impulsionnelle du ltre puis appliquer une FFT inverse. 2. Rappeler pourquoi ces deux oprations sont quivalentes en thorie. 3. Raliser le ltrage, et visualiser le signal tpf aprs ltrage ainsi que son spectre T F tpf . 4. Comparer les signaux tp et tpf . Construire maintenant un signal tpse en prlevant un chantillon sur 8 du signal tpf (On obtient donc un signal dni sur 256 points). 5. Quelle est la priode dchantillonnage de tpse ? Expliquer pourquoi linformation contenue dans tpf na pas t modie. 6. Visualiser le spectre de puissance T F tpse de tpse . Quel est le nouveau pas en frquence ? Vrier que T F tpf et T F tpse sont identiques sur la plage 0 32 Hz.

Listing des fonctions fournies

function y = passebas(x,fc,fe) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % PASSEBAS filtrage passebas de chebychev numerise % % x : signal dentre (avant filtrage) % fc : frquence de coupure % fe : frquence dchantillonnage % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [B,A] = cheby1(4,0.1,fc/(fe/2)); y = filtfilt(B,A,x); % contrairement filter, filtfilt % ne modifie pas la phase de x

Traitement des Signaux v0.9 - 11/2004

B.C. Forget

UNIVERSITECURIE - Physique et Applications (PG) PIERRE & MARIE LA SCIENCE A PARIS

TP No 3 Signaux Alatoires Caractrisation


Les fonctions x1=rand(1,N) et x2=randn(1,N) permettent dobtenir des vecteurs de N valeurs alatoires. Pour obtenir un histogramme des valeurs, excuter plusieurs fois les commandes hist(x1,b) et hist(x2,b) o b est le nombre de bins ; on choisira, par exemple N = 256 et b = 20. 1. Que pouvez-vous dire de la densit de probabilt des vecteurs crs par les deux fonctions ? 2. Les fonctions mean et std permettent de calculer la moyenne et lcart-type. Vriez lergodicit des rsultats obtenus. 3. Pourquoi demande-t-on de rpter lopration plusieurs fois ? On rappelle que la corrlation de deux signaux peut-tre calcule avec la fonction xcorr(x,y). 4. Peut-on considrer ces vecteurs comme des bruits blancs ? 5. On peut obtenir le rsultat y(t) du ltrage dun signal x(t) par un ltre passe bas du premier de constante de temps > Te en utilisante la commande suivante : y=filter(1/tau,[1 -exp(-Te/tau)],x) On considrera ici Te = 1. Vriez que le rsultat du ltrage des bruits correspond bien ce que vous attendiez.

Filtrage adapt
On souhaite raliser le ltrage adapt dun cho. Pour cela, crez un signal qui vaut 0 sur une dure T1 , x(t) sur une dure T2 et encore 0 sur une dure T3 . Pour x(t) vous tudierez trois cas : un signal constant ; un cosinus ; un chirp (cosinus dont la frquence varie linairement en fonction du temps) Ajoutez un bruit gaussien centr au signal et ralisez ensuite un ltrage adapt (comme dcrit en cours). Comparez et commentez les rsultats obtenus dans les trois cas en fonction du rapport signal sur bruit.

Priodogramme moyenn
Crez sur un signal x(t) form de la somme de deux signaux sinusodaux de frquence dirente et damplitude dirente : x(t) = cos(2f1 t) + A cos(2f2 t) (2) avec f1 = 102, 5 Hz et f2 = 120 Hz. chantillonez le signal 512 Hz sur N = 512 points. 1. Visualisez le spectre de x(t). Utilisez une fentre de Hamming pour amliorer le rsultat. 2. Ajoutez un bruit centr et estimez la DSP de la manire suivante : (a) Diviser le signal en n sections de longueur M xn (k) = x((nM + k)Te ) avec k = 0..M 1 et n = 0..N/M 1 (3)

(b) Calculer le priodogramme sur chacune des sections (c) Eectuez la moyenne de ces priodogrammes 3. Comment volue la variance de lestimateur ?, et le biais ?

Traitement des Signaux v0.9 - 11/2004

B.C. Forget

UNIVERSITECURIE - Physique et Applications (PG) PIERRE & MARIE LA SCIENCE A PARIS