亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        大點(diǎn)數(shù)FFT設(shè)計(jì)中提高資源利用率的方法

        2011-09-26 01:59:46田素雷孫雪晶
        無線電工程 2011年1期
        關(guān)鍵詞:蝶形點(diǎn)數(shù)示意圖

        李 斌,田素雷,孫雪晶

        (中國電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

        0 引言

        快速傅里葉變換作為時域和頻域轉(zhuǎn)換的基本運(yùn)算,是頻譜分析的必要前提,在數(shù)字通信、語音信號分析、圖象處理、雷達(dá)、地震和生物醫(yī)學(xué)工程等數(shù)字信號處理領(lǐng)域有著極為廣泛的應(yīng)用。

        隨著數(shù)字信號處理技術(shù)的飛速發(fā)展,應(yīng)用系統(tǒng)對于高速大點(diǎn)數(shù)的FFT處理器需求越來越大,這就意味著芯片的資源、面積、功耗和成本都將大幅提高。在目前FFT算法已經(jīng)相當(dāng)成熟的條件下,系統(tǒng)運(yùn)算量難以減少,因此只能通過改善實(shí)現(xiàn)方式,即增加資源,提高并行度,提高工作頻率,才能達(dá)到更高的變換速度。

        該文介紹了2種用于提高大點(diǎn)數(shù)FFT設(shè)計(jì)中資源利用率的方法,通過提高運(yùn)算單元和存儲單元的利用率,能夠有效地減少變換時間和資源面積。以一個64 K點(diǎn)FFT處理器的設(shè)計(jì)為例,對2種方法進(jìn)行了詳細(xì)分析。

        1 FFT算法

        FFT算法的基本思想:利用WNr函數(shù)(旋轉(zhuǎn)因子)的周期性、對稱性,將原有的N點(diǎn)序列分解成2個或者多個較短的序列,這些短序列的傅里葉變換(DFT)可以重新組合成原序列的DFT,并且總的運(yùn)算次數(shù)比直接的DFT運(yùn)算次數(shù)少的多,從而達(dá)到提高速度的目的。

        長度為N的FFT變換可以寫為:

        式中,k,n∈[0,N-1],N為運(yùn)算點(diǎn)數(shù)。

        由FFT算法可知,基數(shù)越高,總運(yùn)算量越少,因此采用高基數(shù)的蝶形運(yùn)算方式,能夠提高運(yùn)算速度?;?6按時域抽取(DIT)可以寫為:

        式中,m∈[0,N/16-1];j∈[0,15];k∈[0,N-1],N為運(yùn)算點(diǎn)數(shù)。

        式中,i∈[0,15]。

        觀察Yi可知,Yi為N/16點(diǎn)的FFT運(yùn)算,可以將N點(diǎn)降為N/16點(diǎn)的FFT運(yùn)算。

        而式(2)按照基16分解為 x(16m),x(16m+1),x(16m+2),…,x(16m+15)分別抽取,可以分解為:

        式中,X(k+jN/16)表示基16運(yùn)算的第 j個輸出點(diǎn),而Yi則可以通過N/16點(diǎn)FFT來實(shí)現(xiàn),從而實(shí)現(xiàn)迭代運(yùn)算。

        2 提高運(yùn)算單元的利用率

        傳統(tǒng)的FFT變換分為3個階段,首先將輸入數(shù)據(jù)全部存入RAM,之后進(jìn)行各級蝶形運(yùn)算,蝶形運(yùn)算全部完成后再從RAM中輸出數(shù)據(jù),這樣運(yùn)算一組數(shù)據(jù)需要的時間即為(載入時間+運(yùn)算時間+輸出時間)。

        在這種載入、運(yùn)算和輸出順序進(jìn)行的結(jié)構(gòu)中,只有數(shù)據(jù)全部輸入后運(yùn)算單元才開始工作,同樣,只有運(yùn)算全部結(jié)束后才能進(jìn)行數(shù)據(jù)輸出。這樣在大點(diǎn)數(shù)FFT變換中,輸入輸出會占用大量時間,而此時運(yùn)算單元則處于空閑狀態(tài)。因此,對變換過程進(jìn)行了改進(jìn),將輸入的部分?jǐn)?shù)據(jù)與運(yùn)算數(shù)據(jù)重疊,輸出的部分?jǐn)?shù)據(jù)也可與運(yùn)算數(shù)據(jù)重疊,使得運(yùn)算單元能夠在數(shù)據(jù)輸入或輸出的同時進(jìn)行運(yùn)算,減少其在整個變換過程中的空閑時間。

        按照蝶形算法的運(yùn)算順序,在一組數(shù)據(jù)的FFT運(yùn)算中,當(dāng)?shù)趉級的運(yùn)算進(jìn)行到第n=3×4(s-k-1)=3N/4(k+1)(s為運(yùn)算N個數(shù)據(jù)的FFT所需要的總級數(shù))個數(shù)據(jù)時,第k+1級運(yùn)算即可開始。根據(jù)這一特點(diǎn),變換過程的“載入-變換-輸出”3個階段可以進(jìn)行重疊,既輸入的同時進(jìn)行第1級蝶算,第4級蝶算的同時進(jìn)行輸出。

        受到FFT算法的限制,運(yùn)算和輸出重疊的條件是變換結(jié)果倒序輸出。如果需要正序輸出結(jié)果,那么最后一級運(yùn)算結(jié)束之后才能夠進(jìn)行輸出。輸入和運(yùn)算重疊則沒有條件限制。

        以64 K點(diǎn)的FFT為例,此設(shè)計(jì)采用的是16輸入的基16蝶形運(yùn)算,共需4級,每級4 K個時鐘周期的運(yùn)算時間。不同階段變換的重疊部分示意圖如圖1所示。

        對于一組64 K點(diǎn)數(shù)據(jù)的FFT變換,由于數(shù)據(jù)按時鐘采樣取數(shù),所以64 K個數(shù)據(jù)需要64 K個時鐘周期來完成輸入,根據(jù)算法,第1級蝶算需要的數(shù)據(jù)為 n,n+4 K,n+8 K,…,n+56 K,n+60 K(n∈[0,4 095]),因此輸入到第60 K個數(shù)據(jù)時,就可以開始進(jìn)行第1級蝶算,即當(dāng)64 K數(shù)據(jù)輸入完成時,數(shù)據(jù)的第1級運(yùn)算也隨之完成。這樣,載入和變換可以有4 K個時鐘周期的重疊時間,如圖1(a)所示。

        圖1 不同階段重疊的變換示意圖

        輸出時采用數(shù)據(jù)倒序輸出。根據(jù)蝶算單元中基4倒序輸出的規(guī)律,當(dāng)?shù)?級蝶算每時鐘周期產(chǎn)生16個變換結(jié)果時,將這16個結(jié)果數(shù)據(jù)中的第1個直接進(jìn)行輸出,其余數(shù)據(jù)仍存放回原位置。完成第4級蝶算共需要4 K個時鐘周期,可以輸出4 K個數(shù)據(jù),這樣就實(shí)現(xiàn)了邊運(yùn)算邊輸出,變換和輸出有了4 K個時鐘周期的重疊,如圖1(b)所示。

        3 提高存儲單元的利用率

        受限于FFT算法本身,要提高數(shù)據(jù)吞吐率最好的方法就是多組數(shù)據(jù)之間采用流水實(shí)現(xiàn)連續(xù)的運(yùn)算,在實(shí)際應(yīng)用中,系統(tǒng)也往往需要FFT模塊具有連續(xù)運(yùn)算的能力。常見的方法是通過3倍的乒乓隨機(jī)存儲器(RAM)來實(shí)現(xiàn)流水線,但對于大點(diǎn)數(shù)設(shè)計(jì),這樣會造成電路規(guī)模和面積的大幅增加。為減少不必要的資源占用,可以通過RAM的循環(huán)使用來實(shí)現(xiàn)流水設(shè)計(jì),只需增加部分RAM進(jìn)行緩沖,就能達(dá)到數(shù)據(jù)連續(xù)變換的目的。

        下面同樣以64 K點(diǎn)的FFT設(shè)計(jì)來進(jìn)行詳細(xì)介紹。設(shè)計(jì)中使用了必需的4組RAM,每組16 K,以及部分緩沖RAM。

        載入時RAM整體使用示意圖如圖2所示,斜線表示未運(yùn)算數(shù)據(jù),方格表示正在進(jìn)行運(yùn)算的數(shù)據(jù)。4個子圖中每個標(biāo)準(zhǔn)矩形表示1組4塊的4 K×32的SRAM。圖2(a)表示第1次載入時,前60 K數(shù)據(jù)載入后RAM的使用情形,這時只有第4組RAM的后1/4(也就是最后一塊RAM)是空的,并且沒有開始變換。圖2(b)表示載入60~64 K數(shù)據(jù)的情形,這部分?jǐn)?shù)據(jù)沒有載入到第4組RAM的后1/4(也就是最后一塊RAM),而是將直接進(jìn)行第1級變換,當(dāng)然,變換的結(jié)果需要存入這部分RAM。圖2(c)和圖2(d)為第2和第3級變換,在這段時間里,數(shù)據(jù)被載入到第5組進(jìn)行緩沖的RAM中。

        圖2 載入時RAM整體使用示意圖

        輸出時RAM使用示意圖如圖3所示,斜線表示未運(yùn)算數(shù)據(jù),方格表示正在進(jìn)行運(yùn)算的數(shù)據(jù),網(wǎng)格表示等待輸出的數(shù)據(jù)。

        圖3 輸出時RAM使用示意圖

        圖3(a)和圖3(b)中4個較大的矩形表示第1組中的4塊RAM,它們內(nèi)部存放的數(shù)據(jù)在第4級時都由第1號蝶算單元進(jìn)行運(yùn)算。圖3(a)表示第1塊RAM中的數(shù)據(jù)運(yùn)算后不再存回,直接輸出,以便新的數(shù)據(jù)可以載入。每一塊RAM的讀取都是完全正序的,即按照0,1,2,…,15,…,4 K-1的順序。由于這4塊數(shù)據(jù)同時參與運(yùn)算,所以第2、第3和第4塊RAM的數(shù)據(jù)被寫回原地址保存。這4塊RAM運(yùn)算完成需要4 K個時鐘周期。4塊RAM運(yùn)算完成后,第1塊RAM也完全空了,其他3塊RAM則裝滿了變換結(jié)果,如圖3(b)所示。

        圖3(c)和圖3(d)中4個較大的矩形表示第2、第3和第4組中的任意一組的4塊RAM,它們內(nèi)部存放的數(shù)據(jù)在第4級時分別由第2、第3和第4號蝶算單元進(jìn)行運(yùn)算。圖3(c)表示第4級運(yùn)算正在進(jìn)行中,這些運(yùn)算和第1組的4塊RAM中數(shù)據(jù)的運(yùn)算同時進(jìn)行。每一塊RAM的讀取都是完全正序的,即按照0,1,2,…,15,…,4 K-1的順序。運(yùn)算的結(jié)果即變換的結(jié)果被寫回原地址保存。這4塊RAM運(yùn)算完成也需要4 K個時鐘周期。4塊RAM運(yùn)算完成后,都裝滿了變換結(jié)果,等待輸出,如圖3(d)所示。

        第4級運(yùn)算時,第1組(中的第1塊)RAM就可以同時輸出數(shù)據(jù),也能夠夠載入新的數(shù)據(jù)。當(dāng)?shù)?級運(yùn)算結(jié)束后,第1組RAM開始純粹的輸出。第1組RAM輸出完畢后,依次序是第2、第3和第4組 RAM輸出。數(shù)據(jù)輸出的存儲單元就可以載入新的數(shù)據(jù)了。

        以上是連續(xù)變換時,一組數(shù)據(jù)存儲、變換和輸出的整個過程。同時上述部分也詳細(xì)分析了只使用少量RAM就可以實(shí)現(xiàn)的連續(xù)變換的方法,其核心思想是3個合并:把一組運(yùn)算數(shù)據(jù)的輸入和其第1級運(yùn)算合并,把第4級運(yùn)算和輸出合并,把輸出和下一組數(shù)據(jù)的輸入合并。這樣只需增加少量的RAM就可以實(shí)現(xiàn)連續(xù)變換,緩沖RAM的大小取決于中間運(yùn)算需要的時鐘周期數(shù)。

        4 結(jié)束語

        在并行度、時鐘頻率和蝶算基數(shù)相同的情況下(16輸入基16蝶算,流水線運(yùn)算),未采用文中所述方法時,電路的運(yùn)算時間為16 K個時鐘周期,占用的存儲器為192K的SRAM。采用文中所述方法后,電路的運(yùn)算時間為8 K個時鐘周期,占用的存儲器為72 K的SRAM。

        由此可見,文中的2種提高資源利用率的方法確實(shí)有效的減少了變換時間和資源占用。

        [1]CHEN Yuan,LIN Yu-wei,TSAO Yu-chi,et al.A 2.4-Gsample/s DVFS FFT Processor forMIMO OFDM Communication Systems[C].IEEE Journal of Solid-state Circuits,2008:1260-1266.

        [2]OPPENHEIM A V,WILLSKY A S.Signals and Systems[M].Prentice-Hall,1983.

        [3]譚 征,張曉林,杜永久.一種基于FPGA的超高速FFT處理器設(shè)計(jì)[J].遙測遙控,2005,26(6):46-49.

        [4]管吉興.FFT的FPGA實(shí)現(xiàn)[J].無線電工程,2005,35(2):43-46.

        [5]程培青.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,1995.

        [6]趙 鑫.VHDL與數(shù)字電路設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2005.

        [7]高西全,丁玉美,闊永紅.數(shù)字信號處理-原理、實(shí)現(xiàn)及應(yīng)用[M].北京:電子工業(yè)出版社,2006.

        猜你喜歡
        蝶形點(diǎn)數(shù)示意圖
        在FPGA上實(shí)現(xiàn)FFT的高效串行流水線結(jié)構(gòu)
        蝶形引入光纜技術(shù)新進(jìn)展
        光通信研究(2022年2期)2022-03-29 03:19:18
        先畫示意圖再解答問題
        黔西南州旅游示意圖
        看不到的總點(diǎn)數(shù)
        畫點(diǎn)數(shù)
        破解“心靈感應(yīng)”
        多核并行的大點(diǎn)數(shù)FFT、IFFT設(shè)計(jì)
        兩張圖讀懂“青年之聲”
        蝶形彈簧的受力分析及彈性拉壓桿改造
        91青青草视频在线播放| 中国亚洲av第一精品| 国产人成无码视频在线1000| 久久一区av蜜桃人妻| 日本不卡一区二区三区久久精品| 久久精品无码一区二区日韩av| 性色av浪潮av色欲av| 欧美激情区| 日本av一区二区播放| av在线一区二区精品| 免费人成视频网站网址| 国产精品美女久久久久av超清 | 亚洲一区二区三区四区地址| 国产亚洲成av人片在线观看| 三上悠亚久久精品| 麻豆密入视频在线观看| av天堂一区二区三区| 精品人妻一区二区三区视频| 人妻丰满熟妇无码区免费| 久久久久国色av∨免费看| 免费在线观看蜜桃视频| 日韩精品免费av一区二区三区| 胸大美女又黄的网站| 亚洲av无码一区二区乱子伦| 国产精品国产三级国产三不| 中文字幕亚洲高清精品一区在线| 国产禁区一区二区三区| 特级做a爰片毛片免费看无码| 国产精品福利影院| 国产颜射视频在线播放| 开心五月激情五月五月天| 波多野结衣久久精品99e| 7777精品伊人久久久大香线蕉| 亚洲日本无码一区二区在线观看| 免费蜜桃视频在线观看| 国产在线精品一区二区三区| 欧性猛交ⅹxxx乱大交| 亚洲日本视频一区二区三区| 天堂视频在线观看一二区| 亚洲av无码久久精品狠狠爱浪潮 | 亚洲免费国产中文字幕久久久 |