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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于XQ2V1000 FPGA的數(shù)字脈沖壓縮系統(tǒng)實

          基于XQ2V1000 FPGA的數(shù)字脈沖壓縮系統(tǒng)實

          作者: 時間:2011-07-01 來源:網(wǎng)絡(luò) 收藏

          2.2.1 FFT處理單元的硬件復(fù)用

            在系統(tǒng)中FFT處理單元通過使用軟核Fast Fourier Transform v3.O來實現(xiàn)的。該IP核提供3種結(jié)構(gòu)選擇。

            (1)管線級,數(shù)據(jù)流水I/0。這種結(jié)構(gòu)將若干基-2蝶形單元級聯(lián)起來,使得數(shù)據(jù)的輸入、計算、輸出可以流水進行,從而可以達到很高的處理速度,但資源消耗較大;

            (2)基-2,最少資源消耗。這種結(jié)構(gòu)采用單個基-2蝶形單元對輸入數(shù)據(jù)進行變換,運算消耗的時間較長;

            (3)基-4,突發(fā)I/O;這種結(jié)構(gòu)采用單個基-4蝶形單元對輸入數(shù)據(jù)進行變換,并利用塊RAM來存儲旋轉(zhuǎn)因子,占用系統(tǒng)資源較少,在1個PRT內(nèi)可以完成脈壓結(jié)果的輸出,從而在資源和速度這兩者之間達到很好的平衡,也是設(shè)計中實際采用的結(jié)構(gòu)。

            FFT處理單元主要包括2個過程:數(shù)據(jù)I/O和運算過程,但兩者不是流水執(zhí)行的。FFT啟動信號有效后,數(shù)據(jù)開始進行裝載,裝載完成后開始進行FFT運算;等待運算結(jié)束后,結(jié)果才可以輸出。在運算過程中,不發(fā)生數(shù)據(jù)的裝載或輸出。

            在數(shù)字設(shè)計中,F(xiàn)FT和IFFT處理單元時可以采用相同的結(jié)構(gòu)來實現(xiàn)的。具體的方法是:在做IFFT運算前,先交換輸入數(shù)據(jù)的實部和虛部,然后送入FFT處理單元按照FFT的結(jié)構(gòu)進行運算,并交換FFT運算結(jié)果的實部和虛部,最后除以運算點數(shù)N,就可以得到IFFT的運算結(jié)果。

            該IP核基于上面的方法同時具有進行IFFT運算的功能,通過實時配置端口FWD INV上的電平可以實現(xiàn)復(fù)用,分別完成FFT和IFFT運算。在FPGA設(shè)計中,利用結(jié)構(gòu)復(fù)用減少邏輯單元塊,不僅可以節(jié)約系統(tǒng)資源,而且能夠減少結(jié)構(gòu)間的硬連線及傳輸線時延,有利于提高系統(tǒng)的工作頻率。

            2.2.2 脈沖壓縮模塊的時序設(shè)計

            由于FFT和IFFT的邏輯運算功能已經(jīng)在IP核中實現(xiàn),因此時序設(shè)計便顯得尤為重要。在FFT(或IFFT)運算單元中,主要的狀態(tài)與時序控制信號及其功能描述如表1所示。

            

            在采樣距離門有效期間,將樣本數(shù)據(jù)寫入FIFO中進行緩存。采樣結(jié)束后,通過FFT單元的寫使能信號(NFFT_WE和FWD_INV_WE)將NFFT=010 10及FWD_INV_WE=1寫入狀態(tài)控制寄存器設(shè)定工作模式,接著啟動START信號進行FFT運算,寫使能信號與sTART之間僅差1個時鐘周期。運算結(jié)束后,DONE信號有效1個時鐘周期,輸出使能信號UNLOAD與DONE同步,經(jīng)過7個時鐘周期后數(shù)據(jù)有效信號DV開始有效,F(xiàn)FT運算結(jié)果開始流水輸出,同時與匹配濾波器的系數(shù)相乘,并存入RAM中。由于乘法運算的固有延遲,寫使能RAM_EN延遲DV信號2個時鐘周期。存儲結(jié)束時,IFFT單元的寫使能信號同時有效,并設(shè)定NFFT=01010及FWD_INV_WE=0,接著啟動START信號進行IFFT運算。運算結(jié)束后,DONE信號(與UNLOAD同步)再次有效,IFFT運算輸出結(jié)果在DV信號有效期間直接寫入RAM中。單個PRT內(nèi)各控制信號的具體時序說明如圖4所示。

            

            2.2.3 塊浮點數(shù)據(jù)格式

            在數(shù)字信號處理系統(tǒng)中,數(shù)據(jù)表示格式可分為定點制、浮點制和塊浮點制,它們在實現(xiàn)時對系統(tǒng)資源的要求不同,工作速度也不同,有著不同的適用范圍。定點表示法使用最多,簡單且速度快,但動態(tài)范圍有限,需要用合適的溢出控制規(guī)則(如定比例法)適當(dāng)壓縮輸入信號的動態(tài)范圍,但這樣會降低輸出信號的信噪比。浮點表示法的優(yōu)點是動態(tài)范圍大,可避免溢出,能在很大的動態(tài)范圍內(nèi)達到很高的信噪比,主要缺點是系統(tǒng)實現(xiàn)復(fù)雜,硬件需求量大,成本和功耗高,而且速度較慢。

            塊浮點表示法兼有定點法和浮點法的某些優(yōu)點,是以上2種表示法的結(jié)合。這種表示法首先對一組數(shù)據(jù)進行檢測,歸一化最大數(shù)的小數(shù)部分,再建立適當(dāng)?shù)闹笖?shù)。接著把剩下數(shù)據(jù)的小數(shù)部分轉(zhuǎn)化為合適的數(shù),使它們可以使用最大數(shù)的指數(shù)。塊浮點算法的主要優(yōu)點是:大動態(tài)范圍、低截斷(或舍入)噪聲,是一種有效的數(shù)據(jù)表示形式。從芯片實現(xiàn)角度上看,塊浮點表示法能夠保證較高的信號處理質(zhì)量,尤其適用于FFT運算的場合。脈壓模塊中的FFT核帶有塊浮點運算的功能,整個運算過程中的數(shù)據(jù)格式表示如圖5所示。

            

          基于XQ2V1000 FPGA的數(shù)字脈沖壓縮系統(tǒng)實

            ADC輸入數(shù)據(jù)為14 b的二進制補碼形式,對其低位補零擴展為16 b(IP核要求的輸入精度)后送入FFT運算單元,輸出結(jié)果為16 b的定點數(shù)以及指數(shù)EXP1。復(fù)乘包括乘法和累加運算,即FFT結(jié)果與匹配系數(shù)進行16 b×16 b的乘法運算,所得結(jié)果再進行加法運算;在進行加法運算前,所有數(shù)據(jù)擴展為33 b以防止溢出的發(fā)生,最終數(shù)據(jù)截取高16 b送入IFFT處理單元,輸出為16 b的定點數(shù)和指數(shù)EXP2,將其與EXPl相加后

            得到指數(shù)EXP。脈壓的最終結(jié)果即為IFFT后的16 b定點數(shù)以及指數(shù)EXP,兩者分別存儲在FPGA片內(nèi)RAM中。

            2.3 脈沖壓縮模塊的測試

            設(shè)輸入理想LFM信號參數(shù)如下:帶寬B=40 MHz;時寬T=6μs;系統(tǒng)樣本速率為60 MHz;使用海明窗加權(quán)。在上述條件下,脈沖壓縮系統(tǒng)的輸出結(jié)果對數(shù)圖如圖6所示。

            

          基于XQ2V1000 FPGA的數(shù)字脈沖壓縮系統(tǒng)實

            在圖6中,橫軸代表距離采樣單元,即系統(tǒng)最小距離分辨率。通過系統(tǒng)實際處理結(jié)果與Madab仿真結(jié)果的對比驗證了設(shè)計的正確性和實用性。

            3 結(jié)語

            系統(tǒng)采用完成14位、60 MSPS的數(shù)據(jù)采集,并在FPGA中實現(xiàn)1 024點的。設(shè)計采用并行流水方式提高工作速度,而塊浮點算法則充分保證運算的精度。IP核的復(fù)用大大降低硬件規(guī)模,從而使整個系統(tǒng)具有高速度、高精度和低功耗的特點。


          上一頁 1 2 下一頁

          評論


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