基于FPGA的雷達(dá)脈沖壓縮系統(tǒng)設(shè)計(jì)
脈沖壓縮技術(shù)是指對雷達(dá)發(fā)射的寬脈沖信號進(jìn)行調(diào)制(如線性調(diào)頻、非線性調(diào)頻、相位編碼),并在接收端對回波寬脈沖信號進(jìn)行脈沖壓縮處理后得到窄脈沖的實(shí)現(xiàn)過程。脈沖壓縮有效地解決了雷達(dá)作用距離與距離分辨率之間的矛盾,可以在保證雷達(dá)在一定作用距離下提高距離分辨率。
線性調(diào)頻信號的脈沖壓縮
脈沖壓縮的過程是通過對接收信號s(t)與匹配濾波器的脈沖響應(yīng)h(t)求卷積的方法實(shí)現(xiàn)的。而處理數(shù)字信號時,脈壓過程是通過對回波序列s(n)與匹配濾波器的脈沖響應(yīng)序列h(n)求卷積來實(shí)現(xiàn)的。匹配濾波器的輸出為:
(1)
依據(jù)式(1)的實(shí)現(xiàn)方法叫做時域相關(guān)法。根據(jù)傅里葉變換理論,時域卷積等效于頻域相乘,因此,式(1)可以采用快速傅里葉變換(FFT)及反變換(IFFT)在頻域內(nèi)實(shí)現(xiàn),稱為頻域快速卷積法。
用頻域方法實(shí)現(xiàn)數(shù)字脈壓,其基本原理是先對外部采樣信號進(jìn)行快速傅里葉變換(FFT)以求得回波信號頻譜 S(w),再將S(w)與匹配濾波器頻譜H(w)進(jìn)行乘積運(yùn)算,最后對乘積結(jié)果進(jìn)行快速傅里葉逆變換(IFFT)得到脈壓結(jié)果Y(n),用公式表示為
(2)
頻域快速卷積法的原理如圖1所示,存儲器中存儲的是匹配濾波器傳遞函數(shù)H(k)。
圖1 頻域脈沖壓縮原理框圖
依據(jù)匹配濾波理論,數(shù)字匹配濾波器的脈沖響應(yīng)h(n)及傳遞函數(shù)H(k)為
h(n)=s1(-n),H(k)=s1(k) (3)
其中, s(n)為雷達(dá)發(fā)射信號序列;S(k)為信號序列頻譜。
數(shù)字脈沖壓縮系統(tǒng)
1 系統(tǒng)構(gòu)成和硬件設(shè)計(jì)
本系統(tǒng)是單脈沖雷達(dá)信號處理機(jī)的一部分,由于單脈沖雷達(dá)所需要處理的距離、方位/俯仰兩路信號來自同一發(fā)射信號源的目標(biāo)反射回波,要求對兩路信號進(jìn)行同時、同頻ADC采樣和完全相同算法的脈沖壓縮處理。針對這一特點(diǎn),雷達(dá)數(shù)字脈沖壓縮系統(tǒng)將相同的脈沖壓縮處理功能移至兩片FPGA芯片內(nèi)。由于對雷達(dá)體積、重量、功耗等指標(biāo)有特殊要求,本系統(tǒng)采用二個通道的脈沖壓縮處理硬件結(jié)構(gòu),即方位和俯仰兩路信號分時共用一個脈沖壓縮通道。雷達(dá)信號處理分系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖2 雷達(dá)信號處理分機(jī)硬件結(jié)構(gòu)圖
系統(tǒng)中,數(shù)據(jù)采樣后分為和路和差路(包括航向差和俯仰差)兩組數(shù)據(jù),分別輸入兩片FPGA單獨(dú)進(jìn)行脈沖壓縮計(jì)算,脈沖壓縮后再送入后端的DSP做譜分析,以確定目標(biāo)的距離、速度、方位等情況。由框圖中我們看到,FPGA不僅要對數(shù)據(jù)做脈沖壓縮計(jì)算,還承擔(dān)了對輸入數(shù)據(jù)處理和讀寫狀態(tài)寄存器的任務(wù)。狀態(tài)寄存器存儲了脈沖壓縮計(jì)算的控制參數(shù),由后端的DSP根據(jù)分析的結(jié)果對其做相應(yīng)的控制。
2 軟件設(shè)計(jì)
根據(jù)位內(nèi)運(yùn)算結(jié)構(gòu)的特點(diǎn),針對芯片內(nèi)嵌的塊RAM資源豐富的優(yōu)勢,脈沖壓縮系統(tǒng)采用兩片存儲器的乒乓操作,在FFT的每一級運(yùn)算中使一片雙口RAM的兩個端口同時處于讀或?qū)憼顟B(tài),達(dá)到每個時鐘周期輸出兩個操作數(shù)的需要。而且,數(shù)據(jù)經(jīng)蝶算單元運(yùn)算結(jié)束后以相同的地址寫入另一片雙口RAM,節(jié)省了寫地址生成的時間,為設(shè)計(jì)高速的FFT系統(tǒng)提供了可能。
如圖3所示,采用兩片中間級RAM:RAMA和RAMB,用它們來完成乒乓操作。地址產(chǎn)生模塊生成的讀地址同時與中間級的兩片RAM相連,控制相應(yīng)的RAM讀取所需的操作數(shù),操作數(shù)經(jīng)蝶算模塊運(yùn)算后以同址方式寫入到另一片RAM的兩個端口。RAM的讀寫由地址產(chǎn)生模塊生成的寫使能信號控制,處于讀狀態(tài)的RAM寫使能置零,而另一片的寫使能端置高,處于寫狀態(tài)。而且,RAM被設(shè)置為寫狀態(tài)時輸出端口不輸出,以減少RAM的讀取次數(shù)。這樣,輸入RAM變?yōu)檩敵鯮AM,輸出RAM變?yōu)檩斎隦AM,如此反復(fù),直到FFT最后一級。
圖3 脈沖壓縮系統(tǒng)的結(jié)構(gòu)框圖
FFT的每一級運(yùn)算結(jié)束后,兩塊RAM功能互換,寫使能變反,運(yùn)算結(jié)束。RAM的每次輸出數(shù)據(jù)需經(jīng)過數(shù)據(jù)選擇模塊(datamux),該模塊由地址產(chǎn)生模塊輸出的當(dāng)前級數(shù)信號Stage控制。本系統(tǒng)采用三種FFT模式:1024點(diǎn)、512點(diǎn)和256點(diǎn),均采用同一旋轉(zhuǎn)因子ROM。根據(jù)FFT點(diǎn)數(shù)的不同,ROM的讀地址expaddr做相應(yīng)的調(diào)整,這樣的設(shè)計(jì)也在很大程度上節(jié)省了芯片內(nèi)的塊RAM資源。
3 系統(tǒng)性能
針對本雷達(dá)信號處理機(jī)對實(shí)時性和高精度的要求,我們設(shè)計(jì)研制出具有自主知識產(chǎn)權(quán)的高性能脈沖壓縮處理系統(tǒng),該處理系統(tǒng)具有以下特點(diǎn):
A 處理系統(tǒng)內(nèi)部采用24位自定制浮點(diǎn)數(shù)據(jù)格式,能夠兼顧處理系統(tǒng)的資源占用和處理精度。數(shù)據(jù)輸入為定點(diǎn)數(shù)據(jù)格式,輸出為標(biāo)準(zhǔn)32位浮點(diǎn)數(shù)據(jù)格式。
B 處理系統(tǒng)工作時,需要依次完成FFT運(yùn)算、復(fù)數(shù)乘法運(yùn)算和IFFT運(yùn)算。在進(jìn)行FFT和IFFT運(yùn)算時,蝶形運(yùn)算/乘法運(yùn)算單元完成蝶形運(yùn)算操作;在進(jìn)行復(fù)數(shù)乘法運(yùn)算時,該單元完成乘法操作。這兩種操作在實(shí)際工程中分時實(shí)現(xiàn),并且共享浮點(diǎn)數(shù)規(guī)格化處理硬件電路。
C 處理系統(tǒng)中進(jìn)行FFT/IFFT運(yùn)算的長度N(N=2048、1024或512)由雷達(dá)信號處理機(jī)的控制信號決定。
D 內(nèi)置三組數(shù)據(jù)存儲器(輸入數(shù)據(jù)RAM、同址運(yùn)算RAM、輸出數(shù)據(jù)RAM),保證處理系統(tǒng)能全速運(yùn)行,提高該處理系統(tǒng)的處理能力。
E 旋轉(zhuǎn)因子(N=1024時的FFT運(yùn)算旋轉(zhuǎn)因子)以上電初值的形式存儲在FPGA片內(nèi)存儲器中。當(dāng)N=512、256時,其旋轉(zhuǎn)因子從N=1024的旋轉(zhuǎn)因子中抽取得到。N點(diǎn)IFFT的旋轉(zhuǎn)因子由N點(diǎn)FFT的旋轉(zhuǎn)因子取共扼得到。
實(shí)驗(yàn)結(jié)果
本雷達(dá)信號處理機(jī)存在三組時間—帶寬指標(biāo),分別對其進(jìn)行理論仿真和實(shí)際輸出結(jié)果對照,其結(jié)果如圖4、圖5和圖6所示。
圖4 1024點(diǎn)脈沖壓縮狀態(tài)FPGA計(jì)算結(jié)果與MATLAB計(jì)算結(jié)果對比圖
圖5 512點(diǎn)脈沖壓縮狀態(tài)FPGA計(jì)算結(jié)果與MATLAB計(jì)算結(jié)果對比圖
圖6 256點(diǎn)脈沖壓縮狀態(tài)FPGA計(jì)算結(jié)果與MATLAB計(jì)算結(jié)果對比圖
圖4至圖6分別對應(yīng)時寬為60μs、20μs、6μs,帶寬均為5M的線性調(diào)頻信號。其中,左圖對應(yīng)MATLAB的計(jì)算結(jié)果,右圖為FPGA芯片的輸出結(jié)果??梢钥吹?,F(xiàn)PGA芯片的輸出結(jié)果和MATLAB仿真結(jié)果吻合。經(jīng)測試驗(yàn)證結(jié)果良好,最大誤差不超過-76db,在內(nèi)部時鐘頻率80MHz條件下,完成1024點(diǎn)FFT 運(yùn)行時間為146μs ,滿足了雷達(dá)系統(tǒng)實(shí)時處理要求,達(dá)到了滿意的效果。
評論