基于FFT IP核的數(shù)字脈沖壓縮系統(tǒng)設(shè)計
O 引言
脈沖壓縮體制在現(xiàn)代雷達(dá)中被廣泛采用,通過發(fā)射寬脈沖來提高發(fā)射的平均功率,保證足夠的作用距離;接收時則采用相應(yīng)的脈沖壓縮算法獲得脈寬較窄的脈沖,以提高距離分辨力,從而能夠很好地解決作用距離和距離分辨力之間的矛盾問題。
線性調(diào)頻(LFM)信號通過在寬脈沖內(nèi)附加載波線性調(diào)制以擴(kuò)展信號帶寬,從而獲得較大的壓縮比。所需匹配濾波器對回波信號的多普勒頻移不敏感,因此LMF信號在日前許多雷達(dá)系統(tǒng)中仍在廣泛使用。
本文基于快速傅里葉IP核可復(fù)用和重配置的特點(diǎn),實現(xiàn)一種頻域的FPGA數(shù)字脈壓處理器,能夠完成正交輸入的可變點(diǎn)LFM信號脈沖壓縮,具有設(shè)計靈活,調(diào)試方便,可擴(kuò)展性強(qiáng)的特點(diǎn)。
1 系統(tǒng)功能硬件實現(xiàn)方法
該系統(tǒng)為某寬帶雷達(dá)系統(tǒng)的數(shù)據(jù)采集和數(shù)字脈沖壓縮部分。系統(tǒng)要求在1個脈沖重復(fù)周期(PRT)內(nèi)完成距離通道的數(shù)據(jù)采集及1 024點(diǎn)的數(shù)字脈沖壓縮,并在當(dāng)前PRT將脈壓結(jié)果傳送至DSP,其硬件結(jié)構(gòu)如圖1所示。
數(shù)據(jù)采集系統(tǒng)主要包括前端的運(yùn)算放大器和模/數(shù)轉(zhuǎn)換器。運(yùn)算放大器選用ADI公司的AD8138,將輸入信號由單端轉(zhuǎn)換為差分形式以滿足ADC的輸入需 求,并且消除共模噪聲的影響。模/數(shù)轉(zhuǎn)換器選用TI公司的ADS5500,具有14 b的分辨率和125 MSPS的最高采樣率,用來對輸入LFM信號進(jìn)行60 MHz的高速采樣。
數(shù)字脈沖壓縮模塊在FPGA中實現(xiàn),F(xiàn)PGA選用Xilinx公司的XQ2V1000芯片。在對輸入采樣數(shù)據(jù)進(jìn)行脈沖壓縮后,結(jié)果存儲于FPGA片內(nèi)的雙口RAM中,并向DSP發(fā)送中斷信號。DSP在接收到中斷信號后讀取RAM中的脈壓數(shù)據(jù)進(jìn)行主處理。
2 脈沖壓縮模塊的設(shè)計和實現(xiàn)
2.1 脈沖壓縮原理
數(shù)字脈沖壓縮技術(shù)是匹配濾波和相關(guān)接收理論的實際應(yīng)用,頻域的匹配濾波等效于時域的相關(guān)接收?;谄ヅ錇V波理論實現(xiàn)數(shù)字脈沖壓縮的原理如圖2所示。
圖2中θ(f)為發(fā)射信號的非線性相位譜,接收的回波信號在經(jīng)過匹配濾波后,非線性相位譜得到校正。輸出的窄脈沖為:
匹配濾波器有一個重要的特性:對波形相同而幅度和時延不同的信號具有適應(yīng)性。也就是說,與信號s(t)匹配的濾波器,對信號as(t-τ)也是匹配的。回波信號s(t)在波門中的位置反映在脈壓結(jié)果峰值出現(xiàn)的位置,這也是利用雷達(dá)脈沖進(jìn)行測距的主要依據(jù)。
2.2 脈沖壓縮原理
脈沖壓縮模塊包括FFT、與IFFT單元、復(fù)數(shù)乘法單元以及存儲單元,其結(jié)構(gòu)框圖如圖3所示。其中,FFT和IFFT單元是通過復(fù)用Xilinx公司提供的快速傅里葉變換IP核來實現(xiàn)的,而硬件乘法器則為復(fù)乘提供了解決途徑。
采樣數(shù)據(jù)首先存入FIFO中進(jìn)行全局緩存,然后FFT單元從FIFO中讀取采樣數(shù)據(jù),緊接著進(jìn)行FFT運(yùn)算,結(jié)果在流水輸出時直接與匹配濾波器系數(shù)相乘, 并將運(yùn)算結(jié)果寫入塊RAMl中,最后IFFT單元從塊RAMl中讀取復(fù)乘后的數(shù)據(jù)進(jìn)行IFFT(復(fù)用FFT運(yùn)算IP核)運(yùn)算,結(jié)果寫入塊RAMl后發(fā)送中 斷信號,等待DSP讀取。
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ù)的輸入、計算、輸出可以流水進(jìn)行,從而可以達(dá)到很高的處理速度,但資源消耗較大;
(2)基-2,最少資源消耗。這種結(jié)構(gòu)采用單個基-2蝶形單元對輸入數(shù)據(jù)進(jìn)行變換,運(yùn)算消耗的時間較長;
(3)基-4,突發(fā)I/O;這種結(jié)構(gòu)采用單個基-4蝶形單元對輸入數(shù)據(jù)進(jìn)行變換,并利用塊RAM來存儲旋轉(zhuǎn)因子,占用系統(tǒng)資源較少,在1個PRT內(nèi)可以完成脈壓結(jié)果的輸出,從而在資源和速度這兩者之間達(dá)到很好的平衡,也是設(shè)計中實際采用的結(jié)構(gòu)。
FFT處理單元主要包括2個過程:數(shù)據(jù)I/O和運(yùn)算過程,但兩者不是流水執(zhí)行的。FFT啟動信號有效后,數(shù)據(jù)開始進(jìn)行裝載,裝載完成后開始進(jìn)行FFT運(yùn)算;等待運(yùn)算結(jié)束后,結(jié)果才可以輸出。在運(yùn)算過程中,不發(fā)生數(shù)據(jù)的裝載或輸出。
在數(shù)字設(shè)計中,F(xiàn)FT和IFFT處理單元時可以采用相同的結(jié)構(gòu)來實現(xiàn)的。具體的方法是:在做IFFT運(yùn)算前,先交換輸入數(shù)據(jù)的實部和虛部,然后送入FFT 處理單元按照FFT的結(jié)構(gòu)進(jìn)行運(yùn)算,并交換FFT運(yùn)算結(jié)果的實部和虛部,最后除以運(yùn)算點(diǎn)數(shù)N,就可以得到IFFT的運(yùn)算結(jié)果。
該IP核基于上面的方法同時具有進(jìn)行IFFT運(yùn)算的功能,通過實時配置端口FWD INV上的電平可以實現(xiàn)復(fù)用,分別完成FFT和IFFT運(yùn)算。在FPGA設(shè)計中,利用結(jié)構(gòu)復(fù)用減少邏輯單元塊,不僅可以節(jié)約系統(tǒng)資源,而且能夠減少結(jié)構(gòu)間 的硬連線及傳輸線時延,有利于提高系統(tǒng)的工作頻率。
2.2.2 脈沖壓縮模塊的時序設(shè)計
由于FFT和IFFT的邏輯運(yùn)算功能已經(jīng)在IP核中實現(xiàn),因此時序設(shè)計便顯得尤為重要。在FFT(或IFFT)運(yùn)算單元中,主要的狀態(tài)與時序控制信號及其功能描述如表1所示。
在采樣距離門有效期間,將樣本數(shù)據(jù)寫入FIFO中進(jìn)行緩存。采樣結(jié)束后,通過FFT單元的寫使能信號(NFFT_WE和FWD_INV_WE)將 NFFT=010 10及FWD_INV_WE=1寫入狀態(tài)控制寄存器設(shè)定工作模式,接著啟動START信號進(jìn)行FFT運(yùn)算,寫使能信號與sTART之間僅差1個時鐘周期。 運(yùn)算結(jié)束后,DONE信號有效1個時鐘周期,輸出使能信號UNLOAD與DONE同步,經(jīng)過7個時鐘周期后數(shù)據(jù)有效信號DV開始有效,F(xiàn)FT運(yùn)算結(jié)果開始 流水輸出,同時與匹配濾波器的系數(shù)相乘,并存入RAM中。由于乘法運(yùn)算的固有延遲,寫使能RAM_EN延遲DV信號2個時鐘周期。存儲結(jié)束時,IFFT單 元的寫使能信號同時有效,并設(shè)定NFFT=01010及FWD_INV_WE=0,接著啟動START信號進(jìn)行IFFT運(yùn)算。運(yùn)算結(jié)束后,DONE信號 (與UNLOAD同步)再次有效,IFFT運(yùn)算輸出結(jié)果在DV信號有效期間直接寫入RAM中。單個PRT內(nèi)各控制信號的具體時序說明如圖4所示。
2.2.3 塊浮點(diǎn)數(shù)據(jù)格式
在數(shù)字信號處理系統(tǒng)中,數(shù)據(jù)表示格式可分為定點(diǎn)制、浮點(diǎn)制和塊浮點(diǎn)制,它們在實現(xiàn)時對系統(tǒng)資源的要求不同,工作速度也不同,有著不同的適用范圍。定點(diǎn)表示 法使用最多,簡單且速度快,但動態(tài)范圍有限,需要用合適的溢出控制規(guī)則(如定比例法)適當(dāng)壓縮輸入信號的動態(tài)范圍,但這樣會降低輸出信號的信噪比。浮點(diǎn)表 示法的優(yōu)點(diǎn)是動態(tài)范圍大,可避免溢出,能在很大的動態(tài)范圍內(nèi)達(dá)到很高的信噪比,主要缺點(diǎn)是系統(tǒng)實現(xiàn)復(fù)雜,硬件需求量大,成本和功耗高,而且速度較慢。
塊浮點(diǎn)表示法兼有定點(diǎn)法和浮點(diǎn)法的某些優(yōu)點(diǎn),是以上2種表示法的結(jié)合。這種表示法首先對一組數(shù)據(jù)進(jìn)行檢測,歸一化最大數(shù)的小數(shù)部分,再建立適當(dāng)?shù)闹笖?shù)。接 著把剩下數(shù)據(jù)的小數(shù)部分轉(zhuǎn)化為合適的數(shù),使它們可以使用最大數(shù)的指數(shù)。塊浮點(diǎn)算法的主要優(yōu)點(diǎn)是:大動態(tài)范圍、低截斷(或舍入)噪聲,是一種有效的數(shù)據(jù)表示 形式。從芯片實現(xiàn)角度上看,塊浮點(diǎn)表示法能夠保證較高的信號處理質(zhì)量,尤其適用于FFT運(yùn)算的場合。脈壓模塊中的FFT核帶有塊浮點(diǎn)運(yùn)算的功能,整個運(yùn)算 過程中的數(shù)據(jù)格式表示如圖5所示。
ADC輸入數(shù)據(jù)為14 b的二進(jìn)制補(bǔ)碼形式,對其低位補(bǔ)零擴(kuò)展為16 b(IP核要求的輸入精度)后送入FFT運(yùn)算單元,輸出結(jié)果為16 b的定點(diǎn)數(shù)以及指數(shù)EXP1。復(fù)乘包括乘法和累加運(yùn)算,即FFT結(jié)果與匹配系數(shù)進(jìn)行16 b×16 b的乘法運(yùn)算,所得結(jié)果再進(jìn)行加法運(yùn)算;在進(jìn)行加法運(yùn)算前,所有數(shù)據(jù)擴(kuò)展為33 b以防止溢出的發(fā)生,最終數(shù)據(jù)截取高16 b送入IFFT處理單元,輸出為16 b的定點(diǎn)數(shù)和指數(shù)EXP2,將其與EXPl相加后得到指數(shù)EXP。脈壓的最終結(jié)果即為IFFT后的16 b定點(diǎn)數(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所示。
在圖6中,橫軸代表距離采樣單元,即系統(tǒng)最小距離分辨率。通過系統(tǒng)實際處理結(jié)果與Madab仿真結(jié)果的對比驗證了設(shè)計的正確性和實用性。
3 結(jié)語
系統(tǒng)采用ADS5500完成14位、60 MSPS的數(shù)據(jù)采集,并在FPGA中實現(xiàn)1 024點(diǎn)的數(shù)字脈沖壓縮。設(shè)計采用并行流水方式提高工作速度,而塊浮點(diǎn)算法則充分保證運(yùn)算的精度。IP核的復(fù)用大大降低硬件規(guī)模,從而使整個系統(tǒng)具有高速 度、高精度和低功耗的特點(diǎn)。
評論