摘 要: 高時效性是SAR成像系統(tǒng)的一個關鍵性能,要求處理的數(shù)據(jù)量大、運算量大和快速進行實時處理" title="實時處理">實時處理。SAR成像運算量主要集中在距離向和方位向的壓縮處理" title="壓縮處理">壓縮處理上,常用的壓縮處理方案是采用高速DSP實現(xiàn),這種方法曾被認為是SAR實時處理的最佳硬件實現(xiàn)方案。但是,近幾年可編程器件的發(fā)展,使得FPGA成為比DSP更為優(yōu)越的壓縮處理方式。結合工程實踐,介紹了采用ALTERA公司的Strat6ix系列芯片實現(xiàn)SAR實時處理機系統(tǒng)的具體設計方案。
關鍵詞: DSP 合成孔徑雷達(SAR) 實時信號處理 FFT算法 數(shù)據(jù)壓縮
SAR成像處理運算量非常巨大,要達到準實時甚至全實時的成像處理速度,就需要高性能的處理設備。常用的數(shù)據(jù)處理方案是采用高速DSP芯片實現(xiàn)。這種方法曾被認為是SAR實時處理最佳的硬件實現(xiàn)方案,但是近幾年可編程器件的發(fā)展使得FPGA已經(jīng)成為比DSP更優(yōu)越的壓縮處理方式。與DSP相比,F(xiàn)PGA的主要優(yōu)點有:①速度快,F(xiàn)PGA有內置的高速乘法器" title="乘法器">乘法器和加法器。②DSP內部一般沒有大量的存儲器,但是SAR實時處理運算需要存儲大量的數(shù)據(jù),只能外接存儲器,這樣往往會使運算速度下降,同時電路也會更復雜和不穩(wěn)定。目前,高檔的FPGA中有巨量的高速存儲器,不用外接存儲器便可實現(xiàn)SAR實時處理運算,其速度更快,電路也更簡單。③FPGA是硬件可編程的,比DSP更加靈活,DSP往往需要外部的接口和控制芯片配合工作,F(xiàn)PGA則不需要,這樣使得硬件更簡單和小型化。
在SAR成像中,對方位維和距離維分別進行處理,不公對成像質量造成太大的損失。采用二維分離處理的算法結構可以大大節(jié)省計算量,減少算法的復雜程度,而且比較靈活實用。其算法流程圖如圖1所示。
在實際中,IFFT的實現(xiàn)可以通過將輸入數(shù)據(jù)取共軛之后做FFT運算,再取共軛,再乘1/N來完成,所以基于高速FPGA的FFT算法的實現(xiàn)成了SAR實時信號處理機系統(tǒng)的核心部分,而正確的地址產生是整個FFT運算的關鍵。用DSP和FPGA實現(xiàn)1024點FFT運算的性能比較如表1所示。
1 FFT在FPGA中實現(xiàn)的基本結構" title="基本結構">基本結構
1.1 基2 FFT 在FPGA中的實現(xiàn)
基2 FFT運算的基本單元是蝶形運算單元,其每一級的運算都由N/2個蝶形運算構成,第m級的一個蝶形運算的兩節(jié)點分別為Xm(n)和Xm(n+N/2m)?;?的蝶形運算可表示為:
式中,m表示第m級蝶形算法,n為數(shù)據(jù)所在的行數(shù),N為所要計算的數(shù)據(jù)的點數(shù),WrN為旋轉因子。蝶形算法如圖2所示,由一次復乘、兩次復加組成。
從上式可以得出基2蝶形運算需四個乘法器,但在硬件實現(xiàn)中,旋轉因子wr和wi都先被歸一化,在本系統(tǒng)中,對實部和虛部分別按32位有符號數(shù)歸一化,所以用于數(shù)據(jù)歸一化還需兩個乘法器,也就是說一共需要六個乘法器。Stratix系列芯片提供內置乘法器內核,EP1S25一共有80個8位乘法器。由8個8位乘法器可以組成一個32位乘法器,所以一共可以提供10個32位乘法器。在本系統(tǒng)中,F(xiàn)FT運算需要6個32位乘法器,參考函數(shù)相乘需要4個32位乘法器,一共需要10個32位乘法器,EP1S25剛好滿足要求。
程序采用模塊化結構,可以很方便地修改點數(shù),滿足不同的系統(tǒng)要求,也可以以此為基礎改寫為基4的FFT程序,應用于更高檔的芯片,滿足更高系統(tǒng)的要求。用FPGA實現(xiàn)FFT的基本結構如圖3所示。
以整個16點DIF為例的基2 FFT的運算流程圖如圖4所示。
1.2 基4 FFT 在FPGA中的實現(xiàn)
如果采用更高檔的FPGA芯片,由于片內乘法器的增多,可以實現(xiàn)更高基的FFT運算,比如基4或者混合基FFT運算,這樣可以成倍地提高運算速度。以4K點FFT為例,如果時鐘頻率是100MHz,即每個時鐘周期是10ns,基2 FFT運算一級需要2K個時鐘周期,而4K=212,即4K點、基2 FFT一共12級,所以4K點、基2FFT一共需要的時間是2K×12×10ns=240Kns;4K點、基4 FFT一級運算只需要1K個時鐘周期,且4K=46,即4K點、基4 FFT一共只有6級基4 FFT運算,所以如果時鐘頻率不變,基4 FFT所需要的總時間只有基2算法的1/4,即1K×6×10ns=60Kns,其它點數(shù)的運算也是如此?;?算法速度是基2算法的四倍,這對于更高要求的實時處理系統(tǒng)非常有價值。
用FPGA實現(xiàn)基4 FFT的基本結構和實現(xiàn)基2FFT是一樣的(如圖3所示),基4FFT的蝶形運算單元的結構圖如圖5所示。
蝶形運算單元的輸入、輸出關系如下:
可以看出,基4的蝶形運算單元可以同時輸入輸出四個數(shù)據(jù)進行并行蝶形運算,這就比基2蝶形運算的速度提高一倍。從運算公式還可以看出,基4 FFT運算需要12個乘法器,如果數(shù)據(jù)仍取32位,則需要12×8=96個8位乘法器,再考慮到參考函數(shù)相乘需要的4×8=32個8位乘法器,一共需要96+32=128個8位乘法器。采用Stratix系列的EP1S60及EP1S60以上的芯片就可以實現(xiàn)。圖6 是64點基4 FFT前兩級的流程圖。
在研制過程中,對基4 FFT也進行了軟件編程和仿真調試,選用的是用Altera公司的EP1S60F1020C60芯片實現(xiàn)基4方式的16K點數(shù)據(jù)壓縮" title="數(shù)據(jù)壓縮">數(shù)據(jù)壓縮,達到了預期的目的。
1.3 FPGA中實現(xiàn)FFT的幾個關鍵技術
1.3.1 運算中的精度和溢出問題
在FFT運算過程中,一個數(shù)據(jù)要經(jīng)過很多次的乘法和加法。以4K點FFT運算為例,一共有12級運算,每一級運算又是由兩級加法和一級乘法運算構成,也就是說,原始數(shù)據(jù)要經(jīng)過24級加法和12級乘法才能得到最終結果,所以在運算中如何保證精度和不溢出是一個重要問題。由于硬件資源的限制,如何解決溢出問題,又能使精度損失在系統(tǒng)中可以接受是很關鍵的。
在FFT的每一級完成之后,對結果數(shù)據(jù)進行塊浮點處理,可以保證在不溢出的情況下將有效數(shù)據(jù)前移,這樣可以使得下一級運算保持更高的精度。
1.3.2 FFT運算中的地址產生問題
在FFT運算過程中,所有的數(shù)據(jù)都存放在RAM中,所以不管是讀數(shù)據(jù)還是寫數(shù)據(jù),都涉及到RAM的地址,地址產生是整個FFT程序的關鍵問題之一。
由FFT運算流程圖可以看出,DIF形式的FFT輸入數(shù)據(jù)地址是順序的,但每一級輸出數(shù)據(jù)地址不再是原來的正序,正確的位反轉技術是保證每次操作地址正確的關鍵。
2 系統(tǒng)軟硬件調試及結果
本系統(tǒng)的調試可以概括為軟件仿真和硬件調試兩個部分?;?算法的實時信號處理機已經(jīng)通過調試驗證,并交付使用;基4算法由于受硬件條件限制,現(xiàn)只在實驗室環(huán)境中通過仿真驗證和調試。下面分別介紹調試中遇到的一些典型問題并給出各階段及系統(tǒng)最終的調試結果。
2.1 FFT算法實現(xiàn)的驗證
數(shù)據(jù)壓縮的核心內容是FFT運算,所以首先對實現(xiàn)FFT運算的數(shù)據(jù)壓縮板進行調試。眾所周知,方波經(jīng)過FFT運算之后應該是一個sinc函數(shù)。從測試口輸入一個方波作為原始數(shù)據(jù),如果輸出的結果是一個sinc函數(shù)就可以證明FFT運算成功。圖7是原始數(shù)據(jù)實部和虛部都為20點的方波(數(shù)據(jù)總長度為512點)經(jīng)過實際硬件FFT運算之后的實部、虛部及求模后的波形。可以看出結果是一個sinc函數(shù),說明實際硬件的FFT運算是正確的。
2.2 數(shù)據(jù)壓縮板實現(xiàn)數(shù)據(jù)壓縮運算
要驗證數(shù)據(jù)壓縮運算,實際上就是要驗證FFT+參考函數(shù)相乘+IFFT運算??紤]到兩個寬度相同的方波相卷積的結果是一個三角波,時域的卷積又等效于頻域相乘,所以,如果令原始數(shù)據(jù)為方波,參考函數(shù)為同樣寬度的方波,則經(jīng)過FFT之后的數(shù)據(jù)為sinc函數(shù),最終結果將是一個三角波。圖8為實驗輸出結果,可以看出結果是一個三角波,說明FFT+參考函數(shù)相乘+IFFT運算是正確的。圖9是實際硬件完成的SAR點目標壓縮波形。
通過比較可以看出以上測試結果與理論值吻合的很好,證明數(shù)據(jù)壓縮板工作的很好。
2.3 數(shù)據(jù)壓縮系統(tǒng)聯(lián)調
將同一幀原始數(shù)據(jù)送入實時信號處理系統(tǒng)中,經(jīng)過距離壓縮、矩陣轉置、方位壓縮后所得結果與軟件成像結果進行對比,實驗表明兩者得出的圖像幾乎一致,證明硬件成像結果正確。
本文研究了基于高速FPGA的SAR實時信號處理機系統(tǒng)的組成,詳細講述采用基2和基4算法在FPGA中實現(xiàn)FFT算法以及關鍵的技術。通過實驗表明,這套方案是正確的,并且這套系統(tǒng)已經(jīng)交付使用。它的運算精度和數(shù)據(jù)處理速度能夠達到要求。
參考文獻
1 Donald R.Wehner.High Resolution Radar. Artech House,1987
2 C.Prati,F.Rocca. Focusing SAR Data with Time-varying Doppler centroid. IEEE Trans.on Geoscience and Remote Sensing, 1992;Ge-30(3)
3 Alberto Moreira, Yonghong Hong. Airborne SAR Processing of Hightly Squinted Data Using a Chirp Scaling Approach with Integrated Motion Compensation. IEEE GRS.September 1994;32(5)
4 張賢達.現(xiàn)代信號處理.北京:清華大學出版社,1995