<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的簡(jiǎn)易頻譜分析儀

          基于FPGA的簡(jiǎn)易頻譜分析儀

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

          3 理論分析
          3.1 數(shù)字下變頻FFT
          隨著高速A/D轉(zhuǎn)換和DSP技術(shù)的發(fā)展,數(shù)字下變頻的快速傅里葉變換FFT(Fast Fourier Transform)技術(shù)能夠有效減少傳統(tǒng)FFT技術(shù)存在的內(nèi)存不足。在高中頻、高采樣率系統(tǒng)中實(shí)現(xiàn)信號(hào)頻譜的高分辨率、低存儲(chǔ)量和低運(yùn)算量,從而極大提高系統(tǒng)的實(shí)時(shí)性。


          圖2為基于數(shù)字下變頻的FFT技術(shù)的實(shí)現(xiàn)原理框圖。
          3.2 直接數(shù)字頻率合成器DDS原理
          用直接數(shù)字頻率合成器DDS(Direct Digital Synthesiz-er)原理實(shí)現(xiàn)掃頻信號(hào)的信號(hào)源主要由參考頻率源、相位累加器、正弦波采樣點(diǎn)存儲(chǔ)RAM、數(shù)模轉(zhuǎn)換器及低通濾波器構(gòu)成。設(shè)參考頻率源頻率為fclk,計(jì)數(shù)容量為2N的相位累加器(N為相位累加器的位數(shù)),若頻率控制字為M,則DDS系統(tǒng)輸出信號(hào)的頻率為fout=fclk/2N×M,而頻率分辨率為△f=fclk/2N。為達(dá)到輸出頻率范圍為5 MHz的要求,考慮到實(shí)際低通濾波器性能的限制,fclk為200 MHz,相位累加器的位數(shù)為32位。其中高10位用做ROM地址讀波表(1個(gè)正弦波周期采樣1 024個(gè)點(diǎn)),頻率控制字也為32位,這樣理論輸出頻率滿足要求。

          4 系統(tǒng)硬件設(shè)計(jì)
          4.1 AGC電路
          輸入信號(hào)經(jīng)高速A/D采樣,信號(hào)幅度必須滿足A/D的采樣范圍,最高為2-3V,因此該系統(tǒng)設(shè)計(jì)應(yīng)加AGC電路。AGC電路采用AD603型線性增益放大器。圖3為AGC電路。

          4.2 A/D轉(zhuǎn)換電路
          ADS2806是一款12位A/D轉(zhuǎn)換器,其特點(diǎn)為:無(wú)雜散信號(hào)動(dòng)態(tài)范圍(SFDR)為73 dB;信噪比(SNR)為66 dB;具有內(nèi)部和外部參考時(shí)鐘;采樣速率為32 MS/s。圖4為ADS2806的電路。為使A/D轉(zhuǎn)換更穩(wěn)定,在A/D轉(zhuǎn)換器的電源引腳上增加濾波電容,抑制電源噪聲。該電路結(jié)構(gòu)簡(jiǎn)單,在時(shí)鐘CLK的驅(qū)動(dòng)下,數(shù)據(jù)端口實(shí)時(shí)輸出數(shù)據(jù),供讀取。



          關(guān)鍵詞: FPGA 頻譜分析儀

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