如何使用Zernike多項式模擬黑盒光學系統(tǒng)

概要

我們經(jīng)常需要在沒有曲率、材料等具體數(shù)據(jù)的前提下來進行光學系統(tǒng)建模。這篇文章講述了如何在OpticStudio黑盒文件無法使用的時候,使用澤尼克(Zernike)多項式作為替換方式,描述光學系統(tǒng)的波前像差并精確給出光學系統(tǒng)的成像結果。本文使用的附件請在以下鏈接下載:

http://customers.zemax.com/support/knowledgebase/Knowledgebase-Attachments/How-To-Model-a-Black-Box-Optical-System-Using-Zern/zernike.aspx

介紹

有時我們需要在不清楚光學系統(tǒng)細節(jié)參數(shù)的情況下進行建模。這種情況下我們通常使用近軸透鏡進行一階參數(shù)計算。但當需要考慮波前像差時,可以使用澤尼克多項式對系統(tǒng)波前進行精確建模。

針對這一應用,OpticStudio內(nèi)置有強大的黑盒功能。但是當黑盒文件不可用時(例如進行物理光學傳播分析),我們可以嘗試如下方法。

如果您想在不提供設計文件的情況下將像差數(shù)據(jù)發(fā)送給您的客戶,或使用干涉儀測量沒有結構參數(shù)的透鏡,您都可以使用OpticStudio中的澤尼克相位參數(shù)。根據(jù)干涉儀軟件的不同,測量數(shù)據(jù)可能為.INT文件以及網(wǎng)格相位數(shù)據(jù)等,OpticStudio支持全部這些數(shù)據(jù)格式,但在本文中我們只討論Zernike數(shù)據(jù)類型。

澤尼克相位數(shù)據(jù)可以表示光學系統(tǒng)在特定波長、特定視場下的成像質(zhì)量。由于光學材料、曲率半徑、非球面系數(shù)等并不包含在澤尼克數(shù)據(jù)中。因此無法通過對當前視場和波長下對數(shù)據(jù)進行縮放得到其他視場或波長的數(shù)據(jù)。因此,采用這種方法需要對光學系統(tǒng)的每個視場和波長都生成對應的澤尼克相位數(shù)據(jù)。這些數(shù)據(jù)文件可以單獨或統(tǒng)一輸入到OpticStudio中。

有一個很重要的特殊情況:當系統(tǒng)全部使用反射面進行建模時,則可以使用澤尼克標準面對特定視場下所有波長的成像結果進行建模。詳情請參考官網(wǎng)知識庫文章:

http://customers.zemax.com/os/resources/learn/knowledgebase/how-to-use-the-zernike-sag-surface-to-model-an-all

初始結構

首先我們以示例文件“Cooke one field, one wavelength.zmx”為例,該系統(tǒng)為庫克三片鏡結構。如文件名所述,該文件只包含一個視場和一個波長。

該系統(tǒng)波前圖如下所示:

點列圖如下所示:

澤尼克系數(shù)是一種非常方便的描述光學系統(tǒng)波前像差的方法。為了生成“黑盒”文件,我們首先要建立一個一階系統(tǒng)參數(shù)相同的近軸光學系統(tǒng),然后使用澤尼克數(shù)據(jù)在近軸系統(tǒng)中引入波前像差。

近軸數(shù)據(jù)的關鍵參數(shù)主要有出瞳位置和出瞳直徑。所有的波前像差數(shù)據(jù)都是在出瞳上測量的,因此我們的黑盒系統(tǒng)必須擁有相同的光瞳數(shù)據(jù)。對于這個文件,光瞳數(shù)據(jù)如下:

出瞳直徑 = 10.2337 mm

出瞳位置 = -50.9613 mm

近軸等效系統(tǒng)

打開文件“Paraxial Equivalent.zmx”。它使用近軸透鏡面型模擬了相同參數(shù)的系統(tǒng):

需要注意以下幾點:

近軸系統(tǒng)使用原系統(tǒng)相同的視場和波長

近軸系統(tǒng)的入瞳直徑與原系統(tǒng)的出瞳直徑數(shù)值相同。在近軸系統(tǒng)中,入瞳、光闌和出瞳位于同一面上。

近軸透鏡的焦距和到像面的距離設為原系統(tǒng)出瞳位置的-1倍。-1倍是因為出瞳位置是從像面到光瞳來計算的,但是表面厚度是從光瞳到像面計算的,因此我們需要變換符號。

近軸系統(tǒng)一階光學參數(shù)和原系統(tǒng)相同。

近軸系統(tǒng)的出瞳和原系統(tǒng)出瞳的位置和尺寸完全相同。為了將原系統(tǒng)的像差加載到近軸系統(tǒng)上,我們在近軸面后緊貼著插入澤尼克標準相位(Zernike Standard Phase)面。這樣做的目的在于我們可以提取原系統(tǒng)的澤尼克系數(shù)并加載在近軸系統(tǒng)的澤尼克標準相位面上。

復制澤尼克數(shù)據(jù)

回到”Cooke One Field One Wavelength.zmx”文件。點擊分析選項卡(Analysis)->波前圖(Wavefront)->澤尼克標準系數(shù)(Zernike Standard Coefficients)。OpticStudio將計算系統(tǒng)的波前,并匹配對應的澤尼克多項式。

波前的采樣率和澤尼克多項式的項數(shù)可以在參數(shù)設置菜單中設置。波前采樣和多項式系數(shù)的關鍵參數(shù)是RMS擬合誤差(RMS fit error)和最大擬合誤差(Maxium fit error)。在本例中使用默認采樣和多項式項數(shù)參數(shù)得到如下結果:

這表示當我們在澤尼克系數(shù)表示的波前上減去實際波前時,其殘留的誤差在百萬分之一個波前量級。這已經(jīng)非常接近了!然而在實際應用時您需要對波前采樣率和多項式系數(shù)進行調(diào)整以保證多項式較高的匹配度。

我們現(xiàn)在需要將澤尼克多項式系數(shù)轉移到近軸等效系統(tǒng)中。我們可以輸出澤尼克數(shù)據(jù)并將其輸入到近軸系統(tǒng)中,但這一過程非常繁瑣。我們可以使用宏來完成這一操作。

下面這個宏(包含于示例文件中)名為Zernike Readout.zpl,它可以提取系統(tǒng)的澤尼克數(shù)據(jù)并保存成.DAT格式的文件,該格式文件可以在近軸等效系統(tǒng)中的表面屬性(Surface Properties)->導入(Import)->導入數(shù)據(jù)文件(Import Data File)中導入。宏執(zhí)行該操作的過程如下所示:

首先定義所有需要的變量。

(需要注意的是,ZPL中設置的采樣率和最大澤尼克項數(shù)應該與您在澤尼克分析中設置的數(shù)據(jù)相同)隨后,宏會提取出瞳直徑和澤尼克數(shù)據(jù):

注意澤尼克表面的歸一化半徑表示出瞳直徑的一半。宏隨后將數(shù)據(jù)輸出為一個.DAT格式的文件以便澤尼克標準相位面讀取:

澤尼克數(shù)據(jù)將按如下定義方式,輸入到澤尼克標準相位面的附加數(shù)據(jù)欄中:

將這個宏文件保存在Zemax根目錄下的Macro文件夾中,點擊編程(Programming)選項卡->更新列表(Refresh list),這樣這個宏文件將出現(xiàn)在宏列表中。運行宏文件,它將在原Zemax文件的文件夾生成一個名為”Zernike.DAT”的.DAT格式文件。如果您使用記事本打開該文件,將顯示如下數(shù)據(jù):

這個文件包含了澤尼克標準相位面所需要的所有數(shù)據(jù)。第一行為澤尼克多項式的項數(shù),第二行為歸一化半徑,之后的數(shù)據(jù)為澤尼克系數(shù)。在澤尼克標準相位面的表面屬性中可以直接導入這個文件。

回到近軸近似系統(tǒng)中,打開澤尼克標準相位面的表面屬性,在導入欄的導入數(shù)據(jù)文件處選擇澤尼克數(shù)據(jù)文件:

導入后澤尼克標準相位面的附加數(shù)據(jù)應如下所示:

完成澤尼克數(shù)據(jù)輸入后,近軸系統(tǒng)的波前差應如下圖所示:

點列圖如下所示:

近軸系統(tǒng)的光線追跡結果與原系統(tǒng)的相同!

在示例文件中“Zernike Equivalent.zmx”展示了最終系統(tǒng)。在文件“Direct Comparison.zmx”中的不同結構下展示了原系統(tǒng)和近軸系統(tǒng)的對比,這幫助我們更方便的對比兩個系統(tǒng)。

總結

如果您想要建立光學系統(tǒng)的“黑盒”文件,將近軸透鏡面和澤尼克標準相位面結合在一起是一個非常準確的模擬方法。近軸透鏡定義了原系統(tǒng)的一階光學參數(shù),澤尼克面在近軸系統(tǒng)的基礎上添加了波前像差。

一個簡單的宏程序可以將原系統(tǒng)的澤尼克數(shù)據(jù)輸入到黑盒系統(tǒng)中。