FP Transmission of a Fabry--Perot interferometer

by Chuck DiMarzio Northeastern University May 2009

!! This file may be copied, used, or modified for educational and
!! research purposes provided that this header information is not
!! removed or altered, and provided that the book is cited in
!! publications, as DiMarzio, Charles A., Optics for Engineers,
!! CRC Press, Boca Raton, FL, 2011.
!! http://www.crcpress.com
!! Other distribution is prohibited without permission.

Contents

Equation

$$ T = \frac{T_1T_2}{\left|1-e^{i 2 n k \Delta}\rho_1\rho_2\right|^2} $$

Parameters

Fresnel reflection coefficients
lambda=(600:0.1:650)*1e-9; % wavelength in meters
c=299792458; % m/s
f=c./lambda;
k=2*pi./lambda;
%

Transmissions of two etalons with 10--micrometer spacing

Delta=10e-6;  % Spacing of etalon reflectors
R1=0.9;R2=0.9;  % Power reflectivities
rho1=sqrt(R1);rho2=sqrt(R2);  % Assume field coefficients are real
T1=1-R1;T2=1-R2;
T90=T1*T2./(abs(1-exp(1i*k*2*Delta)*rho1*rho2)).^2;
%
% Lower reflecivity
%
R1=0.5;R2=0.5;  % Power reflectivities
rho1=sqrt(R1);rho2=sqrt(R2);  % Assume field coefficients are real
T1=1-R1;T2=1-R2;
T50=T1*T2./(abs(1-exp(1i*k*2*Delta)*rho1*rho2)).^2;
%
%
fig1=figure;plot(f/1e12,T90,'-',f/1e12,T50,'--');grid on;
hold on;
for lambdaplot=(610:20:650);
  plot(c/(lambdaplot*1e-9)/1e12,1.1,'k^');
  text(c/(lambdaplot*1e-9)/1e12,1.1,[sprintf('%5.0f',lambdaplot),' nm']);
end;
hold off;
xlabel('f, Freq., THz.');
ylabel('T, Trannsmission');

Laser cavity

Gain line assumed lorentzian

fcenter=c/514.5e-9;  % Argon ion laser green line
hwhm=5e10/2;  % Gain linewidh
%
% New frequency axis
f1=fcenter+(-4:0.001:4)*1e10;
lambda=c./f;
k=2*pi./lambda;
%
g=1./(1+((f1-fcenter)/hwhm).^2);
%
Delta=30e-2;  % Spacing of etalon reflectors
%
%  The Fabry--Perot lines are too narrow to plot, so we will just plot
%  their locations.
%  The fundamental frequency is
f0=c/(2*Delta);
Ncenter=round(fcenter/f0); % Integer mode number nearest center
Nlow=ceil(f1(1)/f0);  % Low and highest integer mode numbers
Nhigh=floor(f1(end)/f0);
N=(Nlow:Nhigh);
fN=N*f0;
%
% Note below we only plot every fifth cavity mode because they are too dense
fig2=figure;plot((fN(5:5:end)-fcenter)/1e9,0.5*ones(size(N(5:5:end))),'.',...
            (f0*Ncenter-fcenter)/1e9,0.6,'*',...
            (f1-fcenter)/1e9,g,'--');grid on;
xlabel('\delta f, Freq., GHz.');
ylabel('G/G_{max}');

Etalon inside a laser cavity

f2=fcenter+(-40:0.0001:40)*1e9; % Narrow the frequency plot
lambda2=c./f2;
k2=2*pi./lambda2;
Ncenter=round(fcenter/f0); % Integer mode number nearest center
Nlow=ceil(f2(1)/f0);  % Low and highest integer mode numbers
Nhigh=floor(f2(end)/f0);
N=(Nlow:Nhigh);
fN=N*f0;
% recompute the gain for new frequency axis
g2=1./(1+((f2-fcenter)/hwhm).^2);
% Transmissions of etalon with 5--micrometer spacing
%
Delta=5.003e-3;  % Spacing of etalon reflectors
R1=0.95;R2=0.95;  % Power reflectivities
rho1=sqrt(R1);rho2=sqrt(R2);  % Assume field coefficients are real
T1=1-R1;T2=1-R2;
Tetalon=T1*T2./(abs(1-exp(1i*k2*2*Delta)*rho1*rho2)).^2;

% Note below we only plot every fifth cavity mode because they are too dense
fig3=figure;plot((fN(5:5:end)-fcenter)/1e9,0.5*ones(size(N(5:5:end))),'.',...
            (f0*Ncenter-fcenter)/1e9,0.5,'*',...
            (f2-fcenter)/1e9,g2,'--',...
            (f2-fcenter)/1e9,Tetalon,'-.');grid on;
xlabel('\delta f, Freq., GHz.');
ylabel('G/G_{max}, T');

Expanded scale

kk1=2*pi/(c/(f0*Ncenter));% Find Tetalon at the two cavity modes nearest
                          % the peak
kk2=2*pi/(c/(f0*(Ncenter-1)));
tetalon1=T1*T2./(abs(1-exp(1i*kk2*2*Delta)*rho1*rho2)).^2;
tetalon2=T1*T2./(abs(1-exp(1i*kk1*2*Delta)*rho1*rho2)).^2;

fig4=figure;plot((fN-fcenter)/1e9,0.5*ones(size(N)),'+',...
            (f0*Ncenter-fcenter)/1e9,0.5,'*',...
            (f0*Ncenter-fcenter)/1e9,tetalon2,'o',...
            (f0*(Ncenter-1)-fcenter)/1e9,tetalon1,'o',...
            (f0*Ncenter-fcenter)/1e9*[1,1],[0,1.1],'k-',...
            (f0*(Ncenter-1)-fcenter)/1e9*[1,1],[0,1.1],'k-',...
            (f2-fcenter)/1e9,g2,'--',...
            (f2-fcenter)/1e9,Tetalon,'-.');grid on;
axis([-3,3,0,1.1]);
xlabel('\delta f, Freq., GHz.');
ylabel('G/G_{max}, T');

Graphical representations

Show how the denominator of the Fabry Perot transmission equation varies with the optical path.

unitcircle=exp(1i*(0:360)*pi/180);
semicircle=exp(1i*(-90:90)*pi/180);
r1=0.99;r2=0.9;r3=0.8;
lox=-0.01;hix=0.2;loy=-0.2;hiy=0.2; % Bounds of expanded region
fig5=figure;plot(real(1+r1*unitcircle),imag(1+r1*unitcircle),'-',...
            real(1+r2*unitcircle),imag(1+r2*unitcircle),'-',...
            real(1+r3*unitcircle),imag(1+r3*unitcircle),'-',...
            real((1-r1)*sqrt(2)*semicircle),...
                imag((1-r1)*sqrt(2)*semicircle),'-',...
            real((1-r2)*sqrt(2)*semicircle),...
                imag((1-r2)*sqrt(2)*semicircle),'-',...
            real((1-r3)*sqrt(2)*semicircle),...
                imag((1-r3)*sqrt(2)*semicircle),'-',...
            [lox,hix,hix,lox,lox],[loy,loy,hiy,hiy,loy],'--',...
            [-0.2,2.2],[0,0],'k-',[0,0],[-1.2,1.2],'k-');

axis([-0.2,2.2,-1.2,1.2]);axis image;
xlabel('Re');ylabel('Im');

fig6=figure;plot(real(1+r1*unitcircle),imag(1+r1*unitcircle),'-',...
            real(1+r2*unitcircle),imag(1+r2*unitcircle),'-',...
            real(1+r3*unitcircle),imag(1+r3*unitcircle),'-',...
            real((1-r1)*sqrt(2)*semicircle),...
                imag((1-r1)*sqrt(2)*semicircle),'-',...
            real((1-r2)*sqrt(2)*semicircle),...
                imag((1-r2)*sqrt(2)*semicircle),'-',...
            real((1-r3)*sqrt(2)*semicircle),...
                imag((1-r3)*sqrt(2)*semicircle),'-',...
            [lox,hix],[0,0],'k-',[0,0],[loy,hiy],'k-');

axis image;
axis([lox,hix,loy,hiy]);
xlabel('Re');ylabel('Im');

Demonstration of adding terms in the infinite series

phid=(0:720);
n=(0:300);
[ph,nn]=meshgrid(phid,n);
term=0.01*0.98.^(nn/2).*cosd(nn.*ph);
output=(cumsum(term,1));
figure;plot(phid,term([1,2,3,10],:));
xlabel('\phi, Phase, Deg');ylabel('Term');
figure;plot(phid,output([1,2,3,10,300],:));
xlabel('\phi, Phase, Deg');ylabel('Sum');