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

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的高精度相位差測(cè)量算法實(shí)現(xiàn)

          基于FPGA的高精度相位差測(cè)量算法實(shí)現(xiàn)

          作者: 時(shí)間:2012-02-10 來(lái)源:網(wǎng)絡(luò) 收藏

          摘要:首先介紹了兩種,一種是基于直接數(shù)字頻率合成(DDS)的相關(guān)測(cè)量法,另一種是基于快速傅里葉變換(FFT)的FFT測(cè)量法。其次,通過(guò)理論仿真分析兩種算法在不同信噪比和數(shù)據(jù)長(zhǎng)度下的性能,并在此基礎(chǔ)上給出了硬件平臺(tái)的設(shè)計(jì)方案。最后,基于高性能的芯片XC5SX95T,搭建了硬件實(shí)驗(yàn)平臺(tái),完成了兩種的硬件實(shí)現(xiàn)。經(jīng)過(guò)實(shí)測(cè),該硬件平臺(tái)能夠達(dá)到良好的測(cè)量精度。
          關(guān)鍵詞:相位差;相關(guān);FFT;

          0 引言
          兩個(gè)同頻信號(hào)的相位差測(cè)量在工程上有著廣泛的應(yīng)用。近年來(lái),精密測(cè)量、雷達(dá)定位、目標(biāo)識(shí)別等領(lǐng)域的高速發(fā)展對(duì)相位差測(cè)量精度和速度都提出了很高的要求。目前,理論上比較成熟的相位差主要利用相關(guān)原理和快速傅里葉變換(FFT)原理。但由于硬件環(huán)境的復(fù)雜性和不穩(wěn)定性,傳統(tǒng)硬件測(cè)量的精度往往大大低于軟件計(jì)算精度,而高性能芯片的發(fā)展為硬件提高相位差測(cè)量算法的精度提供了新的方向。
          本文首先介紹了兩種相位差測(cè)量算法,一種是基于直接數(shù)字頻率合成(DDS)的相關(guān)測(cè)量法,另一種是基于快速傅里葉變換的FFT測(cè)量法。在軟件仿真的基礎(chǔ)上,利用高性能的FPGA芯片搭建硬件實(shí)驗(yàn)平臺(tái),完成了兩種算法的硬件實(shí)現(xiàn)。

          1 算法原理和理論仿真
          1.1 相關(guān)測(cè)量法
          首先在接收端利用本振信號(hào)與接收信號(hào)進(jìn)行相關(guān),再經(jīng)過(guò)數(shù)字低通濾波器濾除高頻分量,分別得到兩路接收信號(hào)的相位信息,最后相減得到相位差。由于噪聲與本振信號(hào)相關(guān)性很小,所以能夠很好地加以抑制。設(shè)被測(cè)信號(hào)為:
          a.jpg
          式中:f0為被測(cè)信號(hào)頻率;φ1,φ2分別為兩路信號(hào)的相位。兩路信號(hào)的相位差△φ=φ1-φ2,即為所求。
          b.jpg
          式中,a1為相關(guān)后輸出信號(hào)的幅度,由于兩路本振信號(hào)的幅度一致,故相關(guān)后輸出信號(hào)的幅度也可認(rèn)為相等,通過(guò)低通濾波器濾除高頻分量后可得:
          c.jpg


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();