新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 5G NR小区搜索算法的研究及FPGA实现

5G NR小区搜索算法的研究及FPGA实现

作者:袁行猛,徐兰天,卢高健,李运(中电科思仪科技(安徽)有限公司;电子仪器技术蚌埠技术创新中心,安徽 蚌埠 233010)时间:2021-06-17来源:电子产品世界收藏
编者按:随着移动通信的高速发展,5G NR通信已经进入我们的日常生活,5G系统对信息传输制订了全新标准,基于5G NR的小区搜索相对于长期演进(LTE)而言,对同步信号进行了重新定义。文章详细分析了5G NR系统的主辅同步信号(PSS&SSS),对其新增内容进行了研究,提出了适用于5G NR系统的小区搜索算法,使用MATLAB软件对该算法的性能进行了仿真分析,最后在FPGA上实现开发应用。


本文引用地址:http://www.eepw.com.cn/article/202106/426377.htm

0   引言

随着全球移动通信技术向着网络化和宽带化趋势发展,人们的社会生活方式、工作模式等方面发生了极大的改变。随着人类对更高性能移动通信网的追求,移动通信系统也不断更新换代。5G 通信技术应运而生,作为测试技术的先行者,测试仪表 功能的开发也提上了日程。同步技术的研究是5G 物理层中一个十分重要的课题。本文的研究工作主要集中于5G 系统下行链路的初始同步过程。其中,下行链路重点对主同步信号(primary synchronization signal,)以及辅同步信号(secondary synchronization signal,)的检测方案展开研究并以 实现。本研究致力于 算法技术研究与实现,其意义在于:在市场上,目前5G 测试仪器受到业界的关注,本课题研究的与实现适应测试仪器市场需求,对通信测试仪器的发展提供有力支持;随着移动产业化的不断深入发展,测试仪器作为产业链的重要组成部分越来越受到业界的关注,本课题有助于促进测试仪器的发展及推广。

作者简介:袁行猛(1988—),男,工程师,研究方向:信号与信息处理。

1   过程

5G NR 小区搜索是指利用同步信号获得其所在小区的ID 号以及取得与基站的时频同步的过程。本章首先描述了5G NR 小区搜索流程,然后为使系统的整体性能达到最优,对各部分采用的不同算法进行分析和讨论。小区搜索流程如图1 所示。

0.png

如图1 所示,接收到的射频信号同步流程通常被分为4 个部分:粗时间同步、CP 类型检测、频偏估计与补偿和 检测。射频整机通过射频端口接收到5G NR 信号,然后传到同步模块。粗时间同步的目的是为了找到 信号的位置以此判定半帧同步,同时还能确定扇区号。CP 检测可以确定CP 所属类型。在频率同步部分,先进行小数倍频偏的估计与补偿,以保证载波之间的正交性,同时取得定时精同步,经过OFDM 解调到频域后进行整数倍频偏估计与补偿。 检测的目的是获得10 ms 的帧定时同步,同时确定小区ID 组号。

2   5G NR小区搜索算法与仿真实现

2.1 粗同步算法

检测算法都是基于序列相关运算的,原理如图2 所示。滑动窗口保存了本地存储的同步序列,在收到数据之后,从数据起始位置向后移动,每移动1 个采样点计算1 次相关系数,当得到1 个相关峰值时,则认为这时滑动窗口和待检测的同步序列对齐。由于PSS 有3种,所以本地需存储3 种PSS,且在每次滑动窗口移动时计算3 组相关系数,相关峰值最大的序列则为基站发送的序列,同时确定其值。

1.png

直接互相关法的本质是利用滑动搜索的方法,找到与接收信号匹配的同步序列。首先对本地的3 种PSS 序列补零后做IFFT 变换,然后分别与下采样后的信号做滑动相关,得到3 个序列集,其中最大值所对应的序列号就是小区组内ID 号image.png,最大值所在的位置就是同步序列的初始粗同步位置。由于m 序列时域互相关函数具有尖锐的峰值,所以能够得到较为精确的同步位置。互相关函数的模值平方如下式:

image.png

其中,“()*”表示共轭运算; NFFT 表示采样点数;r(n)代表接收到的下采样后的信号;s n i ( ) 是本地存储的时域同步信号,i 取0,1,2 时分别对应image.png的值0,1,2;d 是起始时刻,每一时刻做1 次相关运算,得到粗同步位置dˆ为:dˆ = MAX {C d i = I ( )} , 0,1,2 。

2.png

图3 小区组内ID为0分别与1,2,3的序列时域互关性

图3 是时域PSS 序列自相关及互相关性能仿真图,显而易见,PSS 序列有较好的时域相关性。通过直接互相关法可以实现对主同步信号的粗定时同步和小区组内ID 的判断,但是该方法对频偏的鲁棒性较差。当存在频偏ε 时,互相关函数表达式如下:

image.png

其中,r′(d + n)表示受频偏影响的接收信号。由式(1)可以看出,由于频偏因子e j2π ε/NFFT的存在,对不同时刻的信号都产生相位旋转,可以使相关函数的峰值衰减,从而对定时同步正确性产生影响。

2.2 精同步算法

完成主同步信号检测后,已经获得小区组内ID 号image.png,由式知image.png与m0 和m1 有关,所以可通过检测SSS序列获得image.png,进一步根据image.png确定物理层小区ID。对于SSS 序列的检测,既允许在时域进行,又允许在频域进行。由于在时域做相关检测需要对整个OFDM 符号做检测,计算复杂度较大且易受定时估计误差的影响,而频域检测只需提取127 点SSS 序列即可做相关,计算量小且定时同步误差在频域上对相关峰的影响不大,所以可以在频域进行SSS 序列的检测。

因为PSS 序列与SSS 序列在时域上只间隔1 个OFDM 符号,在频域上处于相同的子载波位置。为了提升SSS 信号的解调性能,可以利用检测后的PSS 信号得到信道冲击响应,再对SSS 信号进行补偿。令接收到的频域PSS 信号为基值k ,信道估计结果可以表示为:

image.png

其中,Spss(k) 为本地频域PSS 序列。假设接收的SSS

序列rsss(k) 经FFT 转换到频域为Rsss(k) ,则经过信道均衡的SSS 序列可以表示为: R'sss(k)=Rsss(k)/Hpss(k) 。

频域SSS 序列是由2 个m 序列优选对通过异或运算组成的Gold 序列,该序列具有较好的相关性质。将R'sss(k) 与本地产生的336 条SSS 序列分别进行频域互相关,得到:1623915281225214.png,式中i =0,1,...,335,代表此时所选择的辅同步序列的序列号。通过相关运算的结果容易找到C(i) 中的最大值对应的序列号i,如式:1623915311298406.png

根据以上分析,该序列号i 就是小区组ID 标识号image.png

2.3 仿真结果分析

仿真软件选用的是MATLAB R2015a,根据前章节的算法理论分析编写仿真代码,编写的软件函数架构以及主函数如图4 所示。

3.png

4.png

图4 软件函数架构和主函数

MATLAB 仿真得到的粗同步与精同步结果如图6和图7 所示。

5.png

图6 粗同步结果

6.png

图7 精同步结果

3   5G NR小区搜索算法的实现

本研究将对PSS 算法和SSS 时延优化算法进行实现,并通过硬件平台的综合结果对算法进行验证。在通过 实现算法的同时,也会利用一些FPGA 技巧降低实现的复杂度,节约开发成本。本章将给出每个模块的设计方案,整体流程和最终的硬件综合结果。

3.1 FPGA开发板的性能参数

在进行FPGA 开发之前,首先要了解FPGA 开发板的性能和开发工具的使用,本节主要介绍本文采用的开发板性能参数和开发工具的能力,FPGA 开发板的参数由表1 给出,硬件设计结构如图8 所示。

7.png

8.png

图8 基带板正反面

表1 开发板性能参数

9.png

开发工具采用Xilinx 的Vivado,该工具内部集成了FFT、IFFT、FIFO、RAM、乘法器等常用IP 核,可以极大降低开发难度。

3.2 顶层模块设计

图9 给出了核心模块、相关运算模块的结构,实现中需要FPGA 进行多次遍历与计算,模块采用纯并行设计,每个时钟写入1 个采样点,每个采样点单独进行计算,求和处采用流水线方式进行多个复数的求和计算,整体流程时延集中在求和与计算模值,本设计中利用乘法器直接进行序列相乘得到相应结果。整体开发的程序模块如图9 所示。

10.png

图9 程序整体模块

top:设计的顶层文件;

rx_jesd204_01_interface_u1:射频信号采集模块,直接采集射频信号转换成245.76 MHz 的时钟速率;NR5G_cell_sync_u:5G NR 小区搜索顶层模块;小区搜索模块是具体的实现模块,粗同步、精同步以及各个相关运算等,如图10 所示。

11.png

图10 小区搜索主要模块

3.3 同步模块设计

主同步信号的FPGA 开发的过程:该算法的原理在第三章已进行介绍,并且通过仿真平台进行了性能评估,图11 给出了PSS 检测模块的功能模块结构,图12 给出了核心模块,该模块存储了量化后的本地序列。量化后的序列取值均为2 的次幂形式,在模块的编写过程中,需要根据每一项本地序列的量化结果进行寄存器的移位,所以实现的代码量巨大。该模块采用纯并行设计,每个时钟写入1 个采样点,每个采样点单独进行计算,求和处采用流水线方式进行多个复数的求和计算,整体流程时延集中在求和与计算模值。

12.png

图12 中的输出部分有一个简化取模算法。取模运算涉及平方和开根号运算,在FPGA 中实现困难,需要借助cordic 算法实现,这会引入较大时延和硬件开销。由于PSS 检测部分只关心相关系数的大小,对相关系数较小的误差并不敏感,因此可以利用取模的近似算法来计算。

辅同步信号的FPGA 开发的过程:

SSS 检测采用了分组并行检测算法,该模块的FPGA 结构如图13 所示。将本地SSS 序列分组后进行存储,EN 端口电平拉高后开始进行遍历,计数器存储当前遍历次数,每次遍历同时计算三组序列相关系数,得到最大值A 和对应的NID1,MAX 存储了相关系数最大时对应的NID1,遍历过程中不断更新。在计数器计数到112 时,表示遍历完成,输出结果。该模块优化的目的是降低本地SSS 的生成时延和计算时产生的处理时延,SSS 生成时延是利用查表解决的,每一个SSS 对应一张表,存储着频域127 点的数值,在使用时无需消耗额外时钟周期进行生成。计算的处理时延通过分组遍历进行优化,分组越多性能越接近并行计算,但消耗的硬件资源也就越多。

13.png

3.4 实验结果分析

通过连接整机射频后实际采样,经过设计的FPGA模块得到的是上板后的真实结果:小区ID 126 和499的信号。

上板测试的结果正确,功能正常,能正确解出小区ID,正确给出10 ms 帧头,从而能确保传输给物理层准确信号,大大提高了解析速度。

4   结束语

本文介绍了5G NR 新一代通信的帧格式,并对5G NR 小区搜索算法进行了研究与仿真,并对PSS 与SSS 同步搜索的算法进行了FPGA 实现,经过仿真验证和硬件实现验证了正确性,确定了本研究的可行性。

参考文献:

[1] 3GPP TS 38.201:NR;Physical Layer–General Description[S].

[2] 3GPP TS 38.215: NR; Physical layer measurements[S].

[3] 张越良.5G新空口下行同步和广播信道的仿真与FPGA实现

[D].北京:北京邮电大学,2019.

[4] 郭秋阳.5G下行信号的同步与检测技术研究[D].成都:成都电子科技大学,2019.

[5] 3GPP TS 38.214: NR; Physical layer procedures for data[S].

(本文来源于《电子产品世界》杂志社2021年5月期)



评论


相关推荐

技术专区

关闭