主要内容

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千赫。

  • 模式:1比特无符号值指定的操作模式。搜索模式,设置此信号为0或1的解调模式。

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

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

  • 开始: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倍,为后续处理阶段提供空间。第二,频率调整子系统适用于给定的频率偏移的数据流。最后,过滤和Downsample子系统过滤器并致样品由八7.68(议员)使用halfband过滤器链。的过滤和Downsample子系统产生的两个数据流。的ssbData输出采样7.68议员和用于单边带检测。的sib1Data输出采样30.72议员和用于SIB1解调。这些样本率选择所需的最小带宽计算2的乘方FFT为每个流。的sib1Data用于输出NR HDL SIB1复苏例子,一个监护系统共享驱动单边带和SIB1处理步骤。

单边带检测模型

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

接收机内部定时参考系统,跟踪时间使用计数器在datapath公司的关键点。时机引用计数20 ms时期——假定的单边带周期性细胞5 g NR定义的搜索标准。时间测量样品在61.44议员模1228800创建20 ms的时间。由于实际采样率是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。

仿真设置

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

搜索模式仿真

使用runSSBDetectionModelSearch脚本运行一个搜索模式模拟和验证结果。在搜索模式下,单边带检测器寻找SSBs并返回它们的参数。该脚本在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是最新的。构建总结0 2模型建立(2模型已经更新)构建持续时间:0 h 0米3.8694秒..........SSBs发现通过MATLAB参考:NCellID2 timingOffset pssCorrelation pssEnergy frequencyOffset ________ _____售予_______ * * * 0 4416 1.8564 2.0487 5057 0 4997 0 35136 17568 1.4776 1.6272 3.7246 - 4.1033 5016 0 5031 0 65856 48288 2.9372 3.243 11.729 - 12.921 4940 0 5003 0 96576 79008 2.6242 2.8901 4.6843 - 5.1559 5017 0 1.0973 e + 05年2.3364 - 2.5728 4997 SSBs发现仿真软件模型:NCellID2 timingOffset pssCorrelation p万博1manbetxssEnergy frequencyOffset ________ _____售予_______ * * * 0 4416 1.857 2.0492 5057 0 4997 0 35136 17568 1.4781 1.6277 3.7249 - 4.1042 5016 0 5031 0 65856 48288 2.9375 3.2439 11.732 - 12.923 4940 0 5003 0 96576 79008 2.6249 2.8908 4.6849 - 5.1569 5017 0 1.0973 e + 05年2.3367 - 2.5735 4997相对均方误差MATLAB和Simulink在搜索模式:名字relativeMSEdB _____________________ _________________{的PSS相关性0}-71.51{的PSS相关1}-63.414 -63.272{的PSS相关2}{PSS阈值的}-76.134

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

解调模式仿真

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

runSSBDetectionModelDemod;
选择最强的PSS从先前的搜索和计算其频率偏移。最强的PSS指数基于(1):5频率偏移(粗+好):4.94 kHz解调最强的SSBs使用MATLAB参考。解调最强的SSBs使用仿真软件模型。万博1manbetxnrhdlSSBDetection运行。基金# # #开始连续模型参考模拟构建# # #模型参考仿真目标nrhdlDDCFR1Core是最新的。# # #模型参考仿真目标nrhdlSSBDetectionFR1Core是最新的。构建总结0 2模型建立(2模型已经更新)构建持续时间:0 h 0米1.6156秒...................党卫军阻止报告MATLAB NCellID2: 0 timingOffset: 65856 pssCorrelation: 12.8410 pssEnergy: 12.9020 NCellID1: 83 sssCorrelation: 13.0099 sssEnergy: 13.0102 NCellID: 249 frequencyOffset: 0党卫军阻止报告模型NCellID2: 0 timingOffset: 6万博1manbetx5856 pssCorrelation: 12.8441 pssEnergy: 12.9064 NCellID1: 83 sssCorrelation: 13.0123 sssEnergy: 13.0143 NCellID: 249 frequencyOffset: 0 MATLAB和Simulink之间相对均方误差解调模式:名字relativeMSEdB _____________________ _________________{的PSS相关性0}-69.651 {PSS阈值的}-68.8 -69.961 {“SSS相关性”}{Rx资源网格的}-70.084解码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最强的单边带从最初的搜索。

HDL代码生成和实现结果

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

资源使用售予_____片寄存器36531片附近地区20857 RAMB18 13 RAMB36 0 DSP48 218

相关的例子

更多关于