精品国产人成亚洲区,久久久久亚洲av无码专,亚洲av首页在线,人人妻一区二区三区

超聲波流量計的高精度算法以及系統(tǒng)詳細說明

超聲波流量計的系統(tǒng)設計:
  經(jīng)查閱大量文獻,發(fā)現(xiàn)超聲波流量計仍然存在著波形檢測不準確,到達時間檢測不,運行速度慢等缺點[71][72]。本文根據(jù)以上幾點,提出以下幾個方案并進行實施。,針對波形信號檢測不準確的缺點,提出了雙閾值和周期相結(jié)合的邊沿檢測算法,提高了波形信號識別的準確度[73][74]。第二,針對到達時間檢測不的特點,提出了改進的脈沖計數(shù)算法以實現(xiàn)在同等的硬件條件下的高精度的時間檢測[75][76]。經(jīng)過計算(第四章節(jié)將詳細介紹),超聲波到達時間精度***好達到 MHz 級別,那么就要求參考計時脈沖頻率達到 GHz 級別,那么計數(shù)器的位數(shù)必然很大,消耗更多的內(nèi)部資源[77][78]。本文確定的脈沖計數(shù)法測量傳播時間,通過邊沿檢測算法實現(xiàn)在不增加計時脈沖頻率的情況下來提高測時精度[79][80]。第三,針對運行速度慢的缺點,提出了單片機和 FPGA 相結(jié)合的硬件結(jié)構(gòu),其中 FPGA 有較高的晶振頻率并采用的是并行處理結(jié)構(gòu),在高速信號接收和高速的信號處理方面有著明顯的優(yōu)勢。因此,采用 FPGA 作為信號接收和處理的芯片。
  而單片機有大量的數(shù)據(jù)線和地址線,可以實現(xiàn)與其它硬件相結(jié)合,作為整個系統(tǒng)的控制芯片。因此,采用單片機作為發(fā)射和接收超聲波信號電路轉(zhuǎn)換、與 PC 機之間的串口通信的芯片。下面,本文就到達信號檢測算法和到達時間檢測算法進行具體的介紹??紤]本文是基于 C8051F122 為主控芯片和和以 FPGA 為檢測芯片的硬件結(jié)構(gòu)對超聲波流量計進行改進的,因此本文的超聲波流量計的設計的整體方案可設置為如圖 3.1 所示。 
圖 3.1  整體系統(tǒng)結(jié)構(gòu)圖
圖 3.1  整體系統(tǒng)結(jié)構(gòu)圖 

  從系統(tǒng)硬件結(jié)構(gòu)圖中可以看到,整體系統(tǒng)分為:C8051F122 的控制芯片作為藍牙通信和上位機通信,換能器驅(qū)動電路,信號接收處理電路,通道切換電路,A/D 轉(zhuǎn)換電路,D/A 轉(zhuǎn)換電路,F(xiàn)PGA 信號處理系統(tǒng),數(shù)據(jù)處理和上位機連接等的主控芯片。FPGA 系統(tǒng)主要有高速數(shù)據(jù)采集,通道切換控制,正弦信號發(fā)生器和數(shù)據(jù)處理等部分組成。 
1 超聲波信號發(fā)送模塊。  如圖 3.1 所示,
FPGA 的正弦信號發(fā)生模塊經(jīng) DA 轉(zhuǎn)換電路以輸出正弦信號,再經(jīng)過 FPGA 的驅(qū)動電路實現(xiàn)對超聲波發(fā)生電路進行選擇。順流時的信號從換能器 A 發(fā)出,換能器 B 接收;逆流時的信號從換能器 B 發(fā)出,換能器 A 接收。
2 接收信號處理模塊。  超聲流量計中的超聲波發(fā)出后經(jīng)過流體后幅值會大幅度衰減,因此接收信號的電路中有信號放大電路。由于超聲波在傳播過程中伴隨著噪聲,因此接收信號的電路中有濾波電路。
3 傳播時間的測量。  超聲波傳輸信號時間測量分為順、逆流傳播時間測量。傳播時間是從超聲波發(fā)射時刻到超聲波接收時刻之間的時間,本文設置發(fā)射電路連續(xù)發(fā)送 8 個正弦波信號作為超聲波的發(fā)射信號,接收到的信號進行硬件濾波和軟件濾波后,對信號進行進一步的處理,得到超聲波的到達時間。
4 FPGA 模塊。  實現(xiàn)正弦信號的發(fā)射和高速信號的采集和處理,實現(xiàn)了信號的主要處理部分。C8051F122 模塊  實現(xiàn)信號的存儲,上位機通信和藍牙通信,以實現(xiàn)數(shù)據(jù)傳輸。 

1、超聲波流量計高精度算法:

  本文研究的超聲波流量計是應用于農(nóng)田水渠的環(huán)境,現(xiàn)場捕獲的信號具有十分重要的作用。這些信號的主要特點是:瞬時性、數(shù)據(jù)變化速率高、數(shù)據(jù)量龐大、處理過程復雜。為了能夠完整、準確地捕獲超聲波流量計的信號和及時處理信號,本文需要的監(jiān)測系統(tǒng)必須具有迅速連續(xù)采集和存儲的功能,并且保持持久穩(wěn)定的高效傳輸性。本文采用的單片機具有可編程的晶振,交叉開關的 I/O 引腳、功能強大、可以保證時序控制、運行速度較快、可外接多個硬件電路等特點,因此采用 C8051F122 作為其核心控制模塊。
  本文采用的 FPGA 芯片具有并行處理特點,具有捕獲信號和迅速處理數(shù)據(jù)的特點,因此采用 FPGA 作為信號檢測和處理的芯片。不僅如此,流量計的接收模塊很容易接收到外部環(huán)境、內(nèi)部電路等噪聲信號。因此,提高超聲波流量計的測量精度,必須要做好兩點工作:一是捕獲超聲波信號,確定到達時間。二是正確的處理超聲波噪聲信號以確?;夭ㄐ盘柕臏蚀_性,達到獲得超聲波信號的到達時間。下面就如何獲取準確的超聲波信號和檢測準確的到達時間進行介紹和分析。 

2、信號捕獲算法:

  模塊設計方案:FPGA 的 8 通道的模擬信號經(jīng)過放大、濾波后,再經(jīng)過 A/D 模數(shù)轉(zhuǎn)換電路后將超聲波換能器的聲信號轉(zhuǎn)變?yōu)殡娦盘?。單片機通過前期數(shù)據(jù)采集的長度和周期自調(diào)當前的采集信號周期。信號采集的算法是基于超聲波流量計回波信號的特點設置的。超聲波的發(fā)射是基于單片機的定時開關電路設計的,因此超聲波的發(fā)射時間可以準確的得到。
  超聲波信號的到達時間的檢測是超聲波流量計的研究的重點。在查閱大量文獻后,發(fā)現(xiàn)以往的算法都是根據(jù)閾值法檢測超聲波,算法的原理是設定一定的閾值 A,通過比較檢測到的信號的幅值與 A 相比,一旦大于閾值 A,則認為超聲波信號已經(jīng)到來,進行信號的捕獲與處理,如圖 3.2 所示。閾值算法在一般情況下比較適用,有些情況下則不太適用。比如說,在超聲波信號到來之前,噪聲信號的幅值大于閾值 A,本文就認為超聲波信號已經(jīng)到來,一旦對判斷錯誤的超聲波信號進行處理,那么測量結(jié)果肯定存在誤差。本文在此基礎上提出了,雙閾值算法與周期算法相結(jié)合的算法。 
圖 3.2  傳統(tǒng)捕獲算法示意圖

圖 3.2  傳統(tǒng)捕獲算法示意圖 

因此本文采用的算法是雙閾值與周期相結(jié)合算法如圖 3.3 所示,
A0 是過零檢測脈沖信號,
A1 是較小的幅值檢測脈沖信號,
A2 是較大的幅值檢測脈沖。根據(jù)圖 3.3,發(fā)現(xiàn) A0 信號是根據(jù)接收的信號與 0 相比得到的,高于 0 的信號被置高,低于 0 的信號被置低,
A0 就是判斷振幅正負的信號,并且圖 3.3 中 t1、t2 就是兩個到達的超聲波信號的周期。A1,
A2 是兩個幅值檢測信號,
A1,
A2 的建立標準是當信號的幅值高于 A1 或高于 A2 則置低,否則置高,與周期比較的A0 建立標準正好相反。在單片機捕獲信號的時候,只需要檢測 t1,t2 時間長度是否符合超聲波的周期,檢測 A1,
A2 是否滿足,當 A1 次為低平信號時,
A2 為高電平信號。當 A1 第二次為低電平信號時,
A2 也為低電平信號。同時滿足這幾個條件的信號就是接收到的初始超聲波信號。 

圖 3.3  雙閾值與周期相結(jié)合的算法示意圖

圖 3.3  雙閾值與周期相結(jié)合的算法示意圖 


3、高精度測時算法:

  要想提高超聲波流量計測量精度,必須提高檢測到達時間的準確性。脈沖計數(shù)法是計算超聲波到達時間***基本的方法,適合測量頻率較低的待測信號的。但是脈沖計數(shù)法因為其測量精度的局限性,無法滿足高精度測量的要求,因此人們在處理此種計數(shù)方式都采用將誤差量化并將量化誤差變小,實現(xiàn)高精度測量。 脈沖計數(shù)法是用參考時鐘來量化待測時間,脈沖計數(shù)法是一種粗測時方法,它的精度取決于計數(shù)脈沖的頻率的大小,當頻率大時,脈沖分辨率就高,測時精度也就越高。工作原理如圖3.4 所示,待測時間長度為xT ,參考時鐘周期為0T ,脈沖數(shù)為0N ,那么計算得到的待測時間為:  x0 0T ?N T  (3.1) 實際待測時間為:  x0 0T ?N T ? ?T  (3.2) 
圖 3.4  脈沖計數(shù)法
圖 3.4  脈沖計數(shù)法 
  從上面的公式可以看出,脈沖計數(shù)法的測量誤差為 ?T ,由圖 3.4 可以看出參考時鐘周期0T會影響測量到達時間的精度。從減少計算得到的時間和實際待測時間 ?T 的方面著手,方法大致分為兩大類。 

(1)提高參考時鐘 本文采用的超聲波頻率達到 KHz 級別,因此時鐘頻率必須達到 MHz 以上,F(xiàn)PGA 的內(nèi)部晶振達到 MHz 級別,內(nèi)部有 PLL(鎖相環(huán)路)分頻倍頻設置***多可以達到 100MHz,但是參考時鐘越高,電磁干擾越大,硬件要求越高,因此本文將頻率設置為 50MHZ。
(2)轉(zhuǎn)化量化誤差 ?T  轉(zhuǎn)化量化誤差 ?T 的方法比較多,比如游標內(nèi)插法、相位關系轉(zhuǎn)化法。通過某些物理量與測量時間的關系來測量誤差 ?T ,或者將量化誤差 ?T 進行二次量化。這里主要介紹下二次量化的算法—游標內(nèi)插法。 游標內(nèi)插法是基于游標卡尺測量原理設計出來的,首先設置兩個周期相差較小的時鐘信號,通過兩個頻率相差很小的參考時鐘之間的周期差作為測量待測時間的***小基本單位,通過類似游標卡尺中的“主尺”和“游標尺”來進行測量。具體工作原理如圖 3.5 所示。 

圖 3.5  游標卡尺法

圖 3.5  游標卡尺法 


4、高精度測時算法實現(xiàn)過程:

  邊沿檢測算法是將檢測信號與參考信號設置在同一個時間點開始,檢測兩個信號是否同步。如果檢測到的信號與參考信號不同步時,則繼續(xù)檢測,直到檢測到同步信號為止。通過此種計算方法可將誤差轉(zhuǎn)換到參考時鐘的周期的整數(shù)倍。本文將此種邊沿檢測算法運用到超聲波流量計的信號的檢測中,將得到更加準確的檢測結(jié)果。 那么基于 FPGA 的超聲波信號的邊沿檢測過程是:C8051F122 發(fā)射超聲波脈沖的同時,同時啟動 FPGA 進行超聲波傳播計數(shù)和發(fā)射次數(shù)計數(shù)。
  超聲波傳播時間是將參考時鐘周期乘以傳播計數(shù)的次數(shù),發(fā)射計數(shù)器計數(shù)了總的傳播時間內(nèi)超聲波發(fā)射的次數(shù)。檢測分為兩個方面,一方面是當接收端接收到超聲波信號的時候,立即通知發(fā)射端使其繼續(xù)發(fā)射超聲波信號。另一方面是檢測參考時鐘與發(fā)射信號1S ,接收信號2S 是否同步。如果不同步,則繼續(xù)發(fā)射超聲波,進行下一組信號的邊沿檢測。圖 3.6 表示了邊沿檢測算法的具體過程。 
圖 3.6  到達時間檢測算法

圖 3.6  到達時間檢測算法 
  假定 P 時刻,本文檢測到的發(fā)射信號2S 與參考時鐘同步時,那么立刻關閉超聲波信號發(fā)射次數(shù)計時器和超聲波傳播時間計數(shù)器。那么記錄下傳播時間計數(shù)器的值為tN ,發(fā)射次數(shù)計數(shù)器的值為sN ,參考時鐘 0 的周期為0T 。那么在 P 時刻,超聲波傳播的總時間為 ? ?01tN ? ?T ,那么在總的傳播時間內(nèi),發(fā)射超聲波sN 次,換句話說,這段時間其實是sN 次聲程的總傳播時間。如果此刻本文用iT 代表超聲波從發(fā)射到接收的單次聲程的時間差,并且假定在接收到的超聲波后再發(fā)射超聲波的間隔時間為? ,那么邊沿檢測到的單程傳播時間可以表示為式(3.3)。  ? ? ? ?01 1t ssN T NTN? ? ???  (3.3) 邊沿檢測算法是檢測參考時鐘與接收信號時鐘的同步性,若不同步則繼續(xù)檢測,直到檢測到同步為止。根據(jù)多次發(fā)射超聲波時間和接收超聲波時間之差,將誤差轉(zhuǎn)換到兩者之差中,進一步提高了超聲波流量計的測量精度。 

本章小結(jié):

  本章結(jié)合周期檢測算法和雙閾值檢測算法以提高波形檢測的精度。采用了游標卡尺的原理高精度測量了超聲波的到達時間,摒棄傳統(tǒng)的芯片倍頻方法,占用更少的主控芯片內(nèi)存,提高了主控芯片的效率。 

相關文章:
TDC7200高精度超聲波流量計 
基于脈沖群相關法的時差式超聲波流量計
超聲波流量計結(jié)構(gòu)特點及合理選型

相關產(chǎn)品:

相關新聞

返回頂部
0517-8699 6066 歡迎來電咨詢
Hello. Add your message here.