光學鏡片加工過程中不可避免會帶有一些面型的誤差——實際的和設計值總有一點區(qū)別。如何分析這些面型不規(guī)則度誤差對光學性能帶來的影響,我們來整理一些不同的情況。注意,本文只涉及面型不規(guī)則度公差,而不涉及其他的偏心旋轉定心等公差因素。 k0~mK7k
}UNRe]ft$
首先我們把面型不規(guī)則都分為空間頻率的中低頻和高頻,對于高頻面型誤差,不規(guī)則的尺度明顯小于波長(往往是表面劃傷帶來的),這種情況下實在沒有什么太好的方式來精細地模擬光線行為。原則上這種尺度下幾何光學已經不適用,而物理光學的計算量不可接受。我們可以把高頻面型誤差帶來的行為統(tǒng)一用表面散射來表征,或者有時候直接認為光線丟失。至于用哪種散射模型,散射程度如何,則可以通過實測來搞定。 ^vmT=f;TM
i lk\&J~I
為了規(guī)范說明什么是中低頻或者高頻面型不規(guī)則度,我們得引入一個重要的概念PSD(Power Spectral Density,功率譜密度),它本質上是把面型數據進行傅里葉變換,并繪制出頻域譜,有點像成像光學里的MTF,PSD是對面型上不同頻率“強度分布”的描述。 awLN>KI]</
vJ9Uw
回到中低頻表面不規(guī)則度,這往往是由拋光工藝造成的,也是絕大多數應用場景下需要著重考慮的。我們先來看看知名光學設計軟件Zemax是怎么處理的。 ,4wVQ(,?cd
T;K,.a8bU
對于標準面(Standard),Zemax可以用TIRR公差操作數來增加表面不規(guī)則度。 +X6xCE
M7!>-P
為了幫助理解后臺原理,此處非常推薦的一個Zemax操作是,設定好上面這個面型公差后,運行蒙特卡洛公差分析,并且把蒙特卡洛文件保存下來。 qXPjxTg{[
>ly`1t1
我們打開保存下來的蒙特卡洛文件,可以看到原來的Standard面變成了Irregular面,而這個Irregular面型上是可以指定一些球差和像散的。軟件用人為增加球差和像散來表征表面不規(guī)則度。 T^.;yU_B?
3;(;'5|Z
顯然這種做法有很大的局限性。只針對球面增加非常低頻的,不夠隨機的誤差,這是不夠的。 Wh6jr=>G
xp-.,^q\w
應用更廣泛的是TEXI和TEZI操作數,它們都可以產生真正隨機的表面不規(guī)則度,而且可以應用在非球面上。這兩個操作數很像,我們可以重復上述保存蒙特卡洛文件的做法來觀察TEXI和TEZI是如何起效的。前者把非球面變成Zernike Fringe Sag,后者變成Zernike Standard Sag。另外TEZI對Toroidal面型也適用。很重要的一個區(qū)別點在于,在公差數據編輯器里前者指定的是面型不規(guī)則度PV值,而后者是RMS值。由于Zemax官方更推薦TEZI,我們這里的說明僅針對TEZI。 Z ?`
dYV'<
這種方式造成的面型不規(guī)則度有足夠的隨機性,還能通過控制Zernike系數的最高最低階來控制不規(guī)則度空間頻率。顯然,階數越高,空間頻率越大。 '7AlE!7%
'lNy&
這里借著TEZI,我們對于業(yè)界常見的一種公差表達形式ISO10110 A(B/C)來進行一下說明。A(B/C)是一種生產上比較常見的對旋轉對稱(Rotational Symmetrical Irregularity, RSI)面型公差的表征方式。先來做一下名詞解釋: `_Iy8rv:P
A.tONPi
- A:由于曲率半徑公差導致的“光圈”(干涉條紋, Fringe)數目。這個很普通 tj/X7|
o&}!bq]
- B:面型不規(guī)則度PV值。可以用和TEZI類似的隨機Zernike項來表征,但是需要保證符合PV要求。自行指定用到的Zernike最高、最低階數,一般建議可以到37階,即ρ^8階 }9yAYZ0q{b
>a7'_n_o
- C:旋轉對稱的(RSI)面型不規(guī)則度PV值。這部分可以用Zernike項里僅含常數、ρ^4、ρ^6、ρ^8、ρ^10等的項目來表征,同時也要保證符合PV要求。在Zernike項中RSI項,自行指定最高、最低階數,一般建議可以到ρ^10階 ~?i;~S
LdxrS5
復雜的地方來了,B和C是耦合在一起的PV_C是PV_B的一部分。如果要用軟件分析A(B/C)公差的話,得對隨機選取PV_C的值,不超過PV_B,并且隨機給選定的Zernike的RSI項隨機賦值,對整體的PV縮放到PV_C。下一步給所有選取的Zernike項隨機賦值,并對整體PV縮放到PV_B – PV_C的值。 A_3V1<J`]
sUA==k
這個流程任何商業(yè)光學軟件都不會有自帶的工具,建議通過Zemax強大的API接口自行開發(fā)。 =>nrU8x
\|9@*]6:
對于RSI的公差,有一種比較特殊的應用場景也值得單獨說一說,即單點金剛石車削后留下的環(huán)狀表面條紋。這種公差基本上是一些同心圓,且空間頻率不變,維持在一個中頻。在模擬上,我們可以在已有的面型上增加一個以cos函數變化的矢高波動。這個面型在新版Zemax里面已經自帶有了。 j}R!'m(P'
1vKc>+9
這種形態(tài)的表面公差不僅會影響成像質量,這也是攝影中焦外bokeh“洋蔥圈”問題的根本來源。 ;mH O#
|@#37
以上是針對球面非球面的面型公差,那么對于自由曲面要怎么辦呢?Zemax軟件是沒有自帶的工具的,不過做也是可以做的: h?E[28QB
C-!!1-Eq?:
- 有解析式時,增加一個擾動項 L&V;Xvbu%
QCB2&lN\&L
比如Zernike Standard Sag面型的矢高公式后面可以增加一個產生隨機數的擾動項,這樣即可以模擬出各個位置的隨機擾動,當然需要自己寫個帶隨機項目的DLL。 L1=+x^WQ
xL8r'gV@
- 無解析式時(也可以應用于有解析式的情形),格點化后擾動 2z9\p%MX
|hBX"
這里的意思是,任何一個自由曲面一定都可以用格點矢高來表征,我們可以把每個格點上的矢高添加一個人為的擾動,比如±0.5%,靠近邊緣處±1%,然后把擾動后的面型添加回Zemax做分析,甚至可以把擾動后的面型重新擬合回解析式。這個作業(yè)流程比較復雜,也沒有現成工具,同樣十分建議通過API來做。 /Y$UJt
Za68V/Vj
我們當然也可以把自由曲面的這兩種公差分析方式移植到球面和非球面上。 qgREkb0
c'M#va
上面這些方法都是對各種表面面型進行直接的公差分析,但有的時候,沒有機會直接分析面型,那么可以通過分析面型差異帶來的等效相位改變來分析公差。我們可以拿一個Zernike相位面和需要做公差的表面貼合到一起,然后寫個API或ZPL程序來擾動相位面上的系數,并且縮放到目標RMS或PV大小。當然相位面的起伏擾動也是可以轉化為實際表面的矢高變化的。 K=,nX7Z5
sXHrCU
在方法論上,處理面型公差無非兩個辦法:1)模擬出真實面型并讓光線通過 2)不管真實面型是怎么回事直接模擬光線通過表面后的行為(散射、相位面)。