利用 FFT 模拟菲涅尔衍射积分
Posted Matrix_11
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用 FFT 模拟菲涅尔衍射积分相关的知识,希望对你有一定的参考价值。
利用 FFT 模拟菲涅尔衍射积分
一束光线穿过一个孔径为 S ′ S' S′ 的平面,在距离平面为 L L L 的时候,其波函数可以由菲涅尔积分定义:
Ψ ( r , t ) = C ∫ S ′ e i k ∣ r − r ′ ∣ ∣ r − r ′ ∣ cos ( θ ) d 2 r ′ , w i t h C = k Ψ 0 e − i t w 2 π i \\Psi(\\mathbfr, t) = C \\int_S' \\frace^ik|r-r'||r-r'| \\cos(\\theta)d^2r', \\quad with \\quad C = \\frack \\Psi_0 e^-itw2 \\pi i Ψ(r,t)=C∫S′∣r−r′∣eik∣r−r′∣cos(θ)d2r′,withC=2πikΨ0e−itw
基于菲涅尔近似,在角度接近 0 度的时候,上式可以简化为:
∣ r − r ′ ∣ ≈ z + ( x − x ′ ) 2 + ( y − y ′ ) 2 2 z |r - r'| \\approx z + \\frac(x - x')^2 + (y - y')^22z ∣r−r′∣≈z+2z(x−x′)2+(y−y′)2
并且可以假设:
∣ r − r ′ ∣ ≈ L |r - r'| \\approx L ∣r−r′∣≈L
菲涅尔积分可以变成:
Ψ ( r , t ) = R ∫ − ∞ ∞ ∫ − ∞ ∞ f ( x ′ , y ′ ) e i k 2 z ( x ′ 2 + y ′ 2 ) e − i k x z x ′ − i k y z y ′ d x ′ d y ′ \\Psi(\\mathbfr, t) = R \\int_-\\infty^\\infty \\int_-\\infty^\\infty f(x', y') e^\\fracik2z(x'^2 + y'^2) e^-\\fracikxzx'-\\fracikyzy' dx'dy' Ψ(r,t)=R∫−∞∞∫−∞∞f(x′,y′)e2zik(x′2+y′2)e−zikxx′−zikyy′dx′dy′
w i t h R = k Ψ 0 e i ( k z − t w ) 2 π i z e i k x 2 + y 2 2 z with \\quad R = \\frack \\Psi_0 e^i(kz - tw)2 \\pi i z e^ik \\fracx^2 + y^22z withR=2πizkΨ0ei(kz−tw)eik2zx2+y2
f ( x ′ , y ′ ) = 1 if ( x ′ , y ′ ) ∈ S ′ 0 if ( x ′ , y ′ ) ∉ S ′ f(x', y') = \\begincases 1 & \\text if (x', y')\\in S' \\\\ 0 & \\text if (x', y')\\notin S' \\endcases f(x′,y′)=10 if (x′,y′)∈S′ if (x′,y′)∈/S′
上式可以转换成傅里叶变换的形式:
Ψ ( r , t ) = R ⋅ F [ f ( x ′ , y ′ ) e i k 2 z ( x ′ 2 + y ′ 2 ) ] \\Psi(\\mathbfr, t) = R \\cdot \\mathcalF[f(x', y') e^\\fracik2z(x'^2 + y'^2)] Ψ(r,t)=R⋅F[f(x′,y′)e2zik(x′2+y′2)]
F [ f ( x ′ , y ′ ) e i k 2 z ( x ′ 2 + y ′ 2 ) ] = ∫ − ∞ ∞ ∫ − ∞ ∞ f ( x ′ , y ′ ) e i k 2 z ( x ′ 2 + y ′ 2 ) e − i k x z x ′ − i k y z y ′ d x ′ d y ′ \\mathcalF[f(x', y') e^\\fracik2z(x'^2 + y'^2)] = \\int_-\\infty^\\infty \\int_-\\infty^\\infty f(x', y') e^\\fracik2z(x'^2 + y'^2) e^-\\fracikxzx'-\\fracikyzy' dx'dy' F[f(x′,y′)e利用 FFT 模拟菲涅尔衍射积分