基于Matlab高斯光束菲涅耳衍射的模拟

一、理论基础

现有高斯光束,如下式所示:

Ψ p 0 ( x , y ) = exp ⁡ [ − ( x 2 + y 2 w 0 2 ) ] {{\Psi }_{p0}}\left( x,y \right)=\exp \left[ -\left( \frac{{{x}^{2}}+{{y}^{2}}}{{{w}_{0}}^{2}} \right) \right] Ψp0(x,y)=exp[(w02x2+y2)] (1)

其中, w 0 {{w}_{0}} w0是束腰,具体是指当束腰振幅下降至中心振幅的 1 / e    {1}/{e}\; 1/e处时光束的半径。如下图所示:
在这里插入图片描述
等式(2)的傅里叶变换也是高斯变换,如下式所示:

Ψ p 0 ( k x , k y ) = π w 0 2 exp ⁡ [ − w 0 2 4 ( k 2 x + k 2 y ) ] {{\Psi }_{p0}}\left( {{k}_{x}},{{k}_{y}} \right)=\pi {{w}_{0}}^{2}\exp \left[ -\frac{{{w}_{0}}^{2}}{4}\left( {{k}^{2}}_{x}+{{k}^{2}}_{y} \right) \right] Ψp0(kx,ky)=πw02exp[4w02(k2x+k2y)] (2)

当其传播距离z后,式(2)变为:
在这里插入图片描述
其中,q是高斯光束的q参数,定义为

q = z + j z R q=z+j{{z}_{R}} q=z+jzR (4)

其中,高斯光束的瑞利长度为 z R = ( k 0 w 2 0 ) / 2    {{z}_{R}}={\left( {{k}_{0}}{{w}^{2}}_{0} \right)}/{2}\; zR=(k0w20)/2

对式(3)进行逆傅里叶变换,则有:

Ψ p ( x , y ; z ) = exp ⁡ ( − j k 0 z ) ( j k 0 w 2 0 2 q ) exp ⁡ [ − j k 0 ( x 2 + y 2 ) / 2 q    ] {{\Psi }_{p}}\left( x,y;z \right)=\exp (-j{{k}_{0}}z)(j\frac{{{k}_{0}}{{w}^{2}}_{0}}{2q})\exp [{-j{{k}_{0}}\left( {{x}^{2}}+{{y}^{2}} \right)}/{2q}\;] Ψp(x,y;z)=exp(jk0z)(j2qk0w20)exp[jk0(x2+y2)/2q] (5)

二、仿真结果

首先,根据公式(1):模拟出初始高斯光束如下图所示:

在这里插入图片描述

图2 根据公式(1)模拟的高斯光束

在这里插入图片描述

图3 传播距离z后的高斯光束

此外,该程序中还模拟高斯光束传播至不同点时的高斯光束,其动画演示如下所示。
请添加图片描述

三、资源下载

上述程序可从以下资源处获取:

https://download.csdn.net/download/qq_36584460/81339216

posted @   简单光学  阅读(767)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示