国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于超大規(guī)模FPGA的FFT設(shè)計與實現(xiàn)

發(fā)布時間:2009-5-27 16:29    發(fā)布者:FPGA
關(guān)鍵詞: fft , FPGA
在寬帶數(shù)字接收機中,需要對接收機輸出的零中頻信號進行實時的譜分析,因此FFT的高速實現(xiàn)一直是寬帶數(shù)字接收機的重要研究內(nèi)容之一,而以DSP為代表的數(shù)字信號處理芯片的應(yīng)用使得FFT的運行效率產(chǎn)生了質(zhì)的飛躍,而超大規(guī)模FPGA的應(yīng)用更是極大地提高了FFT的實現(xiàn)速度,這是由于當(dāng)今最先進的FPGA芯片內(nèi)部集成了大量乘法器和存儲資源,其內(nèi)部規(guī)模達到千萬門量級,總線速度接近550 MHz,這些可編程硬件資源為FFT的高速實現(xiàn)提供了可能。
    參考文獻[1]論述了一種基于FPGA的FFT實現(xiàn)方法,在系統(tǒng)時鐘為100MHz時,采用Xilinx公司Vertex-IIPro完成1 024點復(fù)數(shù)FFT運算僅需要2.56μs,但由于系統(tǒng)時鐘速度較低,輸入輸出數(shù)據(jù)的速度較慢。參考文獻[3]論述了基于FPGA的FFT算法實現(xiàn),其設(shè)計的1024點復(fù)數(shù)基4-FFT處理器在100 MHz的主時鐘頻率下運算速度為51.29μs,其速度同樣不能滿足寬帶數(shù)字接收機實時譜分析的要求。基于此,本文論述了一種基于單片F(xiàn)PGA的高速FFT設(shè)計與實現(xiàn)技術(shù)。
    Virtex-IV SX 芯片中集成了XtremeDSPSlice,支持40多個動態(tài)控制的操作模式,包括乘法器、乘法器-累加器、乘法器-加法器/減法器,三輸入加法器、桶形移位器、寬總線多路復(fù)用器或?qū)捰嫈?shù)器,可以獨立達到500 MHz的性能,或整列組合在一起以實現(xiàn)DSP功能。本系統(tǒng)即選用了XC4VSX55芯片,在單片F(xiàn)PGA上完成了2048點的FFT高速運算。
1 基4-FFT算法簡介
    系統(tǒng)需要對于2 048點實序列完成FFT實時處理,這里選用基4-FFT算法。基4-FFT共需log4N=r次迭代運算,每次迭代包含N/4個碟形單元,基4-蝶形運算單元見圖1。


2 頻域抽取基4-FFT的FPGA設(shè)計與實現(xiàn)
2.1總體實現(xiàn)結(jié)構(gòu)設(shè)計
    在得到1 024點復(fù)數(shù)序列的FFT結(jié)果后,再進行一級蝶形運算就可得到2048點實序列的FFT,這種算法減小了每一級蝶形運算的數(shù)據(jù)量,提高了整個FFT運算的工作頻率。1024點復(fù)序列的基4-FFT共需5級蝶形運算,每一級需256個蝶形運算單元,再加上1級結(jié)果轉(zhuǎn)換單元和1級求模值運算單元,完整的2048點實序列的基4-FFT共需7級運算,考慮到頻域抽取基4-FFT算法的特點,本文采用級間順序運算、級內(nèi)并行加流水的實現(xiàn)結(jié)構(gòu)。總體實現(xiàn)結(jié)構(gòu)框圖如圖2所示。


   系統(tǒng)實現(xiàn)流程為:首先,數(shù)據(jù)緩沖模塊暫存輸入數(shù)據(jù)流,并進行必要排序處理,然后,狀態(tài)控制邏輯單元啟動蝶形運算,第i級蝶形運算利用第i-1級的輸出結(jié)果和對應(yīng)的旋轉(zhuǎn)因子完成本級蝶形運算,把運算結(jié)果存儲到對應(yīng)的存儲單元中,第i級運算完成后,使能第i+1級運算,以此類推,經(jīng)過5級蝶形運算,就可以得到1  024點復(fù)序列的FFT結(jié)果,運算結(jié)果經(jīng)數(shù)據(jù)轉(zhuǎn)換單元就可以得到2048點實序列的FFT結(jié)果;時鐘分配模塊把輸入時鐘進行緩沖、分頻、調(diào)理等處理,為各級運算單元、存儲單元提供同步時鐘,狀態(tài)控制邏輯單元完成各級運算單元之間的轉(zhuǎn)換控制功能。
2.2 數(shù)據(jù)存儲單元設(shè)計
    依據(jù)頻域抽取基4-FFT算法的要求,輸入數(shù)據(jù)是順序輸入的,設(shè)由實序列組合得到的1024點復(fù)序列為X(0)、X(1)、…、X(N-1),數(shù)據(jù)緩沖模塊把該序列分成4組進行緩沖存儲,具體為:數(shù)據(jù)X(0)、X(4)、…、X(1020)為第1組;X(1)、X(5)、…、X(1 021)為第2組;X(2)、X(6)、…、X(1022)為第3組;X(3)、X(7)、…、X(1023)為第4組,4組數(shù)據(jù)分別順序存儲于雙端口RAM中(DPRAM1(0)、DPRAM2(0)、DPRAM3(0)、DPRAM4(0)),產(chǎn)生的存儲地址為st_addr(i+1)=st_addr(i)+1,存儲器的存儲深度為256。輸入數(shù)據(jù)的存儲結(jié)構(gòu)如表1所示。


    依據(jù)基4-FFT算法的運算規(guī)則,第1級蝶形運算的數(shù)據(jù)量為4,即輸入數(shù)據(jù)量、輸出數(shù)據(jù)量都為4。對于1024點復(fù)序列,參與第1級蝶形運算的4個數(shù)據(jù)分別為X(i)、X(i+256)、X(i+512)、X(i+768),i=0,1,…,255,可以看出,第1級蝶形運算單元的輸入數(shù)據(jù)可以分別從DPRAM1(0)、DPRAM2(0)、DPRAM3(0)及DPRMA4(0)讀取,而不會出現(xiàn)交叉讀取數(shù)據(jù)的現(xiàn)象,這樣,可以方便地采用4個蝶形運算單元并行工作模式,從而提高工作速度。
   記第1級蝶形運算的輸出數(shù)據(jù)為X(i),i=0,1,…,255,其中,每個X(i)為一次蝶形運算結(jié)果,包括4個元素。把第1級運算的輸出數(shù)據(jù)分成4組,分別順序存儲于4個雙端口RAM中(DPRAM1(1)、DPRAM2(1)、DPRAM3(1)及DPRAM4(1)),存儲地址也是順序產(chǎn)生的,即st_addr(i+1)=st_addr(i)+1,第1級蝶形運算輸出結(jié)果的存儲結(jié)構(gòu)如表2所示。


   第2級蝶形運算的數(shù)據(jù)量為16,具體描述為:把數(shù)據(jù)組X(i)、X(i+64)、X(i+128)及X(i+192)分成一組,記為第i組,其中,i=0,1,…,63,運算時,從這4個數(shù)據(jù)組中依次讀取對應(yīng)元素作為蝶形運算單元的輸入數(shù)據(jù),例如,分別取X(i)、X(i+64)、X(i+128)及X(i+192)中的第1個元素作為一次蝶形運算的輸入數(shù)據(jù),依次類推。第2級蝶形運算的輸出數(shù)據(jù)記作X(i,i),i=0,1,…,63,每個X(i,i)是第i組數(shù)據(jù)的運算結(jié)果,包含16個元素;該級蝶形運算的輸出數(shù)據(jù)也分成4組,分別順序存儲于DPRAM1(2)、DPRAM2(2)、DPRAM3(2)及DPRMA4(2),其存儲結(jié)構(gòu)如表3所示。


   第3級蝶形運算單元的數(shù)據(jù)量為64,把數(shù)據(jù)組X(i,i)、X(i+16,i+16)、X(i+32,i+32)及X(i+48,i+48)作為第i組數(shù)據(jù),其中,i=0,1,…,15,運算時,從數(shù)據(jù)組X(i,i)、X(i+16,i+16)、X(i+32,i+32)及X(i+48,i+48)中依次取對應(yīng)元素作為該級蝶形運算單元的輸入數(shù)據(jù)。第3級蝶形運算的輸出數(shù)據(jù)記為X(i,i,i),i=0,1,…,15,每個X(i,i,i)是第i組數(shù)據(jù)的運算結(jié)果,包含64個元素;該級蝶形運算的輸出數(shù)據(jù)分成4組,分別順序存儲于DPRAM1(3)、DPRAM2(3)、DPRAM3(3)及DPRMA4(3),其存儲結(jié)構(gòu)如表4所示。


   第4級蝶形運算的數(shù)據(jù)量為256,把數(shù)據(jù)組X(i,i,i)、X(i+4,i+4,i+4)、X(i+8,i+8,i+8)及X(i+12,i+12,i+12)分成一組,作為第i組數(shù)據(jù),其中,i=0,1,…,15。運算時,從數(shù)據(jù)組X(i,i,i)、X(i+4,i+4,i+4)、X(i+8,i+8,i+8)及X(i+12,i+12,i+12)中依次取對應(yīng)元素作為該級蝶形運算單元的輸入數(shù)據(jù)。第4級蝶形運算的輸出數(shù)據(jù)量記為X(i,i,i,i),i=0,1,2,3,每個X(i,i,i,i)有256個元素。把該級蝶形運算的輸出數(shù)據(jù)分成4組,分別順序存儲于DPRAM1(4)、DPRAM2(4)、DPRAM3(4)及DPRMA4(4),其存儲結(jié)構(gòu)如表5所示。


    第5級蝶形運算的數(shù)據(jù)量為1024,從數(shù)據(jù)組X(0,0,0)、X(1,1,1,1)、X(2,2,2,2)及X(3,3,3,3)中依次讀取對應(yīng)數(shù)據(jù)作為該級蝶形運算單元的輸入數(shù)據(jù)。該級蝶形運算的輸出數(shù)據(jù)量為1 024,也分成4組順序存儲于DPRAM1(5)、DPRAM2(5)、DPRAM3(5)、DPRAM4(5)。
2.3 流水結(jié)構(gòu)的蝶形運算單元設(shè)計
   本設(shè)計的基4-蝶形運算單元采用串行輸入/輸出、并行運算的結(jié)構(gòu),其中,串行輸入/輸出數(shù)據(jù)流是由時鐘信號clk1控制的,而內(nèi)部并行運算是由時鐘信號clk2控制的,clk2是clk1四分頻后的結(jié)果。同時,設(shè)計采用增加流水級的辦法進一步提高運算速度,復(fù)數(shù)乘運算采用全并行結(jié)構(gòu)實現(xiàn),共需2級流水,整個蝶形運算共需6級流水,第1級是4個串行輸入數(shù)據(jù)緩沖,第2、3級是復(fù)數(shù)乘,第4、5級是兩級加減運算,第6級是4個輸出結(jié)果在時鐘clk1控制下串行輸出。圖3是蝶形運算單元的實現(xiàn)框圖,圖4是復(fù)數(shù)乘運算的并行實現(xiàn)框圖。



2.4 狀態(tài)控制單元設(shè)計
    狀態(tài)控制單元主要完成每級運算之間的狀態(tài)轉(zhuǎn)換功能,產(chǎn)生相應(yīng)的使能信號。根據(jù)前面的分析,2048點實序列的基4-FFT共需要5級蝶形運算、一級數(shù)據(jù)轉(zhuǎn)換和求模值運算和一級數(shù)據(jù)讀出單元,這樣,整個基4-FFT功能模塊共需7個狀態(tài),分別用stage1~stage7來表示,設(shè)計采樣有限狀態(tài)機加以實現(xiàn),產(chǎn)生的控制使能信號分別為butter1_cal_en、butter2_cal_en、butter3_cal_en、butter4_cal_en、butter5_cal_en、change_en及read_en,每個狀態(tài)對應(yīng)于一級蝶形運算,實現(xiàn)的具體功能包括:使上一級存儲器的讀出使能信號有效,使本級蝶形運算單元和本級存儲器的存儲使能信號有效。狀態(tài)控制單元的Modelsim仿真結(jié)果如圖5所示。


3  基4-FFT模塊的性能分析
3.1資源消耗及運算速度估計
   按照本文設(shè)計,每個復(fù)數(shù)乘法器消耗4個硬件乘法器、而每個蝶形運算單元有3個復(fù)數(shù)乘法器,這樣,每個蝶形運算單元共消耗12個硬件乘法器。并在設(shè)計時,根據(jù)數(shù)據(jù)存儲結(jié)構(gòu)特點,各級運算采用4個蝶形運算單元并行工作的方式,另外,數(shù)據(jù)轉(zhuǎn)換單元的蝶形運算包含1個復(fù)數(shù)乘法器,也采用4路并行工作方式,由于第1級蝶形運算不需要復(fù)數(shù)乘法運算,所以,整個FFT模塊共消耗3×4×12+12+4×4=172個硬件乘法器資源;本文設(shè)計的基4-FFT模塊共需6個狀態(tài)來完成,每個狀態(tài)對應(yīng)一級蝶形運算,每級蝶形運算消耗的總時間包括數(shù)據(jù)讀出時間和流水延時時間兩部分。這樣,第1級蝶形運算共需256+4×4=272個clk時鐘,第2、3、4級蝶形運算共需3×(256+6×4)=840個clk時鐘,第5級需要256+4=260個clk時鐘,這樣,整個FFT模塊共需要1 370個clk時鐘周期完成,在clk頻率為300 MHz時,完成FFT運算共需4.57 μs。
3.2 實現(xiàn)結(jié)果
    本文利用單片F(xiàn)PGA實現(xiàn)2 048點FFT計算,采用實際信號數(shù)據(jù)注入實驗驗證,注入單點頻信號并加入高斯白噪聲時,信噪比SNR=0dB,圖6(a)是FFT模塊的輸出結(jié)果,可以看出,輸出結(jié)果將在歸一化頻率100和其鏡像頻率1948位置產(chǎn)生兩個峰值點;注入3個點頻加入高斯白噪聲,SNR=0 dB,圖6(b)是FFT模塊的輸出結(jié)果。


   本文針對高速數(shù)字接收機頻譜實時估計的需求,設(shè)計了基于Xilinx的Virtex-IV系列的XC4VSX55芯片的FFT算法設(shè)計并實現(xiàn),實測結(jié)果與計算機仿真結(jié)果一致。可見隨著總線速度可達550MHz的Virtex-V的出現(xiàn)及更加豐富的資源置于片內(nèi),使得全并行結(jié)構(gòu)的實現(xiàn)成為可能,為FFT的高速實現(xiàn)與應(yīng)用提供了更有效的手段。
本文地址:http://www.qingdxww.cn/thread-2670-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設(shè)計風(fēng)險
  • 深度體驗Microchip自動輔助駕駛應(yīng)用方案——2025巡展開啟報名!
  • 想要避免發(fā)生災(zāi)難,就用MPLAB SiC電源仿真器!
  • 我們是Microchip
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品国偷自产在线 | 香蕉69精品视频在线观看 | 日韩高清在线日韩大片观看网址 | 青草园网站在线观看 | 在线观看免费视频网站色 | 日本五十路息与子交尾视频 | 亚洲欧美日韩在线一区二区三区 | 日韩欧美精品一区二区 | 午夜视频在线播放 | 日韩高清在线高清免费 | 国产日产欧美一区二区三区 | 我要色综合网 | 视频一区二区三区自拍 | 性欧美午夜高清在线观看 | 四虎永久在线精品国产馆v视影院 | 力王国语在线观看完整国语版免费 | 尹人成人| 日韩免费高清完整版 | 丁香伊人五月综合激激激 | 国产1区2区| 亚洲人成在线影院 | 成人亚洲精品 | 青青青国产高清在线观看视频 | 久久国产热 | 羞羞色男人的天堂伊人久久 | 91色视频在线观看 | 国偷盗摄自产福利一区在线 | 一区二区影院 | 久久免费视频99 | 不卡一级毛片免费高清 | a毛片在线还看免费网站 | 亚洲欧洲精品视频在线观看 | 国产乱在线观看完整版视频 | 99久久99这里只有免费的精品 | 四虎影5151毛片在线看 | 欧美成人三级网站在线观看 | 日韩欧美一区二区三区不卡 | 成人高清网站 | 在线观看一区二区三区视频 | 婷婷五月在线视频 | 国产xxwwxxww视频 |