Ansys Zemax | 公差的標準怎么計算的,如何確認計算細節?

簡介

Zemax OpticStudio在公差分析方面有完整的功能,過程也有清楚的數學說明,但與公差分析的目標相比 (最終要知道良率或敏感度),其執行過程卻有龐大的細節。

這篇文章將整理幾個常用的確認細節的方法,不同的情境有不同的方法,共有以下主題:

  • 當我們說 “計算標準標準” 時,Zemax OpticStudio做了什么
  • 簡介標準標準種類
  • 說明衍射MTF平均/子午/弧矢.的計算方式
  • 使用 “SAVE” 公差操作數紀錄靈敏度靈敏度計算過程
  • 利用蒙特卡羅蒙特卡羅存檔了解公差擾動如何被執行
  • 如何列出所有蒙特卡羅蒙特卡羅檔案的隨機數參數

當我們說 “計算標準” 時,OpticStudio做了什么

圖片


以下的敘述主要關乎標準的計算,不管我們是做靈敏度分析或是蒙特卡羅分析,都適用。

標準

首先我們要花一點時間說明標準本身,才說明優化等其他動作。在公差分析時,我們所做的事情,就是重復擾動指定參數 (例如組件偏心、傾斜),并計算在該條件下的 “標準” 是多少,并與原始設計或規格相比分析。

這個標準可以是易懂的物理參數,例如某個視場 (Field)、某個波長下的光斑半徑或子午 MTF。也可以是多個相似的參數用某種方式平均,例如子午 MTF與弧矢 MTF的平均,或是多個視場下的MTF平均 (通常是RMS)。甚至標準可以是經由復雜計算而來,不具實際物理意義。OpticStudio中有許多內建的標準,也提供完整的自定義功能讓用戶設計自定義標準。 (請參考本文章下面的 “簡介標準種類” )

視場

另一個公差分析中常被混淆的觀念是視場 (Field)。當計算標準時,如果視場字段選用Y-對稱或XY-對稱,事實上OpticStudio并非讀取使用者的Field設定。而是先找出最大視場,然后乘以-1.0、-0.7、0.0、+0.7以及+1.0。若是Y-對稱,則共有Y方向的5個視場,若是XY-對稱,則包含XY方向共有9個視場。

這樣設計是因為一般來說加入公差后,系統經常就不再是軸對稱了,因此正負視場都要考慮。如果使用者希望自己設定,只要在Field字段中選擇用戶自定義即可。

要注意的是,無論如何設定視場,由于標準只有一個,因此最后這些視場上的標準都會被平均成一個數值。若希望每個視場分開,表示你需要多個標準,這要用到公差腳本的功能。

補償器

如果有補償器的存在, “每次” 當OpticStudio要計算標準之前,都會先依指定變量以及評價函數優化過一次系統,然后才計算并輸出標準。換句話說,原本的流程是:

原始系統 > 擾動參數 (ex. 偏心、傾斜) > 計算標準

加入補償器后變成:

原始系統 > 擾動參數 (ex. 偏心、傾斜) > 優化系統 > 計算標準

為什么會有補償器呢?事實上大部分成像系統都會有一個天生的補償器,就是后焦距。舉例來說,如果一臺投影機的投影鏡頭中的一個鏡片的曲率有誤差,造成像距改變,進而影像模糊,我們就可以把投影機前后移動來做一定程度的補償。這時公差分析就應該考慮補償器才不會對于系統公差分析太過悲觀。

注意上面的敘述隱含了一個很重要的觀念,那就是「現實世界中的補償器微調,在OpticStudio中的實作其實就是優化」。

補償器可以是任何參數,但是必須能反應現實世界中真正的操作。

有時候一些高級光學系統可能有多個補償過程,這時就會需要在不同時機點使用不同的變量以及評價函數,OpticStudio透過公差腳本支持這種復雜的補償過程。

簡介標準種類

圖片

前面我們提過,OpticStudio有許多標準可用,大致可分為三類,并簡單介紹:系統內建、評價函數、自定義腳本。這些標準最終都可對應到一組評價函數評價函數的計算。

其中系統內建中的RMS 光斑半徑/X向/Y向、RMS 角半徑/X向/Y向、RMS 波前計算方式與利用優化向導設定出來的評價函數功能一樣,取樣方式使用高斯求積,采樣的設定代表徑向取樣數。

而MTF的部分,則是通過MTFA/T/S或GMTA/T/S這些操作數計算,如果有多個視場,就會在評價函數評價函數中加入所有視場,并經過評價函數公式計算出評價函數評價函數值。但由于評價函數是計算 “差值” 的方均方根,因此最后的標準事實上是取(1 - 評價函數值)。這個部份請看下一個條目的說明。

標準的部分如果系統內建默認的選項不足以滿足使用需求時,使用者可以考慮自行設計評價函數,然后在標準的字段中選擇 “評價函數” 就可以了。

最后一個特殊選項就自定義腳本,可以讓使用者進行更復雜的標準計算過程,例如前面說過的復數補償器設定過程。

說明衍射 MTF 平均的計算方式

由于標準中MTF的計算方式是技術支持中最常見的問題,以下將說明其運作方式,這里用衍射 MTF說明,但是其他的MTF原則上是一樣的,只是操作數的不同 (MTFA/T/S或GMTA/T/S)。

以下用Cooke 40 degree field這個系統內建范例說明,首先我們打開這個范例文件。

移除所有變量以及求解:

圖片

固定所有孔徑:

圖片

現在執行公差分析,把標準字段設定如下,并點一下核對計算在現在的值:

圖片

可以看到目前的衍射MTF 平均值為0.40329094,這里我們利用文章下面敘述的蒙特卡羅存檔技巧,來了解這個公差是如何計算的。

打開存好的蒙特卡羅檔之后,我們檢視他的評價函數,看到如下圖:

圖片

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

評價函數的計算如下:

圖片

V是評估(Value),W是權重(Weight),T是目標(Target)。

使用 “SAVE” 公差操作數紀錄靈敏度計算過程

在敏感度 (靈敏度) 分析時,OpticStudio會把每一個公差操作數的最大最小值代入,并且計算在這些公差的極限狀態下,標準的變化如何,然后回報在文字報告中。而當使用者對于這個結果有疑問時,會需要知道OpticStudio實際上是如何調整系統,并得到這個結果的,此時便是用 “SAVE” 這個操作數的時候。

舉例來說,假設我們有如下的公差設定以及靈敏度分析結果:

圖片

圖片

可以看到當公差TRAD = -0.2時,標準 = 0.04967675

而TRAD = 0.2時,標準 = 0.04875308

假設我們想知道TRAD=0.2時的標準是如何計算的,我們可以在TRAD的下面加上一行SAVE指令,如下圖:

圖片

請注意在文件#(File#)字段代表檔案編號,如果有多個SAVE指令,則需要把編號分開。此外編號等于0的話,這個指令將不運作,不會存檔。

現在再執行一次公差分析,文字報表的結果應該相同,但是使用者可以發現在文件夾中多出兩個檔案,如下圖:

圖片

其中TSAV_MAX_0001代表TRAD=-0.2時的系統狀態,而TSAV_MIN_0001代表TRAD=0.2時的系統狀態。

讓我們打開TSAV_MAX_0001這個檔案,并開啟評價函數編輯器,可以看到如下圖:

圖片

可以看出系統計算TRAD=0.2的標準時,是計算RMS 光斑半徑,參考點為質心,使用GQ算法,取樣是4個環以及8個臂。這反應到我們之前的標準以及采樣設定。

此外評價函數值為0.0487530834843748,與公差報告吻合。

利用蒙特卡羅存檔了解公差擾動如何被執行

前面我們介紹如何把靈敏度計算時用到的系統設定儲存下來。而對于蒙特卡羅來說,則比較單純,使用者只需要在蒙特卡羅保存數字段中填入要儲存的檔案數量即可,如下圖:

圖片

有時候如果我們想要了解許多不同的公差同時被套用在系統中時的效果,則可以利用蒙特卡羅的這個存檔功能。

我以用Cooke 40 degree field這個系統內建范例說明,首先我們打開這個范例文件,移除所有變量以及求解,然后把孔徑固定住,如同文章前面的范例一樣。

假設我們有如下的公差設定:

圖片

圖片

這里面包含了單透鏡兩邊球面之間的傾斜 (TIRX/Y)、兩兩組件之間的位移與傾斜 (TETX/Y、TEDX/Y)、球面曲率 (TRAD)、球面不規則 (TIRR) 以及空氣與玻璃厚度 (TTHI) 等公差。

注意我們把公差都設定為0。

接著我們執行公差,執行前設定蒙特卡羅 Runs以及蒙特卡羅保存數 都設為1,設定如下:

圖片

圖片

圖片

然后開啟產生出來的唯一個蒙特卡羅檔案。

圖片

圖片

可以看到組件位移的操作 (TETX/Y) 被解讀為CB,而表面不規則以及曲面之間的位移用不規則面來模擬,此外可以看到后焦距被設為變量,因為我們有設定這個補償器。

利用這樣的技巧,可以檢查一些我們認為可能有問題的蒙特卡羅檔案。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP