欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種實(shí)現(xiàn)基2fft計(jì)算的fft處理器的制作方法

文檔序號(hào):6575783閱讀:201來(lái)源:國(guó)知局
專利名稱:一種實(shí)現(xiàn)基2fft計(jì)算的fft處理器的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于信號(hào)處理領(lǐng)域,涉及FFT處理器結(jié)構(gòu),具體涉及基2FFT處理器的硬件 實(shí)現(xiàn)方法。
背景技術(shù)
快速傅立葉變換FFT在圖形處理,信號(hào)分析,數(shù)字信號(hào)處理,GPS衛(wèi)星定位,醫(yī)學(xué)圖 象處理,物理學(xué)、數(shù)論、組合數(shù)學(xué)、信號(hào)處理、概率論、統(tǒng)計(jì)學(xué)、密碼學(xué)、聲學(xué)、光學(xué)、海洋學(xué)、結(jié) 構(gòu)動(dòng)力學(xué)等領(lǐng)域都有著廣泛的應(yīng)用。由于用硬件實(shí)現(xiàn)FFT有軟件不可比擬的速度優(yōu)勢(shì)。通 常,用基2FFT算法來(lái)處理長(zhǎng)度為2n信號(hào)的FFT運(yùn)算。N點(diǎn)基2的快速傅立葉變換因?yàn)槠鋸V 泛的用途和自身的特殊性,要求其硬件實(shí)現(xiàn)的運(yùn)算速度快,并且要兼顧硬件面積,兩者之間 必須有良好的均衡。為解決上述技術(shù)問(wèn)題,現(xiàn)有技術(shù)中,如2009年1月28日公開(kāi)的,公開(kāi)號(hào)為 200810046075. 8,名稱為“ 一種蝶形運(yùn)算FFT處理器”的中國(guó)發(fā)明專利,公開(kāi)了 一種用 C0RDIC旋轉(zhuǎn)算法實(shí)現(xiàn)的基4FFT運(yùn)算方法。該方法通過(guò)12階旋轉(zhuǎn)運(yùn)算才能完成一次復(fù)數(shù)乘 法運(yùn)算。如果再加上此后進(jìn)行的復(fù)數(shù)加減法運(yùn)算,需要13個(gè)時(shí)鐘周期才能完成一次蝶形運(yùn) 算,這很難滿足FFT處理器工作頻率較高的要求。該發(fā)明方法為了避免復(fù)數(shù)乘法運(yùn)算而采 用復(fù)雜的控制邏輯,用于硬件實(shí)施復(fù)雜的控制邏輯必然要增加額外的硬件成本,從而導(dǎo)致 該電路結(jié)構(gòu)的IC芯片面積加大。

發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺陷,在分析算法特點(diǎn)的基礎(chǔ)上作了研究和 改進(jìn),提出一種基2FFT算法的FFT處理硬件電路結(jié)構(gòu)及其實(shí)現(xiàn)方法,實(shí)現(xiàn)了運(yùn)算速度和硬 件面積的有效均衡,并將蝶形運(yùn)算單元的電路結(jié)構(gòu)移植到其他2n點(diǎn)的多點(diǎn)FFT運(yùn)算硬件結(jié) 構(gòu)中,一一得以實(shí)現(xiàn)。本發(fā)明目的是通過(guò)以下的技術(shù)方案來(lái)實(shí)現(xiàn)。一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,包括地址映射單元,其在于還包括(1)基2的N點(diǎn)的FFT處理器由1 lo&N級(jí)組成,N為FFT運(yùn)算點(diǎn)數(shù);(2)第1、2級(jí)為單列的一類復(fù)用模塊,第1、第2兩級(jí)復(fù)用單列的一類復(fù)用模塊;(3)單列的一類復(fù)用模塊中包含有一個(gè)簡(jiǎn)化型碟形運(yùn)算單元;(4)第3 第lo&N級(jí)的{(lo&N)-2}級(jí)復(fù)用的另一類復(fù)用模塊;(5)另一類復(fù)用模塊中包含有一個(gè)改進(jìn)型碟形運(yùn)算單元;(6)每級(jí)采用一種同址運(yùn)算結(jié)構(gòu)。所述第1、2級(jí)單列的一類復(fù)用模塊中的簡(jiǎn)化型碟形運(yùn)算單元,其蝶形運(yùn)算僅為加 法運(yùn)算。第1、2級(jí)旋轉(zhuǎn)因子簡(jiǎn)單,不用復(fù)數(shù)乘法運(yùn)算,將第1、2兩級(jí)獨(dú)立出來(lái),僅用加法運(yùn) 算即可以完成蝶形運(yùn)算,而且第1、2級(jí)復(fù)用該單列的一類復(fù)用模塊,和不單列、不復(fù)用的碟 形運(yùn)算單元相比,減少了硬件芯片面積,并能提高工作頻率。與已有技術(shù)將第1、2級(jí)與第3、……、lo&N作為一類進(jìn)行復(fù)用相比,減少了完成FFT運(yùn)算所需的時(shí)鐘周期。所述第1、2級(jí)單列的復(fù)用結(jié)構(gòu)為復(fù)用模塊,該復(fù)用模塊的電路結(jié)構(gòu)是一個(gè)碟形運(yùn) 算單元,它包括兩個(gè)加法器、兩個(gè)寄存器以及一個(gè)多路選擇器;兩個(gè)輸入信號(hào)端與兩個(gè)加法 器的一個(gè)輸入端相連接,每個(gè)加法器的輸出端連接到對(duì)應(yīng)的一個(gè)寄存器,并使各寄存器的 輸出通過(guò)一個(gè)多路選擇器反饋到對(duì)應(yīng)加法器的另一個(gè)輸入端,該單列的一類復(fù)用模塊的電 路結(jié)構(gòu)能夠?qū)崿F(xiàn)加法運(yùn)算和碟形運(yùn)算相結(jié)合的運(yùn)算,與將加法和碟形運(yùn)算的加減法分開(kāi)運(yùn) 算相比,能使硬件電路芯片的面積縮小。所述第3 第丨呢力級(jí)復(fù)用的另一類復(fù)用模塊,該復(fù)用模塊為一個(gè)獨(dú)立的硬件;第 3 log2N級(jí)的每一級(jí)的旋轉(zhuǎn)因子為復(fù)數(shù),各級(jí)的碟形運(yùn)算都有復(fù)數(shù)乘法運(yùn)算,每級(jí)所需的 硬件電路結(jié)構(gòu)相同,各級(jí)碟形運(yùn)算都復(fù)用這一級(jí)獨(dú)立的硬件,第3 第log2N級(jí)的每一級(jí)復(fù) 用該另一類復(fù)用模塊是通過(guò)狀態(tài)機(jī)控制多路選擇器來(lái)實(shí)現(xiàn)數(shù)據(jù)輸入和旋轉(zhuǎn)因子的選擇控 制,從而完成第3 第log2N各級(jí)的運(yùn)算,該復(fù)用結(jié)構(gòu)和不復(fù)用相比,簡(jiǎn)化了地址映射單元 的結(jié)構(gòu),減少了硬件芯片面積。所述另一類復(fù)用模塊中的改進(jìn)型碟形運(yùn)算單元的電路結(jié)構(gòu)包括一個(gè)乘法器、兩個(gè) 加法器、兩個(gè)寄存器以及一個(gè)多路選擇器;乘法器的輸出和兩個(gè)加法器的一個(gè)輸入端相連 接,每個(gè)加法器的輸出端連接到對(duì)應(yīng)的一個(gè)寄存器,并使各寄存器的輸出通過(guò)一個(gè)多路選 擇器反饋到對(duì)應(yīng)加法器的另一個(gè)輸入端;該復(fù)用模塊結(jié)構(gòu)實(shí)現(xiàn)復(fù)數(shù)乘法和碟形運(yùn)算相結(jié)合 的運(yùn)算,與將復(fù)數(shù)乘法和碟形運(yùn)算的加減法分開(kāi)的其他算法相比,能使硬件電路芯片的面 積成倍縮小。所述同址運(yùn)算結(jié)構(gòu)為在輸入數(shù)據(jù)進(jìn)行一次地址映射變換之后,以后同類各級(jí)結(jié)構(gòu) 相同,通過(guò)簡(jiǎn)單的復(fù)用完成地址映射的運(yùn)算結(jié)構(gòu);第一、二級(jí)一類的每級(jí)和第3、……、log2N 級(jí)一類的每級(jí)采用一種同址運(yùn)算結(jié)構(gòu),其優(yōu)勢(shì)在于每級(jí)結(jié)構(gòu)相同,硬件的復(fù)雜度得以降低 和簡(jiǎn)化。所述同址運(yùn)算結(jié)構(gòu)為采用按時(shí)間抽取算法的通用性運(yùn)算結(jié)構(gòu),蝶形運(yùn)算采用包括 一個(gè)乘法器、兩個(gè)加法器、兩個(gè)寄存器以及一個(gè)多路選擇器的改進(jìn)型碟形運(yùn)算單元作流水 運(yùn)算,得到規(guī)格化的運(yùn)算結(jié)果,完成一次蝶形運(yùn)算花費(fèi)6個(gè)系統(tǒng)時(shí)鐘周期,增加或減少運(yùn)算 點(diǎn)數(shù)N只需要增加存儲(chǔ)空間和地址發(fā)生器位數(shù)。由按時(shí)間抽區(qū)(DIT)FFT基本運(yùn)算可知,基2的N點(diǎn)的FFT由log2N級(jí)組成,而且 每級(jí)會(huì)有N/2個(gè)的蝶形運(yùn)算單元。FFT第1級(jí)的旋轉(zhuǎn)因子由WN°= 1構(gòu)成,第2級(jí)旋轉(zhuǎn)因子 由=1和= -i組成。前兩級(jí)運(yùn)算為一般乘法,無(wú)須進(jìn)行復(fù)數(shù)乘法運(yùn)算,可以直接使 用加法器完成整個(gè)碟形運(yùn)算。將第一級(jí)和第二級(jí)獨(dú)立單列為作加法運(yùn)算,而將其他級(jí)另列 為作復(fù)數(shù)乘法運(yùn)算。第3........lo&N各級(jí)的蝶形運(yùn)算中都有較復(fù)雜的復(fù)數(shù)乘法,本發(fā)明提出一種同
址運(yùn)算結(jié)構(gòu),第3........lo&N各級(jí)的蝶形運(yùn)算中的復(fù)數(shù)乘法,各級(jí)采用同址運(yùn)算結(jié)構(gòu),統(tǒng)
一用一級(jí)電路對(duì)各級(jí)進(jìn)行復(fù)用,使該電路結(jié)構(gòu)的IC芯片面積得以減少。每級(jí)采用一種同址運(yùn)算結(jié)構(gòu),該同址運(yùn)算結(jié)構(gòu)是由最基本的FFT運(yùn)算變換而來(lái), 以8點(diǎn)基2FFT運(yùn)算為例,最基本FFT運(yùn)算結(jié)構(gòu)和經(jīng)變換后的同址運(yùn)算結(jié)構(gòu)如圖10所示。第3........log2N級(jí)的復(fù)用結(jié)構(gòu)中包含了一種改進(jìn)型碟形運(yùn)算單元。改進(jìn)型碟
形運(yùn)算單元包括一個(gè)碟形運(yùn)算單元、一個(gè)復(fù)數(shù)加法器、一個(gè)復(fù)數(shù)減法器。最基本FFT運(yùn)算的蝶形運(yùn)算模式為如圖6所示,一個(gè)碟形運(yùn)算單元是由一個(gè)復(fù)數(shù)乘法器完成圖6中603所示 的運(yùn)算,一個(gè)復(fù)數(shù)加法器完成圖6中602所示的運(yùn)算,一個(gè)復(fù)數(shù)減法器完成圖6中的604所 示的運(yùn)算構(gòu)成。已有技術(shù)復(fù)數(shù)乘法器包含四個(gè)實(shí)數(shù)乘法器和三個(gè)實(shí)數(shù)加法器,結(jié)構(gòu)尤顯復(fù) 雜。本方案提出一種改進(jìn)型蝶形運(yùn)算單元,其結(jié)構(gòu)是將復(fù)數(shù)乘法內(nèi)部的加法器和碟形運(yùn)算 的加法器合二為一,在碟形運(yùn)算外部狀態(tài)機(jī)的控制下將復(fù)數(shù)乘法和碟形運(yùn)算的元件進(jìn)行公 用,從而,有效的減少芯片面積。如圖7所示為改進(jìn)型碟形運(yùn)算單元。本發(fā)明的實(shí)質(zhì)性效果1、本發(fā)明采用第1、2級(jí)單列和第3、……、lo&N級(jí)復(fù)用模塊和改進(jìn)型碟形運(yùn)算單 元電路結(jié)構(gòu),IC芯片面積成倍的減小。2、本發(fā)明的各級(jí)結(jié)構(gòu)采用相同的同址運(yùn)算結(jié)構(gòu),輸入數(shù)據(jù)進(jìn)行一次地址映射變 換,以后通過(guò)簡(jiǎn)單的復(fù)用完成地址映射,使硬件的復(fù)雜度得以降低。3、本發(fā)明構(gòu)成的硬件電路實(shí)現(xiàn)了運(yùn)算速度快,兼顧硬件面積小,兩者之間得到了 良好的均衡。4、新型蝶形運(yùn)算單元的電路結(jié)構(gòu)可以移植到其他2n點(diǎn)的多點(diǎn)FFT運(yùn)算硬件結(jié)構(gòu) 中,具有良好的應(yīng)用前景。


圖1是以32點(diǎn)基2FFT為例的現(xiàn)有技術(shù)基2FFT處理器結(jié)構(gòu)。圖2是以32點(diǎn)基2FFT為例的本發(fā)明改進(jìn)的基2FFT處理器結(jié)構(gòu)。圖3是以32點(diǎn)基2FFT為例的本發(fā)明中第1、2級(jí)獨(dú)立分列的復(fù)用結(jié)構(gòu)圖。圖4是以32點(diǎn)基2FFT為例的本發(fā)明使用的地址映射單元的地址映射示意圖。圖5是以32點(diǎn)基2FFT為例的本發(fā)明中第3、4、5級(jí)的復(fù)用模塊結(jié)構(gòu)組成框圖。圖6是現(xiàn)有技術(shù)碟形運(yùn)算單元的碟形運(yùn)算模式示意圖。圖7是本發(fā)明實(shí)施例的改進(jìn)型碟形運(yùn)算單元電路結(jié)構(gòu)組成框圖。圖8是本發(fā)明中完成一級(jí)碟形運(yùn)算的時(shí)序數(shù)據(jù)流示意圖。圖9是本發(fā)明基2FFT處理器結(jié)構(gòu)組成框圖。圖10a為以8點(diǎn)基2FFT為現(xiàn)有技術(shù)采用的碟形運(yùn)算圖。圖10b為以8點(diǎn)基2FFT為實(shí)施例的本發(fā)明采用的碟形運(yùn)算圖。
具體實(shí)施例方式為更好的理解和更清晰的闡述本發(fā)明,下面以32點(diǎn)基2FFT為例,結(jié)合具體實(shí)施方 式對(duì)本發(fā)明進(jìn)行更為詳細(xì)的描述。圖1是現(xiàn)有技術(shù)基2FFT處理器結(jié)構(gòu),該結(jié)構(gòu)采用decimation-in-timeradix-2FFT 算法,其計(jì)算公式如下 式中X(k)為離散傅立葉變換前N/2點(diǎn)的值A(chǔ)R + y)為離散傅立葉變換后N/2 點(diǎn)的值;k= 1,2,…,N/2-1 ;n為基2數(shù)據(jù)的比特值。圖2是本發(fā)明所采用的改進(jìn)型基2FFT處理器結(jié)構(gòu)。以32點(diǎn)基2FFT為例,將32 位輸入數(shù)據(jù)進(jìn)行重新排序的過(guò)程,采用bit-reversal方法。32 = 25,對(duì)于0 < n < 31的 數(shù)據(jù)可以用5比特的二進(jìn)制數(shù)來(lái)表示n = (b4 b3 b2 b0)三 b424+b323+b222+b121+b02°,參見(jiàn)表一。顯然,采用 bit-reversal將原32位輸入數(shù)據(jù)重新排序后,形成地址映射。在本實(shí)施例中采用五級(jí)結(jié)構(gòu),各級(jí)結(jié)構(gòu)相同,即各級(jí)的相臨x(n),x(n+l)進(jìn)行 蝶形運(yùn)算(n = 1,3,5……31),輸出結(jié)果按照以下規(guī)則執(zhí)行若X (K),K為偶數(shù),則發(fā)送到 x(K/2)的下級(jí);若K為奇數(shù),則發(fā)送到x(16+(k-l)/2),進(jìn)行下一級(jí)的碟形運(yùn)算。改規(guī)則簡(jiǎn) 單,而且各級(jí)情況相同,避免了圖1中所示現(xiàn)有技術(shù)基2FFT處理器的復(fù)雜的數(shù)據(jù)交替和旋 轉(zhuǎn)系數(shù)選擇。圖3所示的第一、二兩級(jí)結(jié)構(gòu)是獨(dú)立單列的復(fù)用模塊結(jié)構(gòu),地址映射單元輸出301 連接多路選擇器302的輸入端,外部狀態(tài)機(jī)303的控制輸出連接多路選擇器302的控制端, 多路選擇器302的輸出端連接到碟形運(yùn)算單元的輸入端304,數(shù)據(jù)輸入后(參見(jiàn)304)、進(jìn)行 數(shù)據(jù)運(yùn)算取得中間結(jié)果(參見(jiàn)305)以及和映射地址(參見(jiàn)306);形成映射地址的輸出連接 判斷器307,判斷是否是第二級(jí)?若是第二級(jí),由308線接到第三級(jí)輸入端;若不是第二級(jí), 發(fā)送到309,將虛數(shù)部分取其補(bǔ)并與實(shí)數(shù)交換位置,同時(shí),將交換位置后的輸出部分,經(jīng)310 線反饋到多路選擇器302。外部狀態(tài)機(jī)是本復(fù)用模塊之外的部件,其輸出的控制信號(hào)由時(shí)鐘 信號(hào)CLK提供。經(jīng)過(guò)地址映射之后的初始輸入數(shù)據(jù)301加到多路選擇器302,在外部狀態(tài)機(jī)303 的控制下,控制多路選擇器302對(duì)地址映射單元輸出301送來(lái)的輸入數(shù)據(jù)進(jìn)行選擇,多路選 擇器302將輸入數(shù)據(jù)排列為304形式,由308形成數(shù)據(jù)運(yùn)算的中間結(jié)果,中間結(jié)果的排列為 305形式,再對(duì)中間結(jié)果進(jìn)行地址映射,地址映射后的數(shù)據(jù)重排為306形式,數(shù)據(jù)運(yùn)算結(jié)果 從306輸出,經(jīng)過(guò)307判斷,如果是第1級(jí)的數(shù)據(jù)運(yùn)算完成,則把數(shù)據(jù)的虛部取其補(bǔ)碼與實(shí) 部交換位置后,經(jīng)由310傳輸?shù)?02進(jìn)行第2級(jí)運(yùn)算數(shù)據(jù)處理。如果307判斷,為第2級(jí)數(shù) 據(jù)運(yùn)算完成,則把數(shù)據(jù)輸出經(jīng)由308送到第3級(jí)。前兩級(jí)旋轉(zhuǎn)因子簡(jiǎn)單,可以獨(dú)立出來(lái)進(jìn)行 運(yùn)算,避免采用復(fù)雜的復(fù)數(shù)乘法。而且,第1和第2兩級(jí)結(jié)構(gòu)相同,用一個(gè)多路選擇器302 對(duì)第1、2級(jí)進(jìn)行復(fù)用。第1級(jí)系數(shù)為1,第2級(jí)系數(shù)為1和-i,對(duì)第2級(jí)中系數(shù)為-i的運(yùn) 算用將其虛部取補(bǔ)再與實(shí)部交換位置的方法進(jìn)行。顯而易見(jiàn),整個(gè)第1、第2兩級(jí)的運(yùn)算完 全避免采用復(fù)數(shù)乘法的運(yùn)算。圖4為以32點(diǎn)基2FFT為例的地址映射單元示意圖,32點(diǎn)基2FFT的地址映射關(guān)系 如圖4所示。輸入數(shù)據(jù)的排列為401形式,進(jìn)行地址變換后,輸出部分?jǐn)?shù)據(jù)的排列如402所 示,其地址映射關(guān)系表達(dá)式r = bitrev(n) = n = (b0 b, b2 b3 b4) = b024+b123+b222+b321+b420o
7
圖5所示為本發(fā)明中第3、4、5級(jí)復(fù)用模塊的結(jié)構(gòu)。該復(fù)用模塊的結(jié)構(gòu)包括第3級(jí) 輸入501、多路選擇器502、外部狀態(tài)機(jī)503、碟形運(yùn)算單元504、旋轉(zhuǎn)因子存儲(chǔ)單元505、數(shù)據(jù) 地址變換映射器506和數(shù)據(jù)寄存器507。復(fù)用模塊結(jié)構(gòu)中的碟形運(yùn)算單元504,是復(fù)用結(jié)構(gòu) 中最關(guān)鍵的單元。多路選擇器502連接第3級(jí)運(yùn)算的數(shù)據(jù)輸入501、外部狀態(tài)機(jī)503控制輸 出端和數(shù)據(jù)寄存器507的輸出端,碟形運(yùn)算單元504連接多路選擇器502輸出端和旋轉(zhuǎn)因 子存儲(chǔ)單元505讀數(shù)端,碟形運(yùn)算單元504輸出端連接數(shù)據(jù)地址變換映射器506,數(shù)據(jù)地址 變換映射器506輸出端連接數(shù)據(jù)寄存器507?,F(xiàn)有技術(shù)中的碟形運(yùn)算單元的結(jié)構(gòu),通常包括1個(gè)復(fù)數(shù)乘法器即4個(gè)實(shí)數(shù)乘法器, 2個(gè)復(fù)數(shù)加法器即6個(gè)實(shí)數(shù)加法器。圖6為現(xiàn)有技術(shù)碟形運(yùn)算單元的碟形運(yùn)算模式示意 圖。參見(jiàn)圖6,601表示為一個(gè)輸入數(shù)據(jù)4什]^603表示為另一個(gè)輸入信號(hào)肚+」81與旋轉(zhuǎn)
因子fFi相乘結(jié)果,它是用復(fù)數(shù)乘法器來(lái)完成,602表示為蝶形運(yùn)算單元的一個(gè)分支輸出數(shù)
據(jù)(Ar+jAi)+(Br+jBi) * yi和604表示為碟形運(yùn)算單元的另一個(gè)分支輸出(ArfjAi)-
(Br+jBi)*^,它們都是用一個(gè)復(fù)數(shù)加法器來(lái)完成,605 “_1”表示為604和602輸出不同 之處在于602用復(fù)數(shù)加法運(yùn)算,而604用復(fù)數(shù)減法運(yùn)算。本發(fā)明中的改進(jìn)型蝶行運(yùn)算單元的結(jié)構(gòu)組成如圖7所示,它是一種改進(jìn)型蝶行運(yùn) 算單元電路結(jié)構(gòu)。該電路結(jié)構(gòu)利用了蝶形運(yùn)算中復(fù)數(shù)乘法必須比復(fù)數(shù)加法先完成這個(gè)特 點(diǎn),將復(fù)數(shù)乘法中的加法器在復(fù)數(shù)乘法完成之后復(fù)用給復(fù)數(shù)加法運(yùn)算,這樣僅用1個(gè)實(shí)數(shù) 乘法器,2個(gè)實(shí)數(shù)加法器就可全部完成整個(gè)蝶形運(yùn)算。改進(jìn)型蝶行運(yùn)算單元由A信號(hào)端口 701和B信號(hào)端口 702,實(shí)數(shù)乘法器703,實(shí)數(shù)加法器704和705,多路選擇器706、711和714, 寄存器707、708組成,其運(yùn)算部件還包括寄存器712、713、715、716以及內(nèi)部狀態(tài)機(jī)709組 成,其中712、713、715、716是外部寄存器R3、R4、R5、R6,內(nèi)部狀態(tài)機(jī)709為各多路選擇器提 供狀態(tài)控制信號(hào)。A信號(hào)端口 701和B信號(hào)端口 702的數(shù)據(jù)加到實(shí)數(shù)乘法器703進(jìn)行乘法 運(yùn)算,實(shí)數(shù)乘法器703的輸出分兩路分別連接加法器704和705的一個(gè)輸入端,加法器704 和705的另一個(gè)輸入端連接多路選擇器706的選擇輸出,而多路選擇器706的三個(gè)輸入端 一個(gè)是由加法器704經(jīng)過(guò)R1寄存器707輸出的反饋信號(hào),另一個(gè)是由加法器705經(jīng)過(guò)R2 寄存器708輸出的反饋信號(hào),第三個(gè)輸入端“0”是STATE狀態(tài)復(fù)位信號(hào)710。加法器704的 輸出同時(shí)加到多路選擇器711的輸入端,加法器705的輸出同時(shí)加到多路選擇器714的輸 入端,內(nèi)部狀態(tài)機(jī)709控制輸出端連接多路選擇器711和714的控制端,為多路選擇器711 和714提供的狀態(tài)控制信號(hào),控制多路選擇器711選擇輸出到R3外部寄存器712或R4外 部寄存器713,同樣,控制多路選擇器714選擇輸出到R5外部寄存器715或R6外部寄存器 716。顯而易見(jiàn),改進(jìn)型蝶行運(yùn)算單元的電路僅有一個(gè)實(shí)數(shù)乘法器703,二個(gè)加法器704和 705,二個(gè)寄存器707和708,以及多路選擇器706、711和714,改進(jìn)后的電路構(gòu)成十分簡(jiǎn)單。圖8示出了改進(jìn)型碟形運(yùn)算單元的時(shí)序流程圖。參見(jiàn)圖8,改進(jìn)型蝶行運(yùn)算單元 的工作過(guò)程按整體數(shù)據(jù)流簡(jiǎn)述如下圖8中的801和802所示為二個(gè)蝶行運(yùn)算周期之始, 蝶行運(yùn)算是以CLK時(shí)鐘周期為數(shù)據(jù)流的控制信號(hào),以32點(diǎn)基2FFT蝶行運(yùn)算為例,狀態(tài)機(jī) 提供括從0到5共6個(gè)狀態(tài)控制。0狀態(tài)時(shí),輸入數(shù)據(jù)Br,Wr分別經(jīng)過(guò)A端口 701和B端 口 702輸入。1狀態(tài)時(shí),數(shù)據(jù)Br,Wr完成乘法運(yùn)算,運(yùn)算結(jié)果為Br*Wr,并存儲(chǔ)到R1寄存器 707和R2寄存器708,在此狀態(tài),多路選擇器706選擇的是0輸入,即不進(jìn)行加法運(yùn)算, 口A、B輸入數(shù)據(jù)變?yōu)锽i、Wi。2狀態(tài)時(shí),端口 A的輸入變?yōu)锳r,端口 B的輸入變?yōu)?,多路選擇 器706選擇輸出R1和R2中的值分別輸出到加法器704和705,在加法器704和705中與 已經(jīng)完成乘法運(yùn)算的Bi*Wi值取補(bǔ),進(jìn)行加法運(yùn)算,所得結(jié)果存回Rl,R2中。3狀態(tài)時(shí),端 口 A,B的輸入數(shù)據(jù)變?yōu)锽r,Wi,多路選擇器706選擇輸出Rl,R2中的值,其中R1的值為加 法器704的一個(gè)輸入,加法器704的另一個(gè)輸入為Ar,在加法器704完成Ar+Br*Wr_Bi*Wi 的運(yùn)算;R2的值取補(bǔ)之后為加法器705的一個(gè)輸入,R2的另一個(gè)值為Ar,在加法器705完 成Ar-(Br*Wr-Bi*Wi)的運(yùn)算。4狀態(tài)時(shí),端口 A,B的輸入數(shù)據(jù)變?yōu)閃r,Bi,運(yùn)算Br*Wi的 結(jié)果存入R1寄存器707,R2寄存器708中,同時(shí)將上一狀態(tài)的結(jié)果分別輸出到R3外部寄 存器710,R5外部寄存器712中。5狀態(tài)時(shí),輸入端口 A,B的輸入數(shù)據(jù)值分別為Ai,1,多路 選擇器706選擇輸出Rl、R2中的值分別輸出到加法器704,705中和已經(jīng)完成的乘法運(yùn)算 的Br*Wi進(jìn)行加法運(yùn)算,運(yùn)算結(jié)果Bi*Wr+Br*Wi返回存入R1、R2中。在下一級(jí)的0狀態(tài)時(shí), 把R5外部寄存器712中的數(shù)據(jù)當(dāng)作端口 A的輸入,端口 B的輸入為下一級(jí)碟形運(yùn)算所需的 旋轉(zhuǎn)因子的實(shí)數(shù)部分Wr,此時(shí)多路選擇器706選擇輸出R1,R2中的值,其中Rl的值為加法 器704的一個(gè)輸入,加法器704的另一個(gè)輸入為Ar,在加法器704完成Ai+Br*Wi+Bi*Wr的 運(yùn)算;R2的值取補(bǔ)之后為加法器705的一個(gè)輸入,R2的另一個(gè)值為Ar,在加法器705完成 Ai-(Br*ffi+Bi*ffr)的運(yùn)算,然后將運(yùn)算所得數(shù)據(jù)分別存入外部寄存器R4、R6中。這樣一級(jí) 碟形運(yùn)算全部結(jié)束,而且為下一級(jí)碟形運(yùn)算端口也準(zhǔn)備好數(shù)據(jù),可以繼續(xù)進(jìn)行下一級(jí)碟形 運(yùn)算。 本發(fā)明實(shí)施例基2FFT處理器結(jié)構(gòu)組成如圖9所示?;?FFT處理器由依次連接的 地址映射單元902,第1、2級(jí)復(fù)用模塊903和第3 log2N級(jí)復(fù)用模塊904組成,地址映射 單元902的輸入端連接N點(diǎn)數(shù)據(jù)輸入901,第3 級(jí)復(fù)用模塊904的輸出為FFT運(yùn)算 結(jié)果輸出。參見(jiàn)圖7,復(fù)用模塊整個(gè)碟形運(yùn)算是由內(nèi)部狀態(tài)機(jī)709控制信號(hào)進(jìn)行控制,按照 圖6所示的碟形運(yùn)算模式進(jìn)行碟形運(yùn)算。在初始狀態(tài)801,碟形運(yùn)算開(kāi)始,狀態(tài)機(jī)控制信號(hào) 709為STATE = 0,各端口和寄存器值為初值,A端口 701輸入數(shù)據(jù)Br,B端口 702輸入數(shù) 據(jù)Wr,各寄存器值為0。狀態(tài)機(jī)控制信號(hào)709為STATE = 1,進(jìn)入狀態(tài)1,乘法器703輸出為 Br^ffr,多路選擇器706控制將一個(gè)加數(shù)為Br*Wr和另一個(gè)加數(shù)為“0”分別送到加法器704 和705的輸入端,加法器704和705把輸出的Br*Wr值分別存入寄存器R1和寄存器R2中, 同時(shí)變化輸入,在A端口輸入數(shù)據(jù)為Bi,在B端口的輸入數(shù)據(jù)為Wi。在進(jìn)入狀態(tài)2 (STATE = 2)后,在A端口輸入為Ar,在B端口輸入為1,多路選擇器706受控制分別將一個(gè)加數(shù)為寄 存器R1、R2中的值和另一個(gè)加數(shù)為Bi*Wi的補(bǔ)碼,送到加法器704和705,加法器704和705 將得到的結(jié)果Br*Wr-Bi*Wi寄存到寄存器R1、R2中。在進(jìn)入狀態(tài)3 (STATE = 3)后,A端口 輸入為Br,端口 B輸入為Wi,多路選擇器706控制送到加法器704的一個(gè)加數(shù)為Ar,另一個(gè) 加數(shù)為寄存器R1中的Rr*Wr-Bi*Wi,于是加法器704得到結(jié)果為Ar+(Rr*Wr_Bi*Wi)的值, 存到寄存器R1。同時(shí),多路選擇器706控制送到加法器705的一個(gè)加數(shù)為Ar,另一個(gè)加數(shù) 為R2中的Rr*Wr-Bi*Wi的補(bǔ)碼值,這樣加法器705輸出得到Ar- (Rr*Wr_Bi*Wi)的值,存到 寄存器R2。進(jìn)入狀態(tài)4(STATE = 4)后,A端口輸入為Bi,B端口輸入為Wr,將寄存器Rl中 的數(shù)據(jù)Ar+(Rr*Wr-Bi*Wi)轉(zhuǎn)存到外部寄存器R3,將寄存器R2中的數(shù)據(jù)Ar-(Rr*Wr_Bi*Wi) 轉(zhuǎn)存到外部寄存器R5,并將Wi*Br再存入寄存器Rl和R2中。進(jìn)入狀態(tài)5 (STATE = 5)后, A端口的輸入為Ai,B端口的輸入為1,同時(shí)運(yùn)算Br*Wi+Bi*Wr,并分別存入寄存器R1和R2中,進(jìn)入狀態(tài)5 (STATE = 5)后,運(yùn)算Ai+(Wi*Br+Bi*Wr)存入寄存器R1中,因?yàn)檠a(bǔ)碼的加法 運(yùn)算與原碼的減法運(yùn)算相同,所以可以用加法器得到Ai-(Wi*Br+Wr*Bi)的結(jié)果存入寄存 器R2中,一個(gè)蝶形運(yùn)算完成。接下來(lái),進(jìn)入802,第二個(gè)碟形運(yùn)算開(kāi)始,(請(qǐng)修改)狀態(tài)機(jī) 控制信號(hào)709又為STATE = 0,將寄存器R5中的Ai_ (Wi*Br+Wr*Bi)數(shù)據(jù)送到A端口,B端 口的輸入數(shù)據(jù)Wr,,各外部寄存器值又為0,運(yùn)算Ai+(Wi*Br+Bi*Wr)存入寄存器R1中,運(yùn)算 Ai-(Wi*Br+Wr*Bi)存入寄存器R2中。狀態(tài)機(jī)控制信號(hào)709為STATE = 1,進(jìn)入狀態(tài)1,同時(shí) 變化輸入,在A端口輸入數(shù)據(jù)為Wr,,將寄存器R2中Ai- (Wi*Br+Wr*Bi)數(shù)據(jù)加到B端口,寄 存器R1中Ai+(Wi*Br+Bi*Wr)存入寄存器R4中,寄存器R2中的Ai-(Wi*Br+Wr*Bi)存入寄 存器R6中。以此類推,完成一個(gè)個(gè)蝶形運(yùn)算。當(dāng)A端口和B端口的輸入信號(hào)為0,不再進(jìn)行 下一個(gè)蝶形運(yùn)算,則整個(gè)蝶形運(yùn)算完成。以8點(diǎn)基2FFT運(yùn)算為例,最基本FFT運(yùn)算結(jié)構(gòu)參見(jiàn)圖10a,經(jīng)變換后本發(fā)明的同 址運(yùn)算結(jié)構(gòu)如圖10b所示。圖10a中1001所示為現(xiàn)有技術(shù)中FFT運(yùn)算采用的整體結(jié)構(gòu)圖, 圖10b中1003所示為本發(fā)明采用的FFT同址運(yùn)算整體結(jié)構(gòu)圖,兩者運(yùn)算結(jié)構(gòu)不同,但是運(yùn) 算結(jié)果圖10a中1002和圖10b中1004所示的運(yùn)算結(jié)果完全相同?,F(xiàn)有技術(shù)中不采用復(fù)用 的碟形運(yùn)算圖和本發(fā)明采用復(fù)用的碟形運(yùn)算圖對(duì)比,由于本發(fā)明將第1、2級(jí)獨(dú)立出來(lái)進(jìn)行 復(fù)用,這樣和現(xiàn)有技術(shù)不把1、2級(jí)獨(dú)立出來(lái)復(fù)用相比會(huì)帶來(lái)工作頻率的提高,將第3、……、 log2N獨(dú)立出來(lái)進(jìn)行復(fù)用,這樣和現(xiàn)有技術(shù)沒(méi)有進(jìn)行復(fù)用的相比會(huì)帶所用的硬件芯片面積 減少。本發(fā)明的蝶形運(yùn)算單元的電路結(jié)構(gòu)移植到其他2n點(diǎn)的多點(diǎn)FFT運(yùn)算硬件結(jié)構(gòu)中, 可應(yīng)用于任何包含基2的碟形運(yùn)算,如混合基中同時(shí)有基4,基8,基2的FFT運(yùn)算。盡管上面對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行描述,但本發(fā)明不限具體實(shí)施方式
范圍, 對(duì)本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)講,只要各種變化在權(quán)利要求所限定和確定的本發(fā)明的構(gòu) 思和技術(shù)方案范圍內(nèi),這些變化是顯而易見(jiàn)的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù) 之列。表一
權(quán)利要求
一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器包括地址映射單元,其特征在于,還包括(1)基2的N點(diǎn)的FFT處理器由1~log2N級(jí)組成,N為FFT運(yùn)算點(diǎn)數(shù);(2)第1、2級(jí)為單列的一類復(fù)用模塊,第1、第2兩級(jí)復(fù)用單列的一類復(fù)用模塊;(3)單列的一類復(fù)用模塊中包含有一個(gè)簡(jiǎn)化型碟形運(yùn)算單元;(4)第3~第log2N級(jí)的{(log2N)-2}級(jí)復(fù)用的另一類復(fù)用模塊;(5)另一類復(fù)用模塊中包含有一個(gè)改進(jìn)型碟形運(yùn)算單元;(6)每級(jí)采用一種同址運(yùn)算結(jié)構(gòu)。
2.根據(jù)權(quán)利要求書(shū)1所述的一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,其特征在于,所述第 1、2級(jí)單列的一類復(fù)用模塊中的簡(jiǎn)化型碟形運(yùn)算單元,其蝶形運(yùn)算僅為加法運(yùn)算;第1、2級(jí)旋轉(zhuǎn)因子簡(jiǎn)單,不用復(fù)數(shù)乘法運(yùn)算,將第1、2兩級(jí)獨(dú)立出來(lái),僅用加法運(yùn)算就 能完成蝶形運(yùn)算,而且第1、2級(jí)復(fù)用該單列的一類復(fù)用模塊,和不單列、不復(fù)用的碟形運(yùn)算 單元相比,減少了硬件芯片面積,并能提高工作頻率。
3.根據(jù)權(quán)利要求書(shū)1或2所述的一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,其特征還在于, 所述單列的的一類復(fù)用模塊中的簡(jiǎn)化型碟形運(yùn)算單元的電路結(jié)構(gòu)包括兩個(gè)加法器、兩個(gè)寄 存器以及一個(gè)多路選擇器;兩個(gè)輸入信號(hào)端與兩個(gè)加法器的一個(gè)輸入端相連接,每個(gè)加法 器的輸出端連接到對(duì)應(yīng)的一個(gè)寄存器,并使各寄存器的輸出通過(guò)一個(gè)多路選擇器反饋到對(duì) 應(yīng)加法器的另一個(gè)輸入端;該單列的一類復(fù)用模塊的電路結(jié)構(gòu)能夠?qū)崿F(xiàn)加法運(yùn)算和碟形運(yùn) 算相結(jié)合的運(yùn)算,與將加法和碟形運(yùn)算的加減法分開(kāi)運(yùn)算相比,能使硬件電路芯片的面積 縮小。
4.根據(jù)權(quán)利要求書(shū)1所述的一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,其特征還在于,所述 第3 第Iog2N級(jí)復(fù)用的另一類復(fù)用模塊,該復(fù)用模塊為一個(gè)獨(dú)立的硬件;第3 Iog2N級(jí) 的每一級(jí)的旋轉(zhuǎn)因子為復(fù)數(shù),各級(jí)的碟形運(yùn)算都有復(fù)數(shù)乘法運(yùn)算,每級(jí)所需的硬件電路結(jié) 構(gòu)相同,各級(jí)碟形運(yùn)算都復(fù)用這一級(jí)獨(dú)立的硬件,第3 第Iog2N級(jí)的每一級(jí)復(fù)用該另一類 復(fù)用模塊是通過(guò)狀態(tài)機(jī)控制多路選擇器來(lái)實(shí)現(xiàn)數(shù)據(jù)輸入和旋轉(zhuǎn)因子的選擇控制,從而完成 第3 第Iog2N各級(jí)的運(yùn)算,該復(fù)用結(jié)構(gòu)和不復(fù)用相比,簡(jiǎn)化了地址映射單元的結(jié)構(gòu),減少 了硬件芯片面積。
5.根據(jù)權(quán)利要求書(shū)1或4所述的一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,其特征還在于, 所述另一類復(fù)用模塊中的改進(jìn)型碟形運(yùn)算單元的電路結(jié)構(gòu)包括一個(gè)乘法器、兩個(gè)加法器、 兩個(gè)寄存器以及一個(gè)多路選擇器;乘法器的輸出和兩個(gè)加法器的一個(gè)輸入端相連接,每個(gè) 加法器的輸出端連接到對(duì)應(yīng)的一個(gè)寄存器,并使各寄存器的輸出通過(guò)一個(gè)多路選擇器反饋 到對(duì)應(yīng)加法器的另一個(gè)輸入端;該復(fù)用模塊結(jié)構(gòu)實(shí)現(xiàn)復(fù)數(shù)乘法和碟形運(yùn)算相結(jié)合的運(yùn)算, 與將復(fù)數(shù)乘法和碟形運(yùn)算的加減法分開(kāi)的其他算法相比,能使硬件電路芯片的面積成倍縮 小。
6.根據(jù)權(quán)利要求書(shū)1或2或3或4所述的一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,其特征 還在于,所述同址運(yùn)算結(jié)構(gòu)是在輸入數(shù)據(jù)進(jìn)行一次地址映射變換之后,以后同類各級(jí)結(jié)構(gòu) 相同,通過(guò)簡(jiǎn)單的復(fù)用完成地址映射的運(yùn)算結(jié)構(gòu);同類每級(jí)采用一種同址運(yùn)算結(jié)構(gòu),其優(yōu)勢(shì) 在于每級(jí)結(jié)構(gòu)相同,硬件的復(fù)雜度得以降低。
7.根據(jù)權(quán)利要求書(shū)5所述的一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,其特征還在于,所述 同址運(yùn)算結(jié)構(gòu)是在輸入數(shù)據(jù)進(jìn)行一次地址映射變換之后,以后同類各級(jí)結(jié)構(gòu)相同,通過(guò)簡(jiǎn)單的復(fù)用完成地址映射的運(yùn)算結(jié)構(gòu);同類每級(jí)采用一種同址運(yùn)算結(jié)構(gòu),其優(yōu)勢(shì)在于每級(jí)結(jié) 構(gòu)相同,硬件的復(fù)雜度得以降低。
8.根據(jù)權(quán)利要求書(shū)1或7所述的一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,其特征還在于, 所述同址運(yùn)算結(jié)構(gòu)為采用按時(shí)間抽取算法的通用性運(yùn)算結(jié)構(gòu),蝶形運(yùn)算采用包括一個(gè)乘法 器、兩個(gè)加法器、兩個(gè)寄存器以及一個(gè)多路選擇器的改進(jìn)型碟形運(yùn)算單元作流水運(yùn)算,得到 規(guī)格化的運(yùn)算結(jié)果,完成一次蝶形運(yùn)算花費(fèi)6個(gè)系統(tǒng)時(shí)鐘周期,增加或減少運(yùn)算點(diǎn)數(shù)N只需 要增加存儲(chǔ)空間和地址發(fā)生器位數(shù)。
全文摘要
公開(kāi)一種實(shí)現(xiàn)基2FFT計(jì)算的FFT處理器,對(duì)于Nn點(diǎn)的基2FFT處理器,包括地址映射模塊,第一、二級(jí)復(fù)用模塊,第三、……、log2N級(jí)復(fù)用模塊,N為2的整數(shù)次冪。該實(shí)現(xiàn)方法采用一種同址運(yùn)算結(jié)構(gòu),其優(yōu)勢(shì)在于每級(jí)復(fù)用模塊結(jié)構(gòu)相同,在第一級(jí)復(fù)用模塊輸入數(shù)據(jù)進(jìn)行一次地址映射變換,以后各級(jí)通過(guò)簡(jiǎn)單復(fù)用完成地址映射,降低硬件的復(fù)雜度,第一、二級(jí)為單列復(fù)用,既減少硬件面積,又提高FFT工作頻率,第三至第log2N級(jí)復(fù)用模塊采用一種改進(jìn)型碟形運(yùn)算單元。本發(fā)明的改進(jìn)型碟形運(yùn)算單元僅用1個(gè)乘法器和2個(gè)加法器在6個(gè)時(shí)鐘周期內(nèi)完成一級(jí)復(fù)用模塊的整個(gè)碟形運(yùn)算。與已有技術(shù)的基2-FFT中一級(jí)模塊碟形運(yùn)算單元結(jié)構(gòu)配置了4個(gè)乘法器和6個(gè)加法器相比,增加4個(gè)時(shí)鐘周期,但硬件電路和芯片面積以及器件功耗均可大幅度減小。
文檔編號(hào)G06F17/14GK101847137SQ20091009723
公開(kāi)日2010年9月29日 申請(qǐng)日期2009年3月27日 優(yōu)先權(quán)日2009年3月27日
發(fā)明者何文濤, 李曉江, 桂瓊, 韓少男 申請(qǐng)人:杭州中科微電子有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
南溪县| 海城市| 秭归县| 张家口市| 仪陇县| 四川省| 临澧县| 紫云| 特克斯县| 迁西县| 沂源县| 花莲县| 浠水县| 介休市| 科技| 吉林省| 泸溪县| 峡江县| 麻城市| 靖宇县| 子长县| 米泉市| 若羌县| 宁远县| 五华县| 余江县| 大厂| 蕲春县| 延安市| 东丽区| 桂阳县| 东乡族自治县| 涿州市| 贵阳市| 竹北市| 鄂尔多斯市| 社会| 平原县| 南汇区| 巫山县| 河西区|