專利名稱:信號處理方法、數(shù)據處理方法及裝置的制作方法
技術領域:
本發(fā)明涉及數(shù)字信號處理技術領域,尤其涉及一種信號處理方法、數(shù)據處理方法 及裝置。
背景技術:
在數(shù)字信號處理領域,傅立葉變換、離散余弦變換(DCT,Discrete cosinetransform)、離散正弦變換(DST, Discrete sine transform)等正交變換有著廣泛 的應用,在頻譜分析、圖像編碼和語音編碼等領域的應用尤其廣泛。其中,DCT是一種空間變換,DCT變換的最大特點是具有能量緊致性,這就使得以 DCT為基礎的編碼系統(tǒng)會具有很好的壓縮性能。修正離散余弦變換(MDCT,ModifiedDiscrete Cosine Transform)是在DCT變換 基礎上的一種改進變換方法,變換塊之間具有較好的連續(xù)性,在寬帶及超寬帶數(shù)字音頻編 碼領域,MDCT變換起著至關重要的作用。直接根據變換公式進行MDCT正變換與逆變換會導致很高的計算復雜度,特別是 對于點數(shù)較大的MDCT變換,由于其龐大的計算復雜度而無法實時實現(xiàn)。由于MDCT變換在 實時通信領域特別是音頻編碼中的廣泛應用,提供一種快速的MDCT變換方法成為一種迫 切的需要?,F(xiàn)有的技術中實現(xiàn)快速的MDCT變換常用的方法為基于快速傅里葉變換(FFT, Fast FourierTransform)來實現(xiàn)MDCT變換的快速化需求。其中,較普遍使用的基于FFT變換實現(xiàn)的N點快速MDCT變換又包含基于N/2點 FFT變換實現(xiàn)的快速MDCT變換和基于N/4點FFT變換實現(xiàn)的快速MDCT變換等不同的實現(xiàn) 方式。在對現(xiàn)有技術的研究和實踐過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術存在以下問題使用基于N/4點FFT變換實現(xiàn)MDCT變換的快速化算法時,預旋轉及后旋轉處理變 換需要至少存儲一個N/4點的余弦(cosine)表值和一個N/4點的正弦(sine)表值,共計 N/2點表值。當前后旋轉不對稱時將需要存儲N點表值。當N值較大的時候,增加的存儲量 較高,占用存儲資源較多,也會影響變換效率。使用基于互質因子的快速傅里葉變換算法時,需要進行大量的尋址操作且沒有考 慮數(shù)據順序即位的問題,進行變換時,需要對變換后得到的數(shù)據進行排序,才能得到真正的 輸出數(shù)據,增加了計算量。
發(fā)明內容
本發(fā)明實施例要解決的技術問題是提供一種信號處理方法、數(shù)據處理方法及裝 置,可以提高信號處理的效率。為解決上述技術問題,本發(fā)明實施例一方面,提供了一種時域到頻域的信號處理方法,包括對時域數(shù)據進行預處理;
4
使用旋轉因子a·妒力+()·5對所述預處理獲得的數(shù)據進行預旋轉處理;對所述預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換;使用旋轉因子b·^^+11·5對所述離散傅里葉變換后的數(shù)據進行后旋轉處理,獲得頻 域數(shù)據;所述a、b為常數(shù),所述N為時域數(shù)據長度,所述 =,。另一方面,提供了一種頻域到時域的信號處理方法,包括對頻域數(shù)據進行重組;使用旋轉因子C·灰力+°·5對所述重組獲得的數(shù)據進行預旋轉處理;對所述預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換;使用旋轉因子對所述離散傅里葉變換后的數(shù)據進行后旋轉處理;對所述后旋轉處理后的數(shù)據進行后處理,獲得時域數(shù)據;所述c、d為常數(shù),所述N為兩倍的頻域數(shù)據長度,所述 =。另一方面,提供了一種數(shù)據處理方法,包括根據地址表,對數(shù)據進行Q次P點離散傅里葉變換;根據地址表,對所述Q次P點離散傅里葉變換后的數(shù)據進行P次Q點離散傅里葉 變換;其中所述P、Q為互質的正整數(shù);所述地址表為(K1Xr^K2Xn)M,所述M為地址表長 度,M = PXQ,所述Ii1 = 0,-,P-Ln2 = 0,…,Q_l,K”K2為互質的正整數(shù)且滿足(K1K2)m =0。另一方面,提供了一種時域到頻域的信號處理裝置,包括預處理單元,用于對時域數(shù)據進行預處理;第一預旋轉單元,用于使用旋轉因子為a·^·;^5對所述預處理單元預處理獲得的 數(shù)據進行預旋轉處理;第一傅里葉變換單元,用于對所述第一預旋轉單元預旋轉處理后的數(shù)據進行N/4 點的離散傅里葉變換;第一后旋轉單元,用于使用旋轉因子b·^^+11·5對所述第一傅里葉變換單元進行離 散傅里葉變換后的數(shù)據進行后旋轉處理,獲得頻域數(shù)據。另一方面,提供了一種頻域到時域的信號處理裝置,包括重組單元,用于頻域數(shù)據進行重組;第二預旋轉單元,用于使用旋轉因子為OiF^a5對所述重組單元重組獲得的數(shù)據 進行預旋轉處理;第二傅里葉變換單元,用于對所述第二預旋轉單元預旋轉處理后的數(shù)據進行N/4 點的離散傅里葉變換;第三后旋轉單元,用于使用旋轉因子d·爐;+<)_5對所述第二傅里葉變換單元離散傅 里葉變換后的數(shù)據進行后旋轉處理;后處理單元,用于對所述第三后旋轉單元后旋轉處理后的數(shù)據進行后處理,獲得 時域數(shù)據。
5
另一方面,提供了一種數(shù)據處理裝置,包括地址表單元,用于生成或存儲地址表;第五變換單元,用于根據所述地址表單元生成或存儲的地址表,對數(shù)據進行Q次P 點離散傅里葉變換;第六變換單元,用于根據所述地址表單元生成或存儲的地址表,對第五變換單元 變換后的數(shù)據進行P次Q點離散傅里葉變換;其中所述P、Q為互質的正整數(shù);所述地址表為(K1Xr^K2Xn)M,所述M為地址表長 度,M = PXQ,所述Ii1 = 0,-,P-Ln2 = 0,…,Q_l,K”K2為互質的正整數(shù)且滿足(K1K2)m =0。由以上技術方案可以看出,由于本發(fā)明實施例提供的信號處理方法采用的旋轉因 子為常數(shù)與%〗+()·5項的乘積,由于具有對稱性,因此,只需要存儲一個N/4點的數(shù)據表 格即可完成預旋轉處理及后旋轉處理,相比現(xiàn)有技術,本發(fā)明實施例提供的信號處理方法 大大降低了存儲量,減少了對存儲資源的占用,也提高了變換效率。進一步,本發(fā)明實施例 提供的信號處理方法在進行后旋轉處理時不需要使用歸一化因子,節(jié)省了步驟,進一步提 高了變換效率。本發(fā)明實施例引入地址表進行FFT變換,根據地址表進行尋址,按照地址表對應 地址讀取輸入數(shù)據,并按照地址表對應地址存儲輸出數(shù)據,變換后的數(shù)據順序即位,不需要 特別進行排序,降低了計算復雜度,提高了計算效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據這些附圖獲得其他的實現(xiàn)方式。圖1為本發(fā)明提供的時域到頻域的信號處理方法實施例一流程圖;圖2為本發(fā)明實施例提供的引入地址表進行FFT變換的數(shù)據處理方法流程圖;圖3為本發(fā)明提供的頻域到時域的信號處理方法實施例二流程圖;圖4為本發(fā)明提供的時域到頻域的信號處理方法實施例三流程圖;圖5為本發(fā)明提供的頻域到時域的信號處理方法實施例四流程圖;圖6為本發(fā)明提供的時域到頻域的信號處理方法實施例五流程圖;圖7為本發(fā)明提供的頻域到時域的信號處理方法實施例六流程圖;圖8為本發(fā)明實施例提供的時域到頻域的信號處理裝置結構圖;圖9為本發(fā)明實施例提供的頻域到時域的信號處理裝置結構圖;圖10為本發(fā)明實施例提供的數(shù)據處理裝置結構圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于 本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明實施例提供了一種信號處理方法、數(shù)據處理方法及裝置,可以有效提高信 號處理的效率。現(xiàn)有技術中,基于N/4點FFT變換實現(xiàn)MDCT變換的快速化通常先對N點的數(shù)據進 行加窗、重組及預旋轉處理,將N點的MDCT變換轉換成為一個N/4點的FFT變換,經過FFT 變換后的數(shù)據再進行后旋轉處理得到最終的MDCT系數(shù)。MDCT變換的定義為 其中,A為歸一化因子,并且,A為常數(shù)。根據MDCT變換定義可以得到
其中^r上述兩式組合后得到
post-rotationf pre-rotation Λ po int s DFT
Σ "υ
+0.125
n=0
Wnk
眾二 0,…,么一 1則基于N/4點FFT變換實現(xiàn)MDCT變換的正變換具體步驟如下①加窗處理yn = hnxn η = 0,···, N-I其中hn為滿足完全重構條件的窗函數(shù),但并不要求hn為對稱窗,也就是說分析與 合成可以用不同的窗,只要分析窗與合成窗能夠共同完成完全重構;Xn為輸入數(shù)據,一般情 況下Xc^N/H為緩存的上一幀數(shù)據,而xN/2 為當前幀數(shù)據。②數(shù)據重組Un = (z2n+jzN/2+2n)其中
η = 0,…,Ν/4-1
I Zn+% ~yn~ y%-\~n
= 一少JV-l-n ~ y%+n 或者表示成
《+0.125
"二 U-I
ι Zn = ~y +-i% - y-iM/^n其中旋轉因子FFTtu25可以展開如下式 進行預旋轉及后旋轉處理時需要使用旋轉因子^+°·12Κ+°_125,因此需要至少存 儲一個Ν/4點的余弦(cosine)表值和一個Ν/4點的正弦(sine)表值,共計Ν/2點表值。當 前后旋轉不對稱時將需要存儲N點表值。當N值較大的時候,增加的存儲量較高,占用存儲 資源較多,也會影響變換效率。本發(fā)明提供的對信號進行時域到頻域的信號處理方法實施例包括對時域數(shù)據進行預處理;使用旋轉因子a·巧+°·5對預處理獲得的數(shù)據進行預旋轉處理;對預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換;使用旋轉因子對離散傅里葉變換后的數(shù)據進行后旋轉處理,獲得頻域數(shù) 據;其中3、13為常數(shù)力為時域數(shù)據長度,11 = 0,...力/4-1,1^ = 0,...力/4-1,% = e氣在進行預旋轉處理前對數(shù)據進行的處理都可以被稱為預處理,例如在本實施例 中,預處理可以為加窗及數(shù)據重組,也可以為數(shù)據重組。本發(fā)明提供的對信號進行頻域到時域的信號處理方法實施例包括對頻域數(shù)據進行重組;使用旋轉因子對重組獲得的數(shù)據進行預旋轉處理;對預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換;使用旋轉因子d_〖FTa5對離散傅里葉變換后的數(shù)據進行后旋轉處理;對后旋轉處理后的數(shù)據進行后處理,獲得時域數(shù)據;其中c、d為常數(shù),N為兩倍的頻域數(shù)據長度, 在進行后旋轉處理后對數(shù)據進行的處理都可以被稱為后處理,后處理的內容通常 要視相應時域到頻域的信號處理方法中預處理內容而定,例如在本發(fā)明實施例中,預處理 為加窗及數(shù)據重組時,后處理也為加窗及數(shù)據重組;預處理為數(shù)據重組時,后處理也為數(shù)據重組。時域到頻域的信號處理方法又可稱作正變換,頻域到時域的信號處理方法又可稱 作逆變換。在正變換與逆變換中的aXbXcXd = 4/N時,以正變換的輸出數(shù)據直接作為逆 變換的輸入數(shù)據,逆變換的結果可以完成完全重構,即恢復獲得進行正變換前的數(shù)據,在實 際操作中并不一定需要實現(xiàn)完全重構。由于本發(fā)明提供的信號處理方法采用的旋轉因子中的巧+°·5項可以展開如下式 其中,( + 0.5)) = sin(^ (%-1-η + 0.5)). 因此,爐廣·5具有對稱性,只需要存儲cos(|(n + 0.5))與sin(*(n + 0.5))中任意一個
N/4點的數(shù)據表格即可完成預旋轉處理及后旋轉處理。在傳統(tǒng)MDCT中,為了得到MDCT譜系數(shù),旋轉因子必須取妒;;+°·125及^^+^25 ,而
^rm5及^+°·125是不具有對稱性的,在進行預旋轉處理及后旋轉處理時至少需要存儲一個 N/4點的余弦表值和一個N/4點的正弦表值,本發(fā)明提供的信號處理方法實施例采用的旋 轉因子為常數(shù)與爐;Ta5項的乘積,由于妒;;+<)·5具有對稱性,因此,只需要存儲一個N/4點的數(shù) 據表格即可完成預旋轉處理及后旋轉處理,相比現(xiàn)有技術,本發(fā)明提供的信號處理方法大 大降低了存儲量,減少了對存儲資源的占用,也提高了變換效率。進一步,本發(fā)明提供的信 號處理方法在進行后旋轉處理時不需要使用歸一化因子,節(jié)省了步驟,進一步提高了變換 效率?,F(xiàn)以實例對本發(fā)明提供的信號處理方法實施例進行描述,圖1為本發(fā)明提供的時 域到頻域的信號處理方法實施例一流程圖,包括101、對時域數(shù)據進行預處理;本步驟中預處理包括加窗及數(shù)據重組處理,實際使用中可以采用其他的預處理方 式;設時域數(shù)據Xn為輸入數(shù)據,一般情況下Χ^/Η為緩存的上一幀數(shù)據,而Χμκ為 當前幀數(shù)據,N為時域數(shù)據長度,在本實施例中可以取N= 1280。先對數(shù)據進行加窗處理yn = hnxn η = 0,...,Ν_1,其中hn為滿足完全重構條件的窗函數(shù),可以被稱為分析窗函數(shù),逆變換時使用的 窗函數(shù)可以被稱為合成窗函數(shù),分析窗函數(shù)、合成窗函數(shù)可以選用不同的窗函數(shù),只要分析 窗函數(shù)與合成窗函數(shù)能夠滿足共同完成完全重構的條件,對加窗后的數(shù)據進行重組,得到 重組后的數(shù)據Un,滿足Un = (z2n+jzN/2+2n) η = 0,...,Ν/4-1其中 102、使用旋轉因子a·^^·5對預處理獲得的數(shù)據進行預旋轉處理。將重組數(shù)據Un
進行預旋轉處理,旋轉因子η = 0,···,Ν/4_1。其中 =cos(^)-ysin(^)
a為常數(shù)。旋轉后的數(shù)據為a-ffT°_5·、。本實施例中可以選取a = ^由于旋轉因子中的b+。5項可以寫成以下形式
VN。W^W廣.5 =e-^Lcos(j^)_.sin(2^+Q.5)) 或者表示成
n = 0,
ζη = yn-% - y^-n η = %,···,%-ι
滿
cos(| (η + 0.5)) = sin(| (興一1 - + 0.5))
Sin(|(n + 0.5)) = COS(|("/-l-n + 0.5))條件,因此具體的實現(xiàn)過程中只需要存儲一個Ν/4
點的sine或者cosine數(shù)據表格即可。本實施例只存儲了一個N/4點的數(shù)據表格,表格中
數(shù)值的表達式為(夸("+ 0.5)) n = 0,…,319。 103、對預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換(DFT,本步驟中可以選用普通的N/4點的DFT變換,也可以選用其他各種N/4點的快速 傅立葉變換(FFT, Fast Fourier Transform)。進一步,步驟103中,可以在M = N/4 = PXQ,P、Q為正整數(shù)且P與Q互質時,使用 基于地址表尋址的FFT變換,其中地址表長度為M。圖2為本發(fā)明實施例提供的引入地址表進行FFT變換的數(shù)據處理方法流程圖,包其中K^ K2為互質的正整數(shù)且滿足(K1K)m = 0,以K1K2 = Z,<Z>M的意義為Z對M 的模,即Z除以M的余數(shù)。本步驟可以提前進行,與步驟101、102沒有順序關系,也就是說
地址表I可以預先計算并存儲。地址表I中存儲的地址需要可以遍歷0,1,......M-1,和
輸入數(shù)據實現(xiàn)一對一映射,以確定數(shù)據的順序關系。地址表I在滿足這種一對一映射關系 時,需要滿足以下三個條件①K1為Q的正整數(shù)倍,和/或K2為P的正整數(shù)倍;②K1與P互質;③K2與Q互質。本實施例中可以取P = 64,Q = 5,K1 = 65,K2 = 256,M = N/4 = 320,因此地址 表I的表達式可以寫成I = <65n1+256n2>320其中, =(),...,63,n2 = 0,...,4。地址表I可以以數(shù)組的形式存儲在表格中,例如I [n2 X nj的一維數(shù)組,或者I [nj [n2]的二維數(shù)組。假設地址表I 為 M = 320 點的地址表,K1 = 65,K2 = 256,Q = 5,P = 64,QXP = 5X64點;如果地址表I存儲為Ib2Xn1]的一維數(shù)組Idx [QX P]={0,65,130,195,260,5,70,135,200,265,10,75,140,205,270,15,80,145,210, 275,20,85,150,215,280,25,90,155,220,285,30,95,160,225,290,35,100,165,230,295, 40,105,170,235,300,45,110,175,240,305,50,115,180,245,310,55,120,185,250,315, 60,125,190,255,256,1,66,131,196,261,6,71,136,201,266,11,76,141,206,271,16,81,146, 211,276,21,86,151,216,281,26,91,156,221,286,31,96,161,226,291,36,101,166,231,
括
1031、生成地址表I。地址表I滿足如下公式 I = (K1Xn^K2Xn2)M 叫=0,—, P-I
n2 = 0,…,Q-I
10296,41,106,171,236,301,46,111,176,241,306,51,116,181,246,311,56,121,186,251, 316,61,126,191,192,257,2,67,132,197,262,7,72,137,202,267,12,77,142,207,272,17,82, 147,212,277,22,87,152,217,282,27,92,157,222,287,32,97,162,227,292,37,102,167, 232,297,42,107,172,237,302,47,112,177,242,307,52,117,182,247,312,57,122,187, 252,317,62,127,128,193,258,3,68,133,198,263,8,73,138,203,268,13,78,143,208,273,18, 83,148,213,278,23,88,153,218,283,28,93,158,223,288,33,98,163,228,293,38,103, 168,233,298,43,108,173,238,303,48,113,178,243,308,53,118,183,248,313,58,123, 188,253,318,63,64,129,194,259,4,69,134,199,264,9,74,139,204,269,14,79,144,209,274, 19,84,149,214,279,24,89,154,219,284,29,94,159,224,289,34,99,164,229,294,39, 104,169,234,299,44,109,174,239,304,49,114,179,244,309,54,119,184,249,314,59, 124,189,254,319};如果地址表I存儲為I [nj [n2]的二維數(shù)組Idx[Q] [P]={{0,65,130,195,260,5,70,135,200,265,10,75,140,205,270,15,80,145,210, 275,20,85,150,215,280,25,90,155,220,285,30,95,160,225,290,35,100,165,230,295, 40,105,170,235,300,45,110,175,240,305,50,115,180,245,310,55,120,185,250,315, 60,125,190,255},{256,1,66,131,196,261,6,71,136,201,266,11,76,141,206,271,16,81,146, 211,276,21,86,151,216,281,26,91,156,221,286,31,96,161,226,291,36,101,166,231, 296,41,106,171,236,301,46,111,176,241,306,51,116,181,246,311,56,121,186,251, 316,61,126,191},{192,257,2,67,132,197,262,7,72,137,202,267,12,77,142,207,272,17,82, 147,212,277,22,87,152,217,282,27,92,157,222,287,32,97,162,227,292,37,102,167, 232,297,42,107,172,237,302,47,112,177,242,307,52,117,182,247,312,57,122,187, 252,317,62,127},{128,193,258,3,68,133,198,263,8,73,138,203,268,13,78,143,208,273,18, 83,148,213,278,23,88,153,218,283,28,93,158,223,288,33,98,163,228,293,38,103, 168,233,298,43,108,173,238,303,48,113,178,243,308,53,118,183,248,313,58,123, 188,253,318,63},{64,129,194,259,4,69,134,199,264,9,74,139,204,269,14,79,144,209,274, 19,84,149,214,279,24,89,154,219,284,29,94,159,224,289,34,99,164,229,294,39, 104,169,234,299,44,109,174,239,304,49,114,179,244,309,54,119,184,249,314,59, 124,189,254,319}};1032、根據地址表I,進行Q次P點DFT。第i (i = 0,…,Q-1)次P點DFT的輸入數(shù)據為地址表I中n2 = i,Ii1 = 0,…, P-I對應的P個地址索引值對應的數(shù)據,第i次P點DFT的結果需要進行χ間隔的循環(huán)移位
11后作為最后的輸出。其中,χ為>P對于P的循環(huán)模反,χ滿足< χ. >P>P = 1。例如,地址表I以Ifc2Xn1]的一維數(shù)組形式存儲,根據地址表I進行Q次P點DFT 可以表示成DFT_P(z(I+iP))x i = 0,…,Q—1 ;每一次P點DFT所取的數(shù)據為I+iP處的連續(xù)P點的索引值對應的數(shù)據,每一次P 點DFT的結果需要進行χ間隔的循環(huán)移位。本實施例中是進行5次64點的DFT,第i (i = 0,…4)次64點DFT所取的數(shù)據 為地址表數(shù)組I[64i]處開始的連續(xù)64點存儲的地址索引值對應的輸入數(shù)據(在本實施例 中為旋轉后的數(shù)據),第i次64點DFT的結果需要進行5次循環(huán)移位。舉個簡單的例子,比 如對于向量Z= [Z。Z1Z2Z3Z4],其2次循環(huán)移位結果是Z = [Z。Z2Z4Z1Z3]。當然,為了進一步 提高計算效率,也可以用FFT替換DFT。1033、根據地址表I,進行P次Q點DFT。第i (i = 0,…,P-1)次Q點DFT的輸入數(shù)據為地址表I中Ii1 = i,n2 = 0,…, Q-I對應的Q個地址索引值對應的數(shù)據,第i次Q點DFT的結果需要進行y間隔的循環(huán)移位 后作為最后的輸出。其中,y為< I >Q對于Q的循環(huán)模反,y滿足< y· < @ >Q >Q = ι。例如,地址表I以I [n2 X nj的一維數(shù)組形式存儲,根據地址表I進行P次Q點DFT 可以表示成DFT_Q(z(I+i))y i = 0,…,P—1;每一次Q點DFT所取的數(shù)據為I+i處的間隔為P的Q個索引值所對應的數(shù)據。每 一次Q點DFT的結果需要進行y間隔的循環(huán)移位。本實施例中是進行64次5點的DFT,第i (i = 0,-63)次5點DFT所取的數(shù)據 為地址表數(shù)組I [i]處開始的間隔為64的5個點存儲的地址索引值對應的輸入數(shù)據(在本 實施例中為旋轉后的數(shù)據),第i次5點DFT的結果需要進行4次循環(huán)移位。由于在現(xiàn)有技術中,多數(shù)基于互質因子的DFT變換方法都沒有考慮數(shù)據順序即位 的問題,進行變換時,需要對變換后得到的數(shù)據進行排序,才能得到真正的輸出數(shù)據,增加 了計算量,本發(fā)明實施例引入地址表進行DFT變換,根據地址表進行尋址,按照地址表對應 地址讀取輸入數(shù)據,并按照地址表對應地址存儲輸出數(shù)據,變換后的數(shù)據順序即位,不需要 特別進行排序,降低了計算復雜度,提高了計算效率。104、使用旋轉因子對離散傅里葉變換后的數(shù)據進行后旋轉處理,獲得頻 域數(shù)據。對變換后的數(shù)據進行后旋轉處理,旋轉因子為b.F》+°_5,k = 0,…,N/4-1,其中
.2πJ2
Wn =e"JT =Cos(^f)b為常數(shù)。本實施例中,可以選取b = ^由于旋轉因子中
9ο
的項可以寫成以下形式
12
妒廣.5= e。s(2 廣))"sm(2 廣)))=0,...,Ν/4-1而且b = a,因此,在具體的實現(xiàn)過程中可以復用步驟102中所使用的N/4點的數(shù) 據表格。頻域數(shù)據也即最終的譜為Xk,k = 0,…,N/2-1,可表述為
1 “ —,,.ο . ΤΤ/"+0.5Γ/Γ/
% 與本發(fā)明提供的時域到頻域的信號處理方法實施例一對應,本發(fā)明提供了用于頻 域到時域的信號處理方法實施例二。如果采用本發(fā)明提供的時域到頻域的信號處理方法實 施例一進行正變換,則可以采用本發(fā)明提供的頻域到時域的信號處理方法實施例二對數(shù)據 進行相應的逆變換。圖3為本發(fā)明提供的頻域到時域的信號處理方法實施例二流程圖,包括301、對頻域數(shù)據進行重組。在本實施例中,將對頻域數(shù)據Xk,k = 0,…,N/2-1進行重組。本實施例中N = 1280。數(shù)據重組后獲取的中間變量為(X2k+jXN/2+2k),k = 0,…,N/4-1。302、使用旋轉因子0爐》+°·5對重組獲得的數(shù)據進行預旋轉處理。對重組后的數(shù)據
因此
進行預旋轉處理,旋轉因子為C-PFfa5,k = 0,…,Ν/4-1。其中所廠牟 ,2-. . . c為常數(shù)。本實施例中可以選取C = ^,
也可以復用步驟102和104中所使用的Ν/4點的數(shù)據表格。303、對預旋轉處理后的數(shù)據進行Ν/4點的離散傅里葉變換??梢赃x用普通的Ν/4點的DFT變換,也可以選用其他各種Ν/4點的快速傅立葉變換。本步驟也可以采用圖2所示的方法進行320點快速傅立葉變換。304、使用旋轉因子d·巧+°·5對離散傅里葉變換后的數(shù)據進行后旋轉處理。 對變換后的數(shù)據進行后旋轉處理,旋轉因子為 1· Γ;+()·5,η = 0,…,Ν/4-1。其中
^ /jTd為常數(shù)。本實施例中可以選取d = 因此也可以復用步
驟102和104中所使用的Ν/4點的數(shù)據表格。得到處理后的數(shù)據yn: 305、對后旋轉處理后的數(shù)據進行后處理,得到時域數(shù)據。
本步驟中后處理包括加窗及數(shù)據重組處理,實際使用中可以采用其他的后處理方 式;經過加窗重組后得到時域數(shù)據又,η = 0,…,Ν/2-1。. 其中
為合成窗,與分析窗hn—起滿足完全重構關
為上一幀的緩存數(shù)據,mn的更新滿足 在使用本發(fā)明提供的時域到頻域的信號處理方法實施例一、頻域到時域的信號處 理方法實施例二時,正變換與反變換中的常數(shù)a、b、c和d在滿足aXbXcXd = 4/N時,逆 變換的結果可以完成完全重構,在實際操作中并不一定需要實現(xiàn)完全重構。例如,我們可以選取a=b = c = d = gi,此時正變換和逆變換只需要存儲
W'
)s(警("+ 0.5))與+ 中任意-
豸COS(夸(《 + 0.5))與;sin(|(n + 0.5))中任意一個N/4點的數(shù)據表格即可完成預旋轉處
理及后旋轉處理。如果常數(shù)a、b、c和d并不是兩兩相等,則要根據具體情況存儲數(shù)據表格 來完成預旋轉處理及后旋轉處理。本發(fā)明提供的另一種時域到頻域的信號處理方法實施例包括對時域數(shù)據進行預處理;使用旋轉因子a· 對預處理后獲得的數(shù)據進行預旋轉處理;對預旋轉處理后的數(shù)據進行Ν/4點的離散傅里葉變換;使用旋轉因子和歸一化因子A對離散傅里葉變換后的數(shù)據進行后旋轉處 理,獲得頻域數(shù)據;其中3、13為常數(shù)力為時域數(shù)據長度,11 = 0,...力/4-1,1^ = 0,...力/4-1,% = e_j苦。在進行預旋轉處理前對數(shù)據進行的處理都可以被稱為預處理,例如在本實施例 中,預處理可以為加窗及數(shù)據重組,也可以為數(shù)據重組。
理;
本發(fā)明提供的另一種頻域到時域的信號處理方法實施例包括 對頻域數(shù)據進行重組;
使用旋轉因子&妒》+°·5對重組獲得的數(shù)據進行預旋轉處理; 對預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換;
使用旋轉因子和歸一化因子B對離散傅里葉變換后的數(shù)據進行后旋轉處 對后旋轉處理后的數(shù)據進行后處理,獲得時域數(shù)據; 其中c、d為常數(shù),N為兩倍的頻域數(shù)據長度,η = 0,…,N/4_l,k = 0,Ν/4-1,
14.2n
jIT
-在進行后旋轉處理后對數(shù)據進行的處理都可以被稱為后處理,后處理的內容通常 要視相應時域到頻域的信號處理方法中預處理內容而定,例如在本實施例中,預處理為加 窗及數(shù)據重組時,后處理也為加窗及數(shù)據重組;預處理為數(shù)據重組時,后處理也為數(shù)據重組。時域到頻域的信號處理方法又可稱作正變換,頻域到時域的信號處理方法又可稱 作逆變換。在正變換與逆變換中的aXbXcXdXAXB = 4/N時,以正變換的輸出數(shù)據直接 作為逆變換的輸入數(shù)據,逆變換的結果可以完成完全重構,即恢復獲得進行正變換前的數(shù)
據,例如可以選取 a = b = c = d= LA-B = 4/N,或者選取 a = b = c = d = ^=^,A = B =
1。在實際操作中并不一定需要實現(xiàn)完全重構。
V2_ 'W'
由于本發(fā)明提供的信號處理方法采用的旋轉因子中的巧+°·5項可以展開如下式
其中,cos(|( + 0.5)) 二-1 -η + 0.5)).
sin(|(η+ 0.5)) = cos(|(%-\-η + 0.5)).
因此,^+α5具有對稱性,只需要存儲COS(警(《 + O.5))與sin(|(n + 0.5))中任意一個
N/4點的數(shù)據表格即可完成預旋轉處理及后旋轉處理。在傳統(tǒng)MDCT中,為了得到MDCT譜系 數(shù),旋轉因子必須取,而『》+()·125是不具有對稱性的,在進行預旋轉處理及后旋轉處理 時至少需要存儲一個N/4點的余弦表值和一個N/4點的正弦表值,本發(fā)明提供的信號處理 方法實施例采用的旋轉因子均為常數(shù)與巧丨+°_5項的乘積,由于巧具有對稱性,因此,只需 要存儲一個N/4點的數(shù)據表格即可完成預旋轉處理及后旋轉處理,相比現(xiàn)有技術,本發(fā)明 提供的信號處理方法大大降低了存儲復雜度、存儲量,減少了對存儲資源的占用,也提高了 變換效率。現(xiàn)以實例對本發(fā)明提供的信號處理方法實施例進行描述。假設寬帶音頻編解碼器的采樣率為16KHz,處理幀長為20ms,即每幀320個樣點, 使用本發(fā)明實施例提供的時域到頻域的信號處理方法在編碼端對數(shù)據進行正變換,設Xn為 正變換的輸入數(shù)據,其中XhN/H為緩存的上一幀的320點數(shù)據,而xN/2 為當前幀的320 點數(shù)據,變換區(qū)間長度N為640點,圖4為本發(fā)明提供的信號處理方法實施例三流程圖,包 括401、對時域輸入數(shù)據進行預處理;本步驟中預處理包括加窗及數(shù)據重組處理;設Xn為640點的時域輸入數(shù)據,hn為640點的滿足完全重構條件的窗函數(shù),則加 窗后的數(shù)據yn滿足yn = hnxn η = 0,...,Ν_1,其中滿足完全重構條件的窗函數(shù),可以被稱為分析窗函數(shù)。對加窗后的數(shù)據 進行重組,得到重組后的數(shù)據IV滿足un = (z2n+jzN/2+2n)n = 0,…,N/4—1
15
其中
η = 0,-,%-1或者表示成
= -yn+3% -η = 0,■■■,%-!<
ζη = yn-% 一y^A-ι-ηn = %,402、使用旋轉因子對預處理獲得的數(shù)據進行預旋轉處理。將重組數(shù)據 進行預旋轉處理,旋轉因子為a_fFT°'5,n = 0,…,Ν/4-1。其中
『N = e 1N = cos(蕓)-ysin(^) a 為常數(shù)。本實施例中,取a = 1,則旋轉因子可以寫成以下形式W廣=少°.5) ='Sin(^il)由于滿足(η + 0.5)) = sin(| (幺一 1 - + 0.5)).sin(f-( + 0.5)) = cos(^(^-l- + 0.5)).因此具體的實現(xiàn)過程中只需要存儲cos(f(n + 0·5))與sin(|( + 0.5))中任意一個
N/4點的數(shù)據表格即可。本實施例中存儲了一個N/4點的sine表格,表格的數(shù)值表達式為 sin(*O + 0.5)) ,η = 0,.-,159 ;403、對預旋轉處理后的數(shù)據進行Ν/4點的離散傅里葉變換。本步驟中可以選用普通的M = Ν/4 = 160點的DFT變換,也可以選用其他各種M =Ν/4 = 160點的FFT變換404、使用旋轉因子b·旳+°·5和歸一化因子A對變換后的數(shù)據進行后旋轉處理,獲得 頻域輸出數(shù)據。對變換后的數(shù)據進行后旋轉處理,旋轉因子為、·Κ^+°+5, k = 0,…,N/4-1,其中
Wn=Cos(^f)-ysin(^) b為常數(shù)。本實施例中,可以選取b = 1,旋轉因子可以寫成
以下形式= (^) = cqs(2,M-Sjj_ .k = 0,...,N/4_1而且b = a,因此,在具體的實現(xiàn)過程中可以復用步驟402中所使用的N/4點的數(shù) 據表格。得到最終數(shù)據Xk,k = 0,…,Ν/2-1。
16
,其中A為歸一化因子,A為常數(shù)。本實施例中,可以選取A=—。與本發(fā)明提供的時域到頻域的信號處理方法實施例三對應,本發(fā)明提供了用于頻 域到時域的信號處理方法實施例四,在采用本發(fā)明提供的時域到頻域的信號處理方法實施 例三進行變換時,可以采用本發(fā)明提供的頻域到時域的信號處理方法實施例四對數(shù)據進行 相應的逆變換。圖5為本發(fā)明提供的頻域到時域的信號處理方法實施例四流程圖,包括501、對頻域輸入數(shù)據進行重組。在本實施例中,將對數(shù)據Xk,k = 0,…,N/2-1進行重組,數(shù)據重組后獲取的中間 變量為,k = 0,…,Ν/4-1。其中 N = 640。502、使用旋轉因子對重組獲得的數(shù)據進行預旋轉處理。對重組后的數(shù)據
_.2π
進行預旋轉處理,旋轉因子為…^^—,…,確-^其中 廠“^哪^^ — 一每),
c為常數(shù)。本實施例中可以選取c = 1,因此也可以復用本發(fā)明提供的時域到頻域的信號處 理方法實施例三中步驟402和404中所使用的Ν/4點的數(shù)據表格。503、對預旋轉處理后的數(shù)據進行Ν/4點的離散傅里葉變換。對旋轉后的數(shù)據進行M = Ν/4 = 160點的DFT變換。可以選用普通的160點的 DFT變換,也可以選用其他各種160點的快速傅立葉變換。504、使用旋轉因子和歸一化因子B對離散傅里葉變換后的數(shù)據進行后旋 轉處理。對變換后的數(shù)據進行后旋轉處理,旋轉因子為IPFrft^n = O,…,Ν/4-1。其中 ^ =Cos(^)-J sin(^-) d為常數(shù)。得到處理后的數(shù)據yn,
‘π
B · (-7). d · C5 Σ + ).c. K+0-5 “ = 0,…,% -1Λ=%,
Bd-W1T5 Σ [(^2k +) · C · e Kn = %,-,%-\
、/C 二0其中B為歸一化因子,B為常數(shù)。本實施例中,選取B= 。本實施例中可以選取d
=1,因此也可以復用本發(fā)明提供的時域到頻域的信號處理方法實施例三中步驟402和404 中所使用的N/4點的數(shù)據表格。505、對后旋轉處理后的數(shù)據進行后處理,得到時域輸出數(shù)據。本步驟中后處理包括加窗及數(shù)據重組處理,實際使用中可以采用其他的后處理方 式;經過加窗重組后得到輸出數(shù)據毛,η = 0,…,Ν/2-1,滿足
X2n = m2ngy2+2n+RQiU Js2nn,j Λ _n = 0,
X%-l~2n = m%-\-2nSN-I-In .
-ReWJgy2^2n
窗hn —起滿足完全重構關系hngn+hn+N/2gn+N/2 = l,n = 0,…,N-N/2-1。mn為上一幀的緩存 數(shù)據,mn的更新滿足
為了滿足完全重構條件,可以對正變換或逆變換或者正逆變換都乘以特定的歸 一化因子。本實施例只給出了對正逆變換都乘以相同的歸一化因子的例子,也可以只對 正變換或逆變換乘以特定的歸一化因子,還可以對正逆變換乘以不同的歸一化因子,只要 aXbXcXdXAXB = 4/N,即可完成完全重構。進一步,在使用歸一化因子的時候也可以引入地址表進行FFT變換,假設一個在 超寬帶音頻編解碼器中,超寬帶音頻編解器的采樣率為32KHz,處理幀長為20ms,即每幀 640個樣點。在變換端對數(shù)據進行正變換,設xn為正變換的輸入數(shù)據,其中Χι,/Η為緩存 的上一幀的640點數(shù)據,而為當前幀的640點數(shù)據。圖6為本發(fā)明提供的時域到頻域的信號處理方法實施例五流程圖,包括601、對時域數(shù)據進行預處理;預處理包括加窗及數(shù)據重組處理。設、為1280點的時域輸入數(shù)據,1280點的滿足完全重構條件的窗函數(shù),則 加窗后的數(shù)據yn滿足yn = hnxn η = 0,...,Ν_1,對加窗后的數(shù)據進行重組,得到重組后的數(shù)據un,滿足un = (z2n+jzN/2+2n)n = 0,…,N/4—1其中 本步驟使用的分析窗函數(shù)hn和進行逆變換時使用的合成窗函數(shù)8 在滿足下式時, 是滿足完全重構條件的窗函數(shù)hngn+hn+N/2gn+N/2 =1,η = 0,…,N-N/2-1602、將預處理后的數(shù)據進行預旋轉處理,旋轉因子為&·『?!?5
ο將重組數(shù)據Un進行預旋轉處理,旋轉因子為a’fFT°'5 ,旋轉后的數(shù)據為
.2π
2π2π
u^ · a
η = 0,···,Ν/4-1。其中 N = cos(^) - ysin(^) a 為常數(shù)。為了進一步減
18V2_
少計算復雜度,可以將歸一化因子直接合進旋轉因子中去,本實施例中可以選取a =
由于旋轉因子中的巧+<)·5項可以寫成以下形式W^·5 = e_j>。5) = COS(I^l) 一 , Sin(^l)由于cos(| (η + 0.5)) = sin(| (%-1-η + 0.5))
sin(if (η + 0.5)) = cos(| (Ν/4-1~η + 0.5))因此只需要存儲一個Ν/4點數(shù)據表格即可,在本實施例中只存儲了一個Ν/4點的 數(shù)據表格,表格中數(shù)值的表達式為^cos(l(" + 0·5)) η = O,…,319。603、對預旋轉處理后的數(shù)據進行Ν/4點的DFT變換,并在變換時采用基于地址表 尋址的方法進行快速傅里葉變換。在本實施例選擇使用P、Q為正整數(shù)滿足P與Q互質的M = N/4 = PXQ點的快速 傅立葉變換。具體步驟如下i、取P = 64,Q = 5,P與Q互質且滿足M = N/4 = PXQ = 320,生成地址表I,地 址表I滿足如下公式I = (K1Xn^K2Xn2)M ^ = 0,…,P-In2 = 0, ···, Q-I其中K^ K2為互質的正整數(shù)且滿足(K1K)m = 0,以K1K2 = Z,<Z>M的意義為Z對M 的模,SP Z除以M的余數(shù)。地址表I中存儲的地址需要可以遍歷0,1,......M-I,和輸入數(shù)據實現(xiàn)一對一映
射,以確定數(shù)據的順序關系。地址表I在滿足這種一對一映射關系時,需要滿足以下三個條 件①K1為Q的正整數(shù)倍,和/或K2為P的正整數(shù)倍;②K1與P互質;③K2與Q互質。在本實施例中K1 = 65,K2 = 256,因此地址表I的表達式可以寫成I = <65n1+256n2>320其中, =(),...,63,n2 = 0,...,4。地址表I可以預先計算并存儲,本步驟與步驟601、602沒有順序關系。在具體的 應用中地址表I可以存儲在一個表格中,本實施例中將表格存儲成Ii2Xn1的一維數(shù)組。i i、根據地址表I,進行Q次P點DFT DFT_P(z(I+iP))x i = 0,…,Q—1 ;每一次P點DFT所取的數(shù)據為I+iP處的連續(xù)P點的索引值對應的數(shù)據,每一次P 點DFT的結果需要進行χ間隔的循環(huán)移位。其中,χ為<|>P對于P的循環(huán)模反,χ滿足
K2
<χ·<-^->Ρ>/,= 1在本實施例中是進行5次64點的DFT,第i(i = 0,…4)次64點DFT所取的數(shù)據為地址表數(shù)組I [64i]處開始的連續(xù)64點存儲的地址索引值對應的輸入數(shù)據, 在本實施例中為旋轉后的數(shù)據,第i次64點DFT的結果需要進行5次循環(huán)移位。比如對于 向量Z= [Z(1Z1Z2Z3Z4],其2次循環(huán)移位結果是Z = [Z(1Z2Z4Z1Z3]。當然,為了進一步提高計 算效率,也可以用FFT來替換DFT。i i i、根據地址表I,進行P次Q點DFT DFT_Q(z(I+i))y i = 0,...,P_1;每一次Q點DFT所取的數(shù)據為I+i處的間隔為P的Q個索引值所對應的數(shù)據。每 一次Q點DFT的結果需要進行y間隔的循環(huán)移位。其中,y為<S>Q對于Q的循環(huán)模反,
y滿足<y_<f >q>q = 1本實施例中是進行64次5點的DFT,第i(i = 0,"·63)次5點
ο
DFT所取的數(shù)據為地址表數(shù)組I [i]處開始的間隔為64的5個點存儲的地址索引值對應的 輸入數(shù)據,在本實施例中為旋轉后的數(shù)據,第i次5點DFT的結果需要進行4次循環(huán)移位。604、使用旋轉因子IvFT^a5和歸一化因子A對變換后的數(shù)據進行后旋轉處理,獲得 頻域數(shù)據。對變換后的數(shù)據進行后旋轉處理,旋轉因子為b’if》+a5,k = 0,…,N/4-1,其中
b為常數(shù)。在本實施例中,可以選取b = @在選取b = |
時,由于旋轉因子中的旳+°·5項可以寫成以下形式W^0-5 == _2乂+0.5))-_(2球N+0.5)) , k = 0,…,N/4-1而且b的取值等于步驟602中a的取值,因此,可以復用步驟602中所存儲的N/4 點的數(shù)據表格。輸出數(shù)據也即最終的譜為Xk,k = 0,…,N/2-1,可表述為其中A為歸一化因子,A為常數(shù)。與本發(fā)明提供的時域到頻域的信號處理方法實施例五對應,本發(fā)明提供了頻域到 時域的信號處理方法實施例六,在采用本發(fā)明提供的時域到頻域的信號處理方法實施例五 進行變換時,可以采用本發(fā)明提供的頻域到時域的信號處理方法實施例六對數(shù)據進行相應 的逆變換。設Xk,k = 0,-,N/2-1為逆變換的輸入數(shù)據,圖7為本發(fā)明提供的頻域到時域的 信號處理方法實施例六流程圖,包括701、對頻域數(shù)據進行重組。在本實施例中,將對輸入數(shù)據Xk,k = 0,…,N/2-1進行重組。數(shù)據重組后獲取的中間變量為(X2k+jXN/2+2k),k = 0,…,N/4-1。
702、對重組后的數(shù)據進行預旋轉處理,旋轉因子為。P^k+a5,k = 0,…,N/4-1其
_.2π
中 =e V = cos(^) - ysin(^) C 為常數(shù)。在本實施例中可以選取c = $ c的取值等于a、b,因此本步驟也可以復用本發(fā)明
提供的信號處理方法實施例五步驟602和604中所使用的N/4點的數(shù)據表格。703、對預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換,并在變換時采用基于 地址表尋址的方法進行快速傅里葉變換。當M = N/4 = PXQ且P與Q互質時,本步驟可以采用本發(fā)明提供的時域到頻域的 信號處理方法實施例五步驟603中描述的數(shù)據處理方法。704、使用旋轉因子d·妒;;+°·5和歸一化因子B對變換后的數(shù)據進行后旋轉處理。對變換后的數(shù)據進行后旋轉處理,旋轉因子為<1·^Τα5,η = 0,…,N/4-1。其中
Wn = = cos(^) - ysin(^) d為常數(shù)。得到處理后的數(shù)據yn
B · (-J) . d · r;+0·5 X [(X2k + JXy2^u ). C. wr·5 ky η = 0,…,% -1
B.d· C Σ[(X2, + JXy2^2k) ·C. wr5K/η = %,-,%-1其中B為歸一化因子,B為常數(shù)。在本實施例中可以選取d = 4 d的取值等于a、b、C,因此本步驟也可以復用本 yn =
發(fā)明提供的信號處理方法實施例五步驟602和604中所使用的N/4點的數(shù)據表格。705、對后旋轉處理后的數(shù)據進行加窗重組,得到時域數(shù)據。經過加窗重組后得到輸出數(shù)據毛,η = 0,…,Ν/2-1^ _η = 0,■■■,%-!其中n = 0,-,%-\ gn為合成窗,與分析窗hn—起滿足完全重構關<{f 、/由于在現(xiàn)有技術中,多數(shù)基于互質因子的快速傅里葉變換方法都沒有考慮數(shù)據順 序即位的問題,進行變換時,需要對變換后得到的數(shù)據進行排序,才能得到真正的輸出數(shù) 據,增加了計算量,本發(fā)明提供的數(shù)據處理方法實施例引入了地址表進行快速傅里葉變換, 根據地址表進行尋址,按照地址表對應地址讀取輸入數(shù)據,并按照地址表對應地址存儲輸 出數(shù)據,以保證變換后的數(shù)據順序即位。
21
本發(fā)明提供的數(shù)據處理方法實施例,包括生成地址表;根據地址表,對輸入數(shù)據進行Q次P點離散傅里葉變換;根據地址表,對所述Q次P點離散傅里葉變換后的數(shù)據進行P次Q點離散傅里葉變換。其中P、Q為互質的正整數(shù),M為地址表長度,M = PX Q,該地址表中存儲的地址可 以遍歷0,1,......M-1,和輸入數(shù)據實現(xiàn)一對一映射。實際使用中獲取地址表的方式有很多種,在本實施例中提供了公式 (K1Xn^K2Xn2)M以獲得地址表;地址表I = (K1Xn^K2Xn2)M,Ii1 = 0,…,P-I, n2 = 0,…,Q-I, K” K2 為互質的 正整數(shù)且滿足(K1K2)m = 0,<Z>M為Z對M的模。地址表I在滿足一對一映射關系時,需要滿足以下三個條件①K1為Q的正整數(shù)倍,和/或K2為P的正整數(shù)倍;②K1與P互質;③K2與Q互質。本發(fā)明提供的數(shù)據處理方法實施例適用于M = PXQ,P、Q為正整數(shù)且P與Q互質 時的FFT變換,以P = 64,Q = 5,P與Q互質,320點的FFT變換為例,本發(fā)明提供的數(shù)據處 理方法實施例流程圖可參考圖2,包括1031、生成地址表I。地址表I滿足如下公式I = (K1Xn^K2Xn2)M η! = 0,…,P-Iη2 = 0, ···, Q-I其中K1、K2為互質的正整數(shù)且滿足(K1K)m = 0,<Ζ>Μ為Z對M的模。在本實施例中K1 = 5,K2 = 64,因此地址表I的表達式可以寫成I = <5n1+64n2>320其中, =(),...,63,n2 = 0,...,4。地址表I可以預先計算并存儲,在具體的應用中地址表I可以存儲在一個表格中, 本實施例中將表格存儲成I [nj [n2]的二維數(shù)組。1032、根據地址表I,對輸入數(shù)據進行Q次P點DFT。第i (i = 0,…,Q-1)次P點DFT的輸入數(shù)據為地址表I中n2 = i,Ii1 = 0,…, P-I對應的P個地址索引值對應的數(shù)據,第i次P點DFT的結果需要進行X間隔的循環(huán)移位 后作為最后的輸出。
K2Kf,其中,χ為< >對于ρ的循環(huán)模反,χ滿足< KjW=I
QQ。例如,地址表I以I [nj [n2]的二維數(shù)組形式存儲,則第i次P點DFT所取的數(shù)據 為地址表I[nJ [i],ni = 0,…,P-I中存儲的P個地址索引值對應的數(shù)據,每一次P點DFT 的結果需要進行χ間隔的循環(huán)移位。本實施例中K1 = 5,P = 64,Q = 5,因此χ = 13。1033、根據地址表I,對上述變換后的數(shù)據進行P次Q點DFT。第i (i = 0,…,P-1)次Q點DFT的輸入數(shù)據為地址表I中Ii1 = i,n2 = 0,…,
22Q-I對應的Q個地址索引值對應的數(shù)據,第i次Q點DFT的結果需要進行y間隔的循環(huán)移位 后作為最后的輸出。其中,y為<&1 >q對于Q的循環(huán)模反,y滿足< y· >q>q=1
Pο例如,地址表I以I [nj [n2]的二維數(shù)組形式存儲,則第i次Q點DFT所取的數(shù)據 為地址表I[i] [n2],n2 = 0,…,Q-I中存儲的Q個地址索引值對應的數(shù)據,每一次Q點DFT 的結果需要進行1間隔的循環(huán)移位。本實施例中K2 = 64,P = 64,Q = 5,因此y = 4。本發(fā)明提供的數(shù)據處理方法實施例,由于引入地址表進行尋址,在進行離散傅立 葉變換時,按照地址表對應地址讀取輸入數(shù)據,并按照地址表對應地址存儲輸出數(shù)據,變換 后的數(shù)據順序即位,逆變換不需要特別進行排序,降低了運算中的尋址開銷,提高了計算效 率。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以 通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質中,該 程序在執(zhí)行時,包括如下步驟一種時域到頻域的信號處理方法,包括對時域數(shù)據進行預處理;使用旋轉因子a 對所述預處理獲得的數(shù)據進行預旋轉處理;對所述預旋轉處理后的數(shù)據進行Ν/4點的離散傅里葉變換;使用旋轉因子對所述離散傅里葉變換后的數(shù)據進行后旋轉處理,獲得頻 域數(shù)據;所述C、d為常數(shù),所述N為兩倍的頻域數(shù)據長度,所述 =^i 一種頻域到時域
ο
的信號處理方法,包括對頻域數(shù)據進行重組;使用旋轉因子0灰力+°·5對所述重組獲得的數(shù)據進行預旋轉處理;對所述預旋轉處理后的數(shù)據進行N/4點的離散傅里葉變換;使用旋轉因子^mTx5對所述離散傅里葉變換后的數(shù)據進行后旋轉處理;對所述后旋轉處理后的數(shù)據進行后處理,獲得時域數(shù)據;所述C、d為常數(shù),所述N為兩倍的頻域數(shù)據長度,所述 =e'^
ο一種數(shù)據處理方法,包括根據地址表,對數(shù)據進行Q次P點離散傅里葉變換;根據地址表,對所述Q次P點離散傅里葉變換后的數(shù)據進行P次Q點離散傅里葉變換。上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。本發(fā)明實施例提供的時域到頻域的信號處理裝置結構如圖8所示,包括預處理單元801,用于對時域數(shù)據進行預處理;第一預旋轉單元802,用于使用旋轉因子為a·^+11·5對所述預處理單元801預處理 獲得的數(shù)據進行預旋轉處理;
23
第一傅里葉變換單元803,用于對所述第一預旋轉單元802預旋轉處理后的數(shù)據 進行N/4點的離散傅里葉變換;第一后旋轉單元804,用于使用旋轉因子對所述第一傅里葉變換單元803 進行離散傅里葉變換后的數(shù)據進行后旋轉處理,獲得頻域數(shù)據。所述a、b為常數(shù),所述N為時域數(shù)據長度,所述η = 0,…,Ν/4-1,所述k = 0,…,
’2π
Ν/4-1,所述^ν =/7。其中,所述第一后旋轉單元804包括第二后旋轉單元,用于使用旋轉因子b·階和歸一化因子A對所述離散傅里葉變 換后的數(shù)據進行后旋轉處理,獲得頻域數(shù)據。第一傅里葉變換單元803包括第一變換單元,用于根據地址表,對所述第一預旋轉單元旋轉后的數(shù)據進行Q次P 點離散傅里葉變換;第二變換單元,用于根據地址表,對所述第一變換單元變換后的數(shù)據進行P次Q點 離散傅里葉變換;所述P、Q為互質的正整數(shù),且M = N/4 = PX Q,所述M為地址表長度;所述地址表 為(K1Xn^K2Xn2)M,所述Ii1 = 0,…,P-I, n2 = 0,…,Q-I,所述K” K2為互質的正整數(shù)且 滿足(K1K2)m = 0,<Z>M為Z對M的模。與本發(fā)明提供的時域到頻域的信號處理裝置實施例對應,本發(fā)明提供了頻域到時 域的信號處理裝置實施例,本發(fā)明實施例提供的頻域到時域的信號處理裝置結構如圖9所 示,包括重組單元901,用于對頻域數(shù)據進行重組;第二預旋轉單元902,用于使用旋轉因子為C·階丨廣°_5對所述重組單元901重組獲得 的數(shù)據進行預旋轉處理;第二傅里葉變換單元903,用于對所述第二預旋轉單元902預旋轉處理后的數(shù)據 進行N/4點的離散傅里葉變換;第三后旋轉單元904,用于使用旋轉因子d·爐;;+°·5對所述第二傅里葉變換單元903 離散傅里葉變換后的數(shù)據進行后旋轉處理;后處理單元905,用于對所述第三后旋轉單元904后旋轉處理后的數(shù)據進行后處 理,獲得時域數(shù)據。所述c、d為常數(shù),所述N為兩倍的頻域數(shù)據長度,所述η = 0,…,Ν/4-1,所述k =0,...^/4-1,所述~=廣1。其中,第三后旋轉單元904包括第四后旋轉單元,用于使用旋轉因子d·巧+α5和歸一化因子B對所述離散傅里葉變 換后的數(shù)據進行后旋轉處理。第二傅里葉變換單元903包括第三變換單元,用于根據地址表,對所述第二預旋轉單元旋轉后的數(shù)據進行Q次P 點離散傅里葉變換;
第四變換單元,用于根據地址表,對所述第三變換單元變換后的數(shù)據進行P次Q點 離散傅里葉變換;所述P、Q為互質的正整數(shù),且M = N/4 = PX Q,所述M為地址表長度;所述地址表 為(K1Xn^K2Xn2)M,所述Ii1 = 0,…,P-I, n2 = 0,…,Q-I,所述K” K2為互質的正整數(shù)且 滿足(K1K2)m = 0,<Z>M為Z對M的模。本發(fā)明實施例提供的時域到頻域的信號處理裝置、頻域到時域的信號處理裝置的 具體使用方法可參考上文對本發(fā)明提供的信號處理方法實施例的描述。在本發(fā)明實施例提供的時域到頻域的信號處理裝置、頻域到時域的信號處理裝置
中,由于旋轉因子中的項可以寫成Wm5的形式,滿足
條件,而旋
轉因子中的項也滿足同樣的對稱條件,因此本發(fā)明實施例提供的時域到頻域的信號 處理裝置、頻域到時域的信號處理裝置只需要存儲一個N/4點的數(shù)據表格,相比現(xiàn)有技術 需要至少存儲一個N/4點的余弦(cosine)表值和一個Ν/4點的正弦(sine)表值,共計Ν/2 點表值,大大降低了存儲復雜度、存儲量,減少了對存儲資源的占用,也提高了信號處理效率。本發(fā)明提供的數(shù)據處理裝置中引入了地址表進行尋址,以保證處理后輸出數(shù)據可 以順序即位,降低尋址開銷,本發(fā)明提供的數(shù)據處理裝置結構如圖10所示,包括地址表單元1001,用于生成或存儲地址表;該地址表中存儲的地址可以遍歷0,1,......Μ-1,和輸入數(shù)據實現(xiàn)一對一映射。實際使用中獲取地址表的方式有很多種,在本實施例中提供了公式 (K1Xn^K2Xn2)M以獲得地址表;地址表I = (K1XnJK2Xn2)M,其中,Ii1 = 0,…,Ρ_1,η2 = 0,...,Q_1,P、Q 為互 質的正整數(shù),M = PXQ,&、K2為互質的正整數(shù)且滿足(K1K2)m = 0,<Z>M為Z對M的模。地址表I在滿足一對一映射關系時,需要滿足以下三個條件①K1為Q的正整數(shù)倍,和/或K2為P的正整數(shù)倍;②K1與P互質;③K2與Q互質。第五變換單元1002,用于根據所述地址表單元1001生成或存儲的地址表,對輸入 數(shù)據進行Q次P點離散傅里葉變換;第i (i = 0,…,Q-1)次P點DFT的輸入數(shù)據為地址表I中n2 = i,Ii1 = 0,…, P-I對應的P個地址索引值對應的數(shù)據,第i次P點DFT的結果需要進行χ間隔的循環(huán)移位 后作為最后的輸出。其中,χ為< * >p對于ρ的循環(huán)模反,χ滿足 例如,地址表I以Ι[ηι][η2]的二維數(shù)組形式存儲,則第i次P點DFT所取的數(shù)據 為地址表I[nJ [i],ni = 0,…,P-I中存儲的P個地址索引值對應的數(shù)據,每一次P點DFT 的結果需要進行χ間隔的循環(huán)移位。第六變換單元1003,用于根據所述地址表單元1001生成或存儲的地址表,對第五變換單元1002變換后的數(shù)據進行P次Q點離散傅里葉變換;第i (i = 0,…,P-1)次Q點DFT的輸入數(shù)據為地址表I中Ii1 = i,n2 = 0,…, Q-I對應的Q個地址索引值對應的數(shù)據,第i次Q點DFT的結果需要進行y間隔的循環(huán)移位 后作為最后的輸出。其中,y為<&、對于Q的循環(huán)模反,y滿足< y· >q>q=1
Pο例如,地址表I以I [nj [n2]的二維數(shù)組形式存儲,則第i次Q點DFT所取的數(shù)據 為地址表I[i] [n2],n2 = 0,…,Q-I中存儲的Q個地址索引值對應的數(shù)據,每一次Q點DFT 的結果需要進行y間隔的循環(huán)移位。本發(fā)明提供的數(shù)據處理裝置實施例,由于引入地址表進行尋址,在進行快速傅立 葉變換時,按照地址表對應地址讀取輸入數(shù)據,并按照地址表對應地址存儲輸出數(shù)據,變換 后的數(shù)據順序即位,不需要特別進行排序,降低了運算中的尋址開銷,提高了計算效率。以下為關于地址表I生成方法可以實現(xiàn)順序即位的證明
M-IFFT 變換的定義為X(k) = Zx(n)· W=。
η=0取M = PX Q,P、Q為互質的正整數(shù),如果η = (K1Xn^K2Xn2)M 叫=0,…,P-Iη2 = 0, ···, Q-Ik = (K1Xk^K2Xk2)M Ii1 = 0,…,P-Ik2 = 0,···, Q-I則X(k)可以寫成 X' (k”k2),X' Qi1,k2) = X((K1XkAK2Xk2)M) ;Χ(η)可以寫成 χ'(叫, ),χ' Oi1, n2) = X(XK1Xn^K2Xn2)111)
FFT變換的公式可以寫成
X'(k15k2)=|;x Xi(H15H2)-.W^-W2 .Wi^Wk2 .WK
Ii2=On1=O
當(K1K2)m = 0 時,Wym'h =W^K' "2'kl =1,因此
2κΜ
P-I
II1=O
\UK2 .n2.k2 vvM
7=0
PJ, , 、 ^-η,-k!
=0
K/ u
2K』Kj2Kz
由平-TTnIkI<-7^->pnrk, -|-n2-k2<-r->Q-n2-k2
^WpQ =Wp Q WQP =Wq P
第i (i = 0,…,Q-l)次P點DFT的輸入數(shù)據為地址表I中n2 = i,II1 = 0,…, P-I對應的P個地址索引值對應的數(shù)據,第i次P點DFT的結果需要進行χ間隔的循環(huán)移位 后作為最后的輸出。 其中,χ為<M>P對于P的循環(huán)模反,X滿足〈^^"W=1
QQ。
26Xx'(n1 n2)-Wp^ni kl = XXtn15H2)-WP"p n, kl。當 Ii1 = 0 時 <^>p. ,.kl 當 ^ = 1 時
Ii1=OIi1=OWp Q= 1 ;
Wp^p ni kl = Wp^p kl ;以此類推,當Ii1 = 1時<宰>-¥1 =Wp<^>p Xk'。由于按照順序輸出 的FFT變換公式gX'(n}Wpn''k',ηι = 1時變換因子為wni.kl =wk,第i次P點DFT中,χ
滿足<Χ·<|>ρ>ρ=1才能使得當H1 = χ時w<j^_n「ki=wkl ,因此如果要使
得第i次P點DFT的結果也按照順序輸出,需要對Ii1 = 0,…,P-I對應的輸出結果進行χ 間隔的循環(huán)移位。同理,對于第i (i = 0,…,P-1)次Q點DFT的輸入數(shù)據為地址表I中Ii1 = i,n2
=0,…,Q-I對應的Q個地址索引值對應的數(shù)據,第i次Q點DFT的結果需要進行y間隔
的循環(huán)移位后作為最后的輸出。
2 2其中,y為< ik >q對于Q的循環(huán)模反,y滿足< y· < f >Q>Q= 1
Pο以上對本發(fā)明所提供的一種信號處理方法、數(shù)據處理方法及裝置進行了詳細介 紹,本文中應用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只 是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發(fā) 明的思想,在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理 解為對本發(fā)明的限制。
權利要求
一種數(shù)據處理方法,其特征在于,包括根據地址表,對數(shù)據進行Q次P點離散傅里葉變換;根據地址表,對所述Q次P點離散傅里葉變換后的數(shù)據進行P次Q點離散傅里葉變換;其中所述P、Q為互質的正整數(shù);所述地址表為<K1×n1+K2×n2>M,所述M為地址表長度,M=P×Q,所述n1=0,…,P 1,n2=0,…,Q 1,K1、K2為互質的正整數(shù)且滿足<K1K2>M=0。
2.如權利要求1所述的數(shù)據處理方法,其特征在于,所述根據地址表,進行Q次P點離 散傅里葉變換包括第i(i = 0,…,Q-1)次P點離散傅里葉變換的輸入數(shù)據為地址表I中n2 = i,叫= 0,…,P-1對應的P個地址索引值對應的數(shù)據,第i次P點離散傅里葉變換的結果需要進 行x間隔的循環(huán)移位后作為最后的輸出;其中,x為< & >p對于P的循環(huán)模反,x滿足<》< | >P、= 1 QQ。
3.如權利要求2所述的數(shù)據處理方法,其特征在于,所述根據地址表,對所述Q次P點 離散傅里葉變換后的數(shù)據進行P次Q點離散傅里葉變換包括第i (i = 0,…,p-i)次Q點離散傅里葉變換的輸入數(shù)據為地址表I中ni = i,n2 = 0,…,Q-1對應的Q個地址索引值對應的數(shù)據,第i次Q點離散傅里葉變換的結果需要進 行y間隔的循環(huán)移位后作為最后的輸出;其中,y為<M>對于Q的循環(huán)模反,y滿足< y<¥>Q>Q = l p Q p 。
4.如權利要求1-3中任一項所述的數(shù)據處理方法,其特征在于,所述地址表以數(shù)組的 形式存儲在表格中。
5.如權利要求4所述的數(shù)據處理方法,其特征在于,地址表以I[n2Xni]的一維數(shù)組形 式存儲,根據地址表進行Q次P點離散傅里葉變換可以表示成DFT_P(z(I+iP))x i = 0,...,Q-1。
6.如權利要求4所述的數(shù)據處理方法,其特征在于,地址表以I[n2Xni]的一維數(shù)組形 式存儲,根據地址表進行P次Q點離散傅里葉變換可以表示成DFT_Q(z(I+i))y i = 0,…,P_l。
7.如權利要求4所述的數(shù)據處理方法,其特征在于,每次所述P點離散傅里葉變換所取的數(shù)據為I+iP處的連續(xù)P點的索引值對應的數(shù)據, 每次所述P點離散傅里葉變換的結果需要進行x間隔的循環(huán)移位;每次所述Q點離散傅里葉變換所取的數(shù)據為I+i處的間隔為P的Q個索引值所對應的 數(shù)據。每次所述Q點離散傅里葉變換的結果需要進行y間隔的循環(huán)移位。
8.一種數(shù)據處理裝置,其特征在于,包括地址表單元,用于生成或存儲地址表;第五變換單元,用于根據所述地址表單元生成或存儲的地址表,對數(shù)據進行Q次P點離 散傅里葉變換;第六變換單元,用于根據所述地址表單元生成或存儲的地址表,對第五變換單元變換 后的數(shù)據進行P次Q點離散傅里葉變換;其中所述P、Q為互質的正整數(shù);所述地址表為〈KiXr^+lXn^M,所述M為地址表長度, M = PXQ,所述叫=0,…,P-l,n2 = 0,…,。-^”&為互質的正整數(shù)且滿足伐而^二 0o
全文摘要
本發(fā)明提供了一種數(shù)據處理方法及裝置,包括根據地址表,對數(shù)據進行Q次P點離散傅里葉變換,根據地址表,對所述Q次P點離散傅里葉變換后的數(shù)據進行P次Q點離散傅里葉變換以提升信號處理的效率。
文檔編號G06F17/14GK101930426SQ201010213499
公開日2010年12月29日 申請日期2009年6月24日 優(yōu)先權日2009年6月24日
發(fā)明者張德明, 李海婷 申請人:華為技術有限公司