function dctsignal=dct(signal)
% utilisation: DCTSignal=dct(Signal);
% discrete cosine transform 1D
% Frederic Sur 2008
% cette fonction opere independamment sur les colonnes de la matrice Signal
S=size(signal);
L=S(1);
signalsym=[signal; flipud(signal)];
fsignalsym=fft(signalsym);
mat=[0:L-1]'*ones(1,S(2));
dctsignal=.5*exp(-i*pi*mat/(2*L)).*fsignalsym(1:L,:);
dctsignal=real(dctsignal);
