Vous êtes sur la page 1sur 13

Amy Dia Ecole Supérieure Multinationale des

Télécommunications(ESMT)
Projet de Théorie et Traitement du Signal
MASTERE I

THEME : FFT, ECHANTILLONNAGE

1. FFT et le spectre du signal échantillonné :

1.1

 Expression de la transformée de Fourier discrète (TFD).

𝑁−1
𝑛𝑘
−𝑗2𝜋
𝑥𝑛 = ∑ 𝑥𝑘 ∗ 𝑒 𝑁
𝑘=0

Ou

𝑥𝑛 : composantes fréquentielles ;
𝑥𝑘 : composantes temporelles ;
N : nombres d’échantillons.

 Autre expression de la TFD

𝑁−1

𝑥𝑛 = ∑ 𝑥𝑘 ∗ 𝑊𝑁𝑘𝑛
𝑘=0
𝟐𝝅
Avec 𝑾𝑵 = 𝒆−𝒋 𝑵

 Les Nfft fréquences calculées sont les 𝑓𝑘 fréquences, avec :

𝑓𝑘=𝑘𝑓𝑒
𝑁

ou k= k0,1,……,N-1.
fe=fréquence d’échantillonnage
N=Nombre d’echantillons
 l’écart entre deux fréquences calculées (précision de FFT) est .

𝑓
= 𝑁𝑒

Ou fe=fréquence d’échantillonnage
N=Nombre d’échantillons

 Calcul de la transformée de Fourier X(ʋ) du signal discret xn.


1, 𝑝𝑜𝑢𝑟 𝑛 ∈ {0,𝑁 − 1}
𝑥𝑛 ={
0, 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠

On a donc
𝑁−1

X() = ∑ 𝑥𝑛 𝑒 −𝑗2𝜋n
𝑛
 X() = 𝑥0 + 𝑥1 ∗ 𝑒 −𝑗2𝜋n + 𝑥2 ∗ 𝑒 −𝑗4𝜋n + 𝑥3 ∗ 𝑒 −𝑗6𝜋n + ⋯
1 2 3
 X() = 1 + (𝑒 −𝑗2𝜋n ) + (𝑒 −𝑗2𝜋n ) +(𝑒 −𝑗2𝜋n ) + ⋯
On a ainsi, une suite géométrique de raison égale à 𝑒 −𝑗2𝜋n ,
𝑁
 1 − (𝑒 −𝑗2𝜋 )
X() =
1 − 𝑒 −𝑗2𝜋

 Fréquences pour lesquelles X() s’annule.


𝑁
1 − (𝑒 −𝑗2𝜋 )
X() =
1 − 𝑒 −𝑗2𝜋n

𝑒 −𝑗𝜋N ∗ 𝑒 𝑗𝜋N − 𝑒 −𝑗2𝜋N
X() =
1 − 𝑒 −𝑗2𝜋n

𝑒 −𝑗𝜋N ∗ (𝑒 𝑗𝜋N − 𝑒 −𝑗𝜋N )
X() =
1 − 𝑒 −𝑗2𝜋n

2 ∗ 𝑗 ∗ 𝑒 −𝑗𝜋N
X() = ∗ 𝑆𝑖𝑛(𝜋N)
1 − 𝑒 −𝑗2𝜋n

Ici nous pouvons dire que pour X()=0, on pose


𝑆𝑖𝑛(𝜋N) =0 𝑘
 𝜋N= k𝜋  =
𝑁

𝑘
Conclusion : le spectre du signal s’annule pour toutes les fréquences telles que ν=
𝑁

1.2 programme Matlab permettant de calculer le spectre d’un signal sinusoïdal.

Soit un signal x(t)= Sin(2𝜋𝑓𝑡) avec pour f=2 Hz, fréquence d’échantillonnage 𝑓𝑒 =8 Hz, Nombre
d’échantillons N=16, Nombre de points de FFT égal à 16.

Programme :

t=-10:0.1:10;
x=sin(2*pi*2*t);
te=1/8;
pi=3.14;
k=0:15;
xe=sin(2*pi*2*k*te);
y=fft(xe,16);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');
Xe(t)
1

-1
0 5 10 15
spectre de Xe(t)
1

-1
0 5 10 15
FFT
10

0
0 5 10 15

1.3

 Pour qu’il y ait pas de repliement de spectre, il faut que le théorème de Shannon soit
respecté : c’est-à-dire 𝑓𝑒 doit être supérieure à deux fois la fréquence maximale du signal
𝑓𝑒 > 2 ∗ 𝑓𝑚𝑎𝑥
Ici, 𝑓0 =1 Hz donc nous choisirons 𝑓𝑒 >2*1Hz.

Par exemple 𝑓𝑒 =3Hz.

 On échantillonne ce signal avec une fréquence d’échantillonnage égale à 8 Hz. Le


nombre d’échantillons est fixé à 32. On effectue un FFT avec le nombre de points de FFT
égal à 32, 128, 2048 et 4096. Visualiser le signal échantillonné et le module du spectre du
signal. Que constatez-vous ? Analyser et expliquer avec soin l’ensemble des phénomènes
observés.
 Cas ou N=32
t=-10:0.1:10;
x=sin(2*pi*1*t);
te=1/8;
pi=3.14;
k=0:31;
xe=sin(2*pi*1*k*te);
y=fft(xe,31);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');

Xe(t)
1

-1
0 5 10 15 20 25 30 35
spectre de Xe(t)
1

-1
0 5 10 15 20 25 30 35
FFT
100

50

0
0 20 40 60 80 100 120 140

 Cas ou N=128

t=-10:0.1:10;
x=sin(2*pi*1*t);
te=1/8;
pi=3.14;
k=0:127;
xe=sin(2*pi*1*k*te);
y=fft(xe,128);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');

Xe(t)
1

-1
0 20 40 60 80 100 120 140
spectre de Xe(t)
1

-1
0 20 40 60 80 100 120 140
FFT
100

50

0
0 20 40 60 80 100 120 140

 Cas ou N=2048

t=-10:0.1:10;
x=sin(2*pi*1*t);
te=1/8;
pi=3.14;
k=0:2047;
xe=sin(2*pi*1*k*te);
y=fft(xe,2048);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');

Xe(t)
1

-1
0 500 1000 1500 2000 2500
spectre de Xe(t)
1

-1
0 500 1000 1500 2000 2500
FFT
1000

500

0
0 500 1000 1500 2000 2500

 Cas ou N=4096

t=-10:0.1:10;
x=sin(2*pi*1*t);
te=1/8;
pi=3.14;
k=0:4095;
xe=sin(2*pi*1*k*te);
y=fft(xe,4096);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');
Xe(t)
1

-1
0 500 1000 1500 2000 2500 3000 3500 4000 4500
spectre de Xe(t)
1

-1
0 500 1000 1500 2000 2500 3000 3500 4000 4500
FFT
2000

1000

0
0 500 1000 1500 2000 2500 3000 3500 4000 4500

Analyse et Explications : Le fait d’augmenter le nombre de point augmente la précision. Du


coup, on aura beaucoup plus d’échantillons dans chaque lobe.

2. Théorème d’échantillonnage et le phénomène de repliement du spectre

2.1.Fixons la fréquence d’échantillonnage à 8 Hz, le nombre d’échantillons à 32 et le nombre


de points de FFT à 32. Visualisons le module du spectre du signal sinusoïdal dans le cas
où la fréquence du signal est égale à 3 Hz. Faisons la même question avec une fréquence
du signal égale à 9 Hz, 10 Hz, 18 Hz, 27 Hz.

 Pour f=3Hz

t=-10:0.1:10;
x=sin(2*pi*3*t);
te=1/8;
pi=3.14;
k=0:31;
xe=sin(2*pi*3*k*te);
y=fft(xe,32);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');

Xe(t)
1

-1
0 5 10 15 20 25 30 35
spectre de Xe(t)
1

-1
0 5 10 15 20 25 30 35
FFT
20

10

0
0 5 10 15 20 25 30 35

 Pour f=9Hz

t=-10:0.1:10;
x=sin(2*pi*9*t);
te=1/8;
pi=3.14;
k=0:31;
xe=sin(2*pi*9*k*te);
y=fft(xe,32);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');

Xe(t)
1

-1
0 5 10 15 20 25 30 35
spectre de Xe(t)
1

-1
0 5 10 15 20 25 30 35
FFT
20

10

0
0 5 10 15 20 25 30 35

 Pour f=10Hz

t=-10:0.1:10;
x=sin(2*pi*10*t);
te=1/8;
pi=3.14;
k=0:31;
xe=sin(2*pi*10*k*te);
y=fft(xe,32);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');

Xe(t)
1

-1
0 5 10 15 20 25 30 35
spectre de Xe(t)
1

-1
0 5 10 15 20 25 30 35
FFT
20

10

0
0 5 10 15 20 25 30 35

 Pour f=18Hz

t=-10:0.1:10;
x=sin(2*pi*18*t);
te=1/8;
pi=3.14;
k=0:31;
xe=sin(2*pi*18*k*te);
y=fft(xe,32);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');
Xe(t)
1

-1
0 5 10 15 20 25 30 35
spectre de Xe(t)
1

-1
0 5 10 15 20 25 30 35
FFT
20

10

0
0 5 10 15 20 25 30 35

 Pour f=27Hz
t=-10:0.1:10;
x=sin(2*pi*27*t);
te=1/8;
pi=3.14;
k=0:31;
xe=sin(2*pi*27*k*te);
y=fft(xe,32);
subplot(3,1,1);
plot(k,xe,'r');
title('Xe(t)');
subplot(3,1,2);
stem(k,xe,'g');
title('spectre de Xe(t)');
subplot(3,1,3);
plot(k,abs(y));
title('FFT');
Xe(t)
1

-1
0 5 10 15 20 25 30 35
spectre de Xe(t)
1

-1
0 5 10 15 20 25 30 35
FFT
20

10

0
0 5 10 15 20 25 30 35

Explications : La on constate que : Plus la fréquence augmente, plus le signal obtenu est loin
du signal de départ. Quand on augmente la fréquence jusqu'à ce que la condition de Shannon
ne soit plus vérifiée (c'est-à-dire fe>3*fmax) alors il y aura repliement ou chevauchement de
spectre comme l’indique si bien les cas ou la fréquence f=9, 10, 18, 27.

Vous aimerez peut-être aussi