4. 菲涅尔衍射与夫琅禾费衍射:近场与远场衍射的区分与近似条件

好,咱们进入第四章。前面我们聊了惠更斯-菲涅尔原理,知道了衍射的本质是次波叠加。但真正做计算时,你会发现那个积分公式复杂得让人头疼。这时候就需要引入近似了——说白了,就是根据观察距离的远近,把问题简化成两种经典情况:菲涅尔衍射(近场)和夫琅禾费衍射(远场)。

我个人习惯把这两个概念放在一起对比着学,因为它们本质上是一回事,只是近似程度不同。你想想看,光源和观察屏离衍射屏的距离不一样,波前的弯曲程度就不一样,计算时能省略的项也就不一样。

4.1 从基尔霍夫积分说起

先回顾一下基尔霍夫衍射积分公式:

U(P) = (1/jλ) ∬Σ U₀(Q) * [exp(jkr) / r] * K(θ) dS

这个公式描述的是:在观察点P,光场是衍射屏上每个点Q发出的球面次波的叠加。其中r是Q到P的距离,K(θ)是倾斜因子。

嗯,这里要注意,直接算这个积分,对于大多数实际孔径形状,你是得不到解析解的。所以我们必须做近似,核心就是处理r这个距离项。

4.2 菲涅尔近似:近场衍射

假设衍射屏在(x₁, y₁)平面,观察屏在(x, y)平面,两者距离为z。那么Q到P的距离可以写成:

r = √[z² + (x - x₁)² + (y - y₁)²]

把根号展开成泰勒级数:

r = z * √[1 + ((x-x₁)² + (y-y₁)²)/z²]
  ≈ z * [1 + ((x-x₁)² + (y-y₁)²)/(2z²) - ((x-x₁)² + (y-y₁)²)²/(8z⁴) + ...]

菲涅尔近似保留到二次项,忽略四次及更高次项。即:

r ≈ z + [(x-x₁)² + (y-y₁)²] / (2z)

把这个近似代入积分公式,就得到菲涅尔衍射积分:

U(x,y) = [exp(jkz) / (jλz)] * ∬Σ U₀(x₁,y₁) * exp{ jk[(x-x₁)² + (y-y₁)²] / (2z) } dx₁ dy₁

菲涅尔近似的适用条件:

z³ ≫ (π/4λ) * [(x-x₁)² + (y-y₁)²]²_max

说白了,就是观察距离z要足够大,使得被忽略的四次项引起的相位变化远小于π/2弧度。

我在项目中遇到过这种情况:设计一个近距离的激光整形系统,衍射距离只有几厘米。这时候必须用菲涅尔衍射,夫琅禾费近似完全不成立。我一开始偷懒用了远场近似,结果仿真出来的光斑形状跟实测差了十万八千里。

4.3 夫琅禾费近似:远场衍射

如果观察距离z继续增大,使得二次项也可以进一步简化,就进入夫琅禾费区。夫琅禾费近似在菲涅尔近似的基础上,再忽略掉二次项中的x₁²和y₁²项:

r ≈ z + (x² + y²)/(2z) - (xx₁ + yy₁)/z

注意,这里(x²+y²)/(2z)是常数相位因子,可以提到积分外面。最终夫琅禾费衍射积分变成:

U(x,y) = [exp(jkz) / (jλz)] * exp[jk(x²+y²)/(2z)] * ∬Σ U₀(x₁,y₁) * exp[-j2π(xx₁+yy₁)/(λz)] dx₁ dy₁

你发现没有?这个积分本质上就是傅里叶变换!

我的记忆技巧:

夫琅禾费衍射 = 孔径函数的傅里叶变换 × 一个二次相位因子。

这个关系太重要了,后面做DOE设计时,我们经常利用这个性质来逆向设计相位分布。

4.4 近场与远场的区分:菲涅尔数

实际工程中怎么判断该用哪个近似?我推荐用菲涅尔数(Fresnel number)来快速判断:

N_F = a² / (λz)

其中a是孔径的特征尺寸(比如圆孔半径或矩形孔的半宽),λ是波长,z是观察距离。

菲涅尔数范围 衍射类型 工程判断
N_F ≫ 1 近场(菲涅尔区) 几何光学近似开始失效,必须用菲涅尔衍射
N_F ≈ 1 过渡区 菲涅尔衍射精确,夫琅禾费近似误差较大
N_F ≪ 1 远场(夫琅禾费区) 可以用傅里叶变换简化计算

举个例子:一个1mm直径的圆孔,用633nm的He-Ne激光照射。如果观察屏放在10cm处,N_F ≈ (0.5mm)²/(633nm×100mm) ≈ 3.95,属于近场。如果放在10m处,N_F ≈ 0.0395,妥妥的远场。

我曾经踩过的坑:

有一次做DOE设计,我设计的衍射光学元件工作距离是50mm,孔径是2mm,波长850nm。算下来N_F ≈ 23.5,明显是近场。但我习惯性地用了傅里叶变换(夫琅禾费近似)来仿真,结果做出来的元件实测效率只有设计值的60%。后来重新用菲涅尔衍射迭代了一版,效率才回到85%以上。

所以我的建议是:不确定时,先用菲涅尔衍射算一遍。现在计算机算力足够,没必要为了省事冒风险。

4.5 两种衍射的对比总结

我把关键区别整理成一张表,方便你快速查阅:

对比项 菲涅尔衍射(近场) 夫琅禾费衍射(远场)
距离条件 z³ ≫ (π/4λ)(Δx²+Δy²)²_max z ≫ a²/λ
数学形式 卷积积分(含二次相位因子) 傅里叶变换
波前形状 球面波(二次曲面近似) 平面波
计算复杂度 较高,需要数值积分 较低,可用FFT快速计算
典型应用 近场光刻、激光整形、短距离DOE 远场整形、光谱仪、长距离成像

4.6 知识结构图:近场与远场衍射的决策流程

下面这张图帮你理清思路,遇到实际问题时按这个流程走:

近场与远场衍射决策流程图 近场与远场衍射决策流程 已知:孔径a,波长λ,距离z 计算 N_F = a² / (λz) N_F 与 1 比较? (或检查四次项相位) N_F ≫ 1 近场 菲涅尔衍射 N_F ≪ 1 远场 夫琅禾费衍射 N_F ≈ 1 过渡区:必须用菲涅尔衍射 选择计算方法:卷积 / FFT / 直接积分 得到衍射光场分布 💡 不确定时,优先用菲涅尔衍射 现代计算机算力足够,安全第一

4.7 工程中的实用建议

最后,结合我的经验,给你几条实在的建议:

  • 做DOE设计时:如果工作距离小于孔径尺寸的几十倍,老老实实用菲涅尔衍射。别想着用傅里叶变换偷懒,相位会算错的。
  • 快速估算时:用菲涅尔数N_F做第一轮筛选。N_F < 0.1可以放心用夫琅禾费,N_F > 10必须用菲涅尔。
  • 仿真验证时:两种方法都跑一遍,对比结果。如果差异小于5%,用简单的那个;如果差异大,以菲涅尔结果为准。
  • 实验测量时:注意观察屏的位置精度。近场衍射对z非常敏感,稍微偏一点,光斑形状就变了。

我的个人习惯:

在项目初期,我会先用夫琅禾费近似做快速参数扫描,找到大致的优化方向。等方案收敛后,再用菲涅尔衍射做精确仿真和容差分析。这样既保证了效率,又不会漏掉近场效应带来的影响。

好了,这一章的核心就是:近场用菲涅尔,远场用夫琅禾费,中间过渡区别偷懒。记住菲涅尔数这个判断工具,你就能在工程中快速做出正确选择。