當前位置:首頁 > 工業(yè)控制 > 電子設計自動化
[導讀] 離散傅里葉變換DFT在通信、控制、信號處理、圖像處理、生物信息學、計算物理、應用數學等領域中有著廣泛的應用。FFT算法是作為DFT快速算法提出的,它將長序列的DFT分解為短序列的DFT,大大減少了運算量。FFT的FPGA實

 離散傅里葉變換DFT在通信、控制、信號處理、圖像處理、生物信息學、計算物理、應用數學等領域中有著廣泛的應用。FFT算法是作為DFT快速算法提出的,它將長序列的DFT分解為短序列的DFT,大大減少了運算量。FFT的FPGA實現同時具有軟件編程的靈活性和ASIC電路的快速性等優(yōu)點,成為快速實時實現FFT的一種重要手段。文章意在設計一種高速率高吞吐率的FFT處理器,以滿足實時處理要求。

1 數學模型

FFT的基本思想是利用旋轉因子的周期性、對稱性和可約性將一個長度為N的序列的DFT逐次分解為較短的DFT來計算,而總的運算次數比直接DFT運算要少得多,達到提高速度的目的。根據旋轉因子的周期性、對稱性和可約性,我們可以得到如式(1)的一系列有用結果。

2 結構說明

2.1 流水線結構

硬件結構實現FFT的常用形式有4種:遞歸結構,流水線結構,并行迭代結構和全并行結構。設計采用流水線結構,流水線結構一般在FFT實現的每一級均采用一個運算單元,前一級算結果直接用于下一級運算而無需等到本級運算全部完成,因此,可提高運算速度。遞歸結構的運算的時間較長,并行迭代結構對數據存取帶寬要求很高,全并行結構資源消耗過大,均不適用。

2.2 并行處理

FFT作為時域和頻域轉換的基本運算,是數字頻譜分析的必要前提,超級的運算能力在雷達處理、觀測、跟蹤、定時定位處理、高速圖像處理、保密無線通訊和數字通信、濾波等的應用上極為強烈,而實時系統對FFT的運算速度要求更高。提高FFT速度的一種有效解決方法是并行運算,如采用多個蝶形運算單元并行處理。

綜上,設計選取流水結構,4路并行處理結構。

3 硬件設計

3.1 邏輯設計

FFT邏輯框架如圖1,為了構造高速率高吞吐量的FFT,設計4路并行輸入輸出,采用基4與基2混合FFT,FFT512采用基4蝶形算法,其余則采用基2蝶形算法。

流水結構的FFT處理器的基本結構如圖2所示。實際設計由3個部分組成:運算單元、數據交換單元和重排單元。

運算單元完成蝶形運算,是處理器的核心,其運算速度直接決定整個FFT處理器的速度。由于4組輸入數據同時進入蝶形運算,所以處理速度為串行的4倍。其中,每個蝶形單元均采用流水線技術設計。運算單元啟動后,每個周期處理4組數據,完成4輸入4輸出的FFT。

數據交換單元是處理器的關鍵,實現對前一級蝶形運算單元輸出數據的交換,以滿足下一級蝶形運算的配對需求。實現方法為每一級的輸入均采用順序輸入,內部用FIFO緩存數據,按照逆序形式配對數據,等待數據到來,將加法結果輸出,減法結果存至FIFO中,待加法結果輸出完畢,繼續(xù)輸出減法結果,如此輸出結果即為順序輸出。

數據重排單元負責對最終計算結果進行重新排序,以實現自然序數輸出。512點基4框架圖如圖3所示,在512基4運算完成后,輸出數據的順序并不是所需順序,需要進行調整,由輸入數據與輸入數據的地址特點發(fā)現,倒序RAM的讀地址即完成順序輸出。

3.2 時序設計

流水示意圖如圖4所示,詳細說明如下:

FFT64模塊的5級流水:第1級,前64組輸入數據的實部、虛部均寄存在FIFO中,當第65組數據到來時,與FIFO中寄存的第一組數據做蝶形運算,將相減的結果繼續(xù)存在FIFO中待用,相加運算將在第二級進行;第2級,前64個周期,做蝶形加法,結果記為add,第65個周期起,從FIFO中讀數給add;第3級,前64個周期,add賦給第一級緩存寄存器,第65個周期起,把add賦給乘法器的輸入端;第4級,前64個周期,把第一級緩存寄存器賦值給第二級緩存寄存器,第65個周期起,做乘法運算;第5級,前64個周期,把第二級緩存寄存器的值賦給輸出端,第65個周期起,把乘法器輸出累加的結果賦給輸出端;

FFT512模塊的6級流水:第1級,當輸入有效信號拉高時,將第一組輸入數據放入第一級緩存器中,寄存第二至四組數據,待接乘法器輸入端。同時,從rom中讀取旋轉因子;第2級,第一路緩存至第二級緩存中,其余三路做乘法運算;第3級,第一路緩存至第三級緩存中,其余三路做復數乘法的加法運算;第4級,四路數據均做緩存;第5級,做如圖3中的第一個蝶形運算。其中,乘以-j運算可以用顛倒相加來完成,如此可以節(jié)省乘法器資源;第6級,做如圖3中的第二個蝶形運算,同時將輸出有效信號拉高。

FFT32、FFT16、FFT8、FFT4、FFT2、FFT1與FFT_64流水原理一致,只是控制位數不同,其分別為32、16、8、4、2、1。

4 驗證設計

Testbench是一種驗證手段,通常包含3個部分,激勵生成、待測設計、輸出校驗。針對設計搭建的testbench如圖5所示,從文件中讀取向量i_data_real、i_data_imag,經過FFT處理得到結果o_data_relal、o_data_imag,并根據end信號將向量寫入相應文檔中,與正確結果進行比對。

5 仿真結果

ISE仿真波形如圖6所示,輸出文件經與MATLAB對比驗證正確。圖(1)為整體仿真波形,輸出有效信號拉高后,數據連續(xù)輸出。圖(2)為FFT 512模塊局部仿真波形,輸入有效信號拉高后,第6個周期輸出有效,與分析的流水級數相吻合。

6 綜合結果

綜合后得到資源利用情況如表1,我們發(fā)現,并行處理帶來面積的增大,如何在實際問題中平衡速度與面積尤為重要。

7 結束語

文章用FPGA實現了512點FFT處理器,采用Verilog硬件描述語言進行RTL級描述,并完成綜合、布局布線。經過ISE仿真,結果與MATLAB仿真輸出結果吻合。處理器先采用時域基2蝶形算法,后采用時域基4蝶形算法,并行處理4個蝶形運算單元,并同時采用流水線結構,大幅度提高了處理器速度,可進行實時FFT運算。在設計中用FIFO存儲中間數據,并將旋轉因子固定為乘法器IP的常數系數,以進一步提高處理器的速度。因為采用并行結構,所以FPGA硬件資源消耗較多,系統功耗也相應增大,如何根據系統實際需求找到速度與資源的平衡至關重要。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯合牽頭組建的NVI技術創(chuàng)新聯盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現場 NVI技術創(chuàng)新聯...

關鍵字: VI 傳輸協議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉