TP2 Représentation fréquentielle
TP2
Représentation fréquentielle
But
Dans ce TP, il sera question de la représentation fréquentielle des signaux déterministes. Le but
est d’étudier quelques paramètres qui influent sur les spectres de ces signaux.
Transformée de Fourier à une dimension
La transformée de Fourier discrète (TFD) d’un signal s’effectue via l’algorithme de la FFT :
“Fast Fourier Transform”, c-à-d “Transformée de Fourier rapide”. Cet algorithme permet de
calculer la TFD en un temps beaucoup plus rapide que par un calcul direct.
Dans Matlab, l’instruction fft permet d’effectuer une transformée de Fourier directe et
l’instruction ifft effectue la transformée inverse.
L’algorithme de la FFT exige que l’on échantillonne le signal sur un nombre de points qui est
une puissance de 2 (2, 4, 16, 32, 64, 128, 256, 512, 1024, …). Si on a un échantillonnage qui
n’est pas une puissance de 2 l’algorithme complète par des zéros l’échantillon, et les résultats
seront biaisés. On prendra donc toujours garde au fait de prendre des échantillons dont la
longueur est une puissance de 2.
Le résultat de fft(x) étant complexe, on doit représenter le module de fft(x) c’est-à-dire
abs(fft(x)) pour visualiser le spectre unilatéral de notre signal x. Pour le spectre bilatéral, on
utilisera la fonction fftshift(fft(x)) qui permet de symétriser correctement les valeurs de fft(x).
Affichage des signaux
On considère les 3 signaux continus suivants :
x1 ( n ) = cos ( 2 nf1 )
x2 ( n ) = cos ( 2 nf 2 )
y ( n ) = x1 ( n ) + x2 ( n )
On échantillonne ces signaux sur N points avec une période Te (on prend
n = 0 : Te : Te ( N − 1) . On note x1e, x2e, et ye les signaux échantillonnés.
On prend f1 = 10 Hz et f 2 = 60 Hz .
A. Utiliser le programme suivant pour visualiser les signaux échantillonnés x1e, x2e et ye
pour différentes valeurs de la fréquence d'échantillonnage Fe
3
Fe = 10 f 2 , Fe = f 2 et Fe = f 2 :
2
TP2 Représentation fréquentielle
clear
close all
clc
f1 = 60; f2 = 10;% On définit les Fréquences f1 et f2
Fe=input('Fréquence d''échantillonnage : '), % on donne la
% fréquence
% d'échantillonnage
Te = 1/Fe; % On calcule la période d'échantillonnage
N = floor(0.3 * Fe);% On choisit N de manière à afficher
% environ 3 périodes
t = 0: Te: Te*(N-1);
% On crée les signaux x1, x2 et y
x1 = cos(2*pi*f1*t);
x2 = cos(2*pi*f2*t);
y = x1 + x2;
% affichage des trois signaux
subplot(311); plot(t,x1); zoom; title('x1'); grid;
subplot(312); plot(t,x2); zoom; title('x2'); grid;
subplot(313); plot(t,y); zoom; title('y'); grid;
xlabel('temps');
Interpréter les résultats.
B. On prend Fe=512 Hz et N=256.
a) Calculer et visualiser, en fonction de la fréquence f (f=0:Fe/N:Fe*(N-1)/N), les parties
réelles des spectres des signaux x1e et x2e obtenus par la fonction ‘’fft’’, ainsi que le
spectre du signal ye.
b) Même question avec Fe=64 Hz.
Observer et commenter les positions des pics.
Etude de deux sinusoïdes voisines (résolution spectrale)
Influence de la longueur du signal
On prend maintenant les fréquences normalisées f1 = 0.1 Hz et f 2 = 0.11 Hz .
C. Générer et visualiser le signal déterministe ye(n) pour N = 128 échantillons (n=0 :N-1).
TP2 Représentation fréquentielle
D. Générer 1024 échantillons du signal ye (n). Considérons alors les signaux yei(n) de
longueurs 128, 256, 512 respectivement (n commençant à 0). Visualiser le spectre de
chacun de ces signaux en fonction de la fréquence normalisée (f=[0:N-1]/N).
Conclure.
Technique du zero-padding
On considère le signal ye (n) de longueur N=128 échantillons. Pour essayer d’augmenter la
résolution spectrale, on peut utiliser la technique du "zéro-padding" (technique de bourrage de
zéros. Cette technique consiste à augmenter artificiellement la taille du signal par des zéros :
z =[ ye, 0, 0, 0, 0, …].
E. Utiliser cette technique pour faire passer N à 256, 512 puis à 1024. Dans tous les cas,
visualiser le spectre obtenu.
Conclure.