《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的快速并行FFT及其在空間太陽望遠鏡圖像鎖定系統中的應用
基于FPGA的快速并行FFT及其在空間太陽望遠鏡圖像鎖定系統中的應用
王 濤 姜愛民 金聲震
摘要: 在空間太陽望遠鏡的在軌高速數據處理中,運算時間是影響系統性能的重要環節之一。利用FPGA豐富的邏輯單元實現快速傅里葉變換(FFT),解決了在軌實時大數據量圖像處理與航天級DSP運算速度不足之間的矛盾;利用溢出監測移位結構解決了定點運算的動態范圍問題。經過實驗驗證,各項指標均達到了設計要求。
Abstract:
Key words :

  摘  要: 在空間太陽望遠鏡的在軌高速數據處理中,運算時間是影響系統性能的重要環節之一。利用FPGA" title="FPGA">FPGA豐富的邏輯單元實現快速傅里葉變換(FFT" title="FFT">FFT),解決了在軌實時大數據量圖像處理與航天級DSP運算速度不足之間的矛盾;利用溢出監測移位結構解決了定點運算的動態范圍問題。經過實驗驗證,各項指標均達到了設計要求。

  關鍵詞: FFT  FPGA  蝶形運算

  空間太陽望遠鏡項目是我國太陽物理學家為了實現對太陽的高分辨率觀測而提出的科學計劃。它可以得到空間分辨率為0.1″的向量磁圖和0.5″的X射線圖像,實現這樣高的觀測精度的前提就是采用高精度的姿態控制系統和高精度的相關跟蹤系統。從整個系統來看,相關運算所需的時間成為限制系統性能能否提高的一個重要環節。

  目前,國際國內相關計算比較通用的實現方法有兩種:用高速DSP或者專用(FFT)處理芯片。用DSP完成相關計算(關鍵是FFT)受到航天級DSP性能的限制,現有的航天級DSP(如ADSP21020)計算一個32×32點8bit的二維FFT所用時間需要1.5ms以上,遠遠不能滿足系統設計要求;而現有的FFT處理芯片在處理速度、系統兼容性、抗輻射能力等方面不能滿足空間太陽望遠鏡所提出的要求。

  為克服這一矛盾,本文利用FPGA資源豐富、易于實現并行流水的特點設計專用的FFT處理芯片來完成復雜的、大量的數據處理;并通過在運算中作溢出監測來保證定點運算的精度,從而大大縮短系統的響應時間,將極大地提高空間太陽望遠鏡的在軌實時圖像處理能力;同時由于FPGA具有抗輻射能力,可以提高系統的可靠性,其在航天遙測遙感和星載高速數據處理等方面將有廣泛的應用前景。

1 算法構成

1.1 FFT算法選擇

  提高FFT速度的兩個主要途徑是采用流水結構和并行運算[1]。采用高基數結構也可以提高速度,只是用FPGA實現時必須綜合考慮系統要求、結構特點及片內資源。針對本系統自身特點,這里按時間抽選算法進行分析。由于32不滿足N=4m,所以32點FFT算法不能采用基-4 FFT運算。當詳細分析基-2蝶形圖時,有些蝶形運算" title="蝶形運算">蝶形運算并不需要做乘法,例如[2];對于32點DIT-FFT,一共80個蝶形運算,這種結構就有46個,極大地降低了運算復雜度。在一維FFT計算效率提高的基礎上對二維FFT采用最常用的行列算法[3],綜合各項指標本系統采用基-2 DIT行列算法。

1.2 算術運算方案

  本系統是針對32×32點16bit的二維圖像進行快速傅里葉變換(FFT),設計要求運算在0.5ms之內完成,所以采用定點運算更符合系統對時間的要求。對于定點運算,必須用定比例的方法防止溢出,即必須解決動態范圍問題。下面對其進行理論分析:

  若{x(n)}是一N點序列,其DFT為{X(K)},由Parseval定理得[4]:

  

  由式(1)可知變換結果的均方值是輸入序列均方值的N倍。考慮基-2算法的第m級蝶形運算,用Xm(i)、Xm(j)表示原來的復數,則新的一對復數Xm+1(i)、Xm+1(j)為:

  

  其中,W為旋轉因子。首先,考慮復數的均方根值。由(2)式可得:

  

  因此,從均方根意義來看,數值(實數或復數)每級都增加倍。其次,再考慮復數的最大模。由(2)式可以證明[5]:

  

  因此,復數數組的最大模是非減的。所以,對于DIT-FFT,其每一級的蝶形運算之后數值都會增加倍。在每一次運算完成之后,須將結果右移2bits以滿足要求。

2 系統實現

  系統原理如圖1所示,整個FFT運算處理單元分為三部分:存儲單元(兩個輸入/運算存儲器、一個輸出存儲器及旋轉因子存儲器)、蝶形運算單元、地址產生器。

 

2.1 存儲器

  本系統實時接收前端CCD相機的圖像。為保證CCD相機采集圖像的準確率,圖像的每一行、每一幀之間都必須有一定的時間間隔,故采用兩個存儲單元作為輸入數據和中間數據的暫存單元(如圖1所示),以節省時間實現實時處理。當系統工作時,將圖像存入存儲器、計算上一次采集的圖像、將存儲器中的結果輸出,這三個工作同時進行,用簡單的流水方式減少存儲數據所需的時間。旋轉因子則預先存儲在器件的內置ROM中。根據級數不同選用不同的因子。

2.2 蝶形運算單元

  一個基-2蝶形運算由一個復乘和兩個復加(減)組成,采用完全并行運算,進一步分解為四個實數乘法,六個實數加(減)法,分三級并行完成,加上前后輸入輸出的數據鎖存,共需要6個時鐘周期。32點的FFT需要16×5=80個基-2的蝶形運算,一幅圖像一共是32行32列,不考慮不需要做乘法的蝶形運算,一路串行共需要6×80×32×2=30720個時鐘周期,采用頻率為10MHz的時鐘,即為3ms。對于蝶形運算的第一、第二級都可以由不帶乘法器的蝶形結構來實現同步并行運算,每一個蝶形運算加上前后的數據鎖存僅需4個時鐘周期即可完成;對于第三、第四、第五級,由于帶乘法器和不帶乘法器的兩種蝶形運算結構同時存在,必須加入等待時間才可以實現嚴格同步。同時由于各級計算時間不同,所以不能實現深度流水。因此,采用多路并行及部分流水,在時間上即可滿足系統要求。

  上面討論了當運算從一級轉到另一級時,序列中數值的幅度一般會增大。因而,運算方法是在內循環中作溢出監測。如果沒有溢出,則計算照常進行;若有溢出,則把產生溢出的數據右移,一直到沒有溢出為止。記錄下移位的次數(0、1或2),并把整個序列右移同樣位數,移位總數進行累計,累計數的負值作為2的冪,由此得出最終序列的總的比例因子。比例因子s由下式定義[6][7]:

  

  這里bi為比例參數。

  

   根據公式(6),FFT的最終結果要除以比例因子。式中x(n)為原始數據,X(k)為除以比例因子之前的結果,X′(k)為最終結果,1/s為比例因子的倒數。

  如圖2所示,對于一個基-2蝶形單元,當從存儲器中讀取的Bbit輸入數據進入蝶形運算單元PE1后,經過乘法運算(MU1)乘以旋轉因子,數據變為(B+Bω)bit,然后作加(減)法,得到蝶形運算結果(B+Bω+1)bit。為防止溢出,進行移位操作。M1、M2為比例選擇器,根據不同的級數,選擇不同的比例因子。最后,輸出數據再放回到存儲器中。

 

3 FPGA器件選擇

  本設計采用XILINX公司的VERTEX" title="VERTEX">VERTEX系列XCV300-4HQ240" title="XCV300-4HQ240">XCV300-4HQ240芯片。該芯片有豐富的可配置邏輯模塊CLBs(Configurable Logic Blocks)、大量的觸發器以及內置的不占系統資源的塊RAM。系統最大工作頻率可達200MHz,兼容多種接口標準,有相應的航天級產品,是目前市場上為數不多的能達到此項要求的高性能可編程邏輯器件。

  VERTEX系列器件的一個顯著特點是內置的延遲鎖相環DLL(Delay-Locked Loop),它可以減少時鐘傳輸的衰減,每一個DLL可以驅動兩個全局時鐘信號。DLL可以倍頻,或者1.5、2、2.5、3、4、5、8以及16分頻。VERTEX系列器件內部的4-輸入查找表LUTs(Look-Up Tables)也具有多種功能:可以作為16×1bit的同步RAM,而且一個塊(Slice)中的兩個LUTs可以組合成一個16×2bit或者一個32×1bit的同步RAM或者一個16×1bit的同步多口RAM。另外,LUTs還可作為一個16bit的移位寄存器使用,該寄存器用來獲取高速或者突發數據非常理想,特別適用于數字圖像處理中的數據存儲[8]

  本設計充分利用了VERTEX器件的LUTs替代觸發器和基本門電路搭建乘法器和加法器這兩個顯著的結構特點,節省大量觸發器資源,避免了缺少觸發器而LUTs大量剩余的尷尬;增加了器件利用率、布通率,降低布線延遲。由于本系統最終用于空間太陽望遠鏡,所以板上時鐘頻率不可超過20MHz。但基于地面測試的需要,特利用DLL對外部時鐘信號進行了倍頻,以提高芯片內部的運行速度。

  本設計利用FPGA易于實現并行運算的特點實現專用的FFT處理芯片,解決了在軌實時大數據量圖像處理與航天級DSP運算速度不足之間的矛盾,提高了系統實時處理能力。兩維FFT不到400μs即可完成,高于航天級DSP(ADSP21020)1.5ms的處理速度。對太陽米粒組織圖像進行處理(實驗數據如表1所示),結果顯示數據誤差都在1%左右。這樣的誤差滿足空間太陽望遠鏡中的相關擺鏡的系統要求。實驗證明用高性能FPGA實現空間化的FFT處理芯片是完全可行的。

 

 

參考文獻

1 貢三元. VLSI陣列處理. 南京:東南大學出版社,1992

2 應啟珩,馮一云,竇維蓓. 離散時間信號分析和處理.北京:清華大學出版社,2001

3 蔣增榮,曾永泓,余品能. 快速算法. 長沙:國防科技大學出版社,1998

4 劉朝暉,韓月秋. 用FPGA實現FFT的研究. 北京:北京理工大學學報,1999

5 清華大學無線電系快速傅里葉變換組.快速傅里葉變換.北京:清華大學出版社,1980

6 W.R.Knight, R.Kaiser. A Sample Fixed-Point Error Bound for the Fast Fourier Transform. IEEE Trans.Acous-

  tics,Speech and Signal Proc.,Vol.27.No.6,pp,615~620,Dec.1979

7 High-Performance 32-Point Complex FFT. America: XILINX,2001

8 Vertex Series Data Sheet. America: XILINX, 2001

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 一级毛片直接看 | 国产精品视频永久免费播放 | 成人午夜免费在线观看 | 欧美成人鲁丝片在线观看 | 天堂在线链接 | 九九九色视频在线观看免费 | 欧美在线视频一区二区三区 | 普通话中国videos | 午夜国产大片免费观看 | 日韩欧美一级 | 免费特级黄毛片在线成人观看 | 免费一级片观看 | 日鲁夜鲁鲁狠狠综合视频 | 成人午夜精品视频在线观看 | 国产亚洲精品精品国产亚洲综合 | 欧洲成人在线视频 | 大好硬好深好爽想要视频 | 亚洲中午字幕 | 国内精品久久久久久久影视麻豆 | 亚州第一视频 | 国产福利在线 | 老司机午夜影院 | 午夜黄网站 | 欧美日韩一区二区在线 | 狠狠色狠狠色综合日日小蛇 | 色原网站 | 亚洲专区区免费 | 制服丝袜在线网站 | 日韩欧美中文字幕出 | 最近2019中文字幕大全7 | 99草在线 | 免费看大黄高清网站视频在线 | 九九热视频在线播放 | xxxx成年视频免费 | 制服丝袜中文字幕在线观看 | 中文字幕日本在线观看 | 亚洲国产精品久久久久久网站 | 国亚洲欧美日韩精品 | 最近2019中文字幕免费大全5 | 色网在线免费观看 | 欧美黄色一级片视频 |