1 系統(tǒng)結(jié)構(gòu)和工作原理
系統(tǒng)的硬件組成結(jié)構(gòu)如圖1所示,其是由FPGA,DSP,MCU、切換電路、A/D轉(zhuǎn)換、自動增益控制、外部RAM和LCD顯示等幾部分構(gòu)成的。DSP為數(shù)字處理核心,用于FIR濾波、相關(guān)運算等大量數(shù)據(jù)處理,整個系統(tǒng)的時序由FPGA控制,確保了時序的準確性。
超聲波換能器A,B在FPGA的控制下,輪流工作在發(fā)射和接收狀態(tài).用以測量順流、逆流時超聲波傳播的時間差,其諧振頻率為1 MHz。接收信號經(jīng)過選頻放大濾除了部分干擾信號,再由自動增益控制AGC放大后送往A/D轉(zhuǎn)換器,以每次25 ns的轉(zhuǎn)換速度實現(xiàn)A/D轉(zhuǎn)換,并存儲到外部RAM中,整個過程都在FPGA的控制下進行,確保了時序的準確性。為了進一步提高運行的速度,DSP首先將外部RAM中的數(shù)據(jù)轉(zhuǎn)存到內(nèi)部RAM中,再進行55階FIR濾波,經(jīng)過FIR濾波后的信號,其采樣速率較低,測量精度不夠高,為了提高精度,這里進行了插值運算,插值后的兩組信號再經(jīng)過相關(guān)運算處理,便得出流體順流和逆流的時間差,從而求出流體的流速。
2 滑動窗口接收技術(shù)
滑動窗口是在接收信號到達的前后才有效的一個時間窗口,窗口之外的信號一概不予處理,這樣可以減小噪聲的干擾并降低運算量。為保證檢測信號的有效性,必須先去掉接收端的干擾,采用窗口和脈寬檢測是兩個行之有效的方法。測量窗口的初始位置是根據(jù)人機對話輸入的參數(shù)設(shè)置的,并通過有效信號的檢測位置不斷調(diào)整窗口到合適的位置。窗口的設(shè)置限定了信號的接收范圍,在一定程度上消除了噪聲的干擾,同時也減少了要處理的信號樣本數(shù),降低了運算量。
滑動窗口的設(shè)置方法為:單片機根據(jù)人機對話輸入的參數(shù)(管徑、壁厚及流體),計算出信號自發(fā)射探頭到接收探頭所需傳播時間的近似值,根據(jù)該近似值控制數(shù)據(jù)采樣的開始時間,每組數(shù)據(jù)采集15000個點,由于采集的數(shù)據(jù)足夠多,完全可以保證有用數(shù)據(jù)能夠被采集到。經(jīng)過AGC電路的調(diào)整,當采集到的信號幅度滿足要求時便對它們分別進行FIR濾波,再根據(jù)幅值找出有用信號的最大值點并進行信號有效性判斷,信號確定為有效后再進行滑動窗口調(diào)整,將有用信號移動到有效窗口。由于換能器探頭的諧振頻率為1 MHz,采樣頻率為40 MHz,探頭發(fā)射信號為5個周期,考慮到探頭的余波,為了更好地采集接收信號,窗口寬度設(shè)定為800個信號點,即20個信號周期。圖2所示為窗口調(diào)整前部分內(nèi)存中的數(shù)據(jù),從上面可以看到兩組信號,前者幅度小,是超聲波沿管壁直接傳遞而形成的,其傳播速度快,傳播時間短,后者是超聲波沿正常路徑傳輸?shù)慕Y(jié)果,幅度較大,也是需要的有用數(shù)據(jù)。圖3是窗口調(diào)整后內(nèi)存中的數(shù)據(jù),可以看到,有效數(shù)據(jù)已被移動到最左側(cè)的有效窗口中,后面的插值及相關(guān)運算都是只對該段數(shù)據(jù)進行。
3 插值及相關(guān)算法的簡化
在超聲波發(fā)生電路中,由同一觸發(fā)脈沖觸發(fā)2個相同的換能器產(chǎn)生超聲波,測量中2路采集信號具有很大的相似性,因此能對信號進行相關(guān)處理。在超聲波流量計中,對時間測量精度的要求很高,為了提高分辨率,可以采取一般的采樣方法,然后通過數(shù)字信號處理中常用的插值算法,由軟件提高系統(tǒng)的采樣頻率,從而提高時間的分辨率。
[!--empirenews.page--]
換能器的諧振頻率為1 MHz,采樣頻率為40 MHz,采樣的時間分辨率為25 ns,對于超聲波流量計,這樣的分辨率是不夠的,還必須提高信號的采樣頻率,即進行插值處理。如果采取先補“O”再濾波的方法,必須增加濾波器的階數(shù),同時由于插值后樣本增加,濾波運算所需要的時間會大大增加。因此該系統(tǒng)采用線性插值的方法,在相鄰2個數(shù)據(jù)點之間插人19個點,這些點與插入前的相鄰點在同一直線上,這樣時間分辨率可以達到1.25 ns。該系統(tǒng)時間差的測量是通過比較兩組超聲波信號的皮爾遜積差相關(guān)系數(shù)的值來確定的,相關(guān)系數(shù)的計算方法如下:設(shè)xi和yi分別代表兩組信號的采樣值,i=1,2,…,n。n為采樣數(shù)量,設(shè)x,y分別為兩組采樣信號的平均值有,
r稱為相關(guān)系數(shù),其公式為:
相關(guān)系數(shù)r的重要特征為:0<| r |<1,r為正值即正相關(guān),r為負值即負相關(guān)。系統(tǒng)通過不斷改變兩組采樣信號的相位關(guān)系,同時計算出相關(guān)系數(shù),當相關(guān)系數(shù)最大時兩組采樣信號之間的相位差即為兩組信號的時間差值。
因有效窗口兩端數(shù)據(jù)的變化很小(如圖3所示),在小范圍內(nèi)改變兩組數(shù)據(jù)的相位關(guān)系后,可以認為相關(guān)系數(shù)公式中的分母項的值是不變的,其不隨兩組采樣信號的移相變化而變化。因此,在判斷相關(guān)系數(shù)最大值時,只需計算相關(guān)系數(shù)公式中的分子式項n∑xiyi。一(∑xi)(∑yi)的值,然后判斷它的最大值即可,這樣可以大大地減少系統(tǒng)的運算量,提高系統(tǒng)的反應(yīng)的速度。
4 相關(guān)算法及其簡化算法的仿真與比較
為了檢驗相關(guān)算法簡化后對結(jié)果帶來的影響,把采集到窗口中的兩組數(shù)據(jù)經(jīng)濾波與插值后,通過Matlab分別對完整的相關(guān)算法及簡化算法進行仿真分析,仿真波形如圖4所示。
其中上部為簡化算法的仿真結(jié)果,下部為完整相關(guān)算法的仿真結(jié)果。圖5為一部分仿真數(shù)據(jù)。從圖中可以看出,完整相關(guān)算法的相關(guān)系數(shù)據(jù)介于+1~-1之間,最大值(接近于1)出現(xiàn)在5001的位置。相比之下,簡化算法的值大若干數(shù)量級,這是簡化算法略去分母的結(jié)果,但這對計算沒有影響,只要得到最大值出現(xiàn)的時間,重要的是簡化算法的最大值也出現(xiàn)在5001的位置,并且其波形與完整的相關(guān)算法幾乎一樣。由此可見,相關(guān)算法的簡化并沒有對這里的計算帶來誤差。
為進一步證實系統(tǒng)的可用性,將該系統(tǒng)與寶麗聲DCT7088超聲波流量計進行了對比測量,被測管道為外徑為45 mm的鋼管,壁厚3.5 mm,管道中的水由循環(huán)泵驅(qū)動,通過變頻器控制循環(huán)泵的轉(zhuǎn)速來得到不同的流速,測量結(jié)果如圖6所示,二者測量結(jié)果已經(jīng)十分逼近。
5 結(jié) 語
這里以FPGA,DSP和MCU作為核心器件設(shè)計了一種時差式超聲波流量計,結(jié)合自動延遲窗口技術(shù),大大簡化了用于計算時間差的相關(guān)算法,提高了系統(tǒng)的性能。通過對系統(tǒng)實驗測試及計算機仿真,表明該系統(tǒng)方案切實可行。