Ansys Zemax | 如何使用 Zenike 系數(shù)對黑盒光學(xué)系統(tǒng)進行建模
通常需要在設(shè)計中表示光學(xué)系統(tǒng),即使您沒有詳細的處方數(shù)據(jù),如曲率半徑、眼鏡等。本文展示了如何使用 Zernike 系數(shù)來描述系統(tǒng)的波前像差,并在無法使用 Zemax 黑匣子表面文件的情況下生成光學(xué)系統(tǒng)的簡單但準確的表示。如果您依賴于使用光學(xué)系統(tǒng)測量的實驗數(shù)據(jù),但您無法獲得其處方數(shù)據(jù),則通常會出現(xiàn)這種情況。
下載
聯(lián)系工作人員獲取附件
介紹
有時需要表示光學(xué)子系統(tǒng),而不詳細了解其處方。對于一階計算,近軸透鏡就足夠了,但是當(dāng)也需要波前像差時,可以使用Zernike相位系數(shù)來提供光學(xué)系統(tǒng)產(chǎn)生的波前的精確模型。
OpticStudio支持全面的黑盒功能,建議用于此目的。但是,如果無法提供 Zemax 黑匣子文件,則可以使用以下過程。
澤尼克相位數(shù)據(jù)
如果您想在不透露處方數(shù)據(jù)的情況下將像差數(shù)據(jù)分發(fā)給客戶,則可以由 OpticStudio 生成這些 Zernike 相位系數(shù),或者如果您正在測量沒有處方數(shù)據(jù)的鏡頭,則可以通過干涉儀生成。根據(jù)您的干涉儀軟件,您可能已經(jīng)擁有OpticStudio Zernike格式的數(shù)據(jù),網(wǎng)格相位數(shù)據(jù)或.INT文件。OpticStudio可以處理所有這些,但在本文中,我們將僅使用Zernike數(shù)據(jù)。
Zernike相位數(shù)據(jù)表示光學(xué)系統(tǒng)在特定場和特定波長下性能的測量。因為有關(guān)玻璃、曲率半徑、非球面系數(shù)等的信息。不是 Zernike 數(shù)據(jù)的一部分,無法將 Zernike 數(shù)據(jù)縮放到不同的場或波長。因此,對于要模擬性能的每個(場、波長)對,您將需要一組 Zernike 相位數(shù)據(jù)。這些可以通過為每個(場,波長)組合提供一個單獨的文件或(更有可能)為每個(場,波長)對提供單獨的配置來輸入OpticStudio。
有一個重要的例外:當(dāng)被建模的系統(tǒng)是全反射系統(tǒng)時,可以使用Zernike標(biāo)準SAG表面來模擬給定場點的所有波長下的性能。下一期將詳細介紹此特殊情況。
起始設(shè)計
本文中使用的所有示例文件都包含在一個 zip 文件中,可以從本文頂部的鏈接下載該文件。我們將要看的第一個文件是“Cooke one field, one wavelength.zmx”,它基于 OpticStudio 分發(fā)的 Cooke 三元組示例文件。顧名思義,此文件基于單個(場,波長)對。

它的波前看起來像這樣:

它的光斑大小是這樣的:

現(xiàn)在,澤尼克系數(shù)是描述光學(xué)系統(tǒng)產(chǎn)生的波前誤差的緊湊方法。為了產(chǎn)生“黑匣子”模型,我們必須首先生成具有相同一階特性的近軸光學(xué)系統(tǒng),然后用Zernike數(shù)據(jù)像差該近軸系統(tǒng)產(chǎn)生的波前。
我們需要的關(guān)鍵近軸數(shù)據(jù)是出口瞳孔位置和出口瞳孔直徑。所有波前數(shù)據(jù)都是在出射瞳孔中測量的,因此我們的黑匣子系統(tǒng)必須具有相同的瞳孔數(shù)據(jù)。對于此文件,瞳孔數(shù)據(jù)如下所示:
出口瞳孔直徑 = 10.2337 mm
出口瞳孔位置 = -50.9613 mm
近軸當(dāng)量
打開文件“Paraxis Equivalent.zmx”。它模擬了相同的系統(tǒng),只有一個近軸透鏡表面:

請注意以下幾點:
·它使用與原始設(shè)計相同的場和波長。
·其入射瞳孔直徑設(shè)置為與原始系統(tǒng)的出射瞳孔直徑相同的值。在此文件中,入射瞳孔、停止曲面和出射瞳孔都位于同一位置。
·近軸透鏡的焦距和到圖像表面的厚度均設(shè)置為等于原始文件的-1*出瞳位置。-1因子是因為EXPP是從圖像到瞳孔測量的,但表面厚度是從瞳孔到圖像的距離,因此需要改變符號。
·系統(tǒng)具有與原始系統(tǒng)相同的一階屬性。
該系統(tǒng)的出瞳與原始系統(tǒng)的出瞳大小完全相同,位置相同。為了在近軸透鏡輸出上添加像差,我們在近軸透鏡之后使用Zernike標(biāo)準相位表面。我們的目標(biāo)是獲取原始透鏡的澤尼克系數(shù),并將它們添加到近軸等效透鏡的澤尼克表面上。

在鏡頭之間復(fù)制澤尼克數(shù)據(jù)
返回“Cooke One Field One Wavelength.zmx”文件,然后單擊“分析...波...澤尼克標(biāo)準系數(shù)”。OpticStudio計算系統(tǒng)的波前,然后擬合一系列Zernike多項式。

波前的采樣和Zernike項的數(shù)量都可以由用戶通過“設(shè)置”對話框定義。確定波前是否充分采樣或澤尼克項數(shù)量的關(guān)鍵參數(shù)是RMS擬合誤差和最大擬合誤差。此設(shè)計使用采樣和項數(shù)的默認參數(shù),可提供

這意味著,當(dāng)我們從從澤尼克系數(shù)重建的波前中減去真實的波前時,誤差是百萬分之一波的數(shù)量級。這已經(jīng)足夠接近了!但是,一般來說,您可能需要調(diào)整波前采樣和最大 Zernike 項才能達到可接受的擬合。
我們現(xiàn)在需要將澤尼克系數(shù)數(shù)據(jù)從這個設(shè)計轉(zhuǎn)移到近軸等效設(shè)計中。這可以通過打印出 Zernike 數(shù)據(jù)并重新鍵入來完成,但這很乏味。對于宏來說,這是一個很好的工作。
以下宏(也包含在文章附件中),稱為Zernike Readout.zpl,從此鏡頭獲取Zernike數(shù)據(jù),并將其以Tools...在額外數(shù)據(jù)編輯器上導(dǎo)入數(shù)據(jù)可以讀取。它經(jīng)歷的步驟如下:
首先,它定義了它需要的所有變量(L1-19)。
! This macro writes out the Zernike standard coefficients
! of a lens file in a format that can be directly imported
! into the Extra data Parameters of a Zernike Standard Phase surface
! First define the variables we need
! Enter whatever values are appropriate
! Use INPUT statements if you prefer
max_order = 37 # can be up to 231
sampling = 2 #sampling is 1 for 32x32, 2 for 64x64 etc
field = 1
wavelength = 1
zerntype = 1 # Get standard, not fringe or Annular coefficients
epsilon = 0 # only used for Annular Zernike coefficients
reference = 0 # reference to the chief ray
vector = 1 # use the built-in VEC1 array to store the data
output$ = "zernike.dat"
path$ = $PATHNAME() # save the data in the same location as the file we are using
file$ = path$ + "\" + output$
PRINT " Writing data to ", file$
(請注意,采樣和最大 Zernike 項應(yīng)設(shè)置為您用于上述 Zernike 分析的值。然后,宏獲取出口瞳孔直徑和 Zernike 數(shù)據(jù) (L21-27):
! Then get the Exit Pupil Diameter. Use VEC1 to store the data
GETSYSTEMDATA 1
EXPD = VEC1(13) # see the manual for the data structure
normalization_radius = EXPD/2
! Then get the Zernike coefficients up to the maximum required order
GETZERNIKE max_order, wavelength, field, sampling, vector, zerntype, epsilon, reference
請注意,澤尼克曲面的歸一化半徑是出口瞳孔直徑的一半。然后,宏將數(shù)據(jù)打印到 .DAT 文件的正確格式,以便 Zernike 標(biāo)準相表面讀取它 (L29-43):
! Then write them out to file in the format needed for the Import Tool
OUTPUT file$
FORMAT 1 INT
PRINT max_order
FOR order = 1, max_order, 1 z_term = order + 8 # offset to the correct location in the data structure, see manual! PRINT VEC1(z_term)
NEXT order
OUTPUT SCREEN
! End
PRINT "Program End"
END
Zernike 數(shù)據(jù)輸入到“Zernike 標(biāo)準相”曲面的“參數(shù)”列中,如下所示:

將此宏放入 {Zemax}/宏文件夾中,單擊編程...ZPL宏...刷新列表,以便宏顯示在菜單列表中,然后運行它。它將在與原始OpticStudio文件相同的文件夾中創(chuàng)建一個名為“zernike.dat”的文件。如果在記事本中打開此文件,您將看到:

此文件包含澤尼克標(biāo)準相表面所需的所有數(shù)據(jù)。第一個數(shù)字是 Zernike 項的數(shù)量,然后是歸一化半徑,然后是每個 Zernike 項。額外數(shù)據(jù)編輯器的導(dǎo)入工具可以直接讀取此文件。
返回到近軸等效透鏡文件。在 Surface 2 屬性的“導(dǎo)入”選項卡中瀏覽并打開 zernike.dat 文件:

?按“導(dǎo)入”按鈕,成功導(dǎo)入數(shù)據(jù)后將出現(xiàn)Zemax消息框:

波前錯誤現(xiàn)在顯示:

和點圖顯示

此文件生成與原始文件相同的光線追蹤結(jié)果!在隨附的zip中,文件“Zernike Equivalent.zmx”顯示了完成的系統(tǒng)。此外,文件“Direct Comparison.zmx”將同一文件的原始版本和Zernike版本顯示為兩種不同的配置。這允許在文件的兩個版本之間輕松進行比較。
