主要内容

PDSCH吞吐量基于Non-Codebook预编码方案:港口5 (TM7),港口7或8或端口7 - 8 (TM8),港口7 - 14 (TM9和TM10)

这个案例展示了如何测量物理下行共享信道(PDSCH)吞吐量性能使用LTE工具箱™基于以下non-codebook预编码传输模式(TM):

  • 单层TM7:基于non-codebook预编码(5)港

  • TM8:基于non-codebook预编码两层(双港7 - 8层,或单一的天线端口,端口7或8)

  • TM9 TM10: non-codebook预编码为基础8层端口7 - 14或单天线端口,端口7或8

FDD支持和TDD双工计划。金宝app示例还显示了如何参数化和定制的设置不同的传播模式。它还支持使用并行金宝app计算工具箱™减少有效的模拟时间。

介绍

这个例子措施吞吐量的信噪比点。提供的代码可以在许多传输模式:TM7, TM8, TM9 TM10。FDD支持和TDD双工计划。金宝app为TM1信息模型、TM2 TM3, TM4和TM6检查下面的例子:PDSCH吞吐量为单天线(TM1)一致性测试,发射分集(TM2),开环(TM3)和闭环(TM4/6)空间复用

基于自non-codebook经颅磁刺激被认为是,预编码(波束形成)矩阵必须计算。这是通过使用奇异值分解)的方法。完美的知识频道。

为每个考虑信噪比点,操作子帧的子帧的基础上:

  • 波束形成的预编码矩阵计算出一个完美的信道估计。

  • 人口资源网格生成和OFDM调制波形传输。

  • 生成的波形是通过一个嘈杂的衰落信道。

  • 接收机操作(信道估计、均衡、解调和解码)。

  • 的吞吐量性能PDSCH决定使用块CRC在信道译码器的输出结果。

一个parfor循环可以代替使用循环的信噪比计算。这是显示在的例子。的parfor语句是并行计算工具箱的一部分和并行执行信噪比循环减少总仿真时间。

模拟配置

的例子是执行模拟的长度NFrames= 2帧的信噪比点。大量的NFrames应该用于吞吐量产生有意义的结果。SNRIn可以是一个数组的值或一个标量。一些经颅磁刺激和某些调制方案比其他的更健壮的噪音和通道障碍,因此不同的值信噪比可能用于不同的参数集。

NFrames = 2;%的帧数SNRIn = 1 [4];在dB %信噪比范围

一组常见的最初指定所有经颅磁刺激参数,其中包括带宽,所需的编码速率,调制方案和分配的资源块。不指定一个RMC将确保所有下行子帧数量。如果RMC(如指定。“R.0”)中定义的子帧调度是TS 36.101 [1]。

的变量txMode通过一个switch语句选择TM。对于每一个TM,指定所需的参数。这个例子不执行DCI格式解码,所以DCIFormat场并不是必需的。然而,由于DCI格式TM密切相关,它包括完整性。

这个例子的目的,TM9和TM10是相同的,除了DCI格式,然而,他们是分开的switch语句的完整性。

一旦指定的基本设置参数,调用lteRMCDL需要完全填充下行参数结构enb

simulationParameters = [];%明显simulationParameterssimulationParameters。NDLRB = 50;simulationParameters.PDSCH。TargetCodeRate = 0.5;simulationParameters.PDSCH。调制= {16 qam的};simulationParameters.PDSCH。PRBSet = (0:9) ';txMode =“TM8”;% TM7, TM8 TM9 TM10DuplexMode =“TDD”;%的FDD, TDD的开关txMode情况下“TM7”%单层(端口5)simulationParameters.PDSCH。DCIFormat =“Format1”;simulationParameters.PDSCH。TxScheme =“Port5”;simulationParameters.PDSCH。NLayers = 1;ntxants = 4;情况下“TM8”%两层(双港7 - 8层,或单一的天线%端口,端口7或8)simulationParameters.PDSCH。DCIFormat =“Format2B”;simulationParameters.PDSCH。TxScheme =“Port7-8”;%’Port7-8”、“Port8”simulationParameters.PDSCH。NLayers = 2;ntxants = 4;simulationParameters.PDSCH。NSCID = 0;情况下“TM9”% 8层(八层端口7 - 14或单身%天线端口,端口7或8)simulationParameters.PDSCH。DCIFormat =“Format2C”;simulationParameters.PDSCH。TxScheme =“Port7-14”;simulationParameters.PDSCH。NLayers = 4;ntxants = 8;simulationParameters。CSIRefP = ntxants;情况下“TM10”% 8层(端口7 - 14或8层%单天线端口,端口7或8)simulationParameters.PDSCH。DCIFormat =“Format2D”;simulationParameters.PDSCH。TxScheme =“Port7-14”;simulationParameters.PDSCH。NLayers = 4;ntxants = 8;simulationParameters。CSIRefP = ntxants;否则错误(的传输方式应该是TM7, TM8, TM9或TM10”。)结束% 2码字(超过4层),调制领域需要两个值,每一个码字如果(simulationParameters.PDSCH。NLayers> 4) && (length(simulationParameters.PDSCH.Modulation)<2) simulationParameters.PDSCH.Modulation = repmat(simulationParameters.PDSCH.Modulation,1,2);结束

预编码矩阵的大小W(波束形成矩阵)NLayers——- - - - - -ntxants。从发射天线的数量W在随后的工具箱函数调用。接收天线的数量稍后指定作为传播通道的一部分。

%初始化W为零simulationParameters.PDSCH。W= zeros(simulationParameters.PDSCH.NLayers, ntxants);

设置双工模式并指定子帧的数量为1。代码生成的子帧重复一次,直到共有NFrames生成。

simulationParameters。DuplexMode =DuplexMode; simulationParameters.TotSubframes = 1;

调用lteRMCDL函数来生成默认eNodeB参数中指定simulationParameters。这些需要使用后生成波形lteRMCDLTool

enb = lteRMCDL (simulationParameters);

输出enb包含结构,在其他领域中,传输块大小和冗余版本为每个码字序列子帧内帧。这些都是在模拟使用。

trBlkSizes = enb.PDSCH.TrBlkSizes;rvSequence = enb.PDSCH.RVSeq;

码字的数量,作战飞机条目的数量enb.PDSCH.Modulation字段。

作战飞机=长度(string (enb.PDSCH.Modulation));

打印的总结一些比较典型的模拟参数。确认参数设置与期望值一致。报告编码速率显示可能是有用的发现问题当手动指定传输块大小。典型值是1/3、1/2和3/4。

hDisplayENBParameterSummary (enb txMode);
——参数简介:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -双工模式:TDD传输模式:TM8传输方案:Port7-8下行资源块的数量:50资源块分配数量:10特异性参考信号端口:1的发送天线数量:4传输层:2的码字数量:1调制码字1:16 qam传输块大小码字1:4584 4008 0 0 4584 4584 4008 0 0 4584编码速率码字1:0.5053 - 0.4941 0 0 0.5053 0.5053 0.4941 0 0 0.5053 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

传播通道和通道估计配置

结构通道包含通道模型配置参数。

频道=结构;%通道配置结构通道。种子= 6;%通道种子通道。NRxAnts = 8;%的接收天线通道。DelayProfile =“环保署”;%延迟概要通道。DopplerFreq = 5;%多普勒频率通道。MIMOCorrelation =“低”;% Multi-antenna相关性通道。NTerms = 16;%振荡器用于衰落模型通道。ModelType =“GMEDS”;%瑞利衰落模型类型通道。InitPhase =“随机”;%随机初始阶段通道。NormalizePathGains =“上”;%正常化延迟概要文件的权力通道。NormalizeTxAnts =“上”;%正常化传输天线%通道采样率取决于用于OFDM FFT大小%调制器。这可以使用函数lteOFDMInfo获得。ofdmInfo = lteOFDMInfo (enb);通道。SamplingRate = ofdmInfo.SamplingRate;%最大信道延迟(多路径和通道过滤)通道。InitTime = 0;[~,chInfo] = lteFadingChannel(频道,0);%获得信道信息maxChDelay =装天花板(max (chInfo.PathSampleDelays)) + chInfo.ChannelFilterDelay;

定义信道估计量的配置结构。基于自non-codebook使用经颅磁刺激,设置dmr作为信道估计的参考信号。

cec =结构;%信道估计配置结构cec。PilotAverage =“UserDefined”;%的试点,平均象征cec。FreqWindow = 41;%频率窗口大小cec。TimeWindow = 27个;%的时间窗口大小cec。InterpType =“立方”;% 2 d插值类型cec。InterpWindow =“中心”;%插值窗口类型cec。InterpWinSize = 1;%插值窗口大小cec。参考=dmr的;%使用dmr作为参考信号

显示模拟信息

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

displaySimulationInformation = true;

处理链

确定每个信噪比点的吞吐量,子帧的子帧PDSCH处理链包括:

  • ——计算预编码矩阵一个完美的信道估计是用来计算预编码矩阵。FDD和TDD之间的计算过程略有不同。详细解释这一步是在下一节中提供的。

  • 更新当前HARQ过程HARQ进程带来新的传输数据或重新传输之前发送的运输数据根据确认(ACK)或消极的确认(纳)基于CRC的结果。这一切都是由HARQ调度器,hHARQScheduling.m。基于HARQ PDSCH数据更新状态。

  • 创建传输波形,通过数据生成的HARQ过程lteRMCDLTool函数产生一个OFDM调制波形,包含物理通道和信号。

  • 噪声信道建模,通过波形通过衰落信道和添加噪声(AWGN)。

  • 执行同步和OFDM解调抵消接收符号占的组合实现延迟和通道延迟传播。OFDM解调的符号。

  • 进行信道估计,估计信道响应和噪声水平。使用这些估计PDSCH解码。

  • 解码PDSCH -获得估计接收的码字ltePDSCHDecode解调和descramble恢复所有发送和接收天线对PDSCH符号。

  • 解码下行共享信道(DL-SCH)和存储块HARQ过程——CRC错误通过软解码的矢量位lteDLSCHDecode,解码码字并返回块CRC错误用于确定系统的吞吐量。新软缓冲区的内容,harqProc .decState (harqID),可以在这个函数的输出第二子帧解码时使用。

预编码矩阵计算

自从non-codebook TMs建模为基础,预编码矩阵(波束形成)必须计算,基于信道估计。为简单起见,假设完美的知识频道。

图中显示的时间与信道估计,预编码矩阵W计算和预编码操作对FDD和TDD模式。

TDD (uplink-downlink配置1框架结构),信道估计在过去的UL DL子帧的子帧。这个通道估计是用来计算预编码矩阵W。所有后续DL子帧(包括特殊的子帧),直到下一个UL子帧将这个矩阵W

FDD,之间有一个延迟子帧的预编码矩阵的计算W和子帧,使用它。例如,子帧中使用的预编码矩阵n计算了子帧的信道估计获得吗n - 1图中所示。

这个函数hCalculatePrecodingMatrix计算W由:

  • 获得一个完美的信道估计子帧

  • 平均分配的信道估计的苏格兰皇家银行

  • 首先计算奇异值分解和提取NLayers列获取预编码向量。

如果需要,不同的计算或价值W在这里可以使用电话吗hCalculatePrecodingMatrix.m

这图显示了信道估计平均过程W计算。

过程中显示了一个单通道矩阵估计,H,获得整个资源块分配的平均时间和频率。使用此通道估计,H一个预编码矩阵,W通过奇异值分解,得到。

注意的分配一个资源块,预编码矩阵W通常会很好地匹配信道条件下,偏离最优预编码。但随着分配大小的增加,预编码矩阵考虑信道的平均条件在整个分配。这个平均会偏离最优预编码矩阵。因此,你可以预期性能退化,资源分配的大小增加。

处理循环

信噪比点”的循环处理包括以下。使使用并行计算速度的增加使用“parfor”而不是“为”的循环。这需要并行计算工具。如果这是没有安装“parfor”将默认为正常”的声明。如果使用“parfor”,建议变量displaySimulationInformation以上设置为false,否则仿真信息显示为每一个信噪比点重叠。

%初始化变量用于模拟和分析%数组来存储所有信噪比点的最大吞吐量maxThroughput = 0(长度(SNRIn), 1);%数组来存储所有信噪比点的模拟吞吐量simThroughput = 0(长度(SNRIn), 1);%数组来存储房车序列指数的历史allRvSeqIdxHistory =细胞(1,元素个数(SNRIn));%的渠道结构优化并行处理(只有%运行并行计算工具箱的例子)channelInit =通道;%在enb模拟一些字段将被更新,复制%的时候重新启动模拟每一个信噪比点enbInit = enb;% TDD precalculate向量的子帧类型:D, S和U下行,%分别特殊和上行如果strcmpi (DuplexMode“TDD”1)subframeType = char(10日);initialSubframeNo = enb.NSubframe;sNo = 0:9%为所有子帧的帧enb。NSubframe = sNo;duplexInfo = lteDuplexingInfo (enb);subframeType (sNo + 1) = duplexInfo.SubframeType (1);%的第一个字符:D S或U结束enb。NSubframe = initialSubframeNo;结束% CFI可以是一个标量或矢量,创建一个本地副本CFI的向量%(每个子帧一个值)如果元素个数(enb.CFI) = = 1 CFI = repmat (enb.CFI 1 10);其他的CFI = enb.CFI;结束%得到HARQ的HARQ ID序列处理。这是一个索引的列表% HARQ进程调度。[~,~,enbOut] = lteRMCDLTool (enb, []);harqProcessSequenceInit = enbOut.PDSCH.HARQProcessSequence;snrIdx = 1:元素个数(SNRIn)%的评论进行并行计算% parfor snrIdx = 1:元素个数为并行计算(SNRIn) %取消%设置随机数生成器的种子取决于循环变量%,以确保独立随机流rng (snrIdx“combRecursive”);%初始化变量(他们在每一个信噪比点被修改%模拟)enb = enbInit;频道= channelInit;harqProcessSequence = harqProcessSequenceInit;%初始化所有HARQ进程的状态harqProcesses = hNewHARQProcess (enb);%设置变量的主循环lastOffset = 7;%初始化总体框架定时偏移量%(设置等于信道实现延迟)frameOffset = 7;%初始化帧定时偏移量%(设置等于信道实现延迟)blkCRC = [];%块CRC认为子帧bitTput = [];%成功收到位/子帧的数量txedTrBlkSizes = [];%每个子帧的传输比特数precodingMatrix = [];%预编码矩阵rxSymbols = [];星座图% DL-SCH符号(码字1)rxSymbols2 = [];星座图% DL-SCH符号(码字2)%变量rvSeqIdxHistory商店的历史价值%房车指数序列的HARQ进程rvSeqIdxHistory =南(ncw, NFrames * 10);%国旗表明如果一个预编码矩阵W是可用的。这是非常有用的%如果没有W计算仿真的开始。isWready = false;%标志表明是子帧处理。如果设置为真%有数据处理子帧,即DL子帧或%零传输块大小。processSubframe = false;%主要for循环:子帧subframeNo = 0: (NFrames * 10 - 1)%更新子帧数enb。NSubframe = subframeNo;%负荷CFI当前子帧enb。CFI = CFI (mod (subframeNo长度(CFI)) + 1);%通道当前子帧的时间通道。InitTime = subframeNo / 1000;%从HARQ过程得到HARQ进程ID为子帧序列harqID = harqProcessSequence (mod (subframeNo长度(harqProcessSequence)) + 1);%提取当前子帧传输块大小(s)trBlk = trBlkSizes(:,国防部(subframeNo, 10) + 1)”;%在之前的子帧,如果加载预编码矩阵计算%的存在,如果有数据传输。设置标志来触发%子帧处理。如果isWready & &任何(trBlk) harqProcesses .txConfig (harqID)。W = precodingMatrix;processSubframe = true;其他的processSubframe = false;结束%预编码矩阵计算如果strcmpi (DuplexMode“TDD”)%估计通道在UL子帧如果比较字符串(subframeType (mod (subframeNo, 10) + 1),“U”)processSubframe = false;% UL子帧,没有DL数据%只有执行信道估计下一子帧是DL如果比较字符串(subframeType (mod ((subframeNo + 1), 10) + 1),' D ')precodingMatrix = hCalculatePrecodingMatrix (enb、通道);isWready = true;结束结束其他的% FDD%获得下一子帧传输块trBlkNext = trBlkSizes(:,国防部(subframeNo + 1, 10) + 1)”;%计算下的预编码矩阵子帧只有它%进行数据(即非零trBlkNext)如果任何(trBlkNext) precodingMatrix = hCalculatePrecodingMatrix (enb、通道);isWready = true;其他的isWready = false;结束结束%子帧处理如果processSubframe%更新当前HARQ进程harqProcesses (harqID) = hHARQScheduling (harqProcesses (harqID)、subframeNo rvSequence);%显示运行时信息如果任何(trBlk) disp displaySimulationInformation & & (' ');disp ([的子帧:num2str (subframeNo)”。HARQ过程指数:num2str (harqID)]);结束%更新房车序列索引表rvSeqIdxHistory (:, subframeNo + 1) =harqProcesses harqID .txConfig.RVIdx。';%更新PDSCH传输配置HARQ%流程状态enb。PDSCH = harqProcesses (harqID) .txConfig;%细胞有效载荷dlschTransportBlk = harqProcesses (harqID) . data;%建立传输波形txWaveform = lteRMCDLTool (enb dlschTransportBlk);%添加maxChDelay样本填充。这是延迟的范围%预期从信道建模(的组合%实现延迟和延迟扩展频道)txWaveform = [txWaveform;0 (maxChDelay ntxants)];% #好< AGROW >%通过通道模型传递数据rxNoiselessWaveform = lteFadingChannel(通道、txWaveform);%计算噪声增益包括下行补偿%功率分配信噪比= 10 ^ (SNRIn (snrIdx) -enb.PDSCH.Rho) / 20);%正常化噪声功率的采样率,%是传输线大小的函数用于OFDM%调制,天线的数量N0 = 1 / (√(2.0 * ntxants *双(ofdmInfo.Nfft)) *信噪比);%建立加性高斯白噪声噪音= N0 *复杂(randn(大小(rxNoiselessWaveform)),randn(大小(rxNoiselessWaveform)));%增加情况下接收到的时域波形和规模%的需用功率rxWaveform = rxNoiselessWaveform +噪声;%接收%每帧,在子帧0,计算一个新的%同步偏移量。一个偏移量的范围之内%延误预计从信道建模(组合%的实现延迟和延迟扩展频道)%表示成功如果(国防部(subframeNo 10) = = 0) frameOffset = lteDLFrameOffset (enb rxWaveform);如果(frameOffset > maxChDelay) frameOffset = lastOffset;结束lastOffset = frameOffset;结束rxWaveform = rxWaveform (1 + frameOffset:最终,);%完成OFDM解调接收的数据获取%的资源网格rxSubframe = lteOFDMDemodulate (enb rxWaveform);%信道估计[estChannelGrid,噪音]=lteDLChannelEstimate (enb.PDSCH, enb cec rxSubframe);%进行均衡,deprecoding demapping层,%解调和descrambling接收的数据使用%信道估计。%得到PDSCH指数pdschIndices = ltePDSCHIndices (enb enb.PDSCH enb.PDSCH.PRBSet);%得到PDSCH资源元素。规模接收到的子帧% PDSCH功率因数ρ。PDSCH是按比例缩小的%ρ,而细胞参考符号用于通道%估计(用于PDSCH解码阶段)。[pdschRx, pdschHest] = lteExtractResources (pdschIndices,rxSubframe * (10 ^ (-enb.PDSCH.Rho / 20)), estChannelGrid);%解码PDSCH[dlschBits, dlschSymbols] = ltePDSCHDecode (enb enb.PDSCH,pdschRx pdschHest,噪音);%存储解码DLSCH星座符号%绘制rxSymbols = [rxSymbols;dlschSymbols {1} (:));% #好< AGROW >如果作战飞机> 1 rxSymbols2 = [rxSymbols2;dlschSymbols {2} (:));% #好< AGROW >结束%解码DL-SCH[decbits harqProcesses (harqID) .blkerr harqProcesses (harqID) .decState] =lteDLSCHDecode (enb.PDSCH, enb trBlk dlschBits,harqProcesses (harqID) .decState);%显示块的错误如果displaySimulationInformation如果任何(harqProcesses (harqID) .blkerr) disp ([“块错误。房车指数:num2str (harqProcesses (harqID) .txConfig.RVIdx)“CRC:”num2str (harqProcesses (harqID) .blkerr)])其他的disp ([“没有错误。房车指数:num2str (harqProcesses (harqID) .txConfig.RVIdx)“CRC:”num2str (harqProcesses (harqID) .blkerr)])结束结束%存储值计算所需的吞吐量%的子帧数据如果(任何(trBlk)) blkCRC = [blkCRC harqProcesses (harqID) .blkerr];% #好< AGROW >bitTput = [bitTput trBlk。* (1 -harqProcesses (harqID) .blkerr)];% #好< AGROW >txedTrBlkSizes = [txedTrBlkSizes trBlk];% #好< AGROW >结束结束结束%的阴谋得到星座象征如果displaySimulationInformation图;情节(rxSymbols,“r”);标题([的星座。信噪比的num2str (SNRIn (snrIdx))dB。码字1 '])包含(“同相振幅”);ylabel (“正交振幅”);如果作战飞机> 1图;情节(rxSymbols2“r”);标题([的星座。信噪比的num2str (SNRIn (snrIdx))dB。码字2》])包含(“同相振幅”);ylabel (“正交振幅”);结束结束%计算和模拟的最大吞吐量maxThroughput (snrIdx) =总和(txedTrBlkSizes);%最大可能的吞吐量simThroughput (snrIdx) = (bitTput, 2)总和;%模拟吞吐量%动态在命令窗口中显示结果流(' \ nSNR = %。2 f dB。吞吐量(s) = % % d帧。4 f Mbps \ n”,SNRIn (snrIdx) NFrames 1 e-6 * simThroughput (snrIdx) / (NFrames * 10 e - 3));流('信噪比= %。2 f dB。吞吐量(% %)% d帧(s) = %。4 f % % \ n”,SNRIn (snrIdx)、NFrames simThroughput (snrIdx) * 100 / maxThroughput (snrIdx));allRvSeqIdxHistory {snrIdx} = rvSeqIdxHistory;结束
子帧:4。HARQ过程指数:3块错误。房车指数:1,CRC: 1子帧:5。HARQ过程指数:4块错误。房车指数:1,CRC: 1子帧:6。HARQ过程指数:5块错误。房车指数:1,CRC: 1子帧:9。HARQ过程指数:6块错误。房车指数:1,CRC: 1子帧:10。HARQ过程指数:7块错误。 RV index: 1, CRC: 1 Subframe: 11. HARQ process index: 2 Block error. RV index: 1, CRC: 1 Subframe: 14. HARQ process index: 1 Block error. RV index: 1, CRC: 1 Subframe: 15. HARQ process index: 3 No error. RV index: 2, CRC: 0 Subframe: 16. HARQ process index: 5 No error. RV index: 2, CRC: 0 Subframe: 19. HARQ process index: 4 No error. RV index: 2, CRC: 0 SNR = -4.00 dB. Throughput for 2 Frame(s) = 0.6588 Mbps SNR = -4.00 dB. Throughput(%) for 2 Frame(s) = 29.8694 % Subframe: 4. HARQ process index: 3 No error. RV index: 1, CRC: 0 Subframe: 5. HARQ process index: 4 No error. RV index: 1, CRC: 0 Subframe: 6. HARQ process index: 5 No error. RV index: 1, CRC: 0 Subframe: 9. HARQ process index: 6 No error. RV index: 1, CRC: 0 Subframe: 10. HARQ process index: 7 No error. RV index: 1, CRC: 0 Subframe: 11. HARQ process index: 2 No error. RV index: 1, CRC: 0 Subframe: 14. HARQ process index: 1 No error. RV index: 1, CRC: 0 Subframe: 15. HARQ process index: 3 No error. RV index: 1, CRC: 0 Subframe: 16. HARQ process index: 5 No error. RV index: 1, CRC: 0 Subframe: 19. HARQ process index: 4 No error. RV index: 1, CRC: 0 SNR = 1.00 dB. Throughput for 2 Frame(s) = 2.2056 Mbps SNR = 1.00 dB. Throughput(%) for 2 Frame(s) = 100.0000 %

房车序列索引块

下面的代码生成的阴谋与元素的价值指数RV模拟的子帧序列。这提供了所需的重发。策划的原因指数而不是RV值,后者可能不是组织以升序排序。例如,在某些情况下RV序列可以[0,2、3、1]。绘图时使用这些值不会提供一个清晰的想法所需的。

当发射一个新的交通阻塞,RV序列的第一个元素,和一个值的子帧1所示。是这样的模拟。如果需要重传,RV序列中的下一个元素被选中,该指数增加。2的值将被绘制的子帧重传。如果需要进一步的重发,索引值将进一步增加。子帧5中的情节不显示任何值的连续帧。这是因为没有数据传输的子帧在本例中使用的设置。

hPlotRVSequence (SNRIn allRvSeqIdxHistory NFrames);

吞吐量结果

吞吐量结果显示在MATLAB®命令窗口每个信噪比点完成后。他们也在输出数组simThroughputmaxThroughputsimThroughput存储测量吞吐量为所有模拟信噪比点的比特数。maxThroughput商店的最大吞吐量的比特数为每个模拟信噪比。

%绘制吞吐量图legendString = (char (txMode)“:”num2str (simulationParameters.PDSCH.NLayers)层(s),num2str (ntxants)“蚁(s)”];情节(SNRIn simThroughput * 100. / maxThroughput,* - - - - - -。);包含(“信噪比(dB)”);ylabel (的吞吐量(%));标题(吞吐量和信噪比的);传奇(legendString“位置”,“西北”);网格;

统计学上有效的结果,仿真应该参加更多的帧。下图比较TDD和FDD的吞吐量结果模拟1000帧。

附录

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

选定的参考书目

  1. 3 gpp TS 36.101”用户设备(UE)无线电发射和接受“