一种用于FPGA的UFMC发射机的频域实现方法与流程

文档序号:11930288阅读:519来源:国知局
一种用于FPGA的UFMC发射机的频域实现方法与流程

本发明属于无线通信领域,具体涉及一种用于FOGA的UFMC发射机的频域实现方法。



背景技术:

OFDM技术在现有的各种无线通信标准中得到了广泛应用,也是目前第四代移动蜂窝通信系统LTE物理层的关键技术之一。作为目前最流行的一种多载波调制技术,OFDM通过把整个信道划分成多个子载波的形式,并行的传输信息。相对于传统的单载波调制方式,OFDM系统具有更高的频谱利用率,能更好的应对多径衰落、频率选择性衰落及窄带干扰等等。

面向2020及未来的第五代移动通信将渗透到物联网及各行各业,满足工业、医疗、交通等行业的多样化业务需求,实现“万物互联”。作为第五代移动通信的两大发展驱动,移动互联网和物联网的发展对波形技术也提出了新的要求。由于物联网业务具有小数据包、低功耗、连接海量、突发性强等特点,虽然总体数量较大,但设备对信道带宽需求量低,适合零散、碎片化的频谱。然而OFDM系统频谱旁瓣大,对时频偏移敏感,而其良好的特性都是建立在子载波正交的基础上,小的时频偏移也容易导致正交性的破坏,导致系统性能下降。为保证载波间的正交性,OFDM系统采用严格的同步机制来保证正交性,由于短帧的数量大,导致同步的开销大,传输效率下降,因此在第五代移动通信中的突发传输不适宜直接采用OFDM技术。

为此满足下一代移动通信的要求,新型的多载波调制技术方案得到了广泛的关注。基于滤波的多载波调制的滤波器组多载波(FBMC)和通用滤波多载波(UFMC)均是当前研究的热点。FBMC分别采用合成滤波器和分析滤波器实现载波调制和解调。由于是对子载波进行滤波,滤波频带窄,发射滤波器的冲击响应长度较长,导致开销大,另外,FBMC系统各个子带严重交叠带来很大的载波间干扰(ICI),为解决这个问题当前采用的主要方法为偏移正交幅度调制(OQAM),而OQAM与MIMO技术结合后的信道估计也比较困难。UFMC采用了基于子带滤波的方式,由于滤波频带变宽,滤波器的阶数也相应的下降,降低了对器件的要求。基于子带滤波的UFMC系统对零散频谱利用明显优于OFDM系统。在以往的研究也已经证明时频偏移对UFMC影响比OFDM系统更小,这对节省同步开销和终端节能是有利的。

UFMC中使用IDFT实现多载波调制,为了获得更好的旁瓣衰减效果,降低对相邻用户/子带的干扰,通常会使用比较窄的子带划分和阶数比较高的滤波器。在IDFT点数比较多的情况下,需要对每个子带进行大量的补零操作,在FPGA实现时具体表现为引入处理时延。

目前,现有技术中存在以下相关方案:

用于FPGA的高速高阶FIR滤波器的频域实现方法(CN 104967428 A)提出的一种用于FPGA的FIR滤波器频域方案,使用频域处理卷积运算,相对于快速卷积可以减少FPGA补零运算数量。然而,该发明并没有考虑分段IFFT/FFT点数与运算总体复杂度及补零数量的关系,也没有很好的使用各个分段使用同一滤波器这一特性。

基于滤波器组的分块传输系统频域调制系统及方法(CN 101355538 A)是在已有的基于离散傅里叶变化的广义多载波(DFT-S-GMC)的频域调制方法,与时域方法相比该方法复杂度更低。然而此方法与UFMC不同,子带滤波之前已经存在相邻子带的干扰。

在常规FPGA实现中,通常对IDFT变换使用IFFT IP核来完成,然而在UFMC中使用IFFT IP核实现IDFT存在IP核利用率低、补零多造成延时大;对于滤波操作虽然有相关的频域分段方法,但是没有考虑分段IFFT/FFT点数与运算总体复杂度及补零数量的关系,另外由于同一子带使用相同的滤波器,常规方法采用多片RAM存储相同序列浪费存储资源;在多个子带相加过程中,由于各个子带数据同时产生,采用累加器的方法需要对数据进行存储后在相加,不能满足处理的实时性。



技术实现要素:

有鉴于此,本发明的目的在于提供一种可以在FPGA上实现的UFMC发射机系统方案,能够实现IDFT变换阶段补零数量少;充分考虑滤波处理考虑分段的IFFT/FFT点数与运算总体复杂度及补零数量的关系,使得IFFT/FFT IP可以被充分利用,也减少补零数量,降低处理时延;子带相加采能够实现多子带输入的同时相加。

为达到上述目的,本发明提供如下技术方案:

一种用于FPGA的UFMC发射机的频域实现方法,所述方法包括以下步骤:

1)对串行比特流进行符号映射,将映射的符号分块,分别送到B个不同子带的处理单元;

2)每个子带处理单元采用分块处理的方式实现NIDFT点IDFT变换;

3)对IDFT变换后的数据补零后进行频域分段滤波,对输出的各个分段结果相加后输出;

4)通过并行的分级加法器将所有子带的处理结果叠加。

进一步的,步骤1)所述符号映射的方法为QAM或QPSK。

进一步的,步骤2)所述实现NIDFT点IDFT变换具体方法为:

NIDFT点的IDFT变换为设定每个子带包含n个子载波,那么将其对应的矩阵中的n列,按行存储,依次读入到分块处理单元上,分块处理单元根据输入QAM/QPSK的值对对应的值进行处理,从而获得每个F(n)W-nk的值,累加n次后得到f(k)值。

进一步的,步骤3)所述采用的频域分段滤波的具体步骤为:

在重叠相加法下设定分段IFFT/FFT点数为N,分段的数据长度为Lseg,需要的分段数为m;根据总体计算复杂度和补零数量选择合适的分段卷积实现所需要的IFFT/FFT点数N;接着根据每个分段中数据长度Lseg与滤波器长度M的关系,确定可以实现连续数据处理的分段数m;随后将经过IDFT变换后的数据进行分段,前m-1段长度为Lseg,最后一个分段长度为NIDFT-(m-1)Lseg,分别对其补零到N点,每个分段进行N点FFT,随后与滤波器的频域响应对应相乘后再进行N点IFFT;由于每两个相邻分段间隔为Lseg,因此,直接将各个分段值直接叠加即可获得滤波处理的结果。

进一步的,重叠相加法的计算复杂度采用实数计算总数来表示,并按照一次复数加法需要两次实数加法,一次复数乘法需要四次实数乘法和两次实数加法进行计算。

进一步的,所述补零数量的计算方法为:

式中表示滤波器所需的补零总数,h(n)表示滤波器相应;表示IDFT变换后数据所需要的补零总数,x(n)表示数据序列。

进一步的,步骤4)所述通过并行的分级加法器将所有子带的处理结果叠加具体方法为:对所有B个子带进行分组,将B分解为2的次幂的和,Max(i)表示所有i的最大值,因此分级加法最大级数为i,使用带有截位操作的两输入定点加法器,对各个子带值两两相加,结果送入下一级,次一级仍然两两相加,结果送入下下级,对于不足i级的部分通过添加寄存器缓存,实现全部子带同时相加且时延较低。

本发明的有益效果在于:通过使用分块处理的方式实现了一种适用于FPGA实现的UFMC中的IDFT调制,避免了采用IFFT IP核需要较多的补零数量,降低了调制部分的处理时延;通过分段卷积的方式,依据计算复杂度和补零数量,选择了频域滤波所需要的合适的FFT/IFFT点数,依据滤波器长度与数据分段长度关系确定实现连续处理所需要的滤波分段数目,相对于一般的频域处理方式计算总量更少;对于全子带相加,提出了使用带有截位操作的两输入定点加法器和寄存器构成的分级加法的方式,可以以较快的速度实现多个输入数据同时相加。总的来说,处理的延时比直接实现的方式可以更快的实现连续数据处理。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明UFMC发射机系统原理框图;

图2为本发明UFMC发射机中调制模块中使用的处理单元的原理框图;

图3为本发明UFMC发射机中调制和滤波模块的原理框图;

图4为本发明UFMC发射机中分段及补零模块原理示意图;

图5为本发明UFMC发射机中多输入并行分级加法模块原理框图;

图6为本发明UFMC发射机滤波模块中使用的XILINX FFT IP及多口RAM模块的原理框图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

本发明提供了一种用于FPGA的UFMC发射机的频域实现方法,图1为本发明的UFMC发射机系统原理框图,如图所示,发射机包括几大模块,其中,主要的模块是补零及分段模块、调制及滤波模块、多输入并行分级加法模块。

图2调制处理单元的内部原理框图。它包括三个小模块,首先处理逻辑模块根据输入的QAM符号对输入的IDFT矩阵对应的值进行相应的变换,由于IDFT变换为如果每个子带包含个l子载波,假设一个子带上子载波的起点为i,那么第k个值为由于N个F(n)值里面有N-l个零,实际上计算每个f(k)仅仅需要对l非零子载波的值进行运算即可,那么将其对应的矩阵中的l列,按行存储起来,随着QAM/QPSK符号的输入依次读入到分块处理单元上,分块处理单元根据输入QAM/QPSK的值对对应的值进行倍数及正负的变化,而QAM/QPSK幅度值相对固定,QAM符号的实部为QAMRe,虚部为QAMIm,对应的IDFT矩阵值实部为虚部为两者乘积的实部为虚部为当QAM实部和虚部值确定的情况下使用乘法器消耗资源更多一些,一般只需要对IDFT矩阵对应值的实部/虚部进行移位相加就能获得一次运算的值,然后通过累加器对l次计算值进行累加,就可以获得一个f(k)值,由于从QAM符号输入到结果输出经历了l个时钟,那么,只需要有l个相同的模块同时运算,就可以实现连续数据计算。QAM符号在相邻模块间依次传递,相差一个时钟,l个时钟后数据就能连续输出,通过多路选择器当前输出数据的分块处理单元。通过这种运算方法可以避免直接使用IFFT IP核的时候补零数量多,引入大的处理时延的问题。

图3是调制及滤波模块的原理框图,IDFT调制通过多个相同的处理单元实现。滤波操作通过分段卷积实现。每个调制处理单元负责计算第k个IDFT变换结果值f(k),运算结果交替输出,从而实现处理的连续性。滤波器采用分段卷积实现。IDFT变换后的数据f(k)与滤波器响应h(n)进行时域线性卷积,而实际应用中,数据f(k)的长度L常常远大于滤波器响应h(n)的长度M,从计算复杂度来讲常规的时域及频域方法计算复杂度均比较高,比较合适的方法为分段卷积。然而在实现分段卷积的时候选用的IFFT/FFT点数并非越大越好,也不是越小越好的,需要从计算复杂度及补零长度考虑,实际使用的并行处理分段的数量也需要结合具体情况而定,即根据分段中数据的长度和滤波器响应h(n)的长度M的关系来确定。在重叠相加下,假定选取的分段IFFT/FFT点数为N,分段的数据长度为Lseg,需要的分段数为m。

重叠相加法的计算复杂度使用实数计算总数来表示,以基-2FFT为例,N点FFT需要的复数乘法次数复数加法次数此时总实数运算量为:Cseg=m[3(6mF+2aF)+6N]+2(m-1)(N-Lseg),N=2n≥Lseg+M-1,补零的数量也是一个重要的考虑因素,补零总数为:通过上述两个公式选取合适的IFFT/FFT点数使得总体运算量最低,补零数量尽可能少。随后按长度为Lseg对IDFT变换后的数据进行分段并补零到N点,随后进行N点FFT,滤波器时域响应补零到N点后也进行N点FFT,两者结果对应相乘后的N个值进行N点IFFT,就获得了滤波后的一个分段的值,由于相邻分段相隔Lseg个数值,对m个分段的值叠加后就能获得每个子带数据滤波后的结果,在此过程中,由于使用的IFFT/FFT点数相对较小,可以采用流水类型XILINX FFT/IFFT IP核来实现,保证数据处理的连续性。

图4是图3中滤波模块前面分段控制及补零模块的时序示意图,当每个分段中数据长度大于补零长度,即每个分段中的数据长度长过滤波器时域响应的长度时,每个子带只需要两个频域滤波处理模块交替运算即可实现连续的数据处理。否则需要相应的增加处理模块的数量,具体需要使用多少个分段处理模块还需要结合实际情况下的具体数据来分析。

图5是图1中多输入并行分级加法模块的实现框图。具体为,将B个子带的输入结果进行分组,使得B分解为2的次幂的和,即Max(i)表示所有i的最大值,因此分级加法最大级数为i,即实现上最多经过i个时钟周期就可以获得连续输出的B个子带相加的结果。对于小于i的分组,需要使用寄存器对分组数据进行缓存,即通过寄存器将该分组补齐到i级,从而保证所有分组经历相同的延时。

图6是图3中滤波器模块使用的XILINX FFT/IFFT IP核及根据UFMC同一子带共用滤波器的特点,设计的多输出RAM,其工作原理为:用户使用XILINX FFT IP核将滤波器时域响应变换到频域,通过RAM的DINA口存储到RAM中,由于分段滤波过程中,FIR1,FIR2……FIRm,相差固定间隔,即Lseg,因此本发明设计的多输出RAM模块输出DOUTB口输出的也是同一序列,但间隔为Lseg。通过上述方法可以节省一部分处理资源。

本发明提供了一种FPGA上的UFMC的频域实现方法,解决了UFMC中直接使用点数较大的IDFT IP核时需要补零的数量较多,从而导致处理时延大的问题,另外,在滤波处理是采用分段卷积方法,且对分段点数进行了合理的选择,从而降低了滤波处理的复杂度,子带求和使用了一种并行多输入分级加法模块,该模块主要由带截位的两输入加法器模块和寄存器组成,能够较快的获得同时产生的多个子带数值之和。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1