news 2026/9/16 0:57:49

贝塞尔光、艾里光与涡旋光:物理原理与SLM相位掩模设计

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
贝塞尔光、艾里光与涡旋光:物理原理与SLM相位掩模设计

简介:MATLAB源码包聚焦艾里光束、贝塞尔光束、涡旋光及完美涡旋光束的生成与仿真,适合光学工程、信息光学方向的研究生或科研人员快速上手。压缩包共5个文件,含4个m脚本和1个txt说明,分别实现Airy.m、Bessel.m、perfect_vortex_beam.m等典型光束模拟,并附带运行说明,便于复现强度分布与相位结构。已有825人学习下载,是光学光束操控与光栅设计入门的实用范例。通过源码可直观对比艾里光的非衍射自愈特性、贝塞尔光束的无衍射传输,以及携带轨道角动量的涡旋光相位变化,还能基于完美涡旋光束的复合模型延伸光镊、量子通信等应用研究。

1. 艾里光、贝塞尔光与涡旋光:为什么总是成组出现

在光镊、激光微加工或者结构光照明显微镜的项目里待上一段时间,你会反复看到“艾里光”和“贝塞尔光”这两个词,后面通常还跟着“涡旋光”。把这三种光束放在一起讨论,不是因为教科书里的彩图好看,而是因为它们都做了同一件事:对常规高斯光束的波前重新塑形,让光强在传播路径上呈现可设计的形状。贝塞尔光用锥形波矢谱撑出一条长焦深主瓣,中心瓣能在一段距离内几乎不扩散;艾里光的主瓣沿抛物线轨迹自加速,即使遇到小尺度遮挡也能绕过去;涡旋光则在轴上引入一个相位奇点,携带轨道角动量。三者的工程组合还会引出“完美涡旋”:一个半径不受拓扑荷影响的环形涡旋光场。下面按这条主线走:先划清贝塞尔与艾里的物理边界,再进入涡旋光和完美涡旋的构造,最后给出能直接上手的相位掩模参数与验证流程。

2. 贝塞尔光与艾里光的物理边界:无衍射距离与锥形周期

2.1 贝塞尔光束的中心瓣如何被横向波矢锁死

自由空间中单频傍轴波动方程存在一类柱对称解,写成下面这种形式就能看出贝塞尔光与涡旋的内在联系:

E(r, z) = E₀ · J_l(k_r·r) · exp(i·k_z·z) · exp(i·l·φ)

其中 J_l 是第一类贝塞尔函数,k_r 是横向波矢,k_z 是纵向波矢,两者满足 k_r² + k_z² = k₀²,k₀ = 2π/λ。当 l = 0 时得到零阶贝塞尔光束,轴上是一个亮斑;当 l > 0 时,轴上振幅由于相位奇点变成零,等价于把 l 阶涡旋相位叠到了贝塞尔场上。所以贝塞尔光和涡旋光在解析式里就是同族解,这也是后面完美涡旋能依托贝塞尔光构造的数学起点。

贝塞尔光束中心瓣的第一个零点位于 r₀ ≈ 2.4048/k_r。k_r 越大,主瓣越细,但代价是波矢锥角越大,系统对光路对准误差越敏感。从角谱角度看,贝塞尔光束的各个平面波分量分布在同一个锥面上,锥的半角近似 sin θ ≈ k_r/k₀。每一条锥面分量的相位沿轴向不断变化,但它们在轴上始终保持同相位叠加,于是主瓣得以长时间保持不发散。真实系统中光束口径有限,能参与干涉的平面波分量有限,所以工程上用“无衍射距离”Zmax = R/tanθ 来定义有效作用段,其中 R 是入射等效半径。

2.2 艾里光的自加速属于有限能量截断的代价

艾里光的傍轴衍射方程在形式上与自由粒子薛定谔方程同构,其有限能量解常写为:

ψ(s, ξ) = Ai[s − (ξ/2)²] · exp(i·s·ξ/2 − i·ξ³/12) · exp(a·s − a·ξ²/2)

这里 s = x/x₀ 是归一化横向坐标,ξ = z/(k₀x₀²) 是归一化传播距离,a 是截断系数,x₀ 是主瓣特征宽度。指数截断项 exp(a·s) 把理想艾里函数的无限长尾巴收住,使光束携带有限能量并物理可实现。

a 的取值需要谨慎。a 越小,主瓣走出的自加速路径越长,但旁瓣相对能量越高,远场的“彗星尾巴”现象越明显;a 越大,主瓣快速衰减,近场强度分布越接近普通高斯光斑。常规实验中 a ≈ 0.05~0.2 是一个可靠区间。另一个关键参数是 x₀,主瓣的横向偏转近似为 δx ≈ z²/(4k₀²x₀³)。x₀ 大,拐弯平缓;x₀ 小,拐弯急促,同时波前容错也变差。

2.3 生成器件横向对比表

轴锥镜、SLM相位图、二元衍射元件是生成贝塞尔光的三种主流方式,选型时按功率、灵活度和系统空间来权衡。

生成方式等效横向波矢 k_r适用场景注意点
折射型轴锥镜k₀(n−1)α高功率激光加工顶点加工质量直接决定中心瓣
SLM锥形相位图2π/Λ需要与涡旋、艾里复用同一系统衍射效率低,需要光栅偏置
二元衍射光学元件按刻蚀深度固定批量制造场景无法在线改锥角
环形狭缝加透镜由狭缝半径和焦距决定教学演示与口径受限场景能量利用率明显偏低

2.4 两行代码核对贝塞尔与艾里剖面

写一个能直接执行的最小 Python 片段,把两种光束的横向剖面放在同一坐标系里看差异:

import numpy as np from scipy.special import j0, airy def bessel_profile(k_r, r): return np.abs(j0(k_r * r)) ** 2 def airy_profile(x, x0, a): ai, _, _, _ = airy(x / x0) return np.abs(ai * np.exp(a * x / x0)) ** 2 r = np.linspace(-0.02, 0.02, 4000) k_r = 2 * np.pi / (8e-6) # 锥形周期为 8 µm 对应的横向波矢 bessel_p = bessel_profile(k_r, r) airy_p = airy_profile(r - 0.005, 0.0015, 0.08) # 偏移 0.5 mm 便于观察 print("贝塞尔中心瓣第一零点: %.1f µm" % (2.4048 / k_r * 1e6)) print("艾里主瓣特征宽度: %.1f µm" % (0.0015 * 1e6))

代码里的 k_r = 2π/Λ 来自锥形相位周期的定义,贝塞尔中心瓣半径约等于 0.38Λ,这个比例常数在工程估算里很有用。艾里剖面则对截断系数 a 相当敏感,a 取到 0.08 时主瓣和第一旁瓣之间的对比度就已经能肉眼分辨。

提示:贝塞尔光束的“中心瓣细”不等于“焦点能量高”。细主瓣意味着更短的焦深段,激光加工中如果只追求小线宽而忽略 Zmax,会在厚度较大的材料上出现上下宽度不一致。

3. 涡旋光到完美涡旋:拓扑荷如何不干扰光环半径

3.1 涡旋光束的强度允许任意,但相位必须存在奇点

光学涡旋的核心定义在于相位,而不是强度分布。一个涡旋光的波前相位为 exp(i·l·φ),φ 是极角,l 是拓扑荷,在主轴上的相位值不可定义,形成一个相位奇点,因此光强严格为零。

这个性质带来一个容易忽略的推论:干涉测量验证的是相位,而不是光强。用相机单纯记录一个暗心,只能说明存在相位奇点,却无法知道 |l| 是多少,也无法判定符号。要识别拓扑荷,必须把待测光和一束参考平面波叠加,观察干涉图里的分叉条纹数量与方向。

3.2 常规 LG 涡旋为什么被“完美”二字舍弃

常用的拉盖尔-高斯模式本身就是涡旋光的一种标准载体。径向指数 p = 0 时,强度环半径约为 w·√(|l|/2),w 是束腰直径。也就是说,l 从 1 变到 3,环半径要变化约 √3 倍,透镜焦点位置和光斑尺寸也随之漂移。这个性质在光镊系统里很麻烦:当你想换一种拓扑荷来调整微粒旋转速度时,光学对准和陷阱刚度都得跟着重调。

完美涡旋就是要打破这种耦合。理想情况下,完美涡旋的场强分布写成:

E(ρ, φ) ∝ δ(ρ − ρ₀) · exp(i·l·φ)

也就是一个半径固定为 ρ₀ 的亮环,其半径由光路参数决定,与拓扑荷 l 无关。改变 l 时,环的直径和宽度不变,只有相位旋转方向与角向分布变化。这种“尺寸与相位解耦”的特性让它特别适合做可编程光镊和环形激光加工。

3.3 贝塞尔光做载体的傅里叶变换构造法

实验室里构造完美涡旋最常见的方案是:先产生一个高阶贝塞尔光束,再将其送入傅里叶变换透镜。设贝塞尔场的横向波矢为 k_r,叠加的涡旋相位为 exp(i·l·φ),贝塞尔场经透镜聚焦后,在焦面上形成一个半径约为

ρ₀ ≈ k_r·f/k₀ = f·λ/Λ

的亮环。因为 ρ₀ 只与锥形周期 Λ、透镜焦距 f、波长 λ 相关,与 l 无关,所以这个方案天然满足“完美”的定义。

用 SLM 实现时,相位模板直接由锥形相位和螺旋相位相加而成,不需要额外的贝塞尔光束整形光路。需要注意的是,输入到透镜的高斯束腰必须明显大于锥形相位对应的环带尺寸,否则焦面上的环半径会被束腰宽度“拉偏”。这也是第 4 章代码要生成带孔径裁切的相位掩模的原因。

3.4 环半径灵敏度表与一段最小验证代码

环半径表达式在实际调参时非常直观,直接展示灵敏度关系:

参数参数变为 2 倍ρ₀ 变化
锥周期 Λ增大环半径减半
透镜焦距 f增大环半径加倍
波长 λ增大环半径线性增大
拓扑荷 l任意整数环半径基本不变

下面这段代码可以快速验证环半径与锥周期的定量关系:

import numpy as np def ring_radius(focal_length, wavelength, cone_period_px, pixel_size): cone_period_m = cone_period_px * pixel_size return focal_length * wavelength / cone_period_m f, lam, px = 0.15, 532e-9, 8e-6 for T_pix in (12, 20, 40): rho = ring_radius(f, lam, T_pix, px) print(f"锥周期={T_pix} px,完美涡旋环半径={rho*1e6:.1f} µm")

计算结果会显示锥周期从 12 px 变到 40 px,环半径按比例缩小到不到三分之一。这个性质可以用来快速匹配不同直径的微粒或加工目标,而不需要来回更换透镜。

提示:如果把锥周期写进代码,记得区分像素周期与物理周期。SLM 像素尺寸一般为 8 µm 或 4 µm,直接拿像素数代入公式会造成约一个数量级的误差。

4. 出光前的相位掩模:贝塞尔光束、涡旋光与完美涡旋的系统参数

4.1 用 Python 生成包含锥相位、涡旋与光栅的复合掩模

SLM 相位掩模需要叠加三个部分:锥形相位提供横向波矢,螺旋相位提供拓扑荷,一维光栅把目标衍射级与零级分离。直接生成一张 8 位灰度图的代码如下:

import numpy as np import cv2 def generate_slm_phase(width=1920, height=1080, pixel_size=8e-6, cone_period_px=24, l=3, grating_period_px=12, aperture_radius_px=900): x = (np.arange(width) - width / 2) * pixel_size y = (np.arange(height) - height / 2) * pixel_size X, Y = np.meshgrid(x, y) R = np.sqrt(X**2 + Y**2) phi = np.arctan2(Y, X) # 相位1:锥形相位,k_r = 2π / (cone_period_px*pixel_size) cone_phase = -2 * np.pi * R / (cone_period_px * pixel_size) # 相位2:涡旋相位,l 为正时对应逆时针旋转 vortex_phase = l * phi # 相位3:一维光栅,使相位信息进入 +1 级衍射 grating_phase = 2 * np.pi * X / (grating_period_px * pixel_size) phase = cone_phase + vortex_phase + grating_phase phase[R > aperture_radius_px * pixel_size] = 0 # 圆孔裁切 wrapped = np.mod(phase, 2 * np.pi) gray = (wrapped / (2 * np.pi) * 255).astype(np.uint8) cv2.imwrite("slm_phase_bessel_vortex_l3.bmp", gray) return gray

代码中锥相位使用负号,目的是让锥面波矢指向光轴方向,与贝塞尔光束的会聚解对应。光栅周期设定为 12 px,在这个值下衍射级分离角度足够,也不会因为像素采样太少而产生明显的高级次混叠。圆孔裁切半径保护了 SLM 有效区域之外的像素,避免边缘相位跳变带来额外散射。

4.2 五个影响出光结果的关键参数

参数调小调大最容易踩的认知误区
锥周期 cone_period_px中心瓣更细,Zmax 更短中心瓣变宽,无衍射距离更长把中心瓣细当作“更聚焦”,忽略焦深缩短
拓扑荷 l干涉叉少干涉叉数线性增加误以为 l 改变环半径
光栅周期衍射级分离好与零级重叠严重调太小后 SLM 像素对光波采样失效
圆孔半径无衍射距离变短边缘像素串扰增加超过有效口径后相位图边缘失真
SLM 功率密度输出信号弱相位调制更清晰触发液晶材料的热漂移或损伤阈值

4.3 干涉验证与三个出光异常

用马赫-曾德尔干涉仪验证涡旋相位是标准做法,让携带有涡旋相位的光束与扩束后的参考光叠加,相机上出现的叉形条纹数量等于 |l|。若需要验证完美涡旋,把拓扑荷设置成不同值分别拍照,重点比较环半径是否漂移。

第一个常见异常是“干涉条纹清晰但没有叉”。此时锥形相位或光栅相位工作正常,但螺旋相位没有被有效加载,检查 SLM 标定表和灰度范围是否正确,并把 l 单独编码试一次。

第二个异常是“光斑出现花瓣状结构”。这通常是光栅周期选得太小,SLM 离散像素对相位高频区域采样不足。把光栅周期提高到 8~12 px 以上,同时确认圆孔裁切没有切到主要衍射级。

第三个异常是“亮环半径随 l 漂移”。问题不在相位掩模,而在光路输入的束腰太窄。贝塞尔场的横向分量在进入透镜前没有充分展开,导致焦面亮环由束腰尺寸控制而非由锥周期控制。扩大入射光束口径并重新校准透镜位置即可恢复。

5. 光束选型进阶:光镊、环形加工与验证技巧

5.1 光镊选择由焦深、轨迹和旋转需求决定

光镊方案里,贝塞尔光的长焦深能让被捕获的微粒在轴向一段距离内保持稳定,适合做纵向运输;艾里光的主瓣沿弯曲路径推进,能把微粒绕过障碍送到指定位置;涡旋光则让微粒获得绕光环旋转的横向速度,转速由拓扑荷和光功率共同控制。如果需要同时实现旋转和大范围轴向捕获,直接在相位掩模里把锥形相位与螺旋相位叠加,用本章 4.1 的代码生成复合掩模,是最省事的路子。

5.2 完美涡旋在环形激光加工中的优势

做环形槽或盲孔加工时,高斯光束通常要配合扫描振镜画圆,圆的加工质量受扫描轨迹和拼接精度限制。完美涡旋光在焦面上直接输出一个静态亮环,能量在环带内均匀分布,旋转对称性不受扫描机构影响。参数选取时先按环面积计算平均能量密度,再根据材料阈值确定脉冲能量;后续改拓扑荷只改变螺旋相位方向,不会移动环半径,因此焦点位置和目标尺寸都保持稳定。

5.3 判定旋向与环半径基线

螺旋相位旋向可以用倾斜参考波的干涉法判断:将参考臂稍微倾斜,干涉条纹中的叉尖方向与光栅波矢量方向一致时对应正拓扑荷,反向则为负。对于完美涡旋,最后还要做一次系统性验证:把 l 从 -5 调到 5,记录每一档的环半径和环带宽度,观察半径离散差是否只在半个像素量级以内。记录这组数据作为系统基线,后续设备迁移或更换 SLM 后复测,能快速定位相位标定、透镜位置或束腰变化哪一环出了问题。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 0:50:17

关系代数优化实战:五步法破解SQL执行计划性能瓶颈

1. 这不是教科书里的“理论推演”,而是数据库工程师每天在SQL执行计划里真实踩过的坑关系代数表达式优化步骤——这八个字,听起来像数据库原理课上一页翻过去的定义,但如果你正在调一条跑得比泡面还慢的报表SQL,或者刚被DBA拉着看…

作者头像 李华
网站建设 2026/9/16 0:49:01

前端联调Mock三线并行:请求重写、规则驱动与断点拦截实战

1. 这不是“造数据”,而是前端联调的呼吸节奏控制术Mock 接口数据实操,规则改写和断点拦截的联调——这标题里藏着三个被日常开发严重低估的关键动作:数据可控性、请求可塑性、交互可暂停性。它不是教你怎么用一个工具生成假JSON,…

作者头像 李华
网站建设 2026/9/16 0:46:02

Java遥感影像AI识别在高标准农田监管中的工程实践

简介:这套基于Java开发的高标准农田监管平台源码,面向农业信息化、遥感监测及AI地物分类方向的开发者与研究人员,聚焦于解决传统农田监管中遥感数据人工判读效率低、地物识别精度不足等问题。压缩包共26个文件,总大小28.23MB&…

作者头像 李华
网站建设 2026/9/16 0:45:51

C语言图书管理系统:链表+文件实现增删查改

简介:这是一份面向C语言初学者的书店图书管理系统实战项目资源,聚焦基础数据结构与文件操作能力训练,适用于高校编程入门课程设计、课设实践或自学巩固。资源以C语言实现完整控制台版系统,涵盖图书录入、多条件查询、借阅归还、库…

作者头像 李华