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

以內(nèi)存為基礎(chǔ)的任意點數(shù)快速傅立葉轉(zhuǎn)換器的設(shè)計與尋址方法

文檔序號:6465596閱讀:228來源:國知局

專利名稱::以內(nèi)存為基礎(chǔ)的任意點數(shù)快速傅立葉轉(zhuǎn)換器的設(shè)計與尋址方法
技術(shù)領(lǐng)域
:本發(fā)明涉及一種快速傅利葉轉(zhuǎn)換的計算與尋址方法以及使用此方法的以內(nèi)存為基礎(chǔ)的任意點數(shù)正/逆向快速傅立葉轉(zhuǎn)換處理器設(shè)計。對于任意點數(shù)的以內(nèi)存為基礎(chǔ)的離散快速傅立葉轉(zhuǎn)換處理器設(shè)計可以有效地減少處理器面積與所需的操作時脈。
背景技術(shù)
:有關(guān)本發(fā)明相關(guān)的快速傅利葉轉(zhuǎn)換計算與尋址方法以及使用此方法的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器的現(xiàn)有技術(shù)謹(jǐn)羅列并比較缺點如下(1)由于美國專利號4,477,878名為"DiscreteFouriertransformwithnon-tumbledoutput""不能支持多內(nèi)存架構(gòu)(multi-bankmemorystructure),因而,對于基r(radix-r)計算時,就需要有r個時脈周期才能把資料從內(nèi)存中讀出或?qū)⒂嬎阃甑馁Y料寫回內(nèi)存中。這將導(dǎo)致FFT在計算過程中需要更多的時脈周期,以及為了實時應(yīng)用所需的更高時脈速度。本發(fā)明可通過支持多內(nèi)存尋址,而在無內(nèi)存存取沖突的情況下,將諸如基r的r筆資料在一個時脈周期內(nèi)完成讀或?qū)?,以解決現(xiàn)有技術(shù)的問題。(2)由于美國專利號5091875名為"FastFouriertransform(FFT)addressingapparatusandmethod",美國專利公開號20060253514名為"Memory-basedFastFourierTransformdevice",以及學(xué)術(shù)論文L.G.Johnson"ConflictfreememoryaddressingfordedicatedFFThardware,"IEEETrans.CircuitsSyst.II,AnalogDigit.SignalProcess.,vol.39,no.5,pp.312-316,May1992等,均僅支持固定的基r,因此僅能適用在具有N=r"大小的的FFT中。若考慮到應(yīng)用在中國數(shù)字電視的3780點FFT或者是PLC應(yīng)用的3072點FFT的情況時,前述兩件現(xiàn)有技術(shù)即無法運作。但本發(fā)明能夠支持任意基數(shù)r的混和。因此,能夠在任何大小的FFT應(yīng)用中使用。(3)美國專利號7062523名為"MethodforefficientlycomputingafastFouriertransform"僅支持固定的基r,因此不能支持中國DTV或是PLC之類的應(yīng)用。除此之外,其也不能支持多內(nèi)存架構(gòu)(multi-bankmemorystructure),其在基r(radix-r)運算時,需要r個時脈周期自內(nèi)存存取資料。因此將比使用多內(nèi)存架構(gòu)的處理器需要更高的時脈來完成FFT的計算。本發(fā)明除了支持任意大小的FFT應(yīng)用的可變基數(shù)外,尚支持多內(nèi)存架構(gòu),在不產(chǎn)生內(nèi)存存取沖突的情況下減低所需時脈。(4)美國專利號7,164,723名為"Modulationapparatususingmixed-radixfastFouriertransform",以及論文B.G.Jo,andM.H.Sunwoo,"Newcontinuous-flowmixed-radix(CFMR)FFTprocessorusingnovelin-placestrategy,"IEEETrans.CircuitsSyst.I,Reg.Papers,vol.52,no.5,pp.911-919,May2005僅適用于基2/4混和的算法(algorithm),故僅能工作在N-2n大小上的FFT,無法應(yīng)用于例如N=3780的中國DTV的其它大小的FFT應(yīng)用。本發(fā)明因為可支持任何混合的基數(shù),所以可以滿足上述需求。除此之外,對于諸如N=8192的更長點數(shù)的處理器設(shè)計,本發(fā)明可以讓處理器設(shè)計更加有彈性,因本發(fā)明可支持大于基4的算法。(5)美國專利公開號20080025199名稱為"Methodanddeviceforhighthroughputn-pointforwardandinversefastFouriertransform"提出3780的可能分解(candidatedecomposition),例如,3780=3X3X3X2X2X5X7。其以MDC架構(gòu)實行每個小點數(shù)的FFT模塊來減少后續(xù)7會提到的一些中國專利中的較大內(nèi)部緩存器。然而,由于此方法需要對每個模塊在一個時脈周期中完成運算,因此會需要大量硬件。此外,在實際的系統(tǒng)應(yīng)用上是需要依序輸出資料的,但是此專利輸出資料卻不是依序輸出的,因此尚有部分問題未解決。(6)中國專利號01140060.9名稱為"3780點離散傅里葉變換處理器系統(tǒng)及其結(jié)構(gòu)"、中國專利號03107204.6名稱為"具有3780點IDFT/DFT處理器的多載波系統(tǒng)及其方法"、中國專利公開號200410090873.2名稱為"采用升采樣處理方法實現(xiàn)3780點離散傅立葉變換"、中國專利公開號200610104144.7名稱為"3780點離散傅立葉變換處理器"以及中國專利公開號200710044716.1名稱為"流水線結(jié)構(gòu)的3780點快速傅里葉變換處理器"等上述專利可執(zhí)行3780點的具有類似管線(pipelined)架構(gòu)的FFT處理器,其所提出的架構(gòu)內(nèi)部需要大量的緩存器或內(nèi)存來重新排列資料。此外,對于實際系統(tǒng)應(yīng)用之需求而言,依序輸入輸出資料以及支持連續(xù)資料流都是必須的,為了達(dá)成這些,中國專利號01140060.9名稱為"3780點離散傅里葉變換處理器系統(tǒng)及其結(jié)構(gòu)"以及中國專利號03107204.6名稱為"具有3780點IDFT/DFT處理器的多載波系統(tǒng)及其方法"就至少需要3N字符的內(nèi)存空間;中國專利公開號200410090873.2,名稱為"采用升采樣處理方法實現(xiàn)3780點離散傅立葉變換"、中國專利公開號200710044716.1,名稱為"流水線結(jié)構(gòu)的3780點快速傅里葉變換處理器"就至少需要5N字符的內(nèi)存空間;中國專利公開號200610104144.7名稱為"3780點離散傅立葉變換處理器"就至少需要6N字符的內(nèi)存空間。相較前述,本發(fā)明僅僅需要2N字符的內(nèi)存空間就可以做到了。并且,請注意到在中國專利號01140060.9、中國專利號03107204.6以及中國專利公開號200710044716.1的輸出資料并不是有序的,因此他們需要至少一個N字符的內(nèi)存空間與額外的控制邏輯來重新排序輸出數(shù)據(jù)以便依序輸出。(7)在論文Z,X.Yang,Y,P.Hu,C,Y.Pan,andL.Yang,"Designofa3780-pointIFFTprocessorforTDS-OFDM",IEEETrans.Broadcast"vol.48,no.l,pp.57-61,Mar.2002所提出的3780點FFT處理器的輸出資料并非依序排列,為了能夠依序排列,其需要一個緩沖器去重新排列輸出資料,因此其至少需要3N字符的內(nèi)存空間,才能在能處理連續(xù)資料流的前提下達(dá)成此需求,但本發(fā)明已如上述僅需2N字符空間的內(nèi)存。
發(fā)明內(nèi)容有鑒于上述現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足與缺陷,提出一種快速傅利葉轉(zhuǎn)換的計算與尋址方法以及使用此方法的以內(nèi)存為基礎(chǔ)的任意點數(shù)正/逆向快速傅立葉轉(zhuǎn)換處理器設(shè)計,對于任意點數(shù)的以內(nèi)存為基礎(chǔ)的離散快速傅立葉轉(zhuǎn)換處理器設(shè)計可以有效地減少處理器面積與所需的操作時脈。為達(dá)上述目的,本發(fā)明提供一種任意點數(shù)快速傅利葉轉(zhuǎn)換的計算與尋址方法,其包含下列步驟(1)將長點數(shù)離散傅立葉轉(zhuǎn)換的計算分解為數(shù)個短點數(shù)的離散傅立葉轉(zhuǎn)換,并同時將其指標(biāo)由單一維度映像成多維度指標(biāo)向量;(2)通過控制這些多維度指標(biāo)向量,把原始輸入資料分散存放到數(shù)個內(nèi)存里,使得在不產(chǎn)生內(nèi)存存取沖突的情況下同時達(dá)到計算期間的資料置換與內(nèi)存完整蝴蝶點數(shù)一次存取的目的;(3)當(dāng)資料置換使用在已計算完成的舊資料依序輸出與新資料依序輸入時,為了往后計算期間可以繼續(xù)保持資料存取時沒有內(nèi)存沖突,對于新資料的計算采取與先前資料計算時的反序操作來達(dá)成目的;依此方法,對于設(shè)計任意點數(shù)的以內(nèi)存為基礎(chǔ)的快速傅立葉轉(zhuǎn)換處理器,可以減少處理器面積與所需的操作時脈。為達(dá)上述目的,本發(fā)明還提供一種以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其包含一用以存放資料的主要內(nèi)存、一進(jìn)行分解后短點數(shù)快速傅立葉轉(zhuǎn)換的處理元件以及一控制單元,其中該控制單元具有控制以下項目的功能(l)輸入輸出資料與蝴蝶運算用的內(nèi)存,(2)分解后的短點數(shù)快速傅立葉轉(zhuǎn)換的計算順序,及(3)以資料置換方式進(jìn)行資料存取所需的內(nèi)存尋址。料置換用以執(zhí)行上述的方法。圖1為本發(fā)明快速傅立葉轉(zhuǎn)換處理器設(shè)計方塊圖;圖2為本發(fā)明指標(biāo)向量產(chǎn)生器硬件實施圖。具體實施例方式為了達(dá)成上述的發(fā)明目的,現(xiàn)將本發(fā)明的一具體實施例說明如下離散傅立葉轉(zhuǎn)換的定義為、w『;f。將長點數(shù)離散傅立葉轉(zhuǎn)換分解為數(shù)個短點數(shù)離散傅立葉轉(zhuǎn)換的方法已在論文"IEEETRANSACTIONSONACOUSTICS,SPEECH,ANDSIGNALPROCESSING,VOL.ASSP-25,NO.3,JUNE1977"名稱"IndexMappingsforMultidimensionalFormulationoftheDFTandConvolution"中提出。本發(fā)明在此以點數(shù)長度N-NiN2的分解方程式(l)加以說明方程式(l)將指標(biāo)n與k映像為指標(biāo)向量(n,,n2)與(khk2),使其由單一維度[O,N-l]映像成二維度[O,Nrl]x。其中系數(shù)Az與Bi的選擇取決于Ni與N2間的關(guān)系。于本發(fā)明提出的方法中,方程式(l)系數(shù)選用規(guī)則如下情況一:若N:與N2互質(zhì),則選用符合下列條件的八2及Bi為系數(shù)A2=piNi并且A2=q具+1Bi=p2N2并且B,q2N!+l在此,P。q。P2及q2皆為正整數(shù)。因此,離散傅立葉轉(zhuǎn)換的定義可寫成以下的方程式(2》*=耿+岸2mod//tj2,&-O,l,.."JVj-l"'"'、(2)情況二若N,與N2非為互質(zhì),則選用A2-B!-1。因此,離散傅立葉轉(zhuǎn)換的定義可寫成以下的方程式(3):可由方程式(2)及(3)得知,一長點數(shù)(N點)快速傅立葉轉(zhuǎn)換可分別在第一及第二階段中以二較短點數(shù)(Ni點及N2點)快速傅立葉轉(zhuǎn)換加以計算。就定值I12而言,第一階段N,點快速傅立葉轉(zhuǎn)換的原始輸入資料為x(ni,n2),n產(chǎn)0,1,…,N廣l。對應(yīng)此ii2的第一階段輸出資料為y(1^H2),k產(chǎn)0,1,…,N廣1。就定值ld而言,第二階段N2點快速傅立葉轉(zhuǎn)換的原始輸入資料為y(klsn2),n2=0,1,…,N2-l。對應(yīng)此lq的第二階段輸出資料則為X(ld,k2),k2=0,1,N2-l。方程式(2)與(3)的差異在于若Nj與N2非為互質(zhì),則第一與第二階段間存在有如方程式(3)所示的旋轉(zhuǎn)因子^。注就情況一而言,其系數(shù)選取亦可如情況二,且本發(fā)明的后續(xù)流程相同。現(xiàn)于第一階段計算A點離散傅立葉轉(zhuǎn)換并于第二階段計算N2點離散傅立葉轉(zhuǎn)換,以求取第一個離散傅立葉轉(zhuǎn)換符元。先將原始輸入資料分散存放到數(shù)個記憶庫(memorybank)中。假定NzSNi且記憶庫的數(shù)量為N2,則可通過方程式(4)將該原始輸入資料分散存放至N2個記憶庫中以避免內(nèi)存沖突。bank=1^+112modN2(4)避免內(nèi)存沖突的關(guān)鍵在于通過方程式(1)及(4)將資料分散存放于記憶庫。一旦選定記憶庫,便需將資料尋址。同一記憶庫中的任兩筆資料應(yīng)映像至O到Ni-l范圍內(nèi)的不同地址。為求簡單,在此選用以下的方程式(5)執(zhí)行資料尋址。address=ni(5)完成第一個離散傅立葉轉(zhuǎn)換符元的計算后,應(yīng)將資料依序輸出。輸出指標(biāo)由方程式(l)映像而得。在將計算完成的第一個離散傅立葉轉(zhuǎn)換符元資料依序輸出的同時,亦以資料置換的方式依序輸入第二個離散傅立葉轉(zhuǎn)換符元的輸入資料。亦即,新的原始輸入資料x(i)應(yīng)置于輸出數(shù)據(jù)X(i)的位置。計算第二個離散傅立葉轉(zhuǎn)換符元的順序與計算第一個離散傅立葉轉(zhuǎn)換符元時相反。即于第一階段計算N2點離散傅立葉轉(zhuǎn)換,再于第二階段計算N,點離散傅立葉轉(zhuǎn)換,以求取第二個離散傅立葉轉(zhuǎn)換符元。完成第二個離散傅立葉轉(zhuǎn)換符元的計算后,同樣以資料置換方式依序輸出計算完成的舊資料并依序輸入新資料。第三個離散傅立葉轉(zhuǎn)換符元復(fù)依第一個離散傅立葉轉(zhuǎn)換符元的方式計算。以下將以中國數(shù)字電視所需的3780點快速傅立葉轉(zhuǎn)換為例詳加說明。以下所述的分解順序僅為可行方式的一例。由于3780=4x3x3x3x5x7,可分別進(jìn)行3點、4點、5點與7點的快速傅立葉轉(zhuǎn)換計算。在此,資料分散存放于7個記憶庫。先依分解順序4、3、3、3、5及7執(zhí)行計算。第一階段(4點快速傅立葉轉(zhuǎn)換)采用分解方程式(6)進(jìn)行計算。"=945",+2836,、mod3780=0,1,2,3、"945Ar,十4A:2mod378052,、=0"."944上述方程式將指標(biāo)n映像為向量W,&),即由[O,3779]至x,如表一所示。表一第一階段的指標(biāo)映像<table>tableseeoriginaldocumentpage13</column></row><table>表一中每一列的資料為每個4點快速傅立葉轉(zhuǎn)換的原始輸入資料。輸入順序取決于指標(biāo)n!。例如,^-l歹U中,輸入順序為(ni,&)=(0,1),(1,1),(2,1)以及(3,1),其分別對應(yīng)的資料為x[2836]、x[l]、x[946]與x[1891],如表一所示。由于每個4點快速傅立葉轉(zhuǎn)換的原始輸入資料皆具有相同的指標(biāo)"-2,故可通過方程式(7)將資料分散存入不同記憶庫來避免第一階段的內(nèi)存沖突。<formula>formulaseeoriginaldocumentpage13</formula>歷經(jīng)第一階段后,原始資料已被分解為4個945點快速傅立葉轉(zhuǎn)換的獨立群組,并分別對應(yīng)于k產(chǎn)0,1,2及3。同樣地,亦可以945=3x3x3x5x7的順序分解上述的945點快速傅立葉轉(zhuǎn)換,并將指標(biāo)^映像為向量(112,113,114,n5,n6),即由映像為xxxx。結(jié)合各階段的所有分解方程式,即可求得3780點快速傅立葉轉(zhuǎn)換依此分解順序的完整指標(biāo)映像方程式,如方程式(8)與(9)所示。在選擇記憶庫時利用方程式(10)以避免內(nèi)存沖突。尋址方程式則可采用方程式(ll)。n=945n,+1260n2+2940n3+98On4+1512n5+540n6mod3780(8)k=945k!+2380k2+3360k3+2520k4+2268k5+5401^mod3780(9)bank=ni+n2+n3+n4+n5+n6mod7(10)address=135n!+45n2+15n3+5n4+n5(11)繼計算第一個快速傅立葉轉(zhuǎn)換符元,亦即單數(shù)的快速傅立葉轉(zhuǎn)換符元之后,方程式(lO)及(ll)中所有指標(biāo)ni將轉(zhuǎn)換為ki。對于第二個輸入的快速傅立葉轉(zhuǎn)換符元而言,亦即雙數(shù)的快速傅立葉轉(zhuǎn)換符元,該雙數(shù)快速傅立葉轉(zhuǎn)換符元的輸入資料Xeven[n]應(yīng)被置入單數(shù)離散傅立葉轉(zhuǎn)換符元的輸出資料X。dd[k]的位置,兩者間關(guān)系為k-n。其映像指標(biāo)、記憶庫與地址應(yīng)分別以方程式(9)、(IO)與(Il)決定。以下討論如何于目前雙數(shù)快速傅立葉轉(zhuǎn)換符元的資料分配下,于計算期間持續(xù)避免資料存取時的內(nèi)存沖突。為計算雙數(shù)快速傅立葉轉(zhuǎn)換符元,采用與計算單數(shù)快速傅立葉轉(zhuǎn)換符元時相反的分解順序進(jìn)行計算,亦即3780=7x5x3x3x3x4。換言之,以7點、5點、3點、3點、3點以及4點快速傅立葉轉(zhuǎn)換的順序執(zhí)行計算。通過類似方式,可求得雙數(shù)快速傅立葉轉(zhuǎn)換符元的完整輸入輸出指標(biāo)映像方程式(12)及(13),其結(jié)果類似于單數(shù)快速傅立葉轉(zhuǎn)換符元的完整指標(biāo)映像方程式(8)及(9)。方程式(12)及(13)分別將輸入指標(biāo)n與輸出指標(biāo)k映像為向量(a!,a2,a3,a4,a5,a6)與(h,b2,b3,b4,b5,b6),即由[O,3779]映像為xxxxx,以計算雙數(shù)快速傅立葉轉(zhuǎn)換符元。n=540a!+2268a2+2520a3+3360a4+2380a5+945a6mod3780(12)k=540b!+1512b2+980b3+2940b4+1260b5+945b6mod3780(13)將輸入與輸出指標(biāo)方程式(9)與(12)以及(8)與(13)對應(yīng)比較,可發(fā)現(xiàn)此兩組方程式恰以反序向量的關(guān)系彼此匹配,如方程式(14)及(15)所示。(a!,a2,a3,a4,a5,a6)=(k6,k5,k4,k3,k2,k,)(14)n2,n3,n4,n5,n6)=(b6,b5,b4,b3,b2,b!)(15)因雙數(shù)快速傅立葉轉(zhuǎn)換符元Xeven[Tl]的輸入資料被置于已計算完成的單數(shù)快速傅立葉轉(zhuǎn)換符元輸出資料X。dd[k]的位置,而兩者間的關(guān)系為k=n。由此可得雙數(shù)快速傅立葉轉(zhuǎn)換符元的記憶庫選擇與內(nèi)存尋址方程式(16)及(17)。bank=at+a2+a3+a4+a5+a6mod7(16)address=135a6+45a5+15a4+5a3+a2(17)請注意,輸入映像方程式(12)與輸出映像方程式(9)相同,且記憶庫選擇方程式(10)與(16)亦保持相同。所以,于雙數(shù)快速傅立葉轉(zhuǎn)換符元的計算期間,通過倒轉(zhuǎn)單數(shù)快速傅立葉轉(zhuǎn)換符元分解順序的計算方式,可使內(nèi)存始終免于存取沖突。此外,本發(fā)明發(fā)現(xiàn),輸出映像方程式(13)與輸入映像方程式(8)亦為相同,意指在將第三個快速傅立葉轉(zhuǎn)換輸入資料Xtod[n]置入已計算完成的雙數(shù)快速傅立葉轉(zhuǎn)換輸出數(shù)據(jù)Xeven[k]的位置并令其中k=n時,該第三個快速傅立葉轉(zhuǎn)換輸入資料的分散儲存方式可與方程式(8)、(10)及(ll)所決定者相同。也即第三個快速傅立葉轉(zhuǎn)換符元的數(shù)據(jù)存放位置跟單數(shù)快速傅立葉轉(zhuǎn)換符元的數(shù)據(jù)存放位置一樣而又回到起始討論的狀態(tài),xthird[n〗=x。dd[n]。根據(jù)以上的討論,可通過倒轉(zhuǎn)先前的快速傅立葉轉(zhuǎn)換符元分解順序,設(shè)計出無內(nèi)存沖突的可變基數(shù)快速傅立葉轉(zhuǎn)換處理器。其可同時達(dá)到蝴蝶輸出與資料輸入輸出的資料置換。圖1為以內(nèi)存為基礎(chǔ)的3780點離散傅立葉轉(zhuǎn)換處理器設(shè)計方塊圖。其中MEM—1與MEM—2為二記憶區(qū)塊(memoryblock),各區(qū)塊包含7個記憶庫(memorybank),各記憶庫大小為540個字。FFT—CORE包含可分別處理短點數(shù)離散傅立葉轉(zhuǎn)換的處理單元,其計算各短點數(shù)離散傅立葉轉(zhuǎn)換所需的時脈周期數(shù)由設(shè)計者依需求決定,此亦決定計算單元所需硬件數(shù)量。控制單元主控數(shù)據(jù)存取與處理單元的計算。以下將就離散傅立葉轉(zhuǎn)換處理器的運作加以闡明。為便于說明,在此定義第一類的分解與計算順序依次為4點、3點、3點、3點、5點與7點離散傅立葉轉(zhuǎn)換,并將其倒轉(zhuǎn)順序定義為第二類順序,依次為7點、5點、3點、3點、3點與4點離散傅立葉轉(zhuǎn)換。假設(shè)第一個與第二個離散傅立葉轉(zhuǎn)換符元分別儲存于記憶區(qū)塊MEM—1與MEM_2,并假設(shè)第一個與第二個離散傅立葉轉(zhuǎn)換符元的分解與計算順序皆為第一類順序,則根據(jù)以上的說明可知(1)第一、五、九、十三...離散傅立葉轉(zhuǎn)換符元儲存于記憶區(qū)塊MEM_1且以第一類順序計算。(2)第二、六、十、十四...離散傅立葉轉(zhuǎn)換符元儲存于記憶區(qū)塊MEM_2且以第一類順序計算。(3)第三、七、十一、十五...離散傅立葉轉(zhuǎn)換符元儲存于記憶區(qū)塊MEM_1且以第二類順序計算。(4)第四、八、十二、十六...離散傅立葉轉(zhuǎn)換符元儲存于記憶區(qū)塊MEM一2且以第二類順序計算。為說明之便,圖2中僅以長度為N-N^2N3的離散傅立葉轉(zhuǎn)換為例來說明取得資料存取所需指標(biāo)向量的硬件實施方式。如圖2所示,其由數(shù)個累加器A。A2、...、As組成。于控制單元中包含3組此硬件設(shè)計,其中2組分別用于產(chǎn)生資料輸入與輸出所需的指標(biāo)向量,其參數(shù)U,、U2、U3、U4、q與r由各階段的分解方程式(l)決定。而第3組則是用于產(chǎn)生各個短點數(shù)傅立葉轉(zhuǎn)換所需資料的指標(biāo)向量,其與前面兩組唯一不同處是此時的參數(shù)q,r皆為0,即A4,As可去除。下表二顯示以內(nèi)存為基礎(chǔ)的離散傅立葉轉(zhuǎn)換處理器設(shè)計的不同實時應(yīng)用方法的比較結(jié)果。所有項目中,僅有本發(fā)明的方法與美國專利4,477,878可支持任何一般基數(shù)的混合,并進(jìn)行任何點數(shù)長度的快速傅立葉轉(zhuǎn)換。然而,如前所述,美國專利4,477,878未能實現(xiàn)無內(nèi)存沖突的多內(nèi)存架構(gòu)(multi-bankmemorystructure),因而無法減少實時應(yīng)用所需的操作時脈。本發(fā)明提出以內(nèi)存為基礎(chǔ)的快速傅立葉轉(zhuǎn)換處理器設(shè)計方法,使其可同時滿足以下三項目的(l)蝴蝶運算與輸入輸出資料時的資料置換;(2)任何基數(shù)的混合;及(3)支持多內(nèi)存架構(gòu)。表二本發(fā)明與不同方法的比較[A2][B2][A5][A3][A4]B[3]本發(fā)明基數(shù)所有一般固定基數(shù)-r固定基數(shù)-r基數(shù)-2/4所有一般資料置換是是是是是內(nèi)存2N個字2N個字2N個字2N個字2N個字多重記憶庫否是否是是:美國專利4,477,878[A2]:美國專利5,091,875[A3]:美國專利7,062,523[A4]:美國專利7,164,723:美國專利公開20060253514:論文L.G.Johnson"ConflictfreememoryaddressingfordedicatedFFThardware,"IEEETrans.CircuitsSyst.II,AnalogDigit.SignalProcess,,vol.39,no.5,pp.312—316,May1992.B[3〗論文B.G.Jo,andM.H.Sunwoo,"Newcontinuous-flowmixed-radix(CFMR)FFTprocessorusingnovelin-placestrategy,"IEEETrans.CircuitsSyst.I,Reg.Papers,vol.52,no.5,pp.911-919,May2005.綜上所述,當(dāng)以本發(fā)明方法應(yīng)用于中國數(shù)字電視所需的3780點離散傅立葉轉(zhuǎn)換時,僅需2N個字的內(nèi)存即可滿足系統(tǒng)需求,同時達(dá)到持續(xù)資料流與資料依序輸入輸出的目的。若欲達(dá)成與本案相同效果,美國專利公開20080025199、中國專利01140060.9、中國專利03107204.6的方案需至少3N個字的內(nèi)存,中國專利公開200410090873.2與中國專利公開200710044716.1需至少5N個字的內(nèi)存,中國專利公開200610104144.7需6N個字的內(nèi)存,而論文Z,X.Yang,Y,P.Hu,C.曙Y.Pan,andL.Yang,"Designofa3780-pointIFFTprocessorforTDS-OF畫,"IEEETrans.Broadcast"vol.48,no.l,pp.57—61,Mar.2002亦至少需3N個字以上的內(nèi)存。因此,就此應(yīng)用而言,若以本發(fā)明的方法設(shè)計3780點離散傅立葉轉(zhuǎn)換處理器,則相較于以現(xiàn)有方式設(shè)計者可大幅縮減芯片面積。本發(fā)明還提出一種以內(nèi)存為基礎(chǔ)的(正/逆向)快速傅立葉轉(zhuǎn)換處理器,用以執(zhí)行上述的方法,其包含一用以存放資料的主要內(nèi)存、一進(jìn)行分解后短點數(shù)快速傅立葉轉(zhuǎn)換的處理元件以及一控制單元,其中該控制單元具有控制以下項目的功能(l)輸入輸出資料與蝴蝶運算用的內(nèi)存,(2)分解后的短點數(shù)快速傅立葉轉(zhuǎn)換的計算順序,及(3)以資料置換方式進(jìn)行資料存取所需的內(nèi)存尋址。用以執(zhí)行上述的方法。該主要內(nèi)存包含二記憶區(qū)塊(memoryblock),亦即MEM—1與MEM—2,當(dāng)MEM—1用于快速傅立葉轉(zhuǎn)換運算時,MEM—2則用于輸入輸出資料,反之亦然。且,每一記憶區(qū)塊包含M個記憶庫(memorybank),且每一記憶庫的大小為N/M,其中N為快速傅立葉轉(zhuǎn)換的點數(shù)長度,M為由系統(tǒng)設(shè)計者自行設(shè)定的記憶庫數(shù)量。該處理單元FFT_CORE設(shè)計為可對分解后的短點數(shù)快速傅立葉轉(zhuǎn)換進(jìn)行個別計算,其計算各短點數(shù)離散傅立葉轉(zhuǎn)換所需的時脈周期數(shù)由設(shè)計者依需求決定,此亦決定計算單元所需硬件數(shù)量。該控制單元的第(l)項控制功能是控制如前所述的該等記憶區(qū)塊,以將其功能切換為快速傅立葉轉(zhuǎn)換計算或輸入輸出資料。該控制單元的第(2)項控制功能是控制該處理元件,使其利用與同一記憶區(qū)塊的前次快速傅立葉轉(zhuǎn)換符元分解順序相反的順序進(jìn)行短點數(shù)快速傅立葉轉(zhuǎn)換計算,從而取得快速傅立葉轉(zhuǎn)換符元;亦即,若該快速傅立葉轉(zhuǎn)換符元于一記憶區(qū)塊中以N!點快速傅立葉轉(zhuǎn)換、N2點快速傅立葉轉(zhuǎn)換......至Nk點快速傅立葉轉(zhuǎn)換的順序計算,則儲存于同一記憶區(qū)塊中的次一快速傅立葉轉(zhuǎn)換符元的計算順序為Nk點快速傅立葉轉(zhuǎn)換、N(k.D點快速傅立葉轉(zhuǎn)換......至Ni點快速傅立葉轉(zhuǎn)換。該控制單元的第(3)項控制功能是控制以資料置換的方式進(jìn)行資料存取,從而進(jìn)行每一記憶區(qū)塊的蝴蝶運算與資料輸入輸出。其包含3組運作原理如圖2的硬件設(shè)計,其中2組分別用于產(chǎn)生資料輸入與輸出所需的指標(biāo)向量,其參數(shù)U"U2、U3、U4、q與r由各階段的分解方程式?jīng)Q定。而第3組則是用于產(chǎn)生各個短點數(shù)傅立葉轉(zhuǎn)換所需資料的指標(biāo)向量,其與前面兩組唯一不同處是此時的參數(shù)q,r皆為0。綜上所述,以上的實施例僅是用來解釋本發(fā)明的具體實施方式,本發(fā)明的保護(hù)范圍仍應(yīng)以權(quán)利要求書的范圍為準(zhǔn)。權(quán)利要求1.一種任意點數(shù)快速傅利葉轉(zhuǎn)換的計算與尋址方法,其特征在于,包含下列步驟(1)將長點數(shù)離散傅立葉轉(zhuǎn)換的計算分解為數(shù)個短點數(shù)的離散傅立葉轉(zhuǎn)換,并同時將其指標(biāo)由單一維度映像成多維度指標(biāo)向量;(2)通過控制這些多維度指標(biāo)向量,把原始輸入資料分散存放到數(shù)個內(nèi)存里,使得在不產(chǎn)生內(nèi)存存取沖突的情況下同時達(dá)到計算期間的資料置換與內(nèi)存完整蝴蝶點數(shù)一次存取的目的;(3)當(dāng)資料置換使用在已計算完成的舊資料依序輸出與新資料依序輸入時,為了往后計算期間可以繼續(xù)保持資料存取時沒有內(nèi)存沖突,對于新資料的計算采取與先前資料計算時的反序操作來達(dá)成目的;依此方法,對于設(shè)計任意點數(shù)的以內(nèi)存為基礎(chǔ)的快速傅立葉轉(zhuǎn)換處理器,可以減少處理器面積與所需的操作時脈。2.—種以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其特征在于,包含一用以存放資料的主要內(nèi)存、一進(jìn)行分解后短點數(shù)快速傅立葉轉(zhuǎn)換的處理元件以及一控制單元,其中該控制單元具有控制以下項目的功能(l)輸入輸出資料與蝴蝶運算用的內(nèi)存,(2)分解后的短點數(shù)快速傅立葉轉(zhuǎn)換的計算順序,及(3)以資料置換方式進(jìn)行資料存取所需的內(nèi)存尋址。3.如權(quán)利要求2所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,該主要內(nèi)存包含二記憶區(qū)塊,為MEMJ與MEIv^2,當(dāng)MEM_1用于快速傅立葉轉(zhuǎn)換運算時,ME]V^2則用于輸入輸出資料,反之亦然。4.如權(quán)利要求3所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,每一記憶區(qū)塊包含M個記憶庫,且每一記憶庫的大小為N/M,其中N為快速傅立葉轉(zhuǎn)換的點數(shù)長度,M為由系統(tǒng)設(shè)計者自行設(shè)定的記憶庫數(shù)量。5.如權(quán)利要求2所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,該處理單元設(shè)計為可對分解后的短點數(shù)快速傅立葉轉(zhuǎn)換進(jìn)行個別計算。6.如權(quán)利要求2所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,該控制單元的第(l)項控制功能是控制如權(quán)利要求3所述的該兩記憶區(qū)塊,以將其功能切換為快速傅立葉轉(zhuǎn)換計算或輸入輸出資料。7.如權(quán)利要求2所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,該控制單元的第(2)項控制功能是控制該處理元件來依照權(quán)利要求1第(3)點的步驟執(zhí)行,使其利用與同一記憶區(qū)塊的前次快速傅立葉轉(zhuǎn)換符元分解順序相反的順序進(jìn)行短點數(shù)快速傅立葉轉(zhuǎn)換計算,從而取得快速傅立葉轉(zhuǎn)換符元;亦即,若該快速傅立葉轉(zhuǎn)換符元于一記憶區(qū)塊中以N!點快速傅立葉轉(zhuǎn)換、N2點快速傅立葉轉(zhuǎn)換......至Nk點快速傅立葉轉(zhuǎn)換的順序計算,則儲存于同一記憶區(qū)塊中的次一快速傅立葉轉(zhuǎn)換符元的計算順序為Nk點快速傅立葉轉(zhuǎn)換、N(k.,)點快速傅立葉轉(zhuǎn)換......至N,點快速傅立葉轉(zhuǎn)換。8.如權(quán)利要求2所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,該控制單元的第(3)項控制功能是內(nèi)存尋址并控制以資料置換的方式進(jìn)行資料存取,從而進(jìn)行每一記憶區(qū)塊的蝴蝶運算與資料輸入輸出,此項控制功能為權(quán)利要求1第(2)點的實施。9.如權(quán)利要求8所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,執(zhí)行資料存取的記憶庫由指標(biāo)向量(m,n2,…,iik)與方程式(a0所決定,其中方程式(&1)的c為一常量整數(shù),而該指標(biāo)向量對應(yīng)每一短點數(shù)快速傅立葉轉(zhuǎn)換,亦即如權(quán)利要求6所述的&點快速傅立葉轉(zhuǎn)換、N2點快速傅立葉轉(zhuǎn)換......至Nk點快速傅立葉轉(zhuǎn)換。bank=n!+n2+...+nk+cmodM(a!)10.如權(quán)利要求9所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,方程式(ai)將所有資料分為M個群組以存入每一記憶區(qū)塊的M個記憶庫,該地址公式可為該指標(biāo)向量(n!,n2,...,nO的任一函數(shù),該指標(biāo)向量可將同一群組中任兩筆資料置入兩個不同地址;當(dāng)記憶庫數(shù)量M-Nt,Nt為NpN2,…,Nk其中之一,而(U,,U2,...,Uk.,)-(N"N2,…,N",Nt+1,...,Nk),(uPu2,…,Uw"(n"n2,...,nt.,,nt+1,...,nk)。而分解與計算順序為點快速傅立葉轉(zhuǎn)換、N2點快速傅立葉轉(zhuǎn)換......至Nk點快速傅立葉轉(zhuǎn)換或其逆向順序,則采用公式(a3)來決定資料地址。威rew-(mod(A/7M)(a3)11.如權(quán)利要求9所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,該指標(biāo)向量由分解下列方程式(a4)與(a5)于各階段產(chǎn)生,在此以N-N^2為例,離散傅立葉轉(zhuǎn)換的定義為,(*)=—、W『#,分解方程式(a4)與(a5)可將N點離散傅立葉轉(zhuǎn)換分解為兩個"i短點數(shù)的離散傅立葉轉(zhuǎn)換,即N,點離散傅立葉轉(zhuǎn)換與N2點離散傅立葉轉(zhuǎn)換;分解方程式(a4)與(as)中的系數(shù)A2及Bt為正整數(shù),輸入及輸出指標(biāo)分別由該輸入及輸出方程式(a》與(as)轉(zhuǎn)換;n-N2iM+A2n2modNr^,ki=0,1,…,N廣l(a4)k-B^+Nik2modNn2,k2=0,1,…,N2-l(a5)。12.如權(quán)利要求9所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,對應(yīng)于如權(quán)利要求IO所述輸入及輸出方程式的該指標(biāo)向量(m,n2,...,nk)可經(jīng)由累加器的硬件運用而取得。13.如權(quán)利要求.9所述的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器,其中,以該指標(biāo)向量(ni,n2,...,nk)而言,用以于第j階段計算Nj點離散傅立葉轉(zhuǎn)換而被存取的Nj筆資料的每一群組對應(yīng)(n,,n2,...,n卜i,0,nj+1,.."nk),(,n2,...,nj",1,nj+1,...,nk),…,(n,,n2,...,nj小Nrl,nj+1,...,nk),且計算完成的輸出數(shù)據(jù)于計算后寫回其原來位置,而上述所需的指標(biāo)向量可由累加器的硬件運用而取得。全文摘要本發(fā)明通過分解方程式將長點數(shù)離散傅立葉轉(zhuǎn)換的計算分解為數(shù)個短點數(shù)的離散傅立葉轉(zhuǎn)換,并同時將其指標(biāo)由單一維度映像成多維度指標(biāo)向量。通過控制指標(biāo)向量,把原始輸入資料分散存放到數(shù)個內(nèi)存里,使得在不產(chǎn)生內(nèi)存存取沖突的情況下同時達(dá)到計算期間的資料置換與內(nèi)存完整蝴蝶點數(shù)一次存取的目的。當(dāng)資料置換使用在已計算完成的舊資料依序輸出與新資料依序輸入時,為了往后計算期間可以繼續(xù)保持資料存取時沒有內(nèi)存沖突,對于新資料的計算采取與先前資料計算時的反序操作來達(dá)成目的。本發(fā)明并涉及一種使用此方法的以內(nèi)存為基礎(chǔ)的正/逆向快速傅立葉轉(zhuǎn)換處理器。文檔編號G06F17/14GK101630308SQ200810131540公開日2010年1月20日申請日期2008年7月16日優(yōu)先權(quán)日2008年7月16日發(fā)明者李鎮(zhèn)宜,蕭清峰,元陳申請人:財團(tuán)法人交大思源基金會
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
石门县| 常熟市| 赤水市| 界首市| 龙江县| 仁寿县| 休宁县| 静宁县| 合川市| 申扎县| 浙江省| 财经| 樟树市| 岳阳市| 屏山县| 民丰县| 永寿县| 临颍县| 平乡县| 萨迦县| 梧州市| 安图县| 乃东县| 全椒县| 丹江口市| 饶河县| 麻阳| 富民县| 弥勒县| 古浪县| 香格里拉县| 霍州市| 大同市| 汉源县| 罗山县| 怀安县| 托克托县| 房产| 阆中市| 尉氏县| 济南市|