• <big id="miqkr"><nobr id="miqkr"></nobr></big>
    <th id="miqkr"><video id="miqkr"><acronym id="miqkr"></acronym></video></th>
  • <code id="miqkr"><nobr id="miqkr"><track id="miqkr"></track></nobr></code>
  • <pre id="miqkr"></pre>
        <code id="miqkr"></code>
      1. <tr id="miqkr"><sup id="miqkr"></sup></tr>

          您好,三暢儀表流量儀表網站歡迎您!

          聯系我們|

          孔板流量計,一體化孔板流量計,標準孔板流量計廠家

          流量計資訊內容展示banner
          新聞中心
          技術中心
          產品導航
          相關文章
          新聞中心 您當前的位置: 孔板流量計 > 新聞中心

          超聲波流量計結合周期檢測和雙閾值檢測兩種算法以提高波形檢測的精度

          作者: 來源: 發布時間:2018-04-16 11:22:49

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

          圖 3.1  整體系統結構圖

          圖 3.1  整體系統結構圖 


            從系統硬件結構圖中可以看到,整體系統分為:C8051F122 的控制芯片作為藍牙通信和上位機通信,換能器驅動電路,信號接收處理電路,通道切換電路,A/D 轉換電路,D/A 轉換電路,FPGA 信號處理系統,數據處理和上位機連接等的主控芯片。FPGA 系統主要有高速數據采集,通道切換控制,正弦信號發生器和數據處理等部分組成。
          1 超聲波信號發送模塊。  如圖 3.1 所示,
          FPGA 的正弦信號發生模塊經 DA 轉換電路以輸出正弦信號,再經過 FPGA 的驅動電路實現對超聲波發生電路進行選擇。順流時的信號從換能器 A 發出,換能器 B 接收;逆流時的信號從換能器 B 發出,換能器 A 接收。
          2 接收信號處理模塊。  超聲流量計中的超聲波發出后經過流體后幅值會大幅度衰減,因此接收信號的電路中有信號放大電路。由于超聲波在傳播過程中伴隨著噪聲,因此接收信號的電路中有濾波電路。
          3 傳播時間的測量。  超聲波傳輸信號時間測量分為順、逆流傳播時間測量。傳播時間是從超聲波發射時刻到超聲波接收時刻之間的時間,本文設置發射電路連續發送 8 個正弦波信號作為超聲波的發射信號,接收到的信號進行硬件濾波和軟件濾波后,對信號進行進一步的處理,得到超聲波的到達時間。
          4 FPGA 模塊。  實現正弦信號的發射和高速信號的采集和處理,實現了信號的主要處理部分。C8051F122 模塊  實現信號的存儲,上位機通信和藍牙通信,以實現數據傳輸。
          1、超聲波流量計高精度算法:
            本文研究的超聲波流量計是應用于農田水渠的環境,現場捕獲的信號具有十分重要的作用。這些信號的主要特點是:瞬時性、數據變化速率高、數據量龐大、處理過程復雜。為了能夠完整、準確地捕獲超聲波流量計的信號和及時處理信號,本文需要的監測系統必須具有迅速連續采集和存儲的功能,并且保持持久穩定的高效傳輸性。本文采用的單片機具有可編程的晶振,交叉開關的 I/O 引腳、功能強大、可以保證時序控制精確、運行速度較快、可外接多個硬件電路等特點,因此采用 C8051F122 作為其核心控制模塊。
            本文采用的 FPGA 芯片具有并行處理特點,具有精確捕獲信號和迅速處理數據的特點,因此采用 FPGA 作為信號檢測和處理的芯片。不僅如此,流量計的接收模塊很容易接收到外部環境、內部電路等噪聲信號。因此,提高超聲波流量計的測量精度,必須要做好兩點工作:一是精確捕獲超聲波信號,確定到達時間。二是正確的處理超聲波噪聲信號以確?;夭ㄐ盘柕臏蚀_性,達到精確獲得超聲波信號的到達時間。下面就如何獲取準確的超聲波信號和檢測準確的到達時間進行介紹和分析。
          2、信號捕獲算法:
            模塊設計方案:FPGA 的 8 通道的模擬信號經過放大、濾波后,再經過 A/D 模數轉換電路后將超聲波換能器的聲信號轉變為電信號。單片機通過前期數據采集的長度和周期自調當前的采集信號周期。信號采集的算法是基于超聲波流量計回波信號的特點設置的。超聲波的發射是基于單片機的定時開關電路設計的,因此超聲波的發射時間可以準確的得到。
            超聲波信號的到達時間的檢測是超聲波流量計的研究的重點。在查閱大量文獻后,發現以往的算法都是根據閾值法檢測超聲波,算法的原理是設定一定的閾值 A,通過比較檢測到的信號的幅值與 A 相比,一旦大于閾值 A,則認為超聲波信號已經到來,進行信號的捕獲與處理,如圖 3.2 所示。閾值算法在一般情況下比較適用,有些情況下則不太適用。比如說,在超聲波信號到來之前,噪聲信號的幅值大于閾值 A,本文就認為超聲波信號已經到來,一旦對判斷錯誤的超聲波信號進行處理,那么測量結果肯定存在誤差。本文在此基礎上提出了,雙閾值算法與周期算法相結合的算法。

          圖 3.2  傳統捕獲算法示意圖

          圖 3.2  傳統捕獲算法示意圖


          因此本文采用的算法是雙閾值與周期相結合算法如圖 3.3 所示,
          A0 是過零檢測脈沖信號,
          A1 是較小的幅值檢測脈沖信號,
          A2 是較大的幅值檢測脈沖。根據圖 3.3,發現 A0 信號是根據接收的信號與 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  雙閾值與周期相結合的算法示意圖
          圖 3.3  雙閾值與周期相結合的算法示意圖

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

          圖 3.4  脈沖計數法

          圖 3.4  脈沖計數法 


            從上面的公式可以看出,脈沖計數法的測量誤差為 ?T ,由圖 3.4 可以看出參考時鐘周期0T會影響測量到達時間的精度。從減少計算得到的時間和實際待測時間 ?T 的方面著手,方法大致分為兩大類。
          (1)提高參考時鐘 本文采用的超聲波頻率達到 KHz 級別,因此時鐘頻率必須達到 MHz 以上,FPGA 的內部晶振達到 MHz 級別,內部有 PLL(鎖相環路)分頻倍頻設置zui多可以達到 100MHz,但是參考時鐘越高,電磁干擾越大,硬件要求越高,因此本文將頻率設置為 50MHZ。
          (2)轉化量化誤差 ?T  轉化量化誤差 ?T 的方法比較多,比如游標內插法、相位關系轉化法。通過某些物理量與測量時間的關系來測量誤差 ?T ,或者將量化誤差 ?T 進行二次量化。這里主要介紹下二次量化的算法—游標內插法。 游標內插法是基于游標卡尺測量原理設計出來的,首先設置兩個周期相差較小的時鐘信號,通過兩個頻率相差很小的參考時鐘之間的周期差作為測量待測時間的zui小基本單位,通過類似游標卡尺中的“主尺”和“游標尺”來進行測量。具體工作原理如圖 3.5 所示。

          圖 3.5  游標卡尺法
          圖 3.5  游標卡尺法

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

          圖 3.6  到達時間檢測算法
          圖 3.6  到達時間檢測算法 


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

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

          相關推薦:雷達液位計、電磁流量計、

          上一篇:孔板流量計在油氣井生產過程中的關鍵技術
          下一篇:用渦街流量計和渦輪流量計響應函數控制氣液分離

          相關產品
          • 平衡孔板流量計

            平衡孔板流量計
          • 多孔孔板流量計

            多孔孔板流量計
          • 標準孔板流量計

            標準孔板流量計
          • 法蘭取壓孔板流量計

            法蘭取壓孔板流量計
          • 過熱蒸汽孔板流量計

            過熱蒸汽孔板流量計
          • 一體化孔板流量計

            一體化孔板流量計
          欧美性群另类交
        1. <big id="miqkr"><nobr id="miqkr"></nobr></big>
          <th id="miqkr"><video id="miqkr"><acronym id="miqkr"></acronym></video></th>
        2. <code id="miqkr"><nobr id="miqkr"><track id="miqkr"></track></nobr></code>
        3. <pre id="miqkr"></pre>
              <code id="miqkr"></code>
            1. <tr id="miqkr"><sup id="miqkr"></sup></tr>