标准具和晶体中的电磁场传输算法
由平行平面构成的光学层在光学中广泛应用。层状结构可以用作许多不同情况的模型,像平板和标准具。基于这个事实,光与层状结构相互作用的主题一直引起大家的注意并且对此已经进行了大量的研究。 |$;4/cKfy oxBTm|j7 在这类研究中,大多数观点都侧重于平面波,然而仅仅少数的研究使用了平面波谱方法(SPW)来考虑一般的电磁场。例如,参考文献[1-6]中研究了各向同性-各向同性的界面上,高斯光束的反射率和透射率;在参考文献[7-11]中研究了各向同性层或者平板的情况;参考文献[12-22]讨论了各向同性-各向异性界面的情况,在参考文献[23-26]中则讨论了各向异性层或者平板的情况。 ^q_wtuQ ] g<$f#S 上面所提到的许多研究都用于特定的研究主题,像[1,3,5]中研究了高斯光束全内反射的横向偏移,并且他们常常关注于具体的配置。因此,将这些方法推广到更一般的情况的可能性受到了限制。 2ql)]Skg6 k`o8(zPb 在这篇文章中,我们从一个更一般的观点来考虑此问题。光学层几乎不会单独使用;相反,他们常常是一个光学系统的一部分并且和其他的元件一起使用,如图1中所示。基于此事实,我们遵循场追迹的概念[27],并使用不同的场追迹算子组合[28-32],如图1中所示,以对一个包含了层介质元件的系统进行物理光学模拟。考虑到模拟是对整个系统而不是单个元件,仿真层结构必须与系统的前后部分相连接。这要求我们传播步骤(图1中的P)进行适当的考虑,将前一个元件的输出连接到当前元件的输入,并将当前元件的输出传递到下一个元件。一般情况下,这样的传输步骤会出现在平行或者非平行平面之间。在参考文献[28,29]中已经提到了平行平面间几种有效的传输方法,在参考文献[33]中则可以找到对非平行平面间传输的一个详细的讨论。在这篇文章中,我们不会研究传输步骤,但会关注层状结构的元件算子C。 )Z/$;7]# zB`J+r;LU 此外,从数值计算的观点出发,为了执行一个连续且有效的系统模拟,要求元件算子C e_-7,5Co MQDLC7Y.p5 正确地处理采样场数据并和其他的算子以一种统一的格式传递场数据; fs yVu|G E7i/gY 优化数值计算的效率。 fN@ZJ~F%j E=8GSl/Jx 考虑到上述两个标准,我们开发了一种具有自动数值采样规则的SPW方法。与之前一些利用积分方法对空间和角谱相关的傅里叶变换进评估的研究相比(如参考文献[23]中的二维中点规则和参考文献[12-14,20,25]中的Stamnes–Spjelkavik–Pedersen方法[34]),我们使用了快速傅里叶变换(FFT)技术,此技术在大部分数值软件包中容易访问并且效率高。再加上在角谱域中经过深入考虑的数值采样规则,我们的方法具有一般适用性,对层元件和入射场没有任何限制。因此,此算法可以直接包含在一个物理光学系统模拟之中。 =E$bZe8 AFM+`{Cq
图1.结合使用不同的场追踪算子来模拟光学系统: C是元件算子,P是相邻元件之间的传输算子。 IhBQ1,&J 2.理论 }z#M!~ b)x0;8< 如图2所示,层状结构分别由两个位于 和 的平行平面构成。 和 的区域充满了复折射率为 和 的均匀各向同性介质。参考文献[27]中表明使用横向分量Ex和Ey已足够表征均匀各向同性介质中电磁场了。因此,我们可以使用以下表达式来描述此问题: FA>.1EI
dGj0;3FI% 其中,分别在平面 和 处定义输入和输出横向电场矢量,(两者位于界面的数学位置,但总是认为在均匀介质的一侧),由下式给出 &^K(9"
s?s,wdp 其中 。方程(1)中的元件算子是一个2x2的矩阵形式, ,;hpqu|
FaWDAL=Vhk 5Ok3y|cEx
图2.层状结构分别由两个位于  和  的平行平面构成。  和  的区域由均匀各向同性介质填充,其折射率分别是  和  。输出场和输出场在层表面进行定义,但总是在相应的各向同性介质的一侧。 +*xc4 在这章节,我们的目标是找到C的精确的形式,以连接层介质元件的输入和输出场。为了研究与层结构的相互作用,我们对输入横向场分量进行了一个傅里叶变换,并获得了 i#^YQCy
J+Fev.9> 其中 , F表示二维傅里叶变换, 4DDBf j yY!)2{F+
00'SceL=` pouXt-%2X
。逆傅里叶变换定义如下 `#w#!@s#@
pEz^z9 方程(6)中的积分可以解释为将 分解为具有不同横向波矢分量κ的平面波。因此,在我们的情况下,每个输入平面波都可以单独处理——我们首先计算每个输入平面波的输出,然后进行求和从而获得输出场。 .I EHjy\+ 此外,根据边界条件对电磁场施加的连续性要求,可以显示出一个给定的输入平面波在与层结构相互作用的过程中其横向波矢分量κ必定保持不变。同样可以显示出,通过叠加原理的有效性,不同的κ之间没有耦合。因此,对于输出角谱,我们可以写下 C-)d@LWI
2z"<m2a 其中 [mQ1r*[j mR1b.$ SUIJ{!F/
<,0/BMz wdf;LM 公式(8)中分别是透射和反射系数矩阵。为了计算T(κ) 或者R(κ),我们选择使用数值稳定S矩阵方法。为了计算S矩阵,首先必须确定每个各向异性层的平面波。基于文献[35]中Berreman的4x4矩阵公式,Landry和Maldonado开发并展示了一种数值友好的形式,见参考文献[23]。我们采用了他们的方法,对于每一层,求解了参考文献[23]中由方程(28)所描述的特征系统的特征值和特征向量。 M9o/6 不同于[23,25]中直接使用本征解来构建一个转换矩阵,另外,我们还需要根据他们的传输方向整理出平面波,这是为计算S矩阵所做的一个必需的准备。为此,我们遵循[36]中4.3部分由Li所提出的标准。 4X*U~} 然后可以应用递归S矩阵公式。我们在这篇文中不再重复给出已发展成熟的S矩阵方法,读者可以参考文献[37]中的方程(5)-(8)以获得更多的信息。在我们的情况中,由于没有反向传输输入场,我们仅对正向透射或者反向反射感兴趣,因此这篇文章中的矩阵系数T(κ) 和R(κ)对应于[37]中方程(5c)或者(5d)中的子矩阵T_uu 或者R_du。 k H<C9z2= 一旦获得了矩阵系数,通过方程(7)即可获得输出角谱。对输出角谱进行一个逆傅里叶变换,我们获得了输出横向场矢量 ^|zag xo?'L&%
i].E1},% N$#~& 通过联合方程(4),(7),(9),我们可以写出从输入场到输出场整个计算流程,如果 AX%}ip[PC 我们以透射的情况作为例子,则 U^|T{g+O 1ig*Xp[
}aVzr}! S[q:b
. 因此,方程(1)中元件算子C的精确形式如下 rr2!H%: P7zUf
+TA~RCd g 8uq6U 通过使用系数矩阵R(κ)代替 T(κ),可以获得反射情况的表达式。 #]5KWXC'~ R`DzVBLl 3.算法 &4 KUXn[F 按照方程(10)的顺序,我们可以应用一种数值算法以计算场经过分层介质元件的传输。让我们从横向输入场矢量 和 ,以图3(a)中的均匀网格进行采样。这种网格定义为 ,其中 和 作为索引数,δx和δy是x方向和y方向的采样距离。初始采样参数应该受到合适的控制以使他们符合先前算子的奈奎斯特-香农采样定理。方程(10)中的F为联系空间域和频率域的算子,可以使用不同的数值方法实现,像广泛使用的快速傅里叶变换(FFT)技术,以及包含了能够进一步提高数值效率的半解析傅里叶变换[38]和啁啾z变换[39-41]的更高级的方法。在此篇文章中,我们使用了FFT技术,并以此获得输入角谱。但我们的算法不受限于该技术。 R4VX*qkB 5,oLl {S'
XEbVsw 图3.在角谱域定义均匀采样网格。(a),初始网格定义,5x5采样点, 和 为采样距离;(b),使用5x5采样点,沿垂直方向生成一个测试网格, 和 =0.5 为采样距离;(c)中使用9x5个采样点定义了沿水平方向的一个测试网格, =0.5 和 为采样距离。((b)和(c)中的实心点是在(a)的初始网格中出现的共同的采样点位置,而空心圆环与初始网格中不一样的采样点。 )=() T fkGkVR 8x)i{>#i
~Gmt,l!b .%7Le|Fb" oy#(]K3`O 其中角谱域中的均匀网格定义为 ,其中 和 为Kx和Ky的采样距离。利用FFT计算的结果,在两个域中的采样点是一样的,因此我们有 。 0Fon`3(^\ 接下来,将输入角谱乘以系数矩阵,然后我们可以获得输出角谱场,例如,对于透射 c1i:m'b_5 DiOd!8Y
'h0>]A 2|X l,]%D 角谱 的采样通过傅里叶变换关系自动确保。然而, 的采样没有必要进行确保,因为他们包含了系数和输入角谱之间的点乘。这个问题将在第四部分的案例中进行清楚地说明。 T(Q ~b 一般来说,采样距离 , 和带宽 必须进行适当调整以确保正确的采样。在我们的情况中,方程(13)中的运算没有改变谱范围。因此,我们仅仅只需要找到合适的采样距离即可。此问题并没有解析解,因为系数矩阵T或者R是通过递归S矩阵方法数值上获得的。确保 采样的唯一方法是实行数值测试。 d>mZY66P fap]`P~#L 让我们在角谱域定义一个测试采样网格,如如3(b)或者3(c)所示。测试网格定义为 ,其中 为指数;为了不改变角谱范围,要求 。与初始网格相比,它也需要进行细化,这意味着 。 _eq$C=3Ta 一方面,我们以一种严谨的方式来计算测试网格上的输出横向角谱分量。由于输入横向角谱分量的合适采样,根据需要可以进行插值,例如,在测试网格上,我们获得 k7rg:P "0Z/|&
2[3t7 C [t3 Kgjt 其中“INTRPL”代表的是数值插值运算。为了在一个更精细的网格上严格地获得输入场,如方程(14)中,我们总是采用基于FFT的Sinc插值方法,把它们代入到方程(13)中,可以严格地获得输出横向角谱量 M&hNkJK*G 0M&n3s{5I
$V`1<>4 VVAc bAGJ 另一方面,通过对 的插值,我们也可以获得测试网格上的输出横向角谱量,并将插值结果表示为 。我们将此过程描述为 N9#xT X Z}0xK6
Ri`6X_xU b\H&E{Gn|x 值得强调的是,在方程(16)中无需再使用严格的Sinc插值。因为这些结果仅仅用于评估一下情况。在这篇文章中,我们使用三次插值。上面的插值没必要给出正确的输出值,因此,在方程(16)的左边,我们对那些量使用上标“intrpl”。下一步,我们定义 -N^Ah_9ek k'|yUJ,
PDw+Q s+fxv(,"c 作为插值结果和严格结果之间的相对偏差。只要 在初始网格上的采样满足奈奎斯特-香农采样定理,基于他们的插值结果就不会对严格的插值方法表现出一个大的偏差。在这种情况下,根据所选的插值方法,两种结果的偏差应该在数值误差级次,由σ_0表示。使用上述标准,通过一步步的减小采样间距来测试场采样,直至σ<σ_0。 |5dNJF8;Q U`EOun, 以上的测试过程对应着一个循环,在每个测试循环中都会执行方程(14)到(17)的计算。为了在每个测试循环中充分地使用测试数据,如方程(15)中的结果,我们总是使用图3(b)和3(c)中的测试网格。这样规则的测试网格定义为 |hi,]D^Kc /D;ugc*3
X>uLGr> i}C%8}% 对每个循环内,需要对先前的采样距离减半。使用这个测试网格具有如下好处:当计算 时,仅仅需要计算那些在空心圆圈位置处的值,而实心点位置处的值在之前的测试循环中已经计算过了,并且让这些值简单地进行传输即可。在这种方式下,这些基于测试目的所进行严格计算的值不会被丢掉,而会作为下一次循环中的起始点以重新使用。因此,在一个完整的计算中所执行的是严格的计算,从而验证合适的采样,并且这些计算的值能够有效地用于构建最终输出场。我们将上面的方法总结在算法1中。 56c[$ q 算法1:通过合适的采样控制来进行输出角谱计算的数值流程 _<mY| 1)在初始网格严格地计算 }za pN
v 2)初始化相对误差值σ=+∞ f&^"[S"\f 3)判断σ>σ_0, ⊳如果为真,则采样不合适 ({C[RsY=6 4)沿Kx(或者Ky)二等分采样距离 f1'X<VA 5)应用新的采样距离定义测试网格 9#hp]0S6 6)在测试网格中对输入角谱插值,根据方程(14)获得 H<fi,"X^ 7)根据方程(15),在测试网格上严格地计算输出角谱 t CO?<QBE 8)根据方程(16),通过插值获得 .-T P1C 9)根据方程(17),计算误差σ Zazs". 10)如果σ>σ_(0 ) ,则⊳将目前的输出场设置为下一次循环的起始点 Z?=o(hkd 11)返回 UcB& |