《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 用FPGA實(shí)現(xiàn)SAR實(shí)時(shí)信號(hào)處理的進(jìn)一步研究

用FPGA實(shí)現(xiàn)SAR實(shí)時(shí)信號(hào)處理的進(jìn)一步研究

2008-10-23
作者:孫志堅(jiān) 劉學(xué)梅 黃建喜 肖

  摘 要: 高時(shí)效性是SAR成像系統(tǒng)的一個(gè)關(guān)鍵性能,要求處理的數(shù)據(jù)量大、運(yùn)算量大和快速進(jìn)行實(shí)時(shí)處理" title="實(shí)時(shí)處理">實(shí)時(shí)處理。SAR成像運(yùn)算量主要集中在距離向和方位向的壓縮處理" title="壓縮處理">壓縮處理上,常用的壓縮處理方案是采用高速DSP實(shí)現(xiàn),這種方法曾被認(rèn)為是SAR實(shí)時(shí)處理的最佳硬件實(shí)現(xiàn)方案。但是,近幾年可編程器件的發(fā)展,使得FPGA成為比DSP更為優(yōu)越的壓縮處理方式。結(jié)合工程實(shí)踐,介紹了采用ALTERA公司的Strat6ix系列芯片實(shí)現(xiàn)SAR實(shí)時(shí)處理機(jī)系統(tǒng)的具體設(shè)計(jì)方案。
  關(guān)鍵詞: DSP 合成孔徑雷達(dá)(SAR) 實(shí)時(shí)信號(hào)處理 FFT算法 數(shù)據(jù)壓縮


  SAR成像處理運(yùn)算量非常巨大,要達(dá)到準(zhǔn)實(shí)時(shí)甚至全實(shí)時(shí)的成像處理速度,就需要高性能的處理設(shè)備。常用的數(shù)據(jù)處理方案是采用高速DSP芯片實(shí)現(xiàn)。這種方法曾被認(rèn)為是SAR實(shí)時(shí)處理最佳的硬件實(shí)現(xiàn)方案,但是近幾年可編程器件的發(fā)展使得FPGA已經(jīng)成為比DSP更優(yōu)越的壓縮處理方式。與DSP相比,F(xiàn)PGA的主要優(yōu)點(diǎn)有:①速度快,F(xiàn)PGA有內(nèi)置的高速乘法器" title="乘法器">乘法器和加法器。②DSP內(nèi)部一般沒有大量的存儲(chǔ)器,但是SAR實(shí)時(shí)處理運(yùn)算需要存儲(chǔ)大量的數(shù)據(jù),只能外接存儲(chǔ)器,這樣往往會(huì)使運(yùn)算速度下降,同時(shí)電路也會(huì)更復(fù)雜和不穩(wěn)定。目前,高檔的FPGA中有巨量的高速存儲(chǔ)器,不用外接存儲(chǔ)器便可實(shí)現(xiàn)SAR實(shí)時(shí)處理運(yùn)算,其速度更快,電路也更簡單。③FPGA是硬件可編程的,比DSP更加靈活,DSP往往需要外部的接口和控制芯片配合工作,F(xiàn)PGA則不需要,這樣使得硬件更簡單和小型化。
  在SAR成像中,對(duì)方位維和距離維分別進(jìn)行處理,不公對(duì)成像質(zhì)量造成太大的損失。采用二維分離處理的算法結(jié)構(gòu)可以大大節(jié)省計(jì)算量,減少算法的復(fù)雜程度,而且比較靈活實(shí)用。其算法流程圖如圖1所示。


  在實(shí)際中,IFFT的實(shí)現(xiàn)可以通過將輸入數(shù)據(jù)取共軛之后做FFT運(yùn)算,再取共軛,再乘1/N來完成,所以基于高速FPGA的FFT算法的實(shí)現(xiàn)成了SAR實(shí)時(shí)信號(hào)處理機(jī)系統(tǒng)的核心部分,而正確的地址產(chǎn)生是整個(gè)FFT運(yùn)算的關(guān)鍵。用DSP和FPGA實(shí)現(xiàn)1024點(diǎn)FFT運(yùn)算的性能比較如表1所示。


1 FFT在FPGA中實(shí)現(xiàn)的基本結(jié)構(gòu)" title="基本結(jié)構(gòu)">基本結(jié)構(gòu)
1.1 基2 FFT 在FPGA中的實(shí)現(xiàn)

  基2 FFT運(yùn)算的基本單元是蝶形運(yùn)算單元,其每一級(jí)的運(yùn)算都由N/2個(gè)蝶形運(yùn)算構(gòu)成,第m級(jí)的一個(gè)蝶形運(yùn)算的兩節(jié)點(diǎn)分別為Xm(n)和Xm(n+N/2m)?;?的蝶形運(yùn)算可表示為:
  
  式中,m表示第m級(jí)蝶形算法,n為數(shù)據(jù)所在的行數(shù),N為所要計(jì)算的數(shù)據(jù)的點(diǎn)數(shù),WrN為旋轉(zhuǎn)因子。蝶形算法如圖2所示,由一次復(fù)乘、兩次復(fù)加組成。
  從上式可以得出基2蝶形運(yùn)算需四個(gè)乘法器,但在硬件實(shí)現(xiàn)中,旋轉(zhuǎn)因子wr和wi都先被歸一化,在本系統(tǒng)中,對(duì)實(shí)部和虛部分別按32位有符號(hào)數(shù)歸一化,所以用于數(shù)據(jù)歸一化還需兩個(gè)乘法器,也就是說一共需要六個(gè)乘法器。Stratix系列芯片提供內(nèi)置乘法器內(nèi)核,EP1S25一共有80個(gè)8位乘法器。由8個(gè)8位乘法器可以組成一個(gè)32位乘法器,所以一共可以提供10個(gè)32位乘法器。在本系統(tǒng)中,F(xiàn)FT運(yùn)算需要6個(gè)32位乘法器,參考函數(shù)相乘需要4個(gè)32位乘法器,一共需要10個(gè)32位乘法器,EP1S25剛好滿足要求。
  程序采用模塊化結(jié)構(gòu),可以很方便地修改點(diǎn)數(shù),滿足不同的系統(tǒng)要求,也可以以此為基礎(chǔ)改寫為基4的FFT程序,應(yīng)用于更高檔的芯片,滿足更高系統(tǒng)的要求。用FPGA實(shí)現(xiàn)FFT的基本結(jié)構(gòu)如圖3所示。


  以整個(gè)16點(diǎn)DIF為例的基2 FFT的運(yùn)算流程圖如圖4所示。


1.2 基4 FFT 在FPGA中的實(shí)現(xiàn)
  如果采用更高檔的FPGA芯片,由于片內(nèi)乘法器的增多,可以實(shí)現(xiàn)更高基的FFT運(yùn)算,比如基4或者混合基FFT運(yùn)算,這樣可以成倍地提高運(yùn)算速度。以4K點(diǎn)FFT為例,如果時(shí)鐘頻率是100MHz,即每個(gè)時(shí)鐘周期是10ns,基2 FFT運(yùn)算一級(jí)需要2K個(gè)時(shí)鐘周期,而4K=212,即4K點(diǎn)、基2 FFT一共12級(jí),所以4K點(diǎn)、基2FFT一共需要的時(shí)間是2K×12×10ns=240Kns;4K點(diǎn)、基4 FFT一級(jí)運(yùn)算只需要1K個(gè)時(shí)鐘周期,且4K=46,即4K點(diǎn)、基4 FFT一共只有6級(jí)基4 FFT運(yùn)算,所以如果時(shí)鐘頻率不變,基4 FFT所需要的總時(shí)間只有基2算法的1/4,即1K×6×10ns=60Kns,其它點(diǎn)數(shù)的運(yùn)算也是如此。基4算法速度是基2算法的四倍,這對(duì)于更高要求的實(shí)時(shí)處理系統(tǒng)非常有價(jià)值。
  用FPGA實(shí)現(xiàn)基4 FFT的基本結(jié)構(gòu)和實(shí)現(xiàn)基2FFT是一樣的(如圖3所示),基4FFT的蝶形運(yùn)算單元的結(jié)構(gòu)圖如圖5所示。


  蝶形運(yùn)算單元的輸入、輸出關(guān)系如下:
  
  可以看出,基4的蝶形運(yùn)算單元可以同時(shí)輸入輸出四個(gè)數(shù)據(jù)進(jìn)行并行蝶形運(yùn)算,這就比基2蝶形運(yùn)算的速度提高一倍。從運(yùn)算公式還可以看出,基4 FFT運(yùn)算需要12個(gè)乘法器,如果數(shù)據(jù)仍取32位,則需要12×8=96個(gè)8位乘法器,再考慮到參考函數(shù)相乘需要的4×8=32個(gè)8位乘法器,一共需要96+32=128個(gè)8位乘法器。采用Stratix系列的EP1S60及EP1S60以上的芯片就可以實(shí)現(xiàn)。圖6 是64點(diǎn)基4 FFT前兩級(jí)的流程圖。


  在研制過程中,對(duì)基4 FFT也進(jìn)行了軟件編程和仿真調(diào)試,選用的是用Altera公司的EP1S60F1020C60芯片實(shí)現(xiàn)基4方式的16K點(diǎn)數(shù)據(jù)壓縮" title="數(shù)據(jù)壓縮">數(shù)據(jù)壓縮,達(dá)到了預(yù)期的目的。
1.3 FPGA中實(shí)現(xiàn)FFT的幾個(gè)關(guān)鍵技術(shù)
1.3.1 運(yùn)算中的精度和溢出問題

  在FFT運(yùn)算過程中,一個(gè)數(shù)據(jù)要經(jīng)過很多次的乘法和加法。以4K點(diǎn)FFT運(yùn)算為例,一共有12級(jí)運(yùn)算,每一級(jí)運(yùn)算又是由兩級(jí)加法和一級(jí)乘法運(yùn)算構(gòu)成,也就是說,原始數(shù)據(jù)要經(jīng)過24級(jí)加法和12級(jí)乘法才能得到最終結(jié)果,所以在運(yùn)算中如何保證精度和不溢出是一個(gè)重要問題。由于硬件資源的限制,如何解決溢出問題,又能使精度損失在系統(tǒng)中可以接受是很關(guān)鍵的。
  在FFT的每一級(jí)完成之后,對(duì)結(jié)果數(shù)據(jù)進(jìn)行塊浮點(diǎn)處理,可以保證在不溢出的情況下將有效數(shù)據(jù)前移,這樣可以使得下一級(jí)運(yùn)算保持更高的精度。
1.3.2 FFT運(yùn)算中的地址產(chǎn)生問題
  在FFT運(yùn)算過程中,所有的數(shù)據(jù)都存放在RAM中,所以不管是讀數(shù)據(jù)還是寫數(shù)據(jù),都涉及到RAM的地址,地址產(chǎn)生是整個(gè)FFT程序的關(guān)鍵問題之一。
  由FFT運(yùn)算流程圖可以看出,DIF形式的FFT輸入數(shù)據(jù)地址是順序的,但每一級(jí)輸出數(shù)據(jù)地址不再是原來的正序,正確的位反轉(zhuǎn)技術(shù)是保證每次操作地址正確的關(guān)鍵。
2 系統(tǒng)軟硬件調(diào)試及結(jié)果
  本系統(tǒng)的調(diào)試可以概括為軟件仿真和硬件調(diào)試兩個(gè)部分?;?算法的實(shí)時(shí)信號(hào)處理機(jī)已經(jīng)通過調(diào)試驗(yàn)證,并交付使用;基4算法由于受硬件條件限制,現(xiàn)只在實(shí)驗(yàn)室環(huán)境中通過仿真驗(yàn)證和調(diào)試。下面分別介紹調(diào)試中遇到的一些典型問題并給出各階段及系統(tǒng)最終的調(diào)試結(jié)果。
2.1 FFT算法實(shí)現(xiàn)的驗(yàn)證
  數(shù)據(jù)壓縮的核心內(nèi)容是FFT運(yùn)算,所以首先對(duì)實(shí)現(xiàn)FFT運(yùn)算的數(shù)據(jù)壓縮板進(jìn)行調(diào)試。眾所周知,方波經(jīng)過FFT運(yùn)算之后應(yīng)該是一個(gè)sinc函數(shù)。從測(cè)試口輸入一個(gè)方波作為原始數(shù)據(jù),如果輸出的結(jié)果是一個(gè)sinc函數(shù)就可以證明FFT運(yùn)算成功。圖7是原始數(shù)據(jù)實(shí)部和虛部都為20點(diǎn)的方波(數(shù)據(jù)總長度為512點(diǎn))經(jīng)過實(shí)際硬件FFT運(yùn)算之后的實(shí)部、虛部及求模后的波形。可以看出結(jié)果是一個(gè)sinc函數(shù),說明實(shí)際硬件的FFT運(yùn)算是正確的。


2.2 數(shù)據(jù)壓縮板實(shí)現(xiàn)數(shù)據(jù)壓縮運(yùn)算
  要驗(yàn)證數(shù)據(jù)壓縮運(yùn)算,實(shí)際上就是要驗(yàn)證FFT+參考函數(shù)相乘+I(xiàn)FFT運(yùn)算??紤]到兩個(gè)寬度相同的方波相卷積的結(jié)果是一個(gè)三角波,時(shí)域的卷積又等效于頻域相乘,所以,如果令原始數(shù)據(jù)為方波,參考函數(shù)為同樣寬度的方波,則經(jīng)過FFT之后的數(shù)據(jù)為sinc函數(shù),最終結(jié)果將是一個(gè)三角波。圖8為實(shí)驗(yàn)輸出結(jié)果,可以看出結(jié)果是一個(gè)三角波,說明FFT+參考函數(shù)相乘+I(xiàn)FFT運(yùn)算是正確的。圖9是實(shí)際硬件完成的SAR點(diǎn)目標(biāo)壓縮波形。


  通過比較可以看出以上測(cè)試結(jié)果與理論值吻合的很好,證明數(shù)據(jù)壓縮板工作的很好。
2.3 數(shù)據(jù)壓縮系統(tǒng)聯(lián)調(diào)
  將同一幀原始數(shù)據(jù)送入實(shí)時(shí)信號(hào)處理系統(tǒng)中,經(jīng)過距離壓縮、矩陣轉(zhuǎn)置、方位壓縮后所得結(jié)果與軟件成像結(jié)果進(jìn)行對(duì)比,實(shí)驗(yàn)表明兩者得出的圖像幾乎一致,證明硬件成像結(jié)果正確。
  本文研究了基于高速FPGA的SAR實(shí)時(shí)信號(hào)處理機(jī)系統(tǒng)的組成,詳細(xì)講述采用基2和基4算法在FPGA中實(shí)現(xiàn)FFT算法以及關(guān)鍵的技術(shù)。通過實(shí)驗(yàn)表明,這套方案是正確的,并且這套系統(tǒng)已經(jīng)交付使用。它的運(yùn)算精度和數(shù)據(jù)處理速度能夠達(dá)到要求。
參考文獻(xiàn)
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 張賢達(dá).現(xiàn)代信號(hào)處理.北京:清華大學(xué)出版社,1995

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。