吳雪梅
(西安文理學院化學工程學院,陜西 西安 710065)
近年來傅里葉變換近紅外光譜儀在近紅外光譜分析中得到了廣泛地應用[1-3]。干涉圖相位校正是傅里葉變換近紅外光譜儀中的重要步驟,相位校正質量的高低直接影響到光譜的預測性能。最早提出的相位校正算法是Mertz算法[4],它認為實測干涉圖相對于理想干涉圖有一定的延時,從而導致光譜有線性的相位誤差,通過頻域進行相位校正,可消除相位誤差的影響從而提高光譜的質量。隨后的Forman算法[5]在干涉圖領域直接對干涉圖進行相位校正。Mertz算法與Forman算法校正方式不同,但在數學上已證明這兩種算法是等效的[6]。目前大部分傅里葉變換光譜儀都內置了Mertz算法進行相位校正。R.Furstenberg和J.White[7-8]讓干涉圖通過全通濾波器的方式實現了相位校正。與Mertz算法不同,全通濾波器法認為相位誤差是非線性的。不管是Mertz算法、Forman算法還是全通濾波器算法,它們所描述的相位誤差都可以用參數來表示,如Mertz或Forman算法中相位誤差與波長之間的關系可通過一元函數來表示,全通濾波器算法中相位誤差與波長之間的關系可用非線性函數來表示。所以可以認為,Mertz或Forman算法是全通濾波器法的特例,即非線性函數關系退化為線性關系的情況。因此,可以采用參數化的模型來描述干涉圖的相位誤差,即認為相位誤差與波長之間存在某種非線性關系(如多項式關系),通過實測干涉圖來擬合這種關系并用于相位校正。采用這種方法的核心是通過實測干涉圖來擬合出模型的參數。
Mertz算法、Forman算法及全通濾波器算法的另一個不足:對每條干涉圖都要進行相位校正,計算量較大。實際上,一臺儀器在相同條件下測試所引入的相位誤差是幾乎不變的,因此可以利用前期多條干涉圖進行相位校正的結果對后續測量的干涉圖進行相位校正,以提高處理效率。本文將研究利用參數化模型的干涉圖相位校正方法,并利用模型參數對測量干涉圖進行相位校正。
為方便求解,此處將模型設置為多項式,即相位誤差與波數之間存在函數關系。

(1)
式中,φ(v)為是相位誤差,v為波數,v0為參考波數,an為多項式系數,N為多項式階數。
該模型中,認為所有干涉圖的相位誤差都是上式的結果,實測的干涉圖利用上式的函數關系即可實現干涉圖相位校正。設第k條干涉圖進行傅里葉變換后得到的光譜為xk(v),其中,v=v0,v1,…,vM,v0為需要校正的最小波數,vM為需要校正的最大波數,利用式(1)進行相位校正后,所得到的光譜sk(v)為:

(2)
其中,j為虛數單位
若干涉圖被完全校正,那么sk(v)為實數,但實際測量中,存在一些誤差與偶然因素,sk(v)還會有虛部。顯然,sk(v)的虛部越小,干涉圖校正效果越好。為了使各條干涉圖都得到較好的校正,需要使下式取得最小值。

(3)
式中,函數Im(·)表示對復數取虛部,K為干涉圖數目。上式的含義是使各干涉圖校正后光譜的虛部平方和最小。
顯然很難利用sk(v)直接求得多項式系數an或相位誤差φ(v),對an的求解需采用最優化算法進行求解,計算出an后,代入式(1)即可求出相位誤差,利用該相位誤差便可代入式(2)計算干涉圖(可以是建模用的干涉圖,也可以是非建模使用的干涉圖)對應的光譜。
這里采用粒子群優化算法[9]進行優化求解,粒子的第n維代表多項式系數an。
步驟2.1.1:設定模型階數N及粒子群參數,如粒子群規模、粒子維數(N+1)、最大迭代次數、優化目標等。
步驟2.1.2:對K條實測干涉圖進行傅里葉變換(去趾函數選blackmanharris),確定需要的波數v0~vM,獲得光譜xk(v)。
步驟2.1.3:將式(3)作為代價函數,采用粒子群優化算法進行優化計算,獲得最優解an。
步驟2.1.4:將計算出的an存儲,供干涉圖校正使用。
步驟2.2.1:對干涉圖進行傅里葉變換(去趾函數選blackmanharris),選擇需要的波數v0~vM,構成光譜x(v)。
步驟2.2.2:將an系數代入式(2),計算光譜s(v)。
步驟2.2.3:取s(v)的實部作為干涉圖校正后的光譜。
以上步驟獲得的是干涉圖對應的光譜,在光譜分析中,往往需要被測樣品的吸光度,對吸光度的計算可以采用下式:

(4)
式中,sb(v)為背景光譜,獲得它的方法同樣按上述步驟。
本實驗對象是乙醇溶液,先配制濃度為2%~61%的溶液60個,相鄰濃度間隔1%。采用Bruker近紅外傅里葉變換光譜儀VERTEX70測量各溶液的干涉圖與光譜(光譜是儀器采用Mertz算法進行相位校正的)。測量過程中對干涉圖進行雙邊采樣,測量點數為15240,所得光譜的最大波數為15798.25cm-1。根據吸光度曲線,選擇波數范圍為7500~13000cm進行建模與分析。建模過程中,將模型階數N設置為3,粒子群規模為20,最大迭代次數為3000,優化目標為0。
分別利用儀器所測光譜圖(即Mertz算法校正相位誤差的光譜)與本算法校正的光譜進行溶液濃度預測,預測算法是偏最小二乘法(PLS)。在預測與建模中,設置數據預處理方法為自動尺度(auto scale),并采用留一交叉檢驗法確定隱變量數。濃度為3%,6%,……,60%(間隔3%)的樣本作為預測集,其余樣本作為校正集進行建模與預測。實驗結果如表1所示。

表1 不同方法預測結果對比
從以上結果可以看出,采用本文方法后,校正后的干涉圖所得光譜比Mertz算法校正干涉圖所得光譜預測能力略好,一旦利用本文方法確定了干涉圖相位校正參數后,新測的干涉圖便可利用校正步驟進行相位校正,無需再采用Mertz算法確定相位誤差。本文方法能替代Mertz算法進行干涉圖相位校正,提高干涉圖處理效率。
本文認為干涉圖相位誤差與波數之間存在較復雜的穩定關系,該關系可通過多項式進行描述。對干涉圖進行相位校正算法共分兩部分,第一部分利用部分干涉圖進行多項式相位誤差擬合,通過優化計算確定模型參數。第二部分利用確定的參數對干涉圖進行相位校正,以獲得校正后的光譜。通過實驗證明,本方法進行干涉圖相位校正后所得的光譜在組分預測性能上比Mertz算法好。由于在確定模型參數后,該方法不需要像Mertz算法一樣對每條干涉圖重新計算相位誤差,從而使得相位校正效率大大提高。本方法能替代Mertz算法進行干涉圖相位校正。