專(zhuān)利名稱(chēng):利用混合基數(shù)快速付里葉變換的調(diào)制設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及調(diào)制數(shù)據(jù)的設(shè)備,尤其涉及基于正交頻分多路復(fù)用(下文稱(chēng)為“OFDM”)技術(shù)或離散多頻聲(下文稱(chēng)為“DMT”)技術(shù)的調(diào)制設(shè)備。
背景技術(shù):
一般說(shuō)來(lái),在數(shù)字?jǐn)?shù)據(jù)通信系統(tǒng)中,在發(fā)送之前對(duì)數(shù)據(jù)加以調(diào)制,在接收之后對(duì)數(shù)據(jù)加以解調(diào)。這樣的調(diào)制和解調(diào)由可能隨其調(diào)制方案而改變的MODEM(調(diào)制解調(diào)器)來(lái)完成。通常,用于數(shù)據(jù)通信的調(diào)制方案包括碼分多路復(fù)用(CDM)、頻分多路復(fù)用(FDM)、OFDM和DMT方案。
下文對(duì)OFDM和DMT調(diào)制方案加以描述。
OFDM方案是為無(wú)線通信系統(tǒng)中多路信道上的高速數(shù)據(jù)傳輸提出的。在提出OFDM方案之前,單載波傳輸方案用于數(shù)據(jù)傳輸。也就是說(shuō),利用OFDM方案之前的調(diào)制方案的無(wú)線通信系統(tǒng)調(diào)制串行傳輸數(shù)據(jù),然后,利用信道的整個(gè)頻帶傳輸每個(gè)調(diào)制碼元。OFDM方案或DMT方案將調(diào)制數(shù)據(jù)串-并轉(zhuǎn)換成與載波數(shù)目一樣多的數(shù)據(jù)碼元,并且利用相應(yīng)的副載波調(diào)制轉(zhuǎn)換數(shù)據(jù)碼元。這種利用副載波的調(diào)制是利用離散付里葉變換(下文稱(chēng)為“DFT”)實(shí)現(xiàn)的。但是,對(duì)于實(shí)際的硬件設(shè)計(jì),為了減少計(jì)算(或運(yùn)算)次數(shù),利用副載波的調(diào)制是利用快速付里葉變換(下文稱(chēng)為“FFT”)算法實(shí)現(xiàn)的,而不是利用DFT或離散付里葉逆變換(下文稱(chēng)為“IDFT”)算法實(shí)現(xiàn)的。當(dāng)應(yīng)用于OFDM系統(tǒng)時(shí),處理FFT算法的處理器高度復(fù)雜,并且,需要高速計(jì)算。因此,難以實(shí)現(xiàn)處理FFT算法的處理器。
在需要高速計(jì)算的領(lǐng)域中,主要使用具有流水線結(jié)構(gòu)的FFT處理器。但是,流水線結(jié)構(gòu)需要與級(jí)數(shù)一樣多的計(jì)算器,這樣,點(diǎn)數(shù)的增加引起其硬件尺寸的增大。因此,為了解決與硬件尺寸增大有關(guān)的問(wèn)題,人們引入了利用存儲(chǔ)器結(jié)構(gòu)和單個(gè)蝶式計(jì)算器的處理器。
利用基數(shù)-2 FFT算法的、基于存儲(chǔ)器FFT處理器是這種處理器的典型例子。由于基于存儲(chǔ)器FFT處理器可以將基數(shù)-2 FFT算法應(yīng)用于存儲(chǔ)器結(jié)構(gòu),可以使乘法器數(shù)目達(dá)到最少。因此,基于存儲(chǔ)器FFT處理器可以用在實(shí)現(xiàn)小型FFT處理器中。
但是,利用基數(shù)-2 FFT算法的基于存儲(chǔ)器FFT處理器需要許多個(gè)計(jì)算周期,這增加了計(jì)算時(shí)間。因此,基于存儲(chǔ)器FFT處理器不適合于需要高速計(jì)算的OFDM系統(tǒng)或DMT系統(tǒng),并且,為了滿足高速計(jì)算要求,基于存儲(chǔ)器FFT處理器需要極高工作頻率。因此,在OFDM系統(tǒng)或DMT系統(tǒng)中,基數(shù)-4算法一般用來(lái)取代基數(shù)-2算法?,F(xiàn)在對(duì)基于基數(shù)-4算法的現(xiàn)有FFT處理器加以描述。
圖1是例示Amphion公司引入的基于基數(shù)-4算法FFT處理器的方塊圖。與基數(shù)-2算法相比,基數(shù)-4算法使級(jí)數(shù)減少一半,并且,還使每一級(jí)的蝶式計(jì)算次數(shù)減少一半。因此,基數(shù)-4算法在蝶式計(jì)算次數(shù)上比基數(shù)-2算法少得多。下表1所示的是基于FFT長(zhǎng)度的基數(shù)-2算法、基數(shù)-4算法和如后所述的混合基數(shù)算法的計(jì)算次數(shù)。
表1
如表1所示,基數(shù)-4算法適合于FFT長(zhǎng)度只為4n(其中,n是整數(shù))的FFT計(jì)算,而基數(shù)-2算法適合于所有FFT長(zhǎng)度2n的FFT計(jì)算。例如,對(duì)于28的FFT長(zhǎng)度256(256=28),基數(shù)-2算法和基數(shù)-4算法兩者都可以進(jìn)行FFT計(jì)算。但是,對(duì)于29的FFT長(zhǎng)度512(512=29),基數(shù)-4算法不能進(jìn)行FFT計(jì)算,而基數(shù)-2算法可以進(jìn)行FFT計(jì)算。因此,為了對(duì)所有FFT長(zhǎng)度2n進(jìn)行FFT計(jì)算,需要與另一種基數(shù)算法一起使用基數(shù)-4算法的混合基數(shù)算法。表1的最后一列示出了當(dāng)使用混合使用基數(shù)-4算法和基數(shù)-2算法的混合基數(shù)算法時(shí),蝶式計(jì)算的次數(shù)。表1中通過(guò)混合基數(shù)算法進(jìn)行的計(jì)算的次數(shù)等于用Amphion公司提供的FFT處理器進(jìn)行的計(jì)算的次數(shù)?,F(xiàn)在參照?qǐng)D1描述Amphion公司制造的FFT處理器。
參照?qǐng)D1,利用混合基數(shù)算法的FFT處理器通過(guò)有選擇地使基數(shù)-4蝶式器(butterfly)和基數(shù)-4/基數(shù)-4蝶式器工作,進(jìn)行基數(shù)-4、基數(shù)-8和基數(shù)-16計(jì)算的混合基數(shù)計(jì)算。輸入/輸出接口和控制器11對(duì)從外部接收的輸入數(shù)據(jù)X進(jìn)行FFT計(jì)算,并且將FFT計(jì)算結(jié)果數(shù)據(jù)輸出到FFT處理器的外部。輸入/輸出接口和控制器11的輸入數(shù)據(jù)X和輸出數(shù)據(jù)Y可以成為OFDM碼元或DMT碼元。存儲(chǔ)器控制器12控制存儲(chǔ)器13的地址生成,以便讀寫(xiě)計(jì)算過(guò)程中的數(shù)據(jù)和從輸入/輸出接口和控制器11接收的用于FFT計(jì)算的數(shù)據(jù)。存儲(chǔ)器13是利用1024-字雙端口存儲(chǔ)器實(shí)現(xiàn)的,并且讀寫(xiě)從外部接收的數(shù)據(jù)和存儲(chǔ)器控制器12指定的地址中FFT計(jì)算的中間數(shù)據(jù)和結(jié)果數(shù)據(jù)。
蝶式計(jì)算器10由基數(shù)-4蝶式器(butterfly)14、旋轉(zhuǎn)因子查用表(下文稱(chēng)為“LUT”)16和復(fù)數(shù)乘法器15組成?;鶖?shù)-4蝶式器14進(jìn)行基數(shù)-4蝶式計(jì)算當(dāng)中的相加和相減計(jì)算。旋轉(zhuǎn)因子LUT 16是存儲(chǔ)計(jì)算過(guò)程中數(shù)據(jù)的旋轉(zhuǎn)因子和輸出旋轉(zhuǎn)因子值的存儲(chǔ)表。復(fù)數(shù)乘法器15進(jìn)行基數(shù)-4蝶式計(jì)算當(dāng)中復(fù)數(shù)相乘,生成復(fù)數(shù)相乘結(jié)果值?;鶖?shù)-4/基數(shù)-2選擇性蝶式器17有選擇地進(jìn)行基于FFT長(zhǎng)度的最后計(jì)算。例如,當(dāng)基于FFT長(zhǎng)度的最后計(jì)算需要基數(shù)-2計(jì)算時(shí),選擇基數(shù)-2蝶式器進(jìn)行基數(shù)-2計(jì)算。但是,當(dāng)最后計(jì)算需要基數(shù)-4計(jì)算時(shí),選擇基數(shù)-4蝶式器進(jìn)行基數(shù)-4計(jì)算。結(jié)果,通過(guò)將整個(gè)FFT計(jì)算與蝶式計(jì)算器10的基數(shù)-4蝶式計(jì)算結(jié)合在一起,可以進(jìn)行基數(shù)-8計(jì)算或基數(shù)-16計(jì)算。因此,F(xiàn)FT處理器包括只有在末級(jí)中選擇基數(shù)-4/基數(shù)-2選擇性蝶式器17和在其它級(jí)中選擇基數(shù)-4蝶式計(jì)算器10的多路復(fù)用器(MUX)18?;鶖?shù)-4算法是利用具有4個(gè)輸出端和4個(gè)輸出端的蝶式器實(shí)現(xiàn)的。因此,在一個(gè)周期內(nèi)必須進(jìn)行4次輸入和4次輸出,以便使計(jì)算周期數(shù)最少。為了在一個(gè)周期內(nèi)進(jìn)行4次輸入和4次輸出,必須將存儲(chǔ)器劃分成多個(gè)存儲(chǔ)體。但是,圖1的FFT處理器沒(méi)有多存儲(chǔ)體結(jié)構(gòu)。因此,圖1的FFT處理器需要多個(gè)計(jì)算周期,未能利用基數(shù)-4計(jì)算。
圖2是例示Drey Enterprise公司引入的、擁有混合基數(shù)算法和多存儲(chǔ)體結(jié)構(gòu)的FFT處理器的方塊圖。如圖2所示,Drey Enterprise公司引入的FFT處理器也擁有存儲(chǔ)器結(jié)構(gòu)。在圖2的FFT處理器中,在兩個(gè)輸入存儲(chǔ)器(RAM)21和22之一存儲(chǔ)來(lái)自外部的輸入數(shù)據(jù)的同時(shí),另一個(gè)輸入RAM用于FFT計(jì)算。MUX 23確定將從輸入RAM 21和22之一接收蝶式輸入,還是從輸出RAM 28和29之一接收蝶式輸入。基數(shù)-2計(jì)算器26和27的每一個(gè)在基數(shù)-2計(jì)算級(jí)中進(jìn)行基數(shù)-2計(jì)算,生成基數(shù)-2計(jì)算結(jié)果。MUX 24多路復(fù)用從基數(shù)-2計(jì)算器26和27接收的計(jì)算結(jié)果值,以便將基數(shù)-2計(jì)算結(jié)果值寫(xiě)入輸入RAM 21和22的某一個(gè)或輸出RAM 28和29的某一個(gè)中。基數(shù)-2/基數(shù)-4公用計(jì)算器25在基數(shù)-4計(jì)算級(jí)中進(jìn)行基數(shù)-4計(jì)算,并且在基數(shù)-2計(jì)算級(jí)中進(jìn)行基數(shù)-2計(jì)算。在兩個(gè)輸出RAM 28和29之一用于FFT計(jì)算的同時(shí),另一個(gè)RAM將FFT計(jì)算結(jié)果輸出到外部。圖2的結(jié)構(gòu)使用了基數(shù)-4算法和基數(shù)-2的算法的混合算法,還使用了多存儲(chǔ)體存儲(chǔ)器結(jié)構(gòu)。多存儲(chǔ)體存儲(chǔ)器結(jié)構(gòu)的使用有助于使計(jì)算時(shí)鐘周期達(dá)到最少。
但是,圖2的結(jié)構(gòu)未能應(yīng)用將蝶式輸出寫(xiě)入蝶式輸入已被訪問(wèn)的存儲(chǔ)位置中的原地算法。因此,圖2的結(jié)構(gòu)將兩個(gè)N-字存儲(chǔ)器用于FFT計(jì)算。也就是說(shuō),僅僅對(duì)于FFT計(jì)算,只需要兩個(gè)4-存儲(chǔ)體存儲(chǔ)器。但是,為了進(jìn)行連續(xù)處理,必須將多于兩個(gè)的4-存儲(chǔ)體存儲(chǔ)器用于輸入和輸出。因此,在圖2中,總共使用了4個(gè)存儲(chǔ)器。存儲(chǔ)器是占據(jù)FFT處理器最多區(qū)域的模塊之一。因此,存儲(chǔ)器數(shù)目的增加引起FFT處理器的存儲(chǔ)器復(fù)雜度、硬件尺寸和成本增加。
圖3例示了L.G.Johnson引入使存儲(chǔ)器結(jié)構(gòu)的存儲(chǔ)器復(fù)雜度達(dá)到最小的原地算法的16-點(diǎn)FFT。原地算法用在將存儲(chǔ)器劃分成多個(gè)存儲(chǔ)體的時(shí)候。對(duì)于基數(shù)-4蝶式計(jì)算,必須同時(shí)訪問(wèn)4個(gè)碼元,并且必須同時(shí)將4個(gè)蝶式計(jì)算結(jié)果寫(xiě)入訪問(wèn)位置中。為了這個(gè)目的,必須將主存儲(chǔ)器劃分成4個(gè)存儲(chǔ)體,即,存儲(chǔ)體#0、存儲(chǔ)體#1、存儲(chǔ)體#2和存儲(chǔ)體#3,并且必須進(jìn)行適當(dāng)尋址,以便不同時(shí)從一個(gè)存儲(chǔ)體訪問(wèn)幾個(gè)數(shù)據(jù)碼元。圖3例示了16-點(diǎn)FFT的原地存儲(chǔ)器尋址,其中配備了進(jìn)行第1到第8蝶式計(jì)算的結(jié)構(gòu)。在每次蝶式計(jì)算中,一次挑選4個(gè)輸入。這里,4個(gè)輸入是從不同存儲(chǔ)體讀取的。在第1蝶式計(jì)算中,從存儲(chǔ)體#0的地址0、存儲(chǔ)體#1的地址1、存儲(chǔ)體#2的地址2和存儲(chǔ)體#3的地址3中讀取4個(gè)輸入,并且將蝶式計(jì)算結(jié)果寫(xiě)入同一存儲(chǔ)體的同一地址中。在第2蝶式計(jì)算中,從存儲(chǔ)體#1的地址0、存儲(chǔ)體#2的地址1、存儲(chǔ)體#3的地址2和存儲(chǔ)體#0的地址3中讀取4個(gè)輸入,并且將蝶式計(jì)算結(jié)果寫(xiě)入同一位置中。在圖3中,通過(guò)對(duì)將輸入數(shù)據(jù)計(jì)數(shù)位劃分成2-位數(shù)字確定的值進(jìn)行模-4相加,可以簡(jiǎn)單地計(jì)算出指示正在使用的存儲(chǔ)體的存儲(chǔ)體索引i。由于圖3的FFT是16-點(diǎn)FFT,使用4-位計(jì)數(shù)器,以便計(jì)數(shù)16個(gè)數(shù)據(jù)位。將4個(gè)位劃分成2個(gè)高位和2個(gè)低位,在對(duì)2個(gè)高位和2個(gè)低位進(jìn)行模-4相加的方法中計(jì)算存儲(chǔ)體索引i。
但是,上述原地算法是為固定基數(shù)系統(tǒng),而不是為混合基數(shù)系統(tǒng)提出的。因此,如果不作修改,原地算法(in-place algorithm)不能應(yīng)用于混合基數(shù)系統(tǒng)。
接著,對(duì)傳統(tǒng)連續(xù)處理結(jié)構(gòu)加以描述。R.Radhouane提出了通過(guò)在存儲(chǔ)器結(jié)構(gòu)中同時(shí)進(jìn)行輸入和輸出,只利用兩個(gè)N-字存儲(chǔ)器就能夠進(jìn)行連續(xù)處理的基于存儲(chǔ)器FFT處理器。這種結(jié)構(gòu)在根據(jù)當(dāng)基數(shù)-2算法進(jìn)行DIF(頻度抽選)計(jì)算和DIT(時(shí)間抽選)計(jì)算時(shí),其輸出和輸入具有位反向特性的事實(shí),交替進(jìn)行DIF計(jì)算和DIT計(jì)算的方法中實(shí)現(xiàn)了連續(xù)處理。下表2是利用兩個(gè)存儲(chǔ)器的連續(xù)處理結(jié)構(gòu)的計(jì)算方法。
表2
在表2中,“OFDM碼元”指的是與FFT計(jì)算的長(zhǎng)度相對(duì)應(yīng)的數(shù)據(jù)。例如,在256-點(diǎn)FFT計(jì)算中,一個(gè)OFDM碼元指的是256個(gè)數(shù)據(jù)位。在表2中,“C”指的是FFT計(jì)算,并且“I/O”指的是進(jìn)行輸入/輸出。而且,“NAT”指的是通過(guò)按地址0,1,2,3,...,N-1的正序進(jìn)行存儲(chǔ)器尋址,進(jìn)行輸入/輸出,并且“BR”指的是通過(guò)位反向?qū)ぶ愤M(jìn)行存儲(chǔ)器輸入/輸出。另外,在表2的第0個(gè)OFDM碼元中,存儲(chǔ)器#1通過(guò)DIF進(jìn)行計(jì)算,而存儲(chǔ)器#2通過(guò)進(jìn)行NAT,即,正序的存儲(chǔ)器尋址進(jìn)行輸入/輸出。接著,在第1個(gè)OFDM碼元中,存儲(chǔ)器#1通過(guò)BR,即,位反向?qū)ぶ愤M(jìn)行輸入/輸出,而存儲(chǔ)器#2通過(guò)DIF進(jìn)行計(jì)算。在第2個(gè)OFDM碼元中,存儲(chǔ)器#1通過(guò)DIT進(jìn)行計(jì)算,而存儲(chǔ)器#2通過(guò)BR,即,位反向?qū)ぶ愤M(jìn)行輸入/輸出。接著,在第3個(gè)OFDM碼元中,存儲(chǔ)器#1通過(guò)NAT,即,正序的存儲(chǔ)器尋址進(jìn)行輸入/輸出,而存儲(chǔ)器#2通過(guò)DIT進(jìn)行計(jì)算。從接著的第4個(gè)OFDM碼元開(kāi)始,重復(fù)對(duì)第0到第3個(gè)OFDM碼元的一系列計(jì)算。為了利用兩個(gè)存儲(chǔ)器進(jìn)行連續(xù)處理,在一個(gè)存儲(chǔ)器進(jìn)行計(jì)算的同時(shí),另一個(gè)必須能夠同時(shí)進(jìn)行有序的輸入和輸出。在這種結(jié)構(gòu)中,只利用兩個(gè)存儲(chǔ)器就可以進(jìn)行連續(xù)處理,從而兩個(gè)存儲(chǔ)器交替進(jìn)行輸入/輸出和FFT計(jì)算。
雖然Alcatel公司引入的傳統(tǒng)結(jié)構(gòu)通過(guò)利用三個(gè)存儲(chǔ)器實(shí)現(xiàn)了連續(xù)處理,但上述傳統(tǒng)連續(xù)處理結(jié)構(gòu)通過(guò)只利用兩個(gè)存儲(chǔ)器,可以使存儲(chǔ)器復(fù)雜度降到最低。
但是,上述傳統(tǒng)連續(xù)處理結(jié)構(gòu)只是為使用基數(shù)-2算法的情況設(shè)計(jì)的。不利的是,由于連續(xù)處理結(jié)構(gòu)只進(jìn)行基數(shù)-2計(jì)算,它需要許多計(jì)算周期和高工作頻率。
發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)目的是提供一種能夠使其尺寸最小和通過(guò)提供高速計(jì)算滿足高性能要求的FFT處理器和復(fù)雜度最小的電路。
本發(fā)明的另一個(gè)目的是提供一種在提供基數(shù)-2算法和基數(shù)-4算法的混合基數(shù)算法的同時(shí),能夠降低其尺寸和復(fù)雜度的FFT處理器。
本發(fā)明的又一個(gè)目的是提供一種在提供基數(shù)-2算法和基數(shù)-4算法的混合基數(shù)算法的同時(shí),能夠進(jìn)行快速處理的FFT處理器。
本發(fā)明的再一個(gè)目的是提供一種在提供基數(shù)-2算法和基數(shù)-4算法的混合基數(shù)算法的同時(shí),能夠進(jìn)行連續(xù)處理的FFT處理器。
為了實(shí)現(xiàn)上面和其它目的,本發(fā)明提供了利用混合基數(shù)快速付里葉變換(FFT)的調(diào)制設(shè)備,它包括輸入/輸出接口,用于從用于輸入/輸出和FFT計(jì)算的存儲(chǔ)器當(dāng)中選擇用于輸入/輸出的存儲(chǔ)器,選擇所選存儲(chǔ)器的4個(gè)存儲(chǔ)體之一,并且對(duì)所選存儲(chǔ)體進(jìn)行輸入和輸出;兩個(gè)N-字存儲(chǔ)器,每一個(gè)都含有用于針對(duì)輸入/輸出接口的輸入/輸出和FFT計(jì)算的4個(gè)存儲(chǔ)體;第一數(shù)據(jù)交換器,用于從用于針對(duì)輸入/輸出接口的輸入/輸出和FFT計(jì)算的存儲(chǔ)器當(dāng)中選擇用于FFT計(jì)算的存儲(chǔ)器,并且將指定給每個(gè)蝶式輸入/輸出的存儲(chǔ)體與用于原地計(jì)算的蝶式計(jì)算電路的4個(gè)輸入端相連接;蝶式器,用于利用一個(gè)電路,根據(jù)第一數(shù)據(jù)交換器提供的輸出,進(jìn)行基數(shù)-4蝶化(butterfly)和基數(shù)-2蝶化,并形成對(duì)稱(chēng)反向輸出;第二數(shù)據(jù)交換器,用于從用于針對(duì)輸入/輸出接口的輸入/輸出和FFT計(jì)算的存儲(chǔ)器當(dāng)中選擇用于FFT計(jì)算的存儲(chǔ)器,并且將指定給每個(gè)蝶式輸入/輸出的存儲(chǔ)體與用于原地計(jì)算的蝶式計(jì)算電路的4個(gè)輸出端相連接;以及地址發(fā)生器,用于生成在多存儲(chǔ)體存儲(chǔ)器結(jié)構(gòu)中進(jìn)行原地計(jì)算的存儲(chǔ)體索引和地址。
另外,本發(fā)明提供了另一種利用混合基數(shù)快速付里葉變換(FFT)的調(diào)制設(shè)備,它包括每一個(gè)都含有4個(gè)存儲(chǔ)體的兩個(gè)存儲(chǔ)器,用于寫(xiě)入輸入碼元或FFT計(jì)算碼元;蝶式器,用于按照從存儲(chǔ)器輸出的碼元的個(gè)數(shù),以基數(shù)-2模式或基數(shù)-4模式進(jìn)行蝶式計(jì)算,并且對(duì)稱(chēng)反向地輸出計(jì)算值;第一數(shù)據(jù)交換器,用于從存儲(chǔ)器之一的每個(gè)存儲(chǔ)體中讀取一個(gè)碼元,并且將讀取的碼元輸出到蝶式器;第二數(shù)據(jù)交換器,用于匹配從蝶式器輸出的計(jì)算碼元,以便將碼元寫(xiě)入與從第一數(shù)據(jù)交換器中讀取碼元的地址相同的地址中;以及地址發(fā)生器,用于控制第二數(shù)據(jù)交換器的輸出,以便當(dāng)在計(jì)算之后,通過(guò)第二數(shù)據(jù)交換器輸出從第一數(shù)據(jù)交換器中讀取的碼元時(shí),使從第一數(shù)據(jù)交換器中讀取碼元的存儲(chǔ)體和地址與第二數(shù)據(jù)交換器的輸出存儲(chǔ)體和輸出地址。
通過(guò)結(jié)合附圖,進(jìn)行如下詳細(xì)描述,本發(fā)明的上面和其它目的、特征和優(yōu)點(diǎn)將更加清楚,在附圖中圖1是例示沒(méi)有使用多存儲(chǔ)體結(jié)構(gòu)的傳統(tǒng)混合基數(shù)FFT處理器的結(jié)構(gòu)的方塊圖;圖2是例示沒(méi)有使用原地算法的傳統(tǒng)混合基數(shù)FFT處理器的結(jié)構(gòu)的方塊圖;圖3是例示用于傳統(tǒng)多存儲(chǔ)體存儲(chǔ)器的基數(shù)-4原地算法的圖形;圖4是例示按照本發(fā)明實(shí)施例的具有連續(xù)處理結(jié)構(gòu)的基于原地算法混合基數(shù)FFT處理器的結(jié)構(gòu)的方塊圖;圖5是例示按照本發(fā)明實(shí)施例的32-點(diǎn)混合基數(shù)FFT處理器的計(jì)算的信號(hào)流圖;圖6A是例示用在圖4的FFT處理器中的基數(shù)-4/基數(shù)-2蝶式電路的方塊圖;圖6B是例示圖6A的基數(shù)-2蝶式器的等效蝶式器對(duì)的圖形;圖7是例示對(duì)于只有基數(shù)-4算法用在圖4中的情況,實(shí)現(xiàn)連續(xù)處理的FFT計(jì)算的圖形;
圖8A是例示對(duì)于只有基數(shù)-4算法用于4n-點(diǎn)FFT計(jì)算的情況,數(shù)字反向輸出序列的圖形;圖8B是例示對(duì)于混合基數(shù)算法與基數(shù)-2算法一起用于2n-點(diǎn)FFT計(jì)算(其中,n=3,5,7,9,...)的情況,不對(duì)稱(chēng)反向輸出序列的圖形;圖9是例示示出32-點(diǎn)混合基數(shù)FFT計(jì)算的圖5的列#4的不對(duì)稱(chēng)反向輸出序列的圖形;圖10是例示示出32-點(diǎn)混合基數(shù)FFT計(jì)算的圖5的列#3的對(duì)稱(chēng)反向輸出序列的圖形;圖11是例示用于2n-點(diǎn)FFT計(jì)算(其中,n=3,5,7,9,...)的混合基數(shù)算法的對(duì)稱(chēng)反向輸出序列的圖形;圖12是例示生成圖5的列#3的對(duì)稱(chēng)反向輸出序列的數(shù)據(jù)交換器的圖形;圖13是例示圖5的32-點(diǎn)混合基數(shù)FFT計(jì)算的存儲(chǔ)體索引生成方法的圖形;和圖14是例示2n-點(diǎn)FFT計(jì)算(其中,n=3,5,7,9,...)的混合基數(shù)存儲(chǔ)體索引生成方法的圖形。
具體實(shí)施例方式
現(xiàn)在參照附圖描述本發(fā)明的幾個(gè)優(yōu)選實(shí)施例。在如下的描述中,為了簡(jiǎn)潔起見(jiàn),省略包含在本文中的那些眾所周知功能和配置的詳細(xì)描述。
圖4是例示與按照本發(fā)明實(shí)施例的混合基數(shù)結(jié)構(gòu)一起,通過(guò)應(yīng)用原地算法和同時(shí)進(jìn)行輸入和輸出,利用2N-字存儲(chǔ)器進(jìn)行連續(xù)處理的FFT處理器。
參照?qǐng)D4,為了對(duì)輸入數(shù)據(jù)進(jìn)行FFT計(jì)算,輸入/輸出接口101選擇存儲(chǔ)器102和103之一,選擇所選存儲(chǔ)器的4個(gè)存儲(chǔ)體之一,并且將輸入數(shù)據(jù)寫(xiě)入所選存儲(chǔ)體中。當(dāng)對(duì)輸入數(shù)據(jù)的FFT計(jì)算完成時(shí),輸入/輸出接口101選擇寫(xiě)入FFT計(jì)算數(shù)據(jù)的存儲(chǔ)器,選擇所選存儲(chǔ)器的4個(gè)存儲(chǔ)體之一,并且從所選存儲(chǔ)體中讀取數(shù)據(jù)。每一個(gè)都含有4個(gè)存儲(chǔ)體的兩個(gè)N-字存儲(chǔ)器102和103寫(xiě)入從輸入/輸出接口101接收的數(shù)據(jù),將寫(xiě)入的數(shù)據(jù)提供給第一數(shù)據(jù)交換器104,供FFT計(jì)算用,并且寫(xiě)入從第二數(shù)據(jù)交換器106接收的數(shù)據(jù)。將來(lái)自存儲(chǔ)器102和103的FFT計(jì)算數(shù)據(jù)提供給輸入/輸出接口101。第一數(shù)據(jù)交換器104按照從地址發(fā)生器107輸出的地址值交換讀取的數(shù)據(jù),并且將其輸出提供給基數(shù)-4/2蝶式器105?;鶖?shù)-4/2蝶式器105按照從第一數(shù)據(jù)交換器104接收的數(shù)據(jù),在基數(shù)-4模式或基數(shù)-2模式下工作。基數(shù)-4/2蝶式器105由一個(gè)電路組成,并且含有對(duì)稱(chēng)反向輸出端。將基數(shù)-4/2蝶式器105計(jì)算的數(shù)據(jù)提供給第二數(shù)據(jù)交換器106。第二數(shù)據(jù)交換器106選擇要將從數(shù)-4/2蝶式器105輸出的值寫(xiě)入其中的存儲(chǔ)器和存儲(chǔ)器的存儲(chǔ)體,并且將輸出值寫(xiě)入所選存儲(chǔ)器的存儲(chǔ)體中。地址發(fā)生器107生成在多存儲(chǔ)體存儲(chǔ)器結(jié)構(gòu)中,按照本發(fā)明進(jìn)行原地計(jì)算的存儲(chǔ)體索引和地址。
具有圖4所示的結(jié)構(gòu)的FFT處理器具有如圖5所示的信號(hào)流圖。圖5例示了32-點(diǎn)混合基數(shù)FFT計(jì)算的例子,其中,級(jí)#1和級(jí)#2經(jīng)受基數(shù)-4計(jì)算,并且末級(jí)#3經(jīng)受基數(shù)-2計(jì)算。正如結(jié)合圖4所述的那樣,在本發(fā)明提出的結(jié)構(gòu)中,2個(gè)存儲(chǔ)器各自被劃分成4個(gè)存儲(chǔ)體,這樣,可以同時(shí)訪問(wèn)4個(gè)數(shù)據(jù)碼元。因此,利用2個(gè)數(shù)據(jù)碼元的基數(shù)-2蝶式器可以同時(shí)進(jìn)行2個(gè)蝶式計(jì)算。另外,在級(jí)#3中,顯示在用細(xì)實(shí)線畫(huà)出的方框中的2個(gè)基數(shù)-2蝶式器代表可以同時(shí)進(jìn)行蝶式計(jì)算的蝶式器對(duì),從而有助于計(jì)算周期的減少。
在FFT處理器中,基數(shù)-2蝶式結(jié)構(gòu)不是利用分立蝶式器實(shí)現(xiàn)的,而是將數(shù)據(jù)開(kāi)關(guān)電路加入基數(shù)-4蝶式器中實(shí)現(xiàn)的。這種情況例示在圖6A中。在圖6A中,通過(guò)多路復(fù)用器選擇信號(hào)‘Radix-2’實(shí)現(xiàn)一個(gè)基數(shù)-4蝶式器和兩個(gè)基數(shù)-2蝶式器。參照?qǐng)D6A,將輸入數(shù)據(jù)碼元x(0)和x(2)供應(yīng)給構(gòu)成一個(gè)基數(shù)-2蝶式器的加法器,并且將輸入數(shù)據(jù)碼元x(1)和x(3)供應(yīng)給構(gòu)成另一個(gè)基數(shù)-2蝶式器的加法器。構(gòu)成基數(shù)-2蝶式器的加法器每一個(gè)都將它們的輸出分支(或劃分)成兩個(gè)輸出,并且將一個(gè)輸出提供給每個(gè)多路復(fù)用器的輸入端。將另一個(gè)分支輸出加入來(lái)自構(gòu)成基數(shù)-2蝶式器的其它加法器的輸出中或從來(lái)自構(gòu)成基數(shù)-2蝶式器的其它加法器的輸出中減去另一個(gè)分支輸出,并且將結(jié)果提供給多路復(fù)用器的另一個(gè)輸入端。此后,如圖所示,按原樣輸出每個(gè)多路復(fù)用器的輸出,或通過(guò)其它多路復(fù)用器再次分支或選擇它。按照本發(fā)明將這樣的輸出值映射到原地地址。下面將更詳細(xì)地對(duì)此加以描述。圖6A的等效電路圖例示在圖6B中。圖6B例示了與與基數(shù)-4蝶式電路一起實(shí)現(xiàn)的基數(shù)-2蝶式器等效的基數(shù)-2蝶式器對(duì)。
現(xiàn)在對(duì)按照本發(fā)明在存儲(chǔ)器結(jié)構(gòu)中進(jìn)行連續(xù)處理的結(jié)構(gòu)加以描述。正如上面在現(xiàn)有技術(shù)的描述中所述的那樣,R.Radhouane提出的連續(xù)處理結(jié)構(gòu)是用于基數(shù)-2算法的結(jié)構(gòu)。但是,本發(fā)明提出的結(jié)構(gòu)是用于與基數(shù)-4算法混合的混合基數(shù)算法的結(jié)構(gòu)。另外,傳統(tǒng)結(jié)構(gòu)交替地進(jìn)行FFT計(jì)算和DIT計(jì)算。但是,本發(fā)明提出的結(jié)構(gòu)只進(jìn)行DIF計(jì)算和通過(guò)簡(jiǎn)單控制存儲(chǔ)器尋址進(jìn)行連續(xù)處理。
為了進(jìn)行如本發(fā)明所提出那樣的連續(xù)處理,必須將要重新解碼的碼元寫(xiě)入要解碼的碼元的位置中。通過(guò)讀取要解碼的碼元和將要重新解碼的碼元寫(xiě)入讀取位置中的操作,同時(shí)進(jìn)行讀取和寫(xiě)入操作。為了滿足基數(shù)-4蝶式器,4-存儲(chǔ)體存儲(chǔ)器的每個(gè)存儲(chǔ)體必須只生成一個(gè)輸出。當(dāng)通過(guò)每個(gè)級(jí)的計(jì)算完成時(shí),必須將碼元寫(xiě)入讀取位置中。因此,務(wù)必以這種方式生成地址。只有當(dāng)使用基數(shù)-4算法時(shí),上面的方法才可以簡(jiǎn)單實(shí)現(xiàn)。因此,圖7例示了只使用基數(shù)-4算法的16-點(diǎn)FFT的例子。
在圖7中,列#1和列#2代表寫(xiě)入數(shù)據(jù)碼元的存儲(chǔ)器存儲(chǔ)體和地址,和列#3代表數(shù)字反向輸出序列。在圖7中,將首先從外部接收的輸入數(shù)據(jù)碼元寫(xiě)入列#2的存儲(chǔ)體和地址中。輸入數(shù)據(jù)碼元在第1級(jí)中經(jīng)受4次蝶式計(jì)算,和在第2級(jí)中經(jīng)受4次蝶式計(jì)算。也就是說(shuō),在圖7中,(1)到(4)代表在第1級(jí)中進(jìn)行4次蝶式計(jì)算,和(5)到(8)代表在第2級(jí)中進(jìn)行4次蝶式計(jì)算。應(yīng)該注意到,在每一級(jí)的每次蝶式計(jì)算中,從構(gòu)成一個(gè)存儲(chǔ)器的4個(gè)存儲(chǔ)體的每一個(gè)中讀取一個(gè)數(shù)據(jù)碼元。在第1次蝶式計(jì)算中,讀取存儲(chǔ)體#0的地址0中的數(shù)據(jù)、存儲(chǔ)體#1的地址1中的數(shù)據(jù)、存儲(chǔ)體#2的地址2中的數(shù)據(jù)和存儲(chǔ)體#3的地址3中的數(shù)據(jù)。因此,從每個(gè)存儲(chǔ)體中讀取一個(gè)數(shù)據(jù)碼元。如果以這種方式完成了4次蝶式計(jì)算。在第2級(jí)中再次進(jìn)行4次蝶式計(jì)算。以這種方式計(jì)算的輸出具有如圖7的列#3中所示的輸出序列。
當(dāng)以上面的方式進(jìn)行FFT計(jì)算時(shí),以列#3的數(shù)字反向序列形成輸出,并且,對(duì)于存儲(chǔ)器寫(xiě)入位置,由于進(jìn)行的是原地計(jì)算,保持了列#2的存儲(chǔ)體和地址。通過(guò)數(shù)字反向?qū)ぶ钒错樞蜉敵鲇?jì)算結(jié)果,同時(shí),當(dāng)按順序接收下一個(gè)數(shù)據(jù)碼元時(shí),將新輸入數(shù)據(jù)碼元寫(xiě)入列#1的存儲(chǔ)體和地址中。由于列#3的第0輸出被寫(xiě)入列#2中存儲(chǔ)體#0的地址0中,將用于下一次FFT計(jì)算的新數(shù)據(jù)的第0碼元寫(xiě)入進(jìn)行第0輸出的存儲(chǔ)體和地址中。接著,將列#3的第1輸出寫(xiě)入列#2中存儲(chǔ)體#1的地址1中,并將新數(shù)據(jù)的第1碼元寫(xiě)入進(jìn)行第1輸出的位置中。將第2輸出寫(xiě)入列#2中存儲(chǔ)體#2的地址2中,并將新數(shù)據(jù)的第2碼元寫(xiě)入進(jìn)行第2輸出的位置中。當(dāng)以這種方式寫(xiě)入新輸入時(shí),形成列#1的存儲(chǔ)體和地址。在對(duì)此進(jìn)行FFT計(jì)算之后,如果按順序輸出FFT計(jì)算結(jié)果和按順序?qū)懭胼斎耄敲?,通過(guò)列#2的存儲(chǔ)體和地址的指定得到恢復(fù)。因此,列#1的存儲(chǔ)體和地址指定和列#2的存儲(chǔ)體和地址指定接替進(jìn)行下去。
如果像上述那樣可以按順序同時(shí)進(jìn)行輸入和輸出,那么,只利用兩個(gè)存儲(chǔ)器就可以進(jìn)行連續(xù)處理,從而在一個(gè)存儲(chǔ)器進(jìn)行計(jì)算的同時(shí),另一個(gè)存儲(chǔ)器進(jìn)行輸入和輸出。此刻,必須以?xún)杀队谳斎?輸出工作頻率的工作頻率進(jìn)行FFT計(jì)算。這是因?yàn)椋瑥谋?可以看出,F(xiàn)FT計(jì)算時(shí)鐘周期大于FFT點(diǎn)數(shù)。也就是說(shuō),對(duì)于基數(shù)-4算法,計(jì)算時(shí)鐘周期從1024-點(diǎn)FFT開(kāi)始變得更長(zhǎng)了,和對(duì)于基數(shù)-4/基數(shù)-2算法的混合基數(shù)算法,計(jì)算時(shí)鐘周期從512-點(diǎn)FFT開(kāi)始變得更長(zhǎng)了。
混合基數(shù)算法需要分開(kāi)管理連續(xù)處理的順序輸入/輸出。在32-點(diǎn)混合基數(shù)算法中,像圖5的列#4中所示那樣提供輸出。與圖7中的列#3中基數(shù)-4算法的反向序列不同,這具有不對(duì)稱(chēng)反向形式。首先,針對(duì)只使用基數(shù)-4算法的情況,對(duì)數(shù)字反向序列加以描述?;鶖?shù)-4算法的2n-點(diǎn)FFT的數(shù)字反向序列例示在圖8A中。由于需要n個(gè)位來(lái)計(jì)數(shù)2n個(gè)數(shù)據(jù)碼元,使用n-位計(jì)數(shù)器。在圖8A中,在第(n-1,n-2)位對(duì),第(n-3,n-4)位對(duì),...,第(3,2)位對(duì),和第(1,0)位對(duì)每一個(gè)都是一個(gè)數(shù)字的假設(shè)下,進(jìn)行反向排序。這里,以這種方式進(jìn)行的反向排序被稱(chēng)為“數(shù)字反向”。從圖8A中可以了解到,以數(shù)字的中心為基準(zhǔn)對(duì)稱(chēng)地進(jìn)行反向排序。
圖8B例示了2n-點(diǎn)FFT的混合基數(shù)算法的反向序列。由于混合基數(shù)算法具有與諸如23,25,27和29之類(lèi)2的奇數(shù)次冪的數(shù)字一樣多的點(diǎn)數(shù),并輸出計(jì)數(shù)位是諸如3,5,7和9之類(lèi)的奇數(shù),混合基數(shù)算法不能像基數(shù)-4算法那樣,只利用2-位數(shù)字進(jìn)行反向排序。必須分開(kāi)地使最低有效位反向,由于這個(gè)原因,提供了不對(duì)稱(chēng)反向形式。作為圖8B的例子,與32(=25)-點(diǎn)FFT相對(duì)應(yīng)的圖5的列#4具有如圖9所示的不對(duì)稱(chēng)反向形式。當(dāng)提供不對(duì)稱(chēng)反向輸出時(shí),不能像由基數(shù)-4算法組成的圖7的結(jié)構(gòu)那樣,形成列#1和列#2的存儲(chǔ)體和地址重復(fù)的結(jié)構(gòu)。即使在混合基數(shù)算法中,為了像只利用基數(shù)-4算法的圖7的結(jié)構(gòu)那樣,為連續(xù)處理提供重復(fù)列#1和列#2的結(jié)構(gòu),輸出必須具有對(duì)稱(chēng)反向形式。為此,在混合基數(shù)算法中,進(jìn)行數(shù)據(jù)交換,以便將如圖5的列#4所示的不對(duì)稱(chēng)輸出序列轉(zhuǎn)換成如列#3所示的對(duì)稱(chēng)輸出序列,結(jié)果,在圖5的列#3中示出了32(=25)-點(diǎn)對(duì)稱(chēng)反向輸出序列,和可以像圖0所示那樣生成它?,F(xiàn)在描述一般化2n-點(diǎn)混合基數(shù)FFT,輸出的對(duì)稱(chēng)反向序列例示在圖11中。這里,高兩位(n-1,n-2)和低兩位(1,0)經(jīng)受數(shù)字反向(reverse),并且中間位(n-3,n-4,...,3,2)經(jīng)受位反向。總之,通過(guò)數(shù)據(jù)交換過(guò)程將圖8B的原不對(duì)稱(chēng)反向形式轉(zhuǎn)換成圖11的對(duì)稱(chēng)反向形式。
圖12例示了實(shí)現(xiàn)如圖10所示的32-點(diǎn)對(duì)稱(chēng)反向序列和圖5的列#3的數(shù)據(jù)交換過(guò)程。圖12對(duì)應(yīng)于圖5中用粗實(shí)線畫(huà)出的方框中的8-點(diǎn)DFT部分。如圖12所示,在級(jí)#2中,交換基數(shù)-4蝶式器的2個(gè)第2輸出g′2(n)和2個(gè)第3輸出g′3(n)的寫(xiě)入位置,并且,在級(jí)#3中,交換基數(shù)-2蝶式器對(duì)的輸出X′2(n)和X′3(n)的寫(xiě)入位置。當(dāng)以這種方式形成時(shí),如圖12的列#1所示,提供對(duì)稱(chēng)反向序列。在圖12中,列#2示出了對(duì)于不交換寫(xiě)入位置的情況的不對(duì)稱(chēng)反向序列。這樣的數(shù)據(jù)交換可以通過(guò)控制圖6A的蝶式電路中的‘Exchange’信號(hào)來(lái)完成。在所有2n-點(diǎn)FFT(其中,n=1,3,5,7,9,...)中,以及在作為例子給出的32-點(diǎn)FFT中,通過(guò)在除了第1級(jí)之外的其它級(jí)中交換基數(shù)-4蝶式器的第2和第3輸出寫(xiě)入位置,并且在末級(jí)中交換兩個(gè)基數(shù)-2蝶式器的第2和第3輸出寫(xiě)入位置,可以形成對(duì)稱(chēng)反向輸出。
最后,對(duì)在混合基數(shù)算法中生成存儲(chǔ)體索引的方法加以描述。按照本發(fā)明的存儲(chǔ)體索引生成方法生成如圖5的列#1和列#2所示的存儲(chǔ)體索引。如果FFT長(zhǎng)度是2n,利用n-位計(jì)數(shù)器生成存儲(chǔ)體索引和每個(gè)存儲(chǔ)體的地址。在現(xiàn)有技術(shù)部分中所述的基數(shù)-4算法存在22、24、26或28個(gè)點(diǎn)。因此,可以通過(guò)對(duì)2-位數(shù)字進(jìn)行模-4相加生成存儲(chǔ)體索引i。但是,混合基數(shù)算法存在23、25、27或29個(gè)點(diǎn),這樣,輸入計(jì)數(shù)位的個(gè)數(shù)變成諸如3、5、7和9之類(lèi)的奇數(shù)。因此,不可以簡(jiǎn)單地通過(guò)對(duì)2-位數(shù)字進(jìn)行模-4相加生成存儲(chǔ)體索引i。在本發(fā)明的混合基數(shù)算法中,當(dāng)輸入計(jì)數(shù)位的數(shù)字是奇數(shù)時(shí),通過(guò)如下過(guò)程進(jìn)行生成存儲(chǔ)體索引的方法。首先,交換兩個(gè)最高有效位的位置。其次,從低位開(kāi)始將位置交換計(jì)數(shù)值劃分成2-位數(shù)字,和劃分的2個(gè)位進(jìn)行模-4相加。然后,保留一個(gè)最高有效位,并讓通過(guò)對(duì)其余最高有效位進(jìn)行模-4相加計(jì)算的值再次經(jīng)受模-4計(jì)算。
圖13例示了形成32(=25)-點(diǎn)FFT的2-位數(shù)字和1個(gè)位方法。如果以上述方式交換和計(jì)算輸入計(jì)數(shù)位的位置,當(dāng)進(jìn)行模-4計(jì)算時(shí),最后剩下的一個(gè)位對(duì)應(yīng)于輸入數(shù)據(jù)計(jì)數(shù)位當(dāng)中的第3位,而從低位開(kāi)始通過(guò)2-位數(shù)字經(jīng)受模-2相加計(jì)算的位的匹配對(duì)應(yīng)于(4,2)和(1,0)。當(dāng)這樣生成存儲(chǔ)體索引時(shí),在FFT計(jì)算期間可以從其它存儲(chǔ)器中讀取數(shù)據(jù),并且,當(dāng)在圖5中作出從列#2到列#1的改變時(shí),可以保持存儲(chǔ)體索引序列不變。
圖14例示了通過(guò)推廣用于32-點(diǎn)混合基數(shù)FFT的存儲(chǔ)體索引生成方法獲得的生成用于2n-點(diǎn)混合基數(shù)FFT的存儲(chǔ)體索引的方法。在圖14中,輸入數(shù)據(jù)計(jì)數(shù)位當(dāng)中一個(gè)單獨(dú)位的位置是第(n-2)位,在對(duì)2-位數(shù)字進(jìn)行模-4相加的過(guò)程中包括單獨(dú)位。
如上所述,本發(fā)明可以利用基于基數(shù)-4算法的混合基數(shù)算法進(jìn)行高速計(jì)算。另外,本發(fā)明通過(guò)將原地計(jì)算應(yīng)用于混合基數(shù)算法,和利用每一個(gè)包括4個(gè)存儲(chǔ)體的2個(gè)N-字存儲(chǔ)器,通過(guò)同時(shí)輸入和輸出進(jìn)行連續(xù)處理,使存儲(chǔ)器占據(jù)的空間達(dá)到最小。
下表3所示的是建議FFT處理器的計(jì)算周期和傳統(tǒng)FFT處理器的計(jì)算周期之間的比較。從表3中可以了解到,與利用基數(shù)-2算法的傳統(tǒng)存儲(chǔ)器結(jié)構(gòu)相比,建議存儲(chǔ)器結(jié)構(gòu)使其計(jì)算周期縮短到1/4。
表3 另外,當(dāng)將本發(fā)明與不利用多存儲(chǔ)體結(jié)構(gòu)的傳統(tǒng)基于基數(shù)-4算法混合基數(shù)FFT處理器相比時(shí),傳統(tǒng)FFT處理器消耗大約是建議FFT處理器4倍長(zhǎng)的計(jì)算周期。不采用原地算法和同時(shí)輸入/輸出結(jié)構(gòu)的傳統(tǒng)混合基數(shù)FFT處理器需要每一個(gè)由4個(gè)存儲(chǔ)體組成的4個(gè)N-字存儲(chǔ)器,具有相當(dāng)于需要2個(gè)N-字存儲(chǔ)器的建議FFT處理器的存儲(chǔ)器尺寸2倍的存儲(chǔ)器尺寸。因此,本發(fā)明滿足了高速計(jì)算要求和低硬件復(fù)雜度要求,因此,可以簡(jiǎn)單應(yīng)用于OFDM或DMT系統(tǒng)。
雖然通過(guò)參照本發(fā)明的某些優(yōu)選實(shí)施例,已經(jīng)對(duì)本發(fā)明進(jìn)行了圖示和描述,但本領(lǐng)域的普通技術(shù)人員應(yīng)該明白,可以在形式上和細(xì)節(jié)上對(duì)其作各種各樣的改變,而不偏離所附權(quán)利要求書(shū)所限定的本發(fā)明的精神和范圍。
權(quán)利要求
1.一種利用混合基數(shù)快速付里葉變換(FFT)的調(diào)制設(shè)備,包括輸入/輸出接口,用于從用于輸入/輸出和FFT計(jì)算的存儲(chǔ)器當(dāng)中選擇用于輸入/輸出的存儲(chǔ)器,選擇所選存儲(chǔ)器的4個(gè)存儲(chǔ)體之一,并且對(duì)所選存儲(chǔ)體進(jìn)行輸入和輸出;兩個(gè)N-字存儲(chǔ)器,每一個(gè)都含有用于針對(duì)輸入/輸出接口的輸入/輸出和FFT計(jì)算的4個(gè)存儲(chǔ)體;第一數(shù)據(jù)交換器,用于從用于針對(duì)輸入/輸出接口的輸入/輸出和FFT計(jì)算的存儲(chǔ)器當(dāng)中選擇用于FFT計(jì)算的存儲(chǔ)器,并且將指定給每個(gè)蝶式輸入/輸出的存儲(chǔ)體與用于原地計(jì)算的蝶式計(jì)算電路的4個(gè)輸入端相連接;蝶式器,用于利用一個(gè)電路,根據(jù)第一數(shù)據(jù)交換器提供的輸出,進(jìn)行基數(shù)-4蝶化和基數(shù)-2蝶化,并且形成對(duì)稱(chēng)反向輸出;第二數(shù)據(jù)交換器,用于從用于針對(duì)輸入/輸出接口的輸入/輸出和FFT計(jì)算的存儲(chǔ)器當(dāng)中選擇用于FFT計(jì)算的存儲(chǔ)器,并將指定給每個(gè)蝶式輸入/輸出的存儲(chǔ)體與用于原地計(jì)算的蝶式計(jì)算電路的4個(gè)輸出端相連接;和地址發(fā)生器,用于生成在多存儲(chǔ)體存儲(chǔ)器結(jié)構(gòu)中進(jìn)行原地計(jì)算的存儲(chǔ)體索引和地址。
2.根據(jù)權(quán)利要求1所述的調(diào)制設(shè)備,其中,蝶式器是能夠通過(guò)交換基數(shù)-4蝶式器和兩個(gè)基數(shù)-2蝶式器的輸出形成對(duì)稱(chēng)反向輸出,同時(shí)進(jìn)行順序輸入和輸出的基數(shù)-4/2蝶式計(jì)算電路,從而能夠利用每一個(gè)包括4個(gè)存儲(chǔ)體的兩個(gè)N-字存儲(chǔ)器進(jìn)行連續(xù)處理。
3.根據(jù)權(quán)利要求1所述的調(diào)制設(shè)備,其中,通過(guò)修改基于基數(shù)-4算法多存儲(chǔ)體存儲(chǔ)器結(jié)構(gòu)的原地算法確定原地算法。
4.根據(jù)權(quán)利要求1所述的調(diào)制設(shè)備,其中,原地算法在生成存儲(chǔ)體索引的過(guò)程中的2n-點(diǎn)計(jì)算期間,在模-2相加中單獨(dú)包括第(n-2)位。
5.一種利用混合基數(shù)快速付里葉變換(FFT)的調(diào)制設(shè)備,包括每一個(gè)都含有4個(gè)存儲(chǔ)體的兩個(gè)存儲(chǔ)器,用于寫(xiě)入輸入碼元或FFT計(jì)算碼元;蝶式器,用于按照從存儲(chǔ)器輸出的碼元的個(gè)數(shù),以基數(shù)-2模式或基數(shù)-4模式進(jìn)行蝶式計(jì)算,并對(duì)稱(chēng)反向地輸出計(jì)算值;第一數(shù)據(jù)交換器,用于從存儲(chǔ)器之一的每個(gè)存儲(chǔ)體中讀取一個(gè)碼元,并將讀取的碼元輸出到蝶式器;第二數(shù)據(jù)交換器,用于匹配從蝶式器輸出的計(jì)算碼元,以便將碼元寫(xiě)入與從第一數(shù)據(jù)交換器中讀取碼元的地址相同的地址中;和地址發(fā)生器,用于控制第二數(shù)據(jù)交換器的輸出,以便當(dāng)在計(jì)算之后,通過(guò)第二數(shù)據(jù)交換器輸出從第一數(shù)據(jù)交換器中讀取的碼元時(shí),使從第一數(shù)據(jù)交換器中讀取碼元的存儲(chǔ)體和地址與第二數(shù)據(jù)交換器的輸出存儲(chǔ)體和輸出地址相同。
6.根據(jù)權(quán)利要求5所述的調(diào)制設(shè)備,進(jìn)一步包括在輸入/輸出數(shù)據(jù)和兩個(gè)存儲(chǔ)器之間進(jìn)行交接的輸入/輸出接口。
7.根據(jù)權(quán)利要求5所述的調(diào)制設(shè)備,其中,蝶式器具有基數(shù)-4蝶式結(jié)構(gòu)和被設(shè)計(jì)成當(dāng)需要基數(shù)-2計(jì)算時(shí),通過(guò)包括在蝶式器中的多路復(fù)用器進(jìn)行兩次基數(shù)-2計(jì)算。
8.根據(jù)權(quán)利要求5所述的調(diào)制設(shè)備,其中,對(duì)于蝶式器的對(duì)稱(chēng)反向,按兩個(gè)位將通過(guò)經(jīng)過(guò)蝶式計(jì)算的碼元的總數(shù)確定的二進(jìn)制輸出計(jì)數(shù)值轉(zhuǎn)換成地址。
9.根據(jù)權(quán)利要求8所述的調(diào)制設(shè)備,其中,當(dāng)二進(jìn)制輸出計(jì)數(shù)值的數(shù)字是奇數(shù)時(shí),通過(guò)以數(shù)字的中心位為基準(zhǔn)進(jìn)行對(duì)稱(chēng)轉(zhuǎn)換確定地址。
10.根據(jù)權(quán)利要求5所述的調(diào)制設(shè)備,其中,地址發(fā)生器利用通過(guò)對(duì)與計(jì)算的碼元相對(duì)應(yīng)的二進(jìn)制輸出計(jì)數(shù)值進(jìn)行模-4計(jì)算確定的值來(lái)確定存儲(chǔ)體。
11.根據(jù)權(quán)利要求10所述的調(diào)制設(shè)備,其中,當(dāng)二進(jìn)制輸出計(jì)數(shù)值的數(shù)字是奇數(shù)時(shí),地址發(fā)生器通過(guò)交換兩個(gè)最高有效位的位置,通過(guò)低兩個(gè)位進(jìn)行模-4計(jì)算,然后對(duì)位置交換最高有效位進(jìn)行模-4計(jì)算來(lái)確定存儲(chǔ)體。
全文摘要
本發(fā)明公開(kāi)了作為OFDM(正交頻分多路復(fù)用)或DMT(離散多頻聲)MODEM的核心模塊的FFT(快速付里葉變換)處理器。FFT處理器通過(guò)將原地算法(in-place algorithm)應(yīng)用于混合基數(shù)多存儲(chǔ)體存儲(chǔ)器,同時(shí)進(jìn)行順序輸入和輸出,從而只利用含有4個(gè)存儲(chǔ)體的2N-字存儲(chǔ)器就可以實(shí)現(xiàn)連續(xù)處理。FFT處理器在滿足高速計(jì)算要求的同時(shí),使其復(fù)雜度降到最低。
文檔編號(hào)H04J11/00GK1663208SQ03815012
公開(kāi)日2005年8月31日 申請(qǐng)日期2003年6月27日 優(yōu)先權(quán)日2002年6月27日
發(fā)明者鮮于明勛 申請(qǐng)人:三星電子株式會(huì)社, 亞洲大學(xué)校產(chǎn)學(xué)協(xié)力團(tuán)