主要内容

PDSCH吞吐量为单天线(TM1)一致性测试,发射分集(TM2),开环(TM3)和闭环(TM4/6)空间复用

这个案例展示了如何测量物理下行共享信道(PDSCH)吞吐量性能使用LTE工具箱™下列传输模式(TM):

  • TM1:单天线(端口0)

  • TM2:发射分集

  • TM3:开环基于码书的预编码:循环延迟分集(CDD)

  • TM4:基于闭环速率的空间复用

  • TM6:单层闭环速率基于空间复用

示例还显示了如何参数化和定制的设置不同的经颅磁刺激。它还支持使用并行金宝app计算工具箱™减少有效的模拟时间。

介绍

这个例子测量吞吐量的信噪比点。提供的代码可以在许多传输模式:TM1, TM2、TM3, TM4和TM6。信息模型TM7, TM8 TM9和TM10检查下面的例子:PDSCH吞吐量基于Non-Codebook预编码方案:港口5 (TM7),港口7或8或端口7 - 8 (TM8),港口7 - 14 (TM9和TM10)

示例子帧的子帧的基础上工作。为每个考虑信噪比点密集的资源网格生成和OFDM调制传输波形。生成的波形是通过一个嘈杂的衰落信道。以下操作然后由接收者:信道估计,均衡,解调和解码。的吞吐量性能PDSCH决定使用块CRC在信道译码器的输出结果。

预编码器矩阵显示(PMI)反馈实现TMs要求反馈的预编码矩阵(TM4和TM6)。

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

模拟配置

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

NFrames = 2;%的帧数SNRIn = (10.3 12.3 14.3);在dB %信噪比范围

eNodeB配置

本节选择感兴趣的TM和设置eNodeB参数。使用变量选择TMtxMode可以把值TM1, TM2、TM3, TM4和TM6。

txMode =“TM4”;% TM1, TM2、TM3 TM4, TM6

建模为简单起见所有经颅磁刺激在这个例子中有一个50的带宽资源块和一个完整的分配和代码率为0.5。不指定一个RMC将确保所有下行子帧数量。如果RMC(如指定。“R.0”)中定义的子帧调度是TS 36.101 [1子帧5是不安排在大多数情况下。

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

simulationParameters = [];%明显simulationParameterssimulationParameters。NDLRB = 50;simulationParameters.PDSCH。TargetCodeRate = 0.5;simulationParameters.PDSCH。PRBSet = (0:49) ';开关txMode%单天线(Port0)模式(TM1)情况下“TM1”流(“\ nTM1——单天线(端口0)\ n ');simulationParameters.PDSCH。TxScheme =“Port0”;simulationParameters.PDSCH。DCIFormat =“Format1”;simulationParameters。CellRefP = 1;simulationParameters.PDSCH。调制= {16 qam的};%发射分集模式(TM2)情况下“TM2”流(“\ nTM2——发射分集\ n”);simulationParameters.PDSCH。TxScheme =“TxDiversity”;simulationParameters.PDSCH。DCIFormat =“Format1”;simulationParameters。CellRefP = 2;simulationParameters.PDSCH。调制= {16 qam的};simulationParameters.PDSCH。NLayers = 2;% CDD模式(TM3)情况下“TM3”流(“\ nTM3 CDD \ n”);simulationParameters.PDSCH。TxScheme =CDD的;simulationParameters.PDSCH。DCIFormat =“Format2A”;simulationParameters。CellRefP = 2;simulationParameters.PDSCH。调制= {16 qam的,16 qam的};simulationParameters.PDSCH。NLayers = 2;%的空间复用模式(TM4)情况下“TM4”流(“\ nTM4——基于码书的空间复用\ n”);simulationParameters。CellRefP = 2;simulationParameters.PDSCH。调制= {16 qam的,16 qam的};simulationParameters.PDSCH。DCIFormat =“Format2”;simulationParameters.PDSCH。TxScheme =“SpatialMux”;simulationParameters.PDSCH。NLayers = 2;%没有速率限制simulationParameters.PDSCH。CodebookSubset =;%单层空间复用模式(TM6)情况下“TM6”流(“\ nTM6——基于码书的空间复用与单层\ n”);simulationParameters。CellRefP = 4;simulationParameters.PDSCH。调制= {“正交相移编码”};simulationParameters.PDSCH。DCIFormat =“Format2”;simulationParameters.PDSCH。TxScheme =“SpatialMux”;simulationParameters.PDSCH。NLayers = 1;%没有速率限制simulationParameters.PDSCH。CodebookSubset =;否则错误(的传输方式应该是TM1, TM2、TM3, TM4或TM6”。)结束%设置其他simulationParameters领域应用经颅磁刺激simulationParameters。TotSubframes = 1;%生成一副框架simulationParameters.PDSCH。CSI =“上”;%软比特被CSI加权
TM4 -基于码书的空间复用

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

enb = lteRMCDL (simulationParameters);

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

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

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

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

设置的PMI延迟闭环经颅磁刺激(TM4和TM6)。这是PMI是通过之间的延迟问题eNodeB TS36.101中定义,表8.2.1.4.2-1 [1]。

pmiDelay = 8;

接下来我们打印的总结一些比较典型的模拟参数。检查这些值,确保他们的预期。显示的编码速率可能是有用的发现问题,如果手动指定传输块大小。典型值是1/3、1/2和3/4。

hDisplayENBParameterSummary (enb txMode);
——参数简介:- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -双工模式:FDD传输模式:TM4传输方案:SpatialMux下行资源块的数量:50资源块分配数量:50特异性参考信号端口:2的发送天线数量:2传输层:2的码字数量:2调制码字1:16 qam传输块大小码字1:11448 11448 11448 11448 11448 11448 11448 11448 11448 11448码率码字1:0.515 0.48 0.48 0.48 0.48 0.4918 0.48 0.48 0.48 0.48调制码字2:16 qam传输块大小码字2:11448 11448 11448 11448 11448 11448 11448 11448 11448 11448码率码字2:0.515 0.48 0.48 0.48 0.48 0.4918 0.48 0.48 0.48 0.48 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

传播通道模型配置

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

通道。种子= 6;%通道种子通道。NRxAnts = 2;% 2接收天线通道。DelayProfile =“环保署”;%延迟概要通道。DopplerFreq = 5;%多普勒频率通道。MIMOCorrelation =“低”;% Multi-antenna相关性通道。NTerms = 16;%振荡器用于衰落模型通道。ModelType =“GMEDS”;%瑞利衰落模型类型通道。InitPhase =“随机”;%随机初始阶段通道。NormalizePathGains =“上”;%正常化延迟概要文件的权力通道。NormalizeTxAnts =“上”;%正常化传输天线%通道模型的采样率设置使用返回的值从< docid: lte_ref # % bt1bgp9 lteOFDMInfo >。ofdmInfo = lteOFDMInfo (enb);通道。SamplingRate = ofdmInfo.SamplingRate;

信道估计配置

的变量perfectChanEstimator控制信道估计行为。有效的值真正的。当设置为真正的一个完美的信道响应作为估计,否则一个不完美的估计基于收到飞行员获得信号的值。

%完美的信道估计值的旗帜perfectChanEstimator = false;

如果perfectChanEstimator将错误的配置结构cec需要参数化信道估计。通道时间和频率的变化非常缓慢,因此使用大型平均窗口为了平均噪声。

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

显示模拟信息

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

displaySimulationInformation = true;

处理循环

确定每个信噪比点的吞吐量,PDSCH数据分析子帧的子帧的基础上使用以下步骤:

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

  • 采购经理人指数。此步骤仅适用于TM4和TM6(闭环空间复用和单层闭环空间多路复用)。一个PMI从一系列采购经理人指数的顺序,txPMIs,每个子帧和eNodeB选择使用的预编码矩阵。PMI推荐的问题由eNodeB用于数据传输。有一个延迟pmiDelay子帧之间的问题建议PMI和eNodeB用它来选择一个预编码矩阵。最初的一组pmiDelay使用随机采购经理人指数。

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

  • 噪声信道建模。波形是通过衰落信道和噪声(AWGN)补充道。

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

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

  • PDSCH解码。恢复PDSCH符号传输和接收天线对,随着噪声估计,解调和descrambledltePDSCHDecode获得接收的码字估计。

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

  • 更新采购经理人指数。选择了PMI和反馈eNodeB供以后使用。此步骤仅适用于TM4和TM6(闭环空间复用和单层闭环空间多路复用)。

%的数量传输天线P是获得资源网格%的维度。“暗”M-by-N-by-P M是副载波的数量,N%是符号的数量和P是发射天线的数量。= lteDLResourceGridSize dim (enb);P = dim (3);%初始化变量用于模拟和分析%数组来存储所有信噪比点的最大吞吐量maxThroughput = 0(长度(SNRIn), 1);%数组来存储所有信噪比点的模拟吞吐量simThroughput = 0(长度(SNRIn), 1);%得到HARQ的HARQ ID序列处理。这是一个索引的列表% HARQ进程调度。[~,~,enbOut] = lteRMCDLTool (enb, []);harqProcessSequence = enbOut.PDSCH.HARQProcessSequence;%临时变量“enb_init”,和“channel_init”%的harqProcessSequence_init用于优化并行处理(只有%如果运行示例与并行计算工具箱)enb_init = enb;channel_init =通道;harqProcessSequence_init = harqProcessSequence;legendString = [的吞吐量:char (enb.PDSCH.TxScheme)];allRvSeqPtrHistory =细胞(1,元素个数(SNRIn));nFFT = ofdmInfo.Nfft;snrIdx = 1:元素个数(SNRIn)% parfor snrIdx = 1:元素个数(SNRIn)%,使并行计算的使用增加速度注释掉%以上”的声明和取消下面的“parfor”声明。%这需要并行计算工具箱。如果这是没有安装%’parfor将默认为正常”的声明。如果“parfor”建议使用%变量“displaySimulationInformation”%以上是设置为false,否则仿真信息显示%每个信噪比点会重叠。%设置随机数生成器的种子不同循环变量%,以确保独立随机流rng (snrIdx“combRecursive”);SNRdB = SNRIn (snrIdx);流(在% g \ nSimulating dB信噪比% d (s) \ n帧的、SNRdB NFrames);%初始化变量用于模拟和分析偏移量= 0;%初始化帧偏移值抵消= 0;%初始化帧偏移值广播帧blkCRC = [];%块CRC认为子帧bitTput = [];%成功收到位/子帧的数量txedTrBlkSizes = [];%每个子帧的传输比特数enb = enb_init;%初始化RMC配置频道= channel_init;%初始化通道配置harqProcessSequence = harqProcessSequence_init;%初始化HARQ过程序列pmiIdx = 0;%的PMI指数延迟队列%变量harqPtrTable商店的历史价值%指针RV序列值的HARQ进程。%与nan预先分配一些子帧没有数据rvSeqPtrHistory =南(ncw, NFrames * 10);%初始化所有HARQ进程的状态harqProcesses = hNewHARQProcess (enb);%使用随机采购经理人指数第一pmiDelay子帧,直到反馈%可以从问题;注意,只适用于PMI反馈%的空间复用经颅磁刺激(TM4和TM6),但这里的代码是必需的%完成初始化的变量的信噪比循环使用%的并行计算工具。pmidims = ltePMIInfo (enb enb.PDSCH);txPMIs =兰迪([0 pmidims。MaxPMI], pmidims。NSubbands pmiDelay);subframeNo = 0: (NFrames * 10 - 1)%更新子帧数enb。NSubframe = subframeNo;%从HARQ过程得到HARQ进程ID为子帧序列harqID = harqProcessSequence (mod (subframeNo长度(harqProcessSequence)) + 1);%如果有一块运输计划在当前的子帧%(零harqID),执行和传播%接待。否则继续接下来的子帧如果harqID = = 0继续;结束%更新当前HARQ进程harqProcesses (harqID) = hHARQScheduling (harqProcesses (harqID)、subframeNo rvSequence);%提取当前子帧传输块大小(s)trBlk = trBlkSizes(:,国防部(subframeNo, 10) + 1)”;%显示运行时信息如果displaySimulationInformation disp (' ');disp ([的子帧:num2str (subframeNo)”。HARQ进程ID:“num2str (harqID)]);结束%更新房车序列指针表rvSeqPtrHistory (:, subframeNo + 1) =harqProcesses harqID .txConfig.RVIdx。';%更新PDSCH传输配置与HARQ进程状态enb。PDSCH = harqProcesses (harqID) .txConfig;data = harqProcesses (harqID) . data;%将PMI设置为适当的值在延迟队列如果strcmpi (enb.PDSCH.TxScheme“SpatialMux”)pmiIdx =国防部(subframeNo pmiDelay);%的PMI指数延迟队列enb.PDSCH。PMISet = txPMIs (:, pmiIdx + 1);%设置采购经理人指数结束%产生传输波形txWaveform = lteRMCDLTool (enb、数据);% 25样品添加填充。这是延迟的范围%预期从信道建模(的组合%实现延迟和延迟扩展频道)txWaveform = [txWaveform;0(25日P)];% #好< AGROW >%得到HARQ ID序列的enbOut HARQ处理harqProcessSequence = enbOut.PDSCH.HARQProcessSequence;%初始化通道为每个子帧时间通道。InitTime = subframeNo / 1000;%通过通道模型传递数据rxWaveform = lteFadingChannel(通道、txWaveform);%计算噪声增益包括下行功率补偿%分配信噪比= 10 ^ ((SNRdB-enb.PDSCH.Rho) / 20);%正常化噪声功率的采样率,这是%传输线大小的函数用于OFDM调制,以及%的天线N0 = 1 / (√(2.0 * enb.CellRefP *双(nFFT)) *信噪比);%建立加性高斯白噪声噪音= N0 *复杂(randn(大小(rxWaveform)),randn(大小(rxWaveform)));%添加情况下接收到的时域波形rxWaveform = rxWaveform +噪声;%每帧,在子帧0,计算一个新的同步%抵消如果(国防部(subframeNo 10) = = 0)抵消= lteDLFrameOffset (enb rxWaveform);如果(抵消> 25)抵消=补偿(结束);结束偏移量=(补偿抵消);% #好吧结束%同步接收到的波形rxWaveform = rxWaveform(1 +抵消:最终,);%完成OFDM解调接收的数据重新创建%资源网格rxSubframe = lteOFDMDemodulate (enb rxWaveform);%信道估计如果(perfectChanEstimator) estChannelGrid = lteDLPerfectChannelEstimate (enb,通道,抵消);% #好吧noiseGrid = lteOFDMDemodulate (enb、噪音(1 +抵消:最终,));噪音= var (noiseGrid (:));其他的[estChannelGrid,噪音]= lteDLChannelEstimate (enb, enb。PDSCH、cec rxSubframe);结束%得到PDSCH指数pdschIndices = ltePDSCHIndices (enb, enb。PDSCH enb.PDSCH.PRBSet);%得到PDSCH资源元素从接收到的子帧。规模的%接收子帧PDSCH功率因数ρ。PDSCH是%比例的金额,而细胞符号用于参考%信道估计(用于PDSCH解码阶段)。[pdschRx, pdschHest] = lteExtractResources (pdschIndices,rxSubframe * (10 ^ (-enb.PDSCH.Rho / 20)), estChannelGrid);%解码PDSCHdlschBits = ltePDSCHDecode (enb, enb。PDSCH、pdschRx pdschHest、噪音);%解码DL-SCH[decbits harqProcesses (harqID) .blkerr harqProcesses (harqID) .decState] =lteDLSCHDecode (enb enb。PDSCH、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 >结束% eNodeB提供PMI的反馈如果strcmpi (enb.PDSCH.TxScheme“SpatialMux”)采购经理人指数= ltePMISelect (enb, enb。PDSCH estChannelGrid,噪音);txPMIs (:, pmiIdx + 1) =采购经理人指数;结束结束%计算和模拟吞吐量最大maxThroughput (snrIdx) =总和(txedTrBlkSizes);%最大可能的吞吐量simThroughput (snrIdx) = (bitTput, 2)总和;%模拟吞吐量%动态在命令窗口中显示结果流([[' \ nThroughput (Mbps)的num2str (NFrames)框架(年代)”),“= % .4f \ n”),1 e-6 * simThroughput (snrIdx) / (NFrames * 10 e - 3));流([的吞吐量(% %)num2str (NFrames)的帧(s) = % .4f \ n '),simThroughput (snrIdx) * 100 / maxThroughput (snrIdx));allRvSeqPtrHistory {snrIdx} = rvSeqPtrHistory;结束为所有HARQ进程%情节RV序列hPlotRVSequence (SNRIn allRvSeqPtrHistory NFrames);
模拟为10.3 dB信噪比为2帧(s)子帧:0。HARQ进程ID: 1块错误。房车指数:1,CRC: 1 1子帧:1。HARQ进程ID: 2块错误。房车指数:1,CRC: 1 1子帧:2。HARQ进程ID: 3块错误。房车指数:1,CRC: 1 1子帧:3。HARQ进程ID: 4块错误。房车指数:1,CRC: 0 1子帧:4。HARQ进程ID: 5块错误。 RV index: 1 1, CRC: 0 1 Subframe: 5. HARQ process ID: 6 Block error. RV index: 1 1, CRC: 1 1 Subframe: 6. HARQ process ID: 7 Block error. RV index: 1 1, CRC: 1 1 Subframe: 7. HARQ process ID: 8 Block error. RV index: 1 1, CRC: 1 1 Subframe: 8. HARQ process ID: 1 Block error. RV index: 2 2, CRC: 0 1 Subframe: 9. HARQ process ID: 2 Block error. RV index: 2 2, CRC: 0 1 Subframe: 10. HARQ process ID: 3 Block error. RV index: 2 2, CRC: 0 1 Subframe: 11. HARQ process ID: 4 Block error. RV index: 1 2, CRC: 0 1 Subframe: 12. HARQ process ID: 5 Block error. RV index: 1 2, CRC: 0 1 Subframe: 13. HARQ process ID: 6 Block error. RV index: 2 2, CRC: 0 1 Subframe: 14. HARQ process ID: 7 Block error. RV index: 2 2, CRC: 0 1 Subframe: 15. HARQ process ID: 8 Block error. RV index: 2 2, CRC: 0 1 Subframe: 16. HARQ process ID: 1 No error. RV index: 1 3, CRC: 0 0 Subframe: 17. HARQ process ID: 2 No error. RV index: 1 3, CRC: 0 0 Subframe: 18. HARQ process ID: 3 No error. RV index: 1 3, CRC: 0 0 Subframe: 19. HARQ process ID: 4 Block error. RV index: 1 3, CRC: 0 1 Throughput(Mbps) for 2 Frame(s) = 9.7308 Throughput(%) for 2 Frame(s) = 42.5000 Simulating at 12.3 dB SNR for 2 Frame(s) Subframe: 0. HARQ process ID: 1 Block error. RV index: 1 1, CRC: 1 1 Subframe: 1. HARQ process ID: 2 Block error. RV index: 1 1, CRC: 0 1 Subframe: 2. HARQ process ID: 3 Block error. RV index: 1 1, CRC: 1 1 Subframe: 3. HARQ process ID: 4 Block error. RV index: 1 1, CRC: 0 1 Subframe: 4. HARQ process ID: 5 Block error. RV index: 1 1, CRC: 0 1 Subframe: 5. HARQ process ID: 6 Block error. RV index: 1 1, CRC: 0 1 Subframe: 6. HARQ process ID: 7 Block error. RV index: 1 1, CRC: 0 1 Subframe: 7. HARQ process ID: 8 Block error. RV index: 1 1, CRC: 0 1 Subframe: 8. HARQ process ID: 1 Block error. RV index: 2 2, CRC: 0 1 Subframe: 9. HARQ process ID: 2 Block error. RV index: 1 2, CRC: 0 1 Subframe: 10. HARQ process ID: 3 Block error. RV index: 2 2, CRC: 0 1 Subframe: 11. HARQ process ID: 4 Block error. RV index: 1 2, CRC: 0 1 Subframe: 12. HARQ process ID: 5 Block error. RV index: 1 2, CRC: 0 1 Subframe: 13. HARQ process ID: 6 Block error. RV index: 1 2, CRC: 0 1 Subframe: 14. HARQ process ID: 7 Block error. RV index: 1 2, CRC: 0 1 Subframe: 15. HARQ process ID: 8 No error. RV index: 1 2, CRC: 0 0 Subframe: 16. HARQ process ID: 1 No error. RV index: 1 3, CRC: 0 0 Subframe: 17. HARQ process ID: 2 No error. RV index: 1 3, CRC: 0 0 Subframe: 18. HARQ process ID: 3 No error. RV index: 1 3, CRC: 0 0 Subframe: 19. HARQ process ID: 4 No error. RV index: 1 3, CRC: 0 0 Throughput(Mbps) for 2 Frame(s) = 13.1652 Throughput(%) for 2 Frame(s) = 57.5000 Simulating at 14.3 dB SNR for 2 Frame(s) Subframe: 0. HARQ process ID: 1 Block error. RV index: 1 1, CRC: 0 1 Subframe: 1. HARQ process ID: 2 Block error. RV index: 1 1, CRC: 0 1 Subframe: 2. HARQ process ID: 3 Block error. RV index: 1 1, CRC: 0 1 Subframe: 3. HARQ process ID: 4 Block error. RV index: 1 1, CRC: 0 1 Subframe: 4. HARQ process ID: 5 Block error. RV index: 1 1, CRC: 0 1 Subframe: 5. HARQ process ID: 6 Block error. RV index: 1 1, CRC: 0 1 Subframe: 6. HARQ process ID: 7 Block error. RV index: 1 1, CRC: 0 1 Subframe: 7. HARQ process ID: 8 Block error. RV index: 1 1, CRC: 0 1 Subframe: 8. HARQ process ID: 1 No error. RV index: 1 2, CRC: 0 0 Subframe: 9. HARQ process ID: 2 Block error. RV index: 1 2, CRC: 0 1 Subframe: 10. HARQ process ID: 3 Block error. RV index: 1 2, CRC: 0 1 Subframe: 11. HARQ process ID: 4 No error. RV index: 1 2, CRC: 0 0 Subframe: 12. HARQ process ID: 5 No error. RV index: 1 2, CRC: 0 0 Subframe: 13. HARQ process ID: 6 No error. RV index: 1 2, CRC: 0 0 Subframe: 14. HARQ process ID: 7 No error. RV index: 1 2, CRC: 0 0 Subframe: 15. HARQ process ID: 8 No error. RV index: 1 2, CRC: 0 0 Subframe: 16. HARQ process ID: 1 Block error. RV index: 1 1, CRC: 0 1 Subframe: 17. HARQ process ID: 2 No error. RV index: 1 3, CRC: 0 0 Subframe: 18. HARQ process ID: 3 No error. RV index: 1 3, CRC: 0 0 Subframe: 19. HARQ process ID: 4 Block error. RV index: 1 1, CRC: 0 1 Throughput(Mbps) for 2 Frame(s) = 16.0272 Throughput(%) for 2 Frame(s) = 70.0000

房车指针序列图

上面的代码还生成情节与指针的值的元素RV模拟的子帧序列。这提供了所需的重发。我们把案例中使用的指针和注意RV值这些不是组织的升序排序。例如,在某些情况下RV序列可以[0,2、3、1]。绘图时使用这些值不会提供一个清晰的想法所需的。

当发送一个新的交通阻塞,RV序列的第一个元素。在上面的图1显示的子帧的值。是这样的模拟。如果需要重传,RV序列中的下一个元素被选中和增加的指针。2的值将被绘制的子帧重传。如果需要进一步的重发,指针的值将进一步增加。注意,情节不显示任何值连续帧的子帧5。这是因为没有数据传输子帧。

获得了如下所示的图模拟10帧。注意,在某些情况下需要3重发。

吞吐量结果

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

%绘制吞吐量图绘制(SNRIn simThroughput * 100. / maxThroughput,* - - - - - -。);包含(“信噪比(dB)”);ylabel (的吞吐量(%));标题(吞吐量和信噪比的)传说(legendString“位置”,“西北”);网格;

生成的阴谋已经获得较低的帧数,因此并不代表所示的结果。更长的仿真得到1000帧产生如下所示的结果。

附录

这个示例使用这些辅助函数。

选定的参考书目

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