gaussian beams

Contents

gaussian waist (version 1)

ag = gaussian_beam(0.5,0);
lambda_z = linspace(-1,1,100);
a = gaussian_prop(ag,lambda_z);
[b lambda_R] = gaussian_parm(a);
plot(lambda_z,b,'k','LineWidth',1.5);
hold on;
plot(lambda_z,-b,'k','LineWidth',1.5);
xlabel('z');
ylabel('beam edges');
hold off

gaussian waist (version 2)

% ZR = Raleigh range
ZR=1;
bw=0.5;


z=linspace(-5*ZR,5*ZR,100);
b = bw*sqrt((z/ZR).^2+1);
plot(z,b);
hold on;
plot(z,-b);
z = linspace(-5*ZR,5*ZR,9);
b = bw*sqrt((z/ZR).^2+1);
cv = z./(z.^2+ZR^2);
r = linspace(-1,1,101);
for i=1:length(z)
    zs = z(i)-sag(b(i)*r,cv(i));
    btemp = bw*sqrt((zs/ZR).^2+1);
    idx = find(b(i)*abs(r)<=btemp);
    plot(zs(idx),b(i)*r(idx),'k','LineWidth',1.5);
end
hold off

xlabel('z');
ylabel('beam size');

spatial filter - laser collimator example

Given a HeNe laser with a beam waist of 1.5 mm at the output of the laser.

(a) Find the half-power diameter: diameter of circle enclosing half of the laser power

bw = 1.5; % units are mm
range = 2;

r = linspace(0,range,101);
y = gaus(r/bw).^2;

r50 = interp1(y,r,0.50);
fprintf('50%% power radius: r/bw %g\n',r50/bw);
r99 = interp1(y,r,0.01);
fprintf(' 1%% power radius: r/bw %g\n',r99/bw);

plot(r,y,'k',[0 r50 r50],[0.5 0.5 0],'b--');
xlabel('radius');
ylabel('power');
50% power radius: r/bw 0.332149
 1% power radius: r/bw 0.85626

gp = @(r) gaus(sqrt(2)*r/bw).*r;
gt = zeros(size(r));
gtotal = bw^2/2;
gnorm = 2*pi*quad(gp,0,20)/gtotal;
fprintf('total power %g\n',gtotal);

for k=2:101
    gt(k) = 2*pi*quad(gp,0,r(k))/gtotal;
end

r50 = interp1(gt,r,0.50);
fprintf('50%% enclosed-power radius: r/bw %g\n',r50/bw);
r99 = interp1(gt,r,0.99);
fprintf('99%% enclosed-power radius: r/bw %g\n',r99/bw);

plot(r,gt,'k',[0 r50 r50],[0.5 0.5 0],'b--');
xlabel('radius');
ylabel('enclosed power');
total power 1.125
50% enclosed-power radius: r/bw 0.332149
99% enclosed-power radius: r/bw 0.856265
% overlay theory + calc

gint = @(r) (1 - gaus(sqrt(2)*r/bw));
rt = linspace(0,range,11);
plot(r,gt,rt,gint(rt),'o');

final answer

fprintf('half-power diameter: %g mm\n',2*r50)
half-power diameter: 0.996447 mm

(b) Find the beam divergence (full-angle) in mr ( milliradians) and the Raleigh range (in meters)

bw = 1.5;
lambda = 0.6328e-3; % in mm
div = 2*lambda/bw;
fprintf('beam divergence %g milliradians\n',div*1e3);
zR = bw^2/lambda; % in mm
fprintf('Raleigh range %g meters\n',zR*1e-3);
beam divergence 0.843733 milliradians
Raleigh range 3.55563 meters

(c) a 9-mm lens is placed 20-mm in front of the laser. Find the location and size of the beam waist after the lens

bw = 1.5; % units are mm
lambda = 0.6328e-3; % in mm
aobj = gaussian_beam(bw);
Ain = 1.0;
dist = 20;
[a2, A2] = gaussian_prop(aobj,lambda*dist,Ain);
[b2, lambda_R] = gaussian_parm(a2);
fprintf('beam size %g\n',b2);
fprintf('R2 %g\n',lambda_R/lambda);

% effect of lens
efl = 9;
a2 = a2 - 1/(lambda*efl);

%function [bwaist, lambda_zwaist] = gaussian_waist(ag)

[bwaist, lambda_zwaist] = gaussian_waist(a2);
fprintf('distance to waist: %g\n',lambda_zwaist/lambda);
fprintf('waist %g\n',bwaist);
beam size 1.50002
R2 632144
distance to waist: 9.00007
waist 0.00379678
% check using propagation function
[a3, A3] = gaussian_prop(a2,lambda_zwaist,A2);

[b3, lambda_R] = gaussian_parm(a3);
fprintf('\ncheck waist by using propagation function\n');
fprintf('beam size %g\n',b3);
fprintf('R %g\n',lambda_R/lambda);
check waist by using propagation function
beam size 0.00379678
R -1.93348e+012

(d) collimate beam with 50-mm focal length lens

efl = 50;
[a4, A4] = gaussian_prop(a3,lambda*efl,A3);
fprintf('\ncheck beam parameters at collimating lens\n');
[b4, lambda_R] = gaussian_parm(a4);
a4 = a4 - 1/(lambda*efl);
fprintf('beam size %g\n',b4);
fprintf('R %g\n',lambda_R/lambda);
check beam parameters at collimating lens
beam size 8.33337
R 50

look at distance to waist

[bwaist, lambda_zwaist] = gaussian_waist(a4);
fprintf('\ncollimated output\n');
fprintf('distance to waist: %g\n',lambda_zwaist/lambda);
fprintf('waist %g\n',bwaist);
collimated output
distance to waist: 50
waist 8.33337

waist seems to be located at back focal plane of collimating lens

geometric scaling

bfinal = bw*50/9;
fprintf('geometric scaling: bfinal %g\n',bfinal);
geometric scaling: bfinal 8.33333
% plot profile

% from laser to lens 1
z1 = linspace(0,20,21);
a = gaussian_prop(aobj,lambda*z1);
b1 = gaussian_parm(a);

% from lens1 to waist
z2 = linspace(0,9,10);
a = gaussian_prop(a2,lambda*z2);
b2 = gaussian_parm(a);

% from waist to lens2
z3 = linspace(0,50,51);
a = gaussian_prop(a3,lambda*z3);
b3 = gaussian_parm(a);

% from lens 3
z4 = linspace(0,100,101);
a = gaussian_prop(a4,lambda*z4);
b4 = gaussian_parm(a);
z = [z1 z2+20 z3+29 z4+79];
b = [b1 b2 b3 b4];

plot(z,b,'b',z,-b,'g');
% final divergence

div = lambda/bwaist;
fprintf('output beam divergence %g milliradians\n',2*div*1e3);

z = linspace(0,100,201);
a = gaussian_prop(a4,lambda*z*1e3);
b = gaussian_parm(a);
plot(z,b,'k',z,-b,'k');
xlabel('distance (m)');
output beam divergence 0.151871 milliradians