Travaux pratiques de Traitement du Signal TP 2
TRAVAUX PRATIQUES DE TRAITEMENT DU SIGNAL
1 • SIMULATION D’UNE FONCTION DE TRANSFERT.
1.1 • Rappel sur les fonctions de transfert.
Une fonction de transfert relie la transformée de Laplace de l’entrée à la transformée
de Laplace de la sortie :
m
S(p) b0 + b1 p + … + bm p
---------- = F ( p ) = ---------------------------------------------
-.
E(p) a0 + a1 p + … + an p
n
1.2 • Utilisation de la fonction filter.
La fonction filter permet de transformer un signal d’entrée en un signal de sortie com-
me si celui ci était issus d’un capteur dont la fonction de transfert serait décrite par les
coefficients ( a 0, a 1, …, a n ) et ( b 0, b 1, …, b n ) .
On pose b0=0.02, b1=0.04, b2=0.02, a0=1.00, a1=-1.56, a2=0.64.
Soient a et b les deux vecteurs rassemblant ces valeurs, mesurer un signal représenté
par le vecteur x via le capteur représenté par la fonction de transfert de coefficients
(a,b) s’écrit :
>> y=filter(b,a,x) ;
1.3 • Réponse indicielle.
Créez un vecteur x représentant une réponse indicielle (Heaviside) et calculez la ré-
ponse du filtre. Que pouvez-vous dire du filtre ?
1.4 • Réponse sinusoïdale.
Nous allons regarder la réponse du capteur à des sollicitations de fréquences différentes.
Pour ce faire, nous allons créer un vecteur de pulsations de valeurs croissantes par :
>> omega=2*pi*(0.01:0.01:10) ;
Puis une boucle permettant de visualiser la variation l’entrée et la sortie sinusoïdale.
>> t=1:0.1:1000 ;
>> for i=1:length(omega)
>> x=sin(omega(i)*t) ; y=filter(b,a,x) ;
>> figure(1) ; clf ; hold on ; plot(t,x,'b') ; plot(t,y,'r') ; drawnow ;
>> end
Que constatez-vous ? comment interprétez vous cela ?
1.5 • Transformée de Fourier.
Le calcul de la transformée de Fourier se fait par la fonction fft. Cette transformation
rapide donne une réponse sur tout le spectre (négatif à positif) mais en représentation
inversée. Pour avoir la représentation correcte, il faut faire fx = fftshift(fft(x)) ;
Vous allez regarder le module de la TF de l’entrée et de la sortie pour différentes
valeurs de fréquences. Pour ca vous vous servirez du programme précédent en calculant
les TF de l’entrée et de la sortie et en affichant leur module : plot(abs(fx),'b') ;
MATLAB 1 Olivier STRAUSS
Travaux pratiques de Traitement du Signal TP 2
abs récupère le module d’un nombre complexe (angle pour l’argument).
Que constatez vous ? comment interpréter ce résultat ?
1.6 • Transformée de Fourier inverse et convolution.
Simulez une entrée sinusoïdale avec deux fréquences :
>> x=3.0*sin(0.2*pi*t) + 2*sin(2.3*pi*t) ;
Calculez la fft de x, mettez à 0 les hautes fréquences (à vous de réfléchir à comment
le faire, rappelez vous que vous avez affaire à des complexes).
Réalisez la transformation inverse avec ifft et superposerez le signal obtenu au signal
original. Que constatez vous ? comment l’interpréter ?
Faites la même chose avec :
>> x=3.0*sin(0.2*pi*t) + 2*randn(size(t)) ;
MATLAB 2 Olivier STRAUSS