% signal % MATLAB - Novembre 1993 % Valérie Perrier - %________________________________ % % Génération de signaux. Le signal en sortie est noté Y % Calcul de sa transformée de Fourier % Tracé de y(t) et de son spectre (module de sa TF) %_______________________________ clear;clc;clf % % nombre de points de discretisation.............. % n=input('Nombre de points de discretisation:'); dx=1/n; t=0:dx:1; % %..choix du signal (menu)................. % disp('(1) Dirac') disp('(2) Creneau') disp('(3) Bruit Blanc') disp('(4) Somme de 2 sinusoides') disp('(5) Succession de 2 sinusoides') disp('(6) Onde modulee') disp('(7) signal sismique') disp('(8) signal audio') m=input('Votre choix:'); %index=(1:n); if m==1 n2=n/2; y=[zeros(1,n2-1) 1 zeros(1,n2)]; elseif m==2 y=square(2*10*pi*t); elseif m==3 y=randn(1,length(t)); elseif m==4 y=sin(2*pi*4*t)+0.2*sin(2*pi*9*t); elseif m==5 n2=n/2; y=[sin(2*pi*8*t(1:n2)) sin(2*pi*18*t(n2+1:n))]; elseif m==6 y=cos(2*pi*t.*(10*t+0.5)); elseif m==7 load quake g=0.0980; delt=1/200; % y=e*g;%(e est le signal dans quake) y=e; % t=delt*(1:length(e)); % yrange=[-250,250]; % ax=[0 50 yrange]; % ech=n; % index=(1:10000/ech)*ech; elseif m==8 load splat end m=input('Ajouter du bruit ? oui=0 non=1 :'); if m==0 br=input('rapport signal/bruit:'); y=y+br*randn(size(y)); end % %..Trace du signal temporel............ % subplot(2,1,1),plot(t(1:n),y(1:n)),title('representation temporelle') % %..Calcul de la transformee de Fourier... % n2=n/2; fy=fft(y,n); f=(0:n2); fy=abs(fy); %..trace............ subplot(2,1,2),plot(f(1:n2),fy(1:n2)) title('representation frequentielle')