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.