CN101930425A - 信号处理方法、数据处理方法及装置 - Google Patents

信号处理方法、数据处理方法及装置 Download PDF

Info

Publication number
CN101930425A
CN101930425A CN2009101507205A CN200910150720A CN101930425A CN 101930425 A CN101930425 A CN 101930425A CN 2009101507205 A CN2009101507205 A CN 2009101507205A CN 200910150720 A CN200910150720 A CN 200910150720A CN 101930425 A CN101930425 A CN 101930425A
Authority
CN
China
Prior art keywords
mrow
data
msub
rotation
address table
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.)
Granted
Application number
CN2009101507205A
Other languages
English (en)
Other versions
CN101930425B (zh
Inventor
张德明
李海婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to CN201010213499.6A priority Critical patent/CN101930426B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200910150720.5A priority patent/CN101930425B/zh
Priority to PCT/CN2010/072029 priority patent/WO2010148743A1/zh
Priority to KR1020117022261A priority patent/KR101202729B1/ko
Priority to EP18183067.0A priority patent/EP3486806A1/en
Priority to JP2012512184A priority patent/JP5599874B2/ja
Priority to EP10791249.5A priority patent/EP2290938B1/en
Priority to US12/980,001 priority patent/US8554818B2/en
Publication of CN101930425A publication Critical patent/CN101930425A/zh
Priority to US13/086,183 priority patent/US8145695B2/en
Priority to JP2013138662A priority patent/JP5708720B2/ja
Application granted granted Critical
Publication of CN101930425B publication Critical patent/CN101930425B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/144Prime factor Fourier transforms, e.g. Winograd transforms, number theoretic transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/02Speech 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/0212Speech 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Discrete Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种信号处理方法、数据处理方法及装置。其中时域到频域的信号处理方法,包括:对时域数据进行预处理;使用旋转因子对所述预处理获得的数据进行预旋转处理;对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;使用旋转因子对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据。频域到时域的信号处理方法,包括:对频域数据进行重组;使用旋转因子对所述重组获得的数据进行预旋转处理;对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;使用旋转因子对所述离散傅里叶变换后的数据进行后旋转处理;对所述后旋转处理后的数据进行后处理,获得时域数据。本发明可以提高信号处理的效率。

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值较大的时候,增加的存储量较高,占用存储资源较多,也会影响变换效率。
使用基于互质因子的快速傅里叶变换算法时,需要进行大量的寻址操作且没有考虑数据顺序即位的问题,进行变换时,需要对变换后得到的数据进行排序,才能得到真正的输出数据,增加了计算量。
发明内容
本发明实施例要解决的技术问题是提供一种信号处理方法、数据处理方法及装置,可以提高信号处理的效率。
为解决上述技术问题,
本发明实施例一方面,提供了一种时域到频域的信号处理方法,包括:
对时域数据进行预处理;
使用旋转因子
Figure B2009101507205D0000021
对所述预处理获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure B2009101507205D0000022
对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
所述a、b为常数,所述N为时域数据长度,所述
另一方面,提供了一种频域到时域的信号处理方法,包括:
对频域数据进行重组;
使用旋转因子
Figure B2009101507205D0000024
对所述重组获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure B2009101507205D0000025
对所述离散傅里叶变换后的数据进行后旋转处理;
对所述后旋转处理后的数据进行后处理,获得时域数据;
所述c、d为常数,所述N为两倍的频域数据长度,所述
Figure B2009101507205D0000026
另一方面,提供了一种数据处理方法,包括:
根据地址表,对数据进行Q次P点离散傅里叶变换;
根据地址表,对所述Q次P点离散傅里叶变换后的数据进行P次Q点离散傅里叶变换。
另一方面,提供了一种时域到频域的信号处理装置,包括:
预处理单元,用于对时域数据进行预处理;
第一预旋转单元,用于使用旋转因子为
Figure B2009101507205D0000031
对所述预处理单元预处理获得的数据进行预旋转处理;
第一傅里叶变换单元,用于对所述第一预旋转单元预旋转处理后的数据进行N/4点的离散傅里叶变换;
第一后旋转单元,用于使用旋转因子
Figure B2009101507205D0000032
对所述第一傅里叶变换单元进行离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
另一方面,提供了一种频域到时域的信号处理装置,包括:
重组单元,用于频域数据进行重组;
第二预旋转单元,用于使用旋转因子为
Figure B2009101507205D0000033
对所述重组单元重组获得的数据进行预旋转处理;
第二傅里叶变换单元,用于对所述第二预旋转单元预旋转处理后的数据进行N/4点的离散傅里叶变换;
第三后旋转单元,用于使用旋转因子
Figure B2009101507205D0000034
对所述第二傅里叶变换单元离散傅里叶变换后的数据进行后旋转处理;
后处理单元,用于对所述第三后旋转单元后旋转处理后的数据进行后处理,获得时域数据。
另一方面,提供了一种数据处理装置,包括:
地址表单元,用于生成或存储地址表;
第五变换单元,用于根据所述地址表单元生成或存储的地址表,对数据进行Q次P点离散傅里叶变换;
第六变换单元,用于根据所述地址表单元生成或存储的地址表,对第五变换单元变换后的数据进行P次Q点离散傅里叶变换。
由以上技术方案可以看出,由于本发明实施例提供的信号处理方法采用的旋转因子为常数与
Figure B2009101507205D0000041
项的乘积,由于
Figure B2009101507205D0000042
具有对称性,因此,只需要存储一个N/4点的数据表格即可完成预旋转处理及后旋转处理,相比现有技术,本发明实施例提供的信号处理方法大大降低了存储量,减少了对存储资源的占用,也提高了变换效率。进一步,本发明实施例提供的信号处理方法在进行后旋转处理时不需要使用归一化因子,节省了步骤,进一步提高了变换效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实现方式。
图1为本发明提供的时域到频域的信号处理方法实施例一流程图;
图2为本发明实施例提供的引入地址表进行FFT变换的数据处理方法流程图;
图3为本发明提供的频域到时域的信号处理方法实施例二流程图;
图4为本发明提供的时域到频域的信号处理方法实施例三流程图;
图5为本发明提供的频域到时域的信号处理方法实施例四流程图;
图6为本发明提供的时域到频域的信号处理方法实施例五流程图;
图7为本发明提供的频域到时域的信号处理方法实施例六流程图;
图8为本发明实施例提供的时域到频域的信号处理装置结构图;
图9为本发明实施例提供的频域到时域的信号处理装置结构图;
图10为本发明实施例提供的数据处理装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种信号处理方法、数据处理方法及装置,可以有效提高信号处理的效率。
现有技术中,基于N/4点FFT变换实现MDCT变换的快速化通常先对N点的数据进行加窗、重组及预旋转处理,将N点的MDCT变换转换成为一个N/4点的FFT变换,经过FFT变换后的数据再进行后旋转处理得到最终的MDCT系数。
MDCT变换的定义为:
X k = A Σ n = 0 N - 1 y n cos [ 2 π N ( n + 1 2 + N 4 ) ( k + 1 2 ) ] , k = 0,1 , · · · , N 2 - 1
其中,A为归一化因子,并且,A为常数。根据MDCT变换定义可以得到:
X 2 k = A · Re { W N k + 0.125 Σ n = 0 N / 4 - 1 u n W N n + 0.125 W N / 4 nk } , k = 0 , · · · , N / 4 - 1
X N / 2 - 1 - 2 k = - A · Im { W N k + 0.125 Σ n = 0 N / 4 - 1 u n W N n + 0.125 W N / 4 nk } , k = 0 , · · · , N / 4 - 1
其中
Figure B2009101507205D0000054
上述两式组合后得到
X 2 k - j X N / 2 - 1 - 2 k = A · W N k + 0.125 post - rotation Σ n = 0 N / 4 - 1 { u n W N n + 0.125 pre - rotation } N / 4 W N / 4 nk pointsDFT , k = 0 , · · · , N / 4 - 1
则基于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
其中:
z n + N / 4 = y n - y N / 2 - 1 - n z N / 4 - 1 - n = - y N - 1 - n - y N / 2 + n , n = 0 , · · · , N / 4 - 1
或者表示成:
z n = - y n + 3 N / 4 - y 3 N / 4 - 1 - n n = 0 , · · · , N / 4 - 1 z n = y n - N / 4 - y 3 N / 4 - 1 - n n = N / 4 , · · · , N / 2 - 1
③对数据重组un进行预旋转处理,旋转因子为
Figure B2009101507205D0000062
④对旋转后的数据进行N/4点的FFT变换;
⑤使用旋转因子和归一化因子A对变换后的数据进行后旋转处理,旋转因子为
⑥经过后旋转处理后得到的复数的实部为X2k,即MDCT谱的奇数频点,虚部为-XN/2-1-2k,即MDCT谱的偶数频点。
其中旋转因子
Figure B2009101507205D0000064
可以展开如下式:
W N n + 0.125 = e - j 2 π N ( n + 0.125 ) = cos ( 2 π ( n + 0.125 ) N ) - j sin ( 2 π ( n + 0.125 ) N )
进行预旋转及后旋转处理时需要使用旋转因子
Figure B2009101507205D0000066
Figure B2009101507205D0000067
因此需要至少存储一个N/4点的余弦(cosine)表值和一个N/4点的正弦(sine)表值,共计N/2点表值。当前后旋转不对称时将需要存储N点表值。当N值较大的时候,增加的存储量较高,占用存储资源较多,也会影响变换效率。
本发明提供的对信号进行时域到频域的信号处理方法实施例包括:
对时域数据进行预处理;
使用旋转因子
Figure B2009101507205D0000068
对预处理获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子对离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
其中a、b为常数,N为时域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
Figure B2009101507205D00000610
在进行预旋转处理前对数据进行的处理都可以被称为预处理,例如在本实施例中,预处理可以为加窗及数据重组,也可以为数据重组。
本发明提供的对信号进行频域到时域的信号处理方法实施例包括:
对频域数据进行重组;
使用旋转因子
Figure B2009101507205D0000071
对重组获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure B2009101507205D0000072
对离散傅里叶变换后的数据进行后旋转处理;
对后旋转处理后的数据进行后处理,获得时域数据;
其中c、d为常数,N为两倍的频域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
Figure B2009101507205D0000073
在进行后旋转处理后对数据进行的处理都可以被称为后处理,后处理的内容通常要视相应时域到频域的信号处理方法中预处理内容而定,例如在本发明实施例中,预处理为加窗及数据重组时,后处理也为加窗及数据重组;预处理为数据重组时,后处理也为数据重组。
时域到频域的信号处理方法又可称作正变换,频域到时域的信号处理方法又可称作逆变换。在正变换与逆变换中的a×b×c×d=4/N时,以正变换的输出数据直接作为逆变换的输入数据,逆变换的结果可以完成完全重构,即恢复获得进行正变换前的数据,在实际操作中并不一定需要实现完全重构。
由于本发明提供的信号处理方法采用的旋转因子中的
Figure B2009101507205D0000074
项可以展开如下式:
W N n + 0.5 = e - j 2 π N ( n + 0.5 ) = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0 . 5 ) N )
其中, cos ( 2 π N ( n + 0.5 ) ) = sin ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) ;
sin ( 2 π N ( n + 0.5 ) ) = cos ( 2 π N ( N / 4 - 1 - n + 0.5 ) ) ;
因此,
Figure B2009101507205D0000078
具有对称性,只需要存储
Figure B2009101507205D00000710
中任意一个N/4点的数据表格即可完成预旋转处理及后旋转处理。
在传统MDCT中,为了得到MDCT谱系数,旋转因子必须取
Figure B2009101507205D00000711
Figure B2009101507205D00000712
Figure B2009101507205D00000714
是不具有对称性的,在进行预旋转处理及后旋转处理时至少需要存储一个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
其中:
z n + N / 4 = y n - y N / 2 - 1 - n z N / 4 - 1 - n = - y N - 1 - n - y N / 2 + n , n = 0 , · · · , N / 4 - 1
或者表示成:
z n = - y n + 3 N / 4 - y 3 N / 4 - 1 - n n = 0 , · · · , N / 4 - 1 z n = y n - N / 4 - y 3 N / 4 - 1 - n n = N / 4 , · · · , N / 2 - 1
102、使用旋转因子
Figure B2009101507205D0000083
对预处理获得的数据进行预旋转处理。
将重组数据un进行预旋转处理,旋转因子为
Figure B2009101507205D0000084
n=0,…,N/4-1。其中
Figure B2009101507205D0000085
a为常数。旋转后的数据为
本实施例中可以选取
Figure B2009101507205D0000091
由于旋转因子中的
Figure B2009101507205D0000092
项可以写成以下形式:
W N n + 0.5 = e - j 2 π N ( n + 0.5 ) = cos ( 2 π ( n + 0.5 ) N ) - j sin ( 2 π ( n + 0 . 5 ) N )
满足
Figure B2009101507205D0000094
Figure B2009101507205D0000095
条件,因此具体的实现过程中只需要存储一个N/4点的sine或者cosine数据表格即可。本实施例只存储了一个N/4点的数据表格,表格中数值的表达式为:
Figure B2009101507205D0000096
n=0,…,319。
103、对预旋转处理后的数据进行N/4点的离散傅里叶变换(DFT,Discrete Fourier 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,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[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,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的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点DFT的结果需要进行x间隔的循环移位后作为最后的输出。
其中,x为对于P的循环模反,x满足
Figure B2009101507205D0000112
例如,地址表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=[z0 z1 z2 z3 z4],其2次循环移位结果是Z=[z0 z2 z4 z1 z3]。当然,为了进一步提高计算效率,也可以用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为
Figure B2009101507205D0000121
对于Q的循环模反,y满足
Figure B2009101507205D0000122
例如,地址表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、使用旋转因子
Figure B2009101507205D0000123
对离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
对变换后的数据进行后旋转处理,旋转因子为k=0,…,N/4-1,其中
Figure B2009101507205D0000132
b为常数。本实施例中,可以选取由于旋转因子中的项可以写成以下形式:
W N k + 0.5 = e - j 2 &pi; N ( k + 0.5 ) = cos ( 2 &pi; ( k + 0.5 ) N ) - j sin ( 2 &pi; ( k + 0 . 5 ) N ) , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
而且b=a,因此,在具体的实现过程中可以复用步骤102中所使用的N/4点的数据表格。
频域数据也即最终的谱为Xk,k=0,…,N/2-1,可表述为:
X 2 k = Re { b &CenterDot; W N k + 0.5 &Sigma; n = 0 N / 4 - 1 u n &CenterDot; a &CenterDot; W N n + 0.5 W N / 4 nk } , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
X N / 2 - 1 - 2 k = - Im { b &CenterDot; W N k + 0.5 &Sigma; n = 0 N / 4 - 1 u n &CenterDot; a &CenterDot; W N n + 0.5 W N / 4 nk } , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
与本发明提供的时域到频域的信号处理方法实施例一对应,本发明提供了用于频域到时域的信号处理方法实施例二。如果采用本发明提供的时域到频域的信号处理方法实施例一进行正变换,则可以采用本发明提供的频域到时域的信号处理方法实施例二对数据进行相应的逆变换。
图3为本发明提供的频域到时域的信号处理方法实施例二流程图,包括:
301、对频域数据进行重组。
在本实施例中,将对频域数据Xk,k=0,…,N/2-1进行重组。本实施例中N=1280。
数据重组后获取的中间变量为(X2k+jXN/2-1-2k),k=0,…,N/4-1。
302、使用旋转因子
Figure B2009101507205D0000138
对重组获得的数据进行预旋转处理。
对重组后的数据进行预旋转处理,旋转因子为k=0,…,N/4-1。
其中
Figure B2009101507205D00001310
c为常数。本实施例中可以选取
Figure B2009101507205D00001311
因此也可以复用步骤102和104中所使用的N/4点的数据表格。
303、对预旋转处理后的数据进行N/4点的离散傅里叶变换。
可以选用普通的N/4点的DFT变换,也可以选用其他各种N/4点的快速傅立叶变换。
本步骤也可以采用图2所示的方法进行320点快速傅立叶变换。
304、使用旋转因子对离散傅里叶变换后的数据进行后旋转处理。对变换后的数据进行后旋转处理,旋转因子为
Figure B2009101507205D0000142
n=0,…,N/4-1。其中
Figure B2009101507205D0000143
d为常数。本实施例中可以选取
Figure B2009101507205D0000144
因此也可以复用步骤102和104中所使用的N/4点的数据表格。
得到处理后的数据yn
y n = ( - j ) &CenterDot; d &CenterDot; W N n + 0.5 &Sigma; k = 0 N / 4 - 1 [ ( X 2 k + j X N / 2 - 1 - 2 k ) &CenterDot; c &CenterDot; W N k + 0.5 ] W N / 4 nk n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 8 - 1 d &CenterDot; W N n + 0.5 &Sigma; k = 0 N / 4 - 1 [ ( X 2 k + j X N / 2 - 1 - 2 k ) &CenterDot; c &CenterDot; W N k + 0.5 ] W N / 4 nk n = N / 8 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
305、对后旋转处理后的数据进行后处理,得到时域数据。
本步骤中后处理包括加窗及数据重组处理,实际使用中可以采用其他的后处理方式;
经过加窗重组后得到时域数据
Figure B2009101507205D0000146
n=0,…,N/2-1。
x ^ 2 n = m 2 n g N / 2 + 2 n + Re { u n } g 2 n x ^ N / 2 - 1 - 2 n = m N / 2 - 1 - 2 n g N - 1 - 2 n - Re { u n } g N / 2 - 1 - 2 n , n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
其中
Figure B2009101507205D0000148
为合成窗,与分析窗hn一起满足完全重构关系:hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1。mn为上一帧的缓存数据,mn的更新满足:
m N / 4 - 1 - 2 n = m N / 4 + 2 n = Im { u n } n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 8 - 1 m 2 n - N / 4 = m 3 N / 4 - 1 - 2 n = Im { u n } n = N / 8 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1 .
在使用本发明提供的时域到频域的信号处理方法实施例一、频域到时域的信号处理方法实施例二时,正变换与反变换中的常数a、b、c和d在满足a×b×c×d=4/N时,逆变换的结果可以完成完全重构,在实际操作中并不一定需要实现完全重构。
例如,我们可以选取
Figure B2009101507205D0000151
此时正变换和逆变换只需要存储中任意一个N/4点的数据表格即可完成预旋转处理及后旋转处理。如果常数a、b、c和d并不是两两相等,则要根据具体情况存储数据表格来完成预旋转处理及后旋转处理。
本发明提供的另一种时域到频域的信号处理方法实施例包括:
对时域数据进行预处理;
使用旋转因子
Figure B2009101507205D0000153
对预处理后获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure B2009101507205D0000154
和归一化因子A对离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
其中a、b为常数,N为时域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
Figure B2009101507205D0000155
在进行预旋转处理前对数据进行的处理都可以被称为预处理,例如在本实施例中,预处理可以为加窗及数据重组,也可以为数据重组。
本发明提供的另一种频域到时域的信号处理方法实施例包括:
对频域数据进行重组;
使用旋转因子
Figure B2009101507205D0000156
对重组获得的数据进行预旋转处理;
对预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure B2009101507205D0000157
和归一化因子B对离散傅里叶变换后的数据进行后旋转处理;
对后旋转处理后的数据进行后处理,获得时域数据;
其中c、d为常数,N为两倍的频域数据长度,n=0,…,N/4-1,k=0,…,N/4-1,
Figure B2009101507205D0000158
在进行后旋转处理后对数据进行的处理都可以被称为后处理,后处理的内容通常要视相应时域到频域的信号处理方法中预处理内容而定,例如在本实施例中,预处理为加窗及数据重组时,后处理也为加窗及数据重组;预处理为数据重组时,后处理也为数据重组。
时域到频域的信号处理方法又可称作正变换,频域到时域的信号处理方法又可称作逆变换。在正变换与逆变换中的a×b×c×d×A×B=4/N时,以正变换的输出数据直接作为逆变换的输入数据,逆变换的结果可以完成完全重构,即恢复获得进行正变换前的数据,例如可以选取a=b=c=d=1,A·B=4/N,或者选取A=B=1。在实际操作中并不一定需要实现完全重构。
由于本发明提供的信号处理方法采用的旋转因子中的
Figure B2009101507205D0000162
项可以展开如下式:
W N n + 0.5 = e - j 2 &pi; N ( n + 0.5 ) = cos ( 2 &pi; ( n + 0.5 ) N ) - j sin ( 2 &pi; ( n + 0 . 5 ) N )
其中, cos ( 2 &pi; N ( n + 0.5 ) ) = sin ( 2 &pi; N ( N / 4 - 1 - n + 0.5 ) ) ;
sin ( 2 &pi; N ( n + 0.5 ) ) = cos ( 2 &pi; N ( N / 4 - 1 - n + 0.5 ) ) ;
因此,
Figure B2009101507205D0000166
具有对称性,只需要存储
Figure B2009101507205D0000167
Figure B2009101507205D0000168
中任意一个N/4点的数据表格即可完成预旋转处理及后旋转处理。
在传统MDCT中,为了得到MDCT谱系数,旋转因子必须取
Figure B2009101507205D0000169
Figure B2009101507205D00001610
是不具有对称性的,在进行预旋转处理及后旋转处理时至少需要存储一个N/4点的余弦表值和一个N/4点的正弦表值,本发明提供的信号处理方法实施例采用的旋转因子均为常数与
Figure B2009101507205D00001611
项的乘积,由于具有对称性,因此,只需要存储一个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
其中:
z n + N / 4 = y n - y N / 2 - 1 - n z N / 4 - 1 - n = - y N - 1 - n - y N / 2 + n , n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
或者表示成:
z n = - y n + 3 N / 4 - y 3 N / 4 - 1 - n n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1 z n = y n - N / 4 - y 3 N / 4 - 1 - n n = N / 4 , &CenterDot; &CenterDot; &CenterDot; , N / 2 - 1
402、使用旋转因子对预处理获得的数据进行预旋转处理。
将重组数据un进行预旋转处理,旋转因子为
Figure B2009101507205D0000174
n=0,…,N/4-1。其中a为常数。
本实施例中,取a=1,则旋转因子可以写成以下形式:
W N n + 0.5 = e - j 2 &pi; N ( n + 0.5 ) = cos ( 2 &pi; ( n + 0.5 ) N ) - j sin ( 2 &pi; ( n + 0 . 5 ) N )
由于满足 cos ( 2 &pi; N ( n + 0.5 ) ) = sin ( 2 &pi; N ( N / 4 - 1 - n + 0.5 ) ) ;
sin ( 2 &pi; N ( n + 0.5 ) ) = cos ( 2 &pi; N ( N / 4 - 1 - n + 0.5 ) ) ;
因此具体的实现过程中只需要存储
Figure B2009101507205D0000179
中任意一个N/4点的数据表格即可。本实施例中存储了一个N/4点的sine表格,表格的数值表达式为:
Figure B2009101507205D00001711
n=0,…,159;
403、对预旋转处理后的数据进行N/4点的离散傅里叶变换。
本步骤中可以选用普通的M=N/4=160点的DFT变换,也可以选用其他各种M=N/4=160点的FFT变换
404、使用旋转因子
Figure B2009101507205D00001712
和归一化因子A对变换后的数据进行后旋转处理,获得频域输出数据。
对变换后的数据进行后旋转处理,旋转因子为
Figure B2009101507205D0000181
k=0,…,N/4-1,其中
Figure B2009101507205D0000182
b为常数。本实施例中,可以选取b=1,旋转因子可以写成以下形式:
W N k + 0.5 = e - j 2 &pi; N ( k + 0.5 ) = cos ( 2 &pi; ( k + 0.5 ) N ) - j sin ( 2 &pi; ( k + 0 . 5 ) N ) , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
而且b=a,因此,在具体的实现过程中可以复用步骤402中所使用的N/4点的数据表格。
得到最终数据Xk,k=0,…,N/2-1。
X 2 k = A &CenterDot; Re { b &CenterDot; W N k + 0.5 &Sigma; n = 0 N / 4 - 1 u n &CenterDot; a &CenterDot; W N n + 0.5 W N / 4 nk } , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
X N / 2 - 1 - 2 k = A &CenterDot; - Im { b &CenterDot; W N k + 0.5 &Sigma; n = 0 N / 4 - 1 u n &CenterDot; a &CenterDot; W N n + 0.5 W N / 4 nk } , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
,其中A为归一化因子,A为常数。本实施例中,可以选取
Figure B2009101507205D0000186
与本发明提供的时域到频域的信号处理方法实施例三对应,本发明提供了用于频域到时域的信号处理方法实施例四,在采用本发明提供的时域到频域的信号处理方法实施例三进行变换时,可以采用本发明提供的频域到时域的信号处理方法实施例四对数据进行相应的逆变换。
图5为本发明提供的频域到时域的信号处理方法实施例四流程图,包括:
501、对频域输入数据进行重组。
在本实施例中,将对数据Xk,k=0,…,N/2-1进行重组,数据重组后获取的中间变量为(X2k+jXN/2-1-2k),k=0,…,N/4-1。其中N=640。
502、使用旋转因子对重组获得的数据进行预旋转处理。
对重组后的数据进行预旋转处理,旋转因子为
Figure B2009101507205D0000188
k=0,…,N/4-1。其中
Figure B2009101507205D0000189
c为常数。本实施例中可以选取c=1,因此也可以复用本发明提供的时域到频域的信号处理方法实施例三中步骤402和404中所使用的N/4点的数据表格。
503、对预旋转处理后的数据进行N/4点的离散傅里叶变换。
对旋转后的数据进行M=N/4=160点的DFT变换。可以选用普通的160点的DFT变换,也可以选用其他各种160点的快速傅立叶变换。
504、使用旋转因子
Figure B2009101507205D0000191
和归一化因子B对离散傅里叶变换后的数据进行后旋转处理。
对变换后的数据进行后旋转处理,旋转因子为
Figure B2009101507205D0000192
n=0,…,N/4-1。其中d为常数。得到处理后的数据yn
y n = B &CenterDot; ( - j ) &CenterDot; d &CenterDot; W N n + 0.5 &Sigma; k = 0 N / 4 - 1 [ ( X 2 k + j X N / 2 - 1 - 2 k ) &CenterDot; c &CenterDot; W N k + 0.5 ] W N / 4 nk n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 8 - 1 B &CenterDot; d &CenterDot; W N n + 0.5 &Sigma; k = 0 N / 4 - 1 [ ( X 2 k + j X N / 2 - 1 - 2 k ) &CenterDot; c &CenterDot; W N k + 0.5 ] W N / 4 nk n = N / 8 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
其中B为归一化因子,B为常数。本实施例中,选取本实施例中可以选取d=1,因此也可以复用本发明提供的时域到频域的信号处理方法实施例三中步骤402和404中所使用的N/4点的数据表格。
505、对后旋转处理后的数据进行后处理,得到时域输出数据。
本步骤中后处理包括加窗及数据重组处理,实际使用中可以采用其他的后处理方式;
经过加窗重组后得到输出数据n=0,…,N/2-1,满足:
x ^ 2 n = m 2 n g N / 2 + 2 n + Re { u n } g 2 n x ^ N / 2 - 1 - 2 n = m N / 2 - 1 - 2 n g N - 1 - 2 n - Re { u n } g N / 2 - 1 - 2 n , n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1 .
其中
Figure B2009101507205D0000198
gn为合成窗,与正变换中步骤401所述的分析窗hn一起满足完全重构关系:hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1。mn为上一帧的缓存数据,mn的更新满足:
m N / 4 - 1 - 2 n = m N / 4 + 2 n = Im { u n } n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 8 - 1 m 2 n - N / 4 = m 3 N / 4 - 1 - 2 n = Im { u n } n = N / 8 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
为了满足完全重构条件,可以对正变换或逆变换或者正逆变换都乘以特定的归一化因子。本实施例只给出了对正逆变换都乘以相同的归一化因子的例子,也可以只对正变换或逆变换乘以特定的归一化因子,还可以对正逆变换乘以不同的归一化因子,只要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
其中:
z n + N / 4 = y n - y N / 2 - 1 - n z N / 4 - 1 - n = - y N - 1 - n - y N / 2 + n , n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
或者表示成:
z n = - y n + 3 N / 4 - y 3 N / 4 - 1 - n n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1 z n = y n - N / 4 - y 3 N / 4 - 1 - n n = N / 4 , &CenterDot; &CenterDot; &CenterDot; , N / 2 - 1 .
本步骤使用的分析窗函数hn和进行逆变换时使用的合成窗函数gn在满足下式时,是满足完全重构条件的窗函数:
hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1
602、将预处理后的数据进行预旋转处理,旋转因子为
Figure B2009101507205D0000203
将重组数据un进行预旋转处理,旋转因子为
Figure B2009101507205D0000204
旋转后的数据为n=0,…,N/4-1。其中
Figure B2009101507205D0000206
a为常数。为了进一步减少计算复杂度,可以将归一化因子直接合进旋转因子中去,本实施例中可以选取
Figure B2009101507205D0000211
由于旋转因子中的
Figure B2009101507205D0000212
项可以写成以下形式:
W N n + 0.5 = e - j 2 &pi; N ( n + 0.5 ) = cos ( 2 &pi; ( n + 0.5 ) N ) - j sin ( 2 &pi; ( n+ 0 . 5 ) N )
由于:
cos ( 2 &pi; N ( n + 0.5 ) ) = sin ( 2 &pi; N ( N / 4 - 1 - n + 0.5 ) )
sin ( 2 &pi; N ( n + 0.5 ) ) = cos ( 2 &pi; N ( N / 4 - 1 - n + 0.5 ) )
因此只需要存储一个N/4点数据表格即可,在本实施例中只存储了一个N/4点的数据表格,表格中数值的表达式为:
Figure B2009101507205D0000216
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满足
Figure B2009101507205D0000222
在本实施例中是进行5次64点的DFT,第i(i=0,…4)次64点DFT所取的数据为地址表数组I[64i]处开始的连续64点存储的地址索引值对应的输入数据,在本实施例中为旋转后的数据,第i次64点DFT的结果需要进行5次循环移位。比如对于向量Z=[z0 z1 z2 z3 z4],其2次循环移位结果是Z=[z0 z2 z4 z1 z3]。当然,为了进一步提高计算效率,也可以用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为
Figure B2009101507205D0000223
对于Q的循环模反,y满足
Figure B2009101507205D0000224
本实施例中是进行64次5点的DFT,第i(i=0,…63)次5点DFT所取的数据为地址表数组I[i]处开始的间隔为64的5个点存储的地址索引值对应的输入数据,在本实施例中为旋转后的数据,第i次5点DFT的结果需要进行4次循环移位。
604、使用旋转因子
Figure B2009101507205D0000225
和归一化因子A对变换后的数据进行后旋转处理,获得频域数据。
对变换后的数据进行后旋转处理,旋转因子为k=0,…,N/4-1,其中
Figure B2009101507205D0000231
b为常数。在本实施例中,可以选取
Figure B2009101507205D0000232
在选取
Figure B2009101507205D0000233
时,由于旋转因子中的项可以写成以下形式:
W N k + 0.5 = e - j 2 &pi; N ( k + 0.5 ) = cos ( 2 &pi; ( k + 0.5 ) N ) - j sin ( 2 &pi; ( k + 0 . 5 ) N ) , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
而且b的取值等于步骤602中a的取值,因此,可以复用步骤602中所存储的N/4点的数据表格。
输出数据也即最终的谱为Xk,k=0,…,N/2-1,可表述为:
X 2 k = A &CenterDot; Re { b &CenterDot; W N k + 0.5 &Sigma; n = 0 N / 4 - 1 u n &CenterDot; a &CenterDot; W N n + 0.5 W N / 4 nk } , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
X N / 2 - 1 - 2 k = A &CenterDot; - Im { b &CenterDot; W N k + 0.5 &Sigma; n = 0 N / 4 - 1 u n &CenterDot; a &CenterDot; W N n + 0.5 W N / 4 nk } , k = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 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、对重组后的数据进行预旋转处理,旋转因子为
Figure B2009101507205D0000238
k=0,…,N/4-1。
其中c为常数。
在本实施例中可以选取
Figure B2009101507205D00002310
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。其中
Figure B2009101507205D0000243
d为常数。得到处理后的数据yn
y n = B &CenterDot; ( - j ) &CenterDot; d &CenterDot; W N n + 0.5 &Sigma; k = 0 N / 4 - 1 [ ( X 2 k + j X N / 2 - 1 - 2 k ) &CenterDot; c &CenterDot; W N k + 0.5 ] W N / 4 nk n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 8 - 1 B &CenterDot; d &CenterDot; W N n + 0.5 &Sigma; k = 0 N / 4 - 1 [ ( X 2 k + j X N / 2 - 1 - 2 k ) &CenterDot; c &CenterDot; W N k + 0.5 ] W N / 4 nk n = N / 8 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
其中B为归一化因子,B为常数。
在本实施例中可以选取
Figure B2009101507205D0000245
d的取值等于a、b、c,因此本步骤也可以复用本发明提供的信号处理方法实施例五步骤602和604中所使用的N/4点的数据表格。
705、对后旋转处理后的数据进行加窗重组,得到时域数据。
经过加窗重组后得到输出数据
Figure B2009101507205D0000246
n=0,…,N/2-1。
x ^ 2 n = m 2 n g N / 2 + 2 n + Re { u n } g 2 n x ^ N / 2 - 1 - 2 n = m N / 2 - 1 - 2 n g N - 1 - 2 n - Re { u n } g N / 2 - 1 - 2 n , n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
其中
Figure B2009101507205D0000248
gn为合成窗,与分析窗hn一起满足完全重构关系:hngn+hn+N/2gn+N/2=1,n=0,…,N-N/2-1。mn为上一帧的缓存数据,mn的更新满足:
m N / 4 - 1 - 2 n = m N / 4 + 2 n = Im { u n } n = 0 , &CenterDot; &CenterDot; &CenterDot; , N / 8 - 1 m 2 n - N / 4 = m 3 N / 4 - 1 - 2 n = Im { u n } n = N / 8 , &CenterDot; &CenterDot; &CenterDot; , N / 4 - 1
由于在现有技术中,多数基于互质因子的快速傅里叶变换方法都没有考虑数据顺序即位的问题,进行变换时,需要对变换后得到的数据进行排序,才能得到真正的输出数据,增加了计算量,本发明提供的数据处理方法实施例引入了地址表进行快速傅里叶变换,根据地址表进行寻址,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,以保证变换后的数据顺序即位。
本发明提供的数据处理方法实施例,包括:
生成地址表;
根据地址表,对输入数据进行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为
Figure B2009101507205D0000261
对于P的循环模反,x满足
Figure B2009101507205D0000262
例如,地址表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满足
Figure B2009101507205D0000264
例如,地址表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。
本发明提供的数据处理方法实施例,由于引入地址表进行寻址,在进行离散傅立叶变换时,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,变换后的数据顺序即位,逆变换不需要特别进行排序,降低了运算中的寻址开销,提高了计算效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤:
一种时域到频域的信号处理方法,包括:
对时域数据进行预处理;
使用旋转因子
Figure B2009101507205D0000271
对所述预处理获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure B2009101507205D0000272
对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
所述c、d为常数,所述N为两倍的频域数据长度,所述
Figure B2009101507205D0000273
一种频域到时域的信号处理方法,包括:
对频域数据进行重组;
使用旋转因子
Figure B2009101507205D0000274
对所述重组获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子对所述离散傅里叶变换后的数据进行后旋转处理;
对所述后旋转处理后的数据进行后处理,获得时域数据;
所述c、d为常数,所述N为两倍的频域数据长度,所述
Figure B2009101507205D0000276
一种数据处理方法,包括:
根据地址表,对数据进行Q次P点离散傅里叶变换;
根据地址表,对所述Q次P点离散傅里叶变换后的数据进行P次Q点离散傅里叶变换。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本发明实施例提供的时域到频域的信号处理装置结构如图8所示,包括:
预处理单元801,用于对时域数据进行预处理;
第一预旋转单元802,用于使用旋转因子为
Figure B2009101507205D0000277
对所述预处理单元801预处理获得的数据进行预旋转处理;
第一傅里叶变换单元803,用于对所述第一预旋转单元802预旋转处理后的数据进行N/4点的离散傅里叶变换;
第一后旋转单元804,用于使用旋转因子
Figure B2009101507205D0000281
对所述第一傅里叶变换单元803进行离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
所述a、b为常数,所述N为时域数据长度,所述n=0,…,N/4-1,所述k=0,…,N/4-1,所述
Figure B2009101507205D0000282
其中,所述第一后旋转单元804包括:
第二后旋转单元,用于使用旋转因子
Figure B2009101507205D0000283
和归一化因子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,用于使用旋转因子为
Figure B2009101507205D0000284
对所述重组单元901重组获得的数据进行预旋转处理;
第二傅里叶变换单元903,用于对所述第二预旋转单元902预旋转处理后的数据进行N/4点的离散傅里叶变换;
第三后旋转单元904,用于使用旋转因子对所述第二傅里叶变换单元903离散傅里叶变换后的数据进行后旋转处理;
后处理单元905,用于对所述第三后旋转单元904后旋转处理后的数据进行后处理,获得时域数据。
所述c、d为常数,所述N为两倍的频域数据长度,所述n=0,…,N/4-1,所述k=0,…,N/4-1,所述
Figure B2009101507205D0000292
其中,第三后旋转单元904包括:
第四后旋转单元,用于使用旋转因子
Figure B2009101507205D0000293
和归一化因子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的模。
本发明实施例提供的时域到频域的信号处理装置、频域到时域的信号处理装置的具体使用方法可参考上文对本发明提供的信号处理方法实施例的描述。
在本发明实施例提供的时域到频域的信号处理装置、频域到时域的信号处理装置中,由于旋转因子中的
Figure B2009101507205D0000294
项可以写成
Figure B2009101507205D0000295
的形式,满足
Figure B2009101507205D0000296
Figure B2009101507205D0000297
条件,而旋转因子中的项也满足同样的对称条件,因此本发明实施例提供的时域到频域的信号处理装置、频域到时域的信号处理装置只需要存储一个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为
Figure B2009101507205D0000301
对于P的循环模反,x满足
Figure B2009101507205D0000302
例如,地址表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为
Figure B2009101507205D0000311
对于Q的循环模反,y满足
Figure B2009101507205D0000312
例如,地址表I以I[n1][n2]的二维数组形式存储,则第i次Q点DFT所取的数据为地址表I[i][n2],n2=0,…,Q-1中存储的Q个地址索引值对应的数据,每一次Q点DFT的结果需要进行y间隔的循环移位。
本发明提供的数据处理装置实施例,由于引入地址表进行寻址,在进行快速傅立叶变换时,按照地址表对应地址读取输入数据,并按照地址表对应地址存储输出数据,变换后的数据顺序即位,不需要特别进行排序,降低了运算中的寻址开销,提高了计算效率。
以下为关于地址表I生成方法可以实现顺序即位的证明:
FFT变换的定义为: X ( k ) = &Sigma; n = 0 M - 1 x ( n ) &CenterDot; W M nk .
取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变换的公式可以写成:
X &prime; ( k 1 , k 2 ) = &Sigma; n 2 = 0 Q - 1 &Sigma; n 1 = 0 P - 1 x &prime; ( n 1 , n 2 ) &CenterDot; W M K 1 &CenterDot; K 1 &CenterDot; n 1 &CenterDot; k 1 &CenterDot; W M K 2 &CenterDot; K 2 &CenterDot; n 2 &CenterDot; k 2 &CenterDot; W M K 1 &CenterDot; K 2 &CenterDot; n 1 &CenterDot; k 2 &CenterDot; W M K 2 &CenterDot; K 1 &CenterDot; n 2 &CenterDot; k 1
当<K1K2>M=0时, W M K 1 &CenterDot; K 2 &CenterDot; n 1 &CenterDot; k 2 = W M K 2 &CenterDot; K 1 &CenterDot; n 2 &CenterDot; k 1 = 1 , 因此:
X &prime; ( k 1 , k 2 ) = &Sigma; n 2 = 0 Q - 1 [ &Sigma; n 1 = 0 P - 1 x &prime; ( n 1 , n 2 ) &CenterDot; W M K 1 2 &CenterDot; n 1 &CenterDot; k 1 ] W M K 2 2 &CenterDot; n 2 &CenterDot; k 2
= &Sigma; n 2 = 0 Q - 1 [ &Sigma; n 1 = 0 P - 1 x &prime; ( n 1 , n 2 ) &CenterDot; W P K 1 2 Q &CenterDot; n 1 &CenterDot; k 1 ] W Q K 2 2 P &CenterDot; n 2 &CenterDot; k 2
由于 W P K 1 2 Q &CenterDot; n 1 &CenterDot; k 1 = W P < K 1 2 Q > P &CenterDot; n 1 &CenterDot; k 1 , W Q K 2 2 P &CenterDot; n 2 &CenterDot; k 2 = W Q < K 2 2 P > Q &CenterDot; n 2 &CenterDot; k 2 .
第i(i=0,…,Q-1)次P点DFT的输入数据为地址表I中n2=i,n1=0,…,P-1对应的P个地址索引值对应的数据,第i次P点DFT的结果需要进行x间隔的循环移位后作为最后的输出。
其中,x为
Figure B2009101507205D0000325
对于P的循环模反,x满足
Figure B2009101507205D0000326
Figure B2009101507205D0000327
当n1=0时
Figure B2009101507205D0000328
当n1=1时
Figure B2009101507205D0000329
以此类推,当n1=x时
Figure B2009101507205D00003210
由于按照顺序输出的FFT变换公式
Figure B2009101507205D00003211
n1=1时变换因子为
Figure B2009101507205D00003212
第i次P点DFT中,x满足
Figure B2009101507205D00003213
才能使得当n1=x时
Figure B2009101507205D00003214
因此如果要使得第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为
Figure B2009101507205D00003215
对于Q的循环模反,y满足
Figure B2009101507205D00003216
以上对本发明所提供的一种信号处理方法、数据处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种时域到频域的信号处理方法,其特征在于,包括:
对时域数据进行预处理;
使用旋转因子对所述预处理获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure F2009101507205C0000012
对所述离散傅里叶变换后的数据进行后旋转处理,获得频域数据;
所述a、b为常数,所述N为时域数据长度,所述
Figure F2009101507205C0000013
2.如权利要求1所述的时域到频域的信号处理方法,其特征在于,所述对预旋转处理后的数据进行N/4点的离散傅里叶变换包括:
根据地址表,对预旋转处理后的数据进行Q次P点离散傅里叶变换;
根据地址表,对所述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。
3.如权利要求2所述的时域到频域的信号处理方法,其特征在于,所述地址表以数组的形式存储在表格中。
4.如权利要求1、2或3所述的时域到频域的信号处理方法,其特征在于,所述预处理包括:加窗及数据重组,或数据重组。
5.一种频域到时域的信号处理方法,其特征在于,包括:
对频域数据进行重组;
使用旋转因子
Figure F2009101507205C0000014
对所述重组获得的数据进行预旋转处理;
对所述预旋转处理后的数据进行N/4点的离散傅里叶变换;
使用旋转因子
Figure F2009101507205C0000015
对所述离散傅里叶变换后的数据进行后旋转处理;
对所述后旋转处理后的数据进行后处理,获得时域数据;
所述c、d为常数,所述N为两倍的频域数据长度,所述
Figure F2009101507205C0000021
6.如权利要求5所述的频域到时域的信号处理方法,其特征在于,所述对预旋转处理后的数据进行N/4点的离散傅里叶变换包括:
根据地址表,对预旋转处理后的数据进行Q次P点离散傅里叶变换;
根据地址表,对所述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。
7.如权利要求6所述的频域到时域的信号处理方法,其特征在于,所述地址表以数组的形式存储在表格中。
8.如权利要求6或7所述的频域到时域的信号处理方法,其特征在于,所述后处理包括:加窗及数据重组,或数据重组。
9.一种数据处理方法,其特征在于,包括:
根据地址表,对数据进行Q次P点离散傅里叶变换;
根据地址表,对所述Q次P点离散傅里叶变换后的数据进行P次Q点离散傅里叶变换。
10.如权利要求9所述的数据处理方法,其特征在于,所述P、Q为互质的正整数;所述地址表为<K1×n1+K2×n2>M,所述M为地址表长度,M=P×Q,所述n1=0,…,P-1,n2=0,…,Q-1,K1、K2为互质的正整数且满足<K1K2>M=0。
11.如权利要求9或10所述的数据处理方法,其特征在于,所述地址表以数组的形式存储在表格中。
12.一种时域到频域的信号处理装置,其特征在于,包括:
预处理单元,用于对时域数据进行预处理;
第一预旋转单元,用于使用旋转因子
Figure F2009101507205C0000022
对所述预处理单元预处理获得的数据进行预旋转处理;
第一傅里叶变换单元,用于对所述第一预旋转单元预旋转处理后的数据进行N/4点的离散傅里叶变换;
第一后旋转单元,用于使用旋转因子
Figure F2009101507205C0000031
对所述第一傅里叶变换单元进行离散傅里叶变换后的数据进行后旋转处理,获得频域数据。
13.如权利要求12所述的时域到频域的信号处理装置,其特征在于,所述第一傅里叶变换单元包括:
第一变换单元,用于根据地址表,对所述第一预旋转单元旋转后的数据进行Q次P点离散傅里叶变换;
第二变换单元,用于根据地址表,对所述第一变换单元变换后的数据进行P次Q点离散傅里叶变换。
14.一种频域到时域的信号处理装置,其特征在于,包括:
重组单元,用于对频域数据进行重组;
第二预旋转单元,用于使用旋转因子
Figure F2009101507205C0000032
对所述重组单元重组获得的数据进行预旋转处理;
第二傅里叶变换单元,用于对所述第二预旋转单元预旋转处理后的数据进行N/4点的离散傅里叶变换;
第三后旋转单元,用于使用旋转因子
Figure F2009101507205C0000033
对所述第二傅里叶变换单元离散傅里叶变换后的数据进行后旋转处理;
后处理单元,用于对所述第三后旋转单元后旋转处理后的数据进行后处理,获得时域数据。
15.如权利要求14所述的频域到时域的信号处理装置,其特征在于,所述第二傅里叶变换单元包括:
第三变换单元,用于根据地址表,对所述第二预旋转单元旋转后的数据进行Q次P点离散傅里叶变换;
第四变换单元,用于根据地址表,对所述第三变换单元变换后的数据进行P次Q点离散傅里叶变换。
16.一种数据处理装置,其特征在于,包括:
地址表单元,用于生成或存储地址表;
第五变换单元,用于根据所述地址表单元生成或存储的地址表,对数据进行Q次P点离散傅里叶变换;
第六变换单元,用于根据所述地址表单元生成或存储的地址表,对第五变换单元变换后的数据进行P次Q点离散傅里叶变换。
CN200910150720.5A 2009-06-24 2009-06-24 信号处理方法、数据处理方法及装置 Active CN101930425B (zh)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN200910150720.5A CN101930425B (zh) 2009-06-24 2009-06-24 信号处理方法、数据处理方法及装置
CN201010213499.6A CN101930426B (zh) 2009-06-24 2009-06-24 信号处理方法、数据处理方法及装置
KR1020117022261A KR101202729B1 (ko) 2009-06-24 2010-04-22 신호 처리 방법과 데이터 처리 방법 및 장치
EP18183067.0A EP3486806A1 (en) 2009-06-24 2010-04-22 Signal processing method and data processing method and apparatus
JP2012512184A JP5599874B2 (ja) 2009-06-24 2010-04-22 信号処理方法ならびにデータ処理の方法および装置
EP10791249.5A EP2290938B1 (en) 2009-06-24 2010-04-22 Signal processing method, data processing method and data processing apparatus
PCT/CN2010/072029 WO2010148743A1 (zh) 2009-06-24 2010-04-22 信号处理方法、数据处理方法及装置
US12/980,001 US8554818B2 (en) 2009-06-24 2010-12-28 Signal processing method and data processing method and apparatus
US13/086,183 US8145695B2 (en) 2009-06-24 2011-04-13 Signal processing method and data processing method and apparatus
JP2013138662A JP5708720B2 (ja) 2009-06-24 2013-07-02 データ処理方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910150720.5A CN101930425B (zh) 2009-06-24 2009-06-24 信号处理方法、数据处理方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201010213499.6A Division CN101930426B (zh) 2009-06-24 2009-06-24 信号处理方法、数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN101930425A true CN101930425A (zh) 2010-12-29
CN101930425B CN101930425B (zh) 2015-09-30

Family

ID=43369607

Family Applications (2)

Application Number Title Priority Date Filing Date
CN200910150720.5A Active CN101930425B (zh) 2009-06-24 2009-06-24 信号处理方法、数据处理方法及装置
CN201010213499.6A Active CN101930426B (zh) 2009-06-24 2009-06-24 信号处理方法、数据处理方法及装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201010213499.6A Active CN101930426B (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) CN101930425B (zh)
WO (1) WO2010148743A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102592601A (zh) * 2011-01-10 2012-07-18 华为技术有限公司 一种信号处理方法和装置
CN103106181A (zh) * 2013-01-29 2013-05-15 北京理工大学 一种大点数fft在处理器上的实现方法
CN110781445A (zh) * 2019-10-11 2020-02-11 清华大学 一种时域流数据的增量式频域变换***及方法
CN112311518A (zh) * 2020-11-04 2021-02-02 安徽研实科技有限公司 一种基于频域预测的时域数据预处理方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008811B2 (en) 2010-09-17 2015-04-14 Xiph.org Foundation Methods and systems for adaptive time-frequency resolution in digital data coding
CN102043761B (zh) * 2011-01-04 2012-06-13 东南大学 一种基于可重构技术的傅立叶变换的实现方法
WO2012122299A1 (en) 2011-03-07 2012-09-13 Xiph. Org. Bit allocation and partitioning in gain-shape vector quantization for 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
WO2012122297A1 (en) 2011-03-07 2012-09-13 Xiph. Org. Methods and systems for avoiding partial collapse in multi-block 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
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 大连云海创新科技有限公司 基于小波神经网络的无人机遥感测温中温度拟合的方法
TW202233232A (zh) 2020-11-06 2022-09-01 法商賽諾菲公司 遞送mRNA疫苗的脂質奈米顆粒

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052504A (ja) * 2006-08-24 2008-03-06 Fujitsu Ltd 離散フーリエ変換装置および離散フーリエ逆変換装置
CN101296211A (zh) * 2007-04-28 2008-10-29 北京三星通信技术研究有限公司 3780点离散傅立叶变换处理器
CN101425992A (zh) * 2007-10-30 2009-05-06 索尼株式会社 数据处理设备和方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
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
WO2001033411A1 (en) 1999-10-30 2001-05-10 Stmicroelectronics Asia Pacific Pte. Ltd. Fast modified discrete cosine transform method
WO2001059603A1 (en) 2000-02-09 2001-08-16 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
CN101266594A (zh) * 2007-03-13 2008-09-17 劲取科技股份有限公司 利用cooley-tukey演算法以完成n点离散傅立叶转换的装置
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 华为技术有限公司 音频处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008052504A (ja) * 2006-08-24 2008-03-06 Fujitsu Ltd 離散フーリエ変換装置および離散フーリエ逆変換装置
CN101296211A (zh) * 2007-04-28 2008-10-29 北京三星通信技术研究有限公司 3780点离散傅立叶变换处理器
CN101425992A (zh) * 2007-10-30 2009-05-06 索尼株式会社 数据处理设备和方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101627900B1 (ko) * 2011-01-10 2016-06-07 후아웨이 테크놀러지 컴퍼니 리미티드 신호 처리 방법 및 디바이스
WO2012094952A1 (zh) * 2011-01-10 2012-07-19 华为技术有限公司 一种信号处理方法和装置
KR20130116904A (ko) * 2011-01-10 2013-10-24 후아웨이 테크놀러지 컴퍼니 리미티드 신호 처리 방법 및 디바이스
CN102592601B (zh) * 2011-01-10 2014-09-17 华为技术有限公司 一种信号处理方法和装置
CN102592601A (zh) * 2011-01-10 2012-07-18 华为技术有限公司 一种信号处理方法和装置
US9519619B2 (en) 2011-01-10 2016-12-13 Huawei Technologies Co., Ltd. Data processing method and device for processing speech signal or audio signal
US9792257B2 (en) 2011-01-10 2017-10-17 Huawei Technologies Co., Ltd. Audio signal processing method and encoder
US9996503B2 (en) 2011-01-10 2018-06-12 Huawei Technologies Co., Ltd. Signal processing method and device
EP3518121A1 (en) * 2011-01-10 2019-07-31 Huawei Technologies Co., Ltd. Signal processing method and device
CN103106181A (zh) * 2013-01-29 2013-05-15 北京理工大学 一种大点数fft在处理器上的实现方法
CN103106181B (zh) * 2013-01-29 2016-03-02 北京理工大学 一种大点数fft在处理器上的实现方法
CN110781445A (zh) * 2019-10-11 2020-02-11 清华大学 一种时域流数据的增量式频域变换***及方法
CN112311518A (zh) * 2020-11-04 2021-02-02 安徽研实科技有限公司 一种基于频域预测的时域数据预处理方法

Also Published As

Publication number Publication date
US8554818B2 (en) 2013-10-08
CN101930425B (zh) 2015-09-30
JP5599874B2 (ja) 2014-10-01
CN101930426A (zh) 2010-12-29
JP2013229050A (ja) 2013-11-07
WO2010148743A1 (zh) 2010-12-29
EP3486806A1 (en) 2019-05-22
JP2012527708A (ja) 2012-11-08
KR20110131224A (ko) 2011-12-06
US20110090993A1 (en) 2011-04-21
CN101930426B (zh) 2015-08-05
JP5708720B2 (ja) 2015-04-30
EP2290938A1 (en) 2011-03-02
KR101202729B1 (ko) 2012-11-21
EP2290938B1 (en) 2018-09-05
US20110185001A1 (en) 2011-07-28
US8145695B2 (en) 2012-03-27
EP2290938A4 (en) 2015-01-21

Similar Documents

Publication Publication Date Title
CN101930425B (zh) 信号处理方法、数据处理方法及装置
Søndergaard et al. The linear time frequency analysis toolbox
RU2494478C1 (ru) Передискретизация в комбинированном банке фильтров транспозитора
JP6189376B2 (ja) サブバンドブロックに基づく高調波移調の改善
JP3528258B2 (ja) 符号化音声信号の復号化方法及び装置
JP3147984B2 (ja) デジタル信号の符号化−復号化方法およびその装置
KR19980042631A (ko) 듀얼 모드 오디오 디코더의 재현 방법 및 필터
TW301103B (en) The time domain alias cancellation device and its signal processing method
Liu et al. Parametrization construction of biorthogonal wavelet filter banks for image coding
JP3982983B2 (ja) 音声信号伸長装置、及び、逆変形離散コサイン変換を実行する計算装置
CN102592601B (zh) 一种信号处理方法和装置
Ranganathan et al. Efficient hardware implementation of scalable FFT using configurable Radix-4/2
Wu et al. A new efficient method of computing MDCT in MP3 audio coding
Qiu Generalized dual Gabor atoms and best approximations by Gabor family
AU2022200874B2 (en) Improved Subband Block Based Harmonic Transposition
AU2019240701B2 (en) Improved Subband Block Based Harmonic Transposition
Ling et al. Two polyphase filter architectures for MPEG audio
CN103415883B (zh) 用于低频效果声道的减少复杂性变换
CN117877498A (zh) 一种语音波形的扩展方法、装置、设备及存储介质
Shih et al. Polyphase filter architectures for MPEG audio using fast IDCT
CN117351961A (zh) 一种智能语音识别SoC***
CN101369426A (zh) 反修正型离散余弦转换装置及方法
US20040230419A1 (en) DRAM access for MDCT/IDMCT implementation
LATP The Linear Time Frequency Analysis Toolbox

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