%CR TP de TdS sur la Transformée de Fourier Discrète

%Objectif: Calcul de la TFD de signaux numeriques
%---------

%Exercice1:
%**********

%Question a:
%***********

clear all             %Construction de la fonction x(n)
x=[];
t=[];
for i=0:1:7
       x=[x 1];
       t=[t i];
       end;
stem(t,x)              %Trace de la courbe temporelle discrete
axis([ -7 15 0 2])

N=256                    %Nombre de points

flops(0)
X=fft(x,N);
flops
plot(abs(X))

%Pour N egal a une puissance de 2, on a un temps de calcul inferieur.

%Question b:
%***********

Fe=200;
f=30;
indice=round((f*N)/Fe);
abs(X(indice))

%Le signal est reel donc sa transformee de Fourier est symetrique. On a donc le module pour f=-30Hz en calculant le module de f=30Hz.
%On obtient alors pour f=40Hz, |X(f)|=1.7033
%On obtient alors pour f=-30Hz, |X(f)|=1.0747

%Exercice 2:
%***********

%Question a:
%***********

clear all
k0=4;
N=100;
n=0:1:49;
x=cos(2*pi*k0*n/N);
X=fft(x);
figure
stem(n,abs(X))
[max,indiceDuMax]=max(X);
max
indiceDuMax

%Pour k0=4, chaque échantillon tombe sur les valeurs nulles(impacts des rebonds de la courbe).
%Pour trouver le maximum des impulsions de Dirac on va augmenter N. On trouve alors un maximum de 25.

%Question b:
%***********

clear all
k0=3;
N=100;
n=0:1:49;
x=cos(2*pi*k0*n/N);
X=fft(x);
figure
stem(n,abs(X))
[max,indiceDuMax]=max(X);
max
indiceDuMax

%Cette fois, on ne tombe plus sur les racines. On obtient un signal en forme de U et le maximum est inférieur à 25 (environ 18).

%Question c:
%***********

%D'après Shannon, on a un signal de fréquence maximale inférieur ou égal à 50 Hz.