3. 物理光学基础:波动方程、干涉与衍射、菲涅尔与夫琅禾费衍射
做光束整形,说白了就是在跟光波打交道。你如果不懂光怎么传播、怎么叠加、怎么绕弯子,那后面做整形设计就会处处碰壁。我个人习惯,在讲任何整形算法之前,先把物理光学这三大块夯结实——波动方程、干涉与衍射、还有两种衍射模型。
这一章,我们就从最基础的波动方程开始,一路聊到菲涅尔和夫琅禾费衍射。嗯,内容不少,但都是硬通货。
3.1 波动方程:光波传播的“宪法”
光是一种电磁波。这个大家都知道。那它怎么传播?麦克斯韦方程组给出了答案。从麦克斯韦方程组出发,可以推导出描述光波在真空中传播的波动方程:
∇²E - (1/c²) ∂²E/∂t² = 0
这个方程看着简单,但它是整个物理光学的基石。它告诉我们:光波以速度 c 传播,电场 E 在空间和时间上满足特定的关系。
在实际工程中,我们更常用它的一个特解——平面波:
E(r, t) = E₀ · exp[i(k·r - ωt)]
其中 k 是波矢,ω 是角频率。你想想看,这个表达式多简洁。它描述了一个等相位面为平面的波,沿着 k 方向传播。
3.2 干涉:两束光相遇会发生什么?
干涉,就是两束或多束相干光波在空间叠加,形成稳定的强度分布。为什么会这样?因为光波是矢量场,叠加时遵循线性叠加原理。
两束同频率、同偏振、相位差恒定的平面波干涉,强度分布为:
I = I₁ + I₂ + 2√(I₁I₂) · cos(Δφ)
这个公式太重要了。它告诉我们:干涉项 2√(I₁I₂)·cos(Δφ) 决定了最终的强度分布。当 Δφ = 0 时,相长干涉,强度最大;当 Δφ = π 时,相消干涉,强度最小。
在光束整形中,干涉现象既是朋友也是敌人:
- 朋友: 干涉法可以生成周期性的光斑阵列,比如分束器、光栅。
- 敌人: 激光的相干性会导致散斑噪声,影响整形均匀性。
3.3 衍射:光为什么会“拐弯”?
衍射,是光波遇到障碍物或通过孔径时,偏离直线传播的现象。说白了,就是光波“绕”过去了。
衍射的物理根源是惠更斯-菲涅尔原理:波前上的每一点都可以看作一个次级球面波源,这些次级波在空间叠加,形成了新的波前。
数学上,衍射积分可以写成:
U(P) = (1/iλ) ∬ U₀(Q) · exp(ikr)/r · cosθ · dS
这个积分看着复杂,但核心思想很简单:把孔径上的光场分布 U₀(Q) 看作无数个点光源,然后计算它们在观察点 P 处的叠加结果。
在实际工程中,我们根据观察距离的不同,把衍射分为两类:
| 衍射类型 | 近似条件 | 适用场景 | 计算复杂度 |
|---|---|---|---|
| 菲涅尔衍射 | 近场,z³ ≫ (π/4λ) · (x²+y²)² | 近场整形、微透镜阵列 | 中等(单次傅里叶变换) |
| 夫琅禾费衍射 | 远场,z ≫ (x²+y²)/λ | 远场整形、DOE 设计 | 简单(一次傅里叶变换) |
你想想看,这两个模型最大的区别是什么?菲涅尔衍射保留了二次相位因子,而夫琅禾费衍射把它近似掉了。这意味着夫琅禾费衍射的观察距离必须足够远,远到二次相位的变化可以忽略。
3.4 菲涅尔衍射:近场的精确描述
菲涅尔衍射适用于观察屏距离孔径不太远的情况。它的数学表达式为:
U(x,y) = (exp(ikz)/iλz) · exp[ik(x²+y²)/2z] · ℱ{ U₀(ξ,η) · exp[ik(ξ²+η²)/2z] }
这个公式看着吓人,但它的物理意义很清晰:
- 先把孔径上的光场 U₀ 乘上一个二次相位因子 exp[ik(ξ²+η²)/2z]
- 然后做傅里叶变换
- 再乘上一个整体的二次相位因子 exp[ik(x²+y²)/2z]
我在项目中遇到过这样一个案例:设计一个近场光束整形器,要求在距离孔径 50mm 处形成一个矩形均匀光斑。如果用夫琅禾费近似,算出来的光斑边缘模糊,均匀性只有 80%。后来改用菲涅尔衍射模型,重新优化了相位分布,均匀性提升到了 95%。近场整形,千万别偷懒用远场近似。
3.5 夫琅禾费衍射:远场的简化模型
当观察距离足够远时,二次相位因子可以忽略,菲涅尔衍射退化为夫琅禾费衍射:
U(x,y) = (exp(ikz)/iλz) · ℱ{ U₀(ξ,η) }
这个公式太漂亮了!它告诉我们:远场衍射图案,就是孔径光场的傅里叶变换。这就是为什么在 DOE(衍射光学元件)设计中,我们经常用傅里叶变换来设计远场整形器。
举个例子,一个矩形孔径的夫琅禾费衍射图案是 sinc 函数:
I(x,y) = I₀ · sinc²(ax/λz) · sinc²(by/λz)
这个图案有什么特点?中心亮斑最大,周围有一圈一圈的旁瓣。第一个旁瓣的强度只有主瓣的 4.7%。在光束整形中,这些旁瓣就是能量损失,我们要想办法抑制它们。
3.6 知识结构图:物理光学基础
下面这张图总结了本章的核心知识脉络,帮你快速建立整体认知:
3.7 工程实战:如何选择衍射模型?
在实际项目中,你经常会面临一个选择:用菲涅尔还是夫琅禾费?我总结了一个简单的判断流程:
- 先算菲涅尔数: N_F = a² / (λz),其中 a 是孔径半径,z 是观察距离,λ 是波长。
- 判断标准:
- N_F > 1:近场,用菲涅尔衍射
- N_F < 0.1:远场,用夫琅禾费衍射
- 0.1 ≤ N_F ≤ 1:过渡区,建议用菲涅尔衍射,或者用严格的角谱传播法
嗯,这一章的内容就到这里。波动方程是基础,干涉和衍射是核心,菲涅尔和夫琅禾费是工具。把这些搞清楚了,后面讲光束整形算法时,你就能理解为什么有些方法用傅里叶变换,有些方法要用迭代算法。