CN101751375B - 一种dft/idft的快速计算方法和装置 - Google Patents
一种dft/idft的快速计算方法和装置 Download PDFInfo
- Publication number
- CN101751375B CN101751375B CN200810239910XA CN200810239910A CN101751375B CN 101751375 B CN101751375 B CN 101751375B CN 200810239910X A CN200810239910X A CN 200810239910XA CN 200810239910 A CN200810239910 A CN 200810239910A CN 101751375 B CN101751375 B CN 101751375B
- Authority
- CN
- China
- Prior art keywords
- index
- dft
- fft
- ifft
- zero padding
- 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.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种离散傅立叶变换/逆离散傅立叶变换的快速计算方法,包括:将待变换的比特序列补零,使补零后的序列长度符合FFT/IFFT处理器的处理范围;利用FFT/IFFT处理器对补零后的序列进行FFT/IFFT计算,并按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样;将重采样结果作为DFT/IDFT的结果序列输出。本发明还公开了一种离散傅立叶变换/逆离散傅立叶变换的快速计算装置。应用本发明,能够降低DFT/IDFT的计算复杂度,提高计算速度。
Description
技术领域
本发明涉及,特别涉及一种离散傅立叶变换(DFT)/逆离散傅立叶变换(IDFT)的快速计算方法和装置。
背景技术
为了在移动通信领域保持领先地位,把握新一轮技术浪潮,3GPP组织在2004年底启动了3G长期演进系统(LTE)的研究与标准化工作。LTE系统为了避免多载波系统带来的高峰均比(PAPR),同时又能利用多载波系统的优势,上行系统采用单载波的DFT-OFDMA接入方式。图1给出一个LTE上行发射系统框图。
如图1所示,在上行系统中每次分配给用户的资源数(子载波数)为12的整数倍,因此不能直接利用FFT/IFFT完成子载波的映射和解映射。同时,直接计算DFT/IDFT带来的计算复杂度难以承受,使得整个上行系统的实现复杂度很高。另外,在OFDM系统中采取导频辅助信道估计时,需要采用DFT/IDFT进行插值或基于域变换的去噪处理,也同样需要面对直接计算DFT/IDFT带来的计算复杂度问题,从而导致去噪处理时延很大。总之,在需要进行DFT/IDFT处理的系统中,由于直接计算DFT/IDFT的计算复杂度很高,使得整个系统的实现复杂度增大,时延较大,处理速度较低。
发明内容
有鉴于此,本发明提供一种DFT/IDFT的快速计算方法和装置,能够降低DFT/IDFT的计算复杂度,降低处理时延,从而大大提高DFT/IDFT所在系统的处理速度。
为实现上述目的,本发明采用如下的技术方案:
一种离散傅立叶变换/逆离散傅立叶变换的快速计算方法,包括:
将待变换的比特序列补零,使补零后的序列长度符合FFT/IFFT处理器的处理范围;
利用FFT/IFFT处理器对补零后的序列进行FFT/IFFT计算,并按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样;
将重采样结果作为DFT/IDFT的结果序列输出。
较佳地,所述将待变换的比特序列补零为:
预先确定FFT/IFFT处理器的处理点数,在所述处理点数中,为DFT/IDFT的变换点数选择对应的FFT/IFFT的处理点数,建立并保存二者间的对应关系;
在进行补零操作时,根据待变换的比特序列长度,选择对应的处理点数,将待变换的比特序列补零到比特序列长度等于所选择的处理点数。
较佳地,当所述FFT/IFFT处理器的处理点数为2048时,建立并保存的所述对应关系为:
若补零前的序列长度为12~120,则补零后的序列长度为512;
若补零前的序列长度为132~300,则补零后的序列长度为1024;
若补零前的序列长度为312~600,则补零后的序列长度为2048;
若补零前的序列长度为612~900,则补零后的序列长度为2048;
若补零前的序列长度为312~1200,则补零后的序列长度为2048。
较佳地,当所述FFT/IFFT处理器的处理点数为4096时,建立并保存的所述对应关系为:
若补零前的序列长度为12~120,则补零后的序列长度为512;
若补零前的序列长度为132~300,则补零后的序列长度为1024;
若补零前的序列长度为312~600,则补零后的序列长度为2048;
若补零前的序列长度为612~900,则补零后的序列长度为4096;
若补零前的序列长度为312~1200,则补零后的序列长度为4096。
较佳地,当进行DFT时,在待变换的序列尾部补零;
较佳地,由补零前和补零后的序列长度确定采样位置的方式为:index(i)=i*NFFT/IFFT/NDFT/IDFT,其中,NFFT/IFFT为补零后的序列长度,NDFT/IDFT为补零前的序列长度,index(i)为FFT/IFFT变换后的采样位置索引值,i为重采样结果的索引值。
较佳地,当所述index(i)为整数时,所述进行时域/频域重采样为:xDFT/IDFT(i)=xFFT/IFFT(index_int(i)),i=0,1,2,...,NDFT/IFDT-1,xDFT/IDFT(i)为输出的DFT/IDFT结果序列中的第i个值,xFFT/IFFT(i)为FFT/IFFT计算结果序列中的第i个值。
较佳地,当所述index(i)不是整数时,所述进行时域/频域重采样为:
将index(i)表示为整数部分index_int(i)和小数部分index_frac(i),并根据计算精度截取所述小数部分index_frac(i)中的前M位index_frac_M(i);
当截取的前M位index_frac_M(i)中所有比特均为0时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i));当截取的前M位index_frac_M(i)中所有比特均为1时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i)+1);
当截取的前M位index_frac_M(i)中的比特不全为0、且不全为1时,根据预先确定的插值方式,对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)。
较佳地,所述预先确定的插值方式为零阶保持,则所述对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)为:当截取的前M位index_frac_M(i)中的最高位为0时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i));当截取的前M位index_frac_M(i)中的最高位为1时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i)+1);
所述预先确定的插值方式为一阶线性插值,则所述对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)_1)进行小数插值得到xDFT/IDFT(i)为:
xDFT/IDFT(i)=xFFT/IFFT(index_int(i))*(1-index_frac_M(i))+xFFT/IFFT(index_int(i)+1)*index_frac_M(i);
所述预先确定的插值方式为二阶拉格朗日插值,则所述对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)为:xDFT/IDFT(i)=xFFT/IFFT(index_int(i)-1)*index_frac_M(i)*(index_frac_M(i)-1)/2+xFFT/IFFT(index_int(i))*(index_frac_M(i)+1)*(1-index_frac_M(i))+xFFT/IFFT(index_int(i)+1)*(index_frac_M(i)+1)*index_frac_M(i)/2。
较佳地,计算的(1-index_frac_M(i))方式为,对index_frac_M(i)中的比特逐位进行取反操作。
一种离散傅立叶变换/逆离散傅立叶变换的快速计算装置,包括:
补零器,用于将输入的待变换比特序列补零,使补零后的序列长度符合FFT/IFFT处理器的处理范围;
FFT/IFFT处理器,用于对补零后的序列进行FFT/IFFT计算;
重采样器,用于按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样,并将重采样结果作为DFT/IDFT的结果序列输出。
由上述技术方案可见,本发明中,将待变换的比特序列补零,使补零后的序列长度符合FFT/IFFT处理器的处理范围;利用FFT/IFFT处理器对补零后的序列进行FFT/IFFT计算,并按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样;将重采样结果作为DFT/IDFT的结果序列输出。通过上述方式,本发明利用计算速度较快的FFT/IFFT代替直接进行DFT/IDFT,并对FFT/IFFT处理结果进行重采用以得到DFT/IDFT处理结果。由于FFT/IFFT的处理速度很快,因此能够大大提高DFT/IDFT的计算速度,降低DFT/IDFT的计算复杂度,降低处理时延,从而大大提高DFT/IDFT所在系统的处理速度。
附图说明
图1为LTE上行发射系统的结构示意图。
图2为本发明提供的DFT快速计算方法的流程图。
图3为上述本发明的方法和装置在LTE上行发射基带系统中的一个具体应用实例。
具体实施方式
为使本发明的目的、技术手段和优点更加清楚明白,以下结合附图对本发明做进一步详细说明。
本发明的基本思想是:利用FFT的处理代替DFT的处理,利用IFFT的处理代替IDFT的处理,从而提高运算速度,降低处理复杂度。
图2为本发明提供的DFT快速计算方法的流程图。如图2所示,该方法包括:
步骤201,将待变换的比特序列补零,使补零后的序列长度符合FFT/IFFT处理器的处理范围。
本发明中,利用FFT的处理代替DFT的处理,利用IFFT的处理代替IDFT的处理,以下简写为利用FFT/IFFT处理代替DFT/IDFT处理。
如前所述,本发明中利用FFT/IFFT代替DFT/IDFT,从而降低计算复杂度,提高计算速度。而在FFT/IFFT处理过程中,可处理的序列点数为2的整数次幂。因此,本步骤中将需要DFT/IDFT的序列补零到某个2的整数次幂,然后在后续步骤中对FFT/IFFT的计算结果再分别进行频域和时域的重采样得到DFT/IDFT的计算结果。
具体的补零方式可以为:
预先确定FFT/IFFT处理器的处理点数,在所述处理点数中,为DFT/IDFT的变换点数选择对应的FFT/IFFT的处理点数,建立并保存二者间的对应关系;
在进行补零操作时,根据待变换的比特序列长度,选择对应的处理点数,将待变换的比特序列补零到比特序列长度等于所选择的处理点数。
其中,在FFT/IFFT处理中,FFT/IFFT处理器均存在最大的处理点数M,该处理器可以处理的序列长度为:小于等于M的任意2的整数次幂。因此,在建立所述对应关系时,任意一种DFT/IDFT的变换点数可以对应大于N、且小于等于M的任意2的整数次幂,其中,N为DFT/IDFT的变换点数。并且,在这些可选的点数中,FFT/IFFT处理点数越高变换结果的精度越高,但相应所需的处理时间也要增长。因此,在建立所述对应关系时,可以根据实际应用的需要,在处理时间和变换精度两方面寻求均衡。
例如,本发明给出在LTE系统中应用的DFT/IDFT变换点数和FFT/IFFT处理点数的对应关系,如表1所示。
DFT/IDFT点数 | 12~120 | 132~300 | 312~600 | 612~900 | 912~1200 |
FFT/IFFT点数(2048) | 512 | 1024 | 2048 | 2048 | 2048 |
FFT/IFFT点数(4096) | 512 | 1024 | 2048 | 4096 | 4096 |
表1
表1中给出了FFT/IFFT最大处理点数分别为2048点和4096点时,DFT/IDFT变换点数和FFT/IFFT处理点数的对应关系。在进行补零操作时,可以根据表1确定补零后的序列长度。例如,若DFT/IDFT点数(即分配给用户的子载波数)为660,则对于最大处理点数为2048的FFT/IFFT处理器,补零到序列长度为2048,对于最大处理点数为4096的FFT/IFFT处理器,补零到序列长度为4096。
这里仅是举个简单的例子,在具体应用中,还可以根据系统中业务的时延要求和数据传输精度,进行具体设置。
对于DFT和IDFT补零的位置稍有不同,进行DFT时,在待变换序列的尾部补零;进行IDFT时,在待变换序列的中间补零。当在待变换序列中间补零时,若待变换序列长度N为奇数时,则在所述待变换的序列中索引值为和索引值为的符号间补零,或者,在所述待变换的序列中索引值为和索引值为的符号间补零。例如,设待变换序列长度为71,则可以在索引值为35和36的符号之间进行补零,或者,也可以在索引值为36和37的符号之间进行补零。
如上,即完成了具体的补零操作。
步骤202,利用FFT/IFFT处理器对补零后的序列进行FFT/IFFT计算。
本步骤的操作与现有实现方式相同,这里就不再赘述。
步骤203,按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样并输出。
假设补零前的序列长度为NDFT/IDFT,补零后的序列长度为NFFT/IFFT,则经过补零后的序列经过步骤102进行FFT/IFFT处理后的序列长度仍为NFFT/IFFT。设FFT/IFFT处理的计算结果为xFFT/IFFT(k),k=0,1,2,...,NFFT/IFFT-1,NDFT/IDFT点序列的DFT/IDFT结果为xDFT/IDFT(n),n=0,1,2,...,NDFT/IDFT-1。则需要在本步骤中,根据FFT/IFFT处理的计算结果xFFT/IFFT(k),进行重采样,得到序列xDFT/IDFT(n),n=0,1,2,...,NDFT/IDFT-1,作为DFT/IDFT的处理结果进行输出。对于FFT处理,则进行频域重采样,对于IFFT处理,则进行时域重采样。
假定利用i表示重采样后输出序列的索引值,index(i)=i*NFFT/IFFT/NDFT/IDFT为对xFFT/IFFT(k)进行重采样的位置,也即序列xFFT/IFFT(k)的索引值,从而将xFFT/IFFT(index(i))赋值给xDFT/IDFT(i)输出。
若重采样位置index(i)为整数,则可以直接令xDFT/IDFT(i)=xFFT/IFFT(index(i))输出即可。若重采样位置index(i)为非整数,即进行非整数倍采样时,则需要通过插值方式确定xDFT/IDFT(i)。
具体地,可以将index(i)表示为整数部分index_int(i)和小数部分index_frac(i)。将index(i)用无符号二进制数表示,其中index_int(i)包含11比特(采用2048点FFT/IFFT处理器),或者12bit(采用4096点FFT/IFFT处理器)。假设index_frac(i)部分包含的比特数为farc个比特,即index_frac(i)的无符号二进制数表示表示形式为b0b1...bfrac-1,其中b0为MSB,bfrac-1为LSB。
为减小计算量,对index(i)的小数部分index_frac(i)进行简化处理。具体地,
首先,根据计算精度的要求截取小数部分index_frac(i)中的前M位index_frac_M(i),精度要求越高,M值越大,处理时间越长,反之,精度要求越低,M值越小,处理时间越短。因此,这里截取小数部分位数时也需要根据计算精度和处理时间进行均衡选择。具体实现时,可以对xFFT/IFFT(k)的相邻两个样点之间的间隔进行8等分或者16,32等分。8等分时截取index_frac(i)的前3比特,即b0b1b2。16等分时候截取index_frac(i)的前4比特,即b0b1b2b3。32等分时候截取index_frac(i)的前5比特,即b0b1b2b3b4。用index_frac_M(i)表示上述三种对index_frac(i)的截取情况,M为3时表示截取index_frac(i)的前3比特。M为4时表示截取index_frac(i)的前4比特。M为5时表示截取index_frac(i)的前5比特。
接下来,当截取的前M位index_frac_M(i)中所有比特均为0时,表示重采样位置很接近index_int(i),因此令xDFT/IDFT(i)=xFFT/IFFT(index_int(i))输出;当截取的前M位index_frac_M(i)中所有比特均为1时,表示重采样位置很接近index_int(i)+1,因此令xDFT/IDFT(i)=xFFT/IFFT(index_int(i)+1)输出;
当截取的前M位index_frac_M(i)中的比特不全为0、且不全为1时,根据预先确定的插值方式,对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)。具体插值方式可以采样现有的任意插值方式,不同的插值方式计算复杂度和精度均有所不同,通常高阶插值方式计算精度高,但处理复杂度也相对较高。本实施例中仅以三种插值方式为例进行说明,这三种插值方式分别为零阶保持,一阶线性插值,二阶拉格朗日插值。
若预先确定的插值方式为零阶保持插值,则本步骤中进行非整数倍重采样时的具体插值操作为:当index_frac_M(i)中的MSB比特b0为零时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i)),i=1,2,..,NDFT/IFDT-1;当b0为壹时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i)+1),i=1,2,..,NDFT/IFDT-1。
若预先确定的插值方式为一阶线性插值,则本步骤中进行非整数倍重采样时的具体插值操作为:
xDFT/IDFT(i)=xFFT/IFFT(index_int(i))*(1-index_frac_M(i))+xFFT/IFFT(index_int(i)+1)*index_frac_M其中,(1-index_frac_M(i))的运算可以利用index_frac_M(i)代替,以减少计算量,index_frac_M(i)表示对index_frac_M(i)中的比特逐位进行取反操作。
若预先确定的插值方式为二阶拉格朗日插值,则本步骤中进行非整数倍重采样时的具体插值操作为:
xDFT/IDFT(i)=xFFT/IFFT(index_int(i)-1)*index_frac_M(i)*(index_frac_M(i)-1)/2+xFFT/IFFT(index_int(i))*(index_frac_M(i)+1)*(1-index_frac_M(i))+xFFT/IFFT(index_int(i)+1)*(index_frac_M(i)+1)*index_frac_M(i)/2,与一阶线性插值的计算类似,(1-index_frac_M(i))的运算可以利用index_frac_M(i)代替,以减少计算量。
通过上述方式即可以通过插值算法确定非整数倍采样时xDFT/IDFT(i)的取值。按照上述方式,逐个确定重采样位置index(i),并按照所确定的位置进行重采样得到序列xDFT/IDFT(n)并输出,即为DFT/IDFT的处理结果。
至此,本发明的快速计算方法流程结束。
本发明还提供了一种DFT/IDFT的快速计算装置,用于需要计算DFT/IDFT的系统中。该装置具体包括:补零器,用于将输入的待变换比特序列补零,使补零后的序列长度符合FFT/IFFT处理器的处理范围;FFT/IFFT处理器,用于对补零后的序列进行FFT/IFFT计算;重采样器,用于按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样,并将重采样结果作为DFT/IDFT的结果序列输出。上述装置可以用于实施上述图2所示的本发明的方法。
图3为上述本发明的方法和装置在LTE上行发射基带系统中的一个具体应用实例。如图3所示,在上行发送端,将数据进行编码调制后,根据系统分配的子载波数目(在LTE中为12的整数倍)进行分组。然后对分组后的序列按照上述步骤201中的方式进行补零操作,得到FFT处理器可以处理的序列长度。补零后的序列经过FFT处理器后得到频域序列,然后对这个频域序列按照上述步骤203中的方式进行重采样得到与分组后的发射数据相同长度的序列。最后对这个序列进行子载波映射、IFFT处理和插入循环前缀后就完成LTE上行基带信号的处理。
在上述应用实例中,上行发送端需要进行DFT处理,因此利用FFT处理器对补零后序列进行处理。若在进行IDFT处理的系统中,则需要利用IFFT处理器对补零后序列进行处理。
由上述本发明的具体实现过程可见,本发明通过FFT/IFFT处理器达到对DFT/IDFT的快速计算,避免了对DFT/IDFT直接计算带来的巨大的计算量。通过对时域/频域重采样点位置的不同量化方式以及采样不同的小数插值方法可以在计算复杂度和计算精度之间找到一个最优平衡点。在一阶线性插值算法和二阶拉格朗日插值算法中通过对小数部分的取反操作达到减少计算量的目的。
本发明可以广泛地应用于3GPP LTE、IMT-Advanced、WiMAX等移动通信系统以及其它需要计算DFT/IDFT的数字信号处理系统中,以降低DFT/IDFT处理的计算复杂度,提高系统处理速度。同时,在如3GPP LTE等原本就包括FFT/IFFT处理器的系统中,实现了FFT/IFFT处理器的分时复用,更有效地提高了资源利用率。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种数字信号处理系统中的离散傅立叶变换/逆离散傅立叶变换DFT/IDFT的快速计算方法,其特征在于,该方法包括:
将待变换的比特序列补零,使补零后的序列长度符合快速傅立叶变换/逆快速傅立叶变换FFT/IFFT处理器的处理范围;其中,当进行离散傅立叶变换时,在待变换的比特序列尾部补零;当进行逆离散傅立叶变换时,在待变换的比特序列中间补零;当在待变换的比特序列中间补零时,若待变换的比特序列长度N为奇数时,则在所述待变换的比特序列中索引值为和索引值为的符号间补零,或者,在所述待变换的比特序列中索引值为和索引值为的符号间补零;
利用FFT/IFFT处理器对补零后的序列进行FFT/IFFT计算,并按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样;所述由补零前和补零后的序列长度确定采样位置的方式为:index(i)=i*NFFT/IFFT/NDFT/IDFT,其中,NFFT/IFFT为补零后的序列长度,NDFT/IDFT为补零前的序列长度,index(i)为FFT/IFFT变换后的采样位置索引值,i为重采样结果的索引值;若重采样位置index(i)为整数,则直接令xDFT/IDFT(i)=xFFT/IFFT(index(i));若重采样位置index(i)为非整数,则通过插值确定xDFT/IDFT(i);xDFT/IDFT(i)为NDFT/IDFT点序列的DFT/IDFT结果,i=0,1,2,...,NDFT/IDFT-1;xFFT/IFFT(index(i))为FFT/IFFT处理的计算结果;
将重采样结果作为离散傅立叶变换/逆离散傅立叶变换的结果序列输出。
2.根据权利要求1所述的方法,其特征在于,所述将待变换的比特序列补零为:
预先确定FFT/IFFT处理器的处理点数,在所述处理点数中,为DFT/IDFT的变换点数选择对应的FFT/IFFT的处理点数,建立并保存二者间的对应关系;
在进行补零操作时,根据待变换的比特序列长度,选择对应的处理点数,将待变换的比特序列补零到比特序列长度等于所选择的处理点数。
3.根据权利要求2所述的方法,其特征在于,当所述FFT/IFFT处理器的处理点数为2048时,建立并保存的所述对应关系为:
若补零前的序列长度为12~120,则补零后的序列长度为512;
若补零前的序列长度为132~300,则补零后的序列长度为1024;
若补零前的序列长度为312~600,则补零后的序列长度为2048;
若补零前的序列长度为612~900,则补零后的序列长度为2048;
若补零前的序列长度为312~1200,则补零后的序列长度为2048。
4.根据权利要求2所述的方法,其特征在于,当所述FFT/IFFT处理器的处理点数为4096时,建立并保存的所述对应关系为:
若补零前的序列长度为12~120,则补零后的序列长度为512;
若补零前的序列长度为132~300,则补零后的序列长度为1024;
若补零前的序列长度为312~600,则补零后的序列长度为2048;
若补零前的序列长度为612~900,则补零后的序列长度为4096;
若补零前的序列长度为312~1200,则补零后的序列长度为4096。
5.根据权利要求1所述的方法,其特征在于,当所述index(i)为整数时,所述进行时域/频域重采样为:xDFT/IDFT(i)=xFFT/IFFT(index_int(i)),i=0,1,2,...,NDFT/IFDT-1,xDFT/IDFT(i)为输出的DFT/IDFT结果序列中的第i个值,xFFT/IFFT(i)为FFT/IFFT计算结果序列中的第i个值。
6.根据权利要求1或5所述的方法,其特征在于,当所述index(i)不是整数时,所述进行时域/频域重采样为:
将index(i)表示为整数部分index_int(i)和小数部分index_frac(i),并根据计算精度截取所述小数部分index_frac(i)中的前M位index_frac_M(i);
当截取的前M位index_frac_M(i)中所有比特均为0时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i));当截取的前M位index_frac_M(i)中所有比特均为1时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i)+1);
当截取的前M位index_frac_M(i)中的比特不全为0、且不全为1时,根据预先确定的插值方式,对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)。
7.根据权利要求6所述的方法,其特征在于,
所述预先确定的插值方式为零阶保持,则所述对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)为:当截取的前M位index_frac_M(i)中的最高位为0时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i));当截取的前M位index_frac_M(i)中的最高位为1时,xDFT/IDFT(i)=xFFT/IFFT(index_int(i)+1);
所述预先确定的插值方式为一阶线性插值,则所述对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)为:
xDFT/IDFT(i)=xFFT/IFFT(index_int(i))*(1-index_frac_M(i))+xFFT/IFFT(index_int(i)+1)*index_frac_M(i);
所述预先确定的插值方式为二阶拉格朗日插值,则所述对xFFT/IFFT(index_int(i))和xFFT/IFFT(index_int(i)+1)进行小数插值得到xDFT/IDFT(i)为:xDFT/IDFT(i)=xFFT/IFFT(index_int(i)-1)*index_frac_M(i)*(index_frac_M(i)-1)/2+xFFT/IFFT(index_int(i))*(index_frac_M(i)+1)*(1-index_frac_M(i))+xFFT/IFFT(index_int(i)+1)*(index_frac_M(i)+1)*index_frac_M(i)/2。
8.根据权利要求7所述的方法,其特征在于,计算的(1-index_frac_M(i))方式为,对index_frac_M(i)中的比特逐位进行取反操作。
9.一种数字信号处理系统中的离散傅立叶变换/逆离散傅立叶变换DFT/IDFT快速计算装置,其特征在于,该装置包括:
补零器,用于将输入的待变换比特序列补零,使补零后的序列长度符合快速傅立叶变换/逆快速傅立叶变换FFT/IFFT处理器的处理范围;其中,当进行离散傅立叶变换时,在待变换的序列尾部补零;当进行逆离散傅立叶变换时,在待变换的序列中间补零;当在待变换的比特序列中间补零时,若待变换序列长度N为奇数时,则在所述待变换的序列中索引值为和索引值为的符号间补零,或者,在所述待变换的序列中索引值为和索引值为的符号间补零;
FFT/IFFT处理器,用于对补零后的序列进行FFT/IFFT计算;
重采样器,用于按照由补零前和补零后的序列长度确定的采样位置对FFT/IFFT计算结果序列进行时域/频域重采样,并将重采样结果作为离散傅立叶变换/逆离散傅立叶变换的结果序列输出;其中,index(i)=i*NFFT/IFFT/NDFT/IDFT,NFFT/IFFT为补零后的序列长度,NDFT/IDFT为补零前的序列长度,index(i)为FFT/IFFT变换后的采样位置索引值,i为重采样结果的索引值;若重采样位置index(i)为整数,则直接令xDFT/IDFT(i)=xFFT/IFFT(index(i));若重采样位置index(i)为非整数,则通过插值确定xDFT/IDFT(i);其中,xFFT/IFFT(index(i))为FFT/IFFT处理的计算结果,xDFT/IDFT(i)为NDFT/IDFT点序列的DFT/IDFT结果,i=0,1,2,...,NDFT/IDFT-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810239910XA CN101751375B (zh) | 2008-12-12 | 2008-12-12 | 一种dft/idft的快速计算方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810239910XA CN101751375B (zh) | 2008-12-12 | 2008-12-12 | 一种dft/idft的快速计算方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101751375A CN101751375A (zh) | 2010-06-23 |
CN101751375B true CN101751375B (zh) | 2011-12-21 |
Family
ID=42478367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810239910XA Expired - Fee Related CN101751375B (zh) | 2008-12-12 | 2008-12-12 | 一种dft/idft的快速计算方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101751375B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102339273B (zh) * | 2010-07-27 | 2015-09-16 | 中兴通讯股份有限公司 | 一种基于上采样技术的fft/ifft近似计算方法和装置 |
CN101980494A (zh) * | 2010-10-15 | 2011-02-23 | 北京星河亮点通信软件有限责任公司 | Td-lte终端测试仪器的idft实现方法及其系统 |
CN102063412B (zh) * | 2010-11-08 | 2013-08-07 | 重庆新世纪电气有限公司 | 一种递推离散傅里叶变换工程处理方法和系统 |
CN103294646B (zh) * | 2012-03-05 | 2017-12-05 | 山东比特智能科技股份有限公司 | 数字信号处理方法和数字信号处理器 |
CN103268308B (zh) * | 2013-06-06 | 2016-06-01 | 中国科学院计算技术研究所 | 支持混合基dft的计算装置及方法 |
JP6429663B2 (ja) * | 2015-02-12 | 2018-11-28 | ルネサスエレクトロニクス株式会社 | 脈拍計、周波数解析装置及び脈拍測定方法 |
CN106936757B (zh) * | 2015-06-05 | 2020-02-14 | 上海数字电视国家工程研究中心有限公司 | 前导符号信号长度的选取方法 |
CN105630738B (zh) * | 2016-01-11 | 2019-01-08 | 北京北方烽火科技有限公司 | 基于lte系统的fft/ifft变换装置 |
CN106932642B (zh) * | 2017-03-13 | 2019-07-05 | 威胜集团有限公司 | 电力谐波分析方法 |
CN109286588B (zh) * | 2017-07-21 | 2021-02-26 | 北京遥感设备研究所 | 一种二进制相移键控信号初始相位估计方法 |
CN110290081B (zh) * | 2019-06-27 | 2022-03-25 | 北京润科通用技术有限公司 | 一种基带信号处理方法及装置 |
WO2023168656A1 (zh) * | 2022-03-10 | 2023-09-14 | 株式会社Ntt都科摩 | 电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987005A (en) * | 1997-07-02 | 1999-11-16 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for efficient computation of discrete fourier transform (DFT) and inverse discrete fourier transform |
CN101072218A (zh) * | 2007-03-01 | 2007-11-14 | 华为技术有限公司 | 一种fft/ifft成对处理系统、方法及其装置与方法 |
-
2008
- 2008-12-12 CN CN200810239910XA patent/CN101751375B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987005A (en) * | 1997-07-02 | 1999-11-16 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for efficient computation of discrete fourier transform (DFT) and inverse discrete fourier transform |
CN101072218A (zh) * | 2007-03-01 | 2007-11-14 | 华为技术有限公司 | 一种fft/ifft成对处理系统、方法及其装置与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101751375A (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101751375B (zh) | 一种dft/idft的快速计算方法和装置 | |
US7831649B2 (en) | Method for transforming data by look-up table | |
CN105992385B (zh) | 物理随机接入信道信号生成方法 | |
RU2007110022A (ru) | Устройство и способ обработки цифрового сигнала в системе беспроводной связи ofdma | |
CN103020015A (zh) | 点数为非2次幂的离散傅里叶变换快速计算的实现方法 | |
KR20090059315A (ko) | 통신시스템에서 역 고속 퓨리에 변환 방법 및 장치 | |
CN101938442B (zh) | Dft处理器的预检测基运算方法、混合基运算方法和系统 | |
CN103001905A (zh) | Prach基带信号的生成方法及装置 | |
CN109639603A (zh) | 基于导频的低复杂度压缩感知信道估计方法 | |
CN102769600B (zh) | 一种ofdm系统接收机中缩放因子解调制的方法及装置 | |
CN102255838B (zh) | 一种用于sc-fdma的快速傅立叶处理方法 | |
CN113225292A (zh) | 利用导频分块降低ofdm峰均比的方法 | |
CN106656891B (zh) | Lte系统中的数据处理装置 | |
Jang et al. | Study on the latency efficient IFFT design method for low latency communication systems | |
CN107484253B (zh) | 信息发送方法及装置、用户设备和基站 | |
CN101184079B (zh) | 一种频域载波信道估计方法及装置 | |
KR20130070321A (ko) | 이산 푸리에변환 장치 및 방법 | |
CN1298124C (zh) | 多载波发射系统及其信号处理方法 | |
CN102111365B (zh) | Lte系统dft/idft旋转因子控制方法、装置及dft/idft运算装置 | |
CN102469050A (zh) | 长期演进系统中基于终端专用参考信号的信道估计方法 | |
CN103684690A (zh) | 一种基于压缩感知的信道缩短滤波器设计方法 | |
Maršálek | On the reduced complexity interleaving method for OFDM PAPR reduction | |
CN102143099A (zh) | 一种信道估计方法及装置 | |
Fankhauser et al. | FPGA Implementation of a Multi-Channel Continuous-Throughput FFT Processor | |
US9025649B2 (en) | Method and apparatus for acquiring estimated value of transmitted signal and a system-on-chip |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111221 Termination date: 20201212 |
|
CF01 | Termination of patent right due to non-payment of annual fee |