Vous êtes sur la page 1sur 19

UNIVERSITE

ABDELMALEK ESSAADI
ECOLE NATIONALE
DES SCIENCES APPLIQUEES
TANGER

TAVEAUX PRATIQUES
Traitement Numrique du Signal

ANNEE
2008/2009

Prof : mohamed moussaoui


ENSA Tanger, Route Ziaten, BP 1818
Tanger principale
mmoussaoui@ensat.ac.ma

Prof : mohamed moussaoui


ENSA Tanger, Route Ziaten, BP 1818
Tanger principale
mmoussaoui@ensat.ac.ma

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Introduction MATLAB

OBJECTIF DE LA SEANCE : APPRENDRE A UTILISER MATLAB ET SON ENVIRONNEMENT.

1-Les commande au clavier dans la fentre de commande ( command


window )
Pour faire des calculs simples, des affichages de graphes, ...
>> Indique que Matlab attend une commande

Entre au
clavier
Le rsultat
saffiche
Entre au
clavier
Le rsultat est
calcul et affich
saffiche
Commande pour tracer la squence b
Le graphique va apparatre dans une autre fentre
grid on indique que les units apparaissent
dans le trac sous la forme dune grille

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Affichage dans la
nouvelle fentre des
valeurs des lments de
la squence b

Si on veut entrer une squence longue dintervalles rguliers sans entrer toutes les
valeurs on utilise les deux points :

Il est possible dappliquer des fonctions sur la squence a :

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

affiche le sinus de la squence :

2 Cration de programme dans un fichier


Il faut enregistrer les programmes dans un fichier dont on lancera lexcution quand
il sera prt.
On clique sur File dans le menu droulant New M-File . Ceci fait apparatre
une nouvelle fentre (Editor) dans laquelle on ditera le texte du programme

Une fois quon a crit un programme il faut le sauvegarder : on choisit par exemple
save as et le nom du fichier qui doit ncessairement avoir lextension .m :
matlab reconnaitra par la suite cette extension lorsquon lui demandera lexcution
dans la fentre de commande.

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Par exemple pour excut le programme enregistr dans le fichier premierpas.m il


faudra frapper dans la fentre Command Window .
>> premierpas
Ici le fichier premiersepas.m est rang dans le dossier work de matlab

Voici le contenu du fichier premierspas.m

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

En frappant la commande premierspas on excute le programme contenu dans


le fichier premierpas.m .
La deuxime commande plot(t,x) trace la squence x en fonction de la
squence t.

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

2.1- Retrouver et excuter des programmes matlab crits dans des fichiers
.m et rangs dans un dossier
Lorsquon range les fichiers o sont crits les programmes matlab dans un dossier
cr dans ce but, par exemple C:\programmatlab , il faut donner matlab les
informations pour quil puisse trouver le dossier en question ; ceci se fait en dfinissant
le chemin daccs (commande File/Set Path)

Commande
permettant de
dfinir le
chemin daccs
au nouveau
dossier

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Slection du
dossier

Une fois quon a cliqu save matlab ira chercher si ncessaire les fichiers
contenus dans le dossier programmatlab.

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Si on veut superposer un deuxime graphique un graphique quon vient de


tracer, on utilise la commande hold on.
Voici deux programmes traant un sinus et un cosinus

Si on excute le premier programme, puis la commande hold et le deuxime


programme

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

10

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

3 Oprations en matlab
Il arrive souvent quon applique la mme opration tous les lments dun
tableau. On peut le faire en effectuant une boucle for ... end sur lopration

On peut aussi crire de manire optimise pour acclrer les calculs le code
point avant le code du produit (.* la place de *). On aura le mme rsultat

4 Gestion des graphiques


Nous avons vu un exemple de trac simple ; en voici un autre o on donne
labscisse et lordonne pour deux graphes

>> x = [0:0.01:2*pi];
>> plot(x,cos(x),x ,sin(x))

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

11

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

clear all
close all % ferme les anciennes figures
figure(1) ; % pour crer une nouvelle fentre de figure
x = [0:0.01:2*pi];
plot(x, cos(x),'.',x, sin(x),'+') % cos(x) en points, sin(x) en +

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

12

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Pour rajouter un titre et une lgende


title('sinus et cosinus'); xlabel('x'); ylabel('f(x)')
legend('cos(x)','sin(x)',0) % le 0 place la lgende ct des courbes

Il est courant de vouloir afficher plusieurs figures sur le mme cran ce qui se fait
avec la fonction subplot

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

13

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

5 Les fonctions
Pour viter de rdiger des programmes trop longs et rptitifs, on peut crire des
squences de lignes de programmation sous la forme de fonctions
Donne calculer = nom de la fonction ( suite des variables auxquelles sapplique le
calcul)
Pour effectuer le calcul on frappe le nom de la fonction avec comme arguments les
valeurs des variables pour lesquelles on veut faire le calcul

Dfinition de
la fonction

Prof: Mohamed Moussaoui

Appel de la
fonction

TRAVAUX PRATIQUES Traitement Numrique du Signal

14

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

TP n1 Echantillonnage, quantification
Lobjectif de ce travail pratique est de mettre en application les connaissances
acquises sur lchantillonnage et la quantification.

Partie A: Echantillonnage
1 Reprsentation du signal rel
On se propose de simuler un signal continu laide dune srie numrique. Pour cela
on considre un signal qui serait trs fortement surchantillonn.
On commence donc par crer notre signal sinusodale x(t)=cos(2f0t) rel de
fo=4Hz.
tant impossible de raliser un signal continu sous Matlab, on le reprsentera sur
lintervalle temporel [0 1] avec un pas Te = 0.001 s .
a- crire un programme reprsentant le signal x(t)
b- reprsenter le graphe de la convolution x(t)*x(t) (conv)

2 Echantillonnage idal
On discrtise le signal x(t) dfini prcdemment par un chantillonneur idal,
savoir un peigne de Dirac.
Donc par la thorie :

xe (t ) =

x(t ) (t kTe ) =

k =

x(k ) (t kT ) .
e

k =

x(t )

xe (t )

ei (t ) =

(t kT )

k =

Fig. 1 : Lchantillonnage idal


On discrtise notre signal x(t) pour les 3 frquences dchantillonnage Fe = 8, 16 &
32 Hz.
a- crire un programme matlab qui trace le signal chantillonn xe(t) pour les trois
cas.
b- Reprsenter sur un mme graphique le signal continu et les points
dchantillonnage,
b- interprter les rsultats

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

15

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

Partie B: Quantification
Dans cette partie nous ralisons Lopration de quantification uniforme du signal

x(t ) sur N bits, qui consiste diviser lintervalle min ( x(t )), max( x(t )) en 2 intervalles
max ( x(t )) min ( x(t ))
de mme longueur q =
appele pas de quantification.
2N
N

On associe alors chaque chantillon de lintervalle auquel il appartient, un


nombre binaire sur N bits. Cette opration revient remplacer toutes les valeurs de x
dans un intervalle donn par une valeur unique x q qui peut tre :

La valeur minimale de lintervalle : quantification par troncature

La valeur centrale de lintervalle : quantification par arrondi

La valeur maximale de lintervalle : quantification arrondi par excs

a- Crer une fonction ralisant la quantification par arrondi : y=quantification(x, N).


Cette fonction renvoie dans le vecteur y les chantillons du vecteur x quantifis sur N
bits.
b- Observez le signal quantifi y pour N valant successivement 16, 8, 4, et 2 bits. Que
remarquez-vous ?

bruit de quantification
Pour caractriser lerreur introduite par la quantification, nous allons utiliser un
modle de bruit additif. Avec ce modle, on considre que le signal quantifi est le
signal original auquel le processus de quantification a rajout un bruit. Le schma
quivalent est :

Quantification

x
b

Le bruit de quantification est donc donn par : x = s - y ;


a- Crer une fonction ralisant le bruit de quantification pour les 3 types de
quantification : b=bruit-quantification(x, N).
b- Observez le bruit de quantification b pour N valant successivement 2, 4, 8 et
16 bits. Que remarquez-vous ?
c- Tracer et comparer lvolution de la variance derreur de quantification en
fonction de N

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

16

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

TP n2 ANALYSE SPECTRALE
1) Partie thorique : Troncature
Soit un signal sinusodal, de frquence f=1Hz, dfini par :
s(t) = cos(2ft)
1.
Rappeler (sans dmonstration) son spectre complexe (module, ou amplitude,
et phase).
2) Pour pouvoir tudier physiquement ce signal, on est oblig de le limiter dans le
temps. On ralise ici une troncature simple, quivalent une multiplication par un
signal porte. On choisit une troncature sur une dure de 4 secondes.
a) Donner lexpression du spectre du signal tronqu.
b) Reprsenter le module damplitude de ce signal ainsi tronqu.
3) soit la squence x(n) = {1, 2, 3, 2}. Calculer sa TFD.

2) Fentres dobservation
Lacquisition dun signal sur une dure fixe a deux consquences sur les raies
spectrales :
Un largissement dautant plus grand que la troncature est important. Cela
nous limite dans la sparation (la rsolution) de raies voisines.
Lapparition de raies secondaires qui peuvent cacher des raies principales
dune autre composante du signal.
Pour viter ces inconvnients, nous pouvons raliser une troncature avec
pondration des chantillons.
Les fentres utilises en analyse spectrale sont nombreuses. On se contente ici
dtudier quatre fentres frquemment appliques l'enregistrement d'un signal.
Elles sont dfinies comme suit :

Fentre rectangulaire

wr[n] = 1 pour 0 n < N-1

Fentre de Hann

wc[n] = 0.5 (1cos (2n/N)) pour 0 n < N-1

Fentre de Hamming

wh[n] = 0.54 0.46 cos (2n/N) pour 0 n < N-1 pour 0 n < N-1

Fentre de Blackman

wb[n] = 0.42 0.5 cos (2n/N) + 0.08cos (4n/N) pour 0 n < N-1
Pour chaque fentre dobservation, raliser un programme Matlab qui trace
1. son graphe temporel w[n]
Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

17

ECOLE NATIONALE DES SCIENCES APPLIQUEES DE TANGER

2. son spectre d'amplitudes W(k) = TF {w[n]}


3. son spectre d'amplitudes en dB WdB = 20 log (|W(k)|)
4. Complter le tableau suivant, et comparer les quatre fentres

Fentres

Largeur du 1er lobe

Attnuation du 1er lobe [dB]

Rectangle
Hanning
Hamming
Blackman

Fig. 1 - Fentres d'observation

3) Analyse spectrale
Pour observer le pouvoir de rsolution et linfluence des lobes secondaires,
considrons le signal :
y=Acos(2F1t)+ cos(2F2t).
Cest un signal compos de deux frquences pures F1=10.5Hz, F2=19.5Hz et A=30.
4-Analyser le signal y avec diffrentes fentres dobservation
En augmentant la valeur de A
En posant A=1 et F1=12.5Hz.

Prof: Mohamed Moussaoui

TRAVAUX PRATIQUES Traitement Numrique du Signal

18