基于FPGA雷達(dá)成像方位脈沖壓縮系統(tǒng)
合成孔徑雷達(dá)成像算法中較為成熟和應(yīng)用廣泛的算法主要有距離-多普勒(R-D)算法和線性調(diào)頻變標(biāo)(CS)算法。R-D算法復(fù)雜度相對(duì)較低,運(yùn)算比 較簡(jiǎn)單,雖然其成像質(zhì)量并不高,但是相比對(duì)穩(wěn)定性、存儲(chǔ)空間、功耗與實(shí)時(shí)性要求都很高的實(shí)時(shí)SAR成像系統(tǒng),其應(yīng)用十分廣泛。在整個(gè)有距離-多普勒(R- D) 算法中方位脈沖壓縮系統(tǒng)是設(shè)計(jì)的關(guān)鍵。隨著FPGA芯片突飛猛進(jìn)的發(fā)展,實(shí)時(shí)雷達(dá)成像方位脈沖壓縮系統(tǒng)在FPGA上實(shí)現(xiàn)變成了可能。
1 脈沖壓縮及方位脈沖壓縮系統(tǒng)的結(jié)構(gòu)
1.1 脈沖壓縮的基本原理
實(shí)現(xiàn)脈沖壓縮必須滿足兩個(gè)條件:一是發(fā)射脈沖必須具有非線性的相位譜并且其脈沖寬度與有效頻譜寬度的乘積》1;二是接收機(jī)中必須具有一個(gè)壓縮網(wǎng)絡(luò), 其相頻特性應(yīng)與發(fā)射信號(hào)實(shí)現(xiàn)“共軛匹配”。線性調(diào)頻信號(hào)又稱(chēng)為Chirp信號(hào),是廣泛應(yīng)用在信號(hào)處理領(lǐng)域的一種脈沖壓縮信號(hào)。線性調(diào)頻信號(hào)是具有矩形包絡(luò) 的寬脈沖信號(hào),其特點(diǎn)是具有二次型的非線性相位譜和線性頻率譜,即頻率具有線性特性。一維線性調(diào)頻信號(hào)的表達(dá)式為
其中,t為時(shí)間變量,T為線性調(diào)頻脈沖寬度,f0為載頻頻率,k為調(diào)頻斜率。信號(hào)的相位函數(shù)和頻譜函數(shù)為
由式(2)可知,信號(hào)的調(diào)頻斜率與時(shí)間成線性關(guān)系。
由于線性調(diào)頻信號(hào)的以上特點(diǎn),線性調(diào)頻信號(hào)適合實(shí)現(xiàn)脈沖壓縮,是一種典型的脈沖壓縮方法:首先線性調(diào)頻脈沖的相位譜是非線性的,具有較大的時(shí)間帶寬 積;其次匹配濾波器是在輸入為確知信號(hào)加白噪聲的情況下,得到最大輸出信噪比的傳遞網(wǎng)絡(luò),滿足壓縮網(wǎng)絡(luò)的條件。因此,采用匹配濾波器對(duì)信號(hào)進(jìn)行濾波,得到 輸出信號(hào)最大的信噪比。
對(duì)線性調(diào)頻信號(hào)進(jìn)行脈沖壓縮的基本原理可以總結(jié)為:對(duì)寬脈沖線性調(diào)頻信號(hào)進(jìn)行匹配濾波處理,使其能量集中,成為窄脈沖信號(hào),從而獲得線性調(diào)頻信號(hào)大 時(shí)間帶寬積所對(duì)應(yīng)的高分辨率。線形調(diào)頻信號(hào)脈沖壓縮具體實(shí)現(xiàn)是先把一維線性調(diào)頻信號(hào)從時(shí)域轉(zhuǎn)換到頻域,再求其對(duì)應(yīng)匹配濾波器的傳遞函數(shù)。匹配濾波器脈沖響 應(yīng)是信號(hào)的時(shí)間鏡像復(fù)共軛,其時(shí)域表達(dá)式為
根據(jù)駐定相位原理,可以得到匹配濾波器的傳遞函數(shù)為
線性調(diào)頻信號(hào)經(jīng)過(guò)匹配濾波器完成脈沖壓縮過(guò)程,輸出表達(dá)式為
1.2 方位脈沖壓縮系統(tǒng)的結(jié)構(gòu)
實(shí)現(xiàn)R-D算法中方位脈沖壓縮的思路是先將信號(hào)經(jīng)過(guò)FFT變換到頻域,然后與匹配函數(shù)經(jīng)過(guò)FFT后的結(jié)果進(jìn)行匹配相乘,再經(jīng)過(guò)IFFT得到壓縮好的 脈沖。在FPGA上實(shí)現(xiàn)時(shí),應(yīng)該包括輸入\輸出數(shù)據(jù)控制模塊、FFT\IFFT模塊、匹配函數(shù)運(yùn)算模塊、匹配相乘模塊。數(shù)據(jù)流及各個(gè)模塊的相互關(guān)系,如圖 1所示。
距離脈沖壓縮的數(shù)據(jù)先進(jìn)入輸入數(shù)據(jù)控制模塊,送入FFT運(yùn)算模塊,同時(shí)匹配函數(shù)運(yùn)算模塊進(jìn)行工作,輸出計(jì)算好的匹配函數(shù),與FFT的輸出結(jié)果同時(shí)送到匹配相乘模塊中,相乘后的結(jié)果送入IFFT模塊中,最后將IFFT的結(jié)果經(jīng)輸出數(shù)據(jù)控制模塊進(jìn)行輸出。
2 方位脈沖壓縮系統(tǒng)的FPGA設(shè)計(jì)
2.1 輸入/輸出控制模塊
輸入數(shù)據(jù)控制模塊的主要作用是將數(shù)據(jù)送入FFT模塊,同時(shí)給出FFT模塊所需的控制信號(hào),例如數(shù)據(jù)有效信號(hào)。數(shù)據(jù)流入數(shù)據(jù)控制模塊時(shí)要做好緩存工 作,保證其與FFT控制信號(hào)同步進(jìn)入FFT模塊。為了節(jié)省FPGA的資源,可以把相同功能的模塊,如FFT/IFFT,進(jìn)行復(fù)用。若FFT與IFFT模塊 復(fù)用,則應(yīng)在輸入模塊中加入狀態(tài)機(jī)來(lái)進(jìn)行控制。狀態(tài)1為無(wú)任何原始數(shù)據(jù)輸入并且無(wú)IFFT運(yùn)算的數(shù)據(jù)輸入的狀態(tài);狀態(tài)2為僅有原始數(shù)據(jù)輸入而無(wú)IFFF運(yùn) 算的數(shù)據(jù)輸入的狀態(tài);狀態(tài)3為無(wú)原始數(shù)據(jù)輸入但是有進(jìn)行IFFT運(yùn)算的數(shù)據(jù)輸入的狀態(tài)。狀態(tài)機(jī)僅需要原始數(shù)據(jù)有效的使能信號(hào)與匹配相乘后數(shù)據(jù)有效的使能信 號(hào)來(lái)進(jìn)行控制即可。狀態(tài)1代表了整個(gè)系統(tǒng)處于等待數(shù)據(jù)輸入初始化的工作狀態(tài)。狀態(tài)2代表了原始數(shù)據(jù)進(jìn)行FFT運(yùn)算的工作狀態(tài)。狀態(tài)3代表了匹配相乘后數(shù)據(jù) 進(jìn)行IFFT的工作狀態(tài)。
在FFT模塊與IFFT模塊復(fù)用的結(jié)構(gòu)中,輸出控制模塊的作用是當(dāng)匹配相乘的數(shù)據(jù)到來(lái)時(shí),將其送入輸入數(shù)據(jù)控制模塊,再由輸入數(shù)據(jù)控制模塊送入 FFT模塊去完成IFFT運(yùn)算;當(dāng)計(jì)算出IFFT的結(jié)果時(shí),輸出數(shù)據(jù)控制模塊直接將結(jié)果輸出。實(shí)現(xiàn)上述功能,只需使用狀態(tài)機(jī)即可,其工作原理與輸入數(shù)據(jù)控 制模塊中的狀態(tài)機(jī)類(lèi)似。
2.2 FFT/IFFT模塊
在FFF/IFFT模塊的設(shè)計(jì)上,為了提高設(shè)計(jì)的性能,增加設(shè)計(jì)的靈活性,采用Altera公司于2005年4月推出的版本號(hào)為2.1.3的FFT 的IPcore進(jìn)行FFT和IFFT運(yùn)算。該IP core是一個(gè)高性能、高度參數(shù)化的,執(zhí)行正向復(fù)數(shù)FFT與反向復(fù)數(shù)IFFT的FFT處理器。
2.3 匹配函數(shù)運(yùn)算模塊
方位壓縮的匹配函數(shù)為匹配函數(shù)再經(jīng)過(guò)FFT變換到頻域。在FPGA實(shí)現(xiàn)時(shí)要把模擬參量量化成離散的數(shù)字參量來(lái)進(jìn)行處理。其中γm(RB),RB以雷 達(dá)到場(chǎng)景中心線的距離Rs為參考進(jìn)行數(shù)字量化,即每一個(gè)距離單元的RB=Rs+n deltaR,則RB相對(duì)每一個(gè)距離單元為常數(shù)。慢時(shí)間tm以脈沖重復(fù)時(shí)間1/PRF進(jìn)行數(shù)字量化,相對(duì)于每一個(gè)方位單元為常數(shù)。在設(shè)計(jì)時(shí),由于 γm(RB)對(duì)于同一個(gè)距離單元來(lái)說(shuō)為常數(shù),所以可以把不同距離單元的γm(RB)按一定順序存入一個(gè)ROM中,在處理不同的距離單元時(shí)讀取相對(duì)應(yīng)的 γm(RB)。αr(tm)實(shí)現(xiàn)時(shí)用漢明窗。對(duì)于exp()采用CORDIC算法生成sin,cos來(lái)進(jìn)行實(shí)現(xiàn)。若一個(gè)距離單元nan有個(gè)采樣點(diǎn),則向量 由于PRF為常數(shù),所以僅需設(shè)計(jì)一個(gè)產(chǎn)生向量[-nan/2:nan/2-1]2的模塊,即每個(gè)時(shí)鐘周期送出向量[-nan/2:nan/2-1]2中的 一個(gè)數(shù)。匹配函數(shù)運(yùn)算模塊的框圖,如圖2所示。
CORDIC模塊的實(shí)現(xiàn)是匹配函數(shù)運(yùn)算模塊設(shè)計(jì)的重點(diǎn)。CORDIC(Coordinate Rotation Digital Com-puter算法即坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算方法。主要用于三角函數(shù)、雙曲線、指數(shù)、對(duì)數(shù)的計(jì)算。CORDIC模塊采用18級(jí)流水線結(jié)構(gòu)來(lái)實(shí)現(xiàn),如圖3所 示。18級(jí)寄存器組中下一級(jí)寄存器中的輸入數(shù)據(jù)是上一級(jí)寄存器的輸出數(shù)據(jù)進(jìn)行移位后相加或減組合得到的。進(jìn)行加運(yùn)算還是減運(yùn)算完全由控制模塊控制??刂颇?塊的輸入就是整個(gè)CORDIC模塊的輸入,即要進(jìn)行sin,cos計(jì)算的角度э1??刂颇K也采用流水線結(jié)構(gòu)與18級(jí)寄存器組一一對(duì)應(yīng),達(dá)到對(duì)各級(jí)流水線 的控制。18級(jí)流水線設(shè)計(jì)需要18個(gè)時(shí)鐘周期來(lái)獲取第一個(gè)計(jì)算結(jié)果,而只需要一個(gè)時(shí)鐘周期來(lái)獲取隨后的計(jì)算結(jié)果。流水線結(jié)構(gòu)的特點(diǎn)非常適合應(yīng)用于方位脈沖 壓縮匹配函數(shù)運(yùn)算的設(shè)計(jì):首先,實(shí)時(shí)成像需要很高的數(shù)據(jù)吞吐量,這與流水線結(jié)構(gòu)的優(yōu)勢(shì)相符合;其次距離單元的數(shù)據(jù)是隨著時(shí)鐘依次進(jìn)入運(yùn)算模塊的,即一個(gè)時(shí) 鐘周期讀人一個(gè)距離單元的數(shù)據(jù),這與流水線結(jié)構(gòu)的特點(diǎn)十分的吻合。采用流水線結(jié)構(gòu)實(shí)現(xiàn)CORDIC算法,可以使匹配函數(shù)的數(shù)據(jù)在每個(gè)周期逐個(gè)輸出,僅做好 同步工作,使匹配函數(shù)的數(shù)據(jù)與距離脈沖壓縮結(jié)果對(duì)應(yīng)匹配相乘即可。
2.4 匹配相乘模塊
匹配相乘模塊主要完成的工作,是把距離脈沖壓縮的數(shù)據(jù)經(jīng)FFT后的結(jié)果與匹配函數(shù)對(duì)應(yīng)相乘,再把相乘的結(jié)果送出。匹配相乘模塊的核心是復(fù)數(shù)乘法器。 復(fù)數(shù)乘法器是由4個(gè)普通乘法器和兩個(gè)加法器組成。假設(shè)完成(a+bi)×(c+di)的操作,先分別計(jì)算a×c,a×d,b×c,b×d這4個(gè)實(shí)數(shù)與實(shí)數(shù) 的乘法運(yùn)算,再把減法運(yùn)算a×c-b×d結(jié)果作為復(fù)數(shù)乘法器輸出的實(shí)部,加法運(yùn)算a×d+b×c的結(jié)果作為復(fù)數(shù)乘法器輸出的虛部。
對(duì)數(shù)據(jù)的同步也是設(shè)計(jì)的重點(diǎn)。因?yàn)榫嚯x脈沖壓縮經(jīng)FFT后的數(shù)據(jù)與匹配函數(shù)的數(shù)據(jù)并不是同時(shí)進(jìn)入匹配相乘模塊。距離脈沖壓縮經(jīng)FFT后的數(shù)據(jù)較先進(jìn) 入,主要是因?yàn)槠ヅ浜瘮?shù)運(yùn)算的CORDIC采用流水線結(jié)構(gòu),需要18個(gè)時(shí)鐘周期來(lái)獲取第一個(gè)計(jì)算結(jié)果而產(chǎn)生匹配函數(shù)數(shù)據(jù)的延遲。所以應(yīng)該對(duì)匹配相乘模塊對(duì) 距離脈沖壓縮經(jīng)FFT后的數(shù)據(jù)進(jìn)行緩沖。緩沖采用FIFO模塊來(lái)實(shí)現(xiàn)。FIFO可以采用自帶的IP core。
3 波形仿真與性能分析
驗(yàn)證方法采用比對(duì)的方法,即單個(gè)目標(biāo)點(diǎn)的仿真數(shù)據(jù)分別進(jìn)行理論方位脈沖壓縮仿真和基于FPGA的方位脈沖壓縮仿真,并將得到的仿真結(jié)果進(jìn)行比對(duì)。仿 真數(shù)據(jù)中一個(gè)距離單元的點(diǎn)數(shù)為16 384點(diǎn)。驗(yàn)證過(guò)程是首先在。Matlab軟件環(huán)境下對(duì)單個(gè)點(diǎn)目標(biāo)的一個(gè)距離單元進(jìn)行方位脈沖壓縮的仿真,即理論仿真,然后再在Modelsim環(huán)境下對(duì) 該距離單元進(jìn)行方位脈沖壓縮的FPGA仿真,并將得到的結(jié)果與Matlab下得到的理論結(jié)果進(jìn)行比較。其比較的波形,如圖4所示。
選用Ahera公司芯片EP2S130F780C5進(jìn)行測(cè)試。穩(wěn)定工作時(shí)時(shí)鐘頻率可以達(dá)到150 MHz。
4 結(jié)束語(yǔ)
方位脈沖壓縮系統(tǒng)是這個(gè)R-D算法在FPGA實(shí)現(xiàn)的關(guān)鍵。文中給出的方案通過(guò)實(shí)驗(yàn)驗(yàn)證能夠達(dá)到設(shè)計(jì)的要求。實(shí)驗(yàn)表明,隨著可編程器件規(guī)模、速度的不斷提高,采用FPGA實(shí)現(xiàn)高速數(shù)字信號(hào)處理的算法具有可行性和優(yōu)越性。