高廣林
中國石油集團渤海石油裝備制造公司,天津 300280
超聲波傳感器目前已經廣泛應用于距離,風速,流量的測量等眾多工業領域中。其中最主要的應用原理就是超聲波傳播時間的測量,即超聲波從發射端發射開始,經過傳播媒質后到達接收端的時間。常用的測量方法為脈沖轉換后計數法[1][2],此方法成本較低,且易于實現,但是測量精度不高。還有其他一些方法是通過AD采集原始波形后進行Hilbert變換來提取超聲波包絡,進而設置閾值求出飛行時間,但此方法對噪聲的抑制能力并不理想。本文提出一種利用全數字信號處理的窗口Fourier變換(WFT)來計算超聲波傳播時間,可以有效克服噪聲影響并提高精度。
超聲波通過超聲波換能器發送后,在流體介質中傳播。在經過一段傳播時間后,到達接收端,并將振動信號轉化為電壓信號。在超聲波傳播過程中,信號會被一定程度衰減,并且在接收電路中還會引入噪聲,這些都會對測量精度造成影響。
我們假設s(t)是發送信號,那么經過一段傳播時間Td后的接收到的信號為:

其中α為衰減系數,n(t)是零均值噪聲。我們使用頻率和相位的方法來表示為

其中fr和φr分別為諧振頻率和相位偏轉角,而A(t)表示信號的包絡。

參數u由探頭特性決定,而m的范圍為區間(1,3)[1]。
因此,必須準確檢測到接收波形的起始位置,才可以正確計算出超聲波的傳播時間。
要準確計算聲波起始位置,則需要提取信號包絡。而常用的包絡提取方法是Hilbert變換[1],這種方法對噪聲的抑制能力并不理想。因為超聲波接收信號的頻率只在探頭諧振頻率附近很窄的頻帶內,所以我們只需要對這一窄帶內的信號進行分析。而對某一頻率信號分析最理想的方法就是Fourier變換。傳統的Fourier變換是將全部時域信號映射到頻域內,再對感興趣的頻率做分析,這樣時域內任何局部的變化都會引起整個頻域內全局的改變。因此傳統的Fourier變換只能觀察到某個頻率信號的特征,而不能了解這個頻率是由哪段時間信號做出的貢獻。
要想知道信號的局部頻率成分,那么首先要將給定的信號與一個窗函數相乘,截取出期望的部分,然后再對截取部分進行Fourier變換,這種時-頻兼顧的分析方法稱為窗口Fourier變換,即WFT[4]。
在超聲波發射的同時,系統的計數器開始計數。當計數器計數一定時間后,系統啟動AD開始記錄接收波形。下圖為實際接收到的超聲波信號f(t)。信號在40kHz的較窄頻帶內,并且中含有一定能量噪聲。AD采樣頻率為10MHz,則每個周期可以采集250個點。為了減小計算量,我們選擇矩形窗函數,在每隔25個采樣點加窗做一次Fourier變換,則在一個聲波周期內可以計算得到10個Fourier變換的復數值結果。將這些復數值分別求模值和求相位角后就可以得到超聲波信號的包絡曲線和相位角,如圖1所示。

圖1
從圖1中可以看出,超聲波接收信號的包絡曲線只表現出40kHz窄帶信號的幅值特征,而其他頻帶的噪聲都被有效衰減掉了。這樣我們在幅度包絡曲線上設定一個門限值,使其小于超聲波接收到信號的第一個周期的包絡幅值,做為聲波信號閾值。當包絡值大于此閾值時,說明超聲波信號已經接收到,從超聲波發射點到閾值以前的時間就是超聲波傳播的閾值時間tTH,再通過查找此閾值位置所對應的相位就可以計算出信號起始點到閾值位置聲波所傳播的時間tPD。于是,超聲波真正的傳播時間應為tFLY=tTH-tPD。

圖2
在此方法中,以單片機MCU為主控制芯片,由它發送指令來控制FPGA完成超聲波信號發送,計時器記時,AD采集,Fourier計算等任務。FPGA芯片采用xilinx公司的SPATAN3E芯片。該芯片最高頻率240MHz,具有20個硬件乘法器,可以同時進行10路以上的Fourier變換計算。當所有的Fourier變換算完后,FPGA將計算后的結果保留于SRAM中,再通信給MCU單片機進行包絡幅值和相位角的計算,以及飛行時間的計算。系統的硬件邏輯框圖如下所示:

圖3
在此平臺上,既可以發揮FPGA的同步控制能力和并行運算的速度優勢,又可以利用MCU的強大外圍設備功能,因此可以做到速度與功能的兼顧。
使用WFT計算超聲波的包絡值與傳統的Hilbert變換的方法比較,可以有效降低噪聲干擾,確定超聲波起始波形的位置。再利用相位對計時時間進行修正,就可以準確計算出超聲傳播的時間。但WFT的運算量較大,因此采用FPGA的并行計算方式可以大大降低計算時間。此方案可以廣泛應用于以超聲波傳播時間為測量基礎的超聲波測距,超聲波風速,流量計中。
[1]Miguel Perez del Valle,Jose Antonio Urbano Castelan, Yasuhiro Matsumoto, Raul Cortes Mateos. Low Cost Ultrasonic Anemometer[N] 20074th International Conference on Electrical and Electronics Engineering(ICEEE 2007),Mexico City,Mexico.Septemper5-7,2007.
[2]鐘永勇.超聲波風速儀及運用超聲波測量風速風向的方法.中華人們共和國:200810101288.6,2008,8,6.
[3]G.Andria, F.Attivissimo. Digital Measuring Techniques for High Accuracy Ultrasonic Sensor Application[J] IEEE Instrumentation and Measurement Technology Conference. May 18-21,1998.
[4]徐長發,李國寬.實用小波方法[M].武漢:華中科技大學出版社,2009.