郗洪柱,孔德仁,王偉魁,樂貴高
(1.航天長征火箭技術(shù)有限公司傳感器部,北京 100076;2.南京理工大學(xué)機械工程學(xué)院,江蘇 南京 210094)
非接觸式光學(xué)測量通常利用光干涉原理測量各種物體的參數(shù),如材料折射率、光學(xué)元件特征參數(shù)、薄膜厚度、微位移以及痕量氣體濃度等[1-6],具有很高的測試靈敏度及準確度。在動態(tài)干涉測量中,需要通過干涉條紋相位信息獲取反應(yīng)物體狀態(tài)的某一物理量。目前干涉條紋相位提取算法較多,根據(jù)提取相位所需干涉條紋圖幅數(shù),分為單幅和多幅干涉條紋相位提取算法。單幅干涉條紋相位提取算法僅需一幅干涉條紋圖即可提取相位信息,主要應(yīng)用于動態(tài)和對實時性要求較高的測量上,包括同步法、鎖相法、傅里葉變換法、正則化相位跟蹤法、希爾伯特變換、遺傳算法和小波變換[7-10]等;多幅干涉條紋相位提取算法需要多幅干涉條紋圖才能得到一次相位信息,主要應(yīng)用于靜態(tài)和對實時性要求不高的測量上,主要指相移法,包括Hariharan五步算法、Carre算法和最小二乘法等[11]。相移法操作過程復(fù)雜,且對相移或空間位置精度要求較高[12];傅里葉變換法及希爾伯特變換法等動態(tài)測量算法復(fù)雜度較高,存儲和參與運算的數(shù)據(jù)量大,在可編程器件上占用資源較多,運算速度受到一定影響。
本文構(gòu)建的中心五點相位提取算法僅需一幅干涉條紋,利用線陣干涉條紋中五個特征點光強計算其相位,即最大點、最大點兩側(cè)最近的極小點、以及上述三點間兩中間點。固定上述五個特征點位置,獲取新的干涉條紋對應(yīng)五點光強,重復(fù)上述計算,即可獲取連續(xù)變化的相位。同希爾伯特相位提取算法比,相位提取過程數(shù)據(jù)位數(shù)擴展少,避免了截斷誤差;同F(xiàn)FT法比,不涉及乘法器,無需存儲大量數(shù)據(jù);此外,算法無需去除干涉條紋直流分量,簡化了計算量。相位求解精度高,計算過程耗費資源更少,速度更快,實時性能更佳,便于更廣泛應(yīng)用。
分別用I(x,y)、Idc(x,y)、Iac(x,y)、φ1(x,y)和φ2(x,y)表示像素坐標(x,y)處光強度、光強直流分量、交流分量、測量光束相位和參考光束相位,則干涉光強公式為:
I(x,y)=Idc(x,y)+Iac(x,y)cos[φ1(x,y)-φ2(x,y)]
(1)
為減小相移誤差的影響,Hariharan五步法需要五幅同一像素處相位相差π/2的干涉條紋作為計算對象,通常選擇測量光束和參考光束間相位差Δφ(x,y)=φ1(x,y)-φ2(x,y)為0、π/2、π、3π/2和2π。五步法求測量相位的計算公式為[13]:
(2)
上述方法需同一點處連續(xù)五幅相位相差π/2的干涉條紋光強,需控制獲取干涉條紋時機,定位特征點光強值才能得到測量光束相位,硬件成本高,限制了其在實時干涉測量領(lǐng)域的應(yīng)用??紤]從單幅干涉條紋中獲取相位相差π/2的五點光強,即:
(3)
在單幅干涉條紋中尋找五點求測量光束相位,各點相位依次相差π/2??紤]到干涉條紋光強的余弦特性,為提高分辨率和檢測精度,選擇任一幅干涉條紋最大點處作為相位π點,選取π點左右兩個最近的極小值處分別作為相位0和2π點。為保證取點對稱性,π/2點在0點和π點中間取,3π/2點在π點和2π點中間取。由式(3)可明顯得到關(guān)于I2和I4的如下約束:
I2+I4=I1+I3
(4)
在取π/2和3π/2點時使對應(yīng)點光強值盡量滿足式(4)。
由于光源的非單色性使干涉條紋光強最高處同一方向依次分布的亮條紋寬度變大,最大光強變小,最終在數(shù)個明暗條紋后,明暗條紋光強一致,可見度為零。另外由于干涉條紋相位存在畸變[15],受物體表面特征和投射角變化的影響,條紋的灰度分布也會有不同程度的非對稱退化[16],最大值左右兩側(cè)最近的兩個極小值并不相同(即I1≠I5),故在單幅干涉條紋上,各像素處的Idc(x,y)和Iac(x,y)并不完全一致,視為基本不變時將會引入誤差。將五點處直流分量Idc(x,y)視為常量,僅考慮不同位置處交流分量Iac(x,y)的不一致性,定義誤差系數(shù)c為相位解算結(jié)果的正切值同真值的正切值之差后除以真值的正切值,即:
(5)
采用非對稱參數(shù)a作為誤差系數(shù)c的評價指標,單位為像素。分別用mL、mR和max表示中心五點法中左極小值、右極小值和最大值像素位置,則非對稱參數(shù)定義為:
(6)
非對稱參數(shù)a大于零,干涉條紋主峰位置偏左,誤差系數(shù)c大于零,相位解算結(jié)果偏大;非對稱參數(shù)a小于零,干涉條紋主峰位置偏右,誤差系數(shù)c小于零,相位解算結(jié)果偏?。环菍ΨQ參數(shù)a絕對值越大,相位解算結(jié)果偏差越大。當每幅干涉條紋非對稱參數(shù)a固定時,誤差系數(shù)c固定,根據(jù)式(5)可知,x固定不變,進一步,為方便分析,可固定Iac2、Iac3和Iac1,即認為I1、I2和I3處于余弦函數(shù)上,根據(jù)式(4)即可確定I4的值,I5的選取受“最大值右側(cè)最近極小值”約束,按照理想余弦函數(shù),則I5=I1,但由于實際干涉條紋非對稱退化現(xiàn)象,兩者并不相等。非對稱退化是系統(tǒng)固有現(xiàn)象,可視為系統(tǒng)誤差,因此在這種情況下,相位解算誤差變?yōu)橄到y(tǒng)誤差,通過后續(xù)標定可一定程度上消除該誤差的影響,但會使相位結(jié)果與待測物理量間的關(guān)系變復(fù)雜。
利用計算機產(chǎn)生512像素點線陣干涉條紋,干涉條紋攜帶的相位滿足下式:
(7)
干涉條紋每周期12個像素點,直流偏置為0.6,幅值為0.5,如式(8)所示,使用時對其中段加海明窗,前后兩段減小窗函數(shù)并抑制原始信號。
(8)
圖1為數(shù)值模擬結(jié)果。圖1(a)為不帶噪聲的干涉條紋模擬圖,含有256幅線陣512點干涉條紋,每幅條紋攜帶一個式(7)所述初始相位信息,加窗使得圖1(a)中間幾條干涉條紋明顯,兩端干涉條紋很弱,滿足實際線陣干涉條紋要求;為了更好地分析中心五點法效果,對模擬移相干涉法(PSI)、快速傅里葉變換(FFT)法、中心五點法和兩次希爾伯特變換法的相位解算結(jié)果繪制于圖1(b)中。由圖1(b)可知,中心五點法相位解算結(jié)果最接近原始相位變化,兩者差值平方和(Sum-of-Squared Differences,SSD)為0.1114,如表1所示,在三者中最?。籉FT法相比兩次希爾伯特變換法,結(jié)果更接近原始相位變化,前者SSD為13.1001,明顯小于后者SSD值107.9121;后兩種算法均在連續(xù)相位解算任務(wù)的初始數(shù)十幀干涉條紋中與原始相位相差較小,隨著幀數(shù)增加,兩次希爾伯特變換法相位解算結(jié)果偏離原始相位值變大。
圖1 不帶噪聲數(shù)值模擬結(jié)果
表1 不帶噪聲時三種方法分別與移相干涉法對應(yīng)點差值平方和
對圖1(a)中不帶噪聲的干涉條紋施加對應(yīng)點數(shù)的高斯噪聲,噪聲均值為0,方差為每幀干涉條紋均值。圖2(a)為帶高斯噪聲的干涉條紋模擬圖,圖2(b)為上述幾種方法的相位處理結(jié)果??芍?中心五點法和兩次希爾伯特變換法受噪聲影響明顯,相位解算結(jié)果均出現(xiàn)波動,但兩次希爾伯特變換法波動更大,FFT法受噪聲影響小。如表2所示,與表1對比可知噪聲引起中心五點法和FFT法與PSI的SSD值均變大,噪聲使兩次希爾伯特變換法向靠近PSI結(jié)果方向波動,因此其SSD反而減小。綜合來看,噪聲情況下,仍然是中心五點法相位解算結(jié)果最接近原始相位變化,此外,FFT法優(yōu)于兩次希爾伯特變換法。
(a)帶高斯噪聲的干涉條紋模擬
圖2 帶噪聲數(shù)值模擬結(jié)果
表2 帶高斯噪聲時三種方法分別與移相干涉法對應(yīng)點差值平方和
利用FPGA實現(xiàn)512點CMOS圖像傳感器的高速驅(qū)動,并對干涉條紋高速采集和處理。干涉條紋由MEMS工藝硅懸臂梁在密閉光聲腔內(nèi)產(chǎn)生。懸臂梁振動時在CMOS圖像傳感器上產(chǎn)生相位變化的干涉條紋。實驗系統(tǒng)主要由兩塊控制電路板,一組量子級聯(lián)激光器及其驅(qū)動模塊,一組光聲池模塊組成。整個系統(tǒng)實驗平臺及現(xiàn)場如圖3(a)所示。
實驗中一組干涉條紋被CMOS圖像傳感器轉(zhuǎn)換后經(jīng)采樣率為4 MHz的高速AD(AD9240,14 bits)采集,平滑連線后如圖3(b)所示,圖中橫坐標像素點對應(yīng)的縱坐標像素值用圓圈標注。計算每幅干涉條紋非對稱參數(shù)a,為固定值0.5,因此干涉條紋非對稱現(xiàn)象引起的相位解算誤差是系統(tǒng)誤差,可利用標定手段一定程度上消除該誤差的影響。
(a)實驗平臺
(b)線陣干涉條紋
取連續(xù)20幅干涉條紋,濾除直流分量,如圖4(a)所示。利用中心五點法計算濾波前后對應(yīng)各幅干涉條紋的相位,如圖4(b)所示,圖中“Before”為濾波前的20個相位解算結(jié)果,“After”為濾波后的20個相位解算結(jié)果,兩者吻合度高,濾波前相對于濾波后相位解算平均差值為0.06 %,約為9.55×10-5個波長,誤差非常小[17],可忽略。當直流分量較大,如為交流分量3倍時,濾波前后相位差值均值為3.2×10-11,亦可忽略。故而中心五點法無需濾除干涉條紋直流分量。
(a)去直流后干涉條紋
(b)干涉條紋濾波前后中心五點法相位結(jié)果
分別利用中心五點法、兩次希爾伯特變換法和FFT法提取線陣干涉條紋相位信息,將兩次希爾伯特變換得到的相位取反,前兩種算法相位結(jié)果減去各自均值,對FFT法得到的相位結(jié)果的幅值和偏置做調(diào)整,三種算法的結(jié)果如圖5所示。中心五點法和FFT法相位解算結(jié)果完全重合,上述兩種方法的結(jié)果與兩次希爾伯特變換法基本重合,定義峰峰值為相對分辨率,則中心五點法和FFT法相對分辨率為0.1643,希爾伯特變換法相對分辨率為0.1681,上述相對分辨率相當,前后差值占比僅約為2.26 %。
希爾伯特變換通過有限長單位沖激響應(yīng)濾波器實現(xiàn),經(jīng)過兩次希爾伯特變換,輸出結(jié)果位數(shù)將會翻幾倍。在除法和反正切運算中均增大了運算量,對過程和結(jié)果數(shù)據(jù)的截取還會造成計算精度下降。FFT法通過調(diào)用Xilinx的“Fast Fourier Transform”核,按照512點,流水線模式,結(jié)果四舍五入,自然序列輸出方式配置實現(xiàn)所需功能,占用較多乘法器,流水線模式可提高運算速度,但級數(shù)越多資源占用越大。中心五點法僅是對數(shù)據(jù)做加減運算,并未增加除法和反正切運算量,不涉及乘法器的使用,在資源和運算開銷上較前兩者具有明顯優(yōu)勢。
圖5 中心五點法、兩次希爾伯特變換法和FFT法相位
在同一FPGA平臺(Xilinx公司Virtex-II系列300萬門FPGA)實現(xiàn)中心五點法(No.1)、兩次希爾伯特變換法(No.2)和FFT法(No.3),算法均包含模數(shù)芯片驅(qū)動、線陣干涉條紋圖像傳感器驅(qū)動及解包裹模塊,資源占用見表3。FFT法中僅FFT核即消耗12個乘法器(MULT18×18),5個塊隨機存儲器(Block RAMs)以及大約3165個總邏輯單元(Slices)。綜合分析,FFT法在Block RAMs和MULT18×18上的消耗量遠多于另兩種;FFT法和兩次希爾伯特變換法在觸發(fā)器(Flip-Flop)、四輸入查找表(4-LUT)以及Slices使用量上均遠多于中心五點法??傮w而言,中心五點法相比希爾伯特變換法和FFT法分別節(jié)省22 %和27 %的邏輯資源。
表3 三種算法邏輯資源開銷
在100 MHz系統(tǒng)時鐘下,從一幅干涉條紋采集完畢到相位解算結(jié)果輸出,中心五點法消耗90個系統(tǒng)時鐘,即900 ns;兩次希爾伯特變換法消耗95個系統(tǒng)時鐘,即950 ns;FFT法消耗512個系統(tǒng)時鐘,即5120 ns。前兩種方法時間瓶頸均在除法和反正切模塊,前者消耗59個系統(tǒng)時鐘,此外,五點數(shù)據(jù)需先從塊RAM中讀取,占用約19個系統(tǒng)時鐘;后者消耗66個系統(tǒng)時鐘。FFT法耗時最多,時間主要消耗在將干涉條紋512點數(shù)據(jù)在系統(tǒng)時鐘下串行加載至模塊中。總之,中心五點法較兩次希爾伯特變換法和FFT法在運行速度上分別具有約5 %和469 %的優(yōu)勢。
基于五點相位求解算法,構(gòu)建了一種快速、高精度單幅干涉條紋相位提取算法。該算法通過單幅線陣干涉條紋上最大點、最大點兩側(cè)最近極小點、以及上述三點間兩中間點計算干涉條紋相位。該算法過程數(shù)據(jù)位數(shù)擴展少,不涉及乘法器,不需存儲大量數(shù)據(jù),無需去除干涉條紋直流分量,直流分量不濾除引起的相位精度誤差僅為9.55×10-5λ,簡化了計算量。數(shù)值模擬和實驗測試結(jié)果表明,該算法同F(xiàn)FT法的相對分辨率一致,同兩次希爾伯特變換算法有約2.26 %的區(qū)別,在FPGA平臺運行速度比后兩者分別快469 %和5 %,資源消耗分別節(jié)省27 %和22 %,具有相位解算精度高,運算速度快,資源開銷低的優(yōu)點,對單幅干涉條紋相位提取具有重要指導(dǎo)意義。