欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Matlab:厄米-高斯光束合成拉盖尔-高斯光束

程序员文章站 2022-05-22 15:49:56
...

代码:

clc
clear all
close all
%%
N = 300;            %采样点数
lambda = 632e-9;    %波长632nm
k = 2*pi/lambda;    %波数
w0 = 3e-3;          %束腰半径3mm
Z_R = pi*w0^2/lambda;      %瑞利长度
row = linspace(-3*w0,3*w0,N);   col = row;
[x,y] = meshgrid(row,col);
[theta,r] = cart2pol(x,y);
z = 1e-9;           %z=0时w_z会无穷大,暂时不知道如何解决,只能用一个相当小的z来等效z=0
w_z = w0*sqrt(1+(z/Z_R)^2);%光束在z位置的半径
p = 0;      l = 1;
E_01 = Hermite(p,sqrt(2)*x/w_z).*Hermite(l,sqrt(2)*x/w_z).*exp(-1i*(p+l+1)/tan(z/Z_R)).*exp(1i*k*r.^2/2/(z-1i*Z_R));
I_01 = E_01.*conj(E_01);      I_01 = I_01/max(max(I_01));

figure;
subplot(2,3,1)
h_01 = pcolor(x,y,I_01);
set(h_01,'edgecolor','none','facecolor','interp');
title('HG_0_1');
axis square;

subplot(2,3,4)
E_01_phase = angle(E_01);
h_01_phase = pcolor(x,y,E_01_phase);
set(h_01_phase,'edgecolor','none','facecolor','interp');
title('HG_0_1  phase');
axis square;

p = 1;      l = 0;
E_10 = Hermite(p,sqrt(2)*y/w_z).*Hermite(l,sqrt(2)*y/w_z).*exp(-1i*(p+l+1)/tan(z/Z_R)).*exp(1i*k*r.^2/2/(z-1i*Z_R));
I_10 = E_10.*conj(E_10);      I_10 = I_10/max(max(I_10));

subplot(2,3,2)
h_10 = pcolor(x,y,I_10);
set(h_10,'edgecolor','none','facecolor','interp');
title('HG_1_0');
axis square;

subplot(2,3,5)
E_10_phase = angle(E_10);
h_10_phase = pcolor(x,y,E_10_phase);
set(h_10_phase,'edgecolor','none','facecolor','interp');
title('HG_1_0  phase');
axis square;

E = E_01+1i*E_10;
I = E.*conj(E);     I = I/max(max(I));
subplot(2,3,3)
h = pcolor(x,y,I);
set(h,'edgecolor','none','facecolor','interp');
title('LG_0_1');
axis square;

subplot(2,3,6)
E_phase = angle(E);
h_phase = pcolor(x,y,E_phase);
set(h_phase,'edgecolor','none','facecolor','interp');
title('LG_0_1  phase');
axis square;
%% 厄米特多项式
function result = Hermite(n,x)
if n <= 0
    result = 1;
elseif n == 1
    result = 2*x;
else
    result = 2*x*Hermite(n-1,x)-2*(n-1)*Hermite(n-2,x);
end
end

运行结果:
Matlab:厄米-高斯光束合成拉盖尔-高斯光束
参考文献:
[1]葛甜. 利用光纤产生涡旋光束的理论与实验研究[D].
[2]Yao A M , Padgett M J . Orbital angular momentum: origins, behavior and applications[J]. Advances in Optics and Photonics, 2011, 3(2):161-204.

相关标签: matlab