Université Cadi Ayyad – TP 1 : Générer sous Matlab un signal

Transcription

Université Cadi Ayyad – TP 1 : Générer sous Matlab un signal
Université Cadi Ayyad
Ecole Nationale des Sciences
Appliquées de Marrakech
Année Universitaire : 2008-2009
1ère année C.I
Travaux pratiques : T.S
Enseignant : Y. Jabrane
– TP 1 :
Générer sous Matlab un signal sinusoïdal x(t) = sin(2πf t) de fréquence 5 Hz. L’intervalle temporel entre deux
échantillons est de 0.01 s.
1. la fréquence d’échantillonnage Fe .
2. Commenter les programmes suivants :
– X = abs(f f tshif t(f f t(x))) ;
plot(X)
– x = sin(2 ∗ pi ∗ 30 ∗ t) ;
X = abs(f f tshif t(f f t(x))) ;
plot(X)
– x = sin(2*pi*70*t) ;
X = abs(fftshift(fft(x))) ;
plot(X)
Si on écoute un tel signal, de 70Hz échantillonné à 100Hz, quel sera le résultat.
– TP 2 :
Le produit de convolution est la base de tout le traitement linéaire des signaux. Son expression pour des signaux
numériques est :
PN −1
y(k) = x(k) ∗ g(k) = l=0 x(l)g(k − l)
En considérant que la longueur de g(k) est M, on vérifie facilement que la longueur du signal y(k) = x(k) ∗ g(k) est
M+N-1. Commenter la routine Matlab suivante :
function y = convol(x, g)
K = length(x) + length(g) − 1 ;
G = length(g) ;
X = length(x) ;
y(1 : K) = 0 ;
x(length(x) + 1 : K) = 0 ;
for k = 1 : K
for l = k − G : k − 1
if l >= 0
y(k) = y(k) + x(l + 1) ∗ g(k − l) ;
end
end
end
Soit x(k) = exp(−k) et g(k) = 1 :
1. Pour N = 10 et M = 4, proposer un programme en Matlab qui calcule le produit de convolution
y(k) = x(k) ∗ g(k). Tracer l’allure du résultat.
2. Proposer un programme en Matlab qui calcule la convolution d’un signal quelconque (par exemple 10 points
d’une exponentielle réelle) par un train de 5 impulsions unités de période 30. Tracer ce résultat.

Documents pareils