雜散光分析範例 - 天文望遠鏡


雜散光分析範例 - 天文望遠鏡

Author
Message
Zemax_Taiwan
Zemax_Taiwan
Forum Member
Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)Forum Member (1K reputation)

Group: Administrators / Zemax Staff
Posts: 214, Visits: 2.4K
本文章介紹了:
· 如何在Zemax OpticStudio非序列模式中使用Filter String功能分析雜散光
· 應該使用哪一個Filter String以及如何使用
· 如何透過Filter String鎖定擁有特定屬性的光線
· 如何在Layout、探測器檢視器 (Detector Viewer) 以及光線數據檢視器 (Ray Database Viewer) 中使用Filter String
原文連結:How to Perform Stray Light Analysis
原文作者:Dan Hill
原文發布時間:September 12, 2005
附件資料:檔案下載

簡介
Zemax OpticStudio的非序列模式中光線追跡能力可以被進一步擴充到尋找擁有某些特性或屬性的光線上。舉例來說,想像我們正在研究望遠鏡的雜散光:
· 各個不同面上反射出來的鬼影光線有多明顯 (這同時包含機構件以及光學元件)?
· 經過多重反射的光線也許很重要,但那些反射超過四次的光線會有多明顯?
· 當有計畫的放置一個擋板以限制雜散光在探測器上的量時,其效果會有多好?
這些問題及其他類似的問題,在Zemax OpticStudio中可以用所謂的 “Filter Strings” 輕鬆完成。Filter String可以用來 “篩選” 每條光線,然後顯示在Layout、探測器 (Detector) 或是用於篩選儲存好的光線資料並產生分析報告。
必須強調的是,使用Filter String可以完整的評估光學機構間的雜散光。Zemax OpticStudio可以考慮光學件的部分反射、機構件的反射、光學元件以及機構的散射等。
Filter String的語法由各種旗標 (flags) 的邏輯操作構成,這些旗標代表了某一段的光線是否在非序列元件群組的特定物件上有擊中、錯過、反射、折射、散射、繞射或是鬼影反射的關係。使用者可以在幫助系統中的 “The filter string” 裡找到完整的Filter String語法列表。
在這篇文章中,我們將會示範filter string可以在哪裡輸入、filter string如何應用以及filter string如何用來分析擁有特定屬性的光線。為此,我們接下來將示範計算使用凱薩格林望遠鏡觀察遠方星星時, “月光” 進入影像區的光量。基本概念如下:大量的光線將會被追跡並且儲存於資料庫檔案。接著我們將深入資料庫系統 “挖掘” 以尋找有明確屬性的光線。


系統簡述以及初步光線追跡
想像我們正在滿月的天空下,透過望遠鏡觀察遠方的星星。某些來自月亮的光線,經由離軸的途徑 (這邊的 “軸” 定義是由遠方星星到望遠鏡筒之曲面頂點連線構成) ,到達望遠鏡的探測器平面 (即相機)。我們必須精確的知道月光到達探測器的量。
以上系統將使用附件純非序列Zemax檔案來模擬 (請在文章開頭下載)。
請注意:為了示範在Zemax OpticStudio中使用Filter Strings,我們假設使用者已經熟悉了在非序列模式中追跡光線,並於探測器檢視器 (Detector Viewer) 中察看結果的標準流程。如果你對於這些還不是那麼熟悉的話,請參考這邊文章:Creating a Basic Non-Sequential System。(英文連結)


在這個系統模型中,月亮用一個離軸的Source Ellipse光源來代表。月亮的光線使用準直光源近似,因此,來自月亮的光線 (在上圖中是綠色) 會互相平行。同樣的,被關注的物件 (object of interest) 也以一個軸上的準直Source Ellipse光源來模擬。如同傳統的Cassegrain望遠鏡設計,軸上的準直光線 (上圖中藍色的光線) 會在像面上聚焦為良好校正過的點。然而,部分的光線 (這同時包含了月亮以及星星的光線) 並不會照著預想的順序經過光學系統中的面,更糟的是,這些光線也同樣到達了像面的探測器。
現在請執行非序列光線追跡,執行前請勾選 “Use Polarization” 、 "Ignore Errors" 、 “Split Rays” 以及 “Save Rays” 。請隨意設定要儲存的光線檔名稱。請注意,要在光線資料檢視器 (Ray Database Viewer) 以及偵測器檢視器中使用Filter String篩選光線,必須在追跡前勾選存檔光線!目前,我們暫時在追跡光線時,把 “Filter” 欄位留空,因為我們可以在之後的分析中再套用Filter的設定。
http://forum.zemax.com/Uploads/Images/f481fb71-1569-46f0-80fd-d2e0.png

請注意 “Lost Energy” ,這個數值非常重要,代表了因閥值或是錯誤產生的能量損失,請謹慎的檢視這個數值,以確保系統計算的準確度。如果光線的能量低於追跡的最小閥值,光線將會被停止追跡,使用者可以用能量比例或是絕對值來定義最小能量閥值,設定的位置分別對應到 “System Explorer > Non-Sequential” 中的 “Minimum Relative Ray Intensity” 以及 “Minimum Absolute Ray Intensity” 兩個欄位。為了減少計算時間,我們現在將 “Minimum Relative Ray Intensity” 設為1.00E-007。在某些應用中,這個數字也許要更低,以降低因閥值造成的能量損失。

如何篩選錯誤的光線
因錯誤造成的能量損耗非常重要,使用者必須將錯誤造成的損失量盡可能縮小。造成錯誤的原因有非常多種,這些原因在下面文章中有詳細的解說:How To Locate Geometry Errors
如果系統回報錯誤損失的能量很可觀,這時有一個很通常很有用的方法是:詳細檢查光線傳播的路徑中是否有可能發生錯誤的地方。這可以藉由在光線資料檢視器 (Ray Database Viewer) 中使用Filter String來達到。光線資料檢視器可以在 “Ribbon工具列 > Analyze > Ray Database Viewer” 中找到。請在光線資料檢視器的設定對話框中的File欄位上點一下,打開下拉式選單,並選擇之前追跡時儲存下來的光線資料檔案,選擇完畢後,您就可以開始使用篩選光線功能。在Filter String中,輸入 “Z” 可以讓檢視器只考慮那些有重大錯誤的光線。要應用這個Filter String之前,請先勾選 “Apply Filter” ,然後在右方的欄位填入欲使用的Filter String。
篩選的功能可以只應用到光線資料儲存檔中的一小部分,這可以藉由適當設定 “First Ray” 以及 “Last Ray” 以完成。若是把 “Last Ray” 設為最初光線追跡時總光線數時,系統會考慮整個光線資料檔的內容。


在這個範例中,因錯誤產生的能量損失為零,這表示如果我們設定了上圖的 “錯誤filter: Z” ,沒有任何一條光線會被顯示在光線資料檢視器中。我們可以在儲存的光線資料檔上,套用任何單一或複合的filter;僅那些 “通過測試” 的光線會被顯示,並用在更有深度的分析。

來自月亮的雜散光
問題一:所以,到底有多少雜散光來自月亮,並且進入相機成像?
從探測器檢視器中,可以輕易地看到大部分的能量都集中在探測器的最中間。然而,即使用了對數值顯示,仍然很難辨識不在中間區域的那些光線之總能量。


為了決定與月光有關之能量的比例,我們首先把來自月亮的光線 “獨立” 出來。要達到這個目標,有兩種方法。第一種,我們可以設定光源物件1 (Source Object 1) 的 “#Analysis Rays” 為0並重新追跡。第二種,我們可以利用Filter String設定,讓檢視器只顯示那些由特定光源產生的光線。這裡我們為了示範Filter String的效果,使用後者。
Filter String在以下功能中都有被支援:3D Layout、探測器檢視器以及光線資料檢視器,最後一個我們前面已經見過了。使用者可以在這些功能中的設定對話框裡,找到 “Filter” 欄位並輸入Filter String。接下來我們將會使用這個範例示範更多功能。
請在探測器檢視器中,點選 “Ray Database” 下拉式選單,選擇之前存好的 .ZRD 光線資料檔。選好光線資料檔後, “Filter” 欄位將變為可以輸入的狀態。
使用 “On” Filter String,將可以篩選出從光源n發射的光線。因為我們想要只顯示從月亮發出的光線 (Source Object 2),因此我們設定 “O2”。請注意 “O” 是英文字母的O,不是數字的0。


Zemax OpticStudio也許會需要長短不一的時間來篩選光線,這取決於Filter String的複雜度以及光線資料的大小。完成之後,探測器檢視器將會顯示出篩選過的光線資料。
請注意探測器檢視器視窗的底部,這裡同時顯示了被選擇的光線資料檔以及使用的Filter String,使用者不需要重新打開設定對話框來確認目前使用的檔案以及Filter String狀態。


在這個範例中,從篩選過的探測器檢視器中,我們不再看到位於中間的 “亮點”,這個亮點無疑的是來自於星星 (光源1,也就是Source 1的光線)。
從目前的追跡結果中,我們可以看到大約有1.1783E-005瓦的月亮初始能量到達相機。但是,由於月亮比星星亮上許多,1E-005數量級的月光雜散光是不夠的,我們希望可以進一步降低,以達到更加的星星影像對比度。我們有許多的方法可以用來降低月亮的雜散光,然而,這個主題已經偏離了本文章,因此並不會在此討論:在這個文章中,我們將會集中在如何尋找雜散光。

這些月光的雜散光是否來自於月亮的特定區域?
設定了Filter String篩選之後,不只是分析多少月光進入探測器變的更容易,我們還可以應用篩選功能來辨認是否光線來自於月亮的特定 “區域”。
問題二:雜散光是否來自月亮特定區域?
如同您所猜測的,探測器物件11並不適合用來回答這個問題。然而,如同我們前面提及的,Filter String同樣可以應用到Layouts。讓我們在這個範例中打開NSC 3D Layout的設定對話框,並再一次在 “Ray Database” 下拉式選單中,選擇之前存好的 .ZRD檔。如果在Layout上顯示所有的光線資料將會變得太混亂而無法分析,因此我們接著要套用一個適當的Filter String。
必須要強調的是,Filter String可以單獨使用,也可以透過邏輯操作以組合混用多個Filter String。以下列出一些相對常用的邏輯操作,包含了: “&” (AND) 、 "|" (OR) 、 "^" (Exclusive OR) 以及 “!” (NOT) 。組合Filter String對於篩選擁有多種特定屬性的光線非常有用。
現在讓我們示範篩選 “從月亮發出” 並且 (AND) “到達相機” 的光線。請注意雖然在探測器檢視器中,我們不需要設定第二個條件,但是在Layout中需要,否則 “所有” 來自月亮的光線將會被顯示出來,無論這些光線是否有到達探測器。為了設第二個條件,我們使用 “Hn” ,這個旗標 (flag) 代表了要篩選擊中物件n的光線。
以下設定開始之前,請先將 "Auto Apply" 關閉,這是為了避免每做一個動作,系統都會馬上處理設定,造成設定緩慢。完成後,點擊 “OK” 按鈕後,系統即會開始運算。
http://forum.zemax.com/Uploads/Images/2827f82f-19e2-437a-b079-e3ac.gif

在這個範例中,篩選過光線的NSC 3D Layout並沒有真的指出光線來自月亮的哪個區域。如同預期的,在光源Source Ellipse的中央區域的光線並沒有到達探測器,因為他們被第二面鏡子以及其附近的檔板遮蔽了。經過篩選後的光線數仍然很大,因此難以在其中找到有意義的額外資訊。即使如此,這個方法在其他的設計中仍然可以是很有用的分析。


這些月光的雜散光是否來自於月亮的特定區域? Part II
我們沒有在Layout中很成功的分析光線是否來自於月亮特定區域,這裡我們提出另一個有用的方法:在計劃好的位置上放一個探測器Detector Rectangle。現在請在NSC編輯器中插入一個新的物件12,並選為Detector Rectangle,參數定義如下:
Y Position: 1.0
Z Position: -9.0
Tilt About X: 5.0
X Half Width: 6.1
Y Half Width: 6.1
# X Pixels: 50
# Y Pixels: 50
其他的參數保持不變。請注意這個Detector Rectangle被放置在月亮光源的正前方。這裡我們將再次使用Filter String功能,可以更加清楚的顯示出那些來自於月亮,並擊中探測器的光線的分佈。新的Detector Rectangle定義完成後,請打開新的探測器檢視器以檢視探測器物件12 (請記住,您必須在設定對話框中正確選擇要查看探測器結果)。
請執行光線追跡並存檔光線資料為新的名稱 (例如可以叫做 “Stray Light_Telescope_1A.ZRD”) ,我們可以在新的探測器上面看到光線分佈狀況。


因為目前沒有任何Filter String被應用,所以這個探測器上的照度分佈同時包含了兩個光源。再一次,我們只考慮 “來自於月亮” 並且 “到達探測器” 的光線。讓我們在探測器檢視器的設定中選擇物件12,並設定Filter String如下:


當資料篩選處理完畢並顯示時,我們可以輕易的觀察從月亮發射並到達探測器的這些光線分佈狀況。可以很明顯地看到,這些非預期的雜散光確實來自於月亮的特定區域。可以看到這些區域在探測器檢視器中被高亮顯示出來。這些資訊在決定要使用哪一種技術減低雜散光時會非常的有用。


評估來自第一個校正透鏡的反射
如同我們第一次執行光線追跡時所看到,有一個明顯的、旋轉對稱的 “環” 圍繞在中央光點的周圍。


有沒有可能這個環是來自於檔案中第一個校正透鏡 (物件3,此透鏡沒有任何鍍膜) 的多重反射呢?要確認這個問題,讓我們再一次使用Filter String的功能。

問題三:第一個校正透鏡上多重反射造成的雜散光對於相機的總能量的影響有多大呢?
旗標 “Gn” 代表了要篩選物件n上反射部分的鬼影光線片段 (segment)。這個旗標只選取那些在折射物件上分裂時,反射部分的光線片段。讓我們觀察這些從第一校正透鏡上反射的鬼影光線在相機上的分佈 (同時從星星以及月亮)。




形成這個 “環” 的光線無疑地,就是來自於校正透鏡反射產生的鬼影,比例為探測器總能量的5.780E-006,不大,但可被偵測。想要降低這個不希望出現的 明顯圖樣,我們可以在校正透鏡上面鍍上一層抗反射鍍層 (AR coating)。

評估來自第一個校正透鏡的反射 Part II
請打開物件3的物件屬性對話框,並同時給校正透鏡的正面與背面設定一個抗反射鍍層。這是一個單層的MgF2鍍層,厚度是根據目前的主波長來優化。


當鍍層被應用後,請重新執行非序列光線追跡,並且把結果存檔為另一個名稱。
http://forum.zemax.com/Uploads/Images/0dbcb342-bf5c-438b-a6c5-9ddf.png

追跡完成後,請在探測器檢視器上選擇新的 .ZRD 檔並且使用同樣的鬼影篩選條件:G3。藉由在校正透鏡上面鍍膜,我們顯著的消除了造成 “環” 的光線,並把總 “鬼影” 能量降低了一個數量級。


總結與參考資料
通常在評估設計時,分析特定屬性的光線可以讓過程方便很多,並且能迅速的做出必要的調整來改進效能。Filter String在Zemax OpticStudio中是一個方便的工具,允許設定一個 “測試” 標準來分類光線,然後才應用到繪圖或是顯示功能上。
Filter String可以被用來執行雜散光的完整光機評估,能同時考慮光學元件以及機構件的反射、散射以及膜層等。
Filter String可以在下列地方設定:光線追跡視窗 (Ray Trace Control) 、Layout、探測器檢視器 (Detector Viewer) 以及光線資料檢視器 (Ray Database Viewer) 等。這裡面每一個分析工具,加上Filter String功能,將可以用各種不同的方式來分類各種特殊屬性的光線。Zemax OpticStudio中內建了許多Filter String旗標,再加上使用各種邏輯操作,讓使用者擁有無限的可能性。

參考文獻
Zemax Optical Design Program User's Guide, Zemax Development Corporation

GO


Similar Topics


Login
Existing Account
Email Address:


Password:


Select a Forum....



































Zemax Users Forum


Search