基于多模可重构FFT的窄带通信信号处理方法

文档序号:29307725发布日期:2022-03-19 18:59阅读:251来源:国知局
基于多模可重构FFT的窄带通信信号处理方法
基于多模可重构fft的窄带通信信号处理方法
技术领域
1.本发明属于通信数字信号处理领域,特别涉及一种基于多模可重构fft的窄带通信信号处理方法。


背景技术:

2.快速傅里叶变换(fast fourier transform,fft)作为核心技术之一,已被广泛应用于雷达、无线通信等数字信号处理领域。随着物联网技术在数据收集与万物互联等方面的广泛应用,物联网芯片也面临场景多元化、需求多样化等挑战,这也要求物联网芯片内部的数字信号处理单元具备更高的灵活性。以本发明所涉及到的nb-iot和gps两种窄带通信系统为例:
3.nb-iot系统:
4.(1)在ofdm数据通路场景下,需要进行32~128点fft计算以满足时频转换需求;
5.(2)在小区搜索场景下,需要进行npss同步和nsss同步两个计算过程。npss同步过程中需要在一个ofdm符号内对本地npss序列以及接收npss信号进行互相关计算,nsss同步则需要对本地理想nsss序列与接收信号中的nsss序列在频域进行相关性检测并取其最大值。在上述两个信号同步过程中,均需要使用128~2048点fft计算其频域相关性。
6.gps系统:在gps系统下,目前比较常用的卫星信号捕获方法为并行码相位空间搜索捕获算法,该方法对码相位的搜索做了并行化,利用频域的乘法和时域卷积的关系,可以通过fft来完成循环自相关的功能,从而达到并行码相位的搜索的目的。该场景需要进行512~2048点fft计算卫星信号与本地序列的互相关函数。
7.目前,fft在工程中的主要实现方式为专用asic芯片。相比dsp和fpga实现,asic有成本及功耗更低、性能更强等优点,但其不可编程特性导致固定点数的fft芯片并不具备可重构特性,只能适用于专用场景。
8.基于上述分析,目前在fft相关研究方面,主要存在以下不足:缺少兼容多模窄带系统的fft硬件加速器,如果多模系统采用多种专用fft芯片,会导致成本和功耗的增加;在物联网领域缺少支持可重构特性的fft硬件加速器,从而导致系统在面对不同场景需求时灵活性较低。


技术实现要素:

9.本发明的目的在于克服现有技术的不足,提供一种可以根据协议需求动态调整fft点数和系统频率,以满足不同场景下的模块吞吐率需要,在少量增加面积开销的前提下极大提升了计算速度,从而提高了模块吞吐率的基于多模可重构fft的窄带通信信号处理方法。所述fft实现方法支持fft和ifft两种计算模式,同时每种模式下都支持32~2048多点数的计算。
10.本发明的目的是通过以下技术方案来实现的:一种基于多模可重构fft的窄带通信信号处理方法,包括以下步骤:
11.s1、用户进行模式配置,选择fft或ifft工作模式;
12.s2、对n个窄带通信系统的输入数据进行重排序,并写入存储器;
13.s3、进行多级迭代的fft蝶形运算;
14.s4、将完成全部fft计算的数据按照自然顺序进行输出。
15.进一步地,所述步骤s2具体过程如下:
16.s21、将n个窄带通信系统的输入数据按照自然顺序规则进行编码,编码规则具体为:
17.k[i]=i-1,i=1,2,...,n
[0018]
其中,k[i]即为输入数据按自然顺序编码得到的序列;
[0019]
s22、将用十进制表示的序列k[i]转化为四进制表示,并对其进行位翻转,得到新的序列k


[0020]
s23、将输入数据按k

序列的顺序写入存储器。
[0021]
进一步地,所述步骤s3具体过程如下:
[0022]
s31、从存储器中读出储存的中间数据,并将其送入蝶形运算模块;如果步骤s1中模式配置为ifft模式,则在第一级蝶形运算前,对数据进行共轭计算后再将其送入蝶形运算模块;
[0023]
s32、从旋转因子查找表中读出中间数据对应的旋转因子,并将其送入蝶形运算模块,与中间数据一起完成蝶形运算;
[0024]
s33、根据两级fft计算之间的数据转移方向,对完成蝶形运算的数据进行地址编码,并按该编码生成地址并写入存储器。
[0025]
进一步地,步骤s4具体过程为:从存储器中读出完成全部fft计算的数据,如果步骤s1中模式配置为fft模式,则将数据输出;如果为ifft模式,则将数据进行共轭计算后再缩小n倍,并将数据输出。
[0026]
本发明的有益效果是:本发明的基于多模可重构fft的窄带通信信号处理方法,通过使用基于存储和多路并行的架构,从而具有可重构特性,可以兼容nb-iot系统和gps系统等多模窄带系统,同时可以根据协议需求动态调整fft点数和系统频率,以满足不同场景下的模块吞吐率需要;此外,本发明还提出了一种基于混合基的蝶形单元,在少量增加面积开销的前提下极大提升了计算速度,从而提高了模块吞吐率。
附图说明
[0027]
图1为本发明基于多模可重构fft的窄带通信信号处理方法;
[0028]
图2为本实施例基于多模可重构fft的窄带通信信号处理系统的结构图;
[0029]
图3为本实施例的基于混合基的蝶形模块的结构示意图。
具体实施方式
[0030]
下面结合附图进一步说明本发明的技术方案。
[0031]
如图1所示,一种基于多模可重构fft的窄带通信信号处理方法,包括以下步骤:
[0032]
s1、用户进行模式配置,选择fft或ifft工作模式;
[0033]
s2、对n个窄带通信系统的输入数据进行重排序,并写入存储器;具体过程如下:
[0034]
s21、将n个窄带通信系统的输入数据按照自然顺序规则进行编码,编码规则具体为:
[0035]
k[i]=i-1,i=1,2,...,n
[0036]
其中,k[i]即为输入数据按自然顺序编码得到的序列;
[0037]
s22、将用十进制表示的序列k[i]转化为四进制表示,并对其进行位翻转,得到新的序列k


[0038]
s23、将输入数据按k

序列的顺序写入存储器。
[0039]
s3、进行多级迭代的fft蝶形运算;具体过程如下:
[0040]
s31、从存储器中读出储存的中间数据,并将其送入蝶形运算模块;如果步骤s1中模式配置为ifft模式,则在第一级蝶形运算前,对数据进行共轭计算后再将其送入蝶形运算模块;
[0041]
s32、从旋转因子查找表中读出中间数据对应的旋转因子,并将其送入蝶形运算模块,与中间数据一起完成蝶形运算;
[0042]
一级完整的fft计算是指将中间数据和旋转因子从存储器中读出并送入蝶形运算模块,完成蝶形运算后再将该数据写入存储器,完成一级迭代;
[0043]
基-2fft计算公式如下:
[0044][0045]
上述公式中,x[n]与x[k]分别为输入和输出序列,为x[n]对应的旋转因子,n
odd
与n
even
分别表示奇、偶两种点数,即将dft拆分成奇序列与偶序列之和。
[0046]
易知对于n点fft,一共需要进行log2n级基-2fft计算。同理,基-4fft即将dft拆分为x[4r]、x[4r+1]、x[4r+2]、x[4r+3]四路序列之和,且n点fft一共需要进行log4n级基-4fft计算。基4-fft相比基2-fft计算速度更快,但是适用点数却更少,例如2048点fft就不能使用基-4fft计算。
[0047]
本发明支持fft和ifft两种计算模式,且每种模式下都支持32~2048多点数的计算。为了提高计算速度,在不同点数下都实现较高的模块吞吐率,本发明使用了一种混合基fft计算方法:对于n点fft,如果n是4的整数次幂,则全部进行基-4fft完成计算;如果n不是4的整数次幂,则进行floor(log4n)级基-4fft和1级基-2fft完成计算(floor表示向下取整)。其中,混合基fft计算方式如表1所示。
[0048]
表1
[0049]
fft点数基-2fft级数基-4fft级数总fft级数3212364033128134256044
51214510240552048156
[0050]
s33、根据两级fft计算之间的数据转移方向,对完成蝶形运算的数据进行地址编码,并按该编码生成地址并写入存储器。
[0051]
s4、将完成全部fft计算的数据按照自然顺序进行输出;具体过程为:从存储器中读出完成全部fft计算的数据,如果步骤s1中模式配置为fft模式,则将数据输出;如果为ifft模式,则将数据进行共轭计算后再缩小n倍,并将数据输出。
[0052]
通常来说,fft有两种实现方式:一是使用基于流水线的脉动架构,该方法的优点是两级fft计算之间的数据转移方向清晰,实现相对简单,并实现较高的模块吞吐率,缺点是点数固定,不具备可重构特性;二是使用基于存储器的寻址架构,该方法的优点是可灵活设置存储器和蝶形运算模块的并行度以满足不同的吞吐率,同时可以将中间数据缓存在存储器中,并调整数据转移方向,从而实现fft点数可重构的可能性。
[0053]
本发明采用基于存储器和多路并行的架构实现,如图2所示,具体包括以下主要模块:
[0054]
(1)重排序模块。该模块用于对输入数据做重排序,具体方式为先将输入数据的自然顺序编码转化为四进制编码,并基于该四进制编码做位翻转编码,再将输入数据按编码后的顺序写入存储器中,以供后续fft计算使用;
[0055]
(2)蝶形运算模块。为了满足吞吐率需求,共使用了4个并行的基于混合基的蝶形单元,因此本发明每个时钟可以处理16点数据。同时,蝶形运算模块会根据上述混合基fft计算方法,自适应配置计算模式,以满足不同点数下的fft计算方式。
[0056]
为了满足本发明的混合基fft计算方法,设计了一种基于混合基的蝶形模块,其架构设计如图3所示。输入数据首先与从查找表中读出的蝶形因子相乘(x0的蝶形因子为1),并根据fft计算公式完成取共轭、取反、相加等计算,最终通过多路选择器将计算结果输出。该单元可根据fft计算步骤自适应配置计算模式,其中:基-2模式下,x0、x1、y0、y1和x2、x3、y2、y3为两组独立的输入和输出;基-4模式下,x0、x1、x2、x3为4点输入,y0、y1、y2、y3为4点输出。
[0057]
基于混合基的蝶形单元相比传统基-4蝶形单元,仅增加了4个mux的开销就实现了对更多点数的支持,而相比传统基-2蝶形单元则大大提升了计算速度,因此该单元非常适合应用于本发明的可重构fft的实现中。
[0058]
(3)存储器模块。该模块包括32块深度为n/16的单口sram(n为fft点数)、读/写片选信号、读/写地址生成器等。其中,为了满足每个时钟能处理并存储16点数据的需求,共使用32块sram,并将其分为两组进行乒乓访问,通过读/写片选信号实现每个时刻读取一组存储器,并写入一组存储器。读/写地址生成器主要根据两级fft计算之间的数据方向转移关系生成读/写地址,从一组存储器中读取前级蝶形运算结果送入蝶形运算模块,得到新一级的蝶形运算结果后再根据写地址将数据写入另一组存储器;
[0059]
(4)旋转因子查找表。该模块中存储了fft计算所需要的全部旋转因子,计算过程中从旋转因子查找表中读出16个对应的旋转因子并送入蝶形运算模块,与16点数据一起完成蝶形运算。
[0060]
本发明的基于多模可重构fft的窄带通信信号处理方法通过使用混合基fft计算方法与基于存储器和多路并行的架构,实现了兼容nb-iot和gps两种窄带系统,并满足其下属的多个场景的不同点数的fft计算需求。在152mhz系统时钟下,模块吞吐率如表2所示。
[0061]
表2
[0062][0063][0064]
根据协议要求,在nb-iot模式下,数据通路场景需要在32~128点fft计算下达到1.792msps的模块吞吐率,小区搜索场景下需要在128~1024点fft计算下达到92.16msps的模块吞吐率;在gps模式下,则需要在512~2048点fft计算下达到336.082msps的模块吞吐率。由表2可知,本发明设计的点数均完全满足了对应场景下协议规定的模块吞吐率需求。
[0065]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1