% 1er exercice


for fe=30:5:50;
    [T,Y]=signal(fe);
    figure, plot(T,Y);
    grid on;
    title(['signal discrétisé, fe=' num2str(fe)]); xlabel('t'); ylabel('signal')
    specY=fftshift(abs(fft(Y)));
    f=fe*linspace(-.5,.5,numel(T));
    figure, plot(f,specY);
    title(['spectre d''amplitude, fe=' num2str(fe)]); xlabel('f');
end;




% 2eme exercice

clear all, close all

Ima=imread('WTC.tif');  % essayez aussi avec les autres images
%Ima=imread('boat.tif');  
%Ima=imread('synthetique.tif');

fIma=fft2(Ima);

figure, imshow(Ima);
title('Image originale');

figure, imagesc(fftshift(log(abs(fIma)))), colormap(gray)
title('Spectre de l''image originale');


% méthode 1

Ima_1=Ima(1:2:end,1:2:end);
fIma_1=fft2(Ima_1);
figure, imshow(Ima_1);
title('méthode 1');

figure, imagesc(fftshift(log(abs(fIma_1)))), colormap(gray)
title('Spectre de l''image sous-échantillonnée, méthode 1');


% méthode 2

masque=zeros(size(Ima));
masque(129:385,129:385)=1;   
fIma_m=fftshift(fIma).*masque;

figure, imagesc(log(abs(fIma_m))), colormap(gray);
title('Spectre de l''image originale après filtre passe bas idéal')

Ima_m=ifft2(ifftshift(fIma_m),'symmetric');
Ima_2=Ima_m(1:2:end,1:2:end);
figure, imshow(uint8(Ima_2));
title('méthode 2');

figure, imagesc(fftshift(log(abs(fft2(Ima_2))))), colormap(gray);
title('Spectre de l''image sous-échantillonnée, méthode 2')


% méthode 3

g=fspecial('gaussian',[96,96],16);
masque_b=conv2(masque,g,'same');

figure, imagesc(masque,[0,1]), title('masque idéal sur les fréquences')
figure, imagesc(fftshift(ifft2(ifftshift(masque),'symmetric')),[-0.05,0.25]), colorbar, title('masque idéal, effet en espace');

figure, imagesc(masque_b,[0,1]), title('masque adouci sur les fréquences')
  figure, imagesc(fftshift(ifft2(ifftshift(masque_b),'symmetric')),[-0.05,0.25]), title('masque adouci, effet en espace'), colorbar;

fIma_mb=fftshift(fIma).*masque_b;

figure, imagesc(fftshift(log(abs(ifftshift(fIma_mb))))), colormap(gray);
title('Spectre de l''image originale après filtre passe bas doux');

Ima_mb=ifft2(ifftshift(fIma_mb),'symmetric');
Ima_3=Ima_mb(1:2:end,1:2:end);
figure, imshow(uint8(Ima_3));
title('méthode 3');

figure, imagesc(fftshift(log(abs(fft2(Ima_3))))), colormap(gray);
title('Spectre de l''image sous-échantillonnée, méthode 3');
