專利名稱:一種fft變換的復(fù)用裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊技術(shù),具體地說,涉及一種FFT (Fast Fourier Transform,快速傅里葉變換)變換的復(fù)用裝置及方法。
背景技術(shù):
StiMi技術(shù)是面向移動多媒體廣播設(shè)計的無線信道傳輸技術(shù),中國自主研發(fā)的 CMMB(China Mobile Multimedia Broadcasting,中國移動多媒體廣播)體系架構(gòu)中的核心 部分。STiMi技術(shù)充分考慮到移動多媒體廣播業(yè)務(wù)的特點,針對手持設(shè)備接收靈敏度要求 高,移動性和電池供電的特點,采用最先進(jìn)的信道糾錯編碼和OFDM (Orthogonal Frequency Division Multiplexing,正交頻分復(fù)用)調(diào)制技術(shù),提高了抗干擾能力和對移動性的支持。OFDM的基本原理是將高速串行數(shù)據(jù)變換成多路相對低速的并行數(shù)據(jù)并對不同的 載波進(jìn)行調(diào)制。這種并行傳輸體制大大擴展了符號的脈沖寬度,提高了抗多徑衰落的性能。 同時使各子載波上的頻譜相互重疊,但這些頻譜在整個符號周期內(nèi)滿足正交性,從而不僅 保證接收端能夠不失真地復(fù)原信號,而且大大提高了頻譜利用率。在OFDM系統(tǒng)中,接收機需要進(jìn)行幀同步捕獲和OFDM符號同步捕獲,然后才能進(jìn)行 正確解調(diào)。STiMi技術(shù)創(chuàng)造性地使用了時間域擴頻信標(biāo)用于同步捕獲,具有同步捕獲時間 短、抗載波頻偏能力強、抗信道多徑時延擴展能力強的特點。這種方式大大減小用戶開機到 正常接收所需要的同步時間。尤其在緊急廣播環(huán)境下,可以保證用戶的快速、可靠接收。無線信道的時域和頻域響應(yīng)是時變的,多徑引起的頻域選擇性衰落在不同的子載 波上也表現(xiàn)出衰落的不一致性,因此OFDM符號各個子載波上會出現(xiàn)畸變的不均勻性。因 此,必須采用信道估計的辦法來估計出信道的時域和頻域響應(yīng),對接收到的數(shù)據(jù)進(jìn)行校正 和恢復(fù)。STiMi采用導(dǎo)頻技術(shù),不僅保證了復(fù)雜無線傳輸條件下可靠的信道估計和均衡,而 且降低解調(diào)模塊硬件復(fù)雜度,利于芯片實現(xiàn)。為了方便接收機同步,CMMB手機電視標(biāo)準(zhǔn)專門設(shè)計了同步信號,同步信號子載波 間隔是數(shù)據(jù)子載波間隔的2倍,即為4. 8828125kHz,在頻域上由一PN序列構(gòu)成,在時域由兩 段完全相同的信號構(gòu)成。小數(shù)頻偏會造成OFDM子載波間的干擾,糾正小數(shù)頻偏后,因頻偏而引起的相鄰子 載波間干擾已基本消除,可正確解調(diào)OFDM多載波信號,此時的解調(diào)結(jié)果與完成頻率同步后 的解調(diào)結(jié)果相比,發(fā)生了偶數(shù)個子載波的偏移,稱之為整數(shù)頻偏。整數(shù)頻偏將利用PN序列 良好的相關(guān)性質(zhì)在頻域進(jìn)行估計。由于整數(shù)頻偏(η*Δ ·)會導(dǎo)致FFT運算后子載波符號數(shù)據(jù)序列周期循環(huán)移位η,導(dǎo) 致不能正確的對數(shù)據(jù)進(jìn)行解調(diào),所以需要對其進(jìn)行估計并加以補償;整數(shù)頻偏估計是通過 估計FFT運算后同步符號數(shù)據(jù)序列的循環(huán)移位量k來完成的,同時為了保證FFT運算處理 過程中子載波之間的正交性,需在FFT之前先對數(shù)據(jù)進(jìn)行小數(shù)頻偏補償處理;下面利用同 步符號來進(jìn)行整數(shù)頻偏估計。頻偏估計模塊,主要是完成對同步數(shù)據(jù)進(jìn)行小數(shù)頻偏估計,并在小數(shù)頻偏補償?shù)幕A(chǔ)上對數(shù)據(jù)進(jìn)行FFT運算,再對數(shù)據(jù)進(jìn)行整數(shù)頻偏估計。包含的子模塊主要有初始化同 步差分序列模塊、初始化三角函數(shù)表、小數(shù)頻偏估計、小數(shù)頻偏補償、FFT運算以及整數(shù)頻偏 估計。一般情況下,頻偏估計模塊采用軟件或硬件實現(xiàn)2048點FFT變換。而CMMB協(xié)議規(guī) 定的每個OFDM符號包含4096個樣點,因此需要做4096點的FFT變換。實現(xiàn)的時候一般采 用兩種FFT變換分別實現(xiàn),如圖1所示。這種方式需要2個FFT變換模塊,造成資源浪費, 利用率低,同時可能造成DSP (Digital Signal Processing,數(shù)字信號處理)或軟件控制難 度加大,消耗cycle數(shù)
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種FFT變換的復(fù)用裝置及方法,可提高資源利 用率,以及提供較好的精度控制。為了解決上述問題,本發(fā)明提供了一種FFT變換的復(fù)用方法,包括將輸入的數(shù)據(jù) 復(fù)制為M/N份后存儲到M/N個不同的地址上,然后對存儲的數(shù)據(jù)進(jìn)行M點快速傅里葉FFT 變換,變換后隔點抽取數(shù)據(jù)并輸出,所述M為進(jìn)行FFT變換的最大點數(shù),N為輸入數(shù)據(jù)的實 際點數(shù)。進(jìn)一步地,對輸入的數(shù)據(jù)先判斷是否是進(jìn)行M點FFT變換,是則直接對輸入的數(shù)據(jù) 進(jìn)行M點FFT變換后輸出。進(jìn)一步地,當(dāng)M = 2N時,將所述輸入的數(shù)據(jù)復(fù)制為2份后存儲到2個不同的地址 上的方法為將第i個數(shù)據(jù)復(fù)制后分別存儲到地址i與地址N+i上;所述0彡i彡N-I。進(jìn)一步地,當(dāng)M = 4N時,將所述輸入的數(shù)據(jù)復(fù)制為4份后存儲到4個不同的地址上 的方法為將第i個數(shù)據(jù)復(fù)制后分別存儲到地址i、地址N+i上、地址2N+i及地址3N+i上; 所述0彡i彡N-I0進(jìn)一步地,對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指,抽取第2i個數(shù)據(jù)或第2i+l個數(shù) 據(jù),所述0彡i ( N-I0進(jìn)一步地,對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指抽取第4i個數(shù)據(jù),或第4i+l個數(shù) 據(jù),或第4i+2個數(shù)據(jù),或第4i+3個數(shù)據(jù),所述0彡i彡N-1。本發(fā)明還提供一種FFT變換的復(fù)用裝置,包括數(shù)據(jù)接收模塊、數(shù)據(jù)存儲模塊、快速 傅里葉FFT變換模塊及數(shù)據(jù)輸出模塊;所述裝置還包括地址變換模塊與數(shù)據(jù)抽取模塊;所述數(shù)據(jù)接收模塊,用于接收輸入數(shù)據(jù);所述地址變換模塊,用于將接收的數(shù)據(jù)復(fù)制為M/N份后發(fā)送至數(shù)據(jù)存儲模塊;所述數(shù)據(jù)存儲模塊,用于收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到M/N個不同 的地址上;所述FFT變換模塊,用于對存儲的數(shù)據(jù)進(jìn)行M點FFT變換;所述數(shù)據(jù)抽取模塊,用于隔點抽取變換后的數(shù)據(jù),并將抽取后的數(shù)據(jù)發(fā)送至數(shù)據(jù) 輸出模塊;所述數(shù)據(jù)輸出模塊,用于輸出接收的數(shù)據(jù);所述M為進(jìn)行FFT變換的最大點數(shù),N為輸入數(shù)據(jù)的實際點數(shù)。進(jìn)一步地,所述裝置還包括判斷模塊,用于收到數(shù)據(jù)接收模塊發(fā)來的數(shù)據(jù)后判斷是否是進(jìn)行M點FFT變換,是則將數(shù)據(jù)發(fā)送至存儲模塊,否則將數(shù)據(jù)發(fā)送至地址變換模塊。進(jìn)一步地,當(dāng)M = 2N時,所述數(shù)據(jù)存儲模塊收到地址變換模塊發(fā)來的數(shù)據(jù)后將其 存儲到2個不同的地址上是指,將復(fù)制后的第i個數(shù)據(jù)分別存儲到地址i與地址N+i上;所 述0彡i彡N-I ;當(dāng)M = 4N時,所述數(shù)據(jù)存儲模塊收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到4個 不同的地址上的方法為將復(fù)制后的第i個數(shù)據(jù)分別存儲到地址i、地址N+i上、地址2N+i 及地址3N+i上;所述0彡i彡N-I。進(jìn)一步地,所述數(shù)據(jù)抽取模塊對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指,抽取第2 i個數(shù) 據(jù)或第2i+l個數(shù)據(jù),所述0彡i彡N-I ;所述數(shù)據(jù)抽取模塊對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指,抽取第4i個數(shù)據(jù),或第 4 +1個數(shù)據(jù),或第4i+2個數(shù)據(jù),或第4i+3個數(shù)據(jù),所述0彡i彡N-I。綜上所述,本發(fā)明提供一種FFT變換的復(fù)用裝置及方法,可提供較好的精度控制, 并減少硬件資源或減輕DSP運算負(fù)擔(dān)。
圖1是現(xiàn)有技術(shù)中兩種FFT變換分別實現(xiàn)的電路框圖;圖2是本發(fā)明實現(xiàn)N點與M點FFT變換的復(fù)用裝置;圖3是本發(fā)明實現(xiàn)N點與2N點FFT變換的復(fù)用方法流程圖。
具體實施例方式本發(fā)明提供一種FFT變換的復(fù)用裝置及方法,將輸入的數(shù)據(jù)復(fù)制為M/N份后存儲 到M/N個不同的地址上,然后對存儲的數(shù)據(jù)進(jìn)行M點FFT變換,變換后隔點抽取數(shù)據(jù)并輸 出,M為進(jìn)行FFT變換的最大點數(shù),N為輸入數(shù)據(jù)的實際點數(shù)。本實施例提供一種FFT變換的復(fù)用裝置,如圖2所示,包括數(shù)據(jù)接收模塊、判斷模 塊、地址變換模塊、數(shù)據(jù)存儲模塊、FFT變換模塊、數(shù)據(jù)抽取模塊及數(shù)據(jù)輸出模塊;數(shù)據(jù)接收模塊,用于接收輸入的數(shù)據(jù),并將其發(fā)送至判斷模塊;判斷模塊,用于收到數(shù)據(jù)接收模塊發(fā)來的數(shù)據(jù)后判斷是否是進(jìn)行M點FFT變換,是 則將數(shù)據(jù)發(fā)送至存儲模塊,否則將數(shù)據(jù)發(fā)送至地址變換模塊;具體地,當(dāng)需要完成N點與2N點FFT變換的復(fù)用變換時,最大點數(shù)為M = 2N,則將 接收的進(jìn)行N點FFT變換的數(shù)據(jù)發(fā)送至地址變換模塊,將接收的進(jìn)行2N點FFT變換的數(shù)據(jù) 發(fā)送至數(shù)據(jù)存儲模塊;當(dāng)需要完成N點與4N點FFT變換的復(fù)用變換時,最大點數(shù)為M = 4N,則將接收的 進(jìn)行N點FFT變換的數(shù)據(jù)發(fā)送至地址變換模塊,將接收的進(jìn)行4N點FFT變換的數(shù)據(jù)發(fā)送至 數(shù)據(jù)存儲模塊;當(dāng)需要完成N點、2N點與4N點FFT變換的復(fù)用變換時,最大點數(shù)為M = 4N,則將 接收的進(jìn)行N點及2N點FFT變換的數(shù)據(jù)發(fā)送至地址變換模塊,將接收的進(jìn)行4N點FFT變 換的數(shù)據(jù)發(fā)送至數(shù)據(jù)存儲模塊。地址變換模塊,用于將接收的數(shù)據(jù)復(fù)制為M/N份后發(fā)送至數(shù)據(jù)存儲模塊;具體地,當(dāng)需要完成N點與2N點FFT變換的復(fù)用變換時,將接收的進(jìn)行N點FFT變換的數(shù)據(jù)復(fù)制成2份后發(fā)送至數(shù)據(jù)存儲模塊;當(dāng)需要完成N點與4N點FFT變換的復(fù)用變換時,將接收的進(jìn)行N點FFT變換的數(shù) 據(jù)復(fù)制成4份后發(fā)送至數(shù)據(jù)存儲模塊;當(dāng)需要完成N點、2N點與4N點FFT變換的復(fù)用變換時,將接收的進(jìn)行N點FFT變 換的數(shù)據(jù)復(fù)制成4份后發(fā)送至數(shù)據(jù)存儲模塊,將接收的進(jìn)行2N點FFT變換的數(shù)據(jù)復(fù)制成2 份后發(fā)送至數(shù)據(jù)存儲模塊。數(shù)據(jù)存儲模塊,用于收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到M/N個不同的地 址上;具體地,當(dāng)M = 2N時,數(shù)據(jù)存儲模塊收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到 2個不同的地址上可以是,將復(fù)制后的第i個數(shù)據(jù)分別存儲到地址i與地址N+i上;當(dāng)M = 4N時,數(shù)據(jù)存儲模塊收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到4個不同 的地址上可以是將復(fù)制后的第i個數(shù)據(jù)分別存儲到地址i、地址N+i上、地址2N+i及地址 3Ν+ 上;0 ≤ i ≤N-1。數(shù)據(jù)存儲模塊,還用于存儲判斷模塊發(fā)來的數(shù)據(jù),其存儲方式同現(xiàn)有技術(shù)。FFT變換模塊,用于對存儲的數(shù)據(jù)進(jìn)行M點FFT變換;以及用于當(dāng)輸入的數(shù)據(jù)為N 點FFT變換時,將變換后的數(shù)據(jù)發(fā)送至數(shù)據(jù)抽取模塊,當(dāng)輸入的數(shù)據(jù)為M點FFT變換時,將 變換后的數(shù)據(jù)發(fā)送至數(shù)據(jù)輸出模塊;數(shù)據(jù)抽取模塊,用于隔點抽取接收的數(shù)據(jù);以及將抽取的數(shù)據(jù)發(fā)送至數(shù)據(jù)輸出模 塊;隔點抽取數(shù)據(jù)具體指,當(dāng)M = 2N時,抽取第2i個數(shù)據(jù)或抽取第2i+l個數(shù)據(jù); 當(dāng)M = 4N時,抽取第4i個數(shù)據(jù),或第4i+l個數(shù)據(jù),或第4i+2個數(shù)據(jù),或第4i+3個數(shù)據(jù); 0 ≤ i ≤ N-1。數(shù)據(jù)輸出模塊,用于輸出接收的數(shù)據(jù)。本實施例提供一種FFT變換的復(fù)用方法,分別從N點與2N點FFT變換的復(fù)用變換, 以及N點與4N點FFT變換的復(fù)用變換進(jìn)行描述;當(dāng)需要完成N點與2N點FFT變換的復(fù)用變換時(即M = 2N),可將輸入的N點數(shù) 據(jù)復(fù)制為2N點后進(jìn)行2N點FFT變換,然后對變換后的數(shù)據(jù)隔點抽取得到N點FFT變換結(jié) 果,如圖3所示,包括以下步驟步驟301、復(fù)用裝置接收上層軟件配置及數(shù)據(jù);步驟302、判斷是N點FFT變換還是2N點FFT變換,若為N點FFT變換則執(zhí)行步驟 303,否則執(zhí)行步驟304 ;步驟303、將接收的數(shù)據(jù)復(fù)制為2份,并存儲在兩個不同的地址上,然后執(zhí)行步驟 305 ;將復(fù)制后的數(shù)據(jù)存儲在2個不同的地址上的方法可以但不限于是,當(dāng)接收第0個 數(shù)據(jù)時,將復(fù)制后的數(shù)據(jù)存儲到地址0與地址N,當(dāng)接收第1個數(shù)據(jù)時,將復(fù)制后的數(shù)據(jù)存儲 到地址1與地址N+1...當(dāng)接收第i個數(shù)據(jù)時,將復(fù)制后的數(shù)據(jù)存儲到地址i與地址N+i, 0彡i彡N-I ;步驟304、進(jìn)行數(shù)據(jù)存儲,然后執(zhí)行步驟305 ;步驟305、對存儲的數(shù)據(jù)進(jìn)行2N點FFT變換,其具體變換方式同現(xiàn)有技術(shù);
步驟306、輸出FFT變換結(jié)果;步驟307、根據(jù)N點還是2N點變換確定是否需要隔點抽取數(shù)據(jù),如果是N點的FFT 變換,執(zhí)行步驟308,否則執(zhí)行步驟309 ;步驟308、進(jìn)行隔點抽取,即抽取第2i個數(shù)據(jù),或抽取第2i+l個數(shù)據(jù),0彡i彡N_l, 然后執(zhí)行步驟309 ;步驟309、根據(jù)FFT輸出數(shù)據(jù)順序進(jìn)行最終結(jié)果輸出。當(dāng)需要完成N點與4N點FFT變換的復(fù)用變換時(即M = 4N),可將輸入的N點數(shù) 據(jù)復(fù)制為4N點后進(jìn)行4N點FFT變換,然后對變換后的數(shù)據(jù)隔點抽取得到N點FFT變換結(jié) 果,包括以下步驟步驟401、復(fù)用裝置接收上層軟件配置及數(shù)據(jù);步驟402、判斷是N點FFT變換還是4N點FFT變換,若為N點FFT變換則執(zhí)行步驟 403,否則執(zhí)行步驟404 ;步驟403、將接收的數(shù)據(jù)復(fù)制為4份,并存儲在兩個不同的地址上,然后執(zhí)行步驟 405 ;將復(fù)制后的數(shù)據(jù)存儲在兩個不同的地址上的方法可以但不限于是,當(dāng)接收第0個 數(shù)據(jù)時,將復(fù)制后的數(shù)據(jù)存儲到地址0、地址N、地址2N與地址3N,上;當(dāng)接收第1個數(shù)據(jù)時, 將復(fù)制后的數(shù)據(jù)存儲到地址1、地址N+1、地址2N+1與地址3N+1上...當(dāng)接收第i個數(shù)據(jù) 時,將復(fù)制后的數(shù)據(jù)存儲到地址i、地址N+i、地址2N+i與地址3N+i上,0彡i彡N-1 ;步驟404、進(jìn)行數(shù)據(jù)存儲,然后執(zhí)行步驟405 ;步驟405、對存儲的數(shù)據(jù)進(jìn)行4N點FFT變換,其具體變換方式同現(xiàn)有技術(shù);步驟406、輸出FFT變換結(jié)果;步驟407、根據(jù)N點還是4N點變換確定是否需要隔點抽取數(shù)據(jù),如果是N點的FFT 變換,執(zhí)行步驟408,否則執(zhí)行步驟409 ;步驟408、進(jìn)行隔點抽取,即抽取第4i個數(shù)據(jù),或第4i+l個數(shù)據(jù),或第4i+2個數(shù) 據(jù),或第4i+3個數(shù)據(jù),0 ^ i ^ N-1,然后執(zhí)行步驟409 ;步驟409、根據(jù)FFT輸出數(shù)據(jù)順序進(jìn)行最終結(jié)果輸出。當(dāng)需要完成N點、2N點與4N點FFT變換的復(fù)用變換時(即M = 4N),可按照以上 方法將輸入的N點數(shù)據(jù)復(fù)制為4N點后進(jìn)行4N點FFT變換,將輸入的2N點數(shù)據(jù)復(fù)制為4N 點后也進(jìn)行4N點FFT變換,然后對變換后的數(shù)據(jù)隔點抽取分別得到N點FFT變換及2N點 FFT變換結(jié)果,對輸入的4N點數(shù)據(jù)直接進(jìn)行FFT變換,具體操作方法同上所述,此處不再具 體描述。下面以完成2048點和4096點FFT變換的復(fù)用為例進(jìn)一步說明本發(fā)明步驟1、復(fù)用裝置接收上層軟件配置及數(shù)據(jù);步驟2、判斷是2048點FFT運算還是4096點FFT變換,若為4096點FFT變換則執(zhí) 行步驟4,否則執(zhí)行步驟3;步驟3、將接收的數(shù)據(jù)復(fù)制為2份,并存儲在兩個不同的地址上,然后執(zhí)行步驟5 ;將復(fù)制后的數(shù)據(jù)存儲在兩個不同的地址上的方法可以但不限于是,當(dāng)接收第0個 數(shù)據(jù)時,將復(fù)制后的數(shù)據(jù)存儲到地址0與地址2048,當(dāng)接收第1個數(shù)據(jù)時,將復(fù)制后的數(shù)據(jù) 存儲到地址1與地址2049...當(dāng)接收第i個數(shù)據(jù)時,將復(fù)制后的數(shù)據(jù)存儲到地址i與地址2048+i,0 ( i ( 2047 ;步驟4、進(jìn)行數(shù)據(jù)存儲,然后執(zhí)行步驟5 ;步驟5、對存儲的數(shù)據(jù)進(jìn)行4096點FFT變換,其具體變換方式同現(xiàn)有技術(shù);進(jìn)行4096點FFT變換具體是指(a)對4096個樣點進(jìn)行一階蝶形運算,即每次抽取4個樣點和3個旋轉(zhuǎn)因子進(jìn)行 蝶形運算,當(dāng)4096個樣點被全部抽取完畢后執(zhí)行(b);(b)對4096個樣點進(jìn)行二階蝶形運算,即每次抽取4個樣點和3個旋轉(zhuǎn)因子進(jìn)行 蝶形運算,當(dāng)4096個樣點被全部抽取完畢后執(zhí)行(c);其樣點抽取方式不同于(a);(c)對4096個樣點進(jìn)行三階蝶形運算,即每次抽取4個樣點和3個旋轉(zhuǎn)因子進(jìn)行 蝶形運算,當(dāng)4096個樣點被全部抽取完畢后執(zhí)行(d);其樣點抽取方式不同于(a)及(b);(d)對4096個樣點進(jìn)行四階蝶形運算,即每次抽取4個樣點和3個旋轉(zhuǎn)因子進(jìn)行 蝶形運算,當(dāng)4096個樣點被全部抽取完畢后執(zhí)行(e);其樣點抽取方式不同于(a)、(b)及 (c);(e)對4096個樣點進(jìn)行五階蝶形運算,即每次抽取4個樣點和3個旋轉(zhuǎn)因子進(jìn)行 蝶形運算,當(dāng)4096個樣點被全部抽取完畢后執(zhí)行(f);其樣點抽取方式不同于(a)、(b)、(c) 及⑷;(f)對4096個樣點進(jìn)行六階蝶形運算,即每次抽取4個樣點和3個旋轉(zhuǎn)因子進(jìn)行 蝶形運算,當(dāng)4096個樣點被全部抽取完畢后FFT變換結(jié)束,其樣點抽取方式不同于(a)、 (b)、(c)、(d)及(e)。步驟6、輸出FFT變換結(jié)果;步驟7、根據(jù)是2048點還是4096點FFT變換確定是否需要隔點抽取數(shù)據(jù),如果是 2048點FFT變換,執(zhí)行步驟8,否則執(zhí)行步驟9 ;步驟8、對變換后的數(shù)據(jù)進(jìn)行隔點抽取,即抽取第2i個數(shù)據(jù),或抽取2i+l個數(shù)據(jù), 0<i< 2047,然后執(zhí)行步驟9;步驟9、根據(jù)FFT輸出數(shù)據(jù)順序進(jìn)行最終結(jié)果輸出。本應(yīng)用實例中,存儲模塊可采用2組4片的MEM(存儲器)實現(xiàn)。讀寫地址產(chǎn)生是 根據(jù)控制器內(nèi)部計數(shù)器的計數(shù)值產(chǎn)生MEM的讀出地址(即每次蝶形運算讀取的4個樣點的 地址),需要同時產(chǎn)生4個讀地址,并且讀出的數(shù)據(jù)要分布在4片不同的MEM中避免產(chǎn)生讀 取沖突。這就要求數(shù)據(jù)地址進(jìn)行特殊存儲。具體存儲算法同現(xiàn)有技術(shù)。由于可以同時提取需要的所有數(shù)據(jù),本發(fā)明可以在一個時鐘內(nèi)完成一個蝶形運 算,這樣可以在短時間內(nèi)完成FFT運算,這樣極大地提高了系統(tǒng)的實時性;如果為了節(jié)約資 源,則可以將蝶形運算拉長到2或4個時鐘或更長的時間,這樣可以用流水線完成蝶形處 理。本發(fā)明在項目采用基4的4096點FFT變換加控制電路實現(xiàn),取得了良好的實際效果。本發(fā)明適合樣點相差一倍及三倍的FFT變換的復(fù)用,如1024點和2048點,1024點 和4096點等,對于基2/4/8/16的實數(shù)和復(fù)數(shù)FFT運算都適用。
權(quán)利要求
一種FFT變換的復(fù)用方法,包括將輸入的數(shù)據(jù)復(fù)制為M/N份后存儲到M/N個不同的地址上,然后對存儲的數(shù)據(jù)進(jìn)行M點快速傅里葉FFT變換,變換后隔點抽取數(shù)據(jù)并輸出,所述M為進(jìn)行FFT變換的最大點數(shù),N為輸入數(shù)據(jù)的實際點數(shù)。
2.如權(quán)利要求1所述的方法,其特征在于對輸入的數(shù)據(jù)先判斷是否是進(jìn)行M點FFT變換,是則直接對輸入的數(shù)據(jù)進(jìn)行M點FFT 變換后輸出。
3.如權(quán)利要求1所述的方法,其特征在于當(dāng)M = 2N時,將所述輸入的數(shù)據(jù)復(fù)制為2份后存儲到2個不同的地址上的方法為將 第i個數(shù)據(jù)復(fù)制后分別存儲到地址i與地址N+i上;所述0彡i彡N-1。
4.如權(quán)利要求1所述的方法,其特征在于當(dāng)M = 4N時,將所述輸入的數(shù)據(jù)復(fù)制為4份后存儲到4個不同的地址上的方法為 將第i個數(shù)據(jù)復(fù)制后分別存儲到地址i、地址N+i上、地址2N+i及地址3N+i上;所述 0 ^ i ^ N-lo
5.如權(quán)利要求3所述的方法,其特征在于對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指,抽取第2i個數(shù)據(jù)或第2i+l個數(shù)據(jù),所述 0 ^ i ^ N-lo
6.如權(quán)利要求4所述的方法,其特征在于對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指抽取第4i個數(shù)據(jù),或第4i+l個數(shù)據(jù),或第4i+2個 數(shù)據(jù),或第4i+3個數(shù)據(jù),所述0彡i彡N-1。
7.—種FFT變換的復(fù)用裝置,包括數(shù)據(jù)接收模塊、數(shù)據(jù)存儲模塊、快速傅里葉FFT變換 模塊及數(shù)據(jù)輸出模塊;其特征在于,所述裝置還包括地址變換模塊與數(shù)據(jù)抽取模塊;所述數(shù)據(jù)接收模塊,用于接收輸入數(shù)據(jù);所述地址變換模塊,用于將接收的數(shù)據(jù)復(fù)制為M/N份后發(fā)送至數(shù)據(jù)存儲模塊;所述數(shù)據(jù)存儲模塊,用于收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到M/N個不同的地 址上;所述FFT變換模塊,用于對存儲的數(shù)據(jù)進(jìn)行M點FFT變換;所述數(shù)據(jù)抽取模塊,用于隔點抽取變換后的數(shù)據(jù),并將抽取后的數(shù)據(jù)發(fā)送至數(shù)據(jù)輸出 模塊;所述數(shù)據(jù)輸出模塊,用于輸出接收的數(shù)據(jù);所述M為進(jìn)行FFT變換的最大點數(shù),N為輸入數(shù)據(jù)的實際點數(shù)。
8.如權(quán)利要求7所述的裝置,其特征在于所述裝置還包括判斷模塊,用于收到數(shù)據(jù)接收模塊發(fā)來的數(shù)據(jù)后判斷是否是進(jìn)行M點 FFT變換,是則將數(shù)據(jù)發(fā)送至存儲模塊,否則將數(shù)據(jù)發(fā)送至地址變換模塊。
9.如權(quán)利要求7所述的裝置,其特征在于當(dāng)M = 2N時,所述數(shù)據(jù)存儲模塊收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到2個不同 的地址上是指,將復(fù)制后的第i個數(shù)據(jù)分別存儲到地址i與地址N+i上;所述0彡i彡N-1 ;當(dāng)M = 4N時,所述數(shù)據(jù)存儲模塊收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到4個不同 的地址上的方法為將復(fù)制后的第i個數(shù)據(jù)分別存儲到地址i、地址N+i上、地址2N+i及地 址3N+i上;所述0彡i彡N-1。
10.如權(quán)利要求9所述的裝置,其特征在于所述數(shù)據(jù)抽取模塊對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指,抽取第2i個數(shù)據(jù)或第2i+l個 數(shù)據(jù),所述0彡i彡N-1;所述數(shù)據(jù)抽取模塊對變換后的數(shù)據(jù)進(jìn)行隔點抽取是指,抽取第4i個數(shù)據(jù),或第4i+l個 數(shù)據(jù),或第4i+2個數(shù)據(jù),或第4i+3個數(shù)據(jù),所述0彡i彡N-1。
全文摘要
本發(fā)明提供了一種FFT變換的復(fù)用裝置及方法,該裝置包括數(shù)據(jù)接收模塊、數(shù)據(jù)存儲模塊、FFT變換模塊、數(shù)據(jù)輸出模塊、地址變換模塊與數(shù)據(jù)抽取模塊;數(shù)據(jù)接收模塊用于接收輸入數(shù)據(jù);地址變換模塊用于將接收的數(shù)據(jù)復(fù)制為M/N份后發(fā)送至數(shù)據(jù)存儲模塊;數(shù)據(jù)存儲模塊用于收到地址變換模塊發(fā)來的數(shù)據(jù)后將其存儲到M/N個不同的地址上;FFT變換模塊用于對存儲的數(shù)據(jù)進(jìn)行M點FFT變換;數(shù)據(jù)抽取模塊用于隔點抽取變換后的數(shù)據(jù),并將抽取后的數(shù)據(jù)發(fā)送至數(shù)據(jù)輸出模塊;數(shù)據(jù)輸出模塊用于輸出接收的數(shù)據(jù);M為進(jìn)行FFT變換的最大點數(shù),N為輸入數(shù)據(jù)的實際點數(shù)。采用本發(fā)明,可提高資源利用率,以及提供較好的精度控制。
文檔編號H04L27/26GK101860508SQ20091013365
公開日2010年10月13日 申請日期2009年4月13日 優(yōu)先權(quán)日2009年4月13日
發(fā)明者孫曉雷, 曾代兵, 黃智 申請人:中興通訊股份有限公司