專利名稱:一種實(shí)時(shí)快速傅立葉變換電路的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種FFT(快速傅立葉變換)處理器,具有基于VLSI(大規(guī)模集成電路)的基24FFT電路結(jié)構(gòu),具體涉及一種基24實(shí)時(shí)快速傅立葉變換電路。
背景技術(shù):
FFT是計(jì)算DFT(Discrete Fourier Transform,離散傅立葉變換)的有效方法,能將時(shí)域信號轉(zhuǎn)化成頻域信號。逆傅立葉變換進(jìn)行相反的轉(zhuǎn)換。
對N點(diǎn)序列x(n),其DFT變換對定義為X(k)=Σn=0N-1x(n)WNnk---k=0,1,...,N-1,WN=e-j2πN---(1)]]>x(n)=1NΣk=0N-1X(k)WN-nk---n=0,1,...,N-1---(2)]]>顯然,求出N點(diǎn)X(k)需要N2次復(fù)數(shù)乘法及N(N-1)次復(fù)數(shù)加法,而實(shí)現(xiàn)一次復(fù)數(shù)乘需要四次實(shí)數(shù)乘兩次實(shí)數(shù)加,實(shí)現(xiàn)一次復(fù)數(shù)加則需要兩次實(shí)數(shù)加。當(dāng)N很大時(shí),其計(jì)算量是相當(dāng)可觀的。
其實(shí),在DFT運(yùn)算中包含有大量的重復(fù)運(yùn)算。WN因子的取值有如下特點(diǎn)W0=1,WN/2=-1,WNN+r=WNr,WN/2+r=-Wr。
問題的關(guān)鍵是如何巧妙地利用W因子的周期性及對稱性,導(dǎo)出一個(gè)高效的快速算法。這一算法最早由J.W.Cooley和J.W.Tukey于1965年提出。Cooley和Tukey提出的快速傅里葉變換算法(fast Fourier transform,F(xiàn)FT)使N點(diǎn)DFT的乘法計(jì)算量由N2次降為 次。自Cooley-Tukey的算法提出之后,新的算法不斷涌現(xiàn),總的來說,快速傅里葉變換的發(fā)展方向有兩個(gè),一個(gè)是針對N等于2的整數(shù)次冪的算法,如基2算法、基4算法、實(shí)因子算法和分裂基算法等,另一個(gè)是N不等于2的整數(shù)次冪的算法。
隨著超大規(guī)模集成電路(VLSI)的飛速發(fā)展,怎樣用硬件完成FFT運(yùn)算一直是信號處理領(lǐng)域的重點(diǎn)。FFT中間包含大量的復(fù)數(shù)乘法和加法運(yùn)算,而乘法器占用的電路面積和功耗是很大的,如何減少乘法器,減小功耗,提高速度,是FFT處理器設(shè)計(jì)的幾個(gè)關(guān)鍵問題?;谒惴ǖ闹貜?fù)性和資源復(fù)用的考慮,人們提出了一種蝶形處理單元作為FFT運(yùn)算的基本計(jì)算單元,并對此單元反復(fù)使用最終完成全部FFT運(yùn)算。
提高速度、減小功耗和減小面積的方法有很多種,有一種比較好的方法是流水線結(jié)構(gòu)。流水線式的處理器將計(jì)算量分散到連續(xù)的蝶形處理單元上,以便進(jìn)行并行處理。從本質(zhì)上說,流水線操作可使得從處理器的前一級中獲得的局部結(jié)果能在沒有延遲的情況下立即被用于下一處理級。實(shí)時(shí)的流水線處理器的處理速度必須與輸入數(shù)據(jù)速率即用于連續(xù)操作的數(shù)據(jù)采集速度相匹配。這就意味著流水線式FFT處理器必須在N個(gè)時(shí)鐘周期內(nèi)計(jì)算N長度的DFT。
E.H.Worl和A.M.在他們的文章“Pipeline and Parallel-pipeline FFT Processors for VLSIImplementation”(IEEE Trans.Compu.,C33(5)414-426,1984)中描述了一種基2流水線單通路延時(shí)反饋(R2SDF)FFT,這種FFT能提供高速和實(shí)時(shí)的信號處理。但是,這種設(shè)計(jì)需要log2N-1個(gè)復(fù)數(shù)乘法器來完成一個(gè)N點(diǎn)的FFT,這意味著實(shí)現(xiàn)起來比較復(fù)雜。
Shousheng He和Mats Torkelsso在他們的U.S.Patent.No.6098088中公布了一種基22DIT(時(shí)間抽取算法)的流水線式FFT結(jié)構(gòu)。這種流水線結(jié)構(gòu)將計(jì)算N點(diǎn)FFT需要的乘法器降低到log4N-1。另外,Shousheng He和Torkelson M.在他們的文章“A new approach topipeline FFT processor”(Parallel Processing Symposim,1996,Proceedings of IPPS’96,The 10thInternational,1996)中提到使用基23DIF(頻率抽取)FFT算法只需要log8N-1個(gè)復(fù)數(shù)乘法器。但是這篇文章并沒有提到關(guān)于此算法的結(jié)構(gòu)。
R.B.赫爾貝里在2001年4月4日在中國公布的專利號為98813921.9的專利對Shousheng He的專利進(jìn)行了改進(jìn),提出了基8和基16算法的改進(jìn)方法,減少了乘法器的使用,降低了功耗。但是由于基數(shù)越高,控制越復(fù)雜,這個(gè)專利并沒有提出如何降低控制和實(shí)現(xiàn)的復(fù)雜度。
Yeh Yeou-Min在2004年3月25日在美國公布的專利20040059766公布了一種低復(fù)雜度的流水線FFT/IFFT處理器。這種結(jié)構(gòu)是單通路延遲反饋型基23的FFT,這種算法為基2和基8結(jié)合的算法,保留了基8架構(gòu)的優(yōu)點(diǎn),減少了乘法器的使用,也保留了基2般簡單的控制器,降低了控制和實(shí)現(xiàn)的復(fù)雜度。但是,這種復(fù)雜度的降低比較適用于N較小的FFT,對N很大的FFT而言基23算法還是不夠的。
美國專利20040059766中說明了Yeou-Min如何降低實(shí)現(xiàn)基23FFT復(fù)雜度。從結(jié)構(gòu)上說,圖1A描述了與Yeou-Min所述相類似的實(shí)時(shí)流水線式FFT,它用于64點(diǎn)FFT即N=64。具體地說,將輸入數(shù)據(jù)序列傳給第一個(gè)蝶形單元7,32個(gè)字長的反饋寄存器1將蝶7的輸出與輸入連起來。第二蝶單元8和第三碟單元9分別具有一16個(gè)字長的反饋寄存器2和8個(gè)字長的反饋寄存器3。乘法器14將包括蝶單元7、8、9的第一級與包括蝶單元10、11、12的第二級連起來,并用旋轉(zhuǎn)因子Wi乘數(shù)據(jù)流。蝶單元7和10、8和11、9和12的結(jié)構(gòu)分別相同。蝶單元10、11、12配備有反饋寄存器4、5、6,它們分別具有4、2和1個(gè)字長的容量。輸出序列X(K)源于處理器的第二級輸出。用時(shí)鐘信號15來同步的二進(jìn)制計(jì)數(shù)器13用作同步控制器和地址計(jì)數(shù)器,可用于旋轉(zhuǎn)因子的地址產(chǎn)生。
圖1B所示的BFI型蝶包括兩個(gè)加法器16、兩個(gè)減法器17以及四個(gè)多路選擇器18,所述的多路選擇器的操作受控于控制信號19。圖1C所示的BFII型蝶在結(jié)構(gòu)上與BFI型蝶相類似,但包括一個(gè)2-2轉(zhuǎn)換器20和帶逆輸入的與門21。控制信號22作用于與門21的逆輸入,作用于多路選擇器18的控制信號19還作用于與門21的非逆輸入,與門21的輸出驅(qū)動轉(zhuǎn)換器20。圖1D所示的BFIII型蝶在結(jié)構(gòu)上和BFII的結(jié)構(gòu)相似,但包括一個(gè)W8乘法單元22、兩個(gè)帶逆輸入的與門23和24、一個(gè)或門25??刂菩盘?2作用于與門23的逆輸入,控制信號19和26共同作用于與門23的非逆輸入。控制信號26還作用于與門24的逆輸入,控制信號19還作用于與門24的非逆輸入。與門23和24的輸入共同作用于或門25,或門25的輸出27控制轉(zhuǎn)換器20。
圖1A中的基23的單延遲反饋FFT的操作如下。在第一個(gè)N/2周期中,第一蝶單元中2選1多路選擇器18轉(zhuǎn)換至位置“0”,而蝶是空閑的。來自左邊的輸入數(shù)據(jù)被傳至反饋移位寄存器,直至它們被填滿。在下一個(gè)N/2周期中,多路選擇器18轉(zhuǎn)至位置“1”,蝶單元用輸入的數(shù)據(jù)和存儲在移位寄存器中數(shù)據(jù)計(jì)算2點(diǎn)DFT。
蝶的輸出X(n)被傳送至下一個(gè)蝶的輸入,X(n+N/2)被傳回至要在下一個(gè)N/2周期中加以多路選擇的移位寄存器。
除了蝶輸入序列的間隔剛好為N/4且通過借助轉(zhuǎn)換器20和受控加減操作的實(shí)-虛交換來實(shí)現(xiàn)簡單旋轉(zhuǎn)因子乘法以外,第二蝶的操作與第一蝶的操作相類似。這就需要來自同步計(jì)數(shù)器13的兩位控制信號19和22。除了蝶輸入序列的間隔剛好為N/8且通過W8乘法單元外,第三蝶的操作與第二蝶的操作相類似。這需要來自同步計(jì)數(shù)器13的三位控制信號19、22和26。然后,數(shù)據(jù)經(jīng)過一個(gè)全復(fù)數(shù)乘法器14,以逐字形成基23FFT的第一級結(jié)果。下一步的處理過程按在每個(gè)連續(xù)蝶處理級減半的輸入間隔重復(fù)這一方式。在N-1個(gè)時(shí)鐘周期之后,按位反的順序輸出整個(gè)DFT變換結(jié)果X(K)。
He的WO97/19412申請書認(rèn)為,基22SDF FFT處理結(jié)構(gòu)對流水線式FFT計(jì)算來說是最佳的。R.B.赫爾貝里的98813921.9申請書對這種結(jié)構(gòu)進(jìn)行了改進(jìn),對基數(shù)大于4的FFT可以僅使用較少量的固定系數(shù)乘法器。Yeh Yeou-Min的20040059766申請書提出了進(jìn)一步改進(jìn),讓基23結(jié)構(gòu)變得最簡化。但是,都沒有提出如何降低基16算法控制的復(fù)雜度。
發(fā)明內(nèi)容
本發(fā)明提出了一種用基24算法實(shí)現(xiàn)N點(diǎn)FFT/IFFT的結(jié)構(gòu),這種結(jié)構(gòu)只需要log16N-1個(gè)復(fù)數(shù)乘法器。
本發(fā)明公開的一種實(shí)時(shí)快速傅立葉變換電路,用于計(jì)算N點(diǎn)離散傅立葉變換(DFT),包括若干個(gè)用復(fù)數(shù)乘法器連接的基24蝶形單元,所述復(fù)數(shù)乘法器將前一級的所述基24蝶形單元輸出的復(fù)數(shù)與控制單元提供的旋轉(zhuǎn)因子相乘得到一個(gè)復(fù)數(shù)乘積;其特征在于,所述每個(gè)基24蝶形單元均包括串行連接的蝶形單元BF1、蝶形單元BF2、蝶形單元BF3和蝶形單元BF4,所述蝶形單元BF1的輸入為整個(gè)基24蝶形單元的輸入,所述蝶形單元BF4的輸出為整個(gè)基24蝶形單元的輸出。
本發(fā)明公開的這種實(shí)時(shí)快速傅立葉變換電路,當(dāng)所述N等于256點(diǎn)時(shí),包括用一個(gè)所述復(fù)數(shù)乘法器連接的兩個(gè)所述基24蝶形處理單元,所述計(jì)數(shù)器通過時(shí)鐘信號控制所述實(shí)時(shí)快速傅立葉變換電路;第一個(gè)所述基24蝶形單元包括所述蝶形單元BF1以及反饋連接其輸出與輸入的128個(gè)字長的寄存器、所述蝶形單元BF2以及反饋連接其輸出與輸入的64個(gè)字長的寄存器、所述蝶形單元BF3以及反饋連接其輸出與輸入的32個(gè)字長的寄存器和所述蝶形單元BF4以及反饋連接其輸出與輸入的16個(gè)字長的寄存器,第二個(gè)所述基24單元包括所述蝶形單元BF1以及反饋連接其輸出與輸入的8個(gè)字長的寄存器、所述蝶形單元BF2以及反饋連接其輸出與輸入的4個(gè)字長的寄存器、所述蝶形單元BF3以及反饋連接其輸出與輸入的2個(gè)字長的寄存器和所述蝶形單元BF4以及反饋連接其輸出與輸入的1個(gè)字長的寄存器。
本發(fā)明FFT結(jié)構(gòu)由蝶形單元1、蝶形單元2、蝶形單元3和蝶形單元4這四個(gè)蝶形電路組成。每個(gè)蝶形單元的結(jié)構(gòu)都比較簡單,由一個(gè)計(jì)數(shù)器來控制整個(gè)電路的工作,所以結(jié)構(gòu)簡單,電路面積較小、功耗也較小。
本發(fā)明的優(yōu)勢是組成基24蝶形單元的蝶形單元BF1、BF2、BF3和BF4很容易實(shí)現(xiàn)。
第二,本發(fā)明將復(fù)數(shù)乘法器的數(shù)目降到log16N-1。
圖1A是64點(diǎn)基23單通路延遲反饋(SDF)流水線FFT處理器結(jié)構(gòu);圖1B是圖1A所示的基23SDF流水線FFT處理器中使用的BFI的電路圖;圖1C是圖1A所示的基23SDF流水線FFT處理器中使用的BFII的電路圖;圖1D是圖1A所示的基23SDF流水線FFT處理器中使用的BFII的電路圖;圖2是基24蝶形單元的信號流程圖;圖3A是依照本發(fā)明實(shí)施的256點(diǎn)基24SDF流水線FFT處理器的結(jié)構(gòu)圖;圖3B是圖3A所示的256點(diǎn)基24SDF流水線FFT處理器中使用的BF1的電路圖;圖3C是圖3A所示的256點(diǎn)基24SDF流水線FFT處理器中使用的BF2的電路圖;圖3D是圖3A所示的256點(diǎn)基24SDF流水線FFT處理器中使用的BF3的電路圖;圖3E是圖3A所示的256點(diǎn)基24SDF流水線FFT處理器中使用的BF4的電路圖;圖4A是-j乘法器的電路圖;圖4B是 乘法器的電路圖;圖4C是 乘法器的電路圖;圖4D是 乘法器的電路圖;
圖5是依照本發(fā)明實(shí)施的4096點(diǎn)基24SDF流水線FFT處理器的結(jié)構(gòu)圖;具體實(shí)施方式
在以下的描述中,包括了一些特定的技術(shù)細(xì)節(jié),諸如特定的實(shí)施例、技術(shù)、硬件電路、裝置等,這是為了更加清楚、全面地說明本發(fā)明,而不是限制本發(fā)明的應(yīng)用范圍。例如,本發(fā)明使用256點(diǎn)和4096點(diǎn)FFT作為實(shí)施例。但是,這些實(shí)施例和結(jié)構(gòu)僅是示例性的,本技術(shù)的專家可以看出,不脫離這些特定細(xì)節(jié)的其它實(shí)施例同樣可以來實(shí)現(xiàn)本發(fā)明。在其它的情況下,略去了對周知DFT/FFT方法、裝置和技術(shù)的詳細(xì)說明,以避免過多的細(xì)節(jié)妨礙了對本發(fā)明的說明。
圖2為基24處理單元的信號流程圖,需要用到的旋轉(zhuǎn)因子有W161、W162、W163、W164、W165、W166和W167。
其中W161=cos(π8)-jsin(π8),]]>W162=cos(π4)-jsin(π4),]]>W163=cos(3π8)-jsin(3π8),]]>W164=cos(π2)-jsin(π2),]]>W165=cos(5π8)-jsin(5π8),]]>W166=cos(3π4)-jsin(3π4),]]>W167=cos(7π8)-jsin(7π8).]]>為了減少復(fù)數(shù)乘法器的使用,必須從上面的旋轉(zhuǎn)因子找出規(guī)律,使其能化簡為普通的邏輯操作就能完成復(fù)數(shù)乘法運(yùn)算。其中,最容易化簡的是W164=-j.]]>(X+jY)*W164=-j(X+jY)=Y-jX,]]>可以用圖4A所示的電路完成該復(fù)數(shù)乘法運(yùn)算。
其次容易化簡的是W162和W166,W162=cos(π4)-jsin(π4)=22-22j]]>W166=cos(3π4)-jsin(3π4)=-22+22j=-jW162,]]>所以只要將W162化簡了,W166也隨著可以化簡。
22=0.7071068=2-1+2-3+2-4+2-6+2-8+2-9]]>(X+jY)*W162=(X+jY)*(22-22j)=22[(X+Y)+j(Y-X)]]]>=(2-1+2-3+2-4+2-6+2-8+2-9)(X+Y)+j(2-1+2-3+2-4+2-6+2-8+2-9)(Y-X)]]>可以用圖4B所示的電路實(shí)現(xiàn)。
W165=cos(5π8)-jsin(5π8)=sin(π2-5π8)-jcos(π2-5π8)]]>
=-sin(π8)-jcos(π8)=-jW161]]>W167=cos(7π8)-jsin(7π8)=sin(π2-7π8)-jcos(π2-(7π8))]]>=-sin(3π8)-cos(3π8)=-jW163]]>這樣W165和W167就可以用W161和W163來表示,雖然W161和W163之間沒有直接的倍數(shù)關(guān)系,但是它們都和 與 有關(guān)系。
sin(π8)=0.382683432=2-2+2-3+2-8+2-9+2-10+2-11]]>cos(π8)=0.923879533=2-1+2-2+2-3+2-5+2-6+2-9]]>所以該乘法可以用圖4C和圖4D所示的電路實(shí)現(xiàn)。
圖3A為應(yīng)用本發(fā)明的256點(diǎn)FFT處理器的實(shí)例。具體地說,該電路實(shí)例由兩個(gè)基24蝶形處理單元組成,中間用一個(gè)復(fù)數(shù)乘法器將它們連接起來。每個(gè)基24單元都由四個(gè)寄存器組和四個(gè)基2蝶形單元組成,其中第一個(gè)基24單元中四個(gè)寄存器組100、101、102和103的容量分別為128、64、32和16個(gè)字長,四個(gè)基2蝶形單元108、109、110和111分別為BF1-1、BF2-1、BF3-1和BF4-1。第二個(gè)基24單元中四個(gè)寄存器組104、105、106和107的容量分別為8、4、2和1個(gè)字長,四個(gè)基2蝶形單元112、113、114和115分別為BF1-2、BF2-2、BF3-2和BF4-2。
具體地說,首先將輸入數(shù)據(jù)序列x(n)傳給第一個(gè)蝶形單元108,128個(gè)字長的反饋寄存器100將蝶108的輸出與輸入連起來。同樣,第二蝶單元109、第三碟單元110和第四蝶單元111的輸入和輸出分別被反饋寄存器101、102和103連起來。乘法器117將包括蝶單元108、109、110和111的第一級與包括蝶單元112、113、114和115的第二級連起來,并用旋轉(zhuǎn)因子Wi乘數(shù)據(jù)流。蝶單元108和112、109和113、110和114、111和115的結(jié)構(gòu)分別相同。蝶單元112、113、114和115配備有反饋寄存器104、105、106和107,它們之間的聯(lián)系關(guān)系和第一級相同。輸出序列X(K)源于處理器的第二級輸出。用時(shí)鐘信號118來同步的二進(jìn)制計(jì)數(shù)器116用作同步控制器和地址計(jì)數(shù)器,可用于旋轉(zhuǎn)因子的地址產(chǎn)生。
圖3B所示的BF1型蝶包括兩個(gè)加法器120、兩個(gè)減法器121以及四個(gè)多路選擇器122,所述的多路選擇器的操作受控于控制信號123。對第一級的BF1-1,控制信號123和計(jì)數(shù)器116的第7位相連,對第二級的BF1-2,控制信號123和計(jì)數(shù)器116的第3位相連。
圖3C所示的BF2型蝶在結(jié)構(gòu)上與BF1型蝶相類似,包括兩個(gè)加法器124、兩個(gè)減法器125、一個(gè)減法器130、四個(gè)多路選擇器127、兩個(gè)多路選擇器131、一個(gè)非門129和一個(gè)與門128。控制信號132作用于非門129的輸入,控制信號127作用于與門128的輸入,非門129的輸出作用于與門128的輸入,與門128的輸出作用于多路選擇器131。減法器130的一端固定接在“0”電平上。對第一級的BF2-1,控制信號127、控制信號132分別與計(jì)數(shù)器116的第6位、第7位相連,對第二級的BF2-2,控制信號127、控制信號132分別與計(jì)數(shù)器116的第2位、第3位相連。
圖3D所示的BF3型蝶在結(jié)構(gòu)上和BF2的相似,包括兩個(gè)加法器140、兩個(gè)減法器141、四個(gè)多路選擇器142、一個(gè)多路選擇器144、一個(gè)減法器145,兩個(gè)多路選擇器146、兩個(gè) 乘法單元147、一個(gè)加法器148、一個(gè)減法器149、三個(gè)非門、一個(gè)或門、一個(gè)兩輸入與門和兩個(gè)三輸入與門??刂菩盘?43作用于多路選擇器142,與門153的輸出作用于多路選擇器144,或門152的輸出作用于多路選擇器146。對第一級BF3-1,控制信號151、150和143分別與計(jì)數(shù)器116的第7、第6和第5位相連。對第二級BF3-2,控制信號151、150和143分別與計(jì)數(shù)器116的第3、第2和第1位相連。圖4B所示的為 乘法單元147的具體電路。
圖3E所示的BF4型蝶在結(jié)構(gòu)上和BF3的相似,但包括一個(gè)加法器174、一個(gè)減法器175、兩個(gè)多路選擇器173、兩個(gè)2選2選擇器176、兩個(gè) 乘法器178、兩個(gè) 乘法器177、一個(gè)異或門、兩個(gè)四輸入與門、一個(gè)三輸入與門、一個(gè)非門和兩個(gè)或門?;蜷T179的輸出作用于多路選擇器173,與門180的輸出作用于2選2選擇器176。2選2選擇器176的工作機(jī)制為當(dāng)176的控制信號為1時(shí),加法器174的一端連接178,另一端連接177,減法器175的一端連接188,一端連接187;當(dāng)176控制信號為0時(shí),加法器174的一端連接187,另一端連接188,減法器175的一端連接177,一端連接178。對第一級BF4,控制信號163、164、165和166分別于計(jì)數(shù)器116的第4、第5、第6和第7位相連,對第二級BF4,控制信號163、164、165和166分別于計(jì)數(shù)器116的第0、第1、第2和第3位相連。 乘法器和 乘法器的電路如圖4C所示。
圖3A中的基24的單延遲反饋FFT的操作如下。在第一個(gè)N/2周期中,BF1中2選1多路選擇器122轉(zhuǎn)換至位置“0”,來自左邊的輸入數(shù)據(jù)被傳至反饋移位寄存器100,直至它們被填滿。在下一個(gè)N/2周期中,多路選擇器122轉(zhuǎn)至位置“1”,BF1用輸入的數(shù)據(jù)和存儲在移位寄存器中數(shù)據(jù)計(jì)算2點(diǎn)DFT。
X(n)=x(n)+x(n+N/2) 0≤n<N/2X(n+N/2)=x(n)-x(n+N/2)
蝶的輸出X(n)被傳送至下一個(gè)蝶的輸入,X(n+N/2)被傳回至要在下一個(gè)N/2周期中加以多路選擇的移位寄存器。
在第一個(gè)N/2到3N/4周期之間,BF2中多路選擇器126轉(zhuǎn)換至位置“0”,來自BF1的輸入數(shù)據(jù)被傳至反饋移位寄存器101,直至它們被填滿。在下一個(gè)N/4周期中,多路選擇器轉(zhuǎn)至位置“1”,BF2用輸入的數(shù)據(jù)和存儲在移位寄存器中數(shù)據(jù)計(jì)算兩點(diǎn)DFT。在此N/4周期中,多路選擇器131轉(zhuǎn)至位置“0”,在接下來的N/4周期,多路選擇器131轉(zhuǎn)至位置“1”,將輸入數(shù)據(jù)乘以-j,然后和存儲在移位寄存器中的數(shù)據(jù)計(jì)算2點(diǎn)DFT。蝶的輸出X(n)被傳送至下一個(gè)蝶的輸入,X(n+N/4)被傳回至要在下一個(gè)N/4周期中加以多路選擇的移位寄存器。
在第一個(gè)3N/4到7N/8周期之間,BF3中多路選擇器142轉(zhuǎn)換至位置“0”,來自BF2的輸入數(shù)據(jù)被傳至反饋移位寄存器102,直至它們被填滿。在下一個(gè)N/8周期中,多路選擇器142轉(zhuǎn)至位置“1”,BF2用輸入的數(shù)據(jù)和存儲在移位寄存器中數(shù)據(jù)計(jì)算兩點(diǎn)DFT。在此N/8周期中,多路選擇器144轉(zhuǎn)至位置“0”,在接下來的N/4個(gè)周期,后N/8個(gè)周期多路選擇器144轉(zhuǎn)至位置“1”,將輸入數(shù)據(jù)乘以-j,然后和存儲在移位寄存器中的數(shù)據(jù)計(jì)算2點(diǎn)DFT。在11N/8到12N/8周期間,多路選擇器144轉(zhuǎn)至位置“0”,多路選擇器146轉(zhuǎn)至位置“1”,將輸入數(shù)據(jù)乘以W162,然后和存儲在移位寄存器中的數(shù)據(jù)計(jì)算2點(diǎn)DFT。
在第一個(gè)7N/8到15N/16周期之間BF4中多路選擇器162轉(zhuǎn)至位置“0”,來自BF3的輸入數(shù)據(jù)被傳至反饋移位寄存器103,直至它們被填滿。在17N/16周期,多路選擇器167轉(zhuǎn)至位置“1”,將數(shù)據(jù)乘以W164。在19N/16周期,多路選擇器169轉(zhuǎn)至位置“1”,將數(shù)據(jù)乘以W162。在21N/16周期,多路選擇器173轉(zhuǎn)至位置“1”,2選2選擇器轉(zhuǎn)至位置“0”,將數(shù)據(jù)乘以W166,然后和存儲在移位寄存器中的數(shù)據(jù)計(jì)算2點(diǎn)DFT。
上面說明的第一級需要來自同步計(jì)數(shù)器116的四位控制信號,從電路可以看出控制比較簡單。然后,數(shù)據(jù)經(jīng)過一個(gè)全復(fù)數(shù)乘法器117,以逐字形成基24FFT的第一級結(jié)果。下一步的處理過程按在每個(gè)連續(xù)蝶處理級減半的輸入間隔重復(fù)這一方式。在N-1個(gè)時(shí)鐘周期之后,按位反的順序輸出整個(gè)DFT變換結(jié)果X(K)。然后,在不暫停的情況下對變換的下一幀進(jìn)行處理,因?yàn)樵谔幚砥鞯母骷壧幎加辛魉€式的處理。
圖5為應(yīng)用本發(fā)明的4096點(diǎn)FFT處理器的實(shí)例。具體地說,該電路實(shí)例由三個(gè)基24蝶形處理單元組成,中間用兩個(gè)復(fù)數(shù)乘法器將它們連接起來。每個(gè)基24單元都由四個(gè)寄存器組和四個(gè)基2蝶形單元組成,其中第一個(gè)基24單元中四個(gè)寄存器組200、201、202和203的容量分別為2048、1024、512和256個(gè)字長,四個(gè)基2蝶形單元212、213、214和215分別為BF1-1、BF2-1、BF3-1和BF4-1。第二個(gè)基24單元中四個(gè)寄存器組204、205、206和207的容量分別為128、64、32和16個(gè)字長,四個(gè)基2蝶形單元216、217、218和219分別為BF1-2、BF2-2、BF3-2和BF4-2。第三個(gè)基24單元中四個(gè)寄存器組208、209、210和211的容量分別為8、4、2和1個(gè)字長,四個(gè)基2蝶形單元220、221、222和223分別為BF1-3、BF2-3、BF3-3和BF4-3。
和以前的方法相比,本發(fā)明提供了一種由BF1、BF2、BF3和BF4單元組成的基24蝶形處理結(jié)構(gòu),它的輸出部分至少包括一個(gè)BF1單元,用一個(gè)復(fù)數(shù)乘法器將每一級連接起來。BF2包括一個(gè) 復(fù)旋轉(zhuǎn)因子,BF3同時(shí)包括一個(gè) 和 復(fù)旋轉(zhuǎn)因子,BF4同時(shí)包括一個(gè) 和 復(fù)旋轉(zhuǎn)因子。所有的BF1、BF2、BF3和BF4單元都由一個(gè)流水計(jì)數(shù)器來控制,流水計(jì)數(shù)器還控制復(fù)數(shù)乘法器中旋轉(zhuǎn)因子的生成。
本發(fā)明所介紹的方法可以很容易的實(shí)現(xiàn),并可以修改以滿足不同點(diǎn)數(shù)FFT的需求,并不僅限于上述說明中的具體例子。
權(quán)利要求
1.一種實(shí)時(shí)快速傅立葉變換電路,用于計(jì)算N點(diǎn)離散傅立葉變換(DFT),包括若干個(gè)用復(fù)數(shù)乘法器連接的基24蝶形單元,所述復(fù)數(shù)乘法器將前一級的所述基24蝶形單元輸出的復(fù)數(shù)與控制單元提供的旋轉(zhuǎn)因子相乘得到一個(gè)復(fù)數(shù)乘積;其特征在于,所述每個(gè)基24蝶形單元均包括串行連接的蝶形單元BF1、蝶形單元BF2、蝶形單元BF3和蝶形單元BF4,所述蝶形單元BF1的輸入為整個(gè)基24蝶形單元的輸入,所述蝶形單元BF4的輸出為整個(gè)基24蝶形單元的輸出。
2.根據(jù)權(quán)利要求1所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述蝶形單元BF1、BF2、BF3和BF4由一個(gè)計(jì)數(shù)器控制。
3.根據(jù)權(quán)利要求2所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述計(jì)數(shù)器還控制所述復(fù)數(shù)乘法器中旋轉(zhuǎn)因子的生成。
4.根據(jù)權(quán)利要求1所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述蝶形單元BF2包括一個(gè) 復(fù)旋轉(zhuǎn)因子;所述蝶形單元BF3同時(shí)包括一個(gè) 復(fù)旋轉(zhuǎn)因子和一個(gè) 復(fù)旋轉(zhuǎn)因子;所述蝶形單元BF4同時(shí)包括一個(gè) 復(fù)旋轉(zhuǎn)因子、一個(gè) 復(fù)旋轉(zhuǎn)因子和一個(gè) 復(fù)旋轉(zhuǎn)因子。
5.根據(jù)權(quán)利要求1所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述N等于256點(diǎn),所述實(shí)時(shí)快速傅立葉變換電路包括用一個(gè)所述復(fù)數(shù)乘法器(117)連接的兩個(gè)所述基24蝶形處理單元,所述計(jì)數(shù)器(116)通過時(shí)鐘信號(118)控制所述實(shí)時(shí)快速傅立葉變換電路;第一個(gè)所述基24蝶形單元包括所述蝶形單元BF1(108)以及反饋連接其輸出與輸入的128個(gè)字長的寄存器(100)、所述蝶形單元BF2(109)以及反饋連接其輸出與輸入的64個(gè)字長的寄存器(101)、所述蝶形單元BF3(110)以及反饋連接其輸出與輸入的32個(gè)字長的寄存器(102)和所述蝶形單元BF4(111)以及反饋連接其輸出與輸入的16個(gè)字長的寄存器(103),第二個(gè)所述基24單元包括所述蝶形單元BF1(112)以及反饋連接其輸出與輸入的8個(gè)字長的寄存器(104)、所述蝶形單元BF2(113)以及反饋連接其輸出與輸入的4個(gè)字長的寄存器(105)、所述蝶形單元BF3(114)以及反饋連接其輸出與輸入的2個(gè)字長的寄存器(106)和所述蝶形單元BF4(115)以及反饋連接其輸出與輸入的1個(gè)字長的寄存器(107)。
6.根據(jù)權(quán)利要求5所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述蝶形單元BF1用輸入的數(shù)據(jù)和存儲在所述移位寄存器(100)或者移位寄存器(112)中的數(shù)據(jù)計(jì)算2點(diǎn)DFT,包括兩個(gè)加法器(120)、兩個(gè)減法器(121)以及四個(gè)多路選擇器(122),所述的多路選擇器的操作受控于來自所述計(jì)數(shù)器(116)的第7位或者第3位的控制信號s。
7.根據(jù)權(quán)利要求6所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述蝶形單元BF2在結(jié)構(gòu)上與所述蝶形單元BF1相類似,在與所述蝶形單元BF1相同的電路結(jié)構(gòu)前端還包括一個(gè)一端固定接在“0”電平上的減法器(130)、兩個(gè)多路選擇器(131)、一個(gè)非門(129)和一個(gè)與門(128);來自所述計(jì)數(shù)器(116)的第6位或者第2位的控制信號m通過所述非門(129)與所述控制信號s一起共同輸入與門(128),與門(128)的輸出作用于多路選擇器(131)。
8.根據(jù)權(quán)利要求7所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述蝶形單元BF3在結(jié)構(gòu)上和所述蝶形單元BF2相類似,在與所述蝶形單元BF2相同的電路結(jié)構(gòu)前端還包括輸出分別經(jīng)過兩個(gè) 乘法單元(147)的一個(gè)加法器(148)和一個(gè)減法器(149),以及對應(yīng)連接的兩個(gè)多路選擇器(146)、兩個(gè)非門、一個(gè)或門和兩個(gè)三輸入與門;來自所述計(jì)數(shù)器(116)的第5位或者第1位的控制信號h通過第一個(gè)所述非門與所述控制信號s、所述控制信號m一起共同輸入第一個(gè)所述三輸入與門,所述控制信號m通過第二個(gè)所述非門與所述控制信號h、所述控制信號s一起共同輸入第二個(gè)所述三輸入與門,兩個(gè)所述三輸入與門的輸出通過所述或門(152)作用于多路選擇器(146)。
9.根據(jù)權(quán)利要求8所述的一種實(shí)時(shí)快速傅立葉變換電路,其特征在于,所述蝶形單元BF4在結(jié)構(gòu)上和所述蝶形單元BF3相類似,在與所述蝶形單元BF3相同的電路結(jié)構(gòu)前端還包括兩個(gè)sin 乘法器(178)和(188)、兩個(gè)cos 乘法器(177)和(187)、兩個(gè)2選2選擇器(176)、一個(gè)加法器(174)、一個(gè)減法器(175)、兩個(gè)多路選擇器(173),以及一個(gè)異或門、兩個(gè)四輸入與門、一個(gè)三輸入與門(180)、一個(gè)非門和兩個(gè)或門;并且來自所述計(jì)數(shù)器(116)的第4位或者第0位的控制信號d通過第一個(gè)所述非門與所述控制信號s、所述控制信號m和所述控制信號h一起共同輸入第一個(gè)所述四輸入與門,所述控制信號m和所述控制信號h通過非門后與所述控制信號s和所述控制信號d一起共同輸入第二個(gè)所述四輸入與門;所述控制信號m和所述控制信號h通過所述異或門后與所述控制信號s、控制信號d一起共同輸入所述三輸入與門(180);所述三輸入與門(180)的輸出作用于2選2選擇器(176);兩個(gè)所述四輸入與門的輸出通過所述第一個(gè)或門后、與所述三輸入與門(180)的輸出一起共同輸入所述或門(179),所述或門(179)的輸出作用于多路選擇器(173)。
全文摘要
本發(fā)明涉及快速傅立葉變換處理器,公開了一種實(shí)時(shí)快速傅立葉變換電路,用于計(jì)算N點(diǎn)離散傅立葉變換,包括若干個(gè)用復(fù)數(shù)乘法器連接的基文檔編號G06F17/14GK1808419SQ20051003592
公開日2006年7月26日 申請日期2005年7月15日 優(yōu)先權(quán)日2005年7月15日
發(fā)明者胡亞飛, 王新安, 張國新, 陳惠明, 肖高發(fā), 王為 申請人:北京大學(xué)深圳研究生院, 華為技術(shù)有限公司