當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]本文提出了基于FPGA實(shí)現(xiàn)傅里葉變換點(diǎn)數(shù)可靈活擴(kuò)展的流水線FFT處理器的結(jié)構(gòu)設(shè)計(jì)以及各功能模塊的算法實(shí)現(xiàn)

摘 要:本文提出了基于FPGA實(shí)現(xiàn)傅里葉變換點(diǎn)數(shù)可靈活擴(kuò)展的流水線FFT處理器的結(jié)構(gòu)設(shè)計(jì)以及各功能模塊的算法實(shí)現(xiàn),包括高組合數(shù)FFT算法的流水線實(shí)現(xiàn)結(jié)構(gòu)、級(jí)間混序讀/寫(xiě)RAM地址規(guī)律、短點(diǎn)數(shù)FFT陣列處理結(jié)構(gòu)以及補(bǔ)碼實(shí)現(xiàn)CORDIC算法的流水線結(jié)構(gòu)等。利用FPGA實(shí)現(xiàn)的各功能模塊組裝了64點(diǎn)FFT處理器。從其計(jì)算性能可知,在輸入數(shù)據(jù)速率為20 MHz時(shí),利用此結(jié)構(gòu)實(shí)現(xiàn)的FFT處理器計(jì)算1 024點(diǎn)FFT的運(yùn)算時(shí)間約為52μs。
關(guān)鍵詞:快速傅里葉變換;處理器;坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī);現(xiàn)場(chǎng)可編程門(mén)陣列;設(shè)計(jì)

一、引言
  
DFT(離散傅里葉變換)作為將信號(hào)從時(shí)域轉(zhuǎn)換到頻域的基本運(yùn)算,在各種數(shù)字信號(hào)處理中起著核心作用,其快速算法FFT(快速傅里葉變換)在無(wú)線通信、語(yǔ)音識(shí)別、圖像處理和頻譜分析等領(lǐng)域有著廣泛的應(yīng)用。用大規(guī)模集成電路FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)來(lái)實(shí)現(xiàn)FFT算法時(shí),需要重點(diǎn)考慮的不再是算法運(yùn)算量,而是算法的復(fù)雜性、規(guī)整性和模塊化,因?yàn)樗惴ǖ暮?jiǎn)單性和規(guī)整性將更適合大規(guī)模集成,更方便于版圖設(shè)計(jì),而算法的模塊化更有利于FFT處理器的靈活擴(kuò)展。組合數(shù)FFT算法和CORDIC(坐標(biāo)旋轉(zhuǎn)數(shù)字計(jì)算機(jī))算法結(jié)合起來(lái),在計(jì)算長(zhǎng)點(diǎn)數(shù)、可擴(kuò)展FFT時(shí)具有較大的優(yōu)越性1,2。而面向高速、大容量數(shù)據(jù)流的FFT的實(shí)時(shí)處理,可以通過(guò)VLSI(超大規(guī)模集成電路)器件的并行處理或多級(jí)流水線處理等來(lái)達(dá)到。特別是多級(jí)流水線處理的FFT結(jié)構(gòu)使得基于FPGA器件的FFT處理器完成不同點(diǎn)數(shù)的FFT計(jì)算時(shí)可以通過(guò)增減模塊級(jí)數(shù)很容易地實(shí)現(xiàn)。

二、組合數(shù)N=r1r2點(diǎn)混合基FFT原理
  
計(jì)算N點(diǎn)DFT:
  
  式中k=0,1,…,N-1。
  若N=r1r2的組合數(shù),可將n(n<N)表示為
  
  式(2)的意義在于,計(jì)算組合數(shù)N=r1r2點(diǎn)DFT,等價(jià)于先求出r?2組r?1點(diǎn)的DFT,其結(jié)果經(jīng)過(guò)對(duì)應(yīng)旋轉(zhuǎn)因子的相位旋轉(zhuǎn)后,再計(jì)算r1組r2點(diǎn)的DFT。實(shí)際應(yīng)用中,DFT往往用它的快速算法FFT實(shí)現(xiàn),因而式(2)中的r1點(diǎn)DFT和r2點(diǎn)DFT都用r1點(diǎn)FFT和r2點(diǎn)FFT實(shí)現(xiàn)。

三、可擴(kuò)展FFT處理器實(shí)現(xiàn)結(jié)構(gòu)
  
根據(jù)式(2)的FFT算法原理設(shè)計(jì)FFT處理器的可擴(kuò)展結(jié)構(gòu)如圖1所示。

  采用流水線模塊化級(jí)聯(lián)結(jié)構(gòu),把FFT處理器劃分成短點(diǎn)數(shù)FFT、級(jí)間混序RAM和相位旋轉(zhuǎn)等功能模塊,設(shè)計(jì)的各功能模塊可以重復(fù)利用,通過(guò)復(fù)用或增減各功能模塊可以靈活改變FFT處理器的計(jì)算規(guī)模,而且不增加設(shè)計(jì)量。在圖1結(jié)構(gòu)中,當(dāng)Li=1時(shí),就演變成了基2 FFT;當(dāng)Li=2時(shí),就演變成了基4 FFT;同理,當(dāng)Li≠Lj時(shí),就演變成了高組合數(shù)的混合基FFT。

1.短點(diǎn)數(shù)FFT陣列結(jié)構(gòu)

 
-Tukey算法結(jié)構(gòu)實(shí)現(xiàn)時(shí),有大量的復(fù)數(shù)乘法實(shí)際上轉(zhuǎn)化為加減運(yùn)算,所以用陣列結(jié)構(gòu)實(shí)現(xiàn)不但具有速度快的優(yōu)點(diǎn),而且所用器件資源也減少很多,通過(guò)對(duì)陣列結(jié)構(gòu)短點(diǎn)數(shù)FFT進(jìn)行時(shí)分復(fù)用,可以提高運(yùn)算單元的使用效率。

2.
相位旋轉(zhuǎn)運(yùn)算單元
  實(shí)現(xiàn)短點(diǎn)數(shù)FFT級(jí)間相位旋轉(zhuǎn),采用ROM存儲(chǔ)旋轉(zhuǎn)因子與數(shù)據(jù)復(fù)乘的傳統(tǒng)方法,不僅涉及乘法運(yùn)算,而且會(huì)消耗大量存儲(chǔ)器資源。

  利用CORDIC算法實(shí)現(xiàn)組合數(shù)FFT級(jí)間數(shù)據(jù)的相位旋轉(zhuǎn),把乘法轉(zhuǎn)化成加減法運(yùn)算,適合FPGA的大規(guī)模集成??梢栽O(shè)計(jì)出統(tǒng)一結(jié)構(gòu)的CORDIC處理器模塊,重復(fù)利用于不同級(jí)間實(shí)現(xiàn)相位旋轉(zhuǎn),而且其控制邏輯非常簡(jiǎn)單。

  (1)CORDIC算法原理
  復(fù)數(shù)P=x+jy旋轉(zhuǎn)角度θ得到Q的表達(dá)式:
  
  如果旋轉(zhuǎn)角度θ可以分解成n個(gè)小角度φi之和,即:
  
公式:  
  

  
(2)CORDIC處理器結(jié)構(gòu)設(shè)計(jì)
  本文提出了一種流水線CORDIC處理器結(jié)構(gòu)的解決方案。實(shí)現(xiàn)式子(4)的迭代運(yùn)算時(shí)采用補(bǔ)碼移位和補(bǔ)碼加減運(yùn)算,可以減少大量求補(bǔ)運(yùn)算,其迭代結(jié)構(gòu)如圖2所示。

??

  
前者在于左移補(bǔ)零的位數(shù)的不同,這樣,只需要改變n0k0的放大倍數(shù)(改變左移低位補(bǔ)零的位數(shù)),就可以把同一方向向量功能模塊級(jí)聯(lián)到圖1 FFT處理器的不同級(jí)間來(lái)計(jì)算CORDIC處理器的MSBi,這就大大地減小了重復(fù)設(shè)計(jì),其迭代結(jié)構(gòu)如圖3所示。
  

3.RAM結(jié)構(gòu)及其級(jí)間數(shù)據(jù)混序用流水線讀/寫(xiě)RAM地址發(fā)生器的設(shè)計(jì)
  設(shè)計(jì)的RAM,每個(gè)存儲(chǔ)單元為32 bit,高16位為復(fù)數(shù)的實(shí)部,低16位為復(fù)數(shù)的虛部。輸入輸出數(shù)據(jù)接口用RAM設(shè)計(jì)為乒乓結(jié)構(gòu),用兩塊相同的RAM交替讀出或交替寫(xiě)入數(shù)據(jù),這樣就放寬了對(duì)I/O操作速度的要求,使得外圍電路可以不必工作于FPGA系統(tǒng)時(shí)鐘。

  級(jí)與級(jí)之間數(shù)據(jù)混序用RAM設(shè)計(jì)為讀/寫(xiě)RAM,對(duì)RAM同一存儲(chǔ)單元用兩個(gè)時(shí)鐘完成一次讀/寫(xiě)操作,即用流水線讀/寫(xiě)同一塊RAM來(lái)實(shí)現(xiàn)級(jí)與級(jí)之間的數(shù)據(jù)混序。此結(jié)構(gòu)取代了用兩塊RAM完成數(shù)據(jù)混序的乒乓結(jié)構(gòu)的傳統(tǒng)方法,不涉及存儲(chǔ)器之間的讀寫(xiě)切換,控制邏輯非常簡(jiǎn)單,而且消耗的存儲(chǔ)器資源節(jié)省一半,這是實(shí)現(xiàn)結(jié)構(gòu)可靈活擴(kuò)展的高速FFT處理器的關(guān)鍵和難點(diǎn)??梢酝ㄟ^(guò)理論推導(dǎo),求得第i級(jí)FFT與第i-1級(jí)FFT級(jí)間混序用RAM的奇次讀/寫(xiě)地址為
  
  的基礎(chǔ)上向左循環(huán)移位,位長(zhǎng)為L(zhǎng)i-Li-1位;同時(shí),后者又表示在前者的基礎(chǔ)上向左循環(huán)移位,位長(zhǎng)為L(zhǎng)i-Li-1位,從而形成地址的循環(huán)移位規(guī)律。把Li-1=Li和Li-1<Li兩種情況統(tǒng)一起來(lái),即Li-1=Li時(shí),Li-Li-1=0,不用循環(huán)移位,只需要計(jì)數(shù)器的高Li-1位和低Li-1位進(jìn)行交替。利用此地址發(fā)生規(guī)律,可以設(shè)計(jì)基于圖1結(jié)構(gòu)的基2、基4等任意基x FFT以及混合基FFT級(jí)間數(shù)據(jù)混序用流水線讀/寫(xiě)RAM地址發(fā)生器。

4.8
×4×2點(diǎn)組合數(shù)FFT處理器的實(shí)驗(yàn)結(jié)果及其分析
  我們利用FPGA實(shí)現(xiàn)的各功能模塊按圖1實(shí)現(xiàn)結(jié)構(gòu)組裝了8×4×2點(diǎn)組合數(shù)FFT處理器,通過(guò)仿真驗(yàn)證了其設(shè)計(jì)的正確性后,又在FPGA實(shí)驗(yàn)板上對(duì)它進(jìn)行了硬件驗(yàn)證,其實(shí)驗(yàn)驗(yàn)證平臺(tái)如圖4所示。

  硬件驗(yàn)證時(shí)采取的實(shí)驗(yàn)方法是,用相同的抽樣頻率fs等間隔地抽取不同頻率單頻正弦信號(hào)相同點(diǎn)數(shù)64點(diǎn),即固定FFT的頻率分辨率fr,利用設(shè)計(jì)的64點(diǎn)FFT處理器計(jì)算其幅度譜,觀察其幅度譜中直流分量譜線和諧波分量譜線間隔大小的變化,把實(shí)驗(yàn)結(jié)果和理論分析結(jié)果進(jìn)行對(duì)照,以確認(rèn)FFT處理器工作的正常與否。

  系統(tǒng)時(shí)鐘工作在 40.861 MHz 時(shí),抽樣頻率為 40.861/2=20.4305 MHz,抽樣周期為1/20.4305 MHz=48.9 ns,抽取64個(gè)點(diǎn)的時(shí)間是48.9×64=3.13μs。因?yàn)槊總€(gè)采樣數(shù)據(jù)間隔時(shí)間是48.9μs,所以用設(shè)計(jì)的流水線方式工作的64點(diǎn)FFT處理器計(jì)算其幅度譜的譜線間隔也為48.9 ns。當(dāng)輸入單頻正弦信號(hào)的頻率約為638.454 kHz時(shí),其周期為1/638.454 kHz=1.567μs。用20.4305 MHz頻率抽樣,3.13μs時(shí)間內(nèi)剛好在正弦信號(hào)的2個(gè)周期內(nèi)抽取64點(diǎn),輸入單頻正弦信號(hào)的頻率是頻率分辨率319.227 kHz的2倍,直流分量為幅度譜的第1根譜線,一次諧波分量為幅度譜的第3根譜線,其理論計(jì)算結(jié)果波形如圖5所示,實(shí)驗(yàn)測(cè)試結(jié)果波形及其的局部放大波形如圖6和圖7所示。



  從示波器上可以看出,橫坐標(biāo)單元格間隔為1μs,F(xiàn)FT變換周期間隔約為3格,即約為3μs,抽取了信號(hào)波形的2個(gè)周期,64點(diǎn)FFT計(jì)算時(shí)間也約為3μs。

  輸入單頻正弦信號(hào)的頻率是頻率分辨率319.227 kHz的2倍,直流分量為幅度譜的第1根譜線,一次諧波分量為幅度譜的第2根譜線。由于幅度譜的譜線間隔為48.9 ns,也就是說(shuō),直流分量和一次諧波分量間隔約為100 ns。從示波器上可以看出,橫坐標(biāo)單元格間隔為100 ns,直流分量和一次諧波分量間隔約為100 ns,和理論分析結(jié)果一致。

四、結(jié)論
  
本文以高組合數(shù)混合基DFT算法為基礎(chǔ),設(shè)計(jì)并用FPGA實(shí)現(xiàn)了變換點(diǎn)數(shù)可靈活擴(kuò)展的流水線FFT處理器。輸入/輸出數(shù)據(jù)速率為20 MHz時(shí),讀/寫(xiě)RAM工作在40 MHz時(shí)鐘,計(jì)算出1 024點(diǎn)FFT的運(yùn)算時(shí)間約為52μs。本設(shè)計(jì)采用模塊化設(shè)計(jì)結(jié)構(gòu),便于系統(tǒng)調(diào)試和實(shí)現(xiàn),而且各設(shè)計(jì)模塊可以重復(fù)利用,避免重復(fù)相同的設(shè)計(jì),從而縮短芯片設(shè)計(jì)開(kāi)發(fā)時(shí)間,更易于FFT處理器的結(jié)構(gòu)擴(kuò)展。整個(gè)FFT設(shè)計(jì)結(jié)構(gòu)新穎,實(shí)現(xiàn)容易,具有一定實(shí)用價(jià)值。

參考文獻(xiàn)

[1]程佩清.數(shù)字信號(hào)處理教程[M].北京:清華大學(xué)出版社,2001.
[2]侯伯亨,顧新.VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版,1999.
[3]Stephan W.Mondwurf.BENEFITS OF THE CORDIC-ALGORITHM IN A VERSATILE COFDM MODULATOR/DEMODULATOR DESIGN[A]. Fourth IEEE International Caracas Conference on Devices, Circuits and Systems[C].Aruba, April 17~19, 2002.
[4]趙忠武,陳禾,韓月秋.基于FPGA的32位浮點(diǎn)FFT處理器的設(shè)計(jì)[J].電訊技術(shù),2003,43(6).
[5]Y.Ma,L.Wanhammar.A Hardware efficient control of memory addressing for high performance FFT processors[J].IEEE transactions on signal processing, 2000,48(3):917~921.
[6]J.E.Volder.The CORDIC Trigonometric Computing Technique[J]. IRE Trans. on Electronic Computers,1959,8(3):330~334.
[7]韓穎,王旭,吳嗣亮.FPGA實(shí)現(xiàn)高速FFT處理器的設(shè)計(jì)[J].電訊技術(shù),2003,43(2):74~78.
[8]A.M.Despain.Fourier Transform Computers Using CORDIC Iterations[J].IEEE Trans.on Computers,1993,C-23(10):993~1001.

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

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

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

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

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

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

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

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

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

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

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

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

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉