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