DFT复用方法及装置、通信设备、存储介质与流程

未命名 09-29 阅读:104 评论:0

dft复用方法及装置、通信设备、存储介质
技术领域
1.本发明涉及数字信号处理技术领域,具体涉及一种dft复用方法及装置、通信设备、存储介质。


背景技术:

2.离散傅里叶变换(discrete fourier transform,dft)是数字信号处理领域常用的一种重要数学变换,其本质是对有限长序列的傅里叶变换进行有限的离散采样点,它可以使数字信号处理在频域使用简单的数学运算,开辟了频域离散化的道路,大大增加了数字信号处理的灵活性。但是,在很长一段时间内,由于dft的计算量太大,即使用计算机也很难对问题进行实时处理,因此没有得到广泛的应用。
3.假设序列x[n]有n个点,其n点dft(即对离散时间傅里叶变换(discrete-time fourier transform,dtft)以采样间隔为2
×
pi/n得到的具有n个离散点的信号)的定义如下:
[0004][0005]
其中,k=0,1,...n-1。
[0006]
由上式可以看出,dft中的数均为复数,因此每计算一个x(n)值,需要n次复数乘法和n-1次复数加法。一次复数乘法直接展开需要4次实数乘法和2次实数加法,一次复数加法则需2次实数加法。因而,直接计算dft,乘法次数和加法次数都是和n2成正比,当n很大时,运算量是相当大的,如1024点的dft变换,需要复乘一百万次以上,对实时性很强的信号处理来说,对计算速度的要求就会极高,因而需要改进数据的计算方法,以减少运算次数。
[0007]
在5g系统中需要完成dft(67种点数,非2的幂次方)变换,其对时延要求极高,资源消耗比较严苛,现有的dft方法无法满足该要求。


技术实现要素:

[0008]
本发明实施例提供一种dft复用方法及装置、通信设备、存储介质,可以实现高速、低时延的dft,减少资源消耗。
[0009]
一方面,本发明实施例提供一种dft复用方法,所述方法包括:
[0010]
输入n点数据,并将所述n点数据按照级数拆分,将拆分后的数据写入存储器中,以使数据处理模块读取所述n点数据进行dft运算,得到频域数据;
[0011]
将所述频域数据回写到所述存储器中。
[0012]
可选地,所述数据处理模块包括dft模块,所述dft模块包括m路dft子模块;
[0013]
所述将拆分后的数据写入存储器中包括:
[0014]
将拆分后的数据按照从左到右、从上往下的顺序,以m行l列的格式写入存储器中,其中,n=m
×
l;
[0015]
所述数据处理模块读取所述n点数据进行dft运算,得到频域数据包括:
[0016]
所述m路dft子模块对所述存储器中的n点数据并行做m点dft运算,最终得到n点频域数据。
[0017]
可选地,所述方法还包括:采用乒乓方式控制对所述存储器的读写操作。
[0018]
可选地,所述存储器为双口ram或者乒乓ram。
[0019]
可选地,所述m路dft子模块对所述存储器中的n点数据并行做m点dft运算,最终得到n点频域数据包括:
[0020]
所述m路dft子模块同时分别从所述存储器中读取对应行的l点数据做m点dft运算,然后每个dft子模块对各自缓存的l点数据依次进行dft运算;
[0021]
对每轮dft运算得到的m个向量化分解结果分别乘以旋转因子,经过多轮计算,最终得到n点频域数据。
[0022]
可选地,所述方法还包括:
[0023]
设置旋转因子列表,并预先将所述旋转因子列表存入rom中;
[0024]
通过查表方式获取各点数的旋转因子。
[0025]
可选地,所述将所述旋转因子列表存入rom中包括:
[0026]
设置对应m路dft子模块的m路rom;
[0027]
将所述旋转因子列表分别置入m路rom中。
[0028]
可选地,所述将所述旋转因子列表存入rom中包括:
[0029]
设置对应第一路dft子模块的rom;
[0030]
将所述旋转因子列表置入所述rom中。
[0031]
可选地,所述方法还包括:
[0032]
从所述存储器中读取所述n点频域数据;
[0033]
对所述n点频域数据进行子载波映射;
[0034]
将映射后的n点频域数据利用ifft模块进行ifft变换,得到发送数据。
[0035]
可选地,所述ifft模块和所述dft模块为复用结构模式。
[0036]
另一方面,本发明实施例还提供一种dft复用装置,所述装置包括:输入模块、存储器、以及数据处理模块;
[0037]
所述输入模块,用于输入n点数据,并将所述n点数据按照级数拆分,将拆分后的数据写入存储器中;
[0038]
所述数据处理模块,用于读取所述n点数据进行dft运算,得到频域数据,将所述频域数据回写到所述存储器中。
[0039]
可选地,所述数据处理模块包括dft模块,所述dft模块包括m路dft子模块;
[0040]
所述输入模块,具体用于将拆分后的数据按照从左到右、从上往下的顺序,以m行l列的格式写入存储器中,其中,n=m
×
l;
[0041]
所述m路dft子模块,用于对所述存储器中的n点数据并行做m点dft运算,最终得到n点频域数据。
[0042]
可选地,所述装置还包括:存储器控制模块,用于采用乒乓方式控制对所述存储器的读写操作。
[0043]
可选地,所述数据处理模块还包括:计算模块;
[0044]
所述m路dft子模块同时分别从所述存储器中读取对应行的l点数据做m点dft运
算,然后每个dft子模块对各自缓存的l点数据依次进行dft运算;
[0045]
所述计算模块,用于将每轮dft运算得到的m个向量化分解结果分别乘以旋转因子,经过多轮计算,最终得到n点频域数据。
[0046]
可选地,所述装置还包括:对应m路dft子模块的m路存储单元,或者对应第一路dft子模块的存储单元,所述存储单元中存储有旋转因子列表;
[0047]
所述计算模块,还用于查找所述旋转因子列表,获得对应点数的旋转因子。
[0048]
另一方面,本发明实施例还提供一种通信设备,所述通信设备包括前面所述的dft复用装置。
[0049]
另一方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行前面所述dft复用方法的步骤。
[0050]
另一方面,本发明实施例还提供一种通信设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行前面所述dft复用方法的步骤。
[0051]
本发明实施例提供的dft复用方法及装置、通信设备、存储介质,将输入的n点数据进按照级数拆分,将拆分后的数据写入存储器中,供数据处理模块读取所述n点数据进行dft运算,得到频域数据,而且将得到的频域数据回写到同一存储器中,实现输入数据和回写数据对同一存储器的复用,有效地节省存储资源,减少了资源消耗。
[0052]
进一步地,dft运算过程中需要一读一写,因此通过采用乒乓方式控制对所述存储器的读写操作,在不增加存储器大小的情况下,将存储器芯片分成两块实现乒乓操作,方便地实现了对复用存储器的读写控制。
[0053]
进一步地,通过设置m路并形的dft子模块,将输入的n点数据按照相应格式存入存储器中,相应地,从存储器中读取相应的l点数据缓存到对应的m路dft子模块中,使m路dft子模块可以并行进行相应运算,同时,对于每路dft子模块,对l点数据进行串行运算,而且,dft子模块具有相同的数据流形式,从而最大程度上实现了资源的复用,提升了dft运算速度,进而可以减少通信链路的处理时间,减少资源消耗。
[0054]
进一步地,将各点数对应的旋转因子写入旋转因子列表,并将该列表预置到存储单元比如rom中,从而可以通过查找方式方便地获取对应各点数的旋转因子。
[0055]
进一步地,考虑到对应不同点数的旋转因子之间存在一定的公倍数关系,因此,在旋转因子列表中只写入部分点数的旋转因子,其它点数的旋转因子通过查表并计算得到,从而可以减少rom资源的消耗。
[0056]
进一步地,由于dft运算之后的ifft运算也可以采用与多个并行dft子模块同样的结构,因此,还可以将dft模块和ifft模块集成在一起,实现逻辑资源的复用。
附图说明
[0057]
图1是现有的ofdm波形与dft-s-ofdm波形产生过程的比较示意图;
[0058]
图2是在上行链路中加入dft-s-ofdm的数据处理过程示意图;
[0059]
图3是本发明实施例提供的dft复用方法的一种流程图;
[0060]
图4是本发明实施例中540点数据在存储器中的存储结构示意图;
[0061]
图5是对图4中的540点数据做6点dft时提取数据示意图;
[0062]
图6是对图4中的540点数据做10点dft时提取数据示意图;
[0063]
图7是对图4中的540点数据做9点dft时提取数据示意图;
[0064]
图8是不同点数的相位时序关系示意图;
[0065]
图9是本发明实施例提供的dft复用装置的一种结构示意图;
[0066]
图10是本发明实施例提供的一种通信设备的硬件结构示意图。
具体实施方式
[0067]
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
[0068]
互质因子算法(prime-factor fft algorithm,pfa)是一种快速傅立叶变换(fast fourier transform,fft),其将n=n1n2大小的离散傅立叶变换重新表示为n1×
n2大小的二维离散傅立叶变换,其中n1与n2需互质。变成n1和n2大小的傅立叶变换后,可以继续递回使用pfa,或用其他快速傅立叶变换算法来计算。目前,pfa是最有效的非2次幂fft算法,它采用嵌套多维结构,能有效降低计算复杂度。
[0069]
传统的正交频分复用(orthogonal frequency division multiplexing,ofdm)波形在发送端是将频域数据直接映射到子载波上,经过一次n点的快速傅里叶逆变换(inverse fast fourier transform,ifft)变换到时域。由于用户侧对发送信号峰均比(peak-to-averageratio,par)要求较高,相比于传统ofdm波形,上行dft扩展ofdm波形(dft-spread ofdm,dft-s-ofdm)在发送端有额外一步dft操作,如图1所示,用户侧发送时域数据时先经过m点的dft,将所述时域数据变换到频域,经过子载波映射后再经过n点ifft,使得上行发送信号具有单载波特性,能够降低信号峰均比。
[0070]
在5g系统中需要完成dft变换,并且需要采用fft/ifft处理器来实现信号的ofdm变换及反变换。对于发射设备和接收设备来说,需要满足超低时延特性,并且资源消耗尽可能的少。
[0071]
在新无线(new radio,nr)/长期演进(long term evolution,lte)系统上行链路中加入dft-s-ofdm技术,可以等效为输入数据经过dft之后再进行ifft处理,得到的结果经过判决反馈均衡器(decision feedback equalizer,dfe),最终输出给下一级模块,数据处理过程如图2所示。图2中的dft点数小于ifft点数,不足的部分补0。而且这里dft并不是任意点数的,而是通信协议中有规律的2
α
,2
β
,2
γ
乘积组合而成,其中α,β,γ为非负整数。这就对运用快速算法实现dft提供了条件。
[0072]
为此,本发明dft复用方法及装置、通信设备、存储介质,采用多个并行的dft子模块对数据分解并行处理,即将原始dft数据分成长度相同的多个dft子数据,由对应的多个并行的dft子模块同时进行dft运算,这些并行的dft子模块具有相同的数据流形式,在最后一级或第一级做一次小点数dft,从而简化计算方法,提高计算速度,从而实现高速、低时延的dft。
[0073]
类似地,dft之后的ifft也采用同样结构的多个并行ifft子模块进行处理,从而可以将dft模块和ifft模块集成为一个模块,或者将一个dft子模块和对应的一个ifft子模块集成为一个子模块,实现逻辑资源的复用,减少资源消耗。
[0074]
nr中dft的点数共计67种,具体点数为6,12,18,24,30,36,48,54,60,72,90,96,
108,120,144,150,162,180,192,216,240,270,288,300,324,360,384,432,450,480,486,540,576,600,648,720,750,768,864,810,900,960,972,1080,1152,1200,1296,1350,1440,1458,1500,1536,1620,1728,1800,1920,1944,2160,2304,2400,2592,2700,2880,2916,3000,3072,3240。
[0075]
拆分点数时应尽量保持小点数dft(即每个dft子模块处理的点数)不能过大,否则消耗的资源会变大。
[0076]
以90点为例,假设都是串行运算。
[0077]
正常分解2
×3×3×
5四级,那么运算时间为,基2做2
×3×3×
5拍,基3做2
×3×3×
5,基5做2
×3×3×
5拍,总共90
×
4(级)=360拍。
[0078]
将每一级运算的点数做大,分解成9
×
10两级,那么运算时间为,基9做9
×
10拍,基10做9
×
10拍,总共90
×
2(级)=180拍。
[0079]
由此可见,基数越大级数越少,如此可提高dft子模块的运算速度,同时还可减少存储器的读写次数。
[0080]
将n点拆分成小点的组合代入公式,同时结合fft快速变换算法分组拆分减少运算量的原理可得
[0081][0082]
其中输入n1=0,1,...,n
1-1,n2=0,1,...,n
2-1,...,输出k1=0,1,...,k
1-1,k2=0,1,...,k
2-1,...。
[0083]
上行的通信协议明确说明了dft点数n是由2
α
,2
β
,2
γ
组合而成,再结合资源分配是以资源块或者半个资源块为单元,可见所要做的dft都含有因子6。为了提高上行dft的速度,考虑将原始dft分成6个相同长度的dft子模块。
[0084]
基于上述公式,可以得到以下公式:
[0085][0086]
先做6点dft,公式如下:
[0087][0088]
表1
[0089]
n20123...m-1data00123...m-1data1mm+1m+2m+3...2m-1
data22m2m+12m+22m+3...3m-1data33m3m+13m+23m+3...4m-1data44m4m+14m+24m+3...5m-1data55m5m+15m+25m+3...6m-1
[0090]
6个点乘不同的旋转因子那么每一路乘的旋转因子如下表2所示:
[0091]
表2
[0092][0093]
之后,变成6路dft子模块,运算如下:
[0094][0095]
可见,这6个dft子模块将会有相同的数据流形式,只是需要在最后一级或第一级做一次6点dft来保证符合被拆分成6路的公式。
[0096]
基于上述原理,本发明实施例提供的dft复用方法的一种流程图如图3所示,包括以下步骤:
[0097]
步骤301,输入n点数据,并将所述n点数据按照级数拆分,将拆分后的数据写入存储器中,以使数据处理模块读取所述n点数据进行dft运算,得到频域数据;
[0098]
步骤302,将所述频域数据回写到所述存储器中。
[0099]
所述存储器可以是ram(random access memory,随机存取存储器)或者其它具有类似存储功能的模块或单元。
[0100]
所述存储器可以采用双口ram或者乒乓ram。
[0101]
在一种非限制性实施例中,所述数据处理模块可以包括dft模块,所述dft模块包括m路dft子模块。
[0102]
相应地,在上述步骤301中,可以将拆分后的数据按照一定格式写入所述存储器中。比如,将拆分后的数据按照从左到右、从上往下的顺序,以m行l列的格式写入存储器中,其中,n=m
×
l。这样,便于dft子模块后续的处理。
[0103]
比如,对于48点数据,可以将其折分为6
×
8,因此,可以由6路dft子模块同时分别从存储器中读取对应行的8点数据缓存并进行6点dft运算,然后每个dft子模块对缓存的8点数据依次进行dft运算,得到6个向量化分解结果。
[0104]
再比如,对于90点数据,可以将其拆分为6
×
15,因此,可以由6路dft子模块同时分别从存储器中读取对应行的15点数据缓存并进行6点dft运算,然后每个dft子模块对缓存的15点数据依次进行dft运算,得到6个向量化分解结果。
[0105]
在本发明实施例中,所述m路dft子模块对所述存储器中的n点数据并行做m点dft运算,最终得到n点频域数据。具体地,由m路dft子模块同时分别从所述存储器中读取对应行的l点数据做m点dft运算,然后每个dft子模块对各自缓存的l点数据依次进行dft运算,得到m个向量化分解结果。需要说明的是,每轮的dft运算m路dft子模块同步进行。
[0106]
以540点数据为例,可以将其分解为:6
×
90,为了使每个dft子模块处理的点数尽可能小,还可以将90分解为10
×
9。
[0107]
因此可以先由6路dft子模块同时并行做6点dft,接着各dft子模块串行做90点dft,以上轮巡完毕得到6个向量化分解结果。由于dft子模块之间每次读取数据的位置都相同(即dft子模块之间,根据时钟拍数读取相同列),因而可以将每个dft子模块对应的数据存储位置在位宽上合并组成一个大的存储单元。
[0108]
仍以540点数据为例,可以将每个dft子模块对应的存储单元的位宽设置为90(单位为每个数据所占比特),即将存储器设置为6
×
90的存储结构,将540点数据以6
×
90的结构写入存储器中,如图4所示。当然,也可以采用6个小容量存储器,即图4中的每一行写入一个存储器,对此本发明实施例不做限定。
[0109]
前面提到,为了减少对资源的消耗,拆分点数时应尽量保持小点数dft,因此对于每路dft子模块各自缓存的l点数据,还可以将其拆分为l=l1
×
l2,相应地,在进行串行dft运算时,先进行l1点dtf运算,再进行l2点dft运算,在完成l点dft运算后,得到m个第一运算结果。
[0110]
继续以图4所示的540点数据为例,将其拆分为6
×
10
×
9,先由6个dft子模块读取各路对应的数据做6点dft,然后各dft子模块在对各路数据串行取数,先做10点dft,然后接着做9点dft。
[0111]
图5示出了做6点dft的取数示意图,图6示出了做10点dft的取数示意图,图7示出了做9点dft的取数示意图。
[0112]
参照图5,先由6路dft子模块从对应的各路存储单元中取出第一个点数据,同时做6点dft;
[0113]
6点dft之后,参照图6,各路dft子模块从对应该路缓存的90点数据中每隔9点取一个点数据,做10点dft;
[0114]
接着在每路缓存的90点数据中取出连续9个点数据,做9点dft。
[0115]
经过以上三步,540点dft即可处理完毕。
[0116]
需要说明的是,在有些情况下,还需要对每轮dft运算得到的m个向量化分解结果分别乘以旋转因子,经过多轮计算,最终得到n点频域数据。
[0117]
在具体应用中,可以设置旋转因子列表,并预先将所述旋转因子列表存入rom中,通过查表方式获取各点数的旋转因子。
[0118]
在一种非限制性实施例中,可以在m路dft子模块中分别设置rom(read-only memory,只读存储器),将所述旋转因子列表置入m路dft子模块中的rom中。
[0119]
考虑到一些点数的旋转因子存在公倍数这一特点,比如对于下面表3中所示的点数。
[0120]
表3
[0121]
16201728180019201944
2160230424002592270028802916300030723240
[0122]
其中,1620与3240可以共用一个旋转因子列表,1620以下点数都是上面表3的子集。这些数都能被2或者更多2的幂次整除,因此,对于每路的rom,也可以只存储1/2或者1/4点数的旋转因子。
[0123]
比如,其中2700和2916最多能被整除的2的幂次为4,所以2700和2916的rom中存储的旋转因子列表对应的点数最多只能减到1/4,其它点数可以被8整除。在减到1/4的情况下存储的数据量等价为5400/5832的1/8,此时可以将1800和1944涵盖到,因此总共存储量可变为:
[0124]
(1728+1800+1920+1944+2160+2304+2400+2592+5400+2880+5832+3000+3072+3240)/8=4566个。
[0125]
相应地,6路dft子模块对应的最后一级旋转因子的相位如下表4所示:
[0126]
表4
[0127][0128]
从表4中可以看出,每个点数的旋转因子都不相同。
[0129]
相应地,在一种非限制性实施例中,可以对应每路dft子模块设置一个rom,将对应该路的旋转因子列表预先写入该路rom中。
[0130]
在另一种非限制性实施例中,可以只设置对应第一路dft子模块的rom,将对应该路的旋转因子列表预先写入该路rom中。相应地,下一路各点数的相位值根据上一路和第一路相应点数的相位值来确定,即将两者相加(相位相加等于复数相乘),也就是说,通过查找及计算的方式确定各点数的旋转因子。
[0131]
不同点数的相位时序关系如图8所示。
[0132]
本发明实施例提供的dft复用方法,将输入的n点数据进按照级数拆分,将拆分后的数据写入存储器中,供数据处理模块读取所述n点数据进行dft运算,得到频域数据,而且将得到的频域数据回写到同一存储器中,实现输入数据和回写数据对同一存储器的复用,有效地节省存储资源,减少了资源消耗。
[0133]
进一步地,通过设置m路并形的dft子模块,将输入的n点数据按照相应格式存入存储器中,相应地,从存储器中读取相应的l点数据缓存到对应的m路dft子模块中,使m路dft子模块可以并行进行相应运算,同时,对于每路dft子模块,对l点数据进行串行运算,而且,dft子模块具有相同的数据流形式,从而最大程度上实现了资源的复用,提升了dft运算速度,进而可以减少通信链路的处理时间,减少资源消耗。
[0134]
另外,通过查表方式获取各点数对应的旋转因子,方便了dft处理,而且加快了处
理速度。而且,通过在旋转因子列表中只写入部分点数的旋转因子,其它点数的旋转因子通过查表并计算得到,可以进一步减少资源消耗。
[0135]
相应地,本发明实施例还提供一种dft复用装置,如图9所示,是该装置的一种结构示意图。
[0136]
该装置包括:输入模块901、存储器902、以及数据处理模块903。其中:
[0137]
所述输入模块901用于输入n点数据,并将所述n点数据按照级数拆分,将拆分后的数据写入存储器902中;
[0138]
所述数据处理模块903用于从所述存储器902中读取所述n点数据进行dft运算,得到频域数据,将所述频域数据回写到所述存储器902中。
[0139]
在具体应用中,所述存储器902可以采用ram或具有类似功能的存储模块来实现,对此本发明实施例不做限定。
[0140]
继续参照图9,所述数据处理模块903的一种非限定性结构可以包括dft模块931,所述dft模块931包括m路dft子模块。
[0141]
相应地,为了方便m路dft子模块对数据的读取,所述输入模块901可以将拆分后的数据按照从左到右、从上往下的顺序,以m行l列的格式写入存储器902中,其中,n=m
×
l。
[0142]
相应地,所述m路dft子模块可以对存储器902中的n点数据并行做m点dft运算,最终得到n点频域数据,对数据的dft运算的具体过程可参照前面本发明方法实施例中的描述,在此不再赘述。
[0143]
进一步地,为了实现对存储器902的读写操作,所述dft复用装置还可进一步包括:存储器控制模块(未图示),用于采用乒乓方式控制对所述存储器的读写操作。
[0144]
继续参照图9,所述数据处理模块903还可进一步包括:计算模块932。
[0145]
所述m路dft子模块同时分别从所述存储器中读取对应行的l点数据做m点dft运算,然后每个dft子模块对各自缓存的l点数据依次进行dft运算。相应地,所述计算模块932用于将每轮dft运算得到的m个向量化分解结果分别乘以旋转因子,经过多轮计算,最终得到n点频域数据。
[0146]
进一步地,在一种非限制性实施例中,该dft复用装置还可包括:对应m路dft子模块的m路存储单元,或者对应第一路dft子模块的存储单元,所述存储单元中存储有旋转因子列表。
[0147]
相应地,所述计算模块932可以通过查找所述旋转因子列表,获得对应点数的旋转因子。
[0148]
上述各模块及子模块的具体实现方式可参照前面本发明方法实施例中的描述,在此不再赘述。
[0149]
在一种非限制性实施例中,所述装置还包括:对应m路dft子模块的m路rom。
[0150]
在另一种非限制性实施例中,所述装置还包括:对应第一路dft子模块的rom。
[0151]
相应地,在所述rom中存储有旋转因子列表,当然,两种不同方式设置的rom中存储的旋转因子列表的内容不同,具体可参见前面本发明方法实施例中的描述。
[0152]
相应地,所述数据处理模块904可以通过查找所述旋转因子列表获得对应点数的旋转因子,或者通过查表加计算的方式获得对应点数的旋转因子。
[0153]
在实际应用中,所述存储器可以采用双口ram或者乒乓ram。
volatile)或者非瞬态(non-transitory)存储器等。
[0167]
请参照图10,本发明实施例还提供了一种通信设备的硬件结构示意图。该通信设备包括处理器1001、存储器1002和收发器1003。
[0168]
处理器1001可以是一个通用中央处理器(central processing unit,cpu)、微处理器、特定应用集成电路(application-specific integrated circuit,asic),或者一个或多个用于控制本发明方案程序执行的集成电路。处理器1001也可以包括多个cpu,并且处理器1001可以是一个单核(single-cpu)处理器,也可以是多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路或用于处理数据(例如计算机程序指令)的处理核。
[0169]
存储器1002可以是rom或可存储静态信息和指令的其他类型的静态存储设备、ram或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compactdisc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,本发明实施例对此不作任何限制。存储器1002可以是独立存在(此时,存储器1002可以位于该装置外,也可以位于该装置内),也可以和处理器1001集成在一起。其中,存储器1002中可以包含计算机程序代码。处理器1001用于执行存储器1002中存储的计算机程序代码,从而实现本发明实施例提供的方法。
[0170]
处理器1001、存储器1002和收发器1003通过总线相连接。收发器1003用于与其他设备或通信网络通信。可选的,收发器1003可以包括发射机和接收机。收发器1003中用于实现接收功能的器件可以视为接收机,接收机用于执行本发明实施例中的接收的步骤。收发器1003中用于实现发送功能的器件可以视为发射机,发射机用于执行本发明实施例中的发送的步骤。
[0171]
当图10所示的结构示意图用于示意上述实施例中所涉及的终端设备的结构时,处理器1001用于对终端设备的动作进行控制管理,例如,处理器1001用于支持终端设备执行图3中的步骤,和/或本发明实施例中所描述的其他过程中的终端设备执行的动作。处理器1001可以通过收发器1003与其他网络实体通信,例如,与上述网络设备通信。存储器1002用于存储终端设备的程序代码和数据。
[0172]
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,表示前后关联对象是一种“或”的关系。
[0173]
本发明实施例中出现的“多个”是指两个或两个以上。
[0174]
本发明实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本发明实施例中对设备个数的特别限定,不能构成对本发明实施例的任何限制。
[0175]
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0176]
本发明所提供的各实施例,可以全部或部分地通过软件、硬件、固件或其他任意组
合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0177]
在本发明所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0178]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0179]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理布置,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0180]
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。
[0181]
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

技术特征:
1.一种dft复用方法,其特征在于,所述方法包括:输入n点数据,并将所述n点数据按照级数拆分,将拆分后的数据写入存储器中,以使数据处理模块读取所述n点数据进行dft运算,得到频域数据;将所述频域数据回写到所述存储器中。2.根据权利要求1所述的方法,其特征在于,所述数据处理模块包括dft模块,所述dft模块包括m路dft子模块;所述将拆分后的数据写入存储器中包括:将拆分后的数据按照从左到右、从上往下的顺序,以m行l列的格式写入存储器中,其中,n=m
×
l;所述数据处理模块读取所述n点数据进行dft运算,得到频域数据包括:所述m路dft子模块对所述存储器中的n点数据并行做m点dft运算,最终得到n点频域数据。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:采用乒乓方式控制对所述存储器的读写操作。4.根据权利要求1所述的方法,其特征在于,所述存储器为双口ram或者乒乓ram。5.根据权利要求2所述的方法,其特征在于,所述m路dft子模块对所述存储器中的n点数据并行做m点dft运算,最终得到n点频域数据包括:所述m路dft子模块同时分别从所述存储器中读取对应行的l点数据做m点dft运算,然后每个dft子模块对各自缓存的l点数据依次进行dft运算;对每轮dft运算得到的m个向量化分解结果分别乘以旋转因子,经过多轮计算,最终得到n点频域数据。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:设置旋转因子列表,并预先将所述旋转因子列表存入rom中;通过查表方式获取各点数的旋转因子。7.根据权利要求6所述的方法,其特征在于,所述将所述旋转因子列表存入rom中包括:设置对应m路dft子模块的m路rom;将所述旋转因子列表分别置入m路rom中。8.根据权利要求6所述的方法,其特征在于,所述将所述旋转因子列表存入rom中包括:设置对应第一路dft子模块的rom;将所述旋转因子列表置入所述rom中。9.根据权利要求2至8任一项所述的方法,其特征在于,所述方法还包括:从所述存储器中读取所述n点频域数据;对所述n点频域数据进行子载波映射;将映射后的n点频域数据利用ifft模块进行ifft变换,得到发送数据。10.根据权利要求9所述的方法,其特征在于,所述ifft模块和所述dft模块为复用结构模式。11.一种dft复用装置,其特征在于,所述装置包括:输入模块、存储器、以及数据处理模块;所述输入模块,用于输入n点数据,并将所述n点数据按照级数拆分,将拆分后的数据写
入存储器中;所述数据处理模块,用于读取所述n点数据进行dft运算,得到频域数据,将所述频域数据回写到所述存储器中。12.根据权利要求11所述的装置,其特征在于,所述数据处理模块包括dft模块,所述dft模块包括m路dft子模块;所述输入模块,具体用于将拆分后的数据按照从左到右、从上往下的顺序,以m行l列的格式写入存储器中,其中,n=m
×
l;所述m路dft子模块,用于对所述存储器中的n点数据并行做m点dft运算,最终得到n点频域数据。13.根据权利要求11所述的装置,其特征在于,所述装置还包括:存储器控制模块,用于采用乒乓方式控制对所述存储器的读写操作。14.根据权利要求12所述的装置,其特征在于,所述数据处理模块还包括:计算模块;所述m路dft子模块同时分别从所述存储器中读取对应行的l点数据做m点dft运算,然后每个dft子模块对各自缓存的l点数据依次进行dft运算;所述计算模块,用于将每轮dft运算得到的m个向量化分解结果分别乘以旋转因子,经过多轮计算,最终得到n点频域数据。15.根据权利要求14所述的装置,其特征在于,所述装置还包括:对应m路dft子模块的m路存储单元,或者对应第一路dft子模块的存储单元,所述存储单元中存储有旋转因子列表;所述计算模块,还用于查找所述旋转因子列表,获得对应点数的旋转因子。16.一种通信设备,其特征在于,所述通信设备包括如权利要求11至15任一项所述的dft复用装置。17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至10任一项所述dft复用方法的步骤。18.一种通信设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行权利要求1至10任一项所述dft复用方法的步骤。

技术总结
本发明公开了一种DFT复用方法及装置、通信设备、存储介质,该方法包括:输入N点数据,并将所述N点数据按照级数拆分,将拆分后的数据写入存储器中,以使数据处理模块读取所述N点数据进行DFT运算,得到频域数据;将所述频域数据回写到所述存储器中。利用本发明方案,可以实现高速、低时延的DFT,减少资源消耗。减少资源消耗。减少资源消耗。


技术研发人员:张杰 吴明
受保护的技术使用者:展讯通信(上海)有限公司
技术研发日:2023.06.28
技术公布日:2023/9/25
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐