專利名稱:一種無需重新排序的7點wfta處理器和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字信號處理領(lǐng)域,特別涉及一種無需重新排序的小點數(shù)Winograd快速傅里葉變換算法(Winograd Fourier Transform Algorithm, WFTA)的實現(xiàn)方法。
背景技術(shù):
隨著無線通信業(yè)務(wù)的不斷增長,可利用的頻譜資源日益緊張。為了提高頻譜利用率和通信質(zhì)量,現(xiàn)代無線通信系統(tǒng)廣泛采用對頻率選擇性衰落具有較強(qiáng)免疫力的正交頻分復(fù)用(Orthogonal Frequency Duplex Multiplexing, 0FDM)技術(shù)。OFDM 技術(shù)的核心是FFT。FFT的點數(shù)分為2的冪次和非2冪次兩種。點數(shù)是2的冪次的FFT算法和實現(xiàn)比較成熟。相比之下,非2冪次點數(shù)的FFT更為靈活,近年來在DRM、DTMB, LTE系統(tǒng)中開始得到應(yīng)用。因此,非2冪次點數(shù)FFT的算法和實現(xiàn)值得深入研究。目前,素因子算法(Prime Factor Algorithm, PFA)是最有效的非2冪次FFT,它采用嵌套多維結(jié)構(gòu),能有效降低計算復(fù)雜度。對于N點非2冪次FFT,假設(shè)N可分解為s個兩兩互素因子的乘積,即N=N1N^N- N點PFA的基本原理是,把一維大點數(shù)FFT映射成s維小點數(shù)FFT,第i (i=l, 2,...,s)維FFT進(jìn)行N/隊次Ni點小點數(shù)FFT。小點數(shù)FFT可借助于Cooley-Tukey算法、WFTA以及其它高效算法。在某些情況下,PFA需要重新排序。根據(jù)在計算過程中所處的位置,重新排序分為預(yù)擾亂和后擾亂。不考慮Ni (i = I, 2,…,s)點FFT的內(nèi)部機(jī)制,如果第i維FFT無需重新排序,那么它是同址的;否則,它是變址的,重新排序是在隊點序列內(nèi)進(jìn)行的,預(yù)擾亂和后擾亂分別在Ni點FFT之前和之后執(zhí)行。類似地,不考慮每維FFT的內(nèi)部機(jī)制,如果N點PFA整體上無需重新排序,那么它是同序的;否則,它是變序的,重新排序是在N點序列內(nèi)進(jìn)行的,預(yù)擾亂和后擾亂分別在第一維FFT開始前和最后一維FFT結(jié)束后執(zhí)行。這樣,PFA理論上可分為4種變址變序、變址同序、同址同序和同址變序。目前,PFA要么是變址同序的,要么是同址變序的,不可避免地引入了重新排序操作。眾所周知,重新排序意味著必須增加一級緩沖區(qū),需要消耗較多的存儲器資源,會增加硬件成本。此外,重新排序還會降低運算速度,增加控制的復(fù)雜度。與同址變序PFA相比,變址同序PFA消耗較少的存儲器資源,兩者重新排序的總延時完全相同,都是N個時鐘周期,因此,變址同序PFA更可取。
發(fā)明內(nèi)容
針對PFA的現(xiàn)有實現(xiàn)方案中存在的需要重新排序這一技術(shù)缺點,本發(fā)明提供了無需重新排序的7點WFTA處理器。當(dāng)N點非2冪次FFT采用變址同序PFA實現(xiàn)時,如果N的某一互素因子Ni=7(i = I, 2,…,s),那么使用本專利無需對第i維FFT重新排序。為了去除第i維7點FFT的重新排序操作,需要修改常規(guī)的7點WFTA。常規(guī)的7點WFTA的對角矩陣是固定不變的,本發(fā)明將對角矩陣對角線上的各元素表示成角度參數(shù)0 =2 Ji /7* < N/7>7的函數(shù),其中,< N/7>7表示對N/7取模7操作。對于不同的N,修改的7點WFTA的對角矩陣不盡相同。
對于第i維FFT,需進(jìn)行N/7次無需重新排序的7點WFTA,無需重新排序,簡化了控制邏輯,共節(jié)約了 N/7*7=N個時鐘周期,提高了運算速度,存儲器消耗減少了一半,降低了硬件成本。
關(guān)于本發(fā)明的優(yōu)點與精神可通過接下來的發(fā)明詳述及附圖得到進(jìn)一步的了解。
圖1是常規(guī)的7點WFTA處理器的功能框圖2是輸入矩陣I的具體構(gòu)成;
圖3是輸出矩陣O的具體構(gòu)成;
圖4是對角矩陣D對角線上的具體構(gòu)成;
圖5是預(yù)擾亂的7點WFTA處理器的結(jié)構(gòu)示意圖6是后擾亂的7點WFTA處理器的結(jié)構(gòu)示意圖7是無需重新排序的7點WFTA處理器的功能框圖8是可變對角矩陣A對角線上的具體構(gòu)成。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明作進(jìn)一步說明,但不作為對本發(fā)明的限定。
N點序列X (η)的FFT為
權(quán)利要求
1.一種無需重新排序的7點Winograd快速傅里葉變換處理器,它嵌套于s維的N點變址同序素因子算法,其中,N=N1N^Ns,任意兩個不同因子Ni和Nj互素,i = I, 2, ···, s,j=l, 2,…,S,當(dāng)某一因子隊=7時,所述處理器可用于去除N點變址同序素因子算法第i維FFT的重新排序操作,其特征在于,所述處理器包括 復(fù)數(shù)乘法器M1 M3,它們完成矩陣與向量的乘法運算; 輸入矩陣I,它通過復(fù)數(shù)乘法器M1與輸入向量V相乘得到向量P ; 可變對角矩陣A,它通過復(fù)數(shù)乘法器M2與向量P相乘得到向量q ; 輸出矩陣0,它通過復(fù)數(shù)乘法器M3與向量q相乘得到輸出向量V。
2.如權(quán)利要求I所述的7點Winograd快速傅里葉變換處理器,其特征在于,所述輸入矩陣I和輸出矩陣O與常規(guī)的7點Winograd快速傅里葉變換處理器相同,而對角矩陣由常規(guī)的常數(shù)矩陣修改為可變矩陣A。
3.如權(quán)利要求I所述的7點Winograd快速傅里葉變換處理器,其特征在于,所述可變對角矩陣A對角線上的各元素是角度參數(shù)Θ =2 Ji /7* < N/7>7的函數(shù),其中,< N/7>7表示對N/7取模7操作。
4.一種去除N點變址同序素因子算法第i維FFT重新排序操作的7點Winograd快速傅里葉變換處理方法,其中,N=N1N^Ns,任意兩個不同因子Ni和Nj互素,i = 1,2,-,8,j=l, 2,…,s,隊=7,其特征在于,所述處理方法包括以下步驟 (1)根據(jù)N確定角度參數(shù)Θ=2 31 /7* < N/7>7的具體取值,在此基礎(chǔ)上初始化可變對角矩陣A對角線上各元素的數(shù)值,使A變?yōu)槌?shù),初始化變量1=0,其中,O ( KN/7, < N/7>7表示對N/7取模7操作; (2)從輸入序列x[n]中讀取7個數(shù)據(jù),它們的索引是n=< N/7*m+7*l > N,它們構(gòu)成向量V,其中,O彡m〈7,< N/7*m+7*l > N表示對N/7*m+7*l取模N操作; (3)通過復(fù)數(shù)乘法器M1,輸入矩陣I與向量V相乘,得到向量P; (4)通過復(fù)數(shù)乘法器M2,可變對角矩陣A與向量P相乘,得到向量q; (5)通過復(fù)數(shù)乘法器M3,輸出矩陣O與向量q相乘,得到向量V; (6)將向量V中的7個數(shù)據(jù)依次寫入到輸出序列X[k]中,寫入的索引與讀取的索引完全相同,仍然是k= < N/7*m+7*l > N ; (7)以I為步長遞增改變I的取值,重復(fù)步驟(2)16),直到完成N/7次無需重新排序的7點WFTA。
全文摘要
本發(fā)明涉及一種無需重新排序的7點WFTA處理器,其特征在于,所述處理器主要由輸入矩陣I、可變對角矩陣A、輸出矩陣O和復(fù)數(shù)乘法器M1~M3四部分組成。輸入矩陣I通過復(fù)數(shù)乘法器M1與輸入向量v相乘得到向量p,可變對角矩陣A通過復(fù)數(shù)乘法器M2與向量p相乘得到向量q,輸出矩陣O通過復(fù)數(shù)乘法器M3與向量q相乘得到輸出向量V。本發(fā)明去除了N點變址同序素因子算法中7點WFTA涉及的重新排序操作,簡化了控制邏輯,提高了運算速度,節(jié)約了存儲器消耗,降低了硬件成本。
文檔編號G06F17/16GK102982003SQ20121043598
公開日2013年3月20日 申請日期2012年11月5日 優(yōu)先權(quán)日2012年11月5日
發(fā)明者張鵬, 蔡超時, 劉晉 申請人:蘇州威士達(dá)信息科技有限公司