Académique Documents
Professionnel Documents
Culture Documents
ET DE LA RECHERCHE SCIENTIFIQUE
Dpartement Electronique
Anne Universitaire 2010/2011
Dpartement dElectronique
Travaux Pratiques
Traitement du signal
TP Matlab
PROGRAMMATION MATLAB
Rappels : Matrices, Graphes, scripts et fonctions
(Pr requis)
REPRESENTATIONS DE SIGNAUX
a) Reprsentation temporelle (Gnration de Signaux )
b) Reprsentation frquentielle : Transforme de Fourier (FT),
FILTRAGE NUMERIQUE
Tp 5 ESTIMATION SPECTRALE
Gnration dun signal partir dune densit spectrale
1999/2011
ABDELOUEL Lahcene
BELOUCHRANI Adel
COMPTE RENDU DU TP
Traitement du signal
Anne Univ.
2010/2011
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%)
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 : tds.elec.enp@gmail.com
Traitement du signal
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
i
tds.elec.enp@gmail.com
ii
ABDELOUEL / BELOUCHRANI 1999@ 2011
tds.elec.enp@gmail.com
MANIPULATIONS 3
DEPARTEMENT ELECTRONIQUE
Manip 1 (*):
TRAVAUX PRATIQUES
TRAITEMENT DU SIGNAL
2010/2011
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
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.
% dfinition des paramtres
f0 = 0.51; A0 = 1; f1 = 0.11; A1 = 2; f2 = 0.21; A2 = 2;
Code
% dclaration de signaux de base
Matlab
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.');
Manip 2 :
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
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(5t/4)
Manip 3 (*):
t 2s
t 20s
PREPARATION
Manip 4 (*):
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)?
6. Illustrer la proprit de dcalage frquentiel de la TF en reprsentant le module de la TF de
Description
Temporelle
valeur
instantane
d'un signal.
x(t)
Description
Frquentielle
signaux
priodiques
Dcomposition en
Srie de Fourier
(DSF)1
avec a > 0
Le signal
Le signal sinusodal de frquence f0.
Description
Statistique
Signaux non
Signaux
priodiques
alatoires
Transforme de
Proprits
Fourier (TF) 2
statistiques
(Moy,Var, Puissance)
X(f)
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.
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.
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 4
TP1 : Reprsentation de Signaux
4
Manip 5
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)
t = (0:0.001:1)'; % Te
2. Rcrire le script suivant pour le transformer
en une fonction bsinus() avec paramtres afin
y = 3*sin(2*pi*80*t) % F1
de gnrer une sinusode de frquence f0
yn = y + 0.5*randn(size(t)); %Var
bruite avec un bruit blanc gaussien de
plot(t(1:50),yn(1:50))
% Ne
variance Var.
3. Ecrire un programme principal (script) faisant appel la fonction pour exprimenter diffrentes
ralisations de signaux sinusodaux bruits.
DEPARTEMENT ELECTRONIQUE
TRAVAUX PRATIQUES
2010/2011
TRAITEMENT DU SIGNAL
TDS-TP 2
S
SIIG
GN
NA
AU
UX
XD
DIIS
SC
CR
RE
ET
TS
S
ECHANTILLONNAGE ET RECONSTRUCTION DE SIGNAUX
Lopration dchantillonnage consiste remplacer un signal analogique continu dans le temps x(t), par un autre signal
temps discret. e(t)=x[nTe], qui nest dfini que pour des valeurs discrtes du temps,
multiples entiers dune dure Te dite priode dchantillonnage.
Notes Matlab :
PREPARATION
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.
x ( n ) = x ( t ) t = n / f e = sin( 2
f0
n +)
fe
(1)
MANIPULATION
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 5
Manip 1 :
On considre le signal sinusodal x(t) = sin (2*Pi*5t) gnr par le code suivant :
t=[0 :0.01 :10] ;
1. Quelle est la frquence maximale du signal analogique
x=sin(2* pi*5*t) ;
2. Quelle est la frquence dchantillonnage ?
3. Le thorme dchantillonnage est-il respect ? Quelle conclusion en tirez-vous
4. Mme question (3) si on augmente la frquence du signal analogique 30 Hz, 80 Hz ?
Manip 2 :
On souhaite gnrer et afficher un signal sinusodal dquation s(t) =A.sin( wt) A.sin(2*Pi*f* t)
1. Gnrer un "vecteur de temps" vt, contenant les instants des chantillons de ce signal avec une
priode dchantillonnage (Te), vt=(0:N-1)*Te;
2. Gnrer le signal laide de la commande suivante : s=A*sin(2*pi*f*vt); Avec les paramtres
suivants :
Frquence dchantillonnage : fe=100Hz, Frquence du signal : f=10Hz, Amplitude A=1.
3. Ecrire un programme permettant de gnrer (et dafficher) une priode de signal.
Afficher le signal s(t) avec la commande plot(s), prciser comment est gradu laxe des
abscisses
4. Afficher le signal gnr avec un axe des abscisses gradu avec le temps correspondant au signal.
Manip 3 (*):
1. A partir dun signal sinusodal analogique d'amplitude 1 et de frquence f=1 000 Hz, crer trois
signaux sinusodaux numriques chantillonns respectivement
a) 20 000 Hz , b) 5 000 Hz
c) 1 500 Hz
2. Reprsenter les diffrents signaux sur le mme graphe.
3. Interprter !, le thorme dchantillonnage est-il respect ?
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 6
TP2 : Echantillonnage
Manip 4 :
1. Gnrer sur un intervalle de 10 ms quatre sinusodes avec fe=8000Hz et une phase initiale
2.
3.
4.
5.
6.
arbitraire. Fait varier la frquence f0 de 100 Hz 475 Hz par pas de 125 Hz.
Tracer les 4 signaux obtenus dans lordre sur la mme fentre en utilisant la fonction MATLAB
subplot.
Vrifier est ce que les frquences obtenus sur les courbes traces correspondants aux valeurs de f0 .
Expliquer ce rsultat.
Refaire les tapes prcdentes (1,2,3) en variant cette fois-ci la frquence f0 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.
Refaire les tapes prcdentes (1,2,3) en variant la frquence f0 de 32100 32475 Hz par pas de
125 Hz.
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))).
DEPARTEMENT ELECTRONIQUE
TRAVAUX PRATIQUES
TRAITEMENT DU SIGNAL
2010/2011
TDS-TP 3
T
TR
RA
AN
NS
SF
FO
OR
RM
ME
EE
ES
SD
DE
EF
FO
OU
UR
RIIE
ER
R
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
PREPARATION
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.
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
W ( f )=
3.
sin( fN ) j f ( N 1 )
e
sin( f )
1
w (n ) =
0
pour n = 0 ,1,K N
ailleurs
4. On reoit 256 chantillons dun signal dont on calcule le module carr de sa FFT (voir la figure
ci dessous). Sachant que la frquence dchantillonnage tait de 32KHz, dterminer les
frquences des deux pics du module carr de la FFT. (Le 1er pic correspond au point 88.)
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);
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 7
TP2 : Echantillonnage
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 8
TP3-Transformes de Fourier
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.
DEPARTEMENT ELECTRONIQUE
TRAVAUX PRATIQUES
2010/2011
TRAITEMENT DU SIGNAL
F
Fiillttrra
ag
ge
eN
Nu
um
m
rriiq
qu
ue
e
Un filtre numrique ralise un calcul sur une squence de nombres introduite son entre et fournit, sa sortie,
une squence numrique modifie de sorte rpondre des contraintes donnes (rponse en amplitudes, en phase ).
La plupart des modles de filtres analogiques peuvent tre reproduits sous forme numrique
PREPARATION
1) La forme gnrale dun filtre numrique est donne par une fonction de transfert G(z) P ples pi et Q
zros :
G( z ) =
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)
N=64, K=3
1. Etudiez bien le code MATLAB suivant,
X=[zeros(1,k)
N/2
zeros(1,N-(2*k-1)-2)
notam-ment la ligne qui gnre les
N/2
zeros(1,k-1)] ;
coefficients X(k)
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 nonnulles dans le spectre).
Un signal sinus de dure seconde, de frquence 800 Hz et damplitude 1, pour un systme
chantillonn 8000 chantillons/seconde.
Page 9
TP3-Transformes de Fourier
H ( p) =
0.5
p + 0.5
MANIPULATION
Manip 1 :
1.
2.
3.
4.
5.
Manip2 :
1. Se familiariser avec loutil fdatool de MATLAB en utilisant le help.
Traitement du signal
Traitement du signal
a. Si P=0, (le filtre na que des zros), quel est le type du filtre ?
Que reprsentent les coefficients b(k) ?
b. Comment qualifier le filtre :
Si les ples sont lintrieur du cercle unit dans le plan des z ?
Si les les ples et les zros sont lintrieur du cercle unit, ?
2) Soit le filtre analogique dfini par la fonction de transfert H(p) suivante :
a) En utilisant la transformation bilinaire, donner la fonction de transfert du
filtre numrique correspondant.
b) Est que le filtre numrique obtenu est stable ? justifier votre rponse.
c) Donner lquation aux diffrences du filtre numrique obtenu.
d) Que reprsente lquation aux diffrences dun filtre ?
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 <1/2 Le nombre dchantillons de la DTFT doit
tre de 5 10 fois le nombre dchantillons du signal w(n). Concluez !
1. Soit le signal x=exp(2*pi/8*2*(0:7)).
Vrifier que X(2),=8 et que toutes les autres valeurs X(n) de la TFD sont nulles
2. Soit le signal .y=sin(2*pi/8*2*(0:7)).
Montrer que toutes les valeurs Y(n) de la TFD seront nulles, sauf Y(2) et Y(6)
3. Calculer et tracer la DTFT du du signal h(n) h[n]= an.u(n) avec a=0.977 et pour diffrentes valeurs de
N (N=32,64,128,256). Comparer les rsultats obtenus (modules et arguments) directement avec
lapplication de la DTFT avec la TF exacte calcule partir de lexpression analytique.
.
TDS-TP 4
Page 10
(3)
2. Concevoir un filtre passe bas RII de type elliptique avec le gabarit suivant :
Ondulations dans la bande passante: Apass = 1
Frquence dchantillonnage : Fs = 48000 Hz.
dB.
Frquence de la bande passante : Fpass = 9600
Attnuation dans la coupe bande : Astop = 80
Hz.
dB.
Frquence de la coupe bande : Fstop = 12000 Hz
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.
DEPARTEMENT ELECTRONIQUE
TRAVAUX PRATIQUES
2010/2011
TRAITEMENT DU SIGNAL
TDS-TP 5
Analyse Spectrale
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.
Manip 3bis :
Manip 3 :
Manip 4:
Testez les scripts Matlab suivants et commentez les rsultats
fsamp= 8000;
fn =[0 0.6 0.6 1];
H = [1 1 0 0]; M=30;
fcuts = [1000 1500 2500 3000];
%fcuts = [1450 1500 2500 2550];
fe=8000; f=fn*fe/2
b1=fir2(30,fn,H);
mags = [0 1 0]; gabarit=[0 1 1 0];
devs = [0.01 0.05 0.01];
b2=fir2(30,fn,H,Kaiser);
[n,Wn,beta,ftype] =
[h1,f1]=freqz(b1,1,128,fe);
kaiserord(fcuts,mags,devs,fsamp);
[h2,f2]=freqz(b2,1,128,fe);
plot(f,m,f1,abs(h))
n = n + rem(n,2);
hh=fir1(n,Wn,ftype,kaiser(n+1,beta),'noscale');
legend('Ideal','FIR fir2')
title('Comparison of H(f)')
[H,f] = freqz(hh,1,1024,fsamp);
semilogy(fcuts,gabarit,f,abs(H)), grid on
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 FDATOOL : les mmes plus les
Pour SPTOOL et FVTOOL : plot, stem,
fonctions de synthse de FIR/IIR : filt1, filt2,
linspace, logspace, fft, spectrum, filter,
butter, buttord, ellip, ellipord, yulewalk
freqz, zplane, roots, poly,
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
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 11
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 12
Manip 2:
1.
1.
2.
3.
DEPARTEMENT ELECTRONIQUE
TRAVAUX PRATIQUES
2010/2011
TRAITEMENT DU SIGNAL
TDS-TP 5b
Analyse Spectrale
Gnration dun signal partir dune densit spectrale
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
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 13
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
Traitement du signal
ABDELOUEL / BELOUCHRANI 1999@ 2011
Page 14