Faculté de Génie Electrique
Département d’Automatique
Master 1 Automatique et Informatique Industrielle
Traitement Numérique de Signal
Travaux Pratiques
Traitement numérique du signal
1. Echantillonnage
Exercice 1
𝑥(𝑡) est un signal analogique défini comme suit : 𝑥(𝑡) = 𝑥0 + 𝐴. 𝑐𝑜𝑠(2𝜋𝑓0 𝑡). En considérant
les données suivantes : 𝑥0 = 0.6𝑉, 𝐴 = 2.5𝑉 et 𝑓0 = 3𝐻𝑧.
1- Tracer le signal 𝑥(𝑡) observé pendant 1𝑠.
2- Quelle est la fréquence d’échantillonnage minimale requise suivant le théorème de
Shannon.
On veut numériser le signal 𝑥(𝑡) observé pendant 1𝑠.
3. Calculer les séquences correspondantes à 𝑥(𝑡) pour les fréquences
d’échantillonnage suivantes 𝐹𝑒 = 1, 2, 3, 5, 6, et 100 𝐻𝑧.
4. En utilisant la fonction subplot de Matlab représenté graphiquement les séquences
précédentes.
5. Quelles sont les remarques à faire.
Exercice 2
Considérons le signal continu :
𝑥(𝑡) = 𝐴0 𝑠𝑖𝑛𝑐(𝑓0 𝑡) , 𝑡 ∈ [0,4]s
avec 𝐴0 = 1, 𝑓0 = 4𝐻𝑧 et
1. Tracer le signal 𝑥(𝑡).
2. Donner les séquences correspondantes aux fréquences suivantes :
𝐹𝑒 = 5, 10 𝑒𝑡 30 𝐻𝑧
Pour chaque valeur de 𝐹𝑒 , représenter le signal échantillonné (utiliser les commandes
stem et subplot pour chaque cas).
4. Comparer les résultats obtenus. Que peut-on conclure ?
3. Fenêtrage temporel
Lorsque le signal est à durée infinie ou très étendue, on est obligé de se contenter de l’observer
pendant une durée limitée de temps. Cette opération est appelée fenêtrage temporel. Elaborer
un programme qui effectue le fenêtrage temporel du signal 𝑥(𝑡) en utilisant la fenêtre 𝑓(𝑡).
𝑡−3
1. 𝑥(𝑡) = 𝑒 −0.5𝑡 𝑡 > 0, 𝑓(𝑡) = 𝑟𝑒𝑐𝑡 ( )
6
𝑡−2
2. 𝑥(𝑡) = 2𝑐𝑜𝑠(2𝜋𝑓0 𝑡), 𝑓0 = 2𝐻𝑧 , 𝑓(𝑡) = 𝑟𝑒𝑐𝑡 ( )
4
𝑛 2𝜋𝑛
3. 𝑥 (𝑛 ) = 2𝑐𝑜𝑠 (2𝜋𝑓0 𝑁) , 𝑁 = 100, 𝑛 ∈ [0, 𝑁] ; 𝑓 (𝑛 )=0.5 (1 − 𝑐𝑜𝑠 ( )) .
𝑁
4. Transformée de Fourier Discrète
Soit le signal rectangulaire d’amplitude unité et de largeur T=0.2 s, défini sur l’intervalle
de temps [-1,1]. Le spectre de ce signal est une fonction sinus cardinal.
1. Générer et tracer le signal 𝑥(𝑡). On prend un pas de discrétisation de 1/100 s.
2. Quel choix peut-on faire sur Fe pour éviter le repliement sur les 4 premier lobes
secondaires du spectre d’amplitude ? En déduire le pas de discrétisation fréquentielle
∆𝑓.
3. Calculer et tracer le spectre d’amplitude du signal échantillonné borné à Fmax (utiliser
les commande fft ,abs). Quelles remarques peut-on faire ?
4. Appliquer la commande fftshift au spectre d’amplitude calculé. Retracer le signal
résultant. Quel est l’effet de cette commande ? Argumenter.
Remarques techniques
1. On peut utiliser quelques fonctions prédéfinies sur Matlab sans avoir à les
programmer telles que : rectpulse (fonction rectangulaire), heaviside (échelon
unité), cos(x) (fonction consinus), sinc(x) (sinus cardinal), …etc.
2. Utiliser le help de Matlab pour mieux comprendre les fonctions et pouvoir les
manipuler correctement.
Quelques fonctions de base
PLOT(X,Y) : plots vector Y versus vector X.
STEM(X,Y) : plots the data sequence Y at the values specified in X.
GRID : Grid lines.
HOLD ON : holds the current plot and all axis properties so that subsequent
graphing commands add to the existing graph.
AXIS ([XMIN XMAX YMIN YMAX]): sets scaling for the x- and y-axes on the
current plot.
XLABEL('text') : adds text beside the X-axis on the current axis.
YLABEL('text') : adds text beside the Y-axis on the current axis.
TITLE('text') : adds text at the top of the current axis.
ABS(X) : is the absolute value of the elements of X.
SUBPLOT(m,n,p): breaks the Figure window into an m-by-n matrix of small
axes,
MEAN(X) : is the mean value of the
elements in X. SUM(X) : is the sum of
the elements of the vector X
MAX(X) : is the largest element in X.
PROD(X) : is the product of the elements of X.
CONV(A,B) : convolves vectors A and B.
SIZE(X) : Size of array.
LENGTH(X) : returns the length of vector X.
ZEROS(M,N) : is an M-by-N matrix of zeros.
ONES(M,N) : is an M-by-N matrix of ones.
FFT(X) : is the discrete Fourier transform (DFT) of vector X.
Bon courage