zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【光波电子学】MATLAB仿真厄米特-高阶高斯光束以及绘制其光强分布图

MATLAB 以及 绘制 仿真 高阶 高斯
2023-09-14 09:13:07 时间

1 物理模型

在激光器的方形镜对称共焦腔中,厄米特—高斯分布描述了腔镜上自再现模的场分布,对其进行数值模拟,可以观察不同阶数下本征模的场分布情况
在这里插入图片描述

(x,y)表示镜面上的任意点坐标,腔长:L,光波波长:λ,原点选在镜面中心,则在近轴近似条件下 L,R>>α>>λ ,腔镜镜面上的电场复振幅可以表示为

u m n ≈ C m n H m ( X ) H n ( Y ) e X 2 + Y 2 2 u_{mn} \approx C_{mn}H_m(X)Hn(Y)e^{\frac{X^2+Y^2}{2}} umnCmnHm(X)Hn(Y)e2X2+Y2

其中,m=0, 1, 2, …和 n=0, 1, 2…,m、n 为横截面上 x、y 方向出现的节点; C m n C_{mn} Cmn为与 m、n 有关的常量Hm(X)、Hn(Y)为厄密多项式,可以表示为
H m ( X ) = ( − 1 ) m e X 2 d m ( e − X 2 ) d X m H_m(X) =(-1)^me^{X^2}\frac{d^m(e^{-X^2})}{dX^m} Hm(X)=(1)meX2dXmdm(eX2)
H 0 ( X ) = 1 , H 1 ( X ) = 2 X , H 2 ( X ) = 4 X 2 − 2 , H 3 ( X ) = − 8 x 3 + 12 x H_0(X) = 1,H_1(X) = 2X,H_2(X)=4X^2-2,H_3(X)=-8x^3+12x H0(X)=1,H1(X)=2X,H2(X)=4X22,H3(X)=8x3+12x
也可以写为

u m n ≈ C m n F m ( X ) F ( Y ) u_{mn}\approx C_{mn}F_m(X)F(Y) umnCmnFm(X)F(Y)
F ( X ) = H m ( X ) e − X 2 / 2 F_(X) = H_m(X)e^{-X^2/2} F(X)=Hm(X)eX2/2
F ( Y ) = H n ( X ) e − Y 2 / 2 F_(Y) = H_n(X)e^{-Y^2/2} F(Y)=Hn(X)eY2/2
因此不同阶数的光场分布对应光斑分布可以表示为:
在这里插入图片描述

激光的模式常用微波中的表示方法,即 T E M m n TEM_{mn} TEMmn ,其中 T E M 00 TEM_{00} TEM00是基模,可以看出 m 和 n 的值越大,光场也越向外扩展。当 m=0,n=0 时,光场分布为基模高斯光束 T E M 00 TEM_{00} TEM00,其传播场的振幅分布可写为
U 00 = e x p ( − 2 1 + ζ 2 x 2 + y 2 w s 2 ) U_{00} = exp(-\frac{2}{1+\zeta ^2} \frac{x^2+y^2}{w_s^2}) U00=exp(1+ζ22ws2x2+y2)
ζ = 2 z / L , w s = λ L / π \zeta = 2z/L,w_s = \sqrt{\lambda L/\pi} ζ=2z/L,ws=λL/π
z 为 传 播 距 离 , L 为 腔 长 , λ 为 波 长 z为传播距离,L为腔长,\lambda 为波长 zLλ
其零点是对称共焦腔的中心。高斯光束的传播呈现双曲线型的形态,波长一定情况下,共焦腔内 z 处的截面半径大小仅取决于腔长 L。高斯光束的束腰半径可以写为
w 0 = λ L 2 π = 1 2 w s w_0 = \sqrt{\frac{\lambda L}{2\pi}}= \frac{1}{\sqrt{2}}w_s w0=2πλL =2 1ws

2 MATLAB实现

2.1 光斑效果展示

在这里插入图片描述

2.2 高斯光束光强分布的三维模型

在这里插入图片描述

2.3 代码实现

clear all
close all

x=[-5:0.1:5].*1e-3;            % 坐标范围
lambda=632.8e-9;               % 波长
L=10;                          % 腔长
X=x.*sqrt(2*pi./(lambda.*L));  	
[X1,Y1]=meshgrid(X,X);         % X和Y的坐标矩阵

%% 厄米特函数
% H0-H3
H0X=1;
H0Y=1;
H1X=2.*X1;
H1Y=2.*Y1;
H2X=4.*X1.^2-2;
H2Y=4.*Y1.^2-2;
H3X=-8.*X1.^3+12.*X1;
H3Y=-8.*Y1.^3+12.*Y1;

%% 厄米特——高斯函数
% F0-F3
FX0=H0X.*exp(-X1.^2-2);
FY0=H0Y.*exp(-Y1.^2-2);
FX1=H1X.*exp(-X1.^2-2);
FY1=H1Y.*exp(-Y1.^2-2);
FX2=H2X.*exp(-X1.^2-2);
FY2=H2Y.*exp(-Y1.^2-2);
FX3=H3X.*exp(-X1.^2-2);
FY3=H3Y.*exp(-Y1.^2-2);

%% 振幅分布

u00=FX0.*FY0;         % TEM00
subplot(3,4,1)
imagesc(abs(u00))   

u10=FX1.*FY0;         %  TEM10
subplot(3,4,2)
imagesc(abs(u10))   

u20=FX2.*FY0;         % TEM20
subplot(3,4,3)
imagesc(abs(u20)) 

u30=FX3.*FY0;         % TEM30
subplot(3,4,4)
imagesc(abs(u30)) 

u01=FX0.*FY1;         % TEM01
subplot(3,4,5)
imagesc(abs(u01))   

u11=FX1.*FY1;         % TEM11
subplot(3,4,6)
imagesc(abs(u11))   

u21=FX2.*FY1;         % TEM21
subplot(3,4,7)
imagesc(abs(u21))   

u31=FX3.*FY1;         % TEM31
subplot(3,4,8)
imagesc(abs(u31)) 

u02=FX0.*FY2;         % TEM02
subplot(3,4,9)
imagesc(abs(u02))   

u12=FX1.*FY2;         % TEM12
subplot(3,4,10)
imagesc(abs(u12))   

u22=FX2.*FY2;         % TEM22
subplot(3,4,11)
imagesc(abs(u22)) 

u33=FX3.*FY3;         % TEM33
subplot(3,4,12)
imagesc(abs(u33)) 

colormap gray;         %显示灰度图

3 知识拓展

3.1 高斯分布是什么?

在这里插入图片描述
说白了就是上图中右下角的山坡型的图形。这个山坡型就是下面三维高斯光束的横截面。所以高斯光束就和高斯分布结合起来了。
在这里插入图片描述
这时候,我将三种图对应起来,有没有发现共通点???
在这里插入图片描述
从左开始的第一张是高斯分布图,中间张是高斯光束光强三维分布图,最右边是高斯光束光强从三维图的顶部角度看上去的光斑。所以在下面要想实现光斑,只需要画出高斯分布的三维图形,从顶部角度视角展示图形就能得到光斑。
附上绘制这张图的代码

clear all
close all

x=[-5:0.1:5].*1e-3;            % 设定腔镜坐标
lambda=632.8e-9;               % 设定激光器出光频率
L=10;                           % 设定激光腔腔长
X=x.*sqrt(2*pi./(lambda.*L)); 
Y= X
[X1,Y1]=meshgrid(X,X);         % 获取X和Y的坐标矩阵

% 设定厄米特函数,n和m只从0取到2 %
% 绘制三维的
H0X=1;                          
H1X=2.*X1;
H2X=4.*X1.^2-2;
H0Y=1;
H1Y=2.*Y1;
H2Y=4.*Y1.^2-2;

% 三维公式
FX0=H0X.*exp(-X1.^2-2);  % 生成厄米特——高斯函数
FX1=H1X.*exp(-X1.^2-2);
FX2=H2X.*exp(-X1.^2-2);

FY0=H0Y.*exp(-Y1.^2-2);
FY1=H1Y.*exp(-Y1.^2-2);
FY2=H2Y.*exp(-Y1.^2-2);

% 二维公式
H0X1=1;                          
H1X1=2.*X;
H2X1=4.*X.^2-2;
H0Y1=1;
H1Y1=2.*Y;
H2Y1=4.*Y.^2-2;

F0X=H0X1.*exp(-X.^2-2);  % 生成厄米特——高斯函数
F1X=H1X1.*exp(-X.^2-2);
F2X=H2X1.*exp(-X.^2-2);

F0Y=H0Y1.*exp(-Y.^2-2);
F1Y=H1Y1.*exp(-Y.^2-2);
F2Y=H2Y1.*exp(-Y.^2-2);

% 00
I2=FX0.^2.*FY0.^2;         % 考虑X和Y两个方向分布
I1=F0X.^2.*F0Y.^2;
subplot(3,3,1)
plot(X,I1)
subplot(3,3,2)
surf(X1,Y1,I2)
subplot(3,3,3)
surf(X1,Y1,I2)
view(2)

% 01
I2=FX0.^2.*FY1.^2;         % 考虑X和Y两个方向分布
I1=F0X.^2.*F1Y.^2;
subplot(3,3,4)
plot(X,I1)
subplot(3,3,5)
surf(X1,Y1,I2)
subplot(3,3,6)
surf(X1,Y1,I2)
view(2)

% 02
I2=FX0.^2.*FY2.^2;         % 考虑X和Y两个方向分布
I1=F0X.^2.*F2Y.^2;
subplot(3,3,7)
plot(X,I1)
subplot(3,3,8)
surf(X1,Y1,I2)
subplot(3,3,9)
surf(X1,Y1,I2)
view(2)

3.2 单独实现高阶高斯分布

在这里插入图片描述

其中用到的高斯分布的公式
H m ( x ) H_m(x) Hm(x)
F = e − x 2 + y 2 w 2 F = e^{-\frac{x^2+y^2}{w^2}} F=ew2x2+y2
H m 2 ( x ) F 2 H_m^{2}(x)F^2 Hm2(x)F2

clear
clc

%% 初始值
x = -2*pi:pi/100:2*pi;% 横坐标范围
w = 2 % F 函数中w取值
yy =x % 纵坐标范围


%% 画光强分布
figure(2)          % define figure
%1 1】个图
subplot(3,4,1);
plot([-10,10],[10,10],'linewidth',2)

%1 2】个图
subplot(3,4,2);
y = fx(x,yy,w)
plot(x,y,'linewidth',2);
%1 3】个图
subplot(3,4,3);     % subplot(x,y,n)x表示显示的行数,y表示列数,n表示第几幅图片
y = hf(x,yy,w,hx1(x),fx(x,yy,w))
plot(x,y,'linewidth',2);

%1 4】个图
subplot(3,4,4);
y = hf2(x,yy,w,hx1(x),fx(x,yy,w))
plot(x,y,'linewidth',2);

%2 1】个图
%45度斜线
subplot(3,4,5);
y = hx2(x)
plot(x,y,'linewidth',2);

%2 2】个图
subplot(3,4,6);
y = fx(x,yy,w)
plot(x,y,'linewidth',2);

%2 3】个图
subplot(3,4,7);
y = hf(x,yy,w,hx2(x),fx(x,yy,w))
plot(x,y,'linewidth',2);

%2 4】个图
subplot(3,4,8);
y = hf2(x,yy,w,hx2(x),fx(x,yy,w))
plot(x,y,'linewidth',2);

%4 1】个图
% 画y=x^2-10
subplot(3,4,9);
y = hx3(x)
plot(x,y,'linewidth',2);

%4 2】个图
subplot(3,4,10);
y = fx(x,yy,w)
plot(x,y,'linewidth',2);


%4 3】个图
subplot(3,4,11);
y = hf(x,yy,w,hx3(x),fx(x,yy,w))
plot(x,y,'linewidth',2);

%4 4】个图
subplot(3,4,12);
y = hf2(x,yy,w,hx3(x),fx(x,yy,w))
plot(x,y,'linewidth',2);

%% 函数
% 绘制水平线函数
function r=hx1(x)
    r =1
end
% 绘制45度直线函数
function r=hx2(x)
    r =2.*x
end

% 绘制凹曲线函数 
function r=hx3(x)
    r =4.*x.^2-2
end

% 绘制F的函数
function r =fx(x,y,w)
   r = exp(-(x.*2+y.^2)./(w^2))
end

% 绘制Hm(x)*F
function r =hf(x,y,w,source,fun)
    r = fun.*source
end
% 绘制Hm(x)^2*F^2的函数
function r =hf2(x,y,w,source,fun)
    r = (fun.^2).*(source.^2)
end

对于绘制出来的图形,并没有理想中的那么均匀,但是趋势是大致相同的,有两个原因
(1)原始教材中的图形,是理想化的图像,只是为了突出表述了每个图形的特点。
(2)本人绘制的图形,选择的参数只是随机选择的,比如F函数中w和y的取值仅仅是随机取的。如果想要实现最理想化的图形,需要慢慢的调参