% Ce script calcule la transformée de Fourier d'un rectangle

clc
clear all
close all

N=1024;
w=25;
x=0:N-1;                   % définition du vecteur x
y=(x>N/2-w)&(x<N/2+w);     % vecteur y = rectangle de largeur 2w
Y=fft(y);                  % calcul de la transformée de Fourier
fx=(0:N-1)/(max(x)-min(x));% définition de l'axe des fréquences
% affichage des résultats
subplot(3,1,1), plot(x,y)
axis([0 N 0 1])
title('y(x)')
subplot(3,1,2), plot(fx,abs(Y))
title('|Y(fx)|')
subplot(3,1,3), plot(fx,angle(Y))
title('phase de Y(fx)')