資源描述:
《《基于fpga的fft實現(xiàn)》》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、基于FPGA的FFT實現(xiàn)隨著多年的研究,F(xiàn)FT算法己經(jīng)趨于成熟,有組合數(shù)FFT算法和以維諾格蘭為代表的一類傅立葉變換算法,實現(xiàn)的算法原理也是基于這些算法?,F(xiàn)成可編程門陣列(FPGA)是八十年代中期出現(xiàn)的新型高密度可編程邏輯器件,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進一步發(fā)展的產(chǎn)物。隨著超大規(guī)模集成電路工藝的不斷提高,單一芯片內(nèi)部可容納上百萬個晶體管,F(xiàn)PGA/CPLD芯片的規(guī)模也越來越大,其單片邏輯門數(shù)目己達到上百萬門,它所能實現(xiàn)的功能也越來越強。用FPGA實現(xiàn)FFT處理器具有硬件系統(tǒng)簡單、
2、功耗低的優(yōu)點,同時具有開放時間短、成木較低的優(yōu)勢。其中大部分的研究是針對FPGA的結(jié)構(gòu)特點,充分使用了其RAM和靈活的邏輯資源實現(xiàn)并行處理和陣列處理來提高運算速度從而減少計算時間;也有部分提高運算精度和速度,提出自定義浮點格式FFT處理器的FPGA硬件實現(xiàn)方案;最近也有對FFT算法中部分計算的研宄改進,使之更加適合FPGA結(jié)構(gòu),提高運算速度。具體計劃如下:1)9月30日前完成課程論文計劃書。2)9月15日?10月1日,在這段時間里通過借閱相關(guān)書籍以及網(wǎng)上的相關(guān)資料,了解FFT的FPGA實現(xiàn)的原理。3)10
3、月7日?10月27日,這這期間,通過前段時間對原理的學(xué)習(xí),在掌握基木的方法的情況下,參考書籍中提供的資料,學(xué)會用硬件描述語言VHDL進行編程設(shè)計,并基于FFT對FPGA進行實現(xiàn)。4)10月28日?11月9日,進行MATLAB程序的編寫及仿真。5)11月10日?16日,通過學(xué)習(xí)以及參考書籍中的相關(guān)資料,撰寫論文。6)11月18日前提交論文。摘要提出一種利用并行算法來實現(xiàn)FFT(快速傅里葉變換)及其逆變換IFFF(快速傅里葉逆變換)的設(shè)計方法。該處理器可由用戶動態(tài)配罝成64、256、1024點復(fù)數(shù)FFT或其逆
4、變換IFFT。關(guān)鍵詞:FPGA,FFT,IFFT1引言高速實時數(shù)字信號處理對系統(tǒng)性能要求很高,因此,幾乎所有的通用DSP都難以實現(xiàn)這一要求??删幊踢壿嬈骷试S設(shè)計人員利用并行處理技術(shù)實現(xiàn)高速信號處理算法,并且只需單個器件就能實現(xiàn)期望的性能。在數(shù)據(jù)通信這樣的應(yīng)用中,常常需要進行高速、大規(guī)模的FFT及其逆變換IFFT運算。當(dāng)通用的DSP無法達到速度要求時,唯一的選擇是增加處理器的數(shù)FI,或采用定制門陣列產(chǎn)品。現(xiàn)在,隨著微電子技術(shù)的發(fā)展,采用現(xiàn)場可編程門陣列(FPGA)進行數(shù)字信號處理發(fā)展迅速。采用現(xiàn)場可編程器
5、件不僅加速了產(chǎn)品上市時間,還可滿足現(xiàn)在和下一代便攜式設(shè)計所需要的成本、性能、尺寸等方面的要求,并提供系統(tǒng)級支持。本文研究了基于FPGA的FFT及其逆變換1EET處理器的硬件電路實現(xiàn)方法。在系統(tǒng)時鐘頻率為100MHz時,1024點復(fù)位FFT的計算時間只需耍10us左右。2基4FFT/1FFT算法序列X(n),n=0,的離散傅里葉變換為:X(Z)=《、人-二(>,"?,入’一丨(1)n—41相應(yīng)的傅甩葉逆變換火;(2)這說明IFFT可以由FKT求出。因此,F(xiàn)FT和IFFT處理器可以用統(tǒng)一的硬件結(jié)構(gòu)來實現(xiàn)。對于
6、FFT,設(shè)序列x(n)的訟度為N=4p(p為整數(shù)),則基4頻率抽取蝶菜運算單元方程為:X)=O(m)+,4廣?>+,("+2Xp■’)++3Xr?W;X+K~*1)=O('J)j.r(w+f■〉一j(n+2zr’?)+k<"+3xr”*)jwX(n+2XK叫)=X")j(h4*4,一卜
7、)+(3)./(//-2Xp-,1)一.rMimF算法流
8、圖中的蝶葬單A的級數(shù)?、=<>?I/>1:"=A2Xd、/d,/d取(》?I?..,?1'I?取11,1,....4、一1;/?1X3FFT/IFFT的硬件實現(xiàn)我們采用Xilinx公司的Virtex-II系列FPGA來實現(xiàn)FFT/IFFT處理器。3.1蝶形運算單元結(jié)構(gòu)基4頻率抽取FFT計算一共包括了logAN)級運算,其中,在每一級中包含了N/4個基4蝶形運算,蝶形運算器如圖1所示。Virtex-II系列FPGA有內(nèi)嵌18bitX18bit補碼乘法器以及大容量用戶可配置RAM,非常適合做大規(guī)模算術(shù)運算。圖
9、1所示的蝶形運算器可以在一個吋鐘周期內(nèi)完成-次基4蝶形運算。其中,操作數(shù)A、B、C、D存放在RAM中,三個18位放置因子Wl、W2、W3存放在ROM中。由于運算結(jié)果可能會超過原數(shù)據(jù),所以要進行量化移位[1][2]。3.2并行運算結(jié)構(gòu)通用DSP的蝶算單元通常是從內(nèi)存中順序讀入四個操作數(shù)A、B、C、D,因而計算速度受到了很大限制。而使用FPGA可充分利用并行計算技術(shù)在一個時鐘周期內(nèi)并行讀取四個操作數(shù),以便完成一次基4蝶形運算。我們