表面浮雕光柵(SRG)廣泛應(yīng)用于各種傳統(tǒng)光學系統(tǒng),如光譜儀、分束器、三維掃描系統(tǒng)、衍射透鏡和脈沖放大系統(tǒng)等。近年來,表面浮雕光柵在平視顯示器(HUD)、增強現(xiàn)實(AR)、虛擬現(xiàn)實(VR)頭戴顯示器(HMD)等現(xiàn)代設(shè)備中得到廣泛應(yīng)用。它們能夠以任意角度衍射光線,綜合其波長和角度選擇性,使得光學系統(tǒng)比傳統(tǒng)設(shè)計更緊湊、更輕,而傳統(tǒng)設(shè)計通常需要使用棱鏡和自由曲面來達到同樣的性能,會導致系統(tǒng)更復雜,體積更龐大。 OpticStudio一直可以模擬光柵,但沒有考慮衍射效率。為了準確地反映衍射光線的衍射效率和偏振態(tài),就必須在模擬時考慮光柵的微觀結(jié)構(gòu)等特性。 本文將討論兩個用來模擬梯形和階梯光柵的DLL。承接上周的內(nèi)容,下篇將包含DLL參數(shù)等。
DLL 參數(shù)
在OpticStudio 20.3中,共有5個RCWA DL用于模擬不同形狀的1D光柵:
srg_trapezoid_RCWA.dll
srg_step_RCWA.dll
srg_blaze_RCWA.dll
srg_GridWirePolarizer_RCWA.dll
srg_user_defined_RCWA.dll
本節(jié)描述了這些DLL的參數(shù),從所有DLL相同的參數(shù)開始,然后解釋每個DLL的特定參數(shù)。
相同的參數(shù)
以下參數(shù)在所有 RCWA DLL 中具有相同的含義。 +周期/頻率(μm)和深度(μm) 這些凹槽周期單位為μm,光柵的剖面深度單位為μm。
當“+周期/-頻率(μm)”是正值,它對應(yīng)于凹槽周期(μm);
當它是負值,對應(yīng)于凹槽頻率(1 /μm)。周期和頻率是互為倒數(shù)的。圖10顯示了光柵的凹槽周期和深度。

圖10. 梯形和階梯光柵的槽深和凹槽周期。 建議周期不要太大,例如波長的100 倍。這意味著所需的?ZUI大級次非常大,以至于不能有一個準確的結(jié)果。有關(guān)ZUI大級次初始值的建議,請參閱"諧波(級次)的概念"部分。 ZUI大級次 請參閱"諧波(級次)的概念"部分。 這目前限制為10(共 21 個諧波)。當數(shù)字大于10時,在DLL中將其修改為 10。聯(lián)系支持團隊以增加限制。 旋轉(zhuǎn)光柵(°) 此參數(shù)允許用戶旋轉(zhuǎn)光柵線的方向。
當它設(shè)置為零時,光柵線沿著Y方向,這意味著光線在X方向彎曲。
當它設(shè)置為非零時,正值則光柵線以逆時針方向旋轉(zhuǎn)(+X +Y),負值則順時針向旋轉(zhuǎn)。請注意,此處描述的X和Y方向基于對象的本地坐標系統(tǒng)。

圖11. 光柵旋轉(zhuǎn) 135 度。 使用鍍膜文件 此參數(shù)是一個標志。如果是非零正整數(shù),則表示分散數(shù)據(jù)(指數(shù)與波長)在文本文件中定義。文本文件必須保存在 {Zemax}CoatingsCOATING_xx.dat中,其中 xx 是"使用涂料文件"參數(shù)中指定的正整數(shù)。 例如,如果將"使用涂層文件"設(shè)置為 7,則將COATING_7.dat讀取分散數(shù)據(jù)。 在COATING_xx.dat文件中,散射數(shù)據(jù)的定義可用參考“The Libraries Tab > Coatings Group > Defining Coatings > The MATE Data Section"下的幫助文件。材料名稱應(yīng)始終從RCWAxx開始,其中xx是兩位數(shù)的整數(shù)。所有文本依次排布。 例如,我們可以定義RCWA01TIO2。DLL將讀取 RCWA 材料1,并將忽略隨后的TIO2文本。圖12顯示了一個涂層文件與幾個材料散射數(shù)據(jù)的例子。

圖12. 如何在COATING_xx.dat中定義分散數(shù)據(jù)的示例。 材料編號可以指定光柵折射率(R)、環(huán)境折射率(R)或膜層折射率(R)。使用等于材料數(shù)乘以-1的負整數(shù)。 例如,如果我們要將RCWA02設(shè)置為Grate區(qū)域的索引數(shù)據(jù),則只需將光柵折射率(R)設(shè)置為 -2。 查看”光柵折射率(R)、光柵折射率(I)、環(huán)境折射率(R)、環(huán)境折射率(I)“和”膜層折射率(R)、膜層折射率(I)、膜層頂部厚度(μm)、膜層側(cè)面厚度(μm)“小節(jié)獲取更多信息 插值 這個參數(shù)需是一個整數(shù)。
如果為零,DLL 將不使用插值模式。
如果設(shè)置為非零值,DLL將在插值模式下工作,這意味著DLL在計算時將在RAM中緩存RCWA數(shù)據(jù)。然后,這些數(shù)據(jù)用于插值以進行進一步的光線追跡。這可以顯著提高系統(tǒng)中許多光線追跡的速度,例如,跟蹤超過一百萬條光線。
當插值設(shè)置為1時,將使用201*201采樣網(wǎng)格。
當它大于1時,它代表采樣網(wǎng)格的大小。換句話說,用戶可以通過將插值設(shè)置為大于1的數(shù)字來定義采樣網(wǎng)格的大小。但請注意,ZUI低采樣網(wǎng)格大小為21。
當插值設(shè)置為負整數(shù)時,DLL將采取絕對值來查找采樣網(wǎng)格,但會使用不同的方法進行插值。這種插值方法更準確,但速度較慢。
設(shè)置插值參數(shù)是為了速度和精度之間的正確平衡。

圖13. 當參數(shù)插值為非零整數(shù)時,插值模式將打開。當它是負數(shù)的時,使用不同的插值方法。這種方法較慢,但更準確。 插值模式(Interpolation Mode)是如何工作的? 首先,在LM空間中定義一個采樣網(wǎng)格。當光線入射到光柵上時,光線的方向可以用單位矢量(L,M,N)表示。LMN也被稱為光線的方向余弦。當光線擊中光柵時,它在x和y方向上的方向余弦L和M被映射到LM空間。然后檢查ZUI近的四個采樣點,如果在這四個點中沒有任何一個點已經(jīng)計算出RCWA數(shù)據(jù),則計算這些點的數(shù)據(jù)并將其保存在RAM中。然后用這四個點對入射光的RCWA數(shù)據(jù)進行線性插值。注意,插值不僅是為了提高衍射效率,也是為了實現(xiàn)電場。換句話說,在緩存數(shù)據(jù)和插值的過程中,要充分考慮相位、偏振態(tài)和振幅的變化。 如果光柵數(shù)據(jù)或光的波長發(fā)生變化,DLL將創(chuàng)建另一個采樣網(wǎng)格來保存RCWA數(shù)據(jù)。因此,將光柵參數(shù)或波長設(shè)置為變量時,用戶不應(yīng)在優(yōu)化過程中打開插值功能。這意味著追蹤許多光線(>1000)時,插值會起到加速優(yōu)化的作用。但是,如果在優(yōu)化過程中僅通過光柵跟蹤幾條光線(如<10),建議關(guān)閉插值。 關(guān)于進一步的討論,請參閱“優(yōu)化(Optimization)”一節(jié)。

圖14. 在插值模式下,衍射數(shù)據(jù)的計算如圖所示。 僅這些級次(Only these order) 當參數(shù)"僅這些級次"為0或負時,DLL將照常工作。所有級次都將追蹤。當該參數(shù)為正整數(shù)時,允許用戶指定用戶想要跟蹤的傳輸和反射中的衍射級次。 "僅這些級次"只是一個整數(shù),所以下表是它的定義。下表將級次映射為唯一的正整數(shù)。

"僅這些級次"是2的冪級數(shù)的總和。 舉個例子,如果用戶想要追跡0級反射光線(R0)和+1級透射光線(T+1)。”僅這些級次“參數(shù)應(yīng)該被設(shè)置為2^0 + 2^5 = 1 + 32 = 33。


圖.15 ”僅這些級次“ 允許用戶指定用戶想要跟蹤的傳輸和反射中的衍射級次 注意在使用這個參數(shù)的時候,開始級次和結(jié)束級次需要包含指定的追跡級次。 此參數(shù)也可以使用可視化工具設(shè)置。這是一種更容易的方法,因為不需要計算。

圖.16 可視化工具中可用直接設(shè)置該參數(shù)。 隨機模式
這也可以稱為蒙特卡羅方法或者概率分裂
當參數(shù)設(shè)置為0時,DLL正常工作
當設(shè)置為1,2或3時,隨機模式將會生效。當隨機模式工作時,DLL會讓光線隨機衍射,如圖17所示。跟蹤每個衍射級次的概率基于衍射級次之間的能量比。

圖17. 隨機模式下,任意入射光線會隨機衍射,產(chǎn)生衍射的級次的概率取決于每個級次的能量比。這張圖片顯示了只有1條光線隨機衍射的情況。
對于每條入射光線,可能有任意數(shù)量的出射光。要衍射的光線數(shù)量由計算決定(截至級次-初始級次+1)。換句話說,用戶可以設(shè)置參數(shù)"初始級次"和"截至級次"來定義出射的光線數(shù)量。同樣,在光線追跡過程中,隨機決定每一條光線的衍射級次。每個出射光線都攜帶Pi/n的功率,其中Pi是入射光線功率,n是出射線的數(shù)量。

圖18. 在隨機模式下,一條入射光線可用對應(yīng)多條衍射出射光線。 注意,如果”僅這些級次“不為零,則隨機模式按照如下規(guī)則運行。
當隨機模式為1時,”僅這些級次“被忽略。
當隨機模式為2時,隨機模式先于”僅這些級次“生效,一條光線可能由隨機模式隨機化,但被"僅限這些命令"設(shè)置的規(guī)則阻止。
當隨機模式為3時,”僅這些級次“先于隨機模式生效,光柵仍然以隨機方式衍射光線,但衍射光線始終在"僅這些級次"指定的一組級次中隨機化。
錯誤日志 如果這個參數(shù)不為0,則會生成一個報告計算錯誤的txt文件。該日志文件會保存在{Zemax}DLLDiffractive中,并且與指定的衍射DLL同名。這一參數(shù)通常應(yīng)該設(shè)置為0,除非出現(xiàn)了未知的錯誤。 查看”幾何錯誤“小節(jié)獲取更多相關(guān)信息。
梯形光柵參數(shù)(Trapezoid parameters)
以下是梯形光柵 (srg_trapezoid_RCWA.dll) 的參數(shù): 深度,Alpha (度),Beta (度)和填充因子。 這四個參數(shù)按照如下規(guī)則控制光柵的形狀:
深度決定了光柵的高度,如圖19所示。
從-z旋轉(zhuǎn)到+x方向時,Alpha和Beta是正的,從+x旋轉(zhuǎn)到-z方向時,Alpha和Beta是負的。例如,在圖19中Alpha是正的,Beta是負的。
填充因子是0到1之間的數(shù)字,表示底面與凹槽周期的比值。

圖19. 梯形光柵的4個參數(shù)定義了光柵形狀。 膜層折射率(R)、膜層折射率(I)、膜層頂部厚度(μm)、膜層側(cè)面厚度(μm) 這4個參數(shù)用于模擬光柵的膜層。DLL可以使用戶定義頂部厚度(膜層頂部厚度(μm))和側(cè)面厚度(膜層側(cè)面厚度(μm))。 注意,膜層的厚度不包括在深度參數(shù)中。例如,如果深度是5 μm,膜層頂部厚度為200 nm,則光柵的總厚度為5.2μm。

圖11. 梯形光柵膜層的頂部厚度。 由于膜層材料可以是金屬,DLL提供了另外兩個參數(shù)來定義膜層材料的復折射率;實部為膜層折射率(R),虛部為膜層折射率(I)。在OpticStudio中,對于吸收材料來說,折射率的虛部通常是負的。例如,鋁的復折射率為0.7-7.0i。 膜層折射率(R)不能為零,但可以是負整數(shù)。當它是負整數(shù)時,意味著它由文本文件中的數(shù)據(jù)單獨定義。有關(guān)詳細信息,請參閱"使用鍍膜文件"部分。 光柵折射率(R)、光柵折射率(I)、環(huán)境折射率(R)、環(huán)境折射率(I) 光柵結(jié)構(gòu)可分為兩個部分,如圖 21所示:由”Grate”和“Env“指示的2個不同區(qū)域,表示光柵及其環(huán)境。光柵被外部區(qū)域(Outside)和基板區(qū)域(Substrate)包圍。基板和外部區(qū)域的折射率由光學系統(tǒng)定義。光柵和環(huán)境的折射率由DLL中的參數(shù)定義。 DLL中包含了4個參數(shù)來定義光柵和環(huán)境的折射率。
光柵和環(huán)境的折射率均由復數(shù)定義。
對于光柵區(qū)域,折射率的實數(shù)部分和虛數(shù)部分由光柵折射率(R)和光柵折射率(I)指定。
對于環(huán)境區(qū)域,折射率的實數(shù)部分和虛數(shù)部分由環(huán)境折射率(R)和環(huán)境折射率(I)指定。
當光柵和環(huán)境的折射率的實數(shù)部分被設(shè)為0時,有一項特殊的定義。如果光柵折射率設(shè)為0,則表示光柵的折射率與基板的折射率一致。基板折射率由光學系統(tǒng)定義。同樣的,如果環(huán)境折射率設(shè)為0,則表示環(huán)境的折射率和外部區(qū)域的折射率一致。
光柵和環(huán)境的折射率的實數(shù)部分(R)可以是負數(shù),意味著它由文本文件中的數(shù)據(jù)單獨定義
有關(guān)詳細信息,請參閱"使用鍍膜文件"部分。

圖21. 梯形光柵可用分為兩個區(qū)域,光柵(Grate)和環(huán)境(Env)。兩個區(qū)域的折射率可用分別定義。
層數(shù)
這個參數(shù)是用來建模梯形形狀的層數(shù)。有關(guān)更多信息,請查看“層的概念”一節(jié)。
鋸齒光柵參數(shù)(Blaze parameters)
鋸齒光柵的參數(shù) (“srg_blze_RCWA.dll”) 與梯形光柵的參數(shù)(“srg_trapezoid_RCWA.dll”)一致,除了”深度“。 對于鋸齒光柵,深度可以由給定的Alpha和Beta參數(shù)計算得來,如圖22所示。

圖22. 鋸齒光柵的形狀由三個參數(shù)定義:Alpha,Beta和填充因子。
階梯光柵參數(shù)(Step parameters)
以下參數(shù)用于定義階梯光柵(“srg_step_RCWA.dll”)。 深度,階梯數(shù)和Alpha (度)。
深度決定了光柵的高度或厚度,如圖23所示。
階梯數(shù)定義了每個周期中階梯形狀的數(shù)量,如圖23所示。實際上,這通常與制造過程有關(guān)。請注意,光柵的形狀正在"向下"朝+x方向移動,如下圖所示。要反轉(zhuǎn)方向,用戶應(yīng)將光柵繞z軸旋轉(zhuǎn)180度。

圖23.參數(shù) “階梯數(shù)”定義了每個周期中階梯形狀的數(shù)量。
參數(shù)Alpha定義另一側(cè)的斜角,如下圖所示。當從+z旋轉(zhuǎn)到-x時,Alpha的符號是正的。圖24顯示了 Alpha為正的示例.

圖24. 參數(shù) Alpha 定義了另一側(cè)的斜角。 每階梯層數(shù)(Layers per step) 這個參數(shù)定義了每個階梯中的層數(shù),此參數(shù)只能在參數(shù) Alpha 不為零的情況下使用。否則就是無效的,因為計算結(jié)果不會改變。下圖顯示了該參數(shù)如何影響斜面的采樣。

圖25. 參數(shù)Lays of 1 stp定義了每個階梯中的層數(shù)。 膜層折射率(R)、膜層折射率(I)、膜層頂部厚度(μm)、膜層側(cè)面厚度(μm) 這四個參數(shù)的定義與梯形光柵一致。參照梯形光柵中的解釋。

圖26. 階梯光柵膜層的頂部和側(cè)面的厚度。 光柵折射率(R)、光柵折射率(I)、環(huán)境折射率(R)、環(huán)境折射率(I) 這四個參數(shù)的定義與梯形光柵一致。參照梯形光柵中的解釋。

圖21. 階梯型光柵可用分為兩個區(qū)域,光柵(Grate)和環(huán)境(Env)。兩個區(qū)域的折射率可用分別定義。
網(wǎng)格偏振線柵參數(shù)(Grid Wire Polarizer parameters)
以下是網(wǎng)格偏振線柵參數(shù)(“srg_GridWirePolarizer_RCWA.dll”)的參數(shù)。 這種光柵基本上是二進制光柵。此DLL可用于建模網(wǎng)格線偏振器。 深度 (μm) 和填充因數(shù)
深度時光柵的高度。
填充因子是0到1之間的數(shù)字,表示柵格區(qū)域的寬度與周期的比值。如圖28所示。
折射率(R)和折射率(I) 與梯形光柵,鋸齒光柵和階梯光柵類似,網(wǎng)格偏振線柵可以分為四個區(qū)域,這兩個參數(shù)用于定義光柵區(qū)域的折射率,如圖28所示。 環(huán)境區(qū)域的折射率不能在DLL中定義,因為它總是與外部區(qū)域的數(shù)值保持一致。外部區(qū)域和基板區(qū)域的折射率都在OpticStudio中定義,它們不能在DLL中更改。

圖28. 網(wǎng)格偏振線柵可以分為四個區(qū)域:外部區(qū)域,光柵區(qū)域,環(huán)境區(qū)域和基板區(qū)域。光柵形狀由深度和填充因子決定。
用戶自定義光柵參數(shù)(User Defined Grating parameters)
用戶自定義光柵(“srg_user_defined_RCWA.dll”)只有一個參數(shù)。 文件編號 該參數(shù)必須是1-99內(nèi)的正整數(shù)。DLL會從位于DocumentsemaxDLLDiffractive的名為“user_grating_data_xx.txt”的txt文件內(nèi)讀取光柵數(shù)據(jù),其中xx就是”文件編號“參數(shù)。 DLL將僅讀取用戶自定義的光柵文本一次,并將數(shù)據(jù)保存在內(nèi)存中。如果文本被修改并且需要重新載入,則將"文件編號"參數(shù)設(shè)置為負數(shù)。確保通過系統(tǒng)中的光柵跟蹤至少一條光線以觸發(fā)重新加載:更新布局圖或使用射線跟蹤控制運行射線跟蹤。更新形狀數(shù)據(jù)后,請記住將"文件編號"參數(shù)設(shè)置為正值,讓DLL不會一直重新加載文本文件以更新光柵數(shù)據(jù)。

圖29. 用戶自定義的光柵數(shù)據(jù)寫在文本文件"user_grating_data_xx.txt"中,其中 xx 是正整數(shù),可以通過使用 DLL"srg_user_defined_RCWA.dll"進行讀取。 用戶自定義光柵的文件格式 光柵形狀由多個層定義。每層由背景材料定義,并可選包含其他材料的幾個部分。有關(guān)層的更多信息,請參閱"層的概念"部分。 用戶定義的光柵文本文件包含3個關(guān)鍵字:"層數(shù)"、"層"和"節(jié)"。當 DLL 讀取文件時,它會逐行掃描文本以查找這些關(guān)鍵字。找到關(guān)鍵字后,它會讀取下一行上的數(shù)據(jù)。關(guān)鍵字行和以下行必須遵循下面所述的文件格式。其他部分可以添加任何文本使閱讀更加方便。 層數(shù) "層數(shù)"關(guān)鍵字下的行應(yīng)包含一個表示文本中定義的層數(shù)的整數(shù)。 層 "層"關(guān)鍵字下的行包括 4 個數(shù)字:
本節(jié)中要添加的節(jié)數(shù)
層的厚度(微米)
折射率的實數(shù)部分
折射率的虛數(shù)部分。
這里的折射率是"背景材料折射率"。 節(jié) "節(jié)"關(guān)鍵字下的行包括4個數(shù)字:
該節(jié)的移位量
該節(jié)的寬度
折射率的實數(shù)部分
折射率的虛數(shù)部分
請注意,移位和寬度都沒有單位。它們表示與該光柵周期的比率。折射率是覆蓋背景材料折射率的"節(jié)折射率"。位移參數(shù)定義了相對于單個周期框左邊緣的中心位置。如圖30的例子中,位移量=0.5,寬度=0.5,它們定義了一個從0.25開始到0.75結(jié)束的節(jié)。 用戶自定義光柵數(shù)據(jù)的例子 圖30展示了一個由用戶自定義光柵文件定義的光柵,右側(cè)是數(shù)據(jù)文件,左側(cè)是光柵示意圖。在這個例子中,所有的層都只有一個節(jié),但是每一層可以包含0個或多個節(jié)。同時也請注意,同一層中包含兩種不同材料時,其中一種需要被定義為”背景材料參數(shù)“,另一種則被定為節(jié)參數(shù)。哪一個作為背景材料取決于用戶自身。

圖30. 用戶自定義光柵的一個例子。移位量相對于單個周期框的左邊緣。寬度以位移量所定義的位置為中心。 編輯用戶自定義光柵的工具 雖然用戶定義的光柵數(shù)據(jù)可以在文本編輯器(如記事本)中直接編輯,但也可以在可視化工具中進行編輯,如圖31所示。用戶需要設(shè)置一個帶有"srg_user_defined_RCWA.dll"DLL的虛擬系統(tǒng)來讀取此文本文件。可視化工具還可以讀取其他RCWA DLL定義的光柵數(shù)據(jù)。 當然,在編輯后,數(shù)據(jù)只能輸出為用戶自定義光柵數(shù)據(jù)。

圖31. 可視化工具可以讀取,編輯保存用戶自定義光柵數(shù)據(jù)。
審核編輯:郭婷
-
顯示器
+關(guān)注
關(guān)注
22文章
5146瀏覽量
144380 -
vr
+關(guān)注
關(guān)注
34文章
9694瀏覽量
157228 -
HMD
+關(guān)注
關(guān)注
0文章
100瀏覽量
22249
原文標題:ZEMAX軟件技術(shù)應(yīng)用專題:利用RCWA方法模擬表面浮雕光柵的衍射效率(下)
文章出處:【微信號:光電資訊,微信公眾號:光電資訊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
兩個RS485-Modbus主站如何通訊
曙光存儲連續(xù)斬獲兩個行業(yè)獎項
兩個模擬SPI,只有第二個正常,為什么?
一個硬件SPI兩個CS操作兩個norflash,怎么互斥操作兩個norflash?
基本半導體連獲兩個行業(yè)獎項
看到STM8L152用兩個IO用兩個或非門檢測兩個通斷,是什么原理呢?
VirtualLab:光柵的優(yōu)化與分析
PLC梯形圖程序的設(shè)計方法與技巧
VirtualLab 應(yīng)用:傾斜光柵的參數(shù)優(yōu)化及公差分析
JCMsuite中對二維光柵的定義和仿真
GLAD應(yīng)用:體全息光柵模擬
ADAU1787四個ADC、兩個DAC、帶音頻DSP的低功耗編解碼器技術(shù)手冊
兩個用來模擬梯形和階梯光柵的DLL
評論