一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3fft處理方法
【專利摘要】本發(fā)明提出一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT處理方法,旨在降低地址生成的復(fù)雜度,可應(yīng)用于任意固定基地址的產(chǎn)生和任意基FFT處理器的實(shí)現(xiàn)。該方法首先根據(jù)分析基3FFT算法,給出基于原位存儲(chǔ)、時(shí)域抽取的基3FFT處理器結(jié)構(gòu);然后再根據(jù)所述的處理器結(jié)構(gòu),分析存儲(chǔ)于存儲(chǔ)器中操作數(shù)和旋轉(zhuǎn)因子的訪問地址,給出三進(jìn)制表示的操作數(shù)和旋轉(zhuǎn)因子地址表示形式;最后根據(jù)進(jìn)制轉(zhuǎn)換關(guān)系,給出基于三進(jìn)制計(jì)數(shù)器的地址生成架構(gòu)。
【專利說明】一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)字信號(hào)處理【技術(shù)領(lǐng)域】,涉及一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT(快速傅 里葉變換)處理方法。
【背景技術(shù)】
[0002]隨著大規(guī)模集成電路和數(shù)字信號(hào)處理技術(shù)的發(fā)展,F(xiàn)FT算法具有不可替代的作用, 廣泛應(yīng)用于雷達(dá)、聲納、通信等領(lǐng)域。在實(shí)時(shí)性、小型化和低功耗要求越來越高的今天,需要 采用盡可能少的資源來實(shí)現(xiàn)更快的FFT處理器來滿足當(dāng)前的各種需求。
[0003]在FFT處理器中,蝶形單元是最基本的運(yùn)算模塊。蝶形計(jì)算單元的設(shè)計(jì)復(fù)雜度是 FFT處理器計(jì)算的復(fù)雜度主要來源,而基數(shù)越高則蝶形計(jì)算單元復(fù)雜度越大。因此,對(duì)于一 個(gè)FFT處理器來說,蝶形計(jì)算單元的設(shè)計(jì)決定了整個(gè)處理器的性能,基2/4FFT正是因?yàn)槠?低復(fù)雜度的蝶形計(jì)算單元而得到廣泛的應(yīng)用。但實(shí)際設(shè)計(jì)中,通常會(huì)遇到可選的存儲(chǔ)空間 不是2的冪次方,或者說需要補(bǔ)充比較多的零才能利用基2/4算法來實(shí)現(xiàn),這種方法雖然不 會(huì)對(duì)頻譜產(chǎn)生影響,但這并非是最節(jié)省的計(jì)算方法,導(dǎo)致的結(jié)果就是浪費(fèi)較多的存儲(chǔ)空間 和處理時(shí)間,同時(shí)還增加了硬件成本方面的開支。
[0004]基3FFT算法作為除基2/4算法外蝶形計(jì)算結(jié)構(gòu)最為簡(jiǎn)單的FFT算法,因此對(duì)某些 點(diǎn)數(shù)來說基3算法相比于基2/4算法更適合實(shí)際應(yīng)用。例如729點(diǎn)數(shù)據(jù),如果用1024基2 或基4FFT則會(huì)多占用40%的存儲(chǔ)空間,計(jì)算時(shí)間也會(huì)相應(yīng)延長(zhǎng)。研究非基2/4FFT的實(shí)現(xiàn) 來應(yīng)對(duì)某些不適合基2或基4FFT點(diǎn)數(shù)的情況成為必然。
[0005]非2次冪長(zhǎng)度DFT算法,往往需要復(fù)雜的運(yùn)算結(jié)構(gòu),非常不適合硬件實(shí)現(xiàn)。目前的 多數(shù)工作都是在基于基2FFT,如基_2k(k=l,2,3..)等易于硬件平臺(tái)實(shí)現(xiàn)的FFT處理器,或 者基于復(fù)雜的素因子的地址生成方法。
【發(fā)明內(nèi)容】
[0006]鑒于此,本發(fā)明提出一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT處理方法,旨在降低地址生成 的復(fù)雜度,可應(yīng)用于任意固定基地址的產(chǎn)生和任意基FFT處理器的實(shí)現(xiàn)。
[0007]為了解決上述技術(shù)問題,本發(fā)明是這樣實(shí)現(xiàn)的:
[0008]一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT處理方法,首先根據(jù)分析基3FFT算法,給出基于原 位存儲(chǔ)、時(shí)域抽取的基3FFT處理器結(jié)構(gòu);然后再根據(jù)所述的處理器結(jié)構(gòu),分析存儲(chǔ)于存儲(chǔ) 器中操作數(shù)和旋轉(zhuǎn)因子的訪問地址,給出三進(jìn)制表示的操作數(shù)和旋轉(zhuǎn)因子地址表示形式; 最后根據(jù)進(jìn)制轉(zhuǎn)換關(guān)系,給出基于三進(jìn)制計(jì)數(shù)器的地址生成架構(gòu)。
[0009]本發(fā)明基于原有任意固定基FFT快速地址產(chǎn)生規(guī)律,引入進(jìn)制數(shù)之間的轉(zhuǎn)換,研 究基3FFT處理器在二進(jìn)制環(huán)境下的三進(jìn)制地址生成,旨在降低地址生成的復(fù)雜度,該方法 可應(yīng)用于任意固定基地址的產(chǎn)生。
【專利附圖】
【附圖說明】[0010]圖1為基-3FFT處理器結(jié)構(gòu)框圖;
[0011]圖2為基-3FFT地址產(chǎn)生器;
[0012]圖3為訪問地址產(chǎn)生架構(gòu)。
【具體實(shí)施方式】
[0013]下面結(jié)合附圖對(duì)本發(fā)明方法的實(shí)施方式做詳細(xì)說明。
[0014]步驟一、首先分析如圖1所示的基3FFT處理器結(jié)構(gòu)框圖。
[0015]基于原位存儲(chǔ),時(shí)域抽取的基3FFT處理器的實(shí)現(xiàn)包含最基本的4部分,如圖1所示,I)串并轉(zhuǎn)換,將從RAM中串行讀出的3個(gè)操作數(shù)并行處理;2)基3蝶形單元;3)并串轉(zhuǎn)換,將經(jīng)蝶形單元計(jì)算后的并行數(shù)據(jù)進(jìn)行串行寫入RAM中;4)地址控制單元,用于生成存儲(chǔ)操作數(shù)的RAM和存儲(chǔ)旋轉(zhuǎn)因子的ROM的地址。
[0016]步驟二、給出操作數(shù)和旋轉(zhuǎn)因子地址的三進(jìn)制表達(dá)形式。
[0017]N點(diǎn)DFT可以分解為M(M= 1g3(N))次迭代計(jì)算,設(shè)三進(jìn)制計(jì)數(shù)器為C = (CihCV2.? ? C1C0) 13,則第m(m = I, 2,...,M)次迭代操作數(shù)訪問地址為:
[0018]Access_Address —? ? CM_m+2CM_m+1C0CM_mCM_m_ 1.?.C1C0) |3 (I)
m-2
[0019]後卜Y/K,則3 '的產(chǎn)生規(guī)律為(Cm_2Cm_3.? ? Cw^1) 30 設(shè) P = rM_mX (6,,則
T=O
第m次迭代時(shí)P值為(用VHDL語(yǔ)言描述):
[0020]P = [P' ((m-2) downto 0) &zeros ((M_2) downto (m_l)) ] (2)那么,第 i(i =
0,1,...,r-1)個(gè)操作數(shù)對(duì)應(yīng)的旋轉(zhuǎn)因子地址為:
[0021]
AddresslwlijdlJJ) = iDO(3)
[0022]由式(I)和(3)可求出基3FFT蝶形運(yùn)算時(shí)操作數(shù)讀/寫地址和旋轉(zhuǎn)因子讀地址。
[0023]步驟三、由于操作數(shù)地址和旋轉(zhuǎn)因子地址的產(chǎn)生都是以三進(jìn)制進(jìn)行計(jì)算的,因此需要實(shí)現(xiàn)以三進(jìn)制表示的數(shù)據(jù)訪問地址生成單元。對(duì)于三進(jìn)制表示,在硬件實(shí)現(xiàn)中,需采用 2比特位表示I位三進(jìn)制數(shù),而三進(jìn)制數(shù)的每一位的值是0,1,2。
[0024]在本發(fā)明中為便于描述,設(shè)FFT處理點(diǎn)數(shù)為N = 36,因此每個(gè)存儲(chǔ)地址訪問器是由 6位3進(jìn)制計(jì)數(shù)器生成?;?FFT操作數(shù)和旋轉(zhuǎn)因子訪問地址產(chǎn)生模塊如圖2所示。說明: 首先給出6位三進(jìn)制表示形式,根據(jù)步驟二得出的三進(jìn)制表示的操作數(shù)和旋轉(zhuǎn)因子地址, 對(duì)該三進(jìn)制數(shù)據(jù)進(jìn)行調(diào)整,調(diào)整后基于數(shù)制轉(zhuǎn)換得出數(shù)據(jù)實(shí)際訪問地址。
[0025]由于操作數(shù)和旋轉(zhuǎn)因子都是基于三進(jìn)制計(jì)數(shù)器得出的,因此基于三進(jìn)制計(jì)數(shù)器的地址生成具體實(shí)現(xiàn)架構(gòu)如圖3所示。根據(jù)進(jìn)制數(shù)之間的轉(zhuǎn)換關(guān)系,將該架構(gòu)分為三級(jí)運(yùn)算, 第一級(jí)為6位3進(jìn)制表示形式;第二級(jí)是調(diào)整該數(shù)據(jù)得出數(shù)據(jù)訪問地址3進(jìn)制表示形式;第三級(jí)是將3進(jìn)制表示形式轉(zhuǎn)換成十進(jìn)制數(shù),得到最終的地址。說明如下:
[0026](1)6位3進(jìn)制表示形式
[0027]第一級(jí)中,6位3進(jìn)制數(shù)據(jù)一共需要12比特二進(jìn)制數(shù)表示,每2比特表示3進(jìn)制數(shù)的I位。在時(shí)鐘上升沿觸發(fā)下,每次加1,每逢3往前進(jìn)I位。本發(fā)明設(shè)計(jì)的6位3進(jìn)制計(jì)數(shù)器是由6個(gè)2比特的累加器組成的。
[0028]給整個(gè)模塊一個(gè)729個(gè)時(shí)鐘長(zhǎng)度的高電平使能信號(hào)來觸發(fā)這個(gè)地址產(chǎn)生器,在這個(gè)使能信號(hào)有效的情況下,第一個(gè)累加器不斷對(duì)I進(jìn)行累加,累加到3時(shí)向前進(jìn)I位,并且將結(jié)果清零,同時(shí)輸出結(jié)果;第二個(gè)累加器則是對(duì)第一個(gè)加法器的進(jìn)位不斷累加,累加到3 時(shí)向前進(jìn)I位,并且將此結(jié)果清零,同時(shí)輸出結(jié)果;以此類推。
[0029](2)數(shù)據(jù)調(diào)整
[0030]第二級(jí)中,將第一級(jí)的得到的數(shù)據(jù)進(jìn)行并位操作,對(duì)此6位3進(jìn)制計(jì)數(shù)器進(jìn)行調(diào)整,形成數(shù)據(jù)訪問地址的3進(jìn)制表示形式和旋轉(zhuǎn)因子訪問地址的3進(jìn)制表示形式。
[0031](3)三進(jìn)制轉(zhuǎn)十進(jìn)制模塊
[0032]十進(jìn)制數(shù)與三進(jìn)制轉(zhuǎn)換表達(dá)式為
【權(quán)利要求】
1.一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT處理方法,其特征在于:首先根據(jù)分析基3FFT算法, 給出基于原位存儲(chǔ)、時(shí)域抽取的基3FFT處理器結(jié)構(gòu);然后再根據(jù)所述的處理器結(jié)構(gòu),分析 存儲(chǔ)于存儲(chǔ)器中操作數(shù)和旋轉(zhuǎn)因子的訪問地址,并給出三進(jìn)制表示的操作數(shù)和旋轉(zhuǎn)因子地 址表示形式;最后再根據(jù)進(jìn)制轉(zhuǎn)換關(guān)系,給出基于三進(jìn)制計(jì)數(shù)器的地址生成架構(gòu)。
2.如權(quán)利要求1所述的一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT處理方法,其特征在于:其中得 出的處理器結(jié)構(gòu)包括四部分:1)串并轉(zhuǎn)換,將從RAM中串行讀出的3個(gè)操作數(shù)并行處理;2) 基3蝶形單元;3)并串轉(zhuǎn)換,將經(jīng)蝶形單元計(jì)算后的并行數(shù)據(jù)進(jìn)行串行寫入RAM中;4)地址 控制單元,用于生成存儲(chǔ)操作數(shù)的RAM和存儲(chǔ)旋轉(zhuǎn)因子的ROM的地址。
3.如權(quán)利要求1或2所述的一種基于進(jìn)制數(shù)轉(zhuǎn)換的基3FFT處理方法,其特征在于:根 據(jù)進(jìn)制數(shù)之間的轉(zhuǎn)換關(guān)系,將所述架構(gòu)分為三級(jí)運(yùn)算,第一級(jí)為6位3進(jìn)制表示形式;第二 級(jí)是調(diào)整該數(shù)據(jù)得出數(shù)據(jù)訪問地址3進(jìn)制表示形式;第三級(jí)是將3進(jìn)制表示形式轉(zhuǎn)換成十 進(jìn)制數(shù),得到最終的地址。
【文檔編號(hào)】G06F17/14GK103593327SQ201310287039
【公開日】2014年2月19日 申請(qǐng)日期:2013年7月9日 優(yōu)先權(quán)日:2013年7月9日
【發(fā)明者】陳禾, 師皓, 馬翠梅, 謝宜壯, 龍騰 申請(qǐng)人:北京理工大學(xué)