當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘 要: 在比較已有FFT實現(xiàn)方法的基礎(chǔ)上,提出一種基于FPGA的通用FFT處理器的設(shè)計方案。這種FFT實現(xiàn)結(jié)構(gòu)根據(jù)不同的輸入數(shù)據(jù)長度動態(tài)配置成相應(yīng)的處理器,可以支持多種基數(shù)為2、3、5的FFT計算,硬件資源得到了優(yōu)化,

摘  要: 在比較已有FFT實現(xiàn)方法的基礎(chǔ)上,提出一種基于FPGA的通用FFT處理器的設(shè)計方案。這種FFT實現(xiàn)結(jié)構(gòu)根據(jù)不同的輸入數(shù)據(jù)長度動態(tài)配置成相應(yīng)的處理器,可以支持多種基數(shù)為2、3、5的FFT計算,硬件資源得到了優(yōu)化,處理速度及數(shù)據(jù)精度滿足LTE系統(tǒng)中SC-FDMA基帶信號的生成要求。

  LTE所選擇的上行傳輸方案是一個新變量:SC-FDMA(單載波-頻分多址)相比于傳統(tǒng)OFDMA其優(yōu)點是既有單載波的低峰均功率比(PAPR),又有多載波的可靠性。在上行鏈路這點特別重要,較低的PAPR可在傳輸功效方面極大提高移動終端的性能,因此可延長電池使用壽命。代表LTE物理上行共享信道(PUSCH)的基帶信號產(chǎn)生過程如圖1所示[1]。

  圖1中的轉(zhuǎn)換預(yù)編碼是由一種對稱形式DFT完成,其種類及變換長度L=2k1×3k2×5k3(L≤1 200)見表1。

  轉(zhuǎn)換預(yù)編碼是根據(jù)不同的輸入長度L動態(tài)地執(zhí)行表1中的一種DFT。其主要特點是包含的DFT種類多、規(guī)模龐大,這給硬件設(shè)計帶來挑戰(zhàn)。以前的文獻(xiàn)大都以基2或單個混合基FFT[6]為重點進(jìn)行闡述,而以多種混合基FFT為核心的文章還很難發(fā)現(xiàn)。本文提出一種基于FPGA的轉(zhuǎn)換預(yù)編碼解決方案。

1 算法選擇

  Cooley-Tukey算法和Good-Thomas算法是當(dāng)前流行的FFT算法,文獻(xiàn)[2]中已對其原理進(jìn)行過深入討論,這里不再贅述。

  (1)Cooley-Tukey算法具有良好的模塊性,并且可以實現(xiàn)原位計算,對輸入數(shù)據(jù)以及旋轉(zhuǎn)因子的抽取具有規(guī)律性。文獻(xiàn)[3]提出的一種基3 FFT算法是Cooley-Tukey算法應(yīng)用在基3 FFT中的另一種表述。這一算法區(qū)別于其他FFT算法的一個重要事實就是因子可以任意選取,通用性強(qiáng),且所有的運算單元均相同,易于實現(xiàn)。

  (2)Good-Thomas算法只適合因子互質(zhì)的情況,由于避免了中間級乘旋轉(zhuǎn)因子的運算,因此比Cooley-Tukey算法的運算次數(shù)少得多。FFT點數(shù)越大,越能體現(xiàn)其在節(jié)省資源方面的優(yōu)點。

  文獻(xiàn)[4]提出一種基于Cooley-Tukey算法的傳輸預(yù)編碼解決方案。此方案的優(yōu)點是操作簡單、模塊規(guī)則、利于編程實現(xiàn);缺點是需要做的級間旋轉(zhuǎn)因子乘法較多(最多達(dá)幾百),乘法器和存儲器等硬件資源開銷較大,同時將大大增加系數(shù)初始化的工作量。對幾種不同長度FFT運算量進(jìn)行比較見表2。

  表2中的混合算法指Good-Thomas算法與Cooley-Tukey算法相結(jié)合??梢钥闯?,Good-Thomas算法與Cooley-Tukey算法相結(jié)合與文獻(xiàn)[4]相比,減少了級間旋轉(zhuǎn)因子乘法數(shù),可以有效降低運算量,這些運算量的降低對整個系統(tǒng)的實現(xiàn)起著至關(guān)重要的作用,而其付出的代價只是復(fù)雜度的略微提升。

  綜上所述,在實現(xiàn)混合FFT時,選擇Good-Thomas算法與Cooley-Tukey算法相結(jié)合,且優(yōu)先選擇Good-Thomas算法,其次為Cooley-Tukey算法,系統(tǒng)設(shè)計將從Good-Thomas算法出發(fā)。[!--empirenews.page--]

  2 總體結(jié)構(gòu)設(shè)計

  從表1中看出,LTE上行轉(zhuǎn)換預(yù)編碼要進(jìn)行的FFT變換種類多,但每一種變換的架構(gòu)是相似的,都是由基2及非基2點FFT的公共模塊組成?;?有點數(shù)為4,8,16,32,64,128,256的模塊,非基2的有點數(shù)為3,9,15,27,45,75,81,135,225和243的模塊,只要抽出這些公共模塊并精心設(shè)計,再合理地調(diào)用,就會順利完成這個看似繁瑣的工作。

  圖2所示總體結(jié)構(gòu)框圖中,模塊A和C分別為數(shù)據(jù)輸入和輸出模塊;模塊B為數(shù)據(jù)處理模塊,其主要思想是動態(tài)配置和公共模塊的復(fù)用,內(nèi)部FFT模塊事先單獨生成,MUX1,MUX2是選擇器,在不同輸入點數(shù)的情況下動態(tài)配置不同的內(nèi)部FFT模塊來組合成外層FFT,這樣內(nèi)部FFT模塊就可以達(dá)到復(fù)用的目的,可以大大減少總體資源耗用,而處理速度也與單獨執(zhí)行各FFT相當(dāng)。

3 硬件實現(xiàn)

  在實際應(yīng)用中,一般由FPGA完成需要快速和較為固定的運算,由DSP完成靈活多變和運算量較大的任務(wù)[7]。Xilinx Virtex-5 SXT平臺針對具有低功耗串行連接功能的DSP和存儲器密集型應(yīng)用進(jìn)行了優(yōu)化,具有硬件結(jié)構(gòu)可重構(gòu)的特點,適合算法結(jié)構(gòu)固定、運算量大的前端數(shù)字信號處理,可以大量卸載這些功能,釋放DSP帶寬以處理其他功能,所有這一切都使得FPGA在數(shù)字信號處理領(lǐng)域顯示出自己特有的優(yōu)勢。

  3.1 地址映射

  以1 080點FFT在圖2所示系統(tǒng)中的實現(xiàn)過程分析系統(tǒng)工作原理。因為1 080=8×135,且8和135互質(zhì),故外層采用Good-Thomas算法。

  輸入地址映射:

  FPGA內(nèi)嵌Block RAM的使用可以大大節(jié)省FPGA的可配置邏輯功能塊(CLB)資源。Good-Thomas算法需要對輸入輸出數(shù)據(jù)進(jìn)行排序,輸入輸出端處理方法相同,這里只介紹輸入端處理。在輸入端,鑒于Block RAM的特征,設(shè)置一個ROM和RAM,如圖2模塊A所示。對于不同長度的FFT,ROM不同,但RAM可以共用。在ROM里預(yù)先存放輸入數(shù)據(jù)在RAM1中的位置序號,此位置序號由(1)式得到,在時鐘沿到來時,先順序讀出存儲在ROM中的位置序號,將此數(shù)作為RAM1的地址輸入,就能將輸入數(shù)據(jù)存放到RAM1中的不同位置。這樣在輸入數(shù)據(jù)的同時完成了數(shù)據(jù)的排序,一舉兩得。1 080點FFT的輸入和輸出端地址索引如圖2所示,其邏輯時序圖見圖3。圖3中,RAM_in由測試數(shù)據(jù)xn_i和xn_r進(jìn)行位拼接后輸入。

 [!--empirenews.page--]

  3.2 內(nèi)部FFT處理單元

  當(dāng)進(jìn)行圖2模塊B中的操作時,內(nèi)部FFT模塊先單獨生成。Xilinx提供的FFT IP核適用于基2點的FFT變換,其所采用的算法為Cooley-Tukey算法,變換長度為N=pow2(m),m=3~16,數(shù)據(jù)采樣精度和旋轉(zhuǎn)因子精度都為8~24,故模塊B的8、16、32、64、128及256點FFT都可用IP核生成。選擇“Pipelined,streaming I/O”生成基2點FFT模塊,可以減少整體處理時間。15、45、75、135、225點FFT模塊的外層算法是Good-Thomas算法,其余采用Cooley-Tukey算法實現(xiàn)。

  具體到1 080點FFT,將RAM1中的數(shù)據(jù)順序讀出,由MUX1選擇進(jìn)行8點FFT變換,完成第一級操作后,所得中間結(jié)果順序存儲在RAM2中;然后再將RAM2中的中間結(jié)果取出,由MUX2選擇進(jìn)行135點FFT變換,共操作8次,完成第二級操作,所得結(jié)果按模塊C中ROM指示的順序存儲在RAM1中;最后順序輸出RAM1中的內(nèi)容就是1 080點FFT的結(jié)果。

3.3 乘法器設(shè)計

  量化效應(yīng)在數(shù)字信號處理技術(shù)實現(xiàn)時是很重要的問題,主要包括運算量化效應(yīng)、系數(shù)量化效應(yīng)等,前者的影響大于后者[5]。運算中還可能出現(xiàn)溢出,造成更大的誤差。上述問題對乘法器的設(shè)計提出了要求,由上文知,基2 FFT由IP核生成,故此處的乘法器設(shè)計只針對非基2 FFT有效。

  Xilinx的XC5VSX95T內(nèi)部共有640個DSP48E,每個DSP48E包含一個25×18 乘法器。在調(diào)用乘法器IP時,將乘數(shù)設(shè)為寬度為25和18的signed型(旋轉(zhuǎn)因子位寬為18),輸出截取結(jié)果的[41:17]共25 bit,乘法器輸入輸出寬度相等,在結(jié)果輸出的同時對結(jié)果進(jìn)行縮放,這樣利于程序模塊化,但前提是要保證數(shù)據(jù)不溢出。由于輸入采樣數(shù)據(jù)寬度只有16 bit,而轉(zhuǎn)換預(yù)編碼輸入數(shù)據(jù)最大長度只有1 200點,再考慮旋轉(zhuǎn)因子系數(shù)小于1,可以斷定25 bit位寬可使乘法器結(jié)果不溢出,且運算精度也可滿足要求。

  4 性能分析

  程序利用Verilog HDL硬件描述語言編寫,在Xilinx公司的高性能設(shè)計開發(fā)工具ISE10.1i中編譯成功。當(dāng)FPGA芯片選為XC5VSX95T時,在Synplify Pro 9.6.1中進(jìn)行邏輯優(yōu)化與綜合后顯示其最大時鐘頻率為105.6 MHz,F(xiàn)Fs耗用29 150/58 880,LUTs耗用37 625/58 880,乘法器耗用414/640,Block Ram耗用176/488,各項指標(biāo)都合符要求。布局布線成功后,在Matlab中產(chǎn)生一實正弦測試信號,經(jīng)采樣量化成1 200點數(shù)據(jù)后輸入Modelsim SE 6.1d對程序進(jìn)行后仿真,然后輸出結(jié)果回送至Matlab,得到仿真圖如圖4。

  由圖4可以看出FFT處理器處理后的結(jié)果和Matlab計算的理論結(jié)果基本一致,都在頻率為15 Hz和335 Hz處取得最大FFT絕對值,兩者之間的誤差正是數(shù)字信號處理量化效應(yīng)的體現(xiàn)。從整體看,這些誤差是數(shù)據(jù)在經(jīng)過采樣量化和截斷處理后不可避免的且是可以容忍的,因此可以判斷測試結(jié)果符合精度指標(biāo)。

  本文討論了應(yīng)用在LTE上行轉(zhuǎn)換預(yù)編碼中的多種FFT的軟硬件實現(xiàn)。與各種FFT單獨處理或只采用Cooley-Tukey算法的方法相比,本設(shè)計巧妙地將Good-Thomas算法與Cooley-Tukey算法結(jié)合起來,在硬件資源和成本消耗上都有很大的節(jié)省,速度上也能滿足要求,而且這種結(jié)構(gòu)很容易進(jìn)行功能擴(kuò)展,只需要調(diào)整內(nèi)部FFT單元的種類和數(shù)目即可。這種大規(guī)?;旌匣鵉FT的實現(xiàn)方法對其他場合的大規(guī)模FFT有一定的普適性。

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

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

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

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

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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