Ansys Zemax | 公差的標準怎么計算的,如何確認計算細節(jié)?
簡介
Zemax OpticStudio在公差分析方面有完整的功能,過程也有清楚的數(shù)學說明,但與公差分析的目標相比 (最終要知道良率或敏感度),其執(zhí)行過程卻有龐大的細節(jié)。
這篇文章將整理幾個常用的確認細節(jié)的方法,不同的情境有不同的方法,共有以下主題:
1.當我們說 “計算標準標準” 時,Zemax OpticStudio做了什么
2.簡介標準標準種類
3.說明衍射MTF平均/子午/弧矢.的計算方式
4.使用 “SAVE” 公差操作數(shù)紀錄靈敏度靈敏度計算過程
5.利用蒙特卡羅蒙特卡羅存檔了解公差擾動如何被執(zhí)行
6.如何列出所有蒙特卡羅蒙特卡羅檔案的隨機數(shù)參數(shù)
當我們說 “計算標準” 時,OpticStudio做了什么

以下的敘述主要關(guān)乎標準的計算,不管我們是做靈敏度分析或是蒙特卡羅分析,都適用。
標準
首先我們要花一點時間說明標準本身,才說明優(yōu)化等其他動作。在公差分析時,我們所做的事情,就是重復擾動指定參數(shù) (例如組件偏心、傾斜),并計算在該條件下的 “標準” 是多少,并與原始設(shè)計或規(guī)格相比分析。
這個標準可以是易懂的物理參數(shù),例如某個視場 (Field)、某個波長下的光斑半徑或子午 MTF。也可以是多個相似的參數(shù)用某種方式平均,例如子午 MTF與弧矢 MTF的平均,或是多個視場下的MTF平均 (通常是RMS)。甚至標準可以是經(jīng)由復雜計算而來,不具實際物理意義。OpticStudio中有許多內(nèi)建的標準,也提供完整的自定義功能讓用戶設(shè)計自定義標準。 (請參考本文章下面的 “簡介標準種類” )
視場
另一個公差分析中常被混淆的觀念是視場 (Field)。當計算標準時,如果視場字段選用Y-對稱或XY-對稱,事實上OpticStudio并非讀取使用者的Field設(shè)定。而是先找出最大視場,然后乘以-1.0、-0.7、0.0、+0.7以及+1.0。若是Y-對稱,則共有Y方向的5個視場,若是XY-對稱,則包含XY方向共有9個視場。
這樣設(shè)計是因為一般來說加入公差后,系統(tǒng)經(jīng)常就不再是軸對稱了,因此正負視場都要考慮。如果使用者希望自己設(shè)定,只要在Field字段中選擇用戶自定義即可。
要注意的是,無論如何設(shè)定視場,由于標準只有一個,因此最后這些視場上的標準都會被平均成一個數(shù)值。若希望每個視場分開,表示你需要多個標準,這要用到公差腳本的功能。
補償器
如果有補償器的存在, “每次” 當OpticStudio要計算標準之前,都會先依指定變量以及評價函數(shù)優(yōu)化過一次系統(tǒng),然后才計算并輸出標準。換句話說,原本的流程是:
原始系統(tǒng) > 擾動參數(shù) (ex. 偏心、傾斜) > 計算標準
加入補償器后變成:
原始系統(tǒng) > 擾動參數(shù) (ex. 偏心、傾斜) > 優(yōu)化系統(tǒng) > 計算標準
為什么會有補償器呢?事實上大部分成像系統(tǒng)都會有一個天生的補償器,就是后焦距。舉例來說,如果一臺投影機的投影鏡頭中的一個鏡片的曲率有誤差,造成像距改變,進而影像模糊,我們就可以把投影機前后移動來做一定程度的補償。這時公差分析就應(yīng)該考慮補償器才不會對于系統(tǒng)公差分析太過悲觀。
注意上面的敘述隱含了一個很重要的觀念,那就是「現(xiàn)實世界中的補償器微調(diào),在OpticStudio中的實作其實就是優(yōu)化」。
補償器可以是任何參數(shù),但是必須能反應(yīng)現(xiàn)實世界中真正的操作。
有時候一些高級光學系統(tǒng)可能有多個補償過程,這時就會需要在不同時機點使用不同的變量以及評價函數(shù),OpticStudio透過公差腳本支持這種復雜的補償過程。
簡介標準種類

前面我們提過,OpticStudio有許多標準可用,大致可分為三類,并簡單介紹:系統(tǒng)內(nèi)建、評價函數(shù)、自定義腳本。這些標準最終都可對應(yīng)到一組評價函數(shù)評價函數(shù)的計算。
其中系統(tǒng)內(nèi)建中的RMS 光斑半徑/X向/Y向、RMS 角半徑/X向/Y向、RMS 波前計算方式與利用優(yōu)化向?qū)гO(shè)定出來的評價函數(shù)功能一樣,取樣方式使用高斯求積,采樣的設(shè)定代表徑向取樣數(shù)。
而MTF的部分,則是通過MTFA/T/S或GMTA/T/S這些操作數(shù)計算,如果有多個視場,就會在評價函數(shù)評價函數(shù)中加入所有視場,并經(jīng)過評價函數(shù)公式計算出評價函數(shù)評價函數(shù)值。但由于評價函數(shù)是計算 “差值” 的方均方根,因此最后的標準事實上是取(1 - 評價函數(shù)值)。這個部份請看下一個條目的說明。
標準的部分如果系統(tǒng)內(nèi)建默認的選項不足以滿足使用需求時,使用者可以考慮自行設(shè)計評價函數(shù),然后在標準的字段中選擇 “評價函數(shù)” 就可以了。
最后一個特殊選項就自定義腳本,可以讓使用者進行更復雜的標準計算過程,例如前面說過的復數(shù)補償器設(shè)定過程。
說明衍射 MTF 平均的計算方式
由于標準中MTF的計算方式是技術(shù)支持中最常見的問題,以下將說明其運作方式,這里用衍射 MTF說明,但是其他的MTF原則上是一樣的,只是操作數(shù)的不同 (MTFA/T/S或GMTA/T/S)。
以下用Cooke 40 degree field這個系統(tǒng)內(nèi)建范例說明,首先我們打開這個范例文件。
移除所有變量以及求解:

固定所有孔徑:

現(xiàn)在執(zhí)行公差分析,把標準字段設(shè)定如下,并點一下核對計算在現(xiàn)在的值:

可以看到目前的衍射MTF 平均值為0.40329094,這里我們利用文章下面敘述的蒙特卡羅存檔技巧,來了解這個公差是如何計算的。
打開存好的蒙特卡羅檔之后,我們檢視他的評價函數(shù),看到如下圖:

因為視場選擇是Y-對稱,如同前面的說明,共有5個視場。而在評價函數(shù)中共有5個MTFA,代表衍射 MTF 平均值,這次代表一個視場。而上面的評價函數(shù)值是0.596709053761491,可以發(fā)現(xiàn)前面的標準的計算正好就是1減評價函數(shù)值。
評價函數(shù)的計算如下:

V是評估(Value),W是權(quán)重(Weight),T是目標(Target)。
使用 “SAVE” 公差操作數(shù)紀錄靈敏度計算過程
在敏感度 (靈敏度) 分析時,OpticStudio會把每一個公差操作數(shù)的最大最小值代入,并且計算在這些公差的極限狀態(tài)下,標準的變化如何,然后回報在文字報告中。而當使用者對于這個結(jié)果有疑問時,會需要知道OpticStudio實際上是如何調(diào)整系統(tǒng),并得到這個結(jié)果的,此時便是用 “SAVE” 這個操作數(shù)的時候。
舉例來說,假設(shè)我們有如下的公差設(shè)定以及靈敏度分析結(jié)果:


可以看到當公差TRAD = -0.2時,標準 = 0.04967675
而TRAD = 0.2時,標準 = 0.04875308
假設(shè)我們想知道TRAD=0.2時的標準是如何計算的,我們可以在TRAD的下面加上一行SAVE指令,如下圖:

請注意在文件#(File#)字段代表檔案編號,如果有多個SAVE指令,則需要把編號分開。此外編號等于0的話,這個指令將不運作,不會存檔。
現(xiàn)在再執(zhí)行一次公差分析,文字報表的結(jié)果應(yīng)該相同,但是使用者可以發(fā)現(xiàn)在文件夾中多出兩個檔案,如下圖:

其中TSAV_MAX_0001代表TRAD=-0.2時的系統(tǒng)狀態(tài),而TSAV_MIN_0001代表TRAD=0.2時的系統(tǒng)狀態(tài)。
讓我們打開TSAV_MAX_0001這個檔案,并開啟評價函數(shù)編輯器,可以看到如下圖:

可以看出系統(tǒng)計算TRAD=0.2的標準時,是計算RMS 光斑半徑,參考點為質(zhì)心,使用GQ算法,取樣是4個環(huán)以及8個臂。這反應(yīng)到我們之前的標準以及采樣設(shè)定。
此外評價函數(shù)值為0.0487530834843748,與公差報告吻合。
利用蒙特卡羅存檔了解公差擾動如何被執(zhí)行
前面我們介紹如何把靈敏度計算時用到的系統(tǒng)設(shè)定儲存下來。而對于蒙特卡羅來說,則比較單純,使用者只需要在蒙特卡羅保存數(shù)字段中填入要儲存的檔案數(shù)量即可,如下圖:

有時候如果我們想要了解許多不同的公差同時被套用在系統(tǒng)中時的效果,則可以利用蒙特卡羅的這個存檔功能。
我以用Cooke 40 degree field這個系統(tǒng)內(nèi)建范例說明,首先我們打開這個范例文件,移除所有變量以及求解,然后把孔徑固定住,如同文章前面的范例一樣。
假設(shè)我們有如下的公差設(shè)定:


這里面包含了單透鏡兩邊球面之間的傾斜 (TIRX/Y)、兩兩組件之間的位移與傾斜 (TETX/Y、TEDX/Y)、球面曲率 (TRAD)、球面不規(guī)則 (TIRR) 以及空氣與玻璃厚度 (TTHI) 等公差。
注意我們把公差都設(shè)定為0。
接著我們執(zhí)行公差,執(zhí)行前設(shè)定蒙特卡羅 Runs以及蒙特卡羅保存數(shù) 都設(shè)為1,設(shè)定如下:



然后開啟產(chǎn)生出來的唯一個蒙特卡羅檔案。


可以看到組件位移的操作 (TETX/Y) 被解讀為CB,而表面不規(guī)則以及曲面之間的位移用不規(guī)則面來模擬,此外可以看到后焦距被設(shè)為變量,因為我們有設(shè)定這個補償器。
利用這樣的技巧,可以檢查一些我們認為可能有問題的蒙特卡羅檔案。