文档

NR PUSCH吞吐量

这个例子展示了如何衡量物理上行共享通道(PUSCH)吞吐量5 g的新收音机(NR)链接,按照3 gpp NR的定义标准。这个例子实现PUSCH和上行传输通道(UL-SCH)。发射机模型包括PUSCH解调参考符号(DM-RS)。这个例子同时支持集群延迟金宝app线(CDL)和抽头延迟线(TDL)传播渠道。您可以执行完美的或实际的同步和信道估计。减少总模拟时间,您可以并行执行在信噪比SNR点循环利用并行计算工具箱™。

介绍

这个例子措施5 g的PUSCH吞吐量链接,由3 gpp NR定义标准(1]、[2]、[3]、[4]。

以下5 g NR特性进行建模:

  • UL-SCH传输信道编码

  • PUSCH和PUSCH DM-RS一代

  • 变量副载波间距和帧数字命理学(2 ^ n * 15 khz)

  • 正常和扩展循环前缀

  • TDL和CDL传播信道模型

其他特性的模拟:

  • 码和基于non-codebook PUSCH传输方案

  • 可选PUSCH变换预编码

  • 槽明智的和非槽明智PUSCH和DM-RS映射

  • 完美的或实际的同步和信道估计

  • HARQ与16个流程操作

下图展示了处理链实现。为了清楚起见,DM-RS一代被省略了。

注意,这个例子中并不包括闭环MIMO预编码根据通道的适应条件。中使用的PUSCH MIMO预编码示例如下:

  • 基于码书的传播,天线系统预编码矩阵内部使用PUSCH调制可以选择使用TPMI参数。

  • 特定于实现MIMO预编码矩阵(基于non-codebook传播,或再分配预编码传输天线端口和天线之间基于码书的传播)是一个单位矩阵。

减少总模拟时间,您可以使用并行计算工具箱执行并行的信噪比信噪比循环。

仿真长度和信噪比点

集的长度模拟10 ms帧的数量。应该使用大量NFrames吞吐量产生有意义的结果。设置模拟信噪比点。每再保险和信噪比的定义适用于每一个接收天线。

simParameters = [];%明显simParameters变量simParameters。NFrames = 2;% 10 ms的帧数simParameters。SNRIn = (5 0 5);%信噪比范围(dB)

的变量displaySimulationInformation控制仿真的显示信息,如用于每个子帧的HARQ进程ID。在CRC错误的情况下,指数RV序列的值也显示出来。

displaySimulationInformation = true;

信道估计配置

逻辑变量perfectChannelEstimator控制信道估计和同步行为。当设置为真正的,完美的信道估计和同步使用。否则,使用实际的信道估计和同步,根据接收到的值PUSCH DM-RS。

perfectChannelEstimator = true;

问题和PUSCH配置

设置仿真的关键参数。这些包括:

  • 带宽资源块(12副载波资源块)

  • 副载波间隔:15、30、60、120、240(赫兹)

  • 循环前缀长度:正常或扩展

  • 细胞ID

  • 数量的传输和接收天线

包含UL-SCH的子结构和PUSCH参数指定。这包括:

  • 目标代码的速度

  • 分配的资源块(PRBSet)

  • 调制方案:“π/ 2-BPSK”、“正交相移编码”,“16 qam”、“64 qam”,“256 qam”

  • 层数

  • 改变预编码(启用/禁用)

  • PUSCH传输方案和分布式天线预编码矩阵指示(TPMI)

  • 天线端口的数量

  • PUSCH映射类型

  • DM-RS配置参数

其他模拟宽参数:

  • 传播信道模型:“TDL”或“CDL”

注意,如果启用了预编码,转换层的数量应该设置为1。

%的带宽,数字命理学(SCS和CP型)和其他通用参数simParameters。NRB = 52个;%的带宽数量的资源块(52苏格兰皇家银行在15 khz SCS 10 mhz BW)simParameters。SubcarrierSpacing = 15;% 15、30、60、120、240(赫兹)simParameters。CyclicPrefix =“正常”;%“正常”或“扩展”simParameters。NCellID = 0;%细胞身份simParameters。NTxAnts = 1;%的发送天线数量simParameters。NRxAnts = 2;%的接收天线% UL-SCH / PUSCH参数simParameters.PUSCH。TargetCodeRate = 193/1024;%编码速率用于计算传输块大小simParameters.PUSCH。PRBSet = (0: simParameters.NRB-1);% PUSCH复审委员会分配simParameters.PUSCH。SymbolSet = 0:13;在每个槽% PUSCH符号分配simParameters.PUSCH。NohPRB = 0;%的额外开销/复审委员会simParameters.PUSCH。EnableHARQ = true;%启用/禁用HARQ,如果禁用,单一的传播与RV = 0,即没有出现simParameters.PUSCH。调制=“正交相移编码”;%的π/ 2-BPSK, QPSK, 16 qam,‘64 qam’,‘256 qam’simParameters.PUSCH。NLayers = 1;%的PUSCH层simParameters.PUSCH。RNTI = 1;%无线电网络临时标识符simParameters.PUSCH。TransformPrecoding = false;%启用/禁用改变预编码simParameters.PUSCH。TxScheme =“nonCodebook”;%传输方案(“nonCodebook”、“码”)simParameters.PUSCH。NAntennaPorts = 1;%的天线端口数量基于码书的预编码simParameters.PUSCH。TPMI = 0;%的预编码矩阵指标基于码书的预编码% PUSCH DM-RS配置simParameters.PUSCH。PUSCHMappingType =“一个”;% PUSCH映射类型(“A”(slot-wise),“B”(非slot-wise))simParameters.PUSCH。DMRSTypeAPosition = 2;%映射类型。第一个DM-RS符号位置(2、3)simParameters.PUSCH。DMRSLength = 1;%的前置DM-RS符号(1(单符号),2(双符号))simParameters.PUSCH。DMRSAdditionalPosition = 1;%额外DM-RS标志位置(最大范围0…3)simParameters.PUSCH。DMRSConfigurationType = 1;% DM-RS配置类型(1、2)simParameters.PUSCH。NumCDMGroupsWithoutData = 2;% CDM组没有数据simParameters.PUSCH。NIDNSCID = 0;%匆忙身份(0。65535)simParameters.PUSCH。NSCID = 0;%地初始化(0,1)simParameters.PUSCH。NRSID = 0;%匆忙ID low-PAPR序列(0。1007)simParameters.PUSCH。GroupHopping =“禁用”;%跳跃类型(“启用”、“禁用”)%定义传播渠道类型simParameters。ChannelType =“TDL”;%“CDL”或“TDL”

创建问题配置结构问题和PUSCH配置结构pusch

问题= simParameters;pusch = simParameters.PUSCH;

关键仿真参数,为方便定义局部变量。

snrIn = simParameters.SNRIn;nTxAnts = simParameters.NTxAnts;nRxAnts = simParameters.NRxAnts;channelType = simParameters.ChannelType;

传播通道模型配置

创建通道模型对象。CDL和TDL通道模型都支持(金宝app5]。

如果strcmpi (channelTypeCDL的)= nrCDLChannel频道;通道。DelayProfile =“CDL-A”;[txsize, rxsize] = hArrayGeometry (nTxAnts nRxAnts,“上行”);channel.TransmitAntennaArray。大小= txsize;channel.ReceiveAntennaArray。大小= rxsize;其他的频道= nrTDLChannel;通道。DelayProfile =“TDL-A”;通道。NumTransmitAntennas = nTxAnts;通道。NumReceiveAntennas = nRxAnts;结束通道。DelaySpread = 30 e-9;%在几秒钟内通道。MaximumDopplerShift = 10;%在赫兹

通道模型的采样率从hOFDMInfo设置使用返回的值。

waveformInfo = hOFDMInfo(问题);通道。SampleRate = waveformInfo.SamplingRate;

得到样品推迟了一个通道的最大数量多路径组件。这是计算从通道路径的最大延迟和实现延迟通道过滤器。这是要求后冲洗通道滤波器得到接收信号。

chInfo =信息(渠道);maxChDelay =装天花板(max (chInfo.PathDelays * channel.SampleRate));maxChDelay = maxChDelay + chInfo.ChannelFilterDelay;

处理循环

确定每个信噪比点的吞吐量,PUSCH数据分析每个传输实例使用以下步骤:

  • 更新当前HARQ进程。检查前面的CRC给定HARQ的传输过程。确定是否需要重传。如果不是这种情况产生新的数据。

  • 生成网格资源。信道编码是由nrULSCH。它作用于输入传输块。在内部,它使交通阻塞的一个副本,以防需要重传。是通过控制调节编码比特nrPUSCH。特定于实现的天线系统预编码应用于产生的信号。注意,如果TxScheme =“码”,基于码书的MIMO预编码就已经被应用在里面nrPUSCH特定于实现MIMO预编码是一个额外的MIMO预编码阶段。

  • 产生波形。然后OFDM调制生成的网格。

  • 噪声信道模型。波形是通过CDL或TDL衰落信道。AWGN添加。每一层的信噪比是定义每再保险和接收天线。

  • 执行同步和OFDM解调。完美的同步,信道脉冲响应重构和用于同步接收到的波形。为实际同步,接收到的波形与PUSCH DM-RS。然后OFDM解调的同步信号。

  • 进行信道估计。如果使用完美的信道估计,重建和OFDM解调的信道冲激响应估计提供渠道。对于实际的信道估计,PUSCH DM-RS使用。

  • 提取PUSCH并执行均衡。PUSCH分配相应的资源元素提取接收到的OFDM信道估计资源网格和使用nrExtractResources。收到PUSCH资源元素然后MMSE均衡使用nrEqualizeMMSE

  • PUSCH解码。均衡PUSCH符号以及噪声估计,解调和descramblednrPUSCHDecode获得接收的码字估计。

  • 解码上行共享通道(UL-SCH)和存储块CRC错误HARQ的过程。软解码比特传递给的向量nrULSCHDecoder解码码字并返回该块CRC错误用于确定系统的吞吐量。

%数组来存储所有信噪比点的最大吞吐量maxThroughput = 0(长度(snrIn), 1);%数组来存储所有信噪比点的模拟吞吐量simThroughput = 0(长度(snrIn), 1);%设置冗余版本(RV)序列,HARQ过程和数量%的顺序HARQ进程使用如果pusch.EnableHARQ%从PUSCH解调要求跑WG4会议# 88双% (r4 - 1814062)rvSeq = [0 2 3 1];其他的% HARQ残疾——单一的传播与RV = 0,没有重发rvSeq = 0;结束%建立UL-SCH编码器系统对象encodeULSCH = nrULSCH;encodeULSCH。MultipleHARQProcesses = true;encodeULSCH。TargetCodeRate = pusch.TargetCodeRate;%建立UL-SCH解码器系统对象%对LDPC译码使用分层的信念传播,有一半的数量%迭代比默认为信念传播译码decodeULSCH = nrULSCHDecoder;decodeULSCH。MultipleHARQProcesses = true;decodeULSCH。TargetCodeRate = pusch.TargetCodeRate;decodeULSCH。LDPCDecodingAlgorithm =“分层信念传播”;decodeULSCH。MaximumLDPCIterationCount = 6;%的临时变量‘ue_init’,‘pusch_init’和‘decodeULSCH_init’%用于创建临时变量‘问题’,‘pusch’%的decodeULSCH信噪比回路中的创建独立的实例%的并行仿真ue_init =问题;pusch_init = pusch;decodeULSCH_init =克隆(decodeULSCH);snrIdx = 1:元素个数(snrIn)%的评论进行并行计算% parfor snrIdx = 1:元素个数为并行计算(snrIn) %取消%减少总模拟时间,你可以执行这个循环%并行使用并行计算工具箱。注释掉”的%声明和取消“parfor”声明。如果并行计算%工具箱没有安装,“parfor”默认为正常”的声明。%因为parfor-loop迭代并行执行的%不确定的顺序,每个信噪比的模拟信息显示%点可以交织在一起。关闭模拟信息显示,%以上的displaySimulationInformation变量设置为false%重置随机数发生器和通道,以便每个信噪比点%会经历相同的噪声和信道实现rng (“默认”);重置(渠道);%初始化变量的信噪比,需要初始化%的变量在使用并行计算工具箱问题= ue_init;pusch = pusch_init;pathFilters = [];%我们指定的顺序循环HARQ进程NHARQProcesses = 16;harqSequence = 1: NHARQProcesses;%初始化所有HARQ进程的状态和重置UL-SCH%译码器harqProcesses = hNewHARQProcesses (NHARQProcesses rvSeq 1);harqProcCntr = 0;% HARQ过程计数器decodeULSCH =克隆(decodeULSCH_init);SNRdB = snrIn (snrIdx);流(“\ nSimulating % s传输方案(%)% d)和SCS在% = %和% s dkHz频道gdB信噪比% d 10 ms框架(s) \ n”,nTxAnts pusch.TxScheme nRxAnts、ue.SubcarrierSpacing channelType, SNRdB, ue.NFrames);%的OFDM符号总数仿真waveformInfo = hOFDMInfo(问题);NSymbols =问题。NFrames * 10 * waveformInfo.SymbolsPerSubframe;% OFDM符号数量与每个PUSCH开始传播问题。NSymbol = 0;%运行计数器PUSCH传输实例的数量%仿真将使用这个计数器为每个槽位号% PUSCHpusch。NSlot = 0;%定时偏移,在每个槽完美的同步和更新%时,相关性强的实用的同步抵消= 0;问题。NSymbol < NSymbols%计算这个位置的传输块大小[puschIndices, dmrsIndices dmrsSymbols puschIndicesInfo] = hPUSCHResources(问题,pusch);TBS = hPUSCHTBS (pusch puschIndicesInfo。NREPerPRB - pusch.NohPRB);%得到HARQ进程指数当前PUSCH HARQ的指数%的表harqProcIdx = harqSequence (mod (harqProcCntr长度(harqSequence)) + 1);%更新当前HARQ过程信息(RV这个更新%根据CRC通过或失败在前面的传播%这个HARQ过程)harqProcesses (harqProcIdx) = hUpdateHARQProcess (harqProcesses (harqProcIdx), 1);% HARQ:检查CRC从之前的传播,即是一个%需要重传?NDI = false;如果harqProcesses .blkerr (harqProcIdx)%的错误如果(harqProcesses (harqProcIdx) .RVIdx = = 1)% rvSeq年底resetSoftBuffer (decodeULSCH harqProcIdx-1);NDI = true;结束其他的%没有错误NDI = true;结束如果NDI trBlk =兰迪([0,1],TBS, 1);setTransportBlock (encodeULSCH trBlk harqProcIdx-1);结束% UL-SCH编码codedTrBlock = encodeULSCH (pusch.Modulation pusch.NLayers、puschIndicesInfo.G harqProcesses (harqProcIdx) .RV harqProcIdx-1);% PUSCH调制,包括基于码书的MIMO预编码% TxScheme =“码”MRB =元素个数(pusch.PRBSet);puschSymbols = nrPUSCH (codedTrBlock pusch.Modulation、pusch.NLayers ue.NCellID, pusch.RNTI, pusch.TransformPrecoding, MRB, pusch.TxScheme, pusch.NAntennaPorts, pusch.TPMI);%创建资源网格与PUSCH传播期puschGrid = 0 (waveformInfo.NSubcarriers waveformInfo.SymbolsPerSlot nTxAnts);%特定于实现的PUSCH MIMO预编码和映射。这%天线系统预编码步骤是除了任何基于码书的在上面PUSCH调制%天线系统预编码完成如果(strcmpi (pusch.TxScheme“码”))%基于码书的MIMO预编码,F precodes PUSCH之间%传输天线端口和传输天线F =眼睛(pusch.NAntennaPorts nTxAnts);其他的% non-codebook基于MIMO预编码,F precodes PUSCH之间%层和传输天线F =眼睛(pusch.NLayers nTxAnts);结束[~,puschAntIndices] = nrExtractResources (puschIndices puschGrid);puschGrid (puschAntIndices) = puschSymbols * F;%特定于实现PUSCH DM-RS天线系统预编码和映射。% DM-RS创建上面hPUSCHResources包括电报密码本%基于MIMO预编码如果适用p = 1:尺寸(dmrsSymbols, 2) [~, dmrsAntIndices] = nrExtractResources (dmrsIndices (: p), puschGrid);puschGrid (dmrsAntIndices) = puschGrid (dmrsAntIndices) + dmrsSymbols (: p) * F (p:);结束% OFDM调制puschGrid txWaveform = hOFDMModulate(问题);%通过通道模型传递数据。附加零结束的时候%传播波形冲洗频道内容。这些零%考虑推迟引入的通道。这是一个组合%的多路延迟和实现延迟。这个值可能变化百分比取决于采样率,延迟和延迟%的传播txWaveform = [txWaveform;0 (maxChDelay、尺寸(txWaveform 2)));% #好< AGROW >[rxWaveform, pathGains sampleTimes] =通道(txWaveform);%添加情况下接收到的时域波形%正常化传输线噪声功率的大小用于OFDM调制,%的OFDM调制器应用这个正常化%传播波形。收到的数量也正常%天线,信道模型的默认行为%接收到的波形应用这个正常化信噪比= 10 ^ (SNRdB / 20);N0 = 1 / (√(2.0 * nRxAnts *双(waveformInfo.Nfft)) *信噪比);噪音= N0 *复杂(randn(大小(rxWaveform)), randn(大小(rxWaveform)));rxWaveform = rxWaveform +噪声;如果(perfectChannelEstimator)%完美同步。使用提供的信息%频道找到最强的多路径组件pathFilters = getPathFilters(渠道);(抵消,mag) = nrPerfectTimingEstimate (pathGains pathFilters);其他的%实际同步。将接收到的波形%的PUSCH DM-RS给定时偏移估计和“t”%的相关性大小“杂志”。这个函数% hSkipWeakTimingOffset用于更新接收时间%抵消。如果“杂志”的相关峰很弱,当前%的时间估计“t”被忽略和先前的估计使用%“抵消”(t, mag) = nrTimingEstimate (rxWaveform、ue.NRB ue.SubcarrierSpacing, pusch.NSlot, dmrsIndices, dmrsSymbols,“CyclicPrefix”,ue.CyclicPrefix);% #好< UNRCH >抵消= hSkipWeakTimingOffset(抵消t杂志);结束rxWaveform = rxWaveform(1 +抵消:最终,);%完成OFDM解调接收的数据重新创建%网格资源,包括填充时,实用%同步解调结果在一个不完整的槽rxWaveform rxGrid = hOFDMDemodulate(问题);[K, L R] =大小(rxGrid);如果(L < waveformInfo.SymbolsPerSlot) rxGrid =猫(2 rxGrid 0 (K, waveformInfo.SymbolsPerSlot-L, R));结束如果(perfectChannelEstimator)%完美的信道估计,使用路径的价值收益%由渠道提供estChannelGrid = nrPerfectChannelEstimate (pathGains pathFilters、ue.NRB ue.SubcarrierSpacing, pusch.NSlot,抵消,sampleTimes, ue.CyclicPrefix);%得到完美的噪声估计(从噪声实现)noiseGrid = hOFDMDemodulate(问题、噪声(1 +抵消:最终,));噪音= var (noiseGrid (:));%应用MIMO deprecoding estChannelGrid给估计% /传输层K =大小(estChannelGrid, 1);estChannelGrid =重塑(estChannelGrid K * waveformInfo.SymbolsPerSlot * nRxAnts nTxAnts);estChannelGrid = estChannelGrid * F。';如果(strcmpi (pusch.TxScheme“码”)W = nrPUSCHCodebook (pusch.NLayers、pusch.NAntennaPorts pusch.TPMI, pusch.TransformPrecoding);estChannelGrid = estChannelGrid * W。';结束estChannelGrid =重塑(estChannelGrid K waveformInfo.SymbolsPerSlot nRxAnts, []);其他的%实际收到网格和之间的信道估计%每个传输层,使用PUSCH DM-RS每一层[~,dmrsLayerIndices dmrsLayerSymbols] = hPUSCHResources(问题,setfield (pusch,“TxScheme”,“nonCodebook”));% #好< UNRCH >[estChannelGrid,噪音]= nrChannelEstimate (rxGrid、dmrsLayerIndices dmrsLayerSymbols,“CyclicPrefix”ue.CyclicPrefix,“CDMLengths”,puschIndicesInfo.CDMLengths);结束%得到PUSCH资源元素从接收到的网格[puschRx, puschHest] = nrExtractResources (puschIndices、rxGrid estChannelGrid);%均衡[puschEq, csi] = nrEqualizeMMSE (puschRx puschHest,噪音);%解码PUSCH物理通道[ulschLLRs, rxSymbols] = nrPUSCHDecode (puschEq、pusch.Modulation ue.NCellID, pusch.RNTI,噪音,pusch.TransformPrecoding, MRB);%申请信道状态信息(CSI)产生的均衡器,如果启用%包括预编码转换的影响如果(pusch.TransformPrecoding) MSC = MRB * 12;csi = nrTransformDeprecode csi, MRB) /√(MSC);csi = repmat (csi ((1: MSC:结束)。”),1,MSC)。“;csi =重塑(csi,大小(rxSymbols));结束csi = nrLayerDemap (csi);Qm =长度(ulschLLRs) / (rxSymbols);csi =重塑(repmat (csi {1}”。Qm, 1), [], 1);ulschLLRs = ulschLLRs。* csi;%解码UL-SCH传输通道decodeULSCH。TransportBlockLength = TBS;[decbits harqProcesses (harqProcIdx)。blkerr] = decodeULSCH (ulschLLRs、pusch.Modulation pusch.NLayers, harqProcesses (harqProcIdx) .RV harqProcIdx-1);%存储值计算的吞吐量simThroughput (snrIdx) = simThroughput (snrIdx) + (~ harqProcesses (harqProcIdx)。blkerr * TBS);maxThroughput (snrIdx) = maxThroughput (snrIdx) + TBS;%显示传输块的错误信息如果(displaySimulationInformation)流(' \ n (% 3.2 f % %) HARQ Proc % d:“,100 * (ue.NSymbol +大小(puschGrid, 2)) / NSymbols harqProcIdx);estrings = {“通过”,“失败”};rvi = harqProcesses (harqProcIdx) .RVIdx;如果rvi = = 1 t = sprintf (“初始传输(RV = % d)”rvSeq (rvi));其他的ts = sprintf (“重传# % d (RV = % d) '、rvi-1 rvSeq (rvi));结束流(' % s % s。”ts, estrings {1 + harqProcesses (harqProcIdx) .blkerr});结束%更新开始下PUSCH传播符号的数量问题。NSymbol =问题。NSymbol +大小(puschGrid 2);%更新计数PUSCH传输的总人数pusch。NSlot = pusch。NSlot + 1;%更新HARQ过程计数器harqProcCntr = harqProcCntr + 1;结束%动态在命令窗口中显示结果如果(displaySimulationInformation)流(' \ n ');结束流([[' \ nThroughput (Mbps)的num2str (ue.NFrames)框架(年代)”),“= % .4f \ n”),1 e-6 * simThroughput (snrIdx) / (ue.NFrames * 10 e - 3));流([的吞吐量(% %)num2str (ue.NFrames)的帧(s) = % .4f \ n '),simThroughput (snrIdx) * 100 / maxThroughput (snrIdx));结束
模拟nonCodebook-based传输方案(1 x2)和SCS = 15 khz TDL通道5 db信噪比2 10 ms框架(s) (5.00%) HARQ Proc 1:初始传播(RV = 0)失败。(10.00%)HARQ Proc 2:初始传播(RV = 0)失败。(15.00%)HARQ Proc 3:初始传播(RV = 0)失败。(20.00%)HARQ Proc 4:初始传播(RV = 0)失败。(25.00%)HARQ Proc 5:初始传播(RV = 0)失败。(30.00%)HARQ Proc 6:初始传播(RV = 0)失败。(35.00%)HARQ Proc 7:初始传播(RV = 0)失败。(40.00%)HARQ Proc 8:初始传播(RV = 0)失败。(45.00%)HARQ Proc 9:初始传播(RV = 0)失败。(50.00%)HARQ Proc 10:初始传播(RV = 0)失败。 (55.00%) HARQ Proc 11: Initial transmission (RV=0) failed. (60.00%) HARQ Proc 12: Initial transmission (RV=0) failed. (65.00%) HARQ Proc 13: Initial transmission (RV=0) failed. (70.00%) HARQ Proc 14: Initial transmission (RV=0) failed. (75.00%) HARQ Proc 15: Initial transmission (RV=0) failed. (80.00%) HARQ Proc 16: Initial transmission (RV=0) failed. (85.00%) HARQ Proc 1: Retransmission #1 (RV=2) passed. (90.00%) HARQ Proc 2: Retransmission #1 (RV=2) passed. (95.00%) HARQ Proc 3: Retransmission #1 (RV=2) passed. (100.00%) HARQ Proc 4: Retransmission #1 (RV=2) passed. Throughput(Mbps) for 2 frame(s) = 0.5712 Throughput(%) for 2 frame(s) = 20.0000 Simulating nonCodebook-based transmission scheme (1x2) and SCS=15kHz with TDL channel at 0dB SNR for 2 10ms frame(s) (5.00%) HARQ Proc 1: Initial transmission (RV=0) passed. (10.00%) HARQ Proc 2: Initial transmission (RV=0) passed. (15.00%) HARQ Proc 3: Initial transmission (RV=0) passed. (20.00%) HARQ Proc 4: Initial transmission (RV=0) passed. (25.00%) HARQ Proc 5: Initial transmission (RV=0) passed. (30.00%) HARQ Proc 6: Initial transmission (RV=0) passed. (35.00%) HARQ Proc 7: Initial transmission (RV=0) passed. (40.00%) HARQ Proc 8: Initial transmission (RV=0) passed. (45.00%) HARQ Proc 9: Initial transmission (RV=0) passed. (50.00%) HARQ Proc 10: Initial transmission (RV=0) passed. (55.00%) HARQ Proc 11: Initial transmission (RV=0) passed. (60.00%) HARQ Proc 12: Initial transmission (RV=0) passed. (65.00%) HARQ Proc 13: Initial transmission (RV=0) passed. (70.00%) HARQ Proc 14: Initial transmission (RV=0) passed. (75.00%) HARQ Proc 15: Initial transmission (RV=0) passed. (80.00%) HARQ Proc 16: Initial transmission (RV=0) passed. (85.00%) HARQ Proc 1: Initial transmission (RV=0) passed. (90.00%) HARQ Proc 2: Initial transmission (RV=0) passed. (95.00%) HARQ Proc 3: Initial transmission (RV=0) passed. (100.00%) HARQ Proc 4: Initial transmission (RV=0) passed. Throughput(Mbps) for 2 frame(s) = 2.8560 Throughput(%) for 2 frame(s) = 100.0000 Simulating nonCodebook-based transmission scheme (1x2) and SCS=15kHz with TDL channel at 5dB SNR for 2 10ms frame(s) (5.00%) HARQ Proc 1: Initial transmission (RV=0) passed. (10.00%) HARQ Proc 2: Initial transmission (RV=0) passed. (15.00%) HARQ Proc 3: Initial transmission (RV=0) passed. (20.00%) HARQ Proc 4: Initial transmission (RV=0) passed. (25.00%) HARQ Proc 5: Initial transmission (RV=0) passed. (30.00%) HARQ Proc 6: Initial transmission (RV=0) passed. (35.00%) HARQ Proc 7: Initial transmission (RV=0) passed. (40.00%) HARQ Proc 8: Initial transmission (RV=0) passed. (45.00%) HARQ Proc 9: Initial transmission (RV=0) passed. (50.00%) HARQ Proc 10: Initial transmission (RV=0) passed. (55.00%) HARQ Proc 11: Initial transmission (RV=0) passed. (60.00%) HARQ Proc 12: Initial transmission (RV=0) passed. (65.00%) HARQ Proc 13: Initial transmission (RV=0) passed. (70.00%) HARQ Proc 14: Initial transmission (RV=0) passed. (75.00%) HARQ Proc 15: Initial transmission (RV=0) passed. (80.00%) HARQ Proc 16: Initial transmission (RV=0) passed. (85.00%) HARQ Proc 1: Initial transmission (RV=0) passed. (90.00%) HARQ Proc 2: Initial transmission (RV=0) passed. (95.00%) HARQ Proc 3: Initial transmission (RV=0) passed. (100.00%) HARQ Proc 4: Initial transmission (RV=0) passed. Throughput(Mbps) for 2 frame(s) = 2.8560 Throughput(%) for 2 frame(s) = 100.0000

结果

显示测量吞吐量。这是计算链接的最大吞吐量的百分比数据传输的可用资源。

图;情节(snrIn simThroughput * 100. / maxThroughput,“啊——”。)包含(“信噪比(dB)”);ylabel (的吞吐量(%));网格;如果(pusch_init.TransformPrecoding) ofdmType =“DFT-s-OFDM”;其他的ofdmType =“CP-OFDM”;结束标题(sprintf (' % s / NRB = % d / SCS = % dkHz / % s % d / 1024 / % dx % d ',ofdmType、ue_init.NRB ue_init.SubcarrierSpacing,pusch_init.Modulation,轮(pusch_init.TargetCodeRate * 1024)、nTxAnts nRxAnts));simResults。simParameters = simParameters;simResults。simThroughput = simThroughput;simResults。maxThroughput = maxThroughput;

下面的图显示了吞吐量结果模拟10000子帧(NFrames = 1000,SNRIn = 16:2:6)。

附录

这个示例使用以下辅助函数:

选定的参考书目

  1. 3 gpp TS 38.211。“NR;物理通道和调制(15)发布。”3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  2. 3 gpp TS 38.212。“NR;多路复用和信道编码(15)发布。”3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  3. 3 gpp TS 38.213。“NR;物理层程序控制(释放15)。”3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  4. 3 gpp TS 38.214。“NR;物理层数据程序(释放15)。”3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  5. 3 gpp TR 38.901。“研究通道模型从100年0.5 GHz频率(释放15)。”第三代合作伙伴项目;技术规范集团无线接入网络。

另请参阅

对象

功能