clear all; close all; tic addpath(genpath('C:\Users\amoudry\desktop\Fichiers Labo\Fichiers Pierre\Simulation\Personal codes\Various')) [TAS,~,r] = GetCavity('SBOX_ULE'); [F,~] = Get_info(TAS(1:4),TAS(5:8),TAS(9:12)); lambda = 1030e-9; c = 299792458; FSR = 133.33e6; w0 = 2*pi*c/lambda; tau = 1e-12; % FWHM duration a = 4*log(2)/tau^2; E0 = 1;%(pi/2/a)^(1/2); % Energy to normalize gaussian spectrum (Input beam power = 1) DeltaPhiCE = 0; % CEP N = 1e5; dk = 0:(N-1); Aa = (r.^dk-r.^(2.*N-dk)); Bb = E0*TAS(1)./(1-r.^2); Cc = (1-r.^(2.*N)); Nn = 5e2; % Increase Nn <-> increase resolution dtt = -Nn:Nn; dtt = dtt*lambda/c/(0.1*Nn); %1e6 Ecn = zeros(numel(dtt),1); for ii = 1:numel(dtt) for ll = 0:3 % ll = 0; dt = dtt(ii)+ll*lambda/c; Phid = DeltaPhiCE + w0.*dt; temp_vect = Aa.*cos(dk.*Phid).*exp(-a.*dk.^2.*dt.^2./2); Ecn(ii,ll+1) = Bb.*(2*sum(temp_vect)-Cc); disp([num2str(ii)]); end end toc %% Time plots % figure % semilogy(dtt/lambda*c,Ecn/max(Ecn),'LineWidth',2) % hold on % semilogy(dtt/lambda*c,Ecn2/max(Ecn),'LineWidth',2) % hold on % semilogy(dtt/lambda*c,Ecn3/max(Ecn),'LineWidth',2) % hold on % semilogy(dtt/lambda*c,Ecn4/max(Ecn),'LineWidth',2) % set(gca,'FontSize',15) % xlabel('\DeltaT (\lambda/c)') % ylabel('Energy (A.U.)') % grid on % legend('\DeltaT = 0','\DeltaT = \lambda/c','\DeltaT = 2\lambda/c','\DeltaT = 3\lambda/c') % axis square % figure % semilogy(dtt/lambda*c,Ecn/max(Ecn),'LineWidth',2) % grid on % set(gca,'FontSize',25) % % set(gca,'YLim',[1e-9 1e0]) % xlabel('\DeltaT (\lambda_0/c)') % ylabel('log(Energie (u.a.))') %% Frequency nu0 = w0/2/pi; frep = (1/FSR-nu0/FSR*dtt).^(-1); % Infinity in dtt = 1/nu0 fprintf('\nFinesse : %g\n\n',F); % Get linewidth figure for jj = 1:4 % Find the 2 minimas of Ecn_half. Take the corresponding frep and % substract them Ecn_half = abs(Ecn(:,jj)-max(Ecn(:,jj))/2); Ecn_half2 = sort(Ecn_half); [row1,~] = find(Ecn_half==Ecn_half2(1),1); [row2,~] = find(Ecn_half==Ecn_half2(2),2); if numel(row2)>1 % Sometimes row can be a vector row2 = row2(2); end dnu = abs(frep(row2)-frep(row1)); fprintf('RES %g\nMax gain : %g. Linewidth : %g kHz\n\n',jj-1,max(Ecn(:,jj)),dnu/1e3); % plot((frep-FSR)/FSR,Ecn(:,jj)/max(Ecn(:,1)),'LineWidth',2) % hold on semilogy((frep-FSR)/FSR,Ecn(:,jj)/max(Ecn(:,1)),'LineWidth',2) xlim([-0.05 0.05]) hold on end set(gca,'FontSize',15) xlabel('(f_r_e_p-FSR)/FSR') % ylabel('Energy (A.U.)') ylabel('log(Energie (u.a.))') grid on legend('\DeltaT = 0','\DeltaT = \lambda/c','\DeltaT = 2\lambda/c','\DeltaT = 3\lambda/c') axis square % axis([-0.01 0.01 10^-6 1])