Ce programme a pour but de calculer la TF de tous les points du wafer et de créer la matrice tfv(x ;y ;frequence).


Voici le code réalisé sous Matlab, qui nous a permit de faire ce programme. 



tic
for inc=1:1000:5001
  %inc=1
d1='E:\mesures manip\manip du 4 fevrier\';%prendre les mesures de l'oscilo
imax=168;
jmax=105;
t0=250000+inc; % tps de départ
tmax=1000;%nb points
tfv=zeros(imax,jmax,tmax);
Delta=.3;%0.3
Nmax=imax*jmax;
Y=0;
X=0;


%  lecture 1er point
filename=[d1,'F1X=', num2str(X),'_Y=',num2str(Y),'_00000.trc']; % permet de definir le nom d'un fichier
if exist(filename)==2 % teste si le fichier existe, sinon, c'est un point hors wafer ou un point manqué...
   
    W=lcreadOX(filename);
    o=fftshift(detrend(fft(W.y),'constant'));
    time=W.x(t0:t0-1+tmax);
    tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=o(t0:t0-1+tmax);% vecteur 'amplitude
else
    tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=NaN; %W.y(t0:t0-1+tmax);
end

% lecture 1ere ligne
for jj=1:(jmax-1)
    X=X+Delta;
    filename=[d1,'F1X=', num2str(X),'_Y=',num2str(Y),'_00000.trc']; % permet de definir le nom d'un fichier
    if exist(filename)==2
   
        W=lcreadOX(filename);
        o=fftshift(detrend(fft(W.y),'constant'));
        tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=o(t0:t0-1+tmax);% vecteur 'amplitude'
    else
        tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=NaN; %W.y(t0:t0-1+tmax);
    end
end

% Boucle principale
for ii=2:imax
    ii
    % Premier point de la ligne i
    if(mod(ii,2)==1)
        X=0;
    else
        X=(jmax-1)*Delta;
    end
    Y=Y+Delta;
    filename=[d1,'F1X=', num2str(X),'_Y=',num2str(Y),'_00000.trc']; % permet de definir le nom d'un fichier
    if exist(filename)==2
        W=lcreadOX(filename);
        o=fftshift(detrend(fft(W.y),'constant'));
        tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=o(t0:t0-1+tmax);% vecteur 'amplitude'
    else
        tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=NaN ; %W.y(t0:t0-1+tmax);
    end
    for jj=1:(jmax-1)
        if(mod(ii,2)==1)
            X=X+Delta;
        else
            X=X-Delta;
        end

        if(X<1e-4)
            X=0;
        end

        filename=[d1,'F1X=', num2str(X),'_Y=',num2str(Y),'_00000.trc']; % permet de definir le nom d'un fichier
        if exist(filename)==2

            W=lcreadOX(filename);
           o=fftshift(detrend(fft(W.y),'constant'));
            tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=o(t0:t0-1+tmax);% vecteur 'amplitude'
        else
            tfv(round(Y/Delta)+1,round(X/Delta)+1,:)=NaN ;%W.y(t0:t0-1+tmax);
        end
    end
end;
savename = (['tfv',num2str(inc),'.mat']);
save(savename,'tfv');
end
toc

Retour en haut de la page.