CN107291658B - 一种数据信号的处理方法及装置 - Google Patents
一种数据信号的处理方法及装置 Download PDFInfo
- Publication number
- CN107291658B CN107291658B CN201610227546.XA CN201610227546A CN107291658B CN 107291658 B CN107291658 B CN 107291658B CN 201610227546 A CN201610227546 A CN 201610227546A CN 107291658 B CN107291658 B CN 107291658B
- Authority
- CN
- China
- Prior art keywords
- stage
- butterfly operation
- butterfly
- binary tree
- transformation algorithm
- 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
Images
Classifications
-
- 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/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Complex Calculations (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种数据信号的处理方法及装置,所述处理方法包括:根据输入信号采样后的序列值,确定时频域之间的快速变换算法中的每级蝶形运算的输入值;其中,每级蝶形运算的输入值的个数等于所述时频域之间的快速变换算法的基数;根据每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算;将每级蝶形运算经过多级级联运算后得到的输出值,作为下一级蝶形运算的输入值;根据最后一级蝶形运算的输出值,得到与采样后的所述输入信号对应的输出采样信号。本发明提供的数据信号的处理方法及装置通过提高时频域之间的快速变换算法的精度,能够在使用时频域之间的快速变换算法处理通信系统的数据时提高通信系统的性能。
Description
技术领域
本发明涉及通信计算领域,尤其涉及一种数据信号的处理方法及装置。
背景技术
随着数字信号处理技术的发展,FFT(Fast Fourier Transform,快速傅里叶变换)和IFFT(Inverse Fast Fourier Transform,FFT逆变换)已广泛的应用到通信系统的各种运算中。例如,可以利用FFT和IFFT实现OFDM(Orthogonal Frequency DivisionMultiplexing,正交频分复用)的调制和解调,发射端使用IFFT将发送数据调制到多个正交子载波上,经过信道传输,在接收端使用FFT,从正交载波矢量中还原出原始数据,从而大大简化系统实现的复杂度。再例如,可以利用FFT和IFFT进行频谱分析,以便对信号具有更近进一步的了解。其中,FFT和IFFT实现的精度对这些过程的性能有着较大影响。现有技术中的定点FFT和IFFT为了防止溢出,每级蝶形运算的输入需除以输入的个数,对基数大于2的FFT或IFFT,这样会造成每级输入数据丢失的比特过多,计算精度误差较大,影响了通信系统的性能。
发明内容
本发明实施例提供了一种数据信号的处理方法及装置,以解决现有技术中因FFT和IFFT计算精度误差较大而影响通信系统性能的问题。
为了解决上述技术问题,本发明采用如下技术方案:
依据本发明实施例的一个方面,提供了一种数据信号的处理方法,所述处理方法包括:
根据输入信号采样后的序列值,确定时频域之间的快速变换算法中的每级蝶形运算的输入值;其中,每级蝶形运算的输入值的个数等于所述时频域之间的快速变换算法的基数;
根据每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算;
将每级蝶形运算经过多级级联运算后得到的输出值,作为下一级蝶形运算的输入值;
根据最后一级蝶形运算的输出值,得到与采样后的所述输入信号对应的输出采样信号。
进一步地,所述根据每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算的步骤包括:
根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行计算;
其中,所述满二叉树运算结构的层数为log2m+1,所述满二叉树运算结构中的叶结点数为m,m为所述时频域之间的快速变换算法的基数。
进一步地,所述根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行计算的步骤包括:
将每级蝶形运算的输入值依次映射为所述满二叉树运算结构中的叶结点的数值;
从所述满二叉树运算结构中的叶结点开始,将所述满二叉树运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值,直到得到所述满二叉树运算结构中的根结点的数值;
将所述满二叉树运算结构中的根结点的数值作为每级蝶形运算对应的输出运算的数值。
进一步地,所述将所述满二叉树运算结构中运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值的步骤包括:
计算所述满二叉树运算结构中运算结构中的每一结点与其兄弟结点的数值乘以各自旋转因子后的平均值;
将计算得到的平均值作为双亲结点的数值。
进一步地,所述确定时频域之间的快速变换算法中的每级蝶形运算的输入值的步骤之前,所述处理方法还包括:
根据所述时频域之间的快速变换算法的点数和基数,确定所述时频域之间的快速变换算法蝶形运算的级数,其中,所述时频域之间的快速变换算法的点数为所述输入信号采样后的序列值的个数。
进一步地,所述根据所述时频域之间的快速变换算法的点数和基数,确定所述时频域之间的快速变换算法中的每级蝶形运算的级数的步骤包括:
根据预设公式:k=logmN,确定蝶形运算的级数;
其中,k表示所述时频域之间的快速变换算法中的每级蝶形运算的级数,m表示所述时频域之间的快速变换算法的基数,N表示所述时频域之间的快速变换算法的点数。
依据本发明实施例的另一个方面,提供了一种数据信号的处理装置,所述处理装置包括:
第一确定模块,用于根据输入信号采样后的序列值,确定时频域之间的快速变换算法中的每级蝶形运算的输入值;其中,每级蝶形运算的输入值的个数等于所述时频域之间的快速变换算法的基数;
分解模块,用于根据确定模块确定的每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算;
级联模块,用于将每级蝶形运算经过多级级联运算后得到的输出值,作为下一级蝶形运算的输入值;
处理模块,用于根据最后一级蝶形运算的输出值,得到与采样后的所述输入信号对应的输出采样信号。
进一步地,所述分解模块包括:
分解子模块,用于根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构;
其中,所述满二叉树运算结构的层数为log2m+1,所述满二叉树运算结构中的叶结点数为m,m为所述时频域之间的快速变换算法的基数。
进一步地,所述分解子模块包括:
映射单元,用于将每级蝶形运算的输入值依次映射为所述满二叉树运算结构中的叶结点的数值;
运算单元,用于从所述满二叉树运算结构中的叶结点开始,将所述满二叉树运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值,直到得到所述满二叉树运算结构中的根结点的数值;
级联单元,用于将所述满二叉树运算结构中的根结点的数值作为每级蝶形运算对应的输出运算的数值。
进一步地,所述运算单元包括:
计算子单元,用于计算所述满二叉树运算结构中的每一结点与其兄弟结点的数值乘以各自旋转因子后的平均值;
处理子单元,用于将计算得到的平均值作为双亲结点的数值。
进一步地,所述处理装置还包括:
第二确定模块,用于根据所述时频域之间的快速变换算法的点数和基数,确定所述时频域之间的快速变换算法中的每级蝶形运算的级数,其中,所述时频域之间的快速变换算法的点数为所述时域信号采样后的序列值的个数。
进一步地,所述第二确定模块具体用于:根据预设公式:k=logmN,确定每级蝶形运算的级数;
其中,k表示所述时频域之间的快速变换算法中的每级蝶形运算的级数,m表示所述时频域之间的快速变换算法的基数,N表示所述时频域之间的快速变换算法的点数。
本发明的有益效果是:
上述技术方案,通过将时频域之间的快速变换算法中的每级蝶形运算分解为多级级联操作,细化蝶形运算,从而不必每级蝶形运算的输入均需除以输入的个数,以减少每级输入数据的比特丢失量,提高时频域之间的快速变换算法的计算精度,进而能够在使用时频域之间的快速变换算法处理通信系统数据时提高通信系统的性能。
附图说明
图1表示本发明第一实施例提供的数据信号的处理方法的流程图;
图2表示本发明第一实施例提供的满二叉树运算的流程图;
图3表示本发明第一实施例提供的满二叉树运算结构的示意图;
图4表示本发明第一实施例提供的另一满二叉树运算结构的示意图;
图5表示本发明第二实施例提供的数据信号的处理装置的框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
第一实施例
本发明实施例提供了一种数据信号的处理方法,如图1所示,该处理方法包括:
S101、根据输入信号采样后的序列值,确定时频域之间的快速变换算法中的每级蝶形运算的输入值。
其中,这里所述的“时频域之间的快速变换算法”为FFT算法或IFFT算法。对于FFT来说,这里所述的“输入信号”为时域信号,对应的数据信号的处理过程是完成时域到频域的变换;对于IFFT来说,这里所述的“输入信号”为频域信号,对应的数据信号的处理过程是完成频域到时域的变换。
其中,时频域之间的快速变换算法中的每级蝶形运算的输入值为输入信号采样后的序列值中的两个或多个数值。具体每级蝶形运算的输入值可根据现有技术中的蝶形运算规则来确定,本发明实施例对比不进行限制。对于FFT来说,每级蝶形运算的输入值为时域信号采样后的序列值;对于IFFT来说,每级蝶形运算的输入值为频域信号采样后的序列值。
其中,每级蝶形运算的输入值的个数等于时频域之间的快速变换算法的基数。对于FFT来说,每级蝶形运算的输入值的个数等于FFT的基数;对于IFFT来说,每级蝶形运算的输入值的个数等于IFFT的基数。
S102、根据每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算。
其中,多级级联运算是将蝶形运算中原本一次性运算的输出运算分解为多次运算,细化输出运算,既能防止溢出,又能减少每级蝶形运算输入数据的比特丢失量,提高时频域之间的快速变换算法的计算精度。
S103、将每级蝶形运算经过多级级联运算后得到的输出值,作为下一级蝶形运算的输入值。
根据蝶形运算的规则,每级蝶形运算的输出值为下一级蝶形运算的输入值。
S104、根据最后一级蝶形运算的输出值,得到与采样后的输入信号对应的输出采样信号。
其中,在完成最后一级的蝶形运算后,即可得到本次变换的结果,而本次变换的结果即为与采样后的输入信号对应的输出采样信号。对于FFT来说,这里所述的“输出采样信号”为频域采样信号,也就是通过FFT变换,将时域采样信号变换为频域采样信号。对于IFFT来说,这里所述的“输出采样信号”为时域采样信号,也就是经过IFFT变换,将频域采样信号变换为时域采样信号。
本发明实施例通过将时频域之间的快速变换算法中的每级蝶形运算分解为多级级联操作,从而不必每级蝶形运算的输入都需除以输入的个数,以减少每级蝶形运算输入数据的比特丢失量,提高时频域之间的快速变换算法的计算精度,进而能够在使用时频域之间的快速变换算法处理通信系统数据时提高通信系统的性能。
具体地,S102可具体为:根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行计算。
其中,满二叉树运算结构的层数为log2m+1,满二叉树运算结构中的叶结点数为m,m为时频域之间的快速变换算法的基数。对于FFT来说,m为FFT的基数;对于IFFT来说,m为IFFT的基数。
例如,若FFT的基数为4,则满二叉树运算结构的层数为log24+1,即3层,满二叉树运算结构中的叶结点数为4。采用满二叉树运算结构来细化每个输出运算,计算精度较高,且计算比较简单,运算量较低。
具体地,如图2所示,根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行计算的具体实现方法可包括:
S201、将每级蝶形运算的输入值依次映射为满二叉树运算结构中的叶结点的数值。
其中,每级蝶形运算的输入值的个数与对应的满二叉树运算结构中的叶节点的个数相同,在计算每级蝶形运算的每个输出运算时,将每级蝶形运算的输入值依次映射为满二叉树运算结构中的叶结点的数值。
S202、从满二叉树运算结构中的叶结点开始,将满二叉树运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值,直到得到满二叉树运算结构中的根结点的数值。
在进行满二叉树运算时,从叶结点开始进行计算。将一个叶结点的数值与其兄弟结点的数值进行预设的运算,将运算结果作为双亲结点的数值,依次类推,直到得到根结点的数值。这里所述的“预设的运算”可根据实际需求设计。
在本发明实施例中,每一结点与其兄弟结点的数值之间的预设的运算,具体可为:计算满二叉树运算结构中的每一结点与其兄弟结点的数值乘以各自旋转因子后的平均值,将计算得到的平均值作为双亲结点的数值。
S203、将满二叉树运算结构中的根结点的数值作为每级蝶形运算对应的输出运算的数值。
经过满二叉树运算结构中各结点之间的运算所得到的根结点对应的数值,即为每级蝶形运算对应的输出运算的数值。
为进一步理解上述S201~S203,下面分别以基2FFT算法和基4FFT算法对此进行进一步的解释说明。
(1)假设FFT点数为1024,FFT基数为2,那么蝶形运算的级数k=10,每级蝶形运算的输入个数为2,每级蝶形运算包含2个输出运算,每个输出运算可分解一个层数为2、叶结点数为2的满二叉树运算结构中结构。
例如,一个蝶形运算的二个输入分别为Xin(k1),Xin(k2),二个输出分别为Xout(k1),Xout(k2)。Xin(k1),Xin(k2)是该蝶形运算每个满二叉树运算结构中的叶结点的数值;Xout(k1),Xout(k2)分别是该蝶形运算的每一输出运算对应的满二叉树运算结构中的根结点的数值。将满二叉树运算结构中的每一结点与其兄弟结点的数值的进行如下运算,并将运算结果作为双亲结点的数值:
其中,如图3所示的满二叉树运算结构中,Xin(k1)和Xin(k2)所对应的两个结点互为兄弟结点,Xout(k1)所对应的结点为Xin(k1)和Xin(k2)所对应的两个结点的双亲结点,在此,同时也是满二叉树运算结构中的根结点。其中第一个输出运算为:Xout(k1)=(Xin(k1)+Xin(k2)W0)/2。
由于第二个输出运算与第一输出运算类似,本发明实施例对此便不再以附图示意,具体运算过程如下所示:
第二个输出运算为:Xout(k2)=(Xin(k1)+Xin(k2)W1)/2。
(2)假设FFT点数为1024,FFT基数为4,那么蝶形运算的级数k=5,每级蝶形运算的输入个数为4,每级蝶形运算包含4个输出运算,每个输出运算可分解一个层数为3、叶结点数为4的满二叉树运算结构。
假设一个蝶形运算的四个输入分别为Xin(k1),Xin(k2),Xin(k3),Xin(k4)。四个输出分别为Xout(k1),Xout(k2),Xout(k3),Xout(k4)。Xin(k1),Xin(k2),Xin(k3),Xin(k4)是该蝶形运算的输出运算对应的满二叉树运算结构中的叶结点的数值;Xout(k1),Xout(k2),Xout(k3),Xout(k4)分别是该蝶形运算的输出运算对应的满二叉树运算结构中的根节点的数值。将满二叉树运算结构中的每一结点与其兄弟结点的数值的进行如下运算,并将运算结果作为双亲结点的数值:
其中,如图4所示的满二叉树运算结构,第一个输出运算为:
X'(k1)=(Xin(k1)+Xin(k2))/2;
X"(k1)=(Xin(k3)+Xin(k4))W0/2;
Xout(k1)=(X'(k1)+X"(k2))/2。
由于,第二、三、四个输出运算与第一输出运算类似,本发明实施例对此便不再以附图示意,具体运算过程如下所示:
第二个输出运算为:
X'(k2)=(Xin(k1)-jXin(k2))/2;
X"(k2)=(Xin(k3)+jXin(k4))W1/2;
Xout(k2)=(X'(k1)-X"(k2))/2。
第三个输出运算为:
X'(k3)=(Xin(k1)-Xin(k2))/2;
X"(k3)=(Xin(k3)-Xin(k4))W2/2;
Xout(k3)=(X'(k1)+X"(k2))/2。
第四个输出运算为:
X'(k4)=(Xin(k1)+jXin(k2))/2;
X"(k4)=(Xin(k3)-jXin(k4))W0/2;
Xout(k4)=(X'(k1)-X"(k2))/2。
其中,j表示虚数单位,W为旋转因子。
采用满二叉树运算结构来细化每个输出运算,计算精度较高,且计算比较简单,运算量较低。其中,基2IFFT算法与基2FFT算法、基4IFFT算法和基4FFT算法类似,这里便不再进行赘述。
本发明实施例通过将FFT或IFFT每级蝶形运算分解为多级级联操作,优选采用满二叉树运算结构来细化每个输出运算,从而不必每级蝶形运算的输入都需除以输入的个数,以减少每级输入数据的比特丢失量,提高FFT或IFFT的计算精度,进而能够在使用FFT或IFFT处理通信系统数据时提高通信系统的性能。
进一步地,在S101之前,该处理方法还包括:根据时频域之间的快速变换算法的点数和基数,确定时频域之间的快速变换算法中的每级蝶形运算的级数。
其中,时频域之间的快速变换算法的点数为输入信号采样后的序列值的个数。对于FFT来说,FFT的点数为时域信号采样后的序列值的个数;对于IFFT来说,IFFT的点数为频域信号采样后的序列值的个数。
具体地,可根据预设公式:k=logmN,确定蝶形运算的级数。其中,k表示时频域之间的快速变换算法中的每级蝶形运算的级数,m表示时频域之间的快速变换算法的基数,N表示时频域之间的快速变换算法的点数。对于FFT来说,k表示FFT每级蝶形运算的级数,m表示FFT的基数,N表示FFT的点数。对于IFFT来说,k表示IFFT每级蝶形运算的级数,m表示IFFT的基数,N表示IFFT的点数。
第二实施例
本发明实施例提供了一种数据信号的处理装置,如图5所示,所述处理装置包括:
第一确定模块501,用于根据输入信号采样后的序列值,确定时频域之间的快速变换算法中的每级蝶形运算的输入值。
其中,这里所述的“时频域之间的快速变换算法”为FFT算法或IFFT算法。对于FFT来说,这里所述的“输入信号”为时域信号,对应的数据信号的处理过程是完成时域到频域的变换;对于IFFT来说,这里所述的“输入信号”为频域信号,对应的数据信号的处理过程是完成频域到时域的变换。
其中,时频域之间的快速变换算法中的每级蝶形运算的输入值为输入信号采样后的序列值中的两个或多个数值。具体每级蝶形运算的输入值可根据现有技术中的蝶形运算规则来确定,本发明实施例对比不进行限制。对于FFT来说,每级蝶形运算的输入值为时域信号采样后的序列值;对于IFFT来说,每级蝶形运算的输入值为频域信号采样后的序列值。
其中,每级蝶形运算的输入值的个数等于时频域之间的快速变换算法的基数。对于FFT来说,每级蝶形运算的输入值的个数等于FFT的基数;对于IFFT来说,每级蝶形运算的输入值的个数等于IFFT的基数。
分解模块502,用于根据确定模块501确定的每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算。
其中,多级级联运算是将蝶形运算中原本一次性运算的输出运算分解为多次运算,细化输出运算,既能防止溢出,又能减少每级蝶形运算输入数据的比特丢失量,提高时频域之间的快速变换算法的计算精度。
级联模块503,用于将每级蝶形运算经过多级级联运算后得到的输出值,作为下一级蝶形运算的输入值。
根据蝶形运算的规则,每级蝶形运算的输出值为下一级蝶形运算的输入值。
处理模块504,用于根据最后一级蝶形运算的输出值,得到与采样后的时域信号对应的频域采样信号。
其中,在完成最后一级的蝶形运算后,即可得到本次变换的结果,而本次变换的结果即为与采样后的时域信号对应的频域采样信号。对于FFT来说,这里所述的“输出采样信号”为频域采样信号,也就是通过FFT变换,将时域采样信号变换为频域采样信号。对于IFFT来说,这里所述的“输出采样信号”为时域采样信号,也就是经过IFFT变换,将频域采样信号变换为时域采样信号。
本发明实施例提供的数据信号的处理装置,通过将时频域之间的快速变换算法中的每级蝶形运算分解为多级级联操作,从而不必每级蝶形运算的输入都需除以输入的个数,以减少每级蝶形运算输入数据的比特丢失量,提高时频域之间的快速变换算法的计算精度,进而能够在使用时频域之间的快速变换算法处理通信系统数据时提高通信系统的性能。
进一步地,分解模块502包括:
分解子模块,用于根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行运算。
其中,满二叉树运算结构的层数为log2m+1,满二叉树运算结构中的叶结点数为m,m为时频域之间的快速变换算法的基数。对于FFT来说,m为FFT的基数;对于IFFT来说,m为IFFT的基数。
例如,若FFT的基数为4,则满二叉树运算结构的层数为log24+1,即3层,满二叉树运算结构中的叶结点数为4。采用满二叉树运算结构来细化每个输出运算,计算精度较高,且计算比较简单,运算量较低。
进一步地,分解子模块包括:
映射单元,用于将每级蝶形运算的输入值依次映射为满二叉树运算结构中的叶结点的数值。
其中,每级蝶形运算的输入值的个数与对应的满二叉树运算结构中的叶节点的个数相同,在计算每级蝶形运算的每个输出运算时,将每级蝶形运算的输入值依次映射为满二叉树运算结构中的叶结点的数值。
采用满二叉树运算结构来细化每个输出运算,计算精度较高,且计算比较简单,运算量较低。
运算单元,用于从满二叉树运算结构中的叶结点开始,将满二叉树运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值,直到得到满二叉树运算结构中的根结点的数值。
在进行满二叉树运算时,从叶结点开始进行计算。将一个叶结点的数值与其兄弟结点的数值进行预设的运算,将运算结果作为双亲结点的数值,依次类推,直到得到根结点的数值。这里所述的“预设的运算”可根据实际需求设计。
级联单元,用于将满二叉树运算结构中的根结点的数值作为每级蝶形运算对应的输出运算的数值。
经过满二叉树运算结构中各结点之间的运算所得到的根结点对应的数值,即为每级蝶形运算对应的输出运算的数值。
本发明实施例通过将时频域之间的快速变换算法中的每级蝶形运算分解为多级级联操作,优选采用满二叉树运算结构来细化每个输出运算,从而不必每级蝶形运算的输入都需除以输入的个数,以减少每级输入数据的比特丢失量,提高时频域之间的快速变换算法的计算精度,进而能够在使用时频域之间的快速变换算法处理通信系统数据时提高通信系统的性能。
进一步地,运算单元包括:
计算子单元,用于计算满二叉树运算结构中的每一结点与其兄弟结点的数值乘以各自旋转因子后的平均值。
处理子单元,用于将计算得到的平均值作为双亲结点的数值。
在本发明实施例中,每一结点与其兄弟结点的数值之间的预设的运算优选为:满二叉树运算结构中的每一结点与其兄弟结点的数值乘以各自旋转因子后的平均值计算。
进一步地,该处理装置还包括:
第二确定模块,用于根据时频域之间的快速变换算法的点数和基数,确定时频域之间的快速变换算法蝶形运算的级数。
其中,时频域之间的快速变换算法的点数为时域信号采样后的序列值的个数。对于FFT来说,FFT的点数为时域信号采样后的序列值的个数;对于IFFT来说,IFFT的点数为频域信号采样后的序列值的个数。
进一步地,第二确定模块具体用于:根据预设公式:k=logmN,确定每级蝶形运算的级数。
其中,k表示时频域之间的快速变换算法中的每级蝶形运算的级数,m表示时频域之间的快速变换算法的基数,N表示时频域之间的快速变换算法的点数。对于FFT来说,k表示FFT每级蝶形运算的级数,m表示FFT的基数,N表示FFT的点数。对于IFFT来说,k表示IFFT每级蝶形运算的级数,m表示IFFT的基数,N表示IFFT的点数。
需要说明的是,该装置是与上述数据信号的处理方法对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (12)
1.一种数据信号的处理方法,其特征在于,所述处理方法包括:
根据输入信号采样后的序列值,确定时频域之间的快速变换算法中的每级蝶形运算的输入值;其中,每级蝶形运算的输入值的个数等于所述时频域之间的快速变换算法的基数;
根据每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算;
将每级蝶形运算经过多级级联运算后得到的输出值,作为下一级蝶形运算的输入值;
根据最后一级蝶形运算的输出值,得到与采样后的所述输入信号对应的输出采样信号。
2.根据权利要求1所述的处理方法,其特征在于,所述根据每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算的步骤包括:
根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行计算;
其中,所述满二叉树运算结构的层数为log2m+1,所述满二叉树运算结构中的叶结点数为m,m为所述时频域之间的快速变换算法的基数。
3.根据权利要求2所述的处理方法,其特征在于,所述根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行计算的步骤包括:
将每级蝶形运算的输入值依次映射为所述满二叉树运算结构中的叶结点的数值;
从所述满二叉树运算结构中的叶结点开始,将所述满二叉树运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值,直到得到所述满二叉树运算结构中的根结点的数值;
将所述满二叉树运算结构中的根结点的数值作为每级蝶形运算对应的输出运算的数值。
4.根据权利要求3所述的处理方法,其特征在于,所述将所述满二叉树运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值的步骤包括:
计算所述满二叉树运算结构中的每一结点与其兄弟结点的数值乘以各自旋转因子后的平均值;
将计算得到的平均值作为双亲结点的数值。
5.根据权利要求1所述的处理方法,其特征在于,所述确定时频域之间的快速变换算法中的每级蝶形运算的输入值的步骤之前,所述处理方法还包括:
根据所述时频域之间的快速变换算法的点数和基数,确定所述时频域之间的快速变换算法中的蝶形运算的级数,其中,所述时频域之间的快速变换算法的点数为所述输入信号采样后的序列值的个数。
6.根据权利要求5所述的处理方法,其特征在于,所述根据所述时频域之间的快速变换算法的点数和基数,确定所述时频域之间的快速变换算法中的蝶形运算的级数的步骤包括:
根据预设公式:k=logmN,确定蝶形运算的级数;
其中,k表示所述时频域之间的快速变换算法中的蝶形运算的级数,m表示所述时频域之间的快速变换算法的基数,N表示所述时频域之间的快速变换算法的点数。
7.一种数据信号的处理装置,其特征在于,所述处理装置包括:
第一确定模块,用于根据输入信号采样后的序列值,确定时频域之间的快速变换算法的每级蝶形运算的输入值;其中,每级蝶形运算的输入值的个数等于所述时频域之间的快速变换算法的基数;
分解模块,用于根据确定模块确定的每级蝶形运算的输入值,将每级蝶形运算分解为多级级联运算;
级联模块,用于将每级蝶形运算经过多级级联运算后得到的输出值,作为下一级蝶形运算的输入值;
处理模块,用于根据最后一级蝶形运算的输出值,得到与采样后的所述输入信号对应的输出采样信号。
8.根据权利要求7所述的处理装置,其特征在于,所述分解模块包括:
分解子模块,用于根据每级蝶形运算的输入值,将每级蝶形运算的每个输出运算分解为一满二叉树运算结构进行计算;
其中,所述满二叉树运算结构的层数为log2m+1,所述满二叉树运算结构中的叶结点数为m,m为所述时频域之间的快速变换算法的基数。
9.根据权利要求8所述的处理装置,其特征在于,所述分解子模块包括:
映射单元,用于将每级蝶形运算的输入值依次映射为所述满二叉树运算结构中的叶结点的数值;
运算单元,用于从所述满二叉树运算结构中的叶结点开始,将所述满二叉树运算结构中的每一结点与其兄弟结点的数值的运算结果作为双亲结点的数值,直到得到所述满二叉树运算结构中的根结点的数值;
级联单元,用于将所述满二叉树运算结构中的根结点的数值作为每级蝶形运算对应的输出运算的数值。
10.根据权利要求9所述的处理装置,其特征在于,所述运算单元包括:
计算子单元,用于计算所述满二叉树运算结构中的每一结点与其兄弟结点的数值乘以各自旋转因子后的平均值;
处理子单元,用于将计算得到的平均值作为双亲结点的数值。
11.根据权利要求7所述的处理装置,其特征在于,所述处理装置还包括:
第二确定模块,用于根据所述时频域之间的快速变换算法的点数和基数,确定所述时频域之间的快速变换算法中的蝶形运算的级数,其中,所述时频域之间的快速变换算法的点数为所述输入信号采样后的序列值的个数。
12.根据权利要求11所述的处理装置,其特征在于,所述第二确定模块具体用于:根据预设公式:k=logmN,确定每级蝶形运算的级数;
其中,k表示所述时频域之间的快速变换算法中的每级蝶形运算的级数,m表示所述时频域之间的快速变换算法的基数,N表示所述时频域之间的快速变换算法的点数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610227546.XA CN107291658B (zh) | 2016-04-13 | 2016-04-13 | 一种数据信号的处理方法及装置 |
PCT/CN2017/073551 WO2017177758A1 (zh) | 2016-04-13 | 2017-02-15 | 数据信号的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610227546.XA CN107291658B (zh) | 2016-04-13 | 2016-04-13 | 一种数据信号的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291658A CN107291658A (zh) | 2017-10-24 |
CN107291658B true CN107291658B (zh) | 2020-09-11 |
Family
ID=60042331
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610227546.XA Active CN107291658B (zh) | 2016-04-13 | 2016-04-13 | 一种数据信号的处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107291658B (zh) |
WO (1) | WO2017177758A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255785B (zh) * | 2018-02-14 | 2021-02-23 | 中国科学院电子学研究所 | 一种优化fft混合基算法的对称二叉树分解方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2408158A1 (en) * | 2009-03-27 | 2012-01-18 | ZTE Corporation | Circuit and method for implementing fft/ifft transform |
CN102929837A (zh) * | 2012-09-18 | 2013-02-13 | 西安电子科技大学 | 基于fpga的高速定点fft处理器及其处理方法 |
CN102945224A (zh) * | 2012-09-18 | 2013-02-27 | 西安电子科技大学 | 基于fpga的高速可变点fft处理器及其处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101290613B (zh) * | 2007-04-16 | 2011-10-05 | 卓胜微电子(上海)有限公司 | Fft处理器的数据存储系统和方法 |
US20100030831A1 (en) * | 2008-08-04 | 2010-02-04 | L-3 Communications Integrated Systems, L.P. | Multi-fpga tree-based fft processor |
CN103226543B (zh) * | 2013-04-26 | 2016-02-10 | 中国科学院微电子研究所 | 一种流水线结构的fft处理器 |
-
2016
- 2016-04-13 CN CN201610227546.XA patent/CN107291658B/zh active Active
-
2017
- 2017-02-15 WO PCT/CN2017/073551 patent/WO2017177758A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2408158A1 (en) * | 2009-03-27 | 2012-01-18 | ZTE Corporation | Circuit and method for implementing fft/ifft transform |
CN102929837A (zh) * | 2012-09-18 | 2013-02-13 | 西安电子科技大学 | 基于fpga的高速定点fft处理器及其处理方法 |
CN102945224A (zh) * | 2012-09-18 | 2013-02-27 | 西安电子科技大学 | 基于fpga的高速可变点fft处理器及其处理方法 |
Non-Patent Citations (1)
Title |
---|
Generation of All Radix-2 Fast Fourier Transform;Fahad Qureshi and Oscar Gustafsson;《2011 20th European Conference on Circuit Theory and Design (ECCTD)》;20111013;678-680 * |
Also Published As
Publication number | Publication date |
---|---|
WO2017177758A1 (zh) | 2017-10-19 |
CN107291658A (zh) | 2017-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007535847A (ja) | マルチキャリア変調システムにおける改善 | |
RU2007100349A (ru) | Матричнозначные способы и устройство для обработки сигналов | |
KR20020034746A (ko) | 고속 및 면적효율적인 알고리즘을 적용한 고속 프리에변환 프로세서 | |
US20060200513A1 (en) | Fast Fourier transform processor and method capable of reducing size of memories | |
CN107291658B (zh) | 一种数据信号的处理方法及装置 | |
Koutsoyannis et al. | Improving fixed-point accuracy of FFT cores in O-OFDM systems | |
CN112347413A (zh) | 信号处理方法、信号处理器、设备及存储介质 | |
CN114826846B (zh) | 频偏抵消序列的生成方法、装置、设备及介质 | |
CN112255455A (zh) | 信号处理方法、信号处理器、设备及存储介质 | |
CN111291315A (zh) | 一种数据处理方法、装置及设备 | |
Qureshi et al. | Twiddle factor memory switching activity analysis of Radix-2 2 and equivalent FFT algorithms | |
Fu et al. | Exponential and polynomial time algorithms for the minimum common string partition problem | |
Kleine et al. | A 256-point analog discrete-time FFT | |
Chen et al. | Generic regular decompositions for parametric polynomial systems | |
US9805000B1 (en) | Method and apparatus for reordering mixed radix fast Fourier transform outputs | |
Petrellis | Selecting FFT Word Length in OFDM systems with Undersampled Sparse Input | |
CN105988972B (zh) | 实现快速傅里叶变换/快速傅里叶逆变换的方法和电路 | |
US20080052336A1 (en) | Method and Apparatus for Providing FFT-Based Signal Processing with Reduced Latency | |
Singh et al. | Architecturally efficient FFT pruning algorithm | |
RU107613U1 (ru) | Устройство для приема дискретных сигналов | |
Rauf et al. | A Novel split radix fast fourier transform design for an adaptive and scalable implementation | |
Babic et al. | A fast algorithm for linear convolution of discrete time signals | |
Agrawal et al. | Enhanced Core Processor Blocks of OFDM System | |
Daković et al. | On the Fixed-point Rounding in the DFT | |
Maham et al. | DSP implementation aspects of an ofdm based wireless MAN modem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200812 Address after: 210000 No. 68 Bauhinia Road, Yuhuatai District, Jiangsu, Nanjing Applicant after: Nanjing Zhongxing Software Co.,Ltd. Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building Applicant before: ZTE Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |