CN101930426B - 信号处理方法、数据处理方法及装置 - Google Patents
信号处理方法、数据处理方法及装置 Download PDFInfo
- Publication number
- CN101930426B CN101930426B CN201010213499.6A CN201010213499A CN101930426B CN 101930426 B CN101930426 B CN 101930426B CN 201010213499 A CN201010213499 A CN 201010213499A CN 101930426 B CN101930426 B CN 101930426B
- Authority
- CN
- China
- Prior art keywords
- data
- address table
- discrete fourier
- point
- leaf transformation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/144—Prime factor Fourier transforms, e.g. Winograd transforms, number theoretic transforms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0212—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
Abstract
本发明提供了一种数据处理方法及装置,包括:根据地址表,对数据进行Q次P点离散傅里叶变换,根据地址表,对所述Q次P点离散傅里叶变换后的数据进行P次Q点离散傅里叶变换以提升信号处理的效率。
Description
技术领域
本发明涉及数字信号处理技术领域,尤其涉及一种信号处理方法、数据处理方法及装置。
背景技术
在数字信号处理领域,傅立叶变换、离散余弦变换(DCT,Discrete cosine transform)、离散正弦变换(DST,Discrete sine transform)等正交变换有着广泛的应用,在频谱分析、图像编码和语音编码等领域的应用尤其广泛。
其中,DCT是一种空间变换,DCT变换的最大特点是具有能量紧致性,这就使得以DCT为基础的编码系统会具有很好的压缩性能。
修正离散余弦变换(MDCT,Modified Discrete Cosine Transform)是在DCT变换基础上的一种改进变换方法,变换块之间具有较好的连续性,在宽带及超宽带数字音频编码领域,MDCT变换起着至关重要的作用。
直接根据变换公式进行MDCT正变换与逆变换会导致很高的计算复杂度,特别是对于点数较大的MDCT变换,由于其庞大的计算复杂度而无法实时实现。由于MDCT变换在实时通信领域特别是音频编码中的广泛应用,提供一种快速的MDCT变换方法成为一种迫切的需要。现有的技术中实现快速的MDCT变换常用的方法为:基于快速傅里叶变换(FFT,Fast Fourier Transform)来实现MDCT变换的快速化需求。
其中,较普遍使用的基于FFT变换实现的N点快速MDCT变换又包含基于N/2点FFT变换实现的快速MDCT变换和基于N/4点FFT变换实现的快速MDCT变换等不同的实现方式。
在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题:
使用基于N/4点FFT变换实现MDCT变换的快速化算法时,预旋转及后旋转处理变换需要至少存储一个N/4点的余弦(cosine)表值和一个N/4点的正弦(sine)表值,共计N/2点表值。当前后旋转不对称时将需要存储N点表 值。当N值较大的时候,增加的存储量较高,占用存储资源较多,也会影响变换效率。
使用基于互质因子的快速傅里叶变换算法时,需要进行大量的寻址操作且没有考虑数据顺序即位的问题,进行变换时,需要对变换后得到的数据进行排序,才能得到真正的输出数据,增加了计算量。
发明内容
本发明实施例要解决的技术问题是提供一种信号处理方法、数据处理方法及装置,可以提高信号处理的效率。
为解决上述技术问题,
本发明实施例一方面,提供了一种时域到频域的信号处理方法,包括:
对时域数据进行预处理;
使用旋转因子 对所述预处理获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
所述a、b为常数,所述N为时域数据长度,所述
另一方面,提供了一种频域到时域的信号处理方法,包括:
对频域数据进行重组;
使用旋转因子 对所述重组获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 对所述离散傅里叶变换后的数据进行后旋转处理;
对所述后旋转处理后的数据进行后处理,获得时域数据;
所述c、d为常数,所述N为两倍的频域数据长度,所述
另一方面,提供了一种数据处理方法,应用在宽带或超宽带数字音频编码领域,包括:
根据地址表进行寻址,按照地址表对应地址读取输入数据;
根据地址表,对所述输入数据进行Q次P点离散傅里叶变换;
根据地址表,对所述Q次P点离散傅里叶变换后的数据进行P次Q点离散傅里叶变换;
其中所述P、Q为互质的正整数;所述地址表为<K1×n1+K2×n2>M,所述M为地址表长度,M=P×Q,所述n1=0,…,P-1,n2=0,…,Q-1,K1、K2为互质的正整数且满足<K1K2>M=0;
按照地址表对应地址存储输出数据。
另一方面,提供了一种时域到频域的信号处理装置,包括:
预处理单元,用于对时域数据进行预处理;
第一预旋转单元,用于使用旋转因子为 对所述预处理单元预处理获得的数据进行预旋转处理;
第一傅里叶变换单元,用于对所述第一预旋转单元预旋转处理后的数据进行N/4点的离散傅里叶变换;
第一后旋转单元,用于使用旋转因子 对所述第一傅里叶变换单元进行离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
另一方面,提供了一种频域到时域的信号处理装置,包括:
重组单元,用于频域数据进行重组;
第二预旋转单元,用于使用旋转因子为 对所述重组单元重组获得的数据进行预旋转处理;
第二傅里叶变换单元,用于对所述第二预旋转单元预旋转处理后的数据进行N/4点的离散傅里叶变换;
第三后旋转单元,用于使用旋转因子 对所述第二傅里叶变换单元离散傅里叶变换后的数据进行后旋转处理;
后处理单元,用于对所述第三后旋转单元后旋转处理后的数据进行后处理,获得时域数据。
另一方面,提供了一种数据处理装置,应用在在宽带或超宽带数字音频 编码领域,所述装置根据地址表进行寻址,按照地址表对应地址读取输入数据,按照地址表对应地址存储输出数据,包括:
地址表单元,用于生成或存储地址表;
第五变换单元,用于根据所述地址表单元生成或存储的地址表,对数据进行Q次P点离散傅里叶变换;
第六变换单元,用于根据所述地址表单元生成或存储的地址表,对第五变换单元变换后的数据进行P次Q点离散傅里叶变换;
其中所述P、Q为互质的正整数;所述地址表为<K1×n1+K2×n2>M,所述M为地址表长度,M=P×Q,所述n1=0,…,P-1,n2=0,…,Q-1,K1、K2为互质的正整数且满足<K1K2>M=0。
附图说明
由以上技术方案可以看出,由于本发明实施例提供的信号处理方法采用的旋转因子为常数与 项的乘积,由于 具有对称性,因此,只需要存储一个N/4点的数据表格即可完成预旋转处理及后旋转处理,相比现有技术,本发明实施例提供的信号处理方法大大降低了存储量,减少了对存储资源的占用,也提高了变换效率。进一步,本发明实施例提供的信号处理方法在进行后旋转处理时不需要使用归一化因子,节省了步骤,进一步提高了变换效率。
本发明实施例引入地址表进行FFT变换,根据地址表进行寻址,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,变换后的数据顺序即位,不需要特别进行排序,降低了计算复杂度,提高了计算效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实现方式。
图1为本发明提供的时域到频域的信号处理方法实施例一流程图;
图2为本发明实施例提供的引入地址表进行FFT变换的数据处理方法流程图;
图3为本发明提供的频域到时域的信号处理方法实施例二流程图;
图4为本发明提供的时域到频域的信号处理方法实施例三流程图;
图5为本发明提供的频域到时域的信号处理方法实施例四流程图;
图6为本发明提供的时域到频域的信号处理方法实施例五流程图;
图7为本发明提供的频域到时域的信号处理方法实施例六流程图;
图8为本发明实施例提供的时域到频域的信号处理装置结构图;
图9为本发明实施例提供的频域到时域的信号处理装置结构图;
图10为本发明实施例提供的数据处理装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种信号处理方法、数据处理方法及装置,可以有效提高信号处理的效率。
现有技术中,基于N/4点FFT变换实现MDCT变换的快速化通常先对N点的数据进行加窗、重组及预旋转处理,将N点的MDCT变换转换成为一个N/4点的FFT变换,经过FFT变换后的数据再进行后旋转处理得到最终的MDCT系数。
MDCT变换的定义为:
其中,A为归一化因子,并且,A为常数。根据MDCT变换定义可以得到:
其中 上述两式组合后得到
则基于N/4点FFT变换实现MDCT变换的正变换具体步骤如下:
①加窗处理:
yn=hnxn n=0,…,N-1
其中hn为满足完全重构条件的窗函数,但并不要求hn为对称窗,也就是说分析与合成可以用不同的窗,只要分析窗与合成窗能够共同完成完全重构;xn为输入数据,一般情况下x0~N/2-1为缓存的上一帧数据,而xN/2~N-1为当前帧数据。
②数据重组:
un=(z2n+jzN/2-1-2n) n=0,…,N/4-1
其中:
或者表示成:
③对数据重组un进行预旋转处理,旋转因子为
④对旋转后的数据进行N/4点的FFT变换;
⑤使用旋转因子和归一化因子A对变换后的数据进行后旋转处理,旋转因子为
⑥经过后旋转处理后得到的复数的实部为X2k,即MDCT谱的奇数频点,虚部为-XN/2-1-2k,即MDCT谱的偶数频点。
其中旋转因子 可以展开如下式:
进行预旋转及后旋转处理时需要使用旋转因子 及 因此需要至少存储一个N/4点的余弦(cosine)表值和一个N/4点的正弦(sine)表值,共计N/2点表值。当前后旋转不对称时将需要存储N点表值。当N值较大的时候,增加的存储量较高,占用存储资源较多,也会影响变换效率。
本发明提供的对信号进行时域到频域的信号处理方法实施例包括:
对时域数据进行预处理;
使用旋转因子 对预处理获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 对离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
其中a、b为常数,N为时域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
在进行预旋转处理前对数据进行的处理都可以被称为预处理,例如在本实施例中,预处理可以为加窗及数据重组,也可以为数据重组。
本发明提供的对信号进行频域到时域的信号处理方法实施例包括:
对频域数据进行重组;
使用旋转因子 对重组获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 对离散傅里叶变换后的数据进行后旋转处理;
对后旋转处理后的数据进行后处理,获得时域数据;
其中c、d为常数,N为两倍的频域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
在进行后旋转处理后对数据进行的处理都可以被称为后处理,后处理的内容通常要视相应时域到频域的信号处理方法中预处理内容而定,例如在本发明实施例中,预处理为加窗及数据重组时,后处理也为加窗及数据重组;预处理为数据重组时,后处理也为数据重组。
时域到频域的信号处理方法又可称作正变换,频域到时域的信号处理方法又可称作逆变换。在正变换与逆变换中的a×b×c×d=4/N时,以正变换的输出数据直接作为逆变换的输入数据,逆变换的结果可以完成完全重构,即恢复获得进行正变换前的数据,在实际操作中并不一定需要实现完全重构。
由于本发明提供的信号处理方法采用的旋转因子中的 项可以展开如下式:
其中,
因此, 具有对称性,只需要存储 中任意一个N/4点的数据表格即可完成预旋转处理及后旋转处理。
在传统MDCT中,为了得到MDCT谱系数,旋转因子必须取 及 而 及 是不具有对称性的,在进行预旋转处理及后旋转处理时至少需要存储一个N/4点的余弦表值和一个N/4点的正弦表值,本发明提供的信号处理方法实施例采用的旋转因子为常数与 项的乘积,由于 具有对称性,因此,只需要存储一个N/4点的数据表格即可完成预旋转处理及后旋转处理,相比现有技术,本发明提供的信号处理方法大大降低了存储量,减少了对存储资源的占用,也提高了变换效率。进一步,本发明提供的信号处理方法在进行后旋转处理时不需要使用归一化因子,节省了步骤,进一步提高了变换效率。
现以实例对本发明提供的信号处理方法实施例进行描述,图1为本发明提供的时域到频域的信号处理方法实施例一流程图,包括:
101、对时域数据进行预处理;
本步骤中预处理包括加窗及数据重组处理,实际使用中可以采用其他的预处理方式;
设时域数据xn为输入数据,一般情况下x0~N/2-1为缓存的上一帧数据,而xN/2~N-1为当前帧数据,N为时域数据长度,在本实施例中可以取N=1280。先对数据进行加窗处理:
yn=hnxn n=0,…,N-1,
其中hn为满足完全重构条件的窗函数,可以被称为分析窗函数,逆变换时使用的窗函数可以被称为合成窗函数,分析窗函数、合成窗函数可以选用不同的窗函数,只要分析窗函数与合成窗函数能够满足共同完成完全重构的条件,对加窗后的数据进行重组,得到重组后的数据un,满足:
un=(z2n+jzN/2-1-2n) n=0,…,N/4-1
其中:
或者表示成:
102、使用旋转因子 对预处理获得的数据进行预旋转处理。将重组数据un进行预旋转处理,旋转因子为 n=0,…,N/4-1。其中 a为常数。旋转后的数据为
本实施例中可以选取 由于旋转因子中的 项可以写成以下形式:
满足 条件,因此具体的实现过程中只需要存储一个N/4点的sine或者cosine数据表格即可。本实施例只存储了一个N/4点的数据表格,表格中数值的表达式为: n=0,…,319。
103、对预旋转处理后的数据进行N/4点的离散傅里叶变换(DFT,DiscreteFourier Transform)。
本步骤中可以选用普通的N/4点的DFT变换,也可以选用其他各种N/4点的快速傅立叶变换(FFT,Fast Fourier Transform)。
进一步,步骤103中,可以在M=N/4=P×Q,P、Q为正整数且P与Q互质时,使用基于地址表寻址的FFT变换,其中地址表长度为M。
图2为本发明实施例提供的引入地址表进行FFT变换的数据处理方法流程图,包括:
1031、生成地址表I。地址表I满足如下公式:
I=<K1×n1+K2×n2>M n1=0,…,P-1
n2=0,…,Q-1
其中K1、K2为互质的正整数且满足<K1K2>M=0,以K1K2=Z,<Z>M的意义为Z对M的模,即Z除以M的余数。本步骤可以提前进行,与步骤101、102没有顺序关系,也就是说地址表I可以预先计算并存储。地址表I中存储的地址需要可以遍历0,1,......M-1,和输入数据实现一对一映射,以确定数据的顺序关系。地址表I在满足这种一对一映射关系时,需要满足以下三个条件:
①K1为Q的正整数倍,和/或K2为P的正整数倍;
②K1与P互质;
③K2与Q互质。
本实施例中可以取P=64,Q=5,K1=65,K2=256,M=N/4=320,因此地址表I的表达式可以写成:
I=<65n1+256n2>320
其中,n1=0,…,63,n2=0,…,4。
地址表I可以以数组的形式存储在表格中,例如I[n2×n1]的一维数组,或者I[n1][n2]的二维数组。
假设地址表I为M=320点的地址表,K1=65、K2=256,Q=5,P=64,Q×P=5×64点;如果地址表I存储为I[n2×n1]的一维数组:
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,29 7,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[n1][n2]的二维数组:
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,16 9,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的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点DFT的结果需要进行x间隔的循环移位后作为最后的输出。
其中,x为 对于P的循环模反,x满足
例如,地址表I以I[n2×n1]的一维数组形式存储,根据地址表I进行Q次P点DFT可以表示成:
DFT_P(z(I+iP))x i=0,…,Q-1;
每一次P点DFT所取的数据为I+iP处的连续P点的索引值对应的数据,每一次P点DFT的结果需要进行x间隔的循环移位。
本实施例中是进行5次64点的DFT,第i(i=0,…4)次64点DFT所取的数据为地址表数组I[64i]处开始的连续64点存储的地址索引值对应的输入数据(在本实施例中为旋转后的数据),第i次64点DFT的结果需要进行5次循环移位。举个简单的例子,比如对于向量Z=[z0z1z2z3z4],其2次循环移位结果是Z=[z0z2z4z1z3]。当然,为了进一步提高计算效率,也可以用FFT替换DFT。
1033、根据地址表I,进行P次Q点DFT。
第i(i=0,…,P-1)次Q点DFT的输入数据为地址表I中n1=i,n2=0,…,Q-1对应的Q个地址索引值对应的数据,第i次Q点DFT的结果需要进行y间隔的循环移位后作为最后的输出。
其中,y为 对于Q的循环模反,y满足
例如,地址表I以I[n2×n1]的一维数组形式存储,根据地址表I进行P次Q点DFT可以表示成:
DFT_Q(z(I+i))y i=0,…,P-1;
每一次Q点DFT所取的数据为I+i处的间隔为P的Q个索引值所对应的数据。每一次Q点DFT的结果需要进行y间隔的循环移位。
本实施例中是进行64次5点的DFT,第i(i=0,…63)次5点DFT所取 的数据为地址表数组I[i]处开始的间隔为64的5个点存储的地址索引值对应的输入数据(在本实施例中为旋转后的数据),第i次5点DFT的结果需要进行4次循环移位。
由于在现有技术中,多数基于互质因子的DFT变换方法都没有考虑数据顺序即位的问题,进行变换时,需要对变换后得到的数据进行排序,才能得到真正的输出数据,增加了计算量,本发明实施例引入地址表进行DFT变换,根据地址表进行寻址,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,变换后的数据顺序即位,不需要特别进行排序,降低了计算复杂度,提高了计算效率。
104、使用旋转因子 对离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
对变换后的数据进行后旋转处理,旋转因子为 k=0,…,N/4-1,其中 b为常数。本实施例中,可以选取 由于旋转因子中的 项可以写成以下形式:
而且b=a,因此,在具体的实现过程中可以复用步骤102中所使用的N/4点的数据表格。
频域数据也即最终的谱为Xk,k=0,…,N/2-1,可表述为:
与本发明提供的时域到频域的信号处理方法实施例一对应,本发明提供了用于频域到时域的信号处理方法实施例二。如果采用本发明提供的时域到频域的信号处理方法实施例一进行正变换,则可以采用本发明提供的频域到时域的信号处理方法实施例二对数据进行相应的逆变换。
图3为本发明提供的频域到时域的信号处理方法实施例二流程图,包括:
301、对频域数据进行重组。
在本实施例中,将对频域数据Xk,k=0,…,N/2-1进行重组。本实施例中N=1280。
数据重组后获取的中间变量为(X2k+jXN/2-1-2k),k=0,…,N/4-1。
302、使用旋转因子 对重组获得的数据进行预旋转处理。对重组后的数据进行预旋转处理,旋转因子为 k=0,…,N/4-1。
其中 c为常数。本实施例中可以选取 因此也可以复用步骤102和104中所使用的N/4点的数据表格。
303、对预旋转处理后的数据进行N/4点的离散傅里叶变换。
可以选用普通的N/4点的DFT变换,也可以选用其他各种N/4点的快速傅立叶变换。
本步骤也可以采用图2所示的方法进行320点快速傅立叶变换。
304、使用旋转因子 对离散傅里叶变换后的数据进行后旋转处理。对变换后的数据进行后旋转处理,旋转因子为 n=0,…,N/4-1。其中 d为常数。本实施例中可以选取 因此也可以复用步骤102和104中所使用的N/4点的数据表格。
得到处理后的数据yn:
305、对后旋转处理后的数据进行后处理,得到时域数据。
本步骤中后处理包括加窗及数据重组处理,实际使用中可以采用其他的后处理方式;
经过加窗重组后得到时域数据 n=0,…,N/2-1。
其中 gn为合成窗,与分析窗hn一起满足完全重构关系:hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1。mn为上一帧的缓存数据,mn的更新满足:
在使用本发明提供的时域到频域的信号处理方法实施例一、频域到时域的信号处理方法实施例二时,正变换与反变换中的常数a、b、c和d在满足a×b×c×d=4/N时,逆变换的结果可以完成完全重构,在实际操作中并不一定需要实现完全重构。
例如,我们可以选取 此时正变换和逆变换只需要存储 中任意一个N/4点的数据表格即可完成预旋转处理及后旋转处理。如果常数a、b、c和d并不是两两相等,则要根据具体情况存储数据表格来完成预旋转处理及后旋转处理。
本发明提供的另一种时域到频域的信号处理方法实施例包括:
对时域数据进行预处理;
使用旋转因子 对预处理后获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 和归一化因子A对离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
其中a、b为常数,N为时域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
在进行预旋转处理前对数据进行的处理都可以被称为预处理,例如在本实施例中,预处理可以为加窗及数据重组,也可以为数据重组。
本发明提供的另一种频域到时域的信号处理方法实施例包括:
对频域数据进行重组;
使用旋转因子 对重组获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 和归一化因子B对离散傅里叶变换后的数据进行后旋转处理;
对后旋转处理后的数据进行后处理,获得时域数据;
其中c、d为常数,N为两倍的频域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
在进行后旋转处理后对数据进行的处理都可以被称为后处理,后处理的内容通常要视相应时域到频域的信号处理方法中预处理内容而定,例如在本实施例中,预处理为加窗及数据重组时,后处理也为加窗及数据重组;预处理为数据重组时,后处理也为数据重组。
时域到频域的信号处理方法又可称作正变换,频域到时域的信号处理方法又可称作逆变换。在正变换与逆变换中的a×b×c×d×A×B=4/N时,以正变换的输出数据直接作为逆变换的输入数据,逆变换的结果可以完成完全重构,即恢复获得进行正变换前的数据,例如可以选取a=b=c=d=1,A·B=4/N,或者选取 A=B=1。在实际操作中并不一定需要实现完全重构。
由于本发明提供的信号处理方法采用的旋转因子中的 项可以展开如下式:
其中,
因此, 具有对称性,只需要存储 与 中任意一个N/4点的数据表格即可完成预旋转处理及后旋转处理。在传统MDCT中,为了得到MDCT谱系数,旋转因子必须取 而 是不具有对称性的,在进行预旋转处理及后旋转处理时至少需要存储一个N/4点的余弦表值和一个N/4点的正弦表值,本发明提供的信号处理方法实施例采用的旋转因子均为常数与 项的乘积,由于 具有对称性,因此,只需要存储一个N/4点的数据表格即可完成预旋转处理及后旋转处理,相 比现有技术,本发明提供的信号处理方法大大降低了存储复杂度、存储量,减少了对存储资源的占用,也提高了变换效率。
现以实例对本发明提供的信号处理方法实施例进行描述。
假设宽带音频编解码器的采样率为16KHz,处理帧长为20ms,即每帧320个样点,使用本发明实施例提供的时域到频域的信号处理方法在编码端对数据进行正变换,设xn为正变换的输入数据,其中x0~N/2-1为缓存的上一帧的320点数据,而xN/2~N-1为当前帧的320点数据,变换区间长度N为640点,图4为本发明提供的信号处理方法实施例三流程图,包括:
401、对时域输入数据进行预处理;
本步骤中预处理包括加窗及数据重组处理;
设xn为640点的时域输入数据,hn为640点的满足完全重构条件的窗函数,则加窗后的数据yn满足::
yn=hnxn n=0,…,N-1,
其中hn为满足完全重构条件的窗函数,可以被称为分析窗函数。对加窗后的数据进行重组,得到重组后的数据un,满足:
un=(z2n+jzN/2-1-2n)n=0,…,N/4-1
其中:
或者表示成:
402、使用旋转因子 对预处理获得的数据进行预旋转处理。
将重组数据un进行预旋转处理,旋转因子为 n=0,…,N/4-1。其中 a为常数。
本实施例中,取a=1,则旋转因子可以写成以下形式:
由于满足
因此具体的实现过程中只需要存储 与 中任意一个N/4点的数据表格即可。本实施例中存储了一个N/4点的sine表格,表格的数值表达式为: n=0,…,159;
403、对预旋转处理后的数据进行N/4点的离散傅里叶变换。
本步骤中可以选用普通的M=N/4=160点的DFT变换,也可以选用其他各种M=N/4=160点的FFT变换
404、使用旋转因子 和归一化因子A对变换后的数据进行后旋转处理,获得频域输出数据。
对变换后的数据进行后旋转处理,旋转因子为 k=0,…,N/4-1,其中 b为常数。本实施例中,可以选取b=1,旋转因子可以写成以下形式:
而且b=a,因此,在具体的实现过程中可以复用步骤402中所使用的N/4点的数据表格。
得到最终数据Xk,k=0,…,N/2-1。
,其中A为归一化因子,A为常数。本实施例中,可以选取
与本发明提供的时域到频域的信号处理方法实施例三对应,本发明提供了用于频域到时域的信号处理方法实施例四,在采用本发明提供的时域到频域的信号处理方法实施例三进行变换时,可以采用本发明提供的频域到时域的信号处理方法实施例四对数据进行相应的逆变换。
图5为本发明提供的频域到时域的信号处理方法实施例四流程图,包括:
501、对频域输入数据进行重组。
在本实施例中,将对数据Xk,k=0,…,N/2-1进行重组,数据重组后获取的中间变量为 k=0,…,N/4-1。其中N=640。
502、使用旋转因子 对重组获得的数据进行预旋转处理。对重组后的数据进行预旋转处理,旋转因子为 k=0,…,N/4-1。其中 c为常数。本实施例中可以选取c=1,因此也可以复用本发明提供的时域到频域的信号处理方法实施例三中步骤402和404中所使用的N/4点的数据表格。
503、对预旋转处理后的数据进行N/4点的离散傅里叶变换。
对旋转后的数据进行M=N/4=160点的DFT变换。可以选用普通的160点的DFT变换,也可以选用其他各种160点的快速傅立叶变换。
504、使用旋转因子 和归一化因子B对离散傅里叶变换后的数据进行后旋转处理。
对变换后的数据进行后旋转处理,旋转因子为 n=0,…,N/4-1。其中 d为常数。得到处理后的数据yn,
其中B为归一化因子,B为常数。本实施例中,选取 本实施例中可以选取d=1,因此也可以复用本发明提供的时域到频域的信号处理方法实施例三中步骤402和404中所使用的N/4点的数据表格。
505、对后旋转处理后的数据进行后处理,得到时域输出数据。
本步骤中后处理包括加窗及数据重组处理,实际使用中可以采用其他的后处理方式;
经过加窗重组后得到输出数据 n=0,…,N/2-1,满足:
其中 gn为合成窗,与正变换中步骤401所述的分析窗hn一起满足完全重构关系:hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1。mn为上一帧的缓存数据,mn的更新满足:
为了满足完全重构条件,可以对正变换或逆变换或者正逆变换都乘以特定的归一化因子。本实施例只给出了对正逆变换都乘以相同的归一化因子的例子,也可以只对正变换或逆变换乘以特定的归一化因子,还可以对正逆变换乘以不同的归一化因子,只要a×b×c×d×A×B=4/N,即可完成完全重构。
进一步,在使用归一化因子的时候也可以引入地址表进行FFT变换,假设一个在超宽带音频编解码器中,超宽带音频编解器的采样率为32KHz,处理帧长为20ms,即每帧640个样点。在变换端对数据进行正变换,设xn为正变换的输入数据,其中x0~N/2-1为缓存的上一帧的640点数据,而xN/2~N-1为当前帧的640点数据。
图6为本发明提供的时域到频域的信号处理方法实施例五流程图,包括:
601、对时域数据进行预处理;
预处理包括加窗及数据重组处理。
设xn为1280点的时域输入数据,hn为1280点的满足完全重构条件的窗函数,则加窗后的数据yn满足:
yn=hnxn n=0,…,N-1,
对加窗后的数据进行重组,得到重组后的数据un,满足:
un=(z2n+jzN/2-1-2n)n=0,…,N/4-1
其中:
或者表示成:
本步骤使用的分析窗函数hn和进行逆变换时使用的合成窗函数gn在满足下式时,是满足完全重构条件的窗函数:
hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1
602、将预处理后的数据进行预旋转处理,旋转因子为
将重组数据un进行预旋转处理,旋转因子为 旋转后的数据为 n=0,…,N/4-1。其中 a为常数。为了进一步减少计算复杂度,可以将归一化因子直接合进旋转因子中去,本实施例中可以选取 由于旋转因子中的 项可以写成以下形式:
由于:
因此只需要存储一个N/4点数据表格即可,在本实施例中只存储了一个N/4点的数据表格,表格中数值的表达式为: n=0,…,319。
603、对预旋转处理后的数据进行N/4点的DFT变换,并在变换时采用基于地址表寻址的方法进行快速傅里叶变换。
在本实施例选择使用P、Q为正整数满足P与Q互质的M=N/4=P×Q点的快速傅立叶变换。具体步骤如下:
i、取P=64,Q=5,P与Q互质且满足M=N/4=P×Q=320,生成地址表I,地址表I满足如下公式:
I=<K1×n1+K2×n2>M n1=0,…,P-1
n2=0,…,Q-1
其中K1、K2为互质的正整数且满足<K1K2>M=0,以K1K2=Z,<Z>M的意义为Z对M的模,即Z除以M的余数。
地址表I中存储的地址需要可以遍历0,1,......M-1,和输入数据实现一对一映射,以确定数据的顺序关系。地址表I在满足这种一对一映射关系时,需要满足以下三个条件:
①K1为Q的正整数倍,和/或K2为P的正整数倍;
②K1与P互质;
③K2与Q互质。
在本实施例中K1=65,K2=256,因此地址表I的表达式可以写成:
I=<65n1+256n2>320
其中,n1=0,…,63,n2=0,…,4。
地址表I可以预先计算并存储,本步骤与步骤601、602没有顺序关系。在具体的应用中地址表I可以存储在一个表格中,本实施例中将表格存储成n2×n1的一维数组。
ii、根据地址表I,进行Q次P点DFT:
DFT_P(z(I+iP))x i=0,…,Q-1;
每一次P点DFT所取的数据为I+iP处的连续P点的索引值对应的数据,每一次P点DFT的结果需要进行x间隔的循环移位。其中,x为 对于P的循环模反,x满足 在本实施例中是进行5次64点的DFT,第i(i=0,…4)次64点DFT所取的数据为地址表数组I[64i]处开始的连续64点存储的地址索引值对应的输入数据,在本实施例中为旋转后的数据,第i次64点DFT的结果需要进行5次循环移位。比如对于向量Z=[z0z1z2z3z4],其2次循环移位结果是Z=[z0z2z4z1z3]。当然,为了进一步提高计算效率,也可以用FFT来替换DFT。
iii、根据地址表I,进行P次Q点DFT:
DFT_Q(z(I+i))y i=0,…,P-1;
每一次Q点DFT所取的数据为I+i处的间隔为P的Q个索引值所对应的数据。每一次Q点DFT的结果需要进行y间隔的循环移位。其中,y为 对于Q的循环模反,y满足 本实施例中是进行64次5点的DFT,第i(i=0,…63)次5点DFT所取的数据为地址表数组I[i]处开始的间隔为64的5个点存储的地址索引值对应的输入数据,在本实施例中为旋转后的数据,第i次5点DFT的结果需要进行4次循环移位。
604、使用旋转因子 和归一化因子A对变换后的数据进行后旋转处理,获得频域数据。
对变换后的数据进行后旋转处理,旋转因子为 k=0,…,N/4-1,其中 b为常数。在本实施例中,可以选取 在选取 时,由于旋转因子中的 项可以写成以下形式:
而且b的取值等于步骤602中a的取值,因此,可以复用步骤602中所存储的N/4点的数据表格。
输出数据也即最终的谱为Xk,k=0,…,N/2-1,可表述为:
其中A为归一化因子,A为常数。
与本发明提供的时域到频域的信号处理方法实施例五对应,本发明提供了频域到时域的信号处理方法实施例六,在采用本发明提供的时域到频域的信号处理方法实施例五进行变换时,可以采用本发明提供的频域到时域的信号处理方法实施例六对数据进行相应的逆变换。
设Xk,k=0,…,N/2-1为逆变换的输入数据,图7为本发明提供的频域到时域的信号处理方法实施例六流程图,包括:
701、对频域数据进行重组。
在本实施例中,将对输入数据Xk,k=0,…,N/2-1进行重组。
数据重组后获取的中间变量为(X2k+jXN/2-1-2k),k=0,…,N/4-1。
702、对重组后的数据进行预旋转处理,旋转因子为 k=0,…,N/4-1其中 c为常数。
在本实施例中可以选取 c的取值等于a、b,因此本步骤也可以复用本发明提供的信号处理方法实施例五步骤602和604中所使用的N/4点的数据表格。
703、对预旋转处理后的数据进行N/4点的离散傅里叶变换,并在变换时采用基于地址表寻址的方法进行快速傅里叶变换。
当M=N/4=P×Q且P与Q互质时,本步骤可以采用本发明提供的时域到频域的信号处理方法实施例五步骤603中描述的数据处理方法。
704、使用旋转因子 和归一化因子B对变换后的数据进行后旋转处理。
对变换后的数据进行后旋转处理,旋转因子为 n=0,…,N/4-1。其中 d为常数。得到处理后的数据yn:
其中B为归一化因子,B为常数。
在本实施例中可以选取 d的取值等于a、b、c,因此本步骤也可以复用本发明提供的信号处理方法实施例五步骤602和604中所使用的N/4点的数据表格。
705、对后旋转处理后的数据进行加窗重组,得到时域数据。
经过加窗重组后得到输出数据 n=0,…,N/2-1
其中 gn为合成窗,与分析窗hn一起满足完全重构关系:hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1。mn为上一帧的缓存数据,mn的更新满足:
由于在现有技术中,多数基于互质因子的快速傅里叶变换方法都没有考虑数据顺序即位的问题,进行变换时,需要对变换后得到的数据进行排序,才能得到真正的输出数据,增加了计算量,本发明提供的数据处理方法实施例引入了地址表进行快速傅里叶变换,根据地址表进行寻址,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,以保证变换后的数据顺序即位。
本发明提供的数据处理方法实施例,包括:
生成地址表;
根据地址表,对输入数据进行Q次P点离散傅里叶变换;
根据地址表,对所述Q次P点离散傅里叶变换后的数据进行P次Q点离散傅里叶变换。
其中P、Q为互质的正整数,M为地址表长度,M=P×Q,该地址表中存储的地址可以遍历0,1,......M-1,和输入数据实现一对一映射。
实际使用中获取地址表的方式有很多种,在本实施例中提供了公式<K1×n1+K2×n2>M以获得地址表;
地址表I=<K1×n1+K2×n2>M,n1=0,…,P-1,n2=0,…,Q-1,K1、K2为互质的正整数且满足<K1K2>M=0,<Z>M为Z对M的模。
地址表I在满足一对一映射关系时,需要满足以下三个条件:
①K1为Q的正整数倍,和/或K2为P的正整数倍;
②K1与P互质;
③K2与Q互质。
本发明提供的数据处理方法实施例适用于M=P×Q,P、Q为正整数且P与Q互质时的FFT变换,以P=64,Q=5,P与Q互质,320点的FFT变换为例,本发明提供的数据处理方法实施例流程图可参考图2,包括:
1031、生成地址表I。
地址表I满足如下公式:
I=<K1×n1+K2×n2>M n1=0,…,P-1
n2=0,…,Q-1
其中K1、K2为互质的正整数且满足<K1K2>M=0,<Z>M为Z对M的模。
在本实施例中K1=5,K2=64,因此地址表I的表达式可以写成:
I=<5n1+64n2>320
其中,n1=0,…,63,n2=0,…,4。
地址表I可以预先计算并存储,在具体的应用中地址表I可以存储在一个表格中,本实施例中将表格存储成I[n1][n2]的二维数组。
1032、根据地址表I,对输入数据进行Q次P点DFT。
第i(i=0,…,Q-1)次P点DFT的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点DFT的结果需要进行x间隔的循环移位后作为最后的输出。
其中,x为 对于P的循环模反,x满足
例如,地址表I以I[n1][n2]的二维数组形式存储,则第i次P点DFT所取的数据为地址表I[n1][i],n1=0,…,P-1中存储的P个地址索引值对应的数据,每一次P点DFT的结果需要进行x间隔的循环移位。本实施例中K1=5,P=64,Q=5,因此x=13。
1033、根据地址表I,对上述变换后的数据进行P次Q点DFT。
第i(i=0,…,P-1)次Q点DFT的输入数据为地址表I中n1=i,n2=0,…,Q-1对 应的Q个地址索引值对应的数据,第i次Q点DFT的结果需要进行y间隔的循环移位后作为最后的输出。
其中,y为 对于Q的循环模反,y满足
例如,地址表I以I[n1][n2]的二维数组形式存储,则第i次Q点DFT所取的数据为地址表I[i][n2],n2=0,…,Q-1中存储的Q个地址索引值对应的数据,每一次Q点DFT的结果需要进行y间隔的循环移位。本实施例中K2=64,P=64,Q=5,因此y=4。
本发明提供的数据处理方法实施例,由于引入地址表进行寻址,在进行离散傅立叶变换时,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,变换后的数据顺序即位,逆变换不需要特别进行排序,降低了运算中的寻址开销,提高了计算效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤:
一种时域到频域的信号处理方法,包括:
对时域数据进行预处理;
使用旋转因子 对所述预处理获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
所述c、d为常数,所述N为两倍的频域数据长度,所述 一种频域到时域的信号处理方法,包括:
对频域数据进行重组;
使用旋转因子 对所述重组获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子 对所述离散傅里叶变换后的数据进行后旋转处理;
对所述后旋转处理后的数据进行后处理,获得时域数据;
所述c、d为常数,所述N为两倍的频域数据长度,所述
一种数据处理方法,包括:
根据地址表,对数据进行Q次P点离散傅里叶变换;
根据地址表,对所述Q次P点离散傅里叶变换后的数据进行P次Q点离散傅里叶变换。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本发明实施例提供的时域到频域的信号处理装置结构如图8所示,包括:
预处理单元801,用于对时域数据进行预处理;
第一预旋转单元802,用于使用旋转因子为 对所述预处理单元801预处理获得的数据进行预旋转处理;
第一傅里叶变换单元803,用于对所述第一预旋转单元802预旋转处理后的数据进行N/4点的离散傅里叶变换;
第一后旋转单元804,用于使用旋转因子 对所述第一傅里叶变换单元803进行离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
所述a、b为常数,所述N为时域数据长度,所述n=0,…,N/4-1,所述k=0,…,N/4-1,所述
其中,所述第一后旋转单元804包括:
第二后旋转单元,用于使用旋转因子 和归一化因子A对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
第一傅里叶变换单元803包括:
第一变换单元,用于根据地址表,对所述第一预旋转单元旋转后的数据进行Q次P点离散傅里叶变换;
第二变换单元,用于根据地址表,对所述第一变换单元变换后的数据进行P次Q点离散傅里叶变换;
所述P、Q为互质的正整数,且M=N/4=P×Q,所述M为地址表长度;所述地址表为<K1×n1+K2×n2>M,所述n1=0,…,P-1,n2=0,…,Q-1,所述K1、K2为互质的正整数且满足<K1K2>M=0,<Z>M为Z对M的模。
与本发明提供的时域到频域的信号处理装置实施例对应,本发明提供了频域到时域的信号处理装置实施例,本发明实施例提供的频域到时域的信号处理装置结构如图9所示,包括:
重组单元901,用于对频域数据进行重组;
第二预旋转单元902,用于使用旋转因子为 对所述重组单元901重组获得的数据进行预旋转处理;
第二傅里叶变换单元903,用于对所述第二预旋转单元902预旋转处理后的数据进行N/4点的离散傅里叶变换;
第三后旋转单元904,用于使用旋转因子 对所述第二傅里叶变换单元903离散傅里叶变换后的数据进行后旋转处理;
后处理单元905,用于对所述第三后旋转单元904后旋转处理后的数据进行后处理,获得时域数据。
所述c、d为常数,所述N为两倍的频域数据长度,所述n=0,…,N/4-1,所述k=0,…,N/4-1,所述
其中,第三后旋转单元904包括:
第四后旋转单元,用于使用旋转因子 和归一化因子B对所述离散傅里叶变换后的数据进行后旋转处理。
第二傅里叶变换单元903包括:
第三变换单元,用于根据地址表,对所述第二预旋转单元旋转后的数据进行Q次P点离散傅里叶变换;
第四变换单元,用于根据地址表,对所述第三变换单元变换后的数据进行P次Q点离散傅里叶变换;
所述P、Q为互质的正整数,且M=N/4=P×Q,所述M为地址表长度;所 述地址表为<K1×n1+K2×n2>M,所述n1=0,…,P-1,n2=0,…,Q-1,所述K1、K2为互质的正整数且满足<K1K2>M=0,<Z>M为Z对M的模。
本发明实施例提供的时域到频域的信号处理装置、频域到时域的信号处理装置的具体使用方法可参考上文对本发明提供的信号处理方法实施例的描述。
在本发明实施例提供的时域到频域的信号处理装置、频域到时域的信号处理装置中,由于旋转因子中的 项可以写成 的形式,满足 条件,而旋转因子中的 项也满足同样的对称条件,因此本发明实施例提供的时域到频域的信号处理装置、频域到时域的信号处理装置只需要存储一个N/4点的数据表格,相比现有技术需要至少存储一个N/4点的余弦(cosine)表值和一个N/4点的正弦(sine)表值,共计N/2点表值,大大降低了存储复杂度、存储量,减少了对存储资源的占用,也提高了信号处理效率。
本发明提供的数据处理装置中引入了地址表进行寻址,以保证处理后输出数据可以顺序即位,降低寻址开销,本发明提供的数据处理装置结构如图10所示,包括:
地址表单元1001,用于生成或存储地址表;
该地址表中存储的地址可以遍历0,1,......M-1,和输入数据实现一对一映射。
实际使用中获取地址表的方式有很多种,在本实施例中提供了公式<K1×n1+K2×n2>M以获得地址表;
地址表I=<K1×n1+K2×n2>M,其中,n1=0,…,P-1,n2=0,…,Q-1,P、Q为互质的正整数,M=P×Q,K1、K2为互质的正整数且满足<K1K2>M=0,<Z>M为Z对M的模。
地址表I在满足一对一映射关系时,需要满足以下三个条件:
①K1为Q的正整数倍,和/或K2为P的正整数倍;
②K1与P互质;
③K2与Q互质。
第五变换单元1002,用于根据所述地址表单元1001生成或存储的地址表,对输入数据进行Q次P点离散傅里叶变换;
第i(i=0,…,Q-1)次P点DFT的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点DFT的结果需要进行x间隔的循环移位后作为最后的输出。
其中,x为 对于P的循环模反,x满足
例如,地址表I以I[n1][n2]的二维数组形式存储,则第i次P点DFT所取的数据为地址表I[n1][i],n1=0,…,P-1中存储的P个地址索引值对应的数据,每一次P点DFT的结果需要进行x间隔的循环移位。
第六变换单元1003,用于根据所述地址表单元1001生成或存储的地址表,对第五变换单元1002变换后的数据进行P次Q点离散傅里叶变换;
第i(i=0,…,P-1)次Q点DFT的输入数据为地址表I中n1=i,n2=0,…,Q-1对应的Q个地址索引值对应的数据,第i次Q点DFT的结果需要进行y间隔的循环移位后作为最后的输出。
其中,y为 对于Q的循环模反,y满足
例如,地址表I以I[n1][n2]的二维数组形式存储,则第i次Q点DFT所取的数据为地址表I[i][n2],n2=0,…,Q-1中存储的Q个地址索引值对应的数据,每一次Q点DFT的结果需要进行y间隔的循环移位。
本发明提供的数据处理装置实施例,由于引入地址表进行寻址,在进行快速傅立叶变换时,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,变换后的数据顺序即位,不需要特别进行排序,降低了运算中的寻址开销,提高了计算效率。
以下为关于地址表I生成方法可以实现顺序即位的证明:
FFT变换的定义为:
取M=P×Q,P、Q为互质的正整数,如果:
n=<K1×n1+K2×n2>M n1=0,…,P-1
n2=0,…,Q-1
k=<K1×k1+K2×k2>M k1=0,…,P-1
k2=0,…,Q-1
则X(k)可以写成X′(k1,k2),X′(k1,k2)=X(<K1×k1+K2×k2>M);x(n)可以写成x′(n1,n2),x′(n1,n2)=X(<K1×n1+K2×n2>M)
FFT变换的公式可以写成:
当<K1K2>M=0时, 因此:
由于
第i(i=0,…,Q-1)次P点DFT的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点DFT的结果需要进行x间隔的循环移位后作为最后的输出。
其中,x为 对于P的循环模反,x满足 当n1=0时 当n1=1时 以此类推,当n1=x时 由于按照顺序输出的FFT变换公式 n1=1时变换因子为 第i次P点DFT中,x满足 才能使得当n1=x时 因此如果要使得第i次P点DFT的结果也按照顺序输出,需要对n1=0,…,P-1对应的输出结果进行x间隔的循环移位。
同理,对于第i(i=0,…,P-1)次Q点DFT的输入数据为地址表I中n1=i,n2=0,…,Q-1对应的Q个地址索引值对应的数据,第i次Q点DFT的结果需要进行y间隔的循环移位后作为最后的输出。
其中,y为 对于Q的循环模反,y满足
以上对本发明所提供的一种信号处理方法、数据处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种数据处理方法,应用在宽带或超宽带数字音频编码领域,其特征在于,包括:
根据地址表进行寻址,所述地址表为<K1×n1+K2×n2>M,所述M为地址表长度,M=P×Q,所述n1=0,…,P-1,n2=0,…,Q-1,K1、K2为互质的正整数且满足<K1K2>M=0;其中所述P、Q为互质的正整数;
按照所述地址表对应地址读取输入音频数据;
根据所述地址表,对所述输入音频数据进行Q次P点离散傅里叶变换;其中,第i(i=0,…,Q-1)次P点离散傅里叶变换的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点离散傅里叶变换的结果需要进行x间隔的循环移位后作为最后的输出;x为对于P的循环模反,x满足
根据所述地址表,对所述Q次P点离散傅里叶变换后的音频数据进行P次Q点离散傅里叶变换,其中,第i(i=0,…,P-1)次Q点离散傅里叶变换的输入数据为地址表I中n1=i,n2=0,…,Q-1对应的Q个地址索引值对应的数据,第i次Q点离散傅里叶变换的结果需要进行y间隔的循环移位后作为最后的输出;y为对于Q的循环模反,y满足
按照所述地址表对应地址存储输出音频数据。
2.如权利要求1中任一项所述的数据处理方法,其特征在于,所述地址表以数组的形式存储在表格中。
3.如权利要求2所述的数据处理方法,其特征在于,所述地址表以I[n2×n1]的一维数组形式存储,根据所述地址表进行Q次P点离散傅里叶变换可以表示成:
DFT_P(z(I+iP))x i=0,…,Q-1。
4.如权利要求2所述的数据处理方法,其特征在于,所述地址表以I[n2×n1]的一维数组形式存储,根据所述地址表进行P次Q点离散傅里叶变换可以表示成:
DFT_Q(z(I+i))y i=0,…,P-1。
5.如权利要求2所述的数据处理方法,其特征在于,
每次所述P点离散傅里叶变换所取的数据为I+iP处的连续P点的索引值对应的数据,每次所述P点离散傅里叶变换的结果需要进行x间隔的循环移位;
每次所述Q点离散傅里叶变换所取的数据为I+i处的间隔为P的Q个索引值所对应的数据。每次所述Q点离散傅里叶变换的结果需要进行y间隔的循环移位。
6.一种数据处理装置,应用在在宽带或超宽带数字音频编码领域,其特征在于,所述装置根据地址表进行寻址,按照所述地址表对应地址读取输入音频数据,按照所述地址表对应地址存储输出音频数据,包括:
地址表单元,用于生成或存储地址表;所述地址表为<K1×n1+K2×n2>M,所述M为地址表长度,M=P×Q,所述n1=0,…,P-1,n2=0,…,Q-1,K1、K2为互质的正整数且满足<K1K2>M=0;其中所述P、Q为互质的正整数;
第五变换单元,用于根据所述地址表单元生成或存储的地址表,对所述输入音频数据进行Q次P点离散傅里叶变换,其中,第i(i=0,…,Q-1)次P点离散傅里叶变换的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点离散傅里叶变换的结果需要进行x间隔的循环移位后作为最后的输出;x为对于P的循环模反,x满足
第六变换单元,用于根据所述地址表单元生成或存储的地址表,对第五变换单元变换后的音频数据进行P次Q点离散傅里叶变换,其中,第i(i=0,…,P-1)次Q点离散傅里叶变换的输入数据为地址表I中n1=i,n2=0,…,Q-1对应的Q个地址索引值对应的数据,第i次Q点离散傅里叶变换的结果需要进行y间隔的循环移位后作为最后的输出;y为对于Q的循环模反,y满足
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910150720.5A CN101930425B (zh) | 2009-06-24 | 2009-06-24 | 信号处理方法、数据处理方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910150720.5A Division CN101930425B (zh) | 2009-06-24 | 2009-06-24 | 信号处理方法、数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101930426A CN101930426A (zh) | 2010-12-29 |
CN101930426B true CN101930426B (zh) | 2015-08-05 |
Family
ID=43369607
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010213499.6A Active CN101930426B (zh) | 2009-06-24 | 2009-06-24 | 信号处理方法、数据处理方法及装置 |
CN200910150720.5A Active CN101930425B (zh) | 2009-06-24 | 2009-06-24 | 信号处理方法、数据处理方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910150720.5A Active CN101930425B (zh) | 2009-06-24 | 2009-06-24 | 信号处理方法、数据处理方法及装置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8554818B2 (zh) |
EP (2) | EP2290938B1 (zh) |
JP (2) | JP5599874B2 (zh) |
KR (1) | KR101202729B1 (zh) |
CN (2) | CN101930426B (zh) |
WO (1) | WO2010148743A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012037515A1 (en) | 2010-09-17 | 2012-03-22 | Xiph. Org. | Methods and systems for adaptive time-frequency resolution in digital data coding |
CN102043761B (zh) * | 2011-01-04 | 2012-06-13 | 东南大学 | 一种基于可重构技术的傅立叶变换的实现方法 |
CN102592601B (zh) * | 2011-01-10 | 2014-09-17 | 华为技术有限公司 | 一种信号处理方法和装置 |
US9009036B2 (en) | 2011-03-07 | 2015-04-14 | Xiph.org Foundation | Methods and systems for bit allocation and partitioning in gain-shape vector quantization for audio coding |
US9015042B2 (en) | 2011-03-07 | 2015-04-21 | Xiph.org Foundation | Methods and systems for avoiding partial collapse in multi-block audio coding |
US8838442B2 (en) * | 2011-03-07 | 2014-09-16 | Xiph.org Foundation | Method and system for two-step spreading for tonal artifact avoidance in audio coding |
FR2992131A1 (fr) * | 2012-06-15 | 2013-12-20 | France Telecom | Procede de traitement d'un signal numerique, dispositif et programmes d'ordinateurs associes |
CN103106181B (zh) * | 2013-01-29 | 2016-03-02 | 北京理工大学 | 一种大点数fft在处理器上的实现方法 |
JP6089878B2 (ja) | 2013-03-28 | 2017-03-08 | 富士通株式会社 | 直交変換装置、直交変換方法及び直交変換用コンピュータプログラムならびにオーディオ復号装置 |
CN104778150B (zh) * | 2015-03-27 | 2018-12-14 | 华为技术有限公司 | 一种频域处理方法及装置 |
KR101755987B1 (ko) | 2016-02-29 | 2017-07-10 | 세종대학교산학협력단 | 슬라이딩 이산 푸리에 변환 방법 및 장치 |
CN108460459A (zh) * | 2017-02-22 | 2018-08-28 | 大连云海创新科技有限公司 | 基于小波神经网络的无人机遥感测温中温度拟合的方法 |
CN110781445A (zh) * | 2019-10-11 | 2020-02-11 | 清华大学 | 一种时域流数据的增量式频域变换系统及方法 |
CN112311518A (zh) * | 2020-11-04 | 2021-02-02 | 安徽研实科技有限公司 | 一种基于频域预测的时域数据预处理方法 |
TW202233232A (zh) | 2020-11-06 | 2022-09-01 | 法商賽諾菲公司 | 遞送mRNA疫苗的脂質奈米顆粒 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425992A (zh) * | 2007-10-30 | 2009-05-06 | 索尼株式会社 | 数据处理设备和方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4231102A (en) | 1978-12-21 | 1980-10-28 | Raytheon Company | Cordic FFT processor |
JPH05158967A (ja) | 1991-12-05 | 1993-06-25 | Nec Corp | 計算機システム |
JPH05324697A (ja) * | 1992-05-25 | 1993-12-07 | Ricoh Co Ltd | 高速フーリエ変換演算用回転因子生成回路 |
JP3065979B2 (ja) * | 1997-01-22 | 2000-07-17 | 松下電器産業株式会社 | 高速フーリエ変換装置および方法、可変ビットリバース回路、逆高速フーリエ変換装置および方法、並びにofdm受信および送信装置 |
US6230177B1 (en) * | 1998-06-12 | 2001-05-08 | Silicon Graphics, Inc. | Method and apparatus for performing fast fourier transforms |
US6167102A (en) | 1998-08-03 | 2000-12-26 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method employing a reduced NCO lookup table |
US6691084B2 (en) | 1998-12-21 | 2004-02-10 | Qualcomm Incorporated | Multiple mode variable rate speech coding |
US6351759B1 (en) * | 1999-02-26 | 2002-02-26 | Trw Inc. | Digital channelizer having efficient architecture for discrete fourier transformation and operation thereof |
US7203717B1 (en) | 1999-10-30 | 2007-04-10 | Stmicroelectronics Asia Pacific Pte. Ltd. | Fast modified discrete cosine transform method |
US20020106020A1 (en) | 2000-02-09 | 2002-08-08 | Cheng T. C. | Fast method for the forward and inverse MDCT in audio coding |
CN100388699C (zh) * | 2002-06-19 | 2008-05-14 | 中兴通讯股份有限公司 | 非对称数字用户环线系统中的离散傅里叶变换装置 |
CN1270462C (zh) * | 2003-02-28 | 2006-08-16 | 清华大学 | 正交频分复用系统基于最小非线性噪声的部分传输序列方法 |
US7231102B2 (en) | 2004-01-16 | 2007-06-12 | Optimer Photonics, Inc. | Electrooptic modulator employing DC coupled electrodes |
US7577698B2 (en) | 2004-12-28 | 2009-08-18 | Industrial Technology Research Institute | Fast fourier transform processor |
CN100426378C (zh) * | 2005-08-04 | 2008-10-15 | 北京中星微电子有限公司 | 一种动态噪音消除方法及数字滤波器 |
KR100721263B1 (ko) | 2005-08-31 | 2007-05-23 | 한국전자통신연구원 | Imdct 코프로세서 및 이를 포함한 오디오 복호기 |
US7685220B2 (en) | 2005-12-14 | 2010-03-23 | Telefonaktiebolaget L M Ericsson (Publ) | Circular fast fourier transform |
JP2008052504A (ja) * | 2006-08-24 | 2008-03-06 | Fujitsu Ltd | 離散フーリエ変換装置および離散フーリエ逆変換装置 |
CN101266594A (zh) * | 2007-03-13 | 2008-09-17 | 劲取科技股份有限公司 | 利用cooley-tukey演算法以完成n点离散傅立叶转换的装置 |
CN101296211A (zh) * | 2007-04-28 | 2008-10-29 | 北京三星通信技术研究有限公司 | 3780点离散傅立叶变换处理器 |
US8548815B2 (en) | 2007-09-19 | 2013-10-01 | Qualcomm Incorporated | Efficient design of MDCT / IMDCT filterbanks for speech and audio coding applications |
CN101562015A (zh) | 2008-04-18 | 2009-10-21 | 华为技术有限公司 | 音频处理方法及装置 |
-
2009
- 2009-06-24 CN CN201010213499.6A patent/CN101930426B/zh active Active
- 2009-06-24 CN CN200910150720.5A patent/CN101930425B/zh active Active
-
2010
- 2010-04-22 EP EP10791249.5A patent/EP2290938B1/en active Active
- 2010-04-22 WO PCT/CN2010/072029 patent/WO2010148743A1/zh active Application Filing
- 2010-04-22 EP EP18183067.0A patent/EP3486806A1/en active Pending
- 2010-04-22 KR KR1020117022261A patent/KR101202729B1/ko active IP Right Grant
- 2010-04-22 JP JP2012512184A patent/JP5599874B2/ja active Active
- 2010-12-28 US US12/980,001 patent/US8554818B2/en active Active
-
2011
- 2011-04-13 US US13/086,183 patent/US8145695B2/en active Active
-
2013
- 2013-07-02 JP JP2013138662A patent/JP5708720B2/ja active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425992A (zh) * | 2007-10-30 | 2009-05-06 | 索尼株式会社 | 数据处理设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101930426A (zh) | 2010-12-29 |
US8145695B2 (en) | 2012-03-27 |
EP2290938B1 (en) | 2018-09-05 |
EP3486806A1 (en) | 2019-05-22 |
EP2290938A1 (en) | 2011-03-02 |
US20110185001A1 (en) | 2011-07-28 |
US20110090993A1 (en) | 2011-04-21 |
EP2290938A4 (en) | 2015-01-21 |
US8554818B2 (en) | 2013-10-08 |
JP2013229050A (ja) | 2013-11-07 |
KR101202729B1 (ko) | 2012-11-21 |
CN101930425B (zh) | 2015-09-30 |
KR20110131224A (ko) | 2011-12-06 |
CN101930425A (zh) | 2010-12-29 |
JP5708720B2 (ja) | 2015-04-30 |
WO2010148743A1 (zh) | 2010-12-29 |
JP2012527708A (ja) | 2012-11-08 |
JP5599874B2 (ja) | 2014-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101930426B (zh) | 信号处理方法、数据处理方法及装置 | |
CN102243874B (zh) | 分解滤波器组、合成滤波器组、编码器、解码器、混合器及会议系统 | |
CN104301728B (zh) | 基于结构化稀疏字典学习的压缩视频采集与重构系统 | |
CN106982045B (zh) | 一种基于socp优化的eir-cmfb结构的设计方法 | |
Da Costa et al. | On the stability of super-resolution and a Beurling–Selberg type extremal problem | |
CN102332266B (zh) | 一种音频数据的编码方法及装置 | |
CN103262067B (zh) | 一种数据处理方法、数据处理装置和通信系统 | |
CN101441618B (zh) | 一种加权分数傅立叶变换域低采样率信号恢复方法 | |
Lai | Compression of power system signals with wavelets | |
CN103427845A (zh) | 基于二维分块dct变换的电力系统谐波数据压缩与重构方法 | |
CN102592601B (zh) | 一种信号处理方法和装置 | |
Li et al. | Gabor systems on discrete periodic sets | |
CN203012015U (zh) | 一种改进傅里叶变换的谐波电能计量系统 | |
Wang et al. | Adaptive analog signal sampling through lagrange interpolation | |
Hou et al. | Additive maps between standard operator algebras compressing certain spectral functions | |
CN103415883B (zh) | 用于低频效果声道的减少复杂性变换 | |
CN116959459B (zh) | 一种音频传输方法及系统 | |
CN102568485B (zh) | 音频信号的频时转换方法及装置 | |
Xie et al. | Identical relation of interpolation and decimation in the linear canonical transform domain | |
CN103257953B (zh) | Imdct36运算模块及方法 | |
CN100486332C (zh) | 合成子频带滤波的方法及装置 | |
Zhu et al. | The design and implementation of FFT algorithm based on the Xilinx FPGA IP core | |
Li et al. | On quasi-affinity and reducing subspaces of multiplication operator on a certain closed subspace | |
CN117351961A (zh) | 一种智能语音识别SoC系统 | |
CN101763629A (zh) | 一种格形结构综合滤波器组的构造方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |