主要内容

5 g NR开环检测和假警报测试

这个例子实现了物理随机接入信道(开环)漏检和假警报一致性测试,38.141中定义的TS 1。你可以测量的正确检测概率是开序言的先兆信号或开关开环传输测量虚警概率。

介绍

开环是一个上行传输所使用的用户设备(UE)与gNodeB启动同步。TS 38.141 - 1节8.4.1.5定义开环检测的概率要大于或等于99%,为一组特定的SNR值开环配置和传播条件。有几个检测错误情况下:

  • 检测错误的序言

  • 不检测序言

  • 检测正确的序言,但错误的时间估计

TS 38.141 - 1,一个正确的检测是实现当时机抵消最强的路径的估计误差小于给定的时间误差公差表8.4.1.1-1。通道传播条件tdlc300 - 100和开环序言格式0,时间误差公差是2.55微秒。

在这个例子中,一个是开波形配置,并通过适当的渠道。在接收端,该示例执行开环检测和计算的开环检测概率。示例8.4.1.5-1认为TS 38.141 - 1中定义的参数表和表A.6-1。这些都是:正常模式(即。,unrestricted set), 2 receive antennas, TDLC300-100 channel, normal cyclic prefix, burst format 0, SNR -6.0 dB. If you change the PRACH configuration to use one of the other PRACH preamble formats listed in Table A.6-1, you need to update the values of the time error tolerance and the SNR, according to TS 38.141-1 Table 8.4.1.1-1 and Tables 8.4.1.5-1 to 8.4.1.5-3, respectively.

模拟配置

认为10的例子是开槽的信噪比。您应该使用大量的numPRACHSlots产生有意义的结果。你可以设置SNRdB数组的值或一个标量。一个解释信噪比的定义,这个示例使用看看信噪比的定义中使用链接模拟。表8.4.1.5-1 TS 38.141 - 1指定频率偏移量foffset这是发射机和接收机之间的建模。的timeErrorTolerance变量指定错误宽容的时候,定义在表8.4.1.1-1 TS 38.141 - 1。你可以设置检测阈值区间[0,1]或空使用默认值nrPRACHDetect函数。模拟一场虚惊测试,禁用开环传输通过设置prachEnabled代替。

numPRACHSlots = 10;%的开环名额来模拟在每个信噪比SNRdB = [-21、-16、-11、6、1];在dB %信噪比范围foffset = 400.0;%在赫兹频率偏移timeErrorTolerance = 2.55;%在微秒时间误差公差阈值= [];%检测阈值prachEnabled = true;%使开环传输。模拟假警报测试,禁用开环传输。

载波配置

使用nrCarrierConfig配置对象航空公司指定承运人的设置。示例认为承运人以一副载波间距15 kHz和5 MHz带宽。承运人跨越25资源块,根据表5.3.2-1 TS 38.104。

载体= nrCarrierConfig;母舰。SubcarrierSpacing = 15;母舰。NSizeGrid = 25;%计算OFDM-related信息ofdmInfo = nrOFDMInfo(载体);

开环结构

表A.6-1 TS 38.141 - 1指定开环的开环配置用于检测一致性测试。

设置开环配置使用nrPRACHConfig配置对象开环据表A.6-1和部分8.4.1.4.2 TS 38.141 - 1。

%设置开环配置开环= nrPRACHConfig;开环。FrequencyRange =“FR1”;%频率范围开环。DuplexMode =“FDD”;%频分双工(FDD)开环。ConfigurationIndex = 27个;% 0配置指数格式开环。SubcarrierSpacing = 1.25;%副载波间距开环。SequenceIndex = 22;%逻辑序列索引开环。PreambleIndex = 32;%序言指数开环。RestrictedSet =“UnrestrictedSet”;%正常模式开环。FrequencyStart = 0;%的频率位置%定义的价值ZeroCorrelationZone表存储在使用nc% nrPRACHConfig对象开关prach.Format情况下{' 0 ',' 1 ',' 2 '}ncsTable = nrPRACHConfig.Tables.NCSFormat012;ncsTableCol =(字符串(ncsTable.Properties.VariableNames) = = prach.RestrictedSet);情况下“3”ncsTable = nrPRACHConfig.Tables.NCSFormat3;ncsTableCol =(字符串(ncsTable.Properties.VariableNames) = = prach.RestrictedSet);否则ncsTable = nrPRACHConfig.Tables.NCSFormatABC;ncsTableCol =包含(string (ncsTable.Properties.VariableNames) num2str (prach.LRA));结束nc = 13;zeroCorrelationZone = ncsTable.ZeroCorrelationZone (ncsTable {:, ncsTableCol} = = nc);开环。ZeroCorrelationZone = ZeroCorrelationZone;%循环移位指数

传播通道配置

使用nrTDLChannel对象配置抽头延迟线(TDL)传播信道模型通道如表8.4.1.1-1 TS 38.141 - 1中描述。

频道= nrTDLChannel;通道。DelayProfile =“TDLC300”;%延迟概要通道。MaximumDopplerShift = 100.0;%最大赫兹的多普勒频移通道。SampleRate = ofdmInfo.SampleRate;在赫兹%输入信号采样率通道。MIMOCorrelation =“低”;% MIMO相关通道。TransmissionDirection =“上行”;%上行传输通道。NumReceiveAntennas = 2;%的接收天线通道。NormalizePathGains = true;%正常化延迟概要文件的权力通道。种子= 42;%通道种子。改变这种对不同通道实现通道。NormalizeChannelOutputs = true;%接收天线的正常化%获得信道特性的信息channelInfo =信息(渠道);

循环对信噪比的值

使用一个循环运行的仿真组信噪比点的向量SNRdB。信噪比的信噪比向量配置是一个范围分包括一个指向-6.0 dB,信噪比的测试要求是开检出率(99%)是为序言格式实现0,如表8.4.1.5-1在TS 38.141 - 1中讨论。

hNRPRACHWaveformGenerator生成一个输出信号归一化到相同的传输能量的一个上行数据传输在5 g的工具箱™。因此,相同的归一化必须发生在噪声添加到开环。噪声添加OFDM解调之前将由传输线的放大因子的大小等于根号传输线(美元N_ {FFT} $)。确保噪声增加的力量解调后规范化,从而达到所需的信噪比,所需的噪声功率除以美元N_ {FFT} $。此外,作为噪声的实部和虚部分别创建之前组合成复杂的加性高斯白噪声,噪声幅值比例1 / \ sqrt2美元所以生成的噪声功率是1。

在每一个信噪比测试点,计算探测概率在槽的槽的基础上使用这些步骤:

  • 开环传输:使用hNRPRACHWaveformGenerator生成一个开环波形。将开环前言中定义的时间偏移量与图8.4.1.4.2-2 TS 38.141 - 1。设定一个时间抵消基础值50%的循环变化的数量是开一代。这抵消增加对于每一个序言,添加一个步骤0.1微秒的价值,直到最后的测试范围,为开环0.9微秒序言格式0。这种模式然后重复。

  • 噪声信道建模:通过波形通过TDL渠道并添加加性高斯白噪声。添加额外的样品的波形覆盖的范围延误预计从信道建模(的组合实现延迟和通道延迟传播)。这个实现延迟然后删除,以确保实现延迟不是解释为一个实际的时间偏移的序言探测器。

  • 频率偏移的应用:应用接收到的波形的频率偏移所定义的规范。

  • 开环检测:进行开环检测使用nrPRACHDetect函数对所有细胞序言指数(0:63)。使用返回的开环检测指数和抵消nrPRACHDetect确定一个检测根据约束讨论的是成功的介绍部分。

%初始化变量存储在每个信噪比检测概率pDetection = 0(大小(SNRdB));%存储配置参数需要生成开波形waveconfig。NumSubframes = prach.SubframesPerPRACHSlot;waveconfig。窗口= [];waveconfig。运营商=载体;waveconfig.PRACH。配置=开环;waveconfig.PRACH。使= prachEnabled;%的临时变量‘prach_init’,‘waveconfig_init’,‘ofdmInfo_init’,%和“channelInfo_init”是用来创建临时变量%‘开’,‘waveconfig’,‘ofdmInfo’,‘channelInfo信噪比内循环%创建独立的并行仿真实例prach_init =开环;waveconfig_init = waveconfig;ofdmInfo_init = ofdmInfo;channelInfo_init = channelInfo;snrIdx = 1:元素个数(SNRdB)%的评论进行并行计算% parfor snrIdx = 1:元素个数为并行计算(SNRdB) %取消%减少总模拟时间,你可以执行这个循环%并行使用并行计算工具箱。注释掉”的%声明和取消“parfor”声明。如果并行计算%的工具箱(TM)没有安装,“parfor”默认为正常”的声明%在命令窗口中显示进展timeNow = char (datetime (“现在”,“格式”,“HH: mm: ss”));流([timeNow':模拟信噪比= % + 5.1 f dB……”),SNRdB (snrIdx));%设置随机数发生器设置为默认值rng (“默认”);%初始化变量的信噪比,需要初始化%的变量在使用并行计算工具箱开环= prach_init;waveconfig = waveconfig_init;ofdmInfo = ofdmInfo_init;channelInfo = channelInfo_init;%复位频道,这样每个信噪比点会经历相同的%通道实现重置(渠道);%正常化噪声功率占采样率,这是一个%传输线大小的函数用于OFDM调制。信噪比的定义% /载波资源元素对于每一个接收天线。信噪比= 10 ^ (SNRdB (snrIdx) / 10);N0 = 1 /√(2.0 * channel.NumReceiveAntennas *双(ofdmInfo.Nfft) *信噪比);%检测序言计数detectedCount = 0;%为每个开槽循环numActivePRACHSlots = 0;nSlot = 0: numPRACHSlots-1%为当前生成开波形槽开环。NPRACHSlot = nSlot;waveconfig.PRACH.Config。NPRACHSlot = nSlot;[波形,~,winfo] = hNRPRACHWaveformGenerator (waveconfig);%设置是开在微秒时间抵消/ TS 38.141 - 1图% 8.4.1.4.2-2和图8.4.1.4.2-3如果prach.LRA = = 839%长序言,如图8.4.1.4.2-2值baseOffset = ((winfo.WaveformResources.PRACH.Resources.PRACHSymbolsInfo.NumCyclicShifts / 2) / prach.LRA) / prach.SubcarrierSpacing * 1 e3;%(微秒)timingOffset = baseOffset +国防部(nSlot 10) / 10;%(微秒)其他的如图8.4.1.4.2-3 %短暂的序言,值baseOffset = 0;%(微秒)timingOffset = baseOffset +国防部(nSlot 9) / 10;%(微秒)结束sampleDelay =修复(timingOffset / 1 e6 * ofdmInfo.SampleRate);%产生传输波形(sampleDelay txwave = [0, 1);波形);%通过通道模型传递数据。附加零结束的时候%传播波形冲洗频道内容。这些零%考虑推迟引入的通道。这是一个组合%的多路延迟和实现延迟。这个值可能变化百分比取决于采样率,延迟和延迟%的传播rxwave =通道([txwave;0 (channelInfo。MaximumChannelDelay、大小(txwave, 2)));%添加噪声噪音= N0 *复杂(randn(大小(rxwave)), randn(大小(rxwave)));rxwave = rxwave +噪声;%跳过这个位置,如果是开是不活跃的。%跳过槽后推进的检测通道%确保频道总是同步的当前槽%。%如果在这个位置开环是不活跃的,接收方不应%指望开环传输,因此不应该%检测开环。跳过一个不活跃的插槽的检测%执行一致性测试时特别重要。如果%是开是不活跃的,参考波形计算内部%的| nrPRACHDetect |函数是空的。这导致了一个空%的相关性,从而检测到一个空的序言。这个空%序言导致不正确的值的检测%的概率。如果isempty (winfo.WaveformResources.PRACH.Resources.PRACHSymbols)继续;结束numActivePRACHSlots = numActivePRACHSlots + 1;%去除通道滤波器的实现延迟rxwave = rxwave ((channelInfo。ChannelFilterDelay + 1):最终,);%应用频率偏移t =((0:大小(rxwave, 1) 1) / channel.SampleRate)。”;rxwave = rxwave。* repmat (exp(1 * 2 *π* foffset * t), 1,大小(rxwave, 2));%所有细胞中开环检测指标(检测、补偿)= nrPRACHDetect (rxwave载体,开环,“DetectionThreshold”阈值);%测试中检测如果(长度(发现)= = 1)如果~ prachEnabled%的假警报测试,任何序言发现是错的detectedCount = detectedCount + 1;其他的%检查正确的序言如果(= = prach.PreambleIndex检测)%计算定时估计误差trueOffset = timingOffset / 1 e6;% (s)measuredOffset =补偿(1)/ channel.SampleRate;timingerror = abs (measuredOffset-trueOffset);%测试可接受的计时误差如果(timingerror < = timeErrorTolerance / 1 e6) detectedCount = detectedCount + 1;%检测序言结束结束结束结束结束% nSlot循环%计算最终的检测概率的信噪比pDetection (snrIdx) = detectedCount / numActivePRACHSlots;%显示这个信噪比的检测概率流(“探测概率:% d % % \ n 'pDetection (snrIdx) * 100);结束%的信噪比循环
13:39:31:模拟信噪比= -21.0 dB…探测概率:0% 13:39:33:模拟信噪比= -16.0 dB……探测概率:40% 13:39:34:模拟信噪比= -11.0 dB……探测概率:80% 13:39:35:模拟信噪比= -6.0 dB……探测概率:100%13:39:36: Simulating SNR = -1.0 dB...Detection probability: 100%

结果

结束时信噪比循环,示例图每个信噪比的检测概率计算值对目标的概率。

%的阴谋探测概率图(“名字”,“探测概率”);情节(SNRdB pDetection,“这”,“线宽”2,“MarkerSize”7);标题([的探测概率的num2str (numPRACHSlots)“开槽(s)”]);包含(“信噪比(dB)”);ylabel (“探测概率”);网格;持有;%绘制目标概率如果prachEnabled%为错过的检测试验,检测概率应> = 99%pTarget = 99;其他的%假警报测试,检测概率应< 0.1%pTarget = 0.1;% #好< UNRCH >结束图(-6.0,pTarget / 100,“处方”,“线宽”2,“MarkerSize”7);传奇(的仿真结果,(“目标”num2str (pTarget)“%概率”),“位置”,“最佳”);minP = 0;如果(~ isnan (min (pDetection))) minP = min ([pDetection (:);pTarget]);结束轴([SNRdB (1) -0.1 SNRdB(结束)+ 0.1 minp - 0.05 - 1.05))

引用

  1. 3 gpp TS 38.141 - 1。“NR;基站(BS)一致性测试。第1部分:进行一致性测试。”第三代合作伙伴项目;技术规范集团无线接入网络

  2. 3 gpp TS 38.104。“NR;基站(BS)无线电发射和接受。”第三代合作伙伴项目;技术规范集团无线接入网络

另请参阅

功能

对象

相关的话题