Bonjour et merci d'avance,

Dans le cadre d'un TP à distance en traitement de signal, je dois répondre aux questions suivantes :

N'ayant pas très bien compris le concept de transformée de fourier discrète, je me suis dirigé sur internet afin de trouver des exemples de codes, voici ainsi mon programme matlab :
Code :Sélectionner tout -Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
clear all;
A = [1,1,1,2,1,1,1,1];
F0 = [200,200,200,200,400,1000,1800,2200];
N = [1024,2048,2048,2048,2048,2048,2048,2048];
Fe = [1000,1000,2000,2000,2000,2000,2000,2000];
 
for i = 1:5
  t = 0:1/Fe(i):1;
  subplot(2,3,i);
  x = A(i)*cos(2*pi*F0(i)*t+pi/4);
  plot(t,x);
  xlabel("Temps (s)");
  ylabel("Amplitude");
  axis([0 0.05 -1 1 ]);
 
  Y = fft(x); %calcul de la transformee de fourirer discrete
  P2 = abs(Y/N(i));
  P1 = P2(1:N(i)/2+1);
  P1(2:end-1) = 2*P1(2:end-1);
  f = Fe(i)*(0<img src="images/smilies/icon_sad.gif" border="0" alt="" title=":(" class="inlineimg" />N(i)/2))/N(i);
  plot(f,P1) 
  title('Single-Sided Amplitude Spectrum of S(t)')
  xlabel('f (Hz)')
  ylabel('|P1(f)|')
  axis([-300 300 -0.2 1 ]);
endfor
end


Cependant, j'ai bien l'impression que ce code n'affiche que le "pic" en f0 mais pas celui en -f0 : , ainsi, n'ayant que partiellement compris la partie "transformée de fourier" je me demandais ce qu'il me fallait modifier pour afficher tous les modules.

Merci pour votre temps et votre compréhension.