<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的同頻信號相位差測量算法的實現

          基于FPGA的同頻信號相位差測量算法的實現

          作者: 時間:2017-02-27 來源:網絡 收藏


          2硬件實現

          2.1系統構建

          如圖2所示,本實驗平臺由信號生成端和信號接收端兩部分組成。信號生成端由一塊FPGA芯片控制兩塊數模轉換(D/A)芯片生成兩路相位不同的中頻信號,其中兩路信號的相位差由相位控制端進行實時控制。信號接收端使用兩塊模數轉換(A/D)芯片分別接收兩路中頻信號后傳至FPGA芯片進行相位差的測量,測量得到的相位差由數據輸出端實時輸出。信號生成端與信號接收端之間用導線連接。

          本平臺使用的FPGA芯片是Xilinx公司的Virtex-5系列的XC5SX95T芯片;D/A芯片使用AD公司的AD9957芯片,A/D芯片采用AD公司的AD9461芯片;數據輸出端使用ChipScope在線調試軟件。中頻信號頻率設定為70MHz。A/D芯片采樣頻率為32MHz,則根據帶通采樣定律,輸入接收端FPGA芯片的數字信號的頻率分量主要有38MHz和6MHz。本實驗就是利用6MHz的頻率分量進行相位差測量的。

          相關測量法和FFT測量法在FPGA內部的硬件實現流程圖如圖3所示,其中圖3(a)是相關測量法的硬件實現流程圖,圖3(b)是FFT測量法的硬件實現流程圖。

          Xilinx公司為硬件工程師提供了大量預先設計好、經過嚴格測試和優(yōu)化過的電路功能模塊(IPCore),這大大降低了硬件設計的繁瑣程度。本實驗中相位差算法的硬件實現就充分運用了這一優(yōu)勢。圖3硬件實現流程圖中的DDS模塊、低通濾波器模塊和FFT模塊都可以通過調用IPCore來實現,而反正切模塊可以通過調用坐標旋轉數字計算(CORDIC)模塊來實現。

          2.2測量結果

          在硬件實現過程中,為了防止頻率泄漏,固定數據長度和FFT變換長度N為2048。為了比較硬件測量結果與軟件計算結果的性能,將經過A/D芯片接收的數字信號導出至Matlab軟件進行理論相位差值計算,所得到的結果與ChipSeope顯示的硬件測量相位差值結果進行比較。圖4顯示了在發(fā)射端相位差一定的條件下,兩種算法各自的硬件測量結果與理論計算結果的誤差曲線。

          實驗結果表明,FFT測量法的精度比相關測量法的精度要稍微高,無論是FFT測量法還是相關測量法,硬件測試的結果與理論計算的結果非常接近,誤差很小。該硬件實驗平臺可實現中頻信號的高精度相位差測量。

          本文引用地址:http://www.ex-cimer.com/article/201702/338789.htm

          3結論

          首先對比了相關法和FFT法這兩種相位差測量算法的性能,得出FFT測量法對白噪聲的抑制能力要強于相關測量法,在高信噪比時兩種算法均可達到較高測量精度。通過對不同數據長度的信號進行仿真分析,得出為了防止硬件實現上頻譜泄漏造成的FFT測量法性能的下降,需要在硬件實現的時候控制信號數據長度N為2的整數次冪。然后,在基于高性能的FPGA芯片XC5SX95T的基礎上,搭建了硬件實驗平臺,通過硬件實測,得出對于中頻信號兩種算法硬件實測結果與理論仿真結果之間的誤差很小,都具有很高的精度。該實驗平臺可實現高精度的相位差測量,在工程應用中,可以根據信號的特點以及工程的實際需求選擇運用這兩種方法。


          上一頁 1 2 下一頁

          評論


          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();