国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于OFDM技術(shù)FFT的FPGA研究

2010-12-22 11:45:40黃軍友
關(guān)鍵詞:傅立葉蝶形時(shí)鐘

黃軍友

(四川信息職業(yè)技術(shù)學(xué)院,四川廣元 628017)

正交頻分復(fù)用技術(shù)(Orthogonal Frequency Division Multiplexing,OFDM)較好地解決了由帶寬限制、信道時(shí)變特性、噪聲、干擾及多路徑問(wèn)題制約的通信質(zhì)量和信道容量的發(fā)展問(wèn)題.OFDM技術(shù)基本原理是把高速數(shù)據(jù)流分成若干低速數(shù)據(jù)流并行地在相互正交的子載波上傳輸,將頻率選擇性衰落信道轉(zhuǎn)化成為若干平坦衰落子信道,[1]從而減少多徑衰落的時(shí)間彌散,可以有效地對(duì)付多徑衰落,對(duì)抗窄帶干擾,提高傳輸速率.[2]OFDM可以采用FFT算法來(lái)實(shí)現(xiàn),當(dāng)子信道數(shù)目比較多的時(shí)候,采用FFT能減少系統(tǒng)的復(fù)雜度.本文主要研究2k/4k/8k多模式復(fù)用FFT的FPGA的實(shí)現(xiàn).

1 設(shè)計(jì)思路

1.1 快速傅立葉變換

可知,8k傅立葉變換可由4*2k的傅立葉變換構(gòu)成.2k的傅立葉變換可由128*16的傅立葉變換構(gòu)成.128的傅立葉變換可進(jìn)一步由16*8的傅立葉變換構(gòu)成,即整個(gè)傅立葉變換可由基2基4的傅立葉變換構(gòu)成.2k的FFT可以通過(guò)5個(gè)基4和一個(gè)基2變換實(shí)現(xiàn);4k的FFT變換可通過(guò)6個(gè)基4變換實(shí)現(xiàn);8k的FFT可以通過(guò)6個(gè)基4和一個(gè)基2變換實(shí)現(xiàn).

1.2 基本運(yùn)算單元

表1列出不同蝶形運(yùn)算單元所需的運(yùn)算次數(shù).從基2到基4,實(shí)數(shù)乘、加法的運(yùn)算次數(shù)發(fā)生了比較大的跳變,而從基4到基8以及基16運(yùn)算次數(shù)變化的幅度不是很明顯.從算法復(fù)雜性看,最優(yōu)基為基4和基8.從控制角度看,基2算法最容易控制.基4算法控制復(fù)雜一些,仍然具有和基2算法的可類比性.8和基16算法的控制復(fù)雜度與基4相比跳變明顯.考慮到運(yùn)算速度和控制性的折衷,基4算法在基FFT處理實(shí)現(xiàn)中具有更高性價(jià)比.[3]

表1 蝶形運(yùn)算單元的運(yùn)算次數(shù)

其中,r=log2N

以4K點(diǎn)的FFT為例(時(shí)鐘周期25 ns),如表2.

表2 運(yùn)算效率

以基4作為基本的運(yùn)算單元,至少需要流經(jīng)基4單元6次.實(shí)際處理時(shí)間包括處理時(shí)延和存儲(chǔ)時(shí)延,內(nèi)部工作時(shí)鐘至少為外部時(shí)鐘的7倍,換成基16,內(nèi)部工作時(shí)鐘可以降為外部時(shí)鐘的4倍,可以更為穩(wěn)定的工作.本設(shè)計(jì)中,使用Stratix系列器件,邏輯資源較為充足.考慮速度、穩(wěn)定性、通用性、所用資源等方面,采用4/2×4/2的蝶形運(yùn)算單元結(jié)構(gòu),其基本的運(yùn)算單元為基 4/2,在進(jìn)行兩次運(yùn)算后進(jìn)行存儲(chǔ)調(diào)序的處理,減小了內(nèi)部時(shí)鐘的壓力和控制的復(fù)雜度.

1.3 蝶形運(yùn)算的位數(shù)

FFT運(yùn)算結(jié)果的精度,與輸入數(shù)據(jù)的位數(shù)及運(yùn)算的過(guò)程中的位數(shù)有關(guān),同時(shí),和數(shù)據(jù)的表示形式也有很大關(guān)系.[4]通過(guò)仿真如圖 1,固定 rom_bits的位數(shù)為 16,圖中的曲線由上至下分別對(duì)應(yīng)ram_bits由19至12變化.可以看到ram_bits大于16時(shí),再增加其位數(shù)并不能帶來(lái)更大的好處.因此在硬件實(shí)現(xiàn)代價(jià)和性能之間均衡,最終選取rom_bits=16,ram_bits=17.

圖1 位數(shù)變化時(shí)信噪比變化圖

1.4 8k點(diǎn)FFT實(shí)現(xiàn)

8k點(diǎn)的FFT可以通過(guò)低點(diǎn)數(shù)的FFT來(lái)實(shí)現(xiàn).出于通用性和穩(wěn)定性考慮,實(shí)際利用的運(yùn)算單元是基16/8/4/2通用的運(yùn)算模塊,具體到8k點(diǎn)的實(shí)現(xiàn)就有16-8-8-8及16-16-16-2兩種實(shí)現(xiàn)的方法.

圖2分別表示了16-16-16-2和16-8-8-8分解方式下變換結(jié)果和Matlab工具箱中FFT函數(shù)比較的結(jié)果.從圖中可以看到,兩種方式均可以較好的完成 8k點(diǎn)的 FFT,信噪比均達(dá)到了 75 dB以上.16-16-16-2方式較16-8-8-8方式在信噪比上有約3 dB的增益.因此8k點(diǎn)變換的總體結(jié)構(gòu)選用了16-16-16-2的分解方式.

圖2 兩種分解模式的性能比較

1.5 FFT模塊實(shí)現(xiàn)IFFT

實(shí)際實(shí)現(xiàn)中,在FFT運(yùn)算模塊的基礎(chǔ)上,只需將輸入序列進(jìn)行取共軛后再進(jìn)行FFT運(yùn)算,輸出結(jié)果再取一次共軛便實(shí)現(xiàn)了對(duì)輸入序列的 IFFT運(yùn)算.IFFT在FFT的基礎(chǔ)上輸入和輸出均有一次共軛操作,但它們共用一個(gè)內(nèi)核,這是十分方便的.而1/N實(shí)際上就是一個(gè)比例關(guān)系,可以根據(jù)輸出數(shù)據(jù)的大小要求,選擇一個(gè)合適的因子相除輸出,來(lái)完成IFFT的運(yùn)算.

2 FFT的FPGA實(shí)現(xiàn)

2.1 整體結(jié)構(gòu)

FFT的基本結(jié)構(gòu)可由基2/4模塊,復(fù)數(shù)乘法器,存儲(chǔ)單元和存儲(chǔ)器的控制模塊構(gòu)成,整體結(jié)構(gòu)如圖3.

圖3 FFT實(shí)現(xiàn)的總體框架

2.2 存儲(chǔ)器的控制

通常外部輸入數(shù)據(jù)的速度比內(nèi)部數(shù)據(jù)處理速度慢.在輸入一組數(shù)據(jù)時(shí),在外部時(shí)鐘的作用下,存入RAMa或RAMb其中之一,同時(shí)開(kāi)始對(duì)兩個(gè)RAM 中的另一個(gè)中的數(shù)據(jù)進(jìn)行運(yùn)算.輸出部分的RAM與輸入端類似,也是RAMc和RAMd輪流工作,如圖4.為了適應(yīng)多模式復(fù)用,設(shè)計(jì)指示信號(hào),指示不同點(diǎn)數(shù)的輸出時(shí)刻.接收端的RAM存儲(chǔ)運(yùn)算的結(jié)果,在指示信號(hào)的作用下輸出數(shù)據(jù).

在2k/4k/8k傅立葉變換中,要實(shí)現(xiàn)通用性,控制器是最主要的模塊.2k,4k,8k變換有不同的內(nèi)部運(yùn)算時(shí)間和存儲(chǔ)器地址,在通用性設(shè)計(jì)中,針對(duì)不同的點(diǎn)數(shù)設(shè)計(jì)不同的存儲(chǔ)器存取地址,同時(shí),在完成變換后,要對(duì)開(kāi)始輸出有用信號(hào)的時(shí)刻進(jìn)行指示.

圖4 輸入輸出控制

2.3 運(yùn)算模塊

圖5是相應(yīng)的硬件實(shí)現(xiàn)框圖,此運(yùn)算模塊可以進(jìn)行基16、基8、基4和基2的運(yùn)算.其結(jié)構(gòu)是由兩級(jí)基 4/2復(fù)用的蝶形運(yùn)算單元串行級(jí)聯(lián)完成的.在第一級(jí)基2/4完成以后數(shù)據(jù)要經(jīng)過(guò)RAM進(jìn)行緩存以便調(diào)整順序,調(diào)整完順序后,以新的順序輸出,開(kāi)始第2級(jí)基2/4運(yùn)算.模塊有兩個(gè)數(shù)據(jù)輸出端口.第一級(jí)運(yùn)算完成后輸出,可以完成基 2/4的運(yùn)算,從第二級(jí)輸出,可以完成16/8的運(yùn)算,使此運(yùn)算單元有很大的適應(yīng)性.

圖5 運(yùn)算模塊

2.4 FFT的地址

蝶形運(yùn)算完成運(yùn)算后,產(chǎn)生一定的逆序.為了保證順序輸入順序輸出,需要在RAM存取過(guò)程中進(jìn)行地址變換.地址的產(chǎn)生可以采用不同的方式.[6]而本次實(shí)現(xiàn)中,由于芯片中的存儲(chǔ)單元有限,采用了通過(guò)計(jì)數(shù)器計(jì)數(shù),將計(jì)數(shù)結(jié)果按地址的規(guī)律進(jìn)行變換的方法來(lái)產(chǎn)生所需的地址.針對(duì)不同的點(diǎn)數(shù),給計(jì)數(shù)器設(shè)計(jì)不同的清零信號(hào),完成多模式復(fù)用的設(shè)計(jì).

2.5 旋轉(zhuǎn)因子

其對(duì)稱性表現(xiàn)為

表3 正余弦函數(shù)的對(duì)稱性

對(duì)于2k/4k/8k的傅立葉變換來(lái)說(shuō),旋轉(zhuǎn)因子只是對(duì)一個(gè)周期進(jìn)行不同的分割.8k變換的旋轉(zhuǎn)因子中包括了2k/4k的所有因子.實(shí)現(xiàn)中,ROM中存儲(chǔ)了8k點(diǎn)FFT所對(duì)應(yīng)的旋轉(zhuǎn)因子.相對(duì)2k/4k變換來(lái)說(shuō),相對(duì)應(yīng)的因子不是連續(xù)的,需要對(duì)8k的旋轉(zhuǎn)因子按一定的規(guī)律抽取.抽取通過(guò)對(duì)讀ROM的地址序列進(jìn)行控制,可實(shí)現(xiàn)2k/4k/8k變換的通用性.

2.6 數(shù)據(jù)的鎖存

通過(guò)選擇器從RAM中取數(shù)據(jù)的同時(shí),從ROM中取旋轉(zhuǎn)因子.在數(shù)據(jù)和旋轉(zhuǎn)因子進(jìn)入基4運(yùn)算單元后,首先進(jìn)行鎖存,然后并行送入基4的運(yùn)算部分,以達(dá)到數(shù)據(jù)和旋轉(zhuǎn)因子的同步,如圖6(a).而輸出時(shí),為達(dá)到流形輸出的效果,也需要進(jìn)行鎖存,如圖6(b):

圖6 數(shù)據(jù)的鎖存

2.7 2的冪次點(diǎn)數(shù)的FFT設(shè)計(jì)

本次實(shí)現(xiàn),只是將2k/4k/8k點(diǎn)的FFT設(shè)計(jì)在一個(gè)工程中.當(dāng)需要16點(diǎn)、256點(diǎn)、1024點(diǎn)等點(diǎn)數(shù)的FFT變換時(shí),分別需要2個(gè)基4單元,4個(gè)基4單元以及5個(gè)基4單元,而8點(diǎn),32點(diǎn)、512點(diǎn)的FFT變換,分別需要1個(gè)基4和1個(gè)基2單元、2個(gè)基4和1個(gè)基2單元、4個(gè)基4和1個(gè)基2單元.都可以歸結(jié)成基4基2單元,在具體實(shí)現(xiàn)中,可以控制數(shù)據(jù)流過(guò)蝶形運(yùn)算單元的次數(shù)來(lái)完成.

2.8 硬件的選擇及性能研究

ALTERA公司的Stratix系列中的EPLS25芯片是現(xiàn)場(chǎng)可編程門陣列(FPGA),能滿足較高速度的需要.芯片內(nèi)部集成了25660個(gè)邏輯單元(LE),1899K RAM比特.芯片中專用DSP處理模塊,對(duì)乘法器的實(shí)現(xiàn)具有快速,準(zhǔn)確的優(yōu)勢(shì).EP1S25含224個(gè)M512,均勻分布在片內(nèi),可用于需要大量小規(guī)模存儲(chǔ)器的場(chǎng)合.EP1S25含138個(gè)M4K,每塊大小為4608個(gè)比特(含512檢驗(yàn)位).EP1S25還有兩個(gè)大容量MegaRAM,每塊含576K個(gè)比特(64K校驗(yàn)位),適用于需要大容量RAM的數(shù)據(jù)轉(zhuǎn)發(fā),視頻緩存等應(yīng)用場(chǎng)合.[9]這些片內(nèi) RAM具有很高的靈活性和很強(qiáng)的實(shí)用性,在設(shè)計(jì)中可以用作RAM,ROM,F(xiàn)IFO等等存儲(chǔ)類型.同時(shí)在應(yīng)用時(shí),可以對(duì)其存儲(chǔ)數(shù)據(jù)的總線寬度,存儲(chǔ)的深度及讀、寫(xiě)產(chǎn)生的時(shí)延等等進(jìn)行設(shè)定.

除了一些專用引腳外,F(xiàn)PGA上幾乎所有的引腳均可供用戶使用,這使得FPGA信號(hào)處理方案具有非常高性能的I/O帶寬.大量的I/O引腳和多塊存儲(chǔ)器可讓設(shè)計(jì)獲得優(yōu)越的并行處理性能.獨(dú)立的存儲(chǔ)塊可作為輸入/工作存儲(chǔ)區(qū)和結(jié)果緩存區(qū),這使得I/O可與FFT計(jì)算同時(shí)進(jìn)行.

在實(shí)現(xiàn)的時(shí)間方面,以一個(gè)4096點(diǎn)的FFT為例,在4096個(gè)時(shí)鐘周期內(nèi)完成.若采用10 MHz的輸入時(shí)鐘,變換時(shí)間在300 us左右,而最新的FPGA使用了MultiTrack互連技術(shù),可以在250 MHZ以下的頻率穩(wěn)定的工作,對(duì)于FFT的實(shí)現(xiàn)時(shí)間可以大大地縮小.

3 測(cè)試和驗(yàn)證

如圖7所示,驗(yàn)證的過(guò)程分為仿真和實(shí)測(cè),比較的基準(zhǔn)是Matlab工具箱中的FFT函數(shù).本次設(shè)計(jì)共使用了6 295個(gè)邏輯單元,24個(gè)DSP模塊,1 015 808 bit的存儲(chǔ)單元,信噪比達(dá)到了75 dB以上,可以滿足大多數(shù)情況下的應(yīng)用要求.

圖7 測(cè)試與驗(yàn)證流程

[1]譚澤富.一種OFDM系統(tǒng)中的頻偏估計(jì)方法[J].重慶三峽學(xué)院學(xué)報(bào),2006(3).

[2]黨向東.專用 FFT實(shí)時(shí)信號(hào)處理器的硬件實(shí)現(xiàn)研究[J].錦州師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2003(2).

[3]李成詩(shī),初建朋,李新兵,等.基于CORDIC的一種高速實(shí)時(shí)定點(diǎn) FFT的 FPGA實(shí)現(xiàn)[J].微電子學(xué)與計(jì)算機(jī),2004(4).

[4]李小進(jìn),初建朋,賴宗聲,等.高速基2FFT處理器的結(jié)構(gòu)設(shè)計(jì)與 FPGA實(shí)現(xiàn)[J].電路與系統(tǒng)學(xué)報(bào),2005(5).

[5]Richard B. Ertel, “Generation of Two Equal Power Correlated Rayleigh Fading Enelopes”, IEEE Communications Letters, 1998,10:pp276-278.

[6]王凱,葛建華,梁錫林.OFDM調(diào)制中高速FFT處理器的設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)有線電視,2006(1).

[7]田豐,鄧建國(guó),賈治華,等.FFT算法的一種FPGA實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2005(8).

[8]蔣冰,劉懷宇.基于存儲(chǔ)器的3780點(diǎn)FFT的FPGA設(shè)計(jì)和實(shí)現(xiàn)[J].中國(guó)有線電視,2005(23).

[9]顧晴茹,周玉潔.OFDM系統(tǒng)中高速FFT處理器的FPGA實(shí)現(xiàn)[J].信息技術(shù),2005(12).

猜你喜歡
傅立葉蝶形時(shí)鐘
在FPGA上實(shí)現(xiàn)FFT的高效串行流水線結(jié)構(gòu)
蝶形引入光纜技術(shù)新進(jìn)展
光通信研究(2022年2期)2022-03-29 03:19:18
不同坐標(biāo)系下傅立葉變換性質(zhì)
別樣的“時(shí)鐘”
古代的時(shí)鐘
三角函數(shù)的傅立葉變換推導(dǎo)公式
電力電纜非金屬外護(hù)套材料的傅立葉紅外光譜鑒別法
電線電纜(2018年6期)2019-01-08 02:45:36
基于傅立葉變換的CT系統(tǒng)參數(shù)標(biāo)定成像方法探究
有趣的時(shí)鐘
時(shí)鐘會(huì)開(kāi)“花”
黎平县| 三河市| 上林县| 保靖县| 荥经县| 峡江县| 铅山县| 武川县| 温泉县| 那坡县| 溧阳市| 富平县| 渑池县| 呼和浩特市| 金塔县| 富锦市| 沙坪坝区| 宽甸| 虹口区| 九江市| 文登市| 垫江县| 民乐县| 普格县| 仲巴县| 宁强县| 钦州市| 鄂伦春自治旗| 寿阳县| 阿荣旗| 阿鲁科尔沁旗| 建德市| 乌鲁木齐县| 双桥区| 浮山县| 逊克县| 长沙市| 收藏| 五峰| 梨树县| 长汀县|