渠道质量指标(CQI)一致性测试报告
本示例演示如何在TS36.101节9.3.2.1.1中定义的一致性测试条件下,使用LTE工具箱™测量信道质量指示器(CQI)报告性能。
简介
的使用lteCQISelect
函数,提供CQI的估计。并对CQI估计的性能进行了检验。本例提供了一个测试平台,该测试平台显示LTE工具箱可以满足TS36.101节9.3.2.1.1中定义的CQI报告性能测试[1].试验的性能要求如下:
CQI指数不在{CQI中位数- 1,CQI中位数+ 1}集中,至少有20%的时间被报告;
发射各报告宽带CQI指数所指示的传输格式时获得的吞吐量与发射按宽带CQI中位数配置的固定传输格式时获得的吞吐量之比为>= 1.05;
当传输每个报告的宽带CQI指数所指示的传输格式时,所指示的传输格式的平均BLER应大于或等于0.02。
此示例测试是否满足这些需求。
模拟配置
该示例在信噪比为6.0dB的情况下执行了10帧的模拟长度。大量的NFrames
应该用来产生有意义的结果。
NFrames = 10;SNRdB = 6.0;
eNodeB配置
eNodeB设置在结构中指定enb
.这包括一个子结构PDSCH
根据一致性测试要求配置PDSCH:通过将RV序列设置为零和的值禁用HARQCSIMode
根据TS36.101表9.3.2.1.1-1配置[1].
Enb = struct(“钢筋混凝土”,“R.3”);设置RMC R.3的参数enb = lteRMCDL(enb);enb。Cfi = 3;重新配置控制格式指示器enb。OCNGPDSCHEnable =“上”;为未分配的PDSCH REs启用OCNGenb。TotSubframes = 1;为单个子帧重新配置enb.PDSCH.RVSeq = 0;禁用HARQenb.PDSCH.CSIMode =“PUCCH 1 - 0”;%配置CSI上报模式enb.PDSCH.CSI =“上”;% CSI软位缩放
传播信道模型配置
的结构、通道
,包含通道模型配置参数。
通道。种子= 10;%沟道种子通道。NRxAnts = 2;% 2接收天线通道。DelayProfile =“环保署”;%延迟配置文件通道。多普勒频率= 5.0;%多普勒频率通道。MIMOCorrelation =“高”;%多天线相关性通道。ModelType =“GMEDS”;瑞利衰落模型类型通道。NormalizeTxAnts =“上”;用于发射天线归一化通道。NormalizePathGains =“上”;正常化延迟配置文件功率通道。InitPhase =“随机”;%随机初始相通道。NTerms = 16;衰落模型中使用的振荡器设置通道模型采样率ofdmInfo = lteOFDMInfo(enb);通道。SamplingRate = ofdmInfo.SamplingRate;
信道估计器配置
信道估计器配置为一个结构cec
.的变量perfectChanEstimator
控制信道估计器的行为。有效值为真正的
或假
.当设置为真正的
使用完美信道估计器,否则使用基于接收的导频信号值的不完美信道估计。在本例中,我们启用了完美信道估计器。
配置信道估计器cec。PilotAverage =“UserDefined”;导频符号平均的类型cec。FreqWindow = 9;%频率窗口大小在REscec。TimeWindow = 9;%时间窗口大小在REscec。InterpType =“立方”;% 2D插值类型cec。InterpWindow =“中心”;插补窗口类型cec。InterpWinSize = 1;插值窗口大小%%通道估计器行为perfectChanEstimator = true;
设置CQI延时
在子帧中设置CQI延迟。这是CQI从UE传递到eNodeB的延迟,定义于TS36.101表9.3.2.1.1-1 [1].请注意,CQI的反馈假设是完美的,值在缓冲区中反馈,而不是在上行链路传输中反馈。
cqdelay = 8;%子帧
系统处理
主要处理分为两个阶段,通过cqiConfig
循环变量。这些阶段实施TS36.101章节9.3.2.1.1中定义的性能测试所需的两项测量[1]:
UE报道CQI。第一阶段(cqiConfig = 1
)执行PDSCH传输和接收,其中根据UE报告的CQI选择调制和编码方案(MCS),报告的CQI每2个子帧更新一次,并以8个子帧的延迟反馈。记录最终吞吐量、BLER和中位数CQI,并记录BLER (measuredBLER
)和与CQI中位数的偏差(measuredAlpha
,以百分比为单位)根据指定的性能要求进行检查。
医院药学部值。在第二阶段(cqiConfig = 2
), PDSCH传输和接收使用中位数CQI (medianCQI
)在第一阶段确定。最终的吞吐量被记录下来,吞吐量比(measuredGamma
)在使用UE报告的CQI阶段与报告的中位CQI阶段之间进行比较,并根据指定的性能要求进行检查。
处理是在子帧的基础上执行的,使用以下步骤:
医院药学部选择。对于UE报告的CQI,当前CQI是从CQI缓冲区中最老的值读取的
cqiBuffer
;对于中值CQI, CQI总是设置为medianCQI
(这是通过用CQI中值填充CQI缓冲区来实现的,缓冲区将不会更新)。
根据CQI选择MCS。CQI对应的调制和编码方案(MCS)索引是通过TS36.101表a .4-1 CSI RMC RC.1 FDD (MCS.1)定义的查找表选择的。
发射和接收波形。传输块数据生成并传递给
lteRMCDLTool
创建一个传输的下行波形。然后将该波形通过衰落信道并添加AWGN噪声。对接收到的信号进行同步,并进行OFDM解调和信道估计。
测量PDSCH吞吐量。对PDSCH和DL-SCH进行解码,并记录CRC通过/失败,以确定数据吞吐量。
医院药学部更新。如果CQI更新计划在此子帧中进行,则使用通道估计来更新CQI
lteCQISelect
函数。更新后的CQI值记录在CQI缓冲区中。如果在这个子帧中没有计划CQI更新,则重用之前的CQI值。
初始化用于记录结果的变量CQIReport = [];%报告的CQI值SINRReport = [];%对应的SINR值Xaxis = [];%对应子帧号每种CQI配置的%(报告的UE和中位数):为cqiConfig = 1:2如果(cqiConfig==1) cqiConfigStr =“报告问题”;其他的cqiConfigStr =“中值”;结束流(在%gdB信噪比下对%d帧(s)使用%s CQI进行模拟\n',...cqiConfigStr、SNRdB NFrames);初始化CQI值:对于已报告的UE,设置为所有1;中位数,%设置为所报告的UE运行的CQI值的中位数如果(cqiConfig==1) cqiBuffer = ones(1, cqdelay);其他的cqiBuffer = ones(1, cqdelay)*medianCQI;结束初始化变量rng (“默认”);默认随机数生成器种子totalCRC = [];% CRC值,用于吞吐量计算totalTBS = [];% TBS值,用于吞吐量计算偏移量= 0;初始化帧偏移值%对于每个子帧:为subframeNo = 0 (NFrames*10-1)更新子帧号enb。NSubframe = mod(subframeNo,10);选择CQI,从CQI缓冲区读取最古老的值cqiPtr = mod(subframeNo, cqdelay);CQI = cqiBuffer(cqiPtr+1);表A.4-1 CSI RMC根据CQI表TS36.101选择MCSFDD (MCS.1),它定义了CQI和CQI之间的关系%指数和MCS指数IMCSTable = [-1 0 0 2 4 6 8 11 13 16 18 21 23 25 27 27];IMCS = IMCSTable(CQI+1);确定TBS和调制顺序[ITBS,调制]= lteMCS(IMCS);enb. pdsch .调制={调制};如果(mod(enb.NSubframe,5)==0) TBS =0;其他的TBS = double(lteTBS(size(enb.PDSCH.PRBSet,1),ITBS));结束enb.PDSCH.TrBlkSizes(enb.NSubframe+1) = TBS;根据,确定该子帧是否需要CQI更新%到报告周期N_pd = 2ms和配置指标表9.3.2.1 -1 . cqi-pmi-ConfigurationIndex = 1 from TS36.101cqiPeriod = 2;%周期性N_pdcqiOffset = 1;来自cqi-pmi-ConfigurationIndex的%偏移量cqiUpdate = (mod(subframeNo,cqiPeriod)==cqiOffset);确定这个子帧是否真的需要执行%接收,CQI估计或初始时序偏移估计:如果((TBS~=0 && subframameno >=(cqdelay +cqiOffset)) ||...(cqiConfig==1 && cqiUpdate) || subframeNo==0)为子帧生成随机位data = randi([0 1],TBS,1);创建包含RMC传输的OFDM资源网格%执行OFDM调制。tx波形= lteRMCDLTool(enb,data);每个通道建模的初始化时间都会被设置子帧来模拟一个连续变化的信道通道。InitTime = subframeNo/1000;通过衰落通道模型传递数据。额外的25个样本被添加到%波形。这些费用包括预期的延误范围%来自通道建模(组合实现%延迟和信道延迟蔓延)rx波形= lteFadingChannel(通道,...[txWaveform;0(25、大小(txWaveform 2))));计算噪声增益,包括下行链路的补偿功率分配百分比信噪比= 10^((SNRdB-enb.PDSCH.Rho)/20);%归一化噪声功率,以考虑采样率,其中%是用于OFDM调制的IFFT大小的函数,并且%天线数N0 = 1/(√(2.0*enb.CellRefP*double(ofdmInfo.Nfft))*信噪比);创建加性高斯白噪声噪声= N0*complex(randn(size(rx波形)),...randn(大小(rxWaveform)));将AWGN添加到接收的时域波形中rx波形= rx波形+噪声;%执行同步控件的预期延迟范围内的偏移量%通道建模(实现延迟和%信道延迟扩展)表示成功如果(mod(subframameno,10)==0) offset = lteDLFrameOffset(enb, rx波形);如果(offset > 25) offset = offset (end);结束offset = [offset offset];% #好< AGROW >结束rx波形= rx波形(1+offset:end,:);对接收到的数据进行OFDM解调来创建%接收的资源网格rxGrid = lteOFDMDemodulate(enb, rx波形);%信道估计如果(perfectChanEstimator...lteDLPerfectChannelEstimate (enb,通道,抵消);n = lteOFDMDemodulate(enb,noise(1+offset:end,:));noiseEst = var(重塑(n,数字(n),1));其他的[chEstGrid,噪音]=...lteDLChannelEstimate (enb enb。PDSCH,...cec、rxGrid);% #好< UNRCH >结束%如果这个子帧需要PDSCH接收:如果(TBS~=0 && subframameno >=(cqdelay +cqiOffset))解码PDSCHind = ltePDSCHIndices(enb,enb. pdsch,enb. pdsch . prbset);pdschRx = lteExtractResources(ind,rxGrid) *...(10 ^ (-enb.PDSCH.Rho / 20));pdschChEst = lteExtractResources(ind,chEstGrid);[rxBits,rxSymbols] = ltePDSCHDecode(enb,enb.)PDSCH,...pdschRx pdschChEst,噪音);解码DL-SCH[decbits,crc] = lteDLSCHDecode(enb,enb. pdsch,TBS,rxBits);记录最终吞吐量的CRC和TBS值%计算totalCRC = [totalCRC crc];% #好< AGROW >totalTBS = [totalTBS TBS];% #好< AGROW >结束%更新CQI:如果(cqiConfig==1 && cqiUpdate)执行CQI选择[thisCQI, thisSINR] =...lteCQISelect (enb enb.PDSCH chEstGrid,噪音);将CQI值反馈给UE(在缓冲区中)cqiBuffer(cqiPtr+1) = this iscqi;记录用于绘图的值CQIReport = [CQIReport this iscqi];% #好< AGROW >SINRReport = [SINRReport thisSINR];% #好< AGROW >xaxis = [xaxis subframeNo];% #好< AGROW >结束结束对于CQI未更新的子帧,重新使用前一个%的值在缓冲区如果(cqiConfig==1 && ~cqiUpdate) cqiBuffer(cqiPtr+1) = cqiBuffer(mod(cqiPtr-1,cqiDelay)+1);结束结束显示当前CQI配置的结果流('\n results with %s CQI:\n', cqiConfigStr);tputTotal = sum(totalTBS);如果(cqiConfig = = 1)计算和显示吞吐量tputUEReported = sum(totalTBS.*(1-totalCRC));流('吞吐量:%d位(%0.2f%%)\n',...tputUEReported tputUEReported / tputTotal * 100);计算并显示BLERmeasuredBLER = mean(totalCRC);流('BLER: %0.3f(要求>= 0.02)\n', measuredBLER);计算并显示CQI中值medianCQI = ceil(median(CQIReport));流(CQI中值:%d\nmedianCQI ');计算并显示CQI值的比例中位数+/- 1外的%measuredAlpha = (sum(CQIReport<(medianCQI-1)) +...sum (CQIReport > (medianCQI + 1))) /长度(CQIReport) * 100;流([CQI指数在中位数+/- 1之外的百分比:...' %0.2f%%(要求>= 20%%)\n'), measuredAlpha);其他的计算和显示吞吐量tputMedian = sum(totalTBS.*(1-totalCRC));流('吞吐量:%d位(%0.2f%%)\n',...tputMedian tputMedian / tputTotal * 100);计算和显示吞吐量比measuredGamma = tputUEReported/tputMedian;流(['吞吐量比(gamma): %0.3f'...'(要求>= 1.05)'), measuredGamma);结束结束
在10帧的6dB信噪比下,UE模拟报告CQI结果:吞吐量:980384位(77.98%)BLER: 0.219(要求是>= 0.02)CQI中位数:10 CQI指数在中位数+/- 1之外的百分比:30.00%(要求是>= 20%)CQI中位数模拟结果:吞吐量:722304位(60.27%)吞吐量比(gamma): 1.357(要求是>= 1.05)
阴谋的结果
产生了一个有两个子图的图。第一个子图显示了每个子帧的估计SINR;第二个子图显示了每个子帧报告的CQI。这说明了由于衰落信道,SINR和相应的报告CQI如何随时间变化。
图;次要情节(2,1,1);情节(xaxis SINRReport,“rx - - - - - -”);包含(“子帧数”);ylabel (估计SINR (dB));标题(估计SINR与子帧数的关系);持有在;次要情节(2,1,2);情节(xaxis CQIReport,“bo - - - - - -”);包含(“子帧数”);ylabel (“选定的CQI指数”);标题(“选定的CQI指数与子帧数”);
选定的参考书目
3GPP TS 36.101《用户设备(UE)无线电发射和接收》