Ansys Zemax | 如何模擬自適應光學系統(tǒng)

附件下載

聯(lián)系工作人員獲取附件

概述

這篇文章介紹了如何在OpticStudio中使用多重結構創(chuàng)建反射式自適應光學系統(tǒng)。本文詳細介紹了:

1.如何通過縮放光闌鏡面的偏心來模擬一組鏡面陣列

2.如何使用公差功能生成隨機的波前差來模擬大氣不均勻性對成像的影響

3.如何補償該影響引入的像差以得到最優(yōu)的幾何和衍射點擴散函數(shù)

4.如何使用求解功能簡化系統(tǒng)的設置和調整參數(shù)的過程

介紹

在本文介紹的自適應反射光學系統(tǒng)中,反射拋物鏡由多個子反射鏡組成,其中每個子反射鏡可以調整自身的空間位置和旋轉方向來一定程度的矯正像差。特別是對于處在大氣環(huán)境中的望遠鏡系統(tǒng)來說,自適應系統(tǒng)可以有效的降低大氣層不均勻性引入的像差。OpticStudio可以在非序列或混合序列模式下模擬自適應反射光學系統(tǒng)。本文將展示如何在序列模式下使用多重結構對該系統(tǒng)進行建模。

下圖兩幅動畫展示了序列模式下自適應光學系統(tǒng)中反射元件的傾斜和偏心:


首先,我們需要在系統(tǒng)輸入波前上引入隨機的波前差來模擬大氣不均勻性對輸入光的影響。其次,我們需要調整每個反射元件的z軸位置以及繞元件中點的旋轉角度,使像面上的像差最小。在下圖給出的2x2報告圖 (2x2 Report Graphic) 中,左上圖描述了系統(tǒng)在輸入波前上引入的隨機像差,它是由蒙特卡洛算法自動生成的隨機波前差。其中,其它圖表動畫對比了不同輸入波前差的情況下,自適應光學系統(tǒng)矯正像差之前和之后的幾何PSF和衍射PSF分析結果。


前提假設和設計目標

對于本文示例系統(tǒng),我們作如下前提假設:

1.我們將只模擬望遠鏡的主鏡,即反射拋物面。不考慮望遠鏡系統(tǒng)中的其他元件,例如次級反射鏡等。這主要是為了減少示例的復雜度,但如果需要分析也可以快速添加。

2.每個子鏡面不會產(chǎn)生形變。這同樣是為了減少示例的復雜度,如需要也可快速添加。

3.拋物反射鏡面由19個子鏡組成,我們將在編輯器中手動輸入這些鏡面。如果需要模擬數(shù)量更加龐大的反射鏡組,可以使用ZPL宏來輔助系統(tǒng)建模。

4.每個子鏡面與中心子鏡面頂點的徑向距離設置為拾取求解,使每個子鏡與特定鏡面的空間位置相關聯(lián)。下圖動畫顯示了在編輯器中改變其中一個子鏡的位置時,其他子鏡位置的整體變化。

5.系統(tǒng)使用OpticStudio產(chǎn)生的隨機像差表示大氣不均勻性對輸入波前的影響。


以下為系統(tǒng)的部分設計指標:

1.鏡面的矢高形狀:拋物面(圓錐系數(shù)為-1)

2.鏡面的曲率半徑:-4000mm

3.對應焦距:-2000mm

4.子鏡的形狀:六邊形

5.子鏡的半徑:150mm


在設置這些參數(shù)前,您需要充分理解多重結構、光線瞄準和系統(tǒng)孔徑的概念。如果您對這些概念不太熟悉,請參考文章:Ansys Zemax | 如何設計單透鏡 第一部分:設置

系統(tǒng)的初始結構

首先進行如下系統(tǒng)設置:

1.設置系統(tǒng)單位為mm(系統(tǒng)設置 -> 單位)

2.設置系統(tǒng)波長為550μm(系統(tǒng)設置 -> 波長)

3.設置單一軸上視場X = 0, Y = 0(系統(tǒng)設置 -> 視場)

4.設置系統(tǒng)孔徑為光闌尺寸浮動 (Float by Stop Size) (系統(tǒng)設置 -> 孔徑)

5.開啟光線瞄準(系統(tǒng)設置 -> 光線瞄準)

我們將使用多重結構功能模擬整個反射鏡組,其中每個子鏡使用單獨一個結構建模。設置每個鏡面為光闌面,并且在該表面上設置六邊形的自定義孔徑 (User Defined Stop Surface, UDA)。每個子光闌的偏心通過拾取求解關聯(lián)在一起,并且使用光線瞄準功能使輸入光線瞄準偏心的子光闌中心。下圖動畫展示了通過對每個子鏡設置不同縮放比例的光纜位置拾取,來實現(xiàn)整個鏡面的設置。


我們將在反射鏡前設置一個玻璃平板,并在平板上使用公差操作數(shù)TEZI時使平板產(chǎn)生形變,來實現(xiàn)輸入波前引入像差。


系統(tǒng)設置

設置1

下圖展示了中心子鏡和其中一個偏心子鏡(X = 0, Y = +540)的位置關系。需要注意的是,偏心子鏡與中心子鏡的相對位置關系。另外子鏡的旋轉中心在本系統(tǒng)中永遠位于該表面的中心點。系統(tǒng)中設置有一塊虛擬的玻璃平板,其折射率為常數(shù)2并且放置在像面之前100mm處。這樣輸入波前將在發(fā)生反射前引入像差。


設置2(透鏡數(shù)據(jù)編輯器)

在將表面輸入到編輯器之前,我們需要先創(chuàng)建一個用戶自定義的六邊形孔徑,并將該孔徑以 “HEXAGON.UDA” 為名保存在Zemax根目錄下Objects文件夾中的Apertures文件夾中。

打開任意ASCII碼編輯器。使用UDA語句 “POL” 定義六邊形,其語法為:POL ?X中心 ?Y中心 ?半徑(中心到頂點) ?邊數(shù)(本例中為6) ?繞中心旋角(0°)


將該文本文件保存在相應文件夾下。有關UDA語法的更多信息請參考幫助系統(tǒng)“User Defined Apertures and Obscurations”標簽。首先,我們需要在透鏡數(shù)據(jù)編輯器里對中心子鏡進行建模:


將表面6設為系統(tǒng)的光闌面,并將該表面的表面類型設為不規(guī)則面 (Irregular),設置表面半徑為150mm。我們使用不規(guī)則面代替標準面是因為這樣可以直接使用表面的一個參數(shù)控制元件的偏心。在定義不規(guī)則面時,偏心的單位為透鏡單位,傾斜的單位為度,對于中心子鏡而言兩參數(shù)均為零。在不規(guī)則面中定義元件傾斜和偏心的原理與使用坐標間斷面定義的原理相同,但不規(guī)則面的傾斜和偏心在該光線完成該表面的光線追跡后自動復原。此段光線追跡的實際算法如下所示:

1.不規(guī)則面首先進行偏心,然后沿X軸傾斜再沿Y軸傾斜

2.系統(tǒng)在該表面上執(zhí)行光線追跡

3.首先沿Y軸復原傾斜再沿X軸復原傾斜,最后復原偏心

在鏡面表面6上定義自定義孔徑HEXAGON.UDA:


在表面5的厚度參數(shù)上設置位置求解來保證表面3和表面5之間的總距離總是2100mm。這將確保無論設置鏡片的偏心量為何值時,系統(tǒng)都會自動計算出正確的局部Z值。設置表面2的玻璃類型設為模型玻璃,并將折射率設為2,阿貝數(shù)及相對色散均設為0。這樣設置的原因在于該平板只是用來模擬隨機的相位分布:


在表面屬性中設置表面6鏡面的基底厚度為50mm。這只會影響鏡面在布局圖中的繪制厚度,對其它分析沒有任何影響。


設置3(透鏡數(shù)據(jù)編輯器)

本文在多重結構編輯器中使用表面4坐標間斷面的X方向和Y方向的偏心參數(shù)來移動光闌面位置。其中光闌面的偏心通過表面8坐標間斷面的拾取求解復原。表面4坐標間斷面沿X軸和Y軸的旋轉角同樣由表面8的拾取求解復原。需要注意的是,表面4不規(guī)則面設置的偏心需要與坐標間斷面的偏心量符號相反,這樣才能正確表示拋物面的離軸部分。


其中拾取求解的參數(shù)均設置為從表面4,縮放因子為-1。下圖所示以表面6的參數(shù)2為例:


設置4(多重結構編輯器)

設置多重結構編輯器來控制表面4坐標間斷面的XY傾斜和偏心(參數(shù)4/1到4/4)。同時,插入多重結構操作數(shù)THIC來控制表面3的厚度以確保離軸元件正確的Z軸距離。

當結構1的所有偏心和傾斜參數(shù)設置為0時,該結構表示中心子鏡。表面3的厚度設為2100mm,這是因為中心子鏡與虛擬玻璃平板的正確距離。

添加一個新的結構模擬第一塊離軸子鏡:


在結構2中模擬位于Y = 270mm,X = 0的離軸子鏡。該子鏡的中心距離虛擬平板玻璃的厚度可以通過在2100mm的基礎上減去基底拋物鏡在徑向距離為270mm處的矢高得到。本例中不規(guī)則面的矢高計算方法與計算標準球面矢高的方法相同,其中不規(guī)則面的參數(shù)為:圓錐系數(shù)為-1,曲率半徑為-4000mm以及徑向坐標為270mm??梢栽趦?yōu)化函數(shù)編輯器中使用優(yōu)化操作數(shù)SSAG直接讓OpticStudio計算出矢高值。


需要注意的是,此處的計算是針對結構2而言的,因此在計算操作數(shù)前需要添加CONF并設置結構為2。由于表面已經(jīng)進行了偏心,因此優(yōu)化操作數(shù)SSAG的參數(shù)X和Y設為0即可。其中,編輯器計算出Z軸距離2100mm - 9.113mm = 2090.887mm作為表面3的厚度需要手動輸入到透鏡編輯器中。

查看當前結構2的參數(shù)設置:


虛擬面5與表面4坐標間斷面重合。因此子鏡(非中心子鏡)的頂點與坐標間斷面的頂點在Z軸方向上相距9.113mm。也就是說,離軸拋物鏡的中點與基底拋物鏡的頂點及與之重合的表面4坐標間斷面的頂點在Z軸方向上相距9.113mm。

由于表面5和表面1為虛擬面,因此為了使布局圖正常顯示,我們需要在這兩個表面的表面屬性的繪圖選項卡中進行以下設置。


設置5(多重結構編輯器)

添加第三個結構:


從布局圖中我們可以看到,第三塊子鏡中點的Y方向坐標為270mm * sin(30 degree) = 270 * 0.5 mm,X方向坐標為210mm * cos(30 degree) = 270 * 0.866 mm。對于該結構下的參數(shù)1到4,我們使用拾取求解并將比例系數(shù)輸入到求解類型的縮放比例中。


重復這一步驟至結構7:


打開3D布局圖,并設置如下參數(shù):


插入結構8,該結構對應的子鏡中點位于X = 0, Y = 270mm * 2處。

此時表面3的多重結構操作數(shù)THIC計算結果為53.55mm。通過優(yōu)化操作數(shù)SSAG計算結構8的矢高。


插入結構9,多重結構操作數(shù)THIC的計算結果為62.094mm并且Y軸坐標為270mm * 1.5,X軸坐標為270mm * 0.866。


重復該步驟至結構19:


對于子鏡數(shù)量更龐大的系統(tǒng)來說,我們可以使用ZPL宏輔助生成所有結構并設置相應的拾取求解。打開3D布局圖,我們可以看到如下結構:


設置6(優(yōu)化函數(shù)編輯器)

在設置優(yōu)化函數(shù)之前,首先需要確認多重結構的拾取設置是否正確。打開優(yōu)化選下卡下的滑塊 (Slider) 功能,將結構2的參數(shù)1在270mm到350mm范圍內進行調整。點擊動畫 (Animate) 將在布局圖中看到如下動畫效果:


這說明系統(tǒng)中子鏡位置的拾取求解均正確設置。點擊停止 (Exit) 推出動畫效果。

現(xiàn)在需要考慮如何設置評價函數(shù),減小大氣散射引入的像差來降低幾何和衍射點擴散函數(shù)的尺寸。其中一種方法是使所有子鏡在像面上光斑的幾何質心位置與像面頂點重合。由于幾何點擴散函數(shù)的質心和衍射點擴散函數(shù)的質心相同,因此這個方法最終會得到最小的均方根點擴散函數(shù)尺寸。此外為了使優(yōu)化結果向正確的方向收斂,我們還需要限制每個子鏡主光線的光程盡可能一致。

打開優(yōu)化函數(shù)編輯器,利用優(yōu)化函數(shù)操作數(shù)CENX和CENY(質心位置)設置所有結構在像面上光斑質心的位置為0。使用優(yōu)化操作數(shù)PLEN提取所有結構主光線 (PX=0, PY=0) 的光程,并將它們限制為相同的值。對于子鏡數(shù)量龐大的系統(tǒng)來說,可以使用ZPL宏快速設置每個結構的優(yōu)化操作數(shù)。

每個結構下定義優(yōu)化操作數(shù)CENX, CENY, PLEN如下所示:


需要注意的是,此時優(yōu)化操作數(shù)PLEN上未設置任何權重。這是因為系統(tǒng)并不需要設置主光線的光程為一個絕對值,而需要設置它們的差值為零。此處可以使用一系列權重為0的優(yōu)化操作數(shù)OPVA提取每個結構的光程值,再使用權重為1的優(yōu)化操作數(shù)EQUA限制一定范圍內操作數(shù)相同。


設置7(公差數(shù)據(jù)編輯器)

使用OpticStudio中的公差功能對輸入波前引入隨機的波前差,并通過調整每個子鏡的Z軸位置和傾斜來補償這些像差。在公差函數(shù)編輯器中使用公差操作數(shù)TEZI在虛擬玻璃平板(表面3)上引入隨機的矢高差。同時,設置表面4坐標間斷面沿X軸的傾斜和沿Y軸的傾斜以及鏡面的位置作為優(yōu)化的補償器(變量)。

前文中使用了厚度求解來限制子鏡的位置。如果想要允許子鏡的位置作為優(yōu)化變量,則必須在多重結構操作數(shù)中取消該求解類型并定義子鏡的名義位置。在多重結構編輯器中的操作數(shù)THIC前插入一個空行,設置多重結構操作數(shù)THIC提取表面5的厚度。我們可以查看兩個厚度確保玻璃平板與子鏡在Z軸方向上的名義距離為2100mm。


打開公差數(shù)據(jù)編輯器,插入補償器操作數(shù)。為每個結構定義3個公差操作數(shù)CMCO分別表示X軸傾斜(多重結構第4行操作數(shù)),Y軸傾斜(多重結構第5行操作數(shù))和Z軸位置(多重結構第7行操作數(shù))。在定義補償器時,必須根據(jù)多重結構編輯器中的操作數(shù)位置對補償操作數(shù)進行分組(所有多重結構第4行操作數(shù)的補償器為一組,依此類推)。在公差數(shù)據(jù)編輯器的最后插入公差操作數(shù)TEZI來定義引入的波前差。此處使用標準澤尼克多項式的2到9項來定義半徑內波前的不規(guī)則度。其中均方根誤差設置為0.5μm。


運行公差分析,并設置如下參數(shù):


點擊確定后系統(tǒng)提示在公差分析前取消求解設置:


在公差分析結束后OpticStudio將打開公差報告文本窗口,并且在當前系統(tǒng)文件目錄下保存了5個蒙特卡洛文件。


系統(tǒng)分析

分析1

保存當前鏡頭文件,并打開任意一個蒙特卡洛文件。注意文件中表面3的表面類型變?yōu)榱藰藴蕽赡峥硕囗検矫?,這是由于原鏡頭文件中的公差操作數(shù)TEZI引入的不規(guī)則度誤差。并且多重結構編輯器中的所有結構的操作數(shù)4、操作數(shù)5和操作數(shù)7被設置為變量,這是因為原鏡頭文件中我們通過公差操作數(shù)CMCO設置這三個參數(shù)為補償器。其中變量均不為0,這是因為在公差分析過程中改變了這些變量以使優(yōu)化函數(shù)最小。


在透鏡數(shù)據(jù)編輯器中,表面3的附加數(shù)據(jù)中的歸一化半徑被設為800mm,這與表面3在透鏡數(shù)據(jù)編輯器中的半徑值相等。其中第2到9項澤尼克系數(shù)則是由公差操作數(shù)TEZI隨機生成的。


我們可以打開分析工具中的表面矢高圖 (Surface Sag),并設置如下參數(shù)來查看表面3的形狀分布。下圖動畫顯示每個蒙特卡洛文件的矢高分布。由于引入的矢高誤差是隨機產(chǎn)生的,因此在您的系統(tǒng)中矢高誤差分布可能看起來并不相同。


分析2

打開分析工具中的惠更斯PSF (Huygens PSF) 分析圖以及標準點列圖 (Standard Spot Diagram)。將分析參數(shù)設置如下,注意在窗口導航欄中選中所有結構:


我們可以首先查看優(yōu)化前的幾何和衍射點擴散函數(shù)。設置多重結構編輯器中所有傾斜參數(shù)為零并復原鏡面的位置:


更新分析窗口后我們將看到如下結果:


通過比較可以看出對每個子鏡的傾斜和Z軸位置的調整極大的減小了像面上的像差。我們可以新建一個2x2報告圖在同一窗口中查看所有分析結果。下圖展示了5個蒙特卡洛文件在未進行優(yōu)化時以及優(yōu)化后的對比分析結果:


小結

這篇文章介紹了在OpticStudio的序列模式下對反射式自適應光學系統(tǒng)進行建模。其中主要包括以下幾個要點:

1.每個子元件都建立在一個單獨的結構中

2.公差功能可以用來產(chǎn)生隨機的波前差

3.可以使用ZPL宏輔助完成元件數(shù)量龐大的系統(tǒng)建模

4.正確使用拾取求解可以減少系統(tǒng)建模的復雜性