吳黎杰, 蔣志迪, 張晴月
(1.寧波大學 電路與系統(tǒng)研究所,浙江 寧波 315211;2.寧波大學科學技術學院 信息工程學院,浙江 寧波315211)
對于不同的海域環(huán)境,測探儀、淺剖儀等儀器在工作時需要實時準確的數(shù)據(jù)校正,高精度的海水聲速是儀器校正的重要數(shù)據(jù),如何提高海水聲速測量精度是關鍵性問題。測量范圍和精度是海水測量儀評估的重要指標。聲速的直接測量主要是對聲波在待測液傳播時間的測量,通過距離公式計算出聲速[1,2]。
本文設計了一種基于相位差法的海水聲速測量系統(tǒng),利用時間與相位差的線性關系,將對時間的測量轉換為對相位差的測量,通過對相位差的高精度測量來提高海水聲速測量的精度。系統(tǒng)基于一路單頻正弦信號由超聲波換能器進行信號功率的放大,傳播介質為海水,利用快速傅里葉變換(fast Fourier transformation,FFT)及相位估計來測量換能器接收端接收的信號與原始信號產生的相位差值,從而提高海水聲速的測量精度,且系統(tǒng)實現(xiàn)了海水聲速實時測量,為水聲探測儀器的實時校驗提供了便利。
經FFT計算得待測信號相位差Δφ,以確定聲速v
(1)
式中λ為同頻正弦信號在海水中的波長,f為同頻正弦信號的頻率,c為海水聲速。
圖1 測量裝置
相位差法測量聲速在提高聲速測量精度方面有較大優(yōu)勢[3]。在聲速精度Δv≤0.02 m/s,L=100 mm,海水聲速c=1 500 m/s的條件下,采用相位差法測量聲速所需要的相位差精度Δφ=|-2πfL/v2|Δv為
當同頻信號頻率為1 MHz,計算得到需要的相位差精度Δφ小于0.07 rad。對比看出,由于相位差法計算精度的數(shù)量級遠低于同等條件下采用脈沖回鳴法[4,5]脈沖時間測量精度(Δt<1.2 ns)的數(shù)量級,更易于硬件實現(xiàn),達到提高聲速測量精度的目的。同時,在測量過程中,由于采用的是同一信號源,通過差分數(shù)據(jù)處理的方式可以消除環(huán)境對系統(tǒng)硬件影響而導致的測量誤差。
假設離散后的兩路同頻信號為
x1(n)=Asin(ωn+φ1)
(2)
x2(n)=Bsin(ωn+φ2),n=1,2,…,N-1
(3)
1)根據(jù)離散信號的相關法推導可知:在低信噪比的情況下,相關法測量相位差偏差過大,尤其當噪聲與信號有一定的相關性時,相關法不能夠有效抑制噪聲,如果信號中有諧波成份需要對求得的相位差進一步進行修正,測量精度會因此受到影響。
2)基于FFT進行相位差測量。對離散信號x1(n)和x2(n)進行快FFT,變換后的最大譜線點m=N·fc/fs+1,N為FFT采樣點數(shù),fc為信號頻率,fs為采樣頻率。
可以得到兩路信號的相位差Δφ表示為
Δφ=arctan(φ1-φ2)=
(4)
(5)
可知,求解相位差時,不需要對2個信號相位值分別求解,直接利用復數(shù)共軛相乘就能得到相位差Δφ。
由文獻[6]進一步推出系統(tǒng)設計對相位差測量的均方根誤差為
(6)
式中A為信號幅度,N為FFT采樣點數(shù),SNR為信噪比,b為AD的位數(shù)。
在SNR=25 dB條件下,用FFT計算相位差誤差與采樣點數(shù)、AD位數(shù)之間的關系如圖2所示。
圖2 相位差誤差與AD位數(shù)和采樣點數(shù)的關系
在AD芯片位數(shù)b=8條件下,用FFT計算相位差誤差與采樣點數(shù)、信噪比之間的關系如圖3所示。
圖3 相位誤差與信噪比和采樣點數(shù)的關系
基于FFT相位差測量能夠有效抑制噪聲干擾[6],在低信噪比的情況下同樣能夠得到高精度的相位差測量,并通過對基波的提取而有效抑制諧波成份。系統(tǒng)通過增加采樣點數(shù),提高A/D轉換位數(shù),增大待測信號的信噪比,能夠進一步提高相位差的測量精度。
系統(tǒng)主要由現(xiàn)場可編程門陣列(field programmable gate array,FPGA ) A/D轉換電路、微控制器C8051F340單片機組成。FPGA作為海水聲速測量系統(tǒng)的核心,配置AD芯片的工作時序[7],對AD采集的數(shù)據(jù)進行實時存儲。A/D轉換電路實時采集兩路待測信號,保證兩路待測信號的同時采集,減少信號采集時產生的相位差誤差。C8051F340讀取FPGA存儲的數(shù)據(jù),存到片內XRAM中,通過FFT算法計算得到兩路信號的相位差,由相應的轉換計算得到海水聲速。系統(tǒng)總體結構框圖如圖4所示。
信號數(shù)據(jù)的采集主要是由FPGA完成,F(xiàn)PGA設計一個DPRAM存儲單元實現(xiàn)對采集數(shù)據(jù)的存儲,能夠避免采集時間周期短,采樣數(shù)據(jù)多占用內存資源過大的問題[8]。DPRAM在數(shù)據(jù)存儲時,需進行地址分配,與單片機訪問地址相匹配,方便單片機數(shù)據(jù)搬運時的操作,當?shù)刂返陀? kB時訪問單片機片內XRAM,當?shù)刂犯哂? kB時訪問片外XRAM。用Verilog語言設計AD控制模塊、數(shù)據(jù)處理模塊、地址轉換模塊都可以在FPGA中進行在線調試。單片機通過EMIF接口進行數(shù)據(jù)讀取[9],中間只需要地址轉換,數(shù)據(jù)分離,就能夠分別得到2路采樣的數(shù)字信號。信號采集與處理電路框圖如圖5所示。
圖4 系統(tǒng)總體框圖
圖5 信號采集與處理電路框圖
當檢測到由單片機提供的工作信號時,F(xiàn)PGA從休眠狀態(tài)跳轉為工作狀態(tài)。FPGA控制AD模擬轉換電路工作,將AD芯片采集的數(shù)據(jù)及時存儲,完成1次數(shù)據(jù)存儲時,F(xiàn)PGA送給單片機數(shù)據(jù)采集完畢信號。當再次檢測到工作信號時,F(xiàn)PGA重新進行數(shù)據(jù)采集,實時得到多組數(shù)據(jù),使測試結果更加精確。FPGA工作程序流程如圖6所示。
圖6 FPGA工作程序流程
單片機主要對搬運的數(shù)據(jù)進行計算處理,端口初始化后,若收到采集完畢信號,關閉FPGA工作信號將片內存儲的數(shù)據(jù)通過FFT算法得到2路信號的相位差,并將求得的相位差值進行相位修正,修正范圍為[0,2π],然后由海水聲速測量原理計算海水聲速的值,通過液晶LCD12864進行顯示。其中端口初始化包括對內部晶振、液晶顯示器(liquid crystal display,LCD)和FFT初始化。配置EMIF主要包括外部存儲器接口配置,對片內XRAM地址進行分配和對EMIF時序配置。
通過信號發(fā)生器產生2路具有相位差的正弦信號來模擬信號在海水介質中的傳播,利用Chipscope觀察FPGA內部采集的數(shù)據(jù),設置200個數(shù)據(jù)采集點,通過在線調試查看采集波形如圖7所示。
圖7 1 MHz正弦信號采集
通過MATLAB進行仿真計算,信號頻率設置為1 MHz,L設置為0.1 m和0.2 m,計算出理論相位差值和理論海水聲速值。根據(jù)理論值,信號發(fā)生器發(fā)射e路相位差Δφ分別為0.32 rad和0.63 rad的信號,利用設計的系統(tǒng)進行測試比較,分別得到5組數(shù)據(jù),測試結果如表1所示。
表1 測試結果
由測試數(shù)據(jù)可以看出,通過系統(tǒng)測量得到相位差的測量精確度為0.01 rad,聲速的誤差優(yōu)于±0.02 m/s,達到標準聲速計量性能一級指標要求,實驗數(shù)據(jù)證明了系統(tǒng)方案的可行性,滿足高精度海水聲速測量的目的。
本文實現(xiàn)了高精度海水聲速測量系統(tǒng)的設計。系統(tǒng)優(yōu)勢是利用單片機EMIF接口與FPGA設計的DPRAM進行通信,實現(xiàn)海水聲速的實時、快速、高精度測量,并通過數(shù)據(jù)測試驗證了系統(tǒng)測量的可靠性,從而能夠滿足對大多數(shù)水聲探測儀的實時校驗。