Ansys Lumerical|帶 1D-2D 光柵的出瞳擴展器

附件下載

聯系工作人員獲取附件


此示例顯示了設置和模擬出瞳擴展器 (EPE) 的工作流程,EPE 是波導型增強現實 (AR) 設備的重要組成部分。該工作流程將利用 Lumerical 和 Zemax OpticStudio 之間的動態(tài)鏈接功能 。為了使用動態(tài)鏈接,在Lumerical中構建了二維六邊形圓柱體和一維傾斜光柵的參數化模型。另一方面,整個成像系統(tǒng)內置于Zemax OpticStudio中。在光線追蹤過程中,當光線照射到光柵上時,Zemax OpticStudio 會自動調用 Lumerical 來計算精確的電場響應,從而可以對系統(tǒng)進行準確評估。



概述



EPE是基于波導的AR系統(tǒng)(如Microsoft Hololens)中最流行的技術之一。它包括一塊薄玻璃板(波導),上面有幾個光柵。光柵的周期、區(qū)域形狀和周期方向通常在 k 空間中規(guī)劃。K 空間是一個二維空間,該空間中的任何單個點始終表示射線傳播方向。當衍射光柵改變光線的傳播方向時,它在該 k 空間中的位置會被矢量移動,其中矢量的長度與周期有關。K-space是一個非常有用的概念,用于規(guī)劃EPE系統(tǒng)的光傳播和光柵周期。


上述文章中的系統(tǒng)適用于具有三個 1D 光柵的 EPE。此示例的主要區(qū)別在于,我們將使用 1D 光柵進行內耦合,并使用 2D 光柵進行外耦合。二維光柵具有六邊形周期結構,光束在k空間中傳播,如下圖所示。如下圖所示,為了讓光束在二維波導中移動以擴大出瞳,我們設計了光柵,讓光束傳播方向在k空間中像六邊形一樣移動。這允許光束傳播并分布到波導中的大區(qū)域,如下圖右圖所示。



第 1 步:構建參數化光柵模型

光柵模型首先在 Lumerical 中構建并保存在 .fsp 文件中。我們將需要兩個光柵模型。一種是一維光柵,用于耦合來自光源的光。一種是用于耦合光線的 1D 光柵。


第 2 步:構建 AR 波導并檢查瞳孔處的功率分布

接下來,在Zemax OpticStudio中構建出瞳擴展系統(tǒng)。這包括一個波導、2個光柵、一個圖像源和一個簡單的眼睛系統(tǒng)來“看到”圖像。


第 3 步:圖像模擬

現在我們準備運行光線追蹤來檢查系統(tǒng)。我們將檢查出瞳處的功率分布,以查找光源中的某個點。我們還將運行完整的圖像模擬,并評估人眼通過系統(tǒng)看到的內容。


第 4 步:優(yōu)化

我們可以選擇一些參數來優(yōu)化系統(tǒng)性能。在本演示中,我們將圓柱體高度作為變量,并將中心場的出瞳均勻性作為優(yōu)化目標。


運行和結果

第 1 步:構建參數化光柵模型

1.在Lumerical FDTD中打開文件(文件名如下),并觀察它們是如何定義的。

lswm_1D_slant.fsp

lswm_2D_hex_cylinder.fsp


兩個光柵文件中定義的幾何形狀如下。左圖顯示了 lswm_1D_slant.fsp 中的 1D 周期光柵,它將用作 AR 波導系統(tǒng)中的內耦合。第二張圖顯示了 lswm_2D_hex_cylinder.fsp 中的二維六邊形,該六邊形將用于外耦合。



請注意,這些光柵文件包括Lumerical和OpticStudio之間的動態(tài)工作流程所需的一些特殊設置。 例如,通過右鍵單擊對象樹中的頂部單元格,我們可以看到兩個光柵文件中存在名稱為“p#_*****”的用戶屬性。這些用戶屬性將由OpticStudio直接控制。同名的參數將顯示在OpticStudio中。用戶在OpticStudio中對這些參數的任何修改都將反映到Lumerical中的用戶屬性中,以更新光柵幾何形狀。此外,在優(yōu)化過程中,我們也可以更改一些變量以獲得最佳系統(tǒng)性能。



還可以看出,為 topcell 組定義了一些腳本。需要這些腳本才能將用戶屬性轉換為實際幾何圖形。



可以看出,這兩個光柵文件都具有一些共同的用戶屬性,例如 period_x、period_y、n_neg n_pos。這些是必需的,以便光柵文件可以在OpticStudio和Lumerical之間的動態(tài)鏈路中使用。


我們提供幾種內置樣品光柵,如下所示。但是,用戶始終可以按照約定自定義自己的。



第 2 步:構建 AR 波導并檢查瞳孔處的功率分布

1.在OpticStudio中打開epe2d_2dgrating.zar,觀察它是如何定義的。

2.將參數“Link Lumerical (0=No 1=Yes)”設置為 1。

3.打開“光線追蹤控制”對話框并追蹤光線。


打開這個文件時,我們應該看到兩個Lumerical FDTD被打開,只要OpticStudio。這是因為該系統(tǒng)定義了兩個光柵。一種是帶有圓形區(qū)域的一維傾斜光柵,用于在光線中耦合。一種是帶有矩形區(qū)域的二維六邊形光柵,用于耦合光線。


在這個系統(tǒng)中,我們在玻璃板(波導)的表面定義了兩個光柵物體。準直光束入射到第一個耦合光柵上。在波導中進行一些TIR引導后,它將被第二個光柵耦合出來。在外耦合光柵附近,我們設置了一個檢測器來檢查出瞳(即設備的眼盒)上的光分布。



通過檢查物體 2 >物體屬性>衍射,可以看出選擇了“l(fā)umerical-sub-wavelength-2023R1.dll”來定義衍射屬性。在“文件名”的下拉列表中,可以看到選擇了lswm_1D_slant.fsp。下拉列表將顯示保存在文件夾 \Document\Zemax\DLL\Diffractive\ 中的所有 fsp 文件。


用戶需要將光柵文件放在此文件夾中,以便將其用作光柵結構。如果我們檢查對象 3,我們可以看到它選擇 lswm_2D_hex_cylinder.fsp 作為光柵結構。



在追蹤光線之前,讓我們將參數“Link Lumerical (0=No 1=Yes)”設置為 1 以打開鏈接。該參數的設計允許用戶暫時不鏈接到Lumerical,并專注于設置光柵參數。設置為 1 后,OpticStudio 將鏈接到 Lumerical,讀取指定的 .fsp 文件,并讀取參數名稱,如下所示。



現在,我們已準備好打開“光線追蹤控制”對話框來追蹤光線,如下所示。



探測器上的光線追蹤結果如下。請注意,兩張圖片顯示的結果相同,但右側是用對數刻度。



請注意,這僅顯示中心場的結果,即來自圖像源上中心像素的光。我們將“傾斜約 X”和“傾斜約 Y”設置為 5 度,以便檢查不同入射光束的結果。



可以看出眼盒處的光分布發(fā)生了變化。很明顯,對于圖像源上的不同像素,我們在出瞳上的光分布也不同。通常,設計目標是在整個視場(圖像源上的所有像素)的出瞳上均勻分布




第 3 步:圖像模擬

1.在OpticStudio中打開epe2d_2dgrating_image_simulation.zar,觀察它是如何定義的。

2.將參數“Link Lumerical (0=No 1=Yes)”設置為 1。

3.打開“光線追蹤控制”對話框并追蹤光線。


在此文件中,添加了多個對象以進行圖像模擬。我們用一個圖像源替換了準直光,該圖像源包括 3 個對象、源 DLL (Lambertian_Overfill.dll)、幻燈片和近軸透鏡。近軸透鏡放置在第一個耦合光柵的正前方。它將在其焦平面上將圖像投射到無限遠。源 DLL 和幻燈片都位于焦平面上,但略有偏差,因此這兩個對象不會完全重疊。源 DLL 使用Lambertian_Overfill.dll,其大小與第一個耦合光柵處的幻燈片和目標瞳孔相匹配?;脽羝皇且粋€用于測試圖像質量的二維碼。


在波導的輸出端,構建了一個簡單的攝像系統(tǒng)來模擬人眼接收到的圖像。這包括 3 個物體、一個近軸透鏡、一個環(huán)形和一個位于近軸透鏡焦平面的檢測器矩形。近軸透鏡將無限遠處的物體圖像聚焦到焦平面上的檢測器矩形上。


打開文件時,已經可以看到檢測器查看器上已經有一個圖像。建議用戶嘗試打開“光線追蹤控制”對話框并自行追蹤它,看看它是如何工作的。



第 4 步:優(yōu)化


1.在OpticStudio中打開epe2d_2dgrating_optimization.zar,觀察它是如何設置優(yōu)化的。

2.將參數“Link Lumerical (0=No 1=Yes)”設置為 1。

3.打開本地優(yōu)化器并執(zhí)行優(yōu)化。


在此示例中,我們演示了優(yōu)化過程。這只是一個簡單的例子,并沒有將系統(tǒng)優(yōu)化到完美,但應該很好地概述如何優(yōu)化系統(tǒng)。


此文件中的系統(tǒng)基于步驟 2 中內置的系統(tǒng),但稍作修改。在這個文件中,我們添加了 merit 函數和一個用于優(yōu)化的變量。


在評價函數中,第 7 行計算非零像素上輻照度的標準偏差。這個數字越低,系統(tǒng)的均勻性就越好。第 8 行和第 9 行將總效率限制為大于 0.015。



在該系統(tǒng)中,外耦合光柵被切割成 6 塊。這是必需的,因為我們希望不同區(qū)域的衍射效率不同。最終目標是在設備的出瞳(眼盒)處獲得均勻分布的輻照度。請注意,光柵區(qū)域的兩部分設置為忽略光線跟蹤。這是因為系統(tǒng)具有對稱性,我們希望利用它來加快優(yōu)化速度。



該變量在多配置編輯器中設置。它對應于中央頂部光柵中的圓柱體高度。



為了優(yōu)化這個系統(tǒng),我們只需打開本地優(yōu)化器并使用正交下降算法運行它。不使用 DLS 的原因是,當 Orthogonal Descent 表現良好時,該系統(tǒng)的績函數空間可能非常嘈雜,而正交下降法可以很好地解決這一問題。



優(yōu)化后,圖像均勻性較好,如下圖所示。



Zemax OpticStudio的DLL設置中有幾個參數值得一提。


最大階次 X、Y



這指定了在 RCWA 求解器中要考慮的諧波(階數)數。這個數字越高,結果越準確,但計算速度越慢。當它設置為 3 時,表示我們在計算中考慮 -3、-2、-1、0、1、2、3,總共 7 個訂單。


只有當我們做收斂性測試時,我們才能知道這個數字是否足夠大。


經驗法則是將此數字設置為波長/周期*3。


當 X、Y 均為 >= 0 時,最大階數 Y 被忽略,并對諧波(衍射階數)空間中的圓形區(qū)域進行采樣,如下圖左下方所示。


當 X<0 或 Y<0 時,在諧波空間中對矩形區(qū)域進行采樣。矩形區(qū)域的 x 和 y 方向的半寬是最大階數 X 和 Y 的絕對值,如右側所示。



插值和插值預采樣



這兩個參數控制如何將來自 Lumerical 的數據緩存在 RAM 中。在此工作流程中,Lumerical為每個入射角計算的數據將被緩存,然后針對任意入射角進行插值,如下所示。



光柵形狀

本例中光柵的形狀是一維傾斜光柵和二維圓柱柱。用戶可以按照 Lumerical RCWA 和 Zemax OpticStudio 之間的動態(tài)工作流程來構建自己的光柵模型。


光柵區(qū)形狀

在本例中,波導上的光柵區(qū)域形狀為圓形(耦合光柵)和矩形(耦合外光柵)??梢詫⑵渲腥魏我粋€更改為多邊形。