ABDELMALEK ESSAADI
ECOLE NATIONALE
DES SCIENCES APPLIQUEES
TANGER
TAVEAUX PRATIQUES
Traitement Numrique du Signal
ANNEE
2008/2009
Introduction MATLAB
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
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 :
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.
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
Slection du
dossier
Une fois quon a cliqu save matlab ira chercher si ncessaire les fichiers
contenus dans le dossier programmatlab.
10
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
>> x = [0:0.01:2*pi];
>> plot(x,cos(x),x ,sin(x))
11
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 +
12
Il est courant de vouloir afficher plusieurs figures sur le mme cran ce qui se fait
avec la fonction subplot
13
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
Appel de la
fonction
14
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 =
15
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
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
16
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
Fentre de Hann
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
17
Fentres
Rectangle
Hanning
Hamming
Blackman
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.
18