專利名稱:一種1536點的fft/ifft實現(xiàn)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字信號處理領(lǐng)域及通訊領(lǐng)域及其它電子領(lǐng)域,尤其涉及一種1536 點FFT/IFFT的實現(xiàn)方法及裝置。
背景技術(shù):
在LTE(Long Term Evolution,長期演進)的 TDD(Time DivisionDuplexing,時 分雙工)RACH (Random Access Channel,隨機接入信道)處理方案中,為了支持4096點 短RACH的處理,需要在有效前導碼后進行16倍降采樣,將長RACH的有效24576樣 點降采樣到1536點,將短RACH的有效4096點降采樣到256點。長短RACH經(jīng)過降 采樣后需要做復(fù)合1536點和512點的FFT (Fast Fourier Transform,快速傅里葉變換)/ IFFT (InverseFast Fourier Transform,快速傅里葉逆變換)運算處理。如
圖1所示,1536點和512點FFT/IFFT整個鏈路復(fù)用運算處理裝置由以下模塊 組成DSP (Digital Signal Processing,數(shù)字信號處理)配置解析模塊101 主要用于解
析DSP配置的各種參數(shù)包數(shù)據(jù);16倍降采樣處理模塊102 —般采用DDC (Digital Down Converter,數(shù)字下變
頻)濾波器結(jié)構(gòu),用于在降采樣濾波器處理過程中,把長RACH的有效24576個樣點經(jīng)過 4級濾波處理降采樣到1536點,把短RACH的有效4096個樣點經(jīng)過4級濾波處理降采樣 到256點;1536點和512點的FFT/IFFT復(fù)用處理模塊103,用于實現(xiàn)512點和1536點的 FFT/IFFT,并能夠根據(jù)配置信息分別處理相應(yīng)點數(shù)的FFT/IFFT ;及與母碼序列相關(guān)處理模塊104,用于將經(jīng)過FFT后的數(shù)據(jù)與本地母碼序列做相關(guān)處理。目前的FFT/IFFT實現(xiàn)主要有2種方法(1)當點數(shù)為2的N次冪時,要進行 FFT/FFT時可直接調(diào)用FPGA (Field Programmable Gate Array,現(xiàn)場可編程門陣列)廠家的 IP Core實現(xiàn),例如Xilinx公司的FFT/IFFT核中支持2的N次冪的FFT/IFFT實現(xiàn)。(2) 當點數(shù)為非2的N次冪時,要對該樣點進行FFT/IFFT處理時,需把大樣點的FFT/IFFT 依次進行全分解,然后再進行全分解的蝶型運算,例如專利號為CN200710044716.1(流 水線結(jié)構(gòu)的3780點快速傅里葉變換處理器)中說明的實現(xiàn)方法。但以上2種方法在實際使用中都存在不足。包括方法一中在處理FDD (Frequency Division Duplex,頻分雙工)RACH時可以直接 調(diào)用IP Core實現(xiàn)點數(shù)為2的N次冪的FFT/IFFT,但是在TDD中處理1536點等非2的 N次冪的FFT/IFFT時則無法直接調(diào)用核實現(xiàn);方法二中基于大樣點的全分解蝶型運算實現(xiàn)起來比較繁雜、在真正的項目實踐 中會極大的影響項目的進展,而且非常占用FPGA的RAM (Random-Access Memory,內(nèi)
存塊)、Slice(邏輯單元塊)等資源,實際實現(xiàn)時用此方法效果也不理想。發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種1536點FFT/IFFT的實現(xiàn)方法及裝置,以 解決現(xiàn)有技術(shù)中在對1536點數(shù)據(jù)進行FFT/IFFT處理時流程繁雜的確定。
為解決上述問題,本發(fā)明提供了一種1536點的快速傅里葉變換(FFT)/快速傅里 葉逆變換(IFFT)的實現(xiàn)方法,包括
在1536點數(shù)據(jù)中,對位于3的正整數(shù)倍位置上的512個點、位于3的正整數(shù)倍 減2位置上的512個點及位于3的正整數(shù)倍減1位置上的512個點分別進行FFT/IFFT處 理,再對得到的3個數(shù)據(jù)進行基3運算,得到1536點的FFT/IFFT處理結(jié)果。
進一步地,上述方法還可具有以下特征
所述對得到的3個數(shù)據(jù)進行基3運算具體包括以下步驟將對位于3的正整數(shù)倍 減1位置上的512個點經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)與第一旋轉(zhuǎn)因子相乘,將對位于 3的正整數(shù)倍位置上的512個點經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)與第二旋轉(zhuǎn)因子相乘, 然后再將上述兩個乘積與對位于3的正整數(shù)倍減2位置上的512個點經(jīng)過FFT/IFFT處理 后得到的數(shù)據(jù)相加;其中,在進行FFT處理時,第一和第二旋轉(zhuǎn)因子分別為及,在 進行IFFT處理時,第一和第二旋轉(zhuǎn)因子分別為及。
進一步地,上述方法還可具有以下特征
所述對得到的3個數(shù)據(jù)進行基3運算具體包括以下步驟將對位于3的正整數(shù)倍 位置上的512點數(shù)據(jù)經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)與旋轉(zhuǎn)因子相乘后再與對位于3的 正整數(shù)倍減1位置上的512點數(shù)據(jù)經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)相加,然后再將相加 后得到的結(jié)果乘以旋轉(zhuǎn)因子后,將該乘積與對位于3的正整數(shù)倍減2位置上的512點數(shù)據(jù) 經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)相加;其中,在進行FFT處理時,所述旋轉(zhuǎn)因子為『》, 在進行IFFT處理時,所述旋轉(zhuǎn)因子為》^。
進一步地,上述方法還可具有以下特征
在計算位于第k+Ι位點的FFT/IFFT處理結(jié)果時,通過搜索查找表來得到對應(yīng)旋 轉(zhuǎn)因子的值;其中,所述查找表中保存有k值及對應(yīng)旋轉(zhuǎn)因子的值的對應(yīng)關(guān)系。
本發(fā)明還提供了一種實現(xiàn)1536點的快速傅里葉變換(FFT)/快速傅里葉逆變換 (IFFT)的裝置,包括512點FFT/IFFT處理模塊和基3處理模塊;
所述512點FFT/IFFT處理模塊用于對位于3的正整數(shù)倍減2位置上的512個點、 位于3的正整數(shù)倍減1位置上的512個點及位于3的正整數(shù)倍位置上的512個點分別進行 FFT/IFFT處理,并將得到的處理結(jié)果A、B和C發(fā)送到所述基3處理模塊;
所述基3處理模塊用于對所述接收到的處理結(jié)果進行基3運算,得到1536點數(shù) 據(jù)的FFT/IFFT處理結(jié)果。
進一步地,上述裝置還可具有以下特征
還包括一個數(shù)據(jù)選通器(MUX)通道選擇器,其分別與所述512點FFT/IFFT處 理模塊和所述基3處理模塊相連,用于根據(jù)配置的通道選擇,在所述512點FFT/IFFT處 理模塊的輸入數(shù)據(jù)為512點數(shù)據(jù)時,輸出所述512點FFT/IFFT處理模塊向其發(fā)送的512 點FFT/IFFT處理結(jié)果;在所述512點FFT/IFFT處理模塊的輸入數(shù)據(jù)為1536點數(shù)據(jù)時, 輸出所述基3處理模塊向其發(fā)送的1536點FFT/IFFT處理結(jié)果。5
進一步地,上述裝置還可具有以下特征所述基3處理模塊包括寫控制單元用于將對經(jīng)過所述512點FFT/IFFT處理模塊輸出的數(shù)據(jù)進行寫控 制,將所述結(jié)果A寫入第一乒乓存儲單元,將所述結(jié)果B寫入第二乒乓存儲單元,將所 述結(jié)果C寫入第三乒乓存儲單元;
權(quán)利要求
1.一種1536點的快速傅里葉變換(FFT)/快速傅里葉逆變換(IFFT)的實現(xiàn)方法,其 特征在于在1536點數(shù)據(jù)中,對位于3的正整數(shù)倍位置上的512個點、位于3的正整數(shù)倍減2 位置上的512個點及位于3的正整數(shù)倍減1位置上的512個點分別進行FFT/IFFT處理, 再對得到的3個數(shù)據(jù)進行基3運算,得到1536點的FFT/IFFT處理結(jié)果。
2.如權(quán)利要求1所述的方法,其特征在于,所述對得到的3個數(shù)據(jù)進行基3運算具體包括以下步驟將對位于3的正整數(shù)倍減1 位置上的512個點經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)與第一旋轉(zhuǎn)因子相乘,將對位于3的 正整數(shù)倍位置上的512個點經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)與第二旋轉(zhuǎn)因子相乘,然后 再將上述兩個乘積與對位于3的正整數(shù)倍減2位置上的512個點經(jīng)過FFT/IFFT處理后得 到的數(shù)據(jù)相加;其中,在進行FFT處理時,第一和第二旋轉(zhuǎn)因子分別為
3.如權(quán)利要求1所述的方法,其特征在于,所述對得到的3個數(shù)據(jù)進行基3運算具體包括以下步驟將對位于3的正整數(shù)倍位置 上的512點數(shù)據(jù)經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)與旋轉(zhuǎn)因子相乘后再與對位于3的正整 數(shù)倍減1位置上的512點數(shù)據(jù)經(jīng)過FFT/IFFT處理后得到的數(shù)據(jù)相加,然后再將相加后得 到的結(jié)果乘以旋轉(zhuǎn)因子后,將該乘積與對位于3的正整數(shù)倍減2位置上的512點數(shù)據(jù)經(jīng)過 FFT/IFFT處理后得到的數(shù)據(jù)相加;其中,在進行FFT處理時,所述旋轉(zhuǎn)因子為,在進 行IFFT處理時,所述旋轉(zhuǎn)因子為妒廣。
4.如權(quán)利要求2或3所述的方法,其特征在于,在計算位于第k+1位點的FFT/IFFT處理結(jié)果時,通過搜索查找表來得到對應(yīng)旋轉(zhuǎn)因 子的值;其中,所述查找表中保存有k值及對應(yīng)旋轉(zhuǎn)因子的值的對應(yīng)關(guān)系。
5.—種實現(xiàn)1536點的快速傅里葉變換(FFT)/快速傅里葉逆變換(IFFT)的裝置,包 括512點FFT/IFFT處理模塊和基3處理模塊;所述512點FFT/IFFT處理模塊用于對位于3的正整數(shù)倍減2位置上的512個點、位 于3的正整數(shù)倍減1位置上的512個點及位于3的正整數(shù)倍位置上的512個點分別進行 FFT/IFFT處理,并將得到的處理結(jié)果A、B和C發(fā)送到所述基3處理模塊;所述基3處理模塊用于對所述接收到的處理結(jié)果進行基3運算,得到1536點數(shù)據(jù)的 FFT/IFFT處理結(jié)果。
6.如權(quán)利要求5所述的裝置,其特征在于,還包括一個數(shù)據(jù)選通器(MUX)通道選擇器,其分別與所述512點FFT/IFFT處理模 塊和所述基3處理模塊相連,用于根據(jù)配置的通道選擇,在所述512點FFT/IFFT處理 模塊的輸入數(shù)據(jù)為512點數(shù)據(jù)時,輸出所述512點FFT/IFFT處理模塊向其發(fā)送的512點 FFT/IFFT處理結(jié)果;在所述512點FFT/IFFT處理模塊的輸入數(shù)據(jù)為1536點數(shù)據(jù)時,輸 出所述基3處理模塊向其發(fā)送的1536點FFT/IFFT處理結(jié)果。
7.如權(quán)利要求5所述的裝置,其特征在于,所述基3處理模塊包括寫控制單元用于將對經(jīng)過所述512點FFT/IFFT處理模塊輸出的數(shù)據(jù)進行寫控制, 將所述結(jié)果A寫入第一乒乓存儲單元,將所述結(jié)果B寫入第二乒乓存儲單元,將所述結(jié)果C寫入第三乒乓存儲單元;第一、第二及第三乒乓存儲單元用于存儲經(jīng)過寫控制單元的數(shù)據(jù); 讀控制單元用于從第一乒乓存儲單元讀出所述結(jié)果A并發(fā)送到3目復(fù)數(shù)相加單 元,從第二乒乓存儲單元讀出結(jié)果B并發(fā)送到第一復(fù)數(shù)相乘單元,從第三乒乓存儲單元 讀出結(jié)果C并發(fā)送到第二復(fù)數(shù)相乘單元;旋轉(zhuǎn)因子存儲單元用于存儲查找表,該查找表中保存有各個k值及對應(yīng)的第一旋 轉(zhuǎn)因子值及第二旋轉(zhuǎn)因子值的對應(yīng)關(guān)系,其中,k = 0,1,…1535;旋轉(zhuǎn)因子控制單元當對位于1536點中第k+1位置上的點進行FFT/IFFT時,用于 所述控制旋轉(zhuǎn)因子存儲單元相應(yīng)地向第一復(fù)數(shù)相乘單元輸出所述第一旋轉(zhuǎn)因子
8.如權(quán)利要求5所述的裝置,其特征在于,寫控制單元用于將對經(jīng)過所述512點FFT/IFFT處理模塊輸出的數(shù)據(jù)進行寫控制, 將所述結(jié)果A寫入第一乒乓存儲單元,將所述結(jié)果B寫入第二乒乓存儲單元,將所述結(jié) 果C寫入第三乒乓存儲單元;第一、第二、第三乒乓存儲單元用于存儲經(jīng)過寫控制單元的數(shù)據(jù); 讀控制單元用于從第一乒乓存儲單元讀出所述結(jié)果A并發(fā)送到第二復(fù)數(shù)相加單 元,從第二乒乓存儲單元讀出所述結(jié)果B并發(fā)送到第一復(fù)數(shù)相加單元,從第三乒乓存儲 單元讀出所述結(jié)果C并發(fā)送到第一復(fù)數(shù)相乘單元;旋轉(zhuǎn)因子存儲單元用于存儲查找表,該查找表中保存有各個k值及對應(yīng)的旋轉(zhuǎn)因 子值的對應(yīng)關(guān)系,其中,k = 0,1, …1535;旋轉(zhuǎn)因子控制單元當對位于1536點中第k+1位置上的點進行FFT/IFFT時,用于 控制所述旋轉(zhuǎn)因子存儲單元相應(yīng)地向第一復(fù)數(shù)相乘單元和第二復(fù)數(shù)相乘單元輸出旋轉(zhuǎn)因 子旳
全文摘要
一種1536點的快速傅里葉變換(FFT)/快速傅里葉逆變換(IFFT)的實現(xiàn)方法及裝置,所述裝置包括512點FFT/IFFT處理模塊和基3處理模塊;所述方法包括在1536點數(shù)據(jù)中,對位于3的正整數(shù)倍位置上的512個點、位于3的正整數(shù)倍減2位置上的512個點及位于3的正整數(shù)倍減1位置上的512個點分別進行FFT/IFFT處理,再對得到的3個數(shù)據(jù)進行基3運算,得到1536點的FFT/IFFT處理結(jié)果。本發(fā)明有效地利用了FPGA本身自帶的512點FFT/IFFT核,解決了無法利用核實現(xiàn)非2的冪次方FFT/IFFT的問題,同時回避了全分解的FFT/IFFT實現(xiàn),節(jié)省了大量的FPGA芯片資源。
文檔編號G06F17/14GK102025676SQ20091017296
公開日2011年4月20日 申請日期2009年9月11日 優(yōu)先權(quán)日2009年9月11日
發(fā)明者萬振華, 劉偉, 張望, 譚歡喜, 閆鵬周 申請人:中興通訊股份有限公司