ZEMAX | 如何優(yōu)化非序列光學(xué)系統(tǒng)

本文提出 了一種優(yōu)化非序列光學(xué)系統(tǒng)的方法。 推薦的方法是使用像素插值(Pixel Interpolation)、探測(cè)器數(shù)據(jù)合集(光照時(shí)刻數(shù)據(jù))和正交下降優(yōu)化器。 例如,優(yōu)化一個(gè)自由曲面反射鏡,使 LED 的亮度從23 Cd 到大于250 Cd只需幾步。 (聯(lián)系我們獲取文章附件)

簡(jiǎn)介

OpticStudio 的優(yōu)化功能允許用戶通過(guò)將系統(tǒng)參數(shù)設(shè)為變量,在評(píng)價(jià)函數(shù)編輯器中定義性能標(biāo)準(zhǔn)來(lái)改進(jìn)設(shè)計(jì)。這個(gè)過(guò)程會(huì)對(duì)設(shè)計(jì)產(chǎn)生巨大的影響,所以選擇合適的變量和標(biāo)準(zhǔn)非常重要。序列模式和非序列模式中可用的標(biāo)準(zhǔn)類型有所不同。本文為非序列系統(tǒng)的優(yōu)化提供了一種建議方式。

例如,通過(guò)優(yōu)化自由曲面反射鏡,最大限度地將 LED 的亮度從23 Cd 提高到大于250 Cd,只需幾分鐘。

阻尼最小二乘法與正交下降法對(duì)比

OpticStudio 中有兩種局部?jī)?yōu)化算法 :阻尼最小二乘法(DLS)和 正交下降法(OD)。DLS 運(yùn)用數(shù)值微分計(jì)算,在一個(gè)較小的評(píng)價(jià)函數(shù)設(shè)計(jì)的解空間里確定優(yōu)化方向。這種梯度方法是為光學(xué)系統(tǒng)設(shè)計(jì)專門(mén)開(kāi)發(fā)的,被推薦用于所有成像和經(jīng)典光學(xué)優(yōu)化問(wèn)題。然而,在純非序列系統(tǒng)優(yōu)化中,由于采用像素探測(cè)器進(jìn)行探測(cè),DLS 的優(yōu)化效果較差。并且評(píng)價(jià)函數(shù)本身是不連續(xù)的,這也可能導(dǎo)致梯度搜尋方法失敗。

下面是當(dāng)評(píng)價(jià)函數(shù)只有一個(gè)變量時(shí),對(duì)非序列系統(tǒng)的評(píng)價(jià)函數(shù)進(jìn)行查看。


可以看出,很長(zhǎng)一段區(qū)間內(nèi)評(píng)價(jià)函數(shù)根本沒(méi)有變化,發(fā)生的變化是突然且不連續(xù)的。這使得通過(guò)梯度搜尋方法進(jìn)行優(yōu)化變得困難。

正交下降優(yōu)化利用變量的正交化和解空間的離散采樣來(lái)降低評(píng)價(jià)函數(shù)值。OD 算法不計(jì)算評(píng)價(jià)函數(shù)的數(shù)值微分。對(duì)于評(píng)價(jià)函數(shù)存在原本噪聲的系統(tǒng)而言,例如非序列系統(tǒng),OD 通常比 DLS 算法要好。它在照度最大化、亮度增強(qiáng)和均勻性優(yōu)化等優(yōu)化問(wèn)題中非常有用。

像素插值和非相干強(qiáng)度數(shù)據(jù)(NSDD)

除了使用的特定算法外,OpticStudio 中還有幾個(gè)能夠顯著提升非序列系統(tǒng)優(yōu)化效率的功能。

如上所述,由于探測(cè)器的像素特性,非序列的解空間往往是不連續(xù)的。如果一條給定光線中的能量只分配給一個(gè)像素,那么當(dāng)系統(tǒng)更改導(dǎo)致光線在該像素內(nèi)的任何位置移動(dòng)時(shí),就沒(méi)有數(shù)量上的差異。因此,當(dāng)一條光線跨越邊界進(jìn)入一個(gè)新的像素時(shí)就需要對(duì)不連續(xù)的評(píng)價(jià)函數(shù)求微分,優(yōu)化非常困難。

這可以通過(guò)觀察入射到探測(cè)器上的一條光線來(lái)說(shuō)明。下面的通用繪圖顯示了探測(cè)器上的輻照度質(zhì)心如何隨著光線位置的變化而變化。


避免由像素探測(cè)器引起的量化效應(yīng)的一種方法是使用像素插值。不是將100%的光線能量分配給單個(gè)被擊中的像素,而是根據(jù)光線在像素內(nèi)的截距位置將一部分能量分配給相鄰像素。因此,當(dāng)系統(tǒng)變化導(dǎo)致光線在像素上移動(dòng)時(shí),評(píng)價(jià)函數(shù)會(huì)發(fā)生明顯的變化??梢栽谔綔y(cè)器的 物體屬性( Object Properties )> 類型(Type )中啟用像素插值。


如果我們?cè)趩⒂昧讼袼夭逯档奶綔y(cè)器上掃描一條光線,會(huì)發(fā)現(xiàn)輻照度質(zhì)心,以及大多數(shù)標(biāo)準(zhǔn)值的變化都會(huì)是連續(xù)的,并且可以很容易地使用 DLS。


可以利用優(yōu)化操作數(shù) NSDD 計(jì)算評(píng)價(jià)函數(shù)中所述的輻照度質(zhì)心。NSDD 代表非序列非相干強(qiáng)度數(shù)據(jù),是讀取非相干探測(cè)器數(shù)據(jù)最有效的操作數(shù)。NSDC 等效于相干計(jì)算。NSDD 操作數(shù)的語(yǔ)法如下:

NSDD Surf Det# Pix# Data #Ignored
Surf 定義非序列組的面序號(hào)(在純非序列模式中為1);
Det# 定義所需的探測(cè)器的編號(hào)(也可以用于清除一個(gè)或所有探測(cè)器數(shù)據(jù));
Pix# 定義要返回的指定像素上的數(shù)值,Data 定義是否返回入射通量、輻照度或強(qiáng)度數(shù)據(jù);
#Ignored 定義要忽略的邊緣像素?cái)?shù)量。

這些參數(shù)允許優(yōu)化許多標(biāo)準(zhǔn)值:最小光斑大?。ㄗ钚【礁臻g寬度)、最大能量(總光通量)、空間均勻性(所有像素的標(biāo)準(zhǔn)差)、準(zhǔn)直度(最小均方根角寬度)等等。有關(guān) NSDD 功能的詳細(xì)描述,請(qǐng)參見(jiàn) OpticStudio 幫助文件部分: 優(yōu)化選項(xiàng)卡( The Optimize Tab )(序列模式界面)> 自動(dòng)優(yōu)化組( Automatic Optimization Group )> 評(píng)價(jià)函數(shù)編輯器(Merit Function Editor )(自動(dòng)優(yōu)化組)> 按類別優(yōu)化操作數(shù)( Optimization Operands by Category )> 非序列光線追跡和探測(cè)器操作數(shù)(Non-Sequential Ray Tracing and Detector Operands )。

系統(tǒng)設(shè)置

發(fā)光二極管 (LEDs) 是應(yīng)用廣泛的重要光源。在汽車照明和顯示照明等領(lǐng)域,經(jīng)常需要通過(guò)添加輔助光學(xué)元件來(lái)改變 LED 光源的發(fā)光強(qiáng)度,從而提高 LED 的亮度。

我們將從實(shí)際 LED 光源的測(cè)量數(shù)據(jù)開(kāi)始。現(xiàn)在,我們所需要知道的是,徑向光源(Source Radial)被用來(lái)輸入測(cè)量到的功率,作為角度的函數(shù)。測(cè)量到的單色光源總輸出功率為27 lm,峰值波長(zhǎng)為627 nm。光源采用 Sobol 采樣 ,用最少的光線獲得最佳信噪比。

在 系統(tǒng)資源管理器( System Explorer )下,我們將系統(tǒng) 單位( Units )設(shè)置如下:


LED 的光通量是以流明為單位來(lái)測(cè)量的,所以我們選擇該單位進(jìn)行模擬。因此光照度單位為lm/m 2或 Lux。發(fā)光強(qiáng)度(“亮度”)是用 lm/sr(流明/立體角)或 Cd(坎德拉)來(lái)計(jì)量的。亮度用 lm/m 2/sr或Cd/m 2 來(lái)計(jì)量,有時(shí)也稱為 nit(尼特)。系統(tǒng)初始設(shè)置如下:


LED 光源將光線射向一面平面鏡,然后照亮探測(cè)器表面。這個(gè)文件可以從本文頂部的示例文件鏈接處下載??梢钥吹教綔y(cè)器上的空間分布和角度分布如下圖:


從圖中可以看出,由于 LED 發(fā)出的光線在反射鏡上有輕微的溢出,所以空間分布和角度分布略有不對(duì)稱。這是為了給設(shè)計(jì)增加一點(diǎn)復(fù)雜性而有意為之。

從發(fā)光強(qiáng)度圖中可以看出,41 Cd左右的峰值亮度發(fā)生在極角為27°左右時(shí)。近似垂直于探測(cè)器表面的光線只有23 Cd 的發(fā)光強(qiáng)度(將在下面討論如何得到這個(gè)數(shù)字)。這樣的輪廓對(duì)于車前燈照明系統(tǒng)或投影機(jī)照明系統(tǒng)來(lái)說(shuō)并不好。一般情況下,我們希望低角度時(shí)的光亮度盡可能高,這樣光源就可以投射到遠(yuǎn)處。

現(xiàn)在,我們將優(yōu)化反射鏡的形狀,使軸上的亮度最高。為此,我們必須執(zhí)行以下步驟:

1 定義一個(gè)可表達(dá)我們想要達(dá)到的目標(biāo)的評(píng)價(jià)函數(shù)。
2 定義反射鏡表面將如何變化。
3 運(yùn)行優(yōu)化。

評(píng)價(jià)函數(shù)

根據(jù)設(shè)計(jì)是否能很好地滿足其指定的工作性能,使用評(píng)價(jià)函數(shù)來(lái)定義光學(xué)設(shè)計(jì)的“質(zhì)量”。在這種情況下,我們想要在零度角下得到最大的光亮度(發(fā)光強(qiáng)度),這可以通過(guò)操作數(shù) NSDD 和 NSTR 很容易地實(shí)現(xiàn)。在本設(shè)計(jì)中,探測(cè)器為物體 3,我們想要得到在0°下的發(fā)光強(qiáng)度。 探測(cè)器查看器 ( Detector Viewer )如下所示。


這張圖顯示了光線從 x 和 y 軸的-90°到+90°入射到探測(cè)器上光線的角度范圍。沒(méi)有光線的角度超過(guò)35°,因?yàn)?LED 沒(méi)有超過(guò)這個(gè)角度發(fā)射。峰值強(qiáng)度出現(xiàn)在27°左右。我們感興趣的是接近0°的光功率。針對(duì)這樣的分布有兩個(gè)標(biāo)準(zhǔn) :RMS 角寬度和質(zhì)心發(fā)光強(qiáng)度。設(shè)置 RMS 角寬度是要獲得準(zhǔn)直光線(即具有相同入射角的光線),質(zhì)心目標(biāo)是使入射角為零。下面的評(píng)價(jià)函數(shù)可看到這個(gè)角度下的發(fā)光強(qiáng)度。


第一個(gè) NSDD 操作數(shù)讀取探測(cè)器物體0,該物體不存在;沒(méi)有物體0可以存在。這是此操作數(shù)的一個(gè)特殊用法: 在 OpticStudio 中用于清除所有探測(cè)器。另外,可以通過(guò)定義一個(gè)負(fù)數(shù)(例如:Det# = -3,只清除探測(cè)器3)來(lái)清除單一探測(cè)器。這在定義了多個(gè)探測(cè)器的系統(tǒng)中非常有用。

接下來(lái),操作數(shù) NSTR 告訴 OpticStudio 去完成光線追跡。第二和第三個(gè)操作數(shù) NSDD 讀出探測(cè)器物體3,質(zhì)心 x 和 y (Pix# = -6, -7),數(shù)據(jù)項(xiàng)2,即功率/單位立體角。注意,我們的目標(biāo)是質(zhì)心發(fā)光強(qiáng)度(角度),而不是質(zhì)心照度(空間)。第四個(gè)操作數(shù) NSDD 讀取所有像素?cái)?shù)據(jù)的 RMS 角寬度。此外,最后一個(gè)操作數(shù) NSDD 讀取了中心像素(5101)的強(qiáng)度,以便進(jìn)行比較;注意,沒(méi)有分配權(quán)重,操作數(shù)就不會(huì)對(duì)評(píng)價(jià)函數(shù)有貢獻(xiàn)。這個(gè)值大約是23 Cd。

最后一個(gè) NSDD 操作數(shù)與一個(gè) OPGT 操作數(shù)相結(jié)合,以保持探測(cè)器上的最小光通量。我們把這個(gè)設(shè)為25,因?yàn)檫@是探測(cè)器上的初始光通量。如果這個(gè)操作數(shù)不存在,那么完全移除反射鏡就有可能使評(píng)價(jià)函數(shù)值為0!如果沒(méi)有能量落在探測(cè)器上,質(zhì)心強(qiáng)度和 RMS 半徑為零,這就是我們的目標(biāo)。這個(gè)“解”強(qiáng)調(diào)了定義良好的評(píng)價(jià)函數(shù)的重要性。在優(yōu)化過(guò)程中,OpticStudio 將嘗試將評(píng)價(jià)函數(shù)變?yōu)榱?,而不管這在系統(tǒng)中的物理意義。

自由曲面反射鏡

自由曲面通常被描述為多個(gè)低階多項(xiàng)式,如樣條曲線或貝塞爾曲線。它們通常用來(lái)描述渦輪葉片、車身和船殼等形狀。

然而,在光學(xué)系統(tǒng)設(shè)計(jì)時(shí),保留基本圓錐曲線部分的概念,并使該部分向自由曲面形式偏離,是非常有助于設(shè)計(jì)的。原因很快就會(huì)揭曉。我們將使用 擴(kuò)展多項(xiàng)式面( Extended Polynomial Surface )物體,這個(gè)表面可由以下形式的方程描述:


第一項(xiàng)是光學(xué)設(shè)計(jì)中所鐘愛(ài)的標(biāo)準(zhǔn)圓錐非球面,用于設(shè)計(jì)球面、橢圓、拋物面、雙曲面、反射面等等。第二項(xiàng)表示從該表面出發(fā)的一系列越來(lái)越高階的多項(xiàng)式形變。多項(xiàng)式是 x 和 y 的冪級(jí)數(shù),第一項(xiàng)是 x,然后是 y,接著是 x*x, x*y, y*y 等。有2個(gè)1階項(xiàng),3 個(gè)2階項(xiàng),4個(gè)3階項(xiàng),以此類推。最高階為20,由此可創(chuàng)建最多230個(gè)多項(xiàng)式非球面系數(shù)。位置值 x 和 y 除以歸一化半徑得到的多項(xiàng)式系數(shù)是無(wú)量綱的。在本設(shè)計(jì)中,多項(xiàng)式的最大階數(shù)限制在20項(xiàng)以內(nèi),因此最大的自由曲面偏差為 x 0y 5和 x 5y 0。在實(shí)際設(shè)計(jì)中這既不是必要的也不是建議的,只是在設(shè)計(jì)過(guò)程中可供選擇而已。

現(xiàn)在,如果我們使用全局繪圖,可以在掃描反射鏡曲率半徑時(shí)顯示中心像素強(qiáng)度。



這張圖說(shuō)明了優(yōu)化非序列系統(tǒng)的困難,以及定義良好的評(píng)價(jià)函數(shù)的必要性。如果我們看一下整體的評(píng)價(jià)函數(shù)值與曲率半徑的關(guān)系,就能明白為什么質(zhì)心和均方根半徑是更好的優(yōu)化目標(biāo)。



現(xiàn)在我們的評(píng)價(jià)函數(shù)正確地定義了設(shè)計(jì)標(biāo)準(zhǔn),我們將使用局部和全局優(yōu)化算法進(jìn)行優(yōu)化,對(duì)比 DLS 和 OD 的優(yōu)化結(jié)果。

優(yōu)化

OpticStudio 包含兩個(gè)“全局”優(yōu)化例程,用于搜索更大的解空間區(qū)域。全局優(yōu)化算法采用基因演算法優(yōu)化、多起點(diǎn)計(jì)算和局部?jī)?yōu)化相結(jié)合的方法,能夠有效地搜索到低評(píng)價(jià)函數(shù)區(qū)域的多維參數(shù)空間。 錘形(Hammer)優(yōu)化器也使用基因演算法和局部?jī)?yōu)化器,一旦全局搜索找到一個(gè)有希望的參數(shù)空間區(qū)域,就會(huì)對(duì)設(shè)計(jì)進(jìn)行全面的優(yōu)化。

評(píng)價(jià)函數(shù)的初始值為14.8,0°時(shí)的亮度為 23Cd。


我們先使用 DLS 使用局部搜索例程(Optimize > Optimize!),并將其與使用 OD 算法的優(yōu)化結(jié)果進(jìn)行比較。最終的錘形優(yōu)化將在這兩種情況下執(zhí)行。

我們的評(píng)價(jià)函數(shù)和起始系統(tǒng)已經(jīng)定義好了,剩下的唯一步驟就是分配變量。我們有22個(gè)變量:曲率半徑、圓錐系數(shù)和20個(gè)多項(xiàng)式系數(shù)。分配這些參數(shù)變量狀態(tài),并使用帶有自動(dòng)循環(huán)數(shù)的DLS算法啟動(dòng)局部?jī)?yōu)化器。

優(yōu)化了一段時(shí)間后(約4.4分鐘),OpticStudio 找到了解。評(píng)價(jià)函數(shù)降到了大約6.69,中心像素亮度為238 Cd。此次優(yōu)化說(shuō)明使用像素插值和定義良好的評(píng)價(jià)函數(shù),即使是DLS算法也可以在非序列解空間中有效地工作。

用一個(gè)新名稱保存結(jié)果文件以便進(jìn)行比較,然后再次打開(kāi)起始文件。這一次,分配所有22個(gè)變量并使用 OD 算法進(jìn)行優(yōu)化。根據(jù)前面對(duì)兩種局部?jī)?yōu)化算法的比較,我們可以期望這種優(yōu)化能夠更快地進(jìn)行,并得到更好的解。在這種情況下,此優(yōu)化比 DLS 運(yùn)行時(shí)間稍長(zhǎng)(約6.5分鐘),但得到了更小的評(píng)價(jià)函數(shù)值(6.68)。

為了測(cè)試我們得到的是一個(gè)可信的最優(yōu)解,而不是陷入一個(gè)較高的局部最小值,我們將運(yùn)行錘形優(yōu)化器來(lái)優(yōu)化這兩個(gè)系統(tǒng)。下表整理的結(jié)果表明,DLS 優(yōu)化得到了一定的改善,但中心像素亮度仍低于 OD 算法優(yōu)化得到的像素亮度;進(jìn)一步說(shuō)明了這兩個(gè)局部?jī)?yōu)化例程的強(qiáng)大功能。在這些測(cè)試中使用的機(jī)器擁有英特爾四核CPU (2.90 GHz)和 16GB 運(yùn)行內(nèi)存:


初始輻照度和輻射強(qiáng)度分布,以及使用 DLS 和 OD 算法優(yōu)化的系統(tǒng)如下圖所示。

起始系統(tǒng):


DLS 優(yōu)化:


OD 優(yōu)化:


結(jié)果表明,兩種優(yōu)化方法得到的解相似。但值得注意的是,雖然 OD 算法的優(yōu)化時(shí)間比 DLS 稍長(zhǎng),但所獲得的性能優(yōu)于 DLS 優(yōu)化和30分鐘錘形優(yōu)化。事實(shí)上,優(yōu)化一個(gè)包含22個(gè)變量和幾個(gè)不同照度目標(biāo)的系統(tǒng)只需要幾分鐘!我們已經(jīng)在短時(shí)間內(nèi)從一個(gè)平面鏡得到一個(gè)完全優(yōu)化的解決方案,之后將需要我們進(jìn)行公差分析和生成系統(tǒng)的圖紙。對(duì)具有相同數(shù)量變量的序列系統(tǒng)均方根半徑進(jìn)行優(yōu)化需要同樣的時(shí)間。這個(gè)例子清楚地說(shuō)明了 OD 算法在優(yōu)化非序列系統(tǒng)時(shí)的效率。在本文頂部的示例文件鏈接中,您可以找到 OD 優(yōu)化文件。

請(qǐng)記住,我們從未直接針對(duì)中心像素亮度進(jìn)行優(yōu)化,而是優(yōu)化均方根半徑和質(zhì)心位置。我們總是可以對(duì)這個(gè)標(biāo)準(zhǔn)施加有限的權(quán)重,但是均方根半徑很可能因此而增加。您會(huì)發(fā)現(xiàn),如果您的目標(biāo)是中心像素強(qiáng)度而不是照明二階矩,那么系統(tǒng)性能會(huì)明顯變差。