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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 易于工程實現(xiàn)的脈沖信號實時測頻算法

          易于工程實現(xiàn)的脈沖信號實時測頻算法

          作者: 時間:2015-05-19 來源:網(wǎng)絡(luò) 收藏

            4實現(xiàn)過程

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

            加漢寧窗插值FFT測頻的實現(xiàn)框圖如圖6所示。整個算法可在一片中實現(xiàn),采樣數(shù)據(jù)進(jìn)入后,與漢寧窗數(shù)值相乘,漢寧窗值可預(yù)先存儲在內(nèi)ROM中,以查表方式讀出。加窗后的數(shù)據(jù)進(jìn)入FFT模塊進(jìn)行流水處理,得到信號的頻譜結(jié)果,對頻譜結(jié)果進(jìn)行峰值搜索,并與檢測門限比較,判斷是否存在信號,當(dāng)頻譜峰值大于檢測門限時,找出峰值位置相鄰幅度較大的譜線位置,按照式( 8)經(jīng)過插值換算,得到頻率估計值。

            

           

            圖6加窗插值FFT測頻實現(xiàn)框圖

            式( 10)中存在除法計算,實現(xiàn)時可將除法轉(zhuǎn)化為先對除數(shù)求倒數(shù),再與被除數(shù)相乘的過程,利用FPGA中豐富的RAM資源,求倒計算利用查表完成。除此之外,運(yùn)算只由常規(guī)加、乘組成,便于FPGA實現(xiàn)。

            5測試結(jié)果

            某寬帶偵察接收機(jī),指標(biāo)要求適應(yīng)脈沖寬度0. 2~1 000μs,測頻誤差不大于500 kHz.實現(xiàn)時信號檢測與頻率測量由FPGA硬件完成,算法采用定點(diǎn)實現(xiàn),頻率的分辨率設(shè)為15. 625 kHz.測頻結(jié)果送出至軟件顯示,誤差單位為kHz,取整。根據(jù)要求設(shè)置信號幅度在接收機(jī)實測靈敏度以上3 dB,頻率選擇在1 001~1 003 MHz和200 kHz步進(jìn),脈沖寬度分別設(shè)為1μs、0. 5μs和0. 2μs.測試結(jié)果如表1所示。

            

           

            表1雷達(dá)信號測頻精度測試結(jié)果

            可見在不同頻率、不同脈寬時測頻最大誤差均小于500 kHz,滿足指標(biāo)要求。

            6結(jié)束語

            論述了一種易于工程實現(xiàn)的實時測頻算法,與傳統(tǒng)方法相比可以達(dá)到更高的測頻精度。經(jīng)過試驗證明,可以滿足目前常規(guī)雷達(dá)偵察接收機(jī)的指標(biāo)要求,可應(yīng)用于目標(biāo)為的電子對抗系統(tǒng),具有較高的應(yīng)用價值。

          脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: 脈沖信號 FPGA

          評論


          相關(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); })();