胡 博,段發階,張 超,呂昌榮,蔣佳佳,董宇青
(天津大學 精密測試技術及儀器國家重點實驗室,天津300072)
當前,非接觸式測量已經逐漸取代接觸式測量,成為測量發展的方向。而在各種各樣的非接觸式測量方法中,光纖干涉投射技術測量物體表面形貌的方法,由于其光路具有柔軟、形狀可變、傳輸距離遠、抗干擾能力強等優點,得到了越來越廣泛的應用,尤其在各種有強電磁干擾、易燃易爆等惡劣環境中,光纖干涉投射測量技術更是有著很高的應用價值。
在光纖干涉投射技術中,裸露在空氣中的光纖容易受到溫度、振動的影響,使臂長差發生變化,進而產生光相位的變化,導致干涉條紋漂移,從而影響到測量的精度[1]。交流相位跟蹤零差補償技術(PTAC)是實現光纖相位變化檢測和誤差補償的一種關鍵技術[2],其中涉及信號解調和相位求解,求解反正弦是相位求解的一種主要方法[2]。在FPGA中,傳統的求解反正弦函數的主要方法是查找表法[3],查找表數據量的大小和精度緊密相關,在高精度下,查找表法需要大量存儲單元,另外也需要校正算法來計算未計入表中的點,這樣就對處理器資源提出很高的要求。
針對傳統反正弦函數求解方法的缺點,本文采用CORDIC算法求解反正弦值,得到光相位變化并在FPGA中設計了CORDIC算法實現的流水線結構,從而達到了對光相位變化的實時檢測。同時,提出采用查找表配合拋物線插值校正算法解決CORDIC算法在運算中存在的“死區”問題。通過實驗驗證該了方法的可行性。
光纖干涉投射系統由激光器、聚焦透鏡和3 dB耦合器等組成。激光器發出的激光經過聚焦透鏡耦合到光纖,經3 dB耦合器分光后由兩光纖臂輸出。兩光纖輸出端可被看作是楊氏雙孔干涉中的兩個小孔,其輸出光由同一點光源發出,頻率相同,具有恒定的相位差,滿足楊氏雙孔干涉條件,從而在輸出端產生干涉條紋。在實際測量中,溫度、振動的影響使光纖發生臂長差變化,從而使光相位發生變化,導致干涉條紋漂移。為解決這一問題,通過PTAC對光相位進行調制解調得到光相位變化信息并對相位誤差進行補償。
如圖1所示,光纖干涉投射交流相位跟蹤零差補償系統由激光器、聚焦透鏡、3 dB耦合器、PZT和信號調理等部分組成。兩輸出臂分別纏繞在兩個PZT上,一路作為信號臂對光相位進行調制,另一路用作控制和補償。兩條輸出臂投射端面存在反射,反射的光返回到3 dB耦合器中發生干涉,構成馬赫-澤德干涉儀[4],干涉的光由光電探測器PD接收。信號臂反射回耦合器的光包含光相位調制信息,同時也存在著由環境影響產生的光相位變化信息。兩束反射光在耦合器中發生干涉,則光相位調制信息轉化為光強變化,再由光電探測器將光強變化轉化為電信號。

對PZT1外加正弦調制,通過調制后,光電探測器PD接收的信號可用貝塞爾公式展開:

其中,A和B是干涉儀的背景光強系數和對比度系數,z為對光相位的調制系數,ω為調制角頻率,θ為調制信號的初始相位值,α為由環境引起的相位變化。S(t)經過中心頻率為ω的帶通濾波器后,與幅值為G1的信號G1cos(ωt+θ)相乘,再經低通濾波,得到包含 α 的信息,如式(2)。

經過AD轉換后,輸入FPGA進行計算,通過求解反正弦求出α。改變驅動器的直流偏置,即改變待測鏡和參考鏡的相位差α。再經過數模轉換、高壓放大,通過控制PZT2調整另一輸出臂的長度,使兩光纖臂相位差保持為一正弦函數,消除溫度振動等環境因素帶來的影響。
基于CORDIC算法計算反正弦。數字信號處理中常常會遇到求解超越函數的問題,如求解矢量旋轉、反三角函數運算、雙曲函數等,CORDIC是為了這些問題而提出的[5]。CORDIC基本思想是用一組確定的角度不斷擺偏去逼近所求的角度,而這一組角度與運算基數(2i)有關。在硬件電路中,CORDIC運算可以只通過加減操作和移位操作實現,大大節約了資源。CORDIC算法可由式(3)、(4)、(5)、(6)給出[6]。 其中,(xi,yi)是矢量的坐標,zi為剩余未旋轉的角度。

使用CORDIC計算反正弦值屬于圓周旋轉中的矢量模式。設x軸正半軸上有一向量x0,由外界輸入一個值c,旋轉單位向量,使它的y分量逐漸趨近輸入值,同時令z0等于 0,用 zi記錄旋轉過的角度,如式(7)。
如圖2所示,經過n次迭代,得到結果:


An為畸變因子,當n→∞時,An→1.646 760 258。令 x0=1/An,則 zn即為輸入 c值的反正弦值。
輸入值范圍為 [-1,1],輸入 FPGA的初值 c為 12位。選第一位為符號位,第二位為整數位,后10位為小數位。在FPGA中,使用浮點形式計算小數比較復雜,因此,將小數部分左移10位,化成定點形式運算。CORDIC的計算次數取決于 xi、yi的小數位數。如式(8),用yi與輸入初值c比較,如果yi的小數位為10位,則最多進行10次CORDIC計算,精度很難保證。因此,設計xi、yi的小數位為22位,在c后面補0,補足22位小數位,則最多可進行22次CORDIC計算。因為z的值域范圍為[-1.570 8 rad,1.570 8 rad],將 z設計成 25 位,z[24]為符號位,z[23:22]為整數位,z[21:0]為小數位。
在FPGA中,CORDIC的實現結構可以選擇迭代結構或流水線結構。迭代結構是直接由公式寫出循環語句,處理完當前數據才可以處理下一個數據,缺點是效率低。本設計采用流水線結構,流水線結構在數據處理的同時,還能繼續輸入和處理后續數據,提高了數據吞吐率。此外,設計中采用前端數據處理加22級CORDIC計算加后端處理,第一個數據需要24個時鐘周期處理完畢,之后每個周期都可以輸出一個處理結果,可以顯著提高數據處理速度。
本設計總共有22級CORDIC計算模塊,第i級CORDIC計算模塊如圖 3所示。yi與|ci|比較,決定di的值,再根據式(7)來計算 xi+1、yi+1、zi+1,同時傳遞輸入值的符號位,在流水線的后端處理模塊處理。若輸入c[11]為1,則結果為-arcsinc;若輸入 c[11]為 0,則結果為arcsinc。

輸入數據范圍為[-1,1],將計算結果與真實結果比較,得到誤差分布如圖4所示。

由圖4可見,在橫坐標絕對值為 0.6、0.8、0.9附近出現較大誤差,最大誤差達到10-1數量級。CORDIC算法使用的是一種數值計算逼近的思想,增減的步長值是離散的,為 arctan(2i)。在橫坐標絕對值為 0.3、0.6、0.8、0.9附近,CORDIC計算存在 “死區”。本文采用查找表和拋物線插值校正,在誤差值較大的區間[c1,c3],令:

其中

在前端數據處理中判斷輸入值是否在需要校正的區間,若在則進行拋物線插值校正。用少量查找表存儲校正區間端點的反正弦值和分母的比值。選用FPGA為32 bit,在其中設計乘法運算時,乘數和被乘數最高為16 bit才不會使數據溢出。在所有拋物線插值校正系數中,區間[0.95,0.96]上拋物線插值校正的一次項系數最大為22.108 9。因此選擇高5位為整數位,低11位為小數位進行運算。
CORDIC程序流程圖如圖5所示,初始化之后,先判斷輸入值c是否在需要校正的區間。若是,則進入拋物線插值校正運算;否則進行CORDIC運算,使x0=1/An,y0=0,z0=0。CORDIC運算計算出一個小數的反正弦值需要24個時鐘周期,為了保證流水線的機能,當輸入值c在需要校正的區間時,插值計算后的數據在CORDIC運算模塊中直接傳輸。計算出反正弦值后,判斷輸入值c的符號位,如果是 0,則c為正數,反正弦值也為正數;如果是1,則c為負數,反正弦值也為負數。

仿真軟件采用ModelSim SE PLUS 6.2b。輸入的c值范圍為[-1,1],存放在ModelSim的測試激勵文件中。處理一個數據需要24個時鐘周期,之后每個周期都能輸出一個數據,如圖6所示。

將仿真后的數據導入Matlab得到反正弦仿真曲線,如圖 7(a)所示,并與理想值對比,得到如圖 7(b)所示誤差曲線,CORDIC計算部分弧度值精度達到10-4數量級,經過校正的部分,誤差從10-1數量級降到10-4數量級。
本設計采用流水線結構,提高了數據吞吐率。仿真實驗表明,光相位的誤差精度達到10-4數量級,精度較高,且具有較高的運算速度,適合大數據量高速處理。
[1]Duan FaJie,Zhang Cong,Zhang Chao,et al.Fourier transform profilometry based on fiber-optic interferometric projection[C],2009 2nd International Congress on Image and Signal Processing.2009.
[2]李超.邁克爾遜型全光纖加速度地震檢波器理論與實驗研究[D].天津:天津大學,2007.
[3]付雷,陳淑芬,孟彥斌.數字式開環單模光纖陀螺中求arcsine的查表和線性插值法[J].北京理工大學學報,2003,23(4):499-502.
[4]孟克.光纖干涉測量技術[M].哈爾濱:哈爾濱工程大學出版社,2008:67-74.
[5]RAY A.A survey of CORDIC algorithms for FPGA based computers[C].Proceeding.ACM/SIGDA Conference,1998:191-200.
[6]CHANG Y K,Swartzlander.An analysis of the CORDIC algorithm for direct digital frequency synthesis[C].In:IEEE International Conference on ASAP.California,USA:IEEE Press,2002:111-119.