主要内容

NR HDL细胞搜索

这个例子展示了5 g NR细胞搜索子系统的设计优化了HDL代码生成和硬件实现。

介绍

在本例中万博1manbetx是一个描述的仿真软件®模型HDL-optimized实现同步信号块(单边带)探测器5 g NR频率范围1 (FR1)。这个例子是一个相关的组之一,看到的更多信息NR HDL参考应用程序概述

单边带检测器的框图所示图。探测器执行所有的高速信号处理任务与细胞相关搜索算法因此非常适合FPGA和ASIC实现。下面的单边带检测器搜索时间在给定的频率偏移和副载波间距。它的目的是作为一个更大系统的一部分实现载波频率偏移复苏和副载波间距检测。必须使用一个控制器协调整个细胞搜索所示5 g使用模拟设备AD9361 / AD9364 NR MIB复苏(Xilinx Zynq-Based无线电通信工万博1manbetx具箱支持包)的例子。

单边带探测器执行主同步序列(PSS)搜索,正交频分复用(OFDM)解调和二级同步序列(SSS)搜索。它还包括数字下变频器(DDC)纠正在接收信号频率偏移量。单边带探测器两种操作模式,搜索解调在这个例子中演示了。在搜索模式下,探测器寻找SSBs并返回它们的参数。在解调模式下,探测器恢复指定的单边带OFDM-demodulates其资源网格和搜索SSS内适当的资源要素。

文件结构

本例使用这些文件。

万博1manbetx仿真软件模型

  • nrhdlSSBDetection.slx:该仿真软件模万博1manbetx型使用模拟单边带检测的行为。

  • nrhdlSSBDetectionFR1Core.slx:此模型实现了单边带检测算法。

  • nrhdlDDCFR1Core.slx:此模型实现了DDC为SIB1创建示例流以及下面。

万博1manbetx模型数据字典

  • nrhdlReceiverData.sldd:这个模型数据万博1manbetx字典包含总线对象定义公共汽车模型中包含的例子。

MATLAB代码

  • runSSBDetectionModelSearch.m:脚本运行和验证nrhdlSSBDetection模型在搜索模式。

  • runSSBDetectionModelDemod.m:脚本运行和验证nrhdlSSBDetection模型在解调模式。

  • nrhdlexamples:包包含MATLAB验证参考代码和效用函数实现模型。

NR HDL细胞搜索模型

这图显示了nrhdlSSBDetection模型。顶层模型的读取信号从MATLAB基础工作空间,通过单边带检测子系统,并写入输出回工作区。使用runSSBDetectionModelSearchrunSSBDetectionModelDemod脚本运行模型和后处理输出。

单边带检测子系统

单边带检测子系统的引用nrhdlDDCFR1CorenrhdlSSBDetectionFR1Core模型。监护系统执行频率偏移校正和大量毁灭,单边带检测器搜索和解调下面。模型的算法引用下一节中描述。监护系统的输出是单边带检测算法的输入。

输入

  • dataIn:14-bit签署复值信号,采样61.44议员。

  • validIn验证:1比特控制信号dataIn

  • frequencyOffset:32位签署价值指定频率偏移校正。这个信号与一个32位累加器连接到一个区域。使用这个值转换为赫兹方程:frequencyOffset_Hz=frequencyOffset* 61.44 e6 / 2 ^ 32。

  • subcarrierSpacing:2比特无符号值指定副载波间距。这个信号设置为0到选择15 khz,或1选择30千赫。

  • 模式:2比特无符号值指定的操作模式。设置搜索模式,这个信号为0 1为单解调模式和2重复解调模式。

  • timingOffset:21-bit无符号值指定的时间偏移的单边带解调。指定时间偏移量在61.44议员样本,从0到1228799。这个参数只适用于对解调模式。

  • NCellID2:2比特无符号值指定PSS(0、1或2)单边带的解调。这个参数只适用于对解调模式。

  • 超时:3-bit无符号值指定的时间计数重复解调模式。单边带探测器失败时连续检测超时+ 1 SSBs它终止。

  • stopDemod:1比特控制信号时停止重复解调模式操作的断言。

  • 开始:1比特控制信号用于启动一个搜索或解调操作。开始一个操作,设置frequencyOffset,subcarrierSpacing,模式,timingOffset,NCellID2并设置到所需的值开始1(真正的)一个或多个周期。如果一个操作已经在进步,操作时取消开始被设置为1(真正的)。新的操作开始时开始返回给0()。

输出

  • 状态:4比特无符号值,表明当前操作的进度。请参阅下一部分的可能值的信号。

  • pssNCellID2:2比特无符号值PSS(0、1或2)发现单边带。

  • pssTimingOffset:21-bit无符号值的时间抵消发现单边带。时间偏移是在样品61.44 Msp从0到1228799。

  • pssFrequencyOffset:32位签署了价值发现单边带的频率偏移。这个信号有相同的单位frequencyOffset输入。

  • pssCorrelation:32位无符号值PSS的强度的相关性。

  • pssThreshold:32位无符号值阈值时PSS被检测到。

  • NCellID:10位无符号值解调单边带的细胞ID。返回这个值只在解调模式。

  • sssCorrelation:32位的无符号值SSS相关性强度。返回这个信号只在解调模式。

  • sssThreshold:32位的无符号值SSS阈值。返回这个值只在解调模式。

  • reportValid:1比特控制信号。在搜索模式下,这个信号验证pssNCellID2,pssTimingOffset,pssFrequencyOffset,pssCorrelation,pssThreshold对于每个检测PSS。在解调模式中,这个信号也验证NCellID,sssCorrelation,sssThreshold。在解调模式下,sssCorrelationsssThreshold只有有效的如果指定的单边带被发现使用其PSS,然后呢NCellID只有有效的如果发现瑞士。

  • gridData:16位签署资源网格数据的复杂值。单边带接收机返回所有四个符号的网格资源。返回值是一个资源元素。资源网格只返回在解调模式。

  • gridValid验证:1比特控制信号gridData输出。只返回数据如果指定的单边带被发现使用它的PSS。返回这个信号只在解调模式。

  • 诊断包含诊断:总线信号。

状态信号状态

  • 0:闲置——初始状态。等待第一次脉冲。

  • 1:搜索模式,寻找PSS。

  • 2:搜索模式,操作完成,没有发现PSS。

  • 3:搜索模式,操作完成后,发现一个或多个pss。

  • 4:解调模式——等待指定PSS定时偏移量。

  • 5:解调模式——操作完成,PSS不见了。

  • 6:解调模式——发现指定的PSS。解调资源网格和寻找瑞士。

  • 7:解调模式——操作完成,没有SSS发现。返回解调资源网格。

  • 8:解调模式——操作完成,发现瑞士。返回解调资源网格。

监护系统模型

这个图表显示了顶级的nrhdlDDCFR1Core模型。输入信号(dataIn)是16位的复数数据取样61.44议员签署。下面的监护系统执行两个操作。首先,输入扩展子系统尺度输入0.875倍,为后续处理阶段提供空间。第二,单边带监护系统子系统适用于给定的单边带频率偏移的数据流,然后过滤并致样品8使用halfband过滤器链。的ssbData输出采样7.68议员和用于单边带检测。这个采样率是计算所需的最小带宽的2的幂FFT SCS 30单边带。的网格监护系统子系统适用于给定的电网频率偏移,然后过滤并致两个样品。的gridData输出采样30.72议员。的网格监护系统,gridData输出中使用NR HDL SIB1复苏例子,监护系统驱动单边带和SIB1处理步骤。

单边带检测模型

这个图表显示了顶级的nrhdlSSBDetectionFR1Core模型。模型执行单边带检测和解调。其内部采样率变化取决于副载波间距(SCS)。模型使用7.68议员30千赫议员15 khz SCS SCS和3.84。的副载波间距选择左边的子系统负责改变采样率。可以改变率只有当一个新的操作引发的startProcessing输入。

接收机内部定时参考系统,跟踪时间使用计数器在datapath公司的关键点。时间测量样品在61.44议员模1228800。因此时间参考包装每20毫秒左右——假定的单边带周期性细胞搜索5 g NR定义的标准。由于实际采样率是3.84或7.84议员议员,时机引用计数器增量通过8或16日分别为每个样本。时间引用是相对于第一个有效样本输入和持续运行。当一个新的操作引发的开始输入,定时参考不重启。相反,输入的开始时间记录时间参考。其他时间引用等到到达时间改变他们的增量开始,当一个新的副载波间距和相应的采样率适用。这种架构使得接收机跟踪时间一致,即使采样率发生变化。由于硬件延迟,其他时间滞后于输入时间参考引用。时间更新过程依赖于这个延迟。

nrhdlSSBDetectionFR1Core模型包含这些主要子系统。

  • 副载波间距选择:将输入转换为两个同步示例流,一个在7.68议员和一个3.84议员,并选择哪个流传递给后续处理阶段根据副载波间距。

  • 单边带搜索:执行搜索SSBs PSS相关性。

  • 单边带解调:执行OFDM解调和SSS相关性。

  • 报告创建:将所有的参数对应一个单边带检测,所以他们都是有效的在同一时间。

单边带搜索子系统

  • PSS检测:在接收到的信号搜索PSS的象征。

  • 循环前缀关联:计算循环前缀(CP)相关值。每个结果平均在过去四个OFDM符号。

  • CP相关频率:将CP相关值转换为好频率偏移估计。

  • PSS和CP对齐:匹配CP-based频率估计每个PSS符号检测实例。这个调整是必要的,因为频率估计对于一个给定的PSS检测实例只能在相应的单边带。

  • PSS信息序列化:如果检测到PSS在不止一个PSS相关器输出在同一时间偏移量,这个街区序列化返回的结果,检测一次。

单边带解调子系统

  • OFDM数据同步:同步PSS的OFDM解调器的输入与输出探测器。这种同步使PSS探测器触发OFDM解调过程在正确的时间。同步数据背后的一个OFDM符号PSS相关器的峰值检测发生在第一个OFDM符号解调。

  • OFDM解调:OFDM-demodulates单边带指定的四个符号。

  • SSS检测:提取SSS资源元素从OFDM解调器输出,与所有336种可能的序列来决定细胞ID。

手机搜索操作

设计经营的两种模式——搜索或解调。按顺序执行这些操作允许控制器执行一个完整的细胞搜索。

1。搜索模式

在搜索模式下,单边带检测器寻找SSBs在指定的副载波间隔和频率对每个PSS序列关联所抵消。操作输出检测到下面的列表,由定时偏移和PSS序列定义ID。每个单边带的相关指标和频率偏移是报道。搜索操作成功后单边带检测器自动追踪发现最强的PSS维持时间锁解调操作开始之前,和记录的总时间。的输入提供定时偏移解调操作结合这总时间滑计算最后的时间场合。这个计算提高了鲁棒性的设计在一个采样率抵消,或延迟完成搜索步骤和解调一步的开始。

2。解调模式

在解调模式中,检波器解调指定的单边带timingOffset和NCellID2投入。这包括寻找PSS, OFDM-demodulating资源网格,并寻找瑞士在适当的资源要素。解调模式需要一个成功的搜索操作的结果。从列表中选择指定的单边带的下面。

有两种解调模式:单解调模式和重复解调模式。在单解调模式,操作终止一个解调后尝试。在重复解调模式下,执行的操作是每20毫秒,假定的周期性的单边带传动单元的搜索目的。一组在每次尝试的结果。重复解调能够监视和测量一个单边带多个传输的场合。重复模式运行,直到超时数达到或停止解调输入断言。超时计数增加,当达到单边带定时偏移和PSS相关检测,和重置为零当检测到相关性是在一个时间窗口。在存在采样率抵消了单边带时间抵消漂移之间解调。重复解调操作跟踪漂移和变化的预期时间抵消整数自动增量。整个样本的漂移补偿是在单位选择SCS单边带的速度测量。 The tracking operates on a window of five samples centered around the expected timing occasion. If the timing slip over the 20ms period is greater than two samples at the SSB rate then the peak will move outside the window and the tracking may fail. Additionally, the frequency offset measured on each repetition is applied to the DDC to correct any drift in the frequency of the SSB. These corrections allow the receiver to track and repeatedly demodulate an SSB over an extended period of time.

仿真设置

块图显示了这个示例的仿真设置,这是执行runSSBDetectionModelSearchrunSSBDetectionModelDemod脚本。5 g工具箱™函数用于生成一个测试波形应用MATLAB和Simulink实现单边带检测器的搜索模式然后在解调模式。万博1manbetx从每个探测器关键诊断信号比较的相对均方误差(MSE)和最终的输出进行比较。最后,资源网格仿真软件模型的输出解码显示MIB的内容。万博1manbetx

试验台的选项部分的runSSBDetectionModelSearch脚本包括这些变量配置仿真:

  • simulationCase:指定的配置生成的波形。表显示的仿真案例。

模拟案例单边带模式共同PDCCH副载波间距配置SIB1信噪比dB最强的单边带指数Lmax售予___________ _________________________ _________________ ______ ___________________ __“SimCase 1”“C”30 164 50 4 8“SimCase 2”“案例B”15 100 6 3 4“SimCase 3”“案例”30 4 20 2 8“SimCase 4”“案例”15 84 7 0 4
  • numSubFrames:指定的数量1 ms子帧生成作为输入的刺激。

  • repeatDemodEn:指定单个或重复解调模式。

  • sampleSlip:指定样品滑每20 ms应用到生成的波形。

搜索模式仿真

使用runSSBDetectionModelSearch脚本运行一个搜索模式模拟和验证结果。该脚本在MATLAB命令窗口显示其进展。表显示每个单边带的参数检测到MATLAB仿真软件。万博1manbetx最后一个表显示之间的相对MSE MATLAB和Simulink为每一个相关器输出和检测阈值。万博1manbetx情节生成显示(i)的综合资源网格中的所有八SSBs传输波形和(2)PSS相关输出和阈值。结果表明,MATLAB和Simulink实现密切匹配。万博1manbetx两种实现之间的细微差异是由于量化误差。这些错误发生因为MATLAB参考使用浮点数据类型,和仿真软件模型使用定点数据类型。万博1manbetx

runSSBDetectionModelSearch;
生成测试波形。选择模拟案例:模拟情况下单边带模式共同PDCCH副载波间距配置SIB1信噪比dB最强的单边带指数Lmax售予___________ _________________________ _________________ ______ ___________________ __“SimCase 1”“C”30 164 50 4 8寻找SSBs使用MATLAB参考。寻找SSBs使用仿真软件模型。万博1manbetxnrhdlSSBDetection运行。基金# # #开始连续模型参考模拟构建。# # #成功更新了模型参考模拟目标:nrhdlDDCFR1Core # # #成功更新了模型参考模拟目标:nrhdlSSBDetectionFR1Core构建总结模拟目标构建:模型重建行动的原因= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = nrhdlDDCFR1Core代码生成和编译。模型或图书馆dsphdlfiltering2改变。nrhdlSSBDetectionFR1Core代码生成和编译。模型或图书馆dsphdlfiltering2改变。2的2模型建立(0模型已经更新)构建持续时间:0 h 5米8.1663秒.................... SSBs found by MATLAB reference: NCellID2 timingOffset pssCorrelation pssEnergy frequencyOffset ________ ____________ ______________ _________ _______________ 0 4440 1.8359 2.0509 5075 0 17592 1.4592 1.6278 4996 0 35160 3.6815 4.1055 5010 0 48312 2.9024 3.2448 5028 0 65880 11.579 12.927 4951 0 79032 4.6086 5.1405 5000 0 96600 2.3174 2.5819 5020 0 1.0975e+05 1.6359 1.8231 4992 SSBs found by Simulink model: NCellID2 timingOffset pssCorrelation pssEnergy frequencyOffset ________ ____________ ______________ _________ _______________ 0 4440 1.8366 2.0515 5075 0 17592 1.4596 1.6283 4995 0 35160 3.6819 4.1064 5010 0 48312 2.9024 3.2456 5028 0 65880 11.582 12.929 4951 0 79032 4.6101 5.1414 5000 0 96600 2.3175 2.5826 5020 0 1.0975e+05 1.6363 1.8237 4992 Relative mean-squared error between MATLAB and Simulink in search mode: name relativeMSEdB _____________________ _____________ {'PSS correlation 0'} -70.963 {'PSS correlation 1'} -63.516 {'PSS correlation 2'} -63.379 {'PSS threshold' } -76.436

使用仿真软件逻辑万博1manbetx分析仪查看单边带检测子系统的输入和输出。探测器寻找PSS符号在20毫秒的时间窗口,一个脉冲后开始开始输入触发搜索操作。如果没有发现PSS符号经过20 ms,探测器设置状态输出2 -表明搜索失败了。在这个例子中,探测器发现所有八个下面。的状态在搜索输出设置为1时,返回一个报告为每个断言的单边带reportValid信号。仿真只运行了5然而女士如果这适用于运行超过20毫秒,那么状态最终输出设置为3,表明搜索成功了。

解调模式仿真

在运行runSSBDetectionModelSearch,可以使用runSSBDetectionModelDemod脚本运行一个解调模式模拟和验证结果。该脚本在MATLAB命令窗口显示其进展。单边带MATLAB和Simulink的报告显示,这两个探万博1manbetx测器返回相似参数和正确确定细胞ID 249。相对均方误差测量结果表明,MATLAB和Simulink实现密切匹配。万博1manbetx最后验证步骤,脚本解码广播频道(BCH)仿真软件资源网格输出。万博1manbetxCRC校验通过和主信息块(MIB)内容与传播。块生成显示PSS和瑞士相关结果,和资源网格输出。PSS相关解调模式模拟水平强于在搜索模式模拟,因为频率偏移纠正。

runSSBDetectionModelDemod;
选择最强的PSS从先前的搜索和计算其频率偏移。最强的PSS指数基于(1):5频率偏移(粗+好):4.951 kHz解调最强的SSBs使用MATLAB参考。解调最强的SSBs使用仿真软件模型。万博1manbetxnrhdlSSBDetection运行。基金# # #开始连续模型参考模拟构建。# # #模型参考仿真目标nrhdlDDCFR1Core是最新的。# # #模型参考仿真目标nrhdlSSBDetectionFR1Core是最新的。构建总结0 2模型建立(2模型已经更新)构建持续时间:0 h 0米1.2367秒..........MATLAB和Simulink之间相对均方误差解调模式:名字relativeMSEdB ___万博1manbetx__________________ _________________{的PSS相关性0}-69.983 {PSS阈值的}-69.037 -69.892 {“SSS相关性”}{Rx资源网格的}-70.102 - - - - - - - - - - - - -显示结果为单边带解调- - - - - - - - - - - - -单边带解调:1.0723毫秒党卫军块报告:从MATLAB NCellID2: 0 timingOffset: 65880 pssCorrelation: 12.6758 pssEnergy: 12.9087 NCellID1: 83 sssCorrelation: 12.8492 sssEnergy: 13.0144 NCellID: 249 frequencyOffset: 0党卫军块报告:从仿真软件NCellID2: 0 timingOffset: 65880 pssCorrelation: 12.6786 pssEnergy: 12.9130 NCellID1: 83 sssCorrelation: 12.8519 sssEnergy: 13.0188 NCellID: 249 frequencyOffset: 0解码BCH从仿真软件资源网格输出:BCH CRC: 0解码(Rx) MIB NFrame: 0 SubcarrierSpacingCommon: 30 k_SSB: 0 DMRSTypeAPosition: 3 PDCCHConfigSIB1: 164 CellBarred: 0 IntraFreqReselection:预期(Tx) MIB NFrame: 0 0 SubcarrierSpacingCommon: 30 k_SSB: 0 DMRSTypeAPosition: 3 PDCCHConfigSIB1: 164 CellBarred: 0 IntraFreqReselection: 0

使用仿真软件过程万博1manbetx中逻辑分析仪查看检测器的输出通过这些步骤。

  1. 探测器设置状态输出4虽然等待指定的时间偏移和搜索指定的PSS。

  2. PSS。探测器设置状态输出6——现在探测器寻找资源网格内的瑞士。四个OFDM符号解调技术输出,由主张表示gridValid

  3. 瑞士决定后,探测器断言reportValid表明所有的PSS和瑞士参数,包括NCellID,都是有效的。的状态输出的变化8,表明操作完成和准备SSS和细胞ID。

如果没有找到PSS在指定的时间偏移量,探测器设置状态输出5和停止搜索。如果探测器无法确定SSS,然后设置状态输出7。在这个例子中,探测器恢复指定的单边带- PSS最强的单边带从最初的搜索。

进一步的探索

本节展示了如何在重复运行一个模拟解调模式通过修改描述的选项仿真设置部分。

生成的波形的长度增加到包含第二个单边带传动。生成一个波形25副框架提供了足够的输入数据来执行两个单边带解调重复模式。进一步提高价值进行解调。

numSubFrames = 25;

使重复执行多个单边带解调解调模式。

repeatDemodEn = 1;

应用波形的采样率抵消。样品单中指定单元的输入样本每20毫秒。设计可靠的样本滑落到每20毫秒单边带两个样本率。单边带速率和输入速率之间的比例是16 SCS 15,和8个SCS 30。因此,样品单可以为SCS 15 -32 - 32和-16年16 SCS 30。

sampleSlip = 8;

运行runSSBDetectionModelSearch紧随其后的是runSSBDetectionModelDemod脚本执行模拟。

与这个输入配置接收机解调两个SSBs解调模式。PSS相关情节展示了山峰的单边带解调场合,贴上A和b对解调结果显示在命令窗口。

HDL代码生成和实现结果

生成HDL代码示例,您必须有一个高密度脂蛋白编码器™许可证。使用makehdlmakehdltb命令来生成和高密度脂蛋白HDL代码的试验台nrhdlSSBDetection /单边带检测子系统。由此产生的HDL代码合成Xilinx®Zynq®-7000 ZC706评估板。表显示了地点和路线后资源利用的结果。设计满足定时时钟频率为230 MHz。

资源使用售予_____片寄存器34819片附近地区20861 RAMB18 12 RAMB36 0 DSP48 209

相关的话题