高廣林
中國石油集團(tuán)渤海石油裝備制造公司,天津 300280
超聲波傳感器目前已經(jīng)廣泛應(yīng)用于距離,風(fēng)速,流量的測量等眾多工業(yè)領(lǐng)域中。其中最主要的應(yīng)用原理就是超聲波傳播時間的測量,即超聲波從發(fā)射端發(fā)射開始,經(jīng)過傳播媒質(zhì)后到達(dá)接收端的時間。常用的測量方法為脈沖轉(zhuǎn)換后計(jì)數(shù)法[1][2],此方法成本較低,且易于實(shí)現(xiàn),但是測量精度不高。還有其他一些方法是通過AD采集原始波形后進(jìn)行Hilbert變換來提取超聲波包絡(luò),進(jìn)而設(shè)置閾值求出飛行時間,但此方法對噪聲的抑制能力并不理想。本文提出一種利用全數(shù)字信號處理的窗口Fourier變換(WFT)來計(jì)算超聲波傳播時間,可以有效克服噪聲影響并提高精度。
超聲波通過超聲波換能器發(fā)送后,在流體介質(zhì)中傳播。在經(jīng)過一段傳播時間后,到達(dá)接收端,并將振動信號轉(zhuǎn)化為電壓信號。在超聲波傳播過程中,信號會被一定程度衰減,并且在接收電路中還會引入噪聲,這些都會對測量精度造成影響。
我們假設(shè)s(t)是發(fā)送信號,那么經(jīng)過一段傳播時間Td后的接收到的信號為:
其中α為衰減系數(shù),n(t)是零均值噪聲。我們使用頻率和相位的方法來表示為
其中fr和φr分別為諧振頻率和相位偏轉(zhuǎn)角,而A(t)表示信號的包絡(luò)。
參數(shù)u由探頭特性決定,而m的范圍為區(qū)間(1,3)[1]。
因此,必須準(zhǔn)確檢測到接收波形的起始位置,才可以正確計(jì)算出超聲波的傳播時間。
要準(zhǔn)確計(jì)算聲波起始位置,則需要提取信號包絡(luò)。而常用的包絡(luò)提取方法是Hilbert變換[1],這種方法對噪聲的抑制能力并不理想。因?yàn)槌暡ń邮招盘柕念l率只在探頭諧振頻率附近很窄的頻帶內(nèi),所以我們只需要對這一窄帶內(nèi)的信號進(jìn)行分析。而對某一頻率信號分析最理想的方法就是Fourier變換。傳統(tǒng)的Fourier變換是將全部時域信號映射到頻域內(nèi),再對感興趣的頻率做分析,這樣時域內(nèi)任何局部的變化都會引起整個頻域內(nèi)全局的改變。因此傳統(tǒng)的Fourier變換只能觀察到某個頻率信號的特征,而不能了解這個頻率是由哪段時間信號做出的貢獻(xiàn)。
要想知道信號的局部頻率成分,那么首先要將給定的信號與一個窗函數(shù)相乘,截取出期望的部分,然后再對截取部分進(jìn)行Fourier變換,這種時-頻兼顧的分析方法稱為窗口Fourier變換,即WFT[4]。
在超聲波發(fā)射的同時,系統(tǒng)的計(jì)數(shù)器開始計(jì)數(shù)。當(dāng)計(jì)數(shù)器計(jì)數(shù)一定時間后,系統(tǒng)啟動AD開始記錄接收波形。下圖為實(shí)際接收到的超聲波信號f(t)。信號在40kHz的較窄頻帶內(nèi),并且中含有一定能量噪聲。AD采樣頻率為10MHz,則每個周期可以采集250個點(diǎn)。為了減小計(jì)算量,我們選擇矩形窗函數(shù),在每隔25個采樣點(diǎn)加窗做一次Fourier變換,則在一個聲波周期內(nèi)可以計(jì)算得到10個Fourier變換的復(fù)數(shù)值結(jié)果。將這些復(fù)數(shù)值分別求模值和求相位角后就可以得到超聲波信號的包絡(luò)曲線和相位角,如圖1所示。
圖1
從圖1中可以看出,超聲波接收信號的包絡(luò)曲線只表現(xiàn)出40kHz窄帶信號的幅值特征,而其他頻帶的噪聲都被有效衰減掉了。這樣我們在幅度包絡(luò)曲線上設(shè)定一個門限值,使其小于超聲波接收到信號的第一個周期的包絡(luò)幅值,做為聲波信號閾值。當(dāng)包絡(luò)值大于此閾值時,說明超聲波信號已經(jīng)接收到,從超聲波發(fā)射點(diǎn)到閾值以前的時間就是超聲波傳播的閾值時間tTH,再通過查找此閾值位置所對應(yīng)的相位就可以計(jì)算出信號起始點(diǎn)到閾值位置聲波所傳播的時間tPD。于是,超聲波真正的傳播時間應(yīng)為tFLY=tTH-tPD。
圖2
在此方法中,以單片機(jī)MCU為主控制芯片,由它發(fā)送指令來控制FPGA完成超聲波信號發(fā)送,計(jì)時器記時,AD采集,F(xiàn)ourier計(jì)算等任務(wù)。FPGA芯片采用xilinx公司的SPATAN3E芯片。該芯片最高頻率240MHz,具有20個硬件乘法器,可以同時進(jìn)行10路以上的Fourier變換計(jì)算。當(dāng)所有的Fourier變換算完后,F(xiàn)PGA將計(jì)算后的結(jié)果保留于SRAM中,再通信給MCU單片機(jī)進(jìn)行包絡(luò)幅值和相位角的計(jì)算,以及飛行時間的計(jì)算。系統(tǒng)的硬件邏輯框圖如下所示:
圖3
在此平臺上,既可以發(fā)揮FPGA的同步控制能力和并行運(yùn)算的速度優(yōu)勢,又可以利用MCU的強(qiáng)大外圍設(shè)備功能,因此可以做到速度與功能的兼顧。
使用WFT計(jì)算超聲波的包絡(luò)值與傳統(tǒng)的Hilbert變換的方法比較,可以有效降低噪聲干擾,確定超聲波起始波形的位置。再利用相位對計(jì)時時間進(jìn)行修正,就可以準(zhǔn)確計(jì)算出超聲傳播的時間。但WFT的運(yùn)算量較大,因此采用FPGA的并行計(jì)算方式可以大大降低計(jì)算時間。此方案可以廣泛應(yīng)用于以超聲波傳播時間為測量基礎(chǔ)的超聲波測距,超聲波風(fēng)速,流量計(jì)中。
[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]鐘永勇.超聲波風(fēng)速儀及運(yùn)用超聲波測量風(fēng)速風(fēng)向的方法.中華人們共和國: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]徐長發(fā),李國寬.實(shí)用小波方法[M].武漢:華中科技大學(xué)出版社,2009.