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