主要内容

使用SRS NR上行信道状态信息估计

这个例子展示了如何使用探测参考信号(SRS)同步、信道估计、上行信道状态信息(CSI)估计。

介绍

探测参考信号上行物理信号由用户设备(UE)用于上行通道探测,包括同步和CSI估计。医院药学部CSI包括信道质量指标(),排名指数(RI),预编码器(PMI)矩阵指标。这个例子演示了如何使用SRS选择适当的PMI在频率选择时变噪声通道。上行codebook-based传输使用采购经理人指数,TS 38.211节中定义6.3.1.5 [1]。

这个例子执行模拟包括:

  • SRS配置和传输

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

  • 信噪比(信噪比)的估计

  • 采购经理人指数的选择

  • PMI选择性能评估

仿真长度和信噪比

集的长度模拟10 ms帧的数量。设置模拟信噪比点。每再保险和信噪比的定义适用于每一个接收天线。

numFrames = 1;% 10 ms的框架信噪比= 20;在dB %信噪比

问题和SRS配置

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

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

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

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

  • 发送和接收天线数量:1、2或4。

  • 层数。它必须低于或等于传输和接收天线的数量。

指定的SRS参数包括:

  • SRS天线端口数量:1、2、4

  • 每个槽SRS的OFDM符号分配数量:1,2,4

  • 开始OFDM符号的SRS槽内传播。它必须(8…13)正常CP和CP(6…11)扩展。

  • SRS的频率在苏格兰皇家银行指定起始位置

  • 带宽和跳频配置csr,建筑,BHop。集BHop > =建筑禁用跳频。

  • 传输梳子指定SRS副载波的频率密度:2、4

  • 一些重复的SRS的象征,在槽内。它在块禁用跳频重复符号。集重复= 1没有重复。

  • 周期性和抵消SRS的插槽。

  • 资源类型可以“周期”、“semi-persistent”和“周期”。非周期的跳频模式重置SRS资源类型在每一个槽。

%创建问题/载波配置问题= nrCarrierConfig;问题。NSizeGrid = 52个;%的带宽数量的资源块(52苏格兰皇家银行在15 khz SCS 10 mhz BW)问题。SubcarrierSpacing = 15;% 15、30、60、120、240(赫兹)问题。CyclicPrefix =“正常”;%“正常”或“扩展”nTxAnts = 2;%的发送天线数量(1、2、4)nRxAnts = 2;%的接收天线nLayers = min (nTxAnts nRxAnts);%配置一个周期多口SRS和支持跳频srs = nrSRSConfig;srs。NumSRSSymbols = 4;%的OFDM符号分配每槽(1、2、4)srs。SymbolStart = 8;%开始OFDM符号在一个插槽srs。NumSRSPorts = nTxAnts;%的SRS天线端口(1、2、4)。srs。FrequencyStart = 0;%的频率位置SRS BWP苏格兰皇家银行srs。NRRC = 0;%额外抵消FreqStart 4块规定的伪随机位序列(0。67)srs。csr= 14;%的带宽配置C_SRS (0。63)。它控制分配带宽SRSsrs。建筑= 0;%的带宽配置B_SRS (0。3)。它控制分配带宽SRSsrs。BHop= 0;%跳频配置(0。3)。设置BHop <建筑实现跳频srs。KTC = 2;%梳数(2、4)。副载波频率密度srs。重复= 2;%(1、2、4)重复。它禁用跳频块| |符号重复srs。SRSPeriod = [2 0];在槽%周期性和偏移量。必须< SRSPeriod SRSPeriod (2) (1)srs。ResourceType =“周期”;%的资源类型(“周期”、“semi-persistent”,“非周期”)。使用“非周期”禁用inter-slot跳频

同步、信道估计和CSI的测量配置

这个例子执行同步和信道估计SRS候选人名额。时机和信道估计更新只有在包含SRS传输插槽。在跳频SRS设置,信道估计只更新那些资源块包含SRS符号。当没有SRS传播,时机和信道估计从先前的槽和用于CSI采集举行。同样,噪声功率估计更新只有在SRS候选人名额。

逻辑变量practicalSynchronization控制通道的同步行为。当设置为真正的,执行实际的同步的例子基于接收SRS的值。当设置为,该示例执行完美的同步。同步执行只有在插槽的SRS传播保持完美的和实际的信道估计同步。

practicalSynchronization = true;

这个例子估计CSI载波带宽分割到部分波段。在RB指定部分波段频率的大小

csiSubbandSize = 4;%每个部分波段的苏格兰皇家银行的数量

传播通道模型配置

创建一个TDL通道模型对象,并指定其传播特性。选择通道延迟扩展和最大的多普勒频移来创建一个时变和频率选择通道内的模拟时间和载波带宽。

频道= nrTDLChannel;通道。DelayProfile =“TDL-C”;通道。DelaySpread = 40 e-9;通道。MaximumDopplerShift = 30;通道。NumTransmitAntennas = nTxAnts;通道。NumReceiveAntennas = nRxAnts;通道。Seed = 5;%设置通道采样率ofdmInfo = nrOFDMInfo(问题);通道。SampleRate = ofdmInfo.SampleRate;

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

chInfo =信息(渠道);maxChDelay =装天花板(max (chInfo.PathDelays * channel.SampleRate));maxChDelay = maxChDelay + chInfo.ChannelFilterDelay;%重置随机发生器再现性rng (“默认”);

处理循环

测量每槽CSI。CSI获得使用以下步骤:

  • 生成网格资源。使用SRS符号和指标来创建一个资源元素(重新)网格。

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

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

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

  • 进行信道估计。完美的信道估计的信道脉冲响应的OFDM解调信道估计。对于实际的信道估计,传播使用SRS。

  • 采购经理人指数的选择。SRS-based信道估计是用来选择最好的PMI在每个CSI估计部分波段。PMI选择准则最大化平均signal-to-interference-plus-noise-ratio预编码后(SINR)。

  • PMI选择SINR的损失。SINR损失计算通过比较预编码后的SINR估计和理想的采购经理人指数。理想的采购经理人指数选择使用完美的信道估计。

%槽数来模拟numSlots = numFrames * ue.SlotsPerFrame;%的总数每槽副载波和符号K =问题。NSizeGrid * 12;L = ue.SymbolsPerSlot;%初始化数组存储信道估计allTxGrid = 0 ([K L * numSlots nTxAnts]);slotGridSize = [K L nRxAnts nTxAnts];命令= 0 (slotGridSize);hestInterp = 0 (slotGridSize);hEstUpdate = 0 (slotGridSize);totalGridSize = [K L * numSlots nRxAnts nTxAnts);allHest = 0 (totalGridSize);allHestPerfect = 0 (totalGridSize);allHestInterp = 0 (totalGridSize);%初始化噪声功率估计据nvar = 0;%计算承运人CSI部分波段的数目numCSISubbands =装天花板(ue.NSizeGrid / csiSubbandSize);%初始化每部分波段SINR,槽,PMImaxPMI = hMaxPUSCHPrecodingMatrixIndicator (nLayers nTxAnts);sinrSubband = 0 ([numCSISubbands numSlots maxPMI + 1]);%初始化采购经理人指数矩阵和SINR的损失采购经理人指数=南(numCSISubbands numSlots);pmiPerfect =采购经理人指数;损失= 0(大小(pmi));%初始化时间估计抵消抵消= chInfo.ChannelFilterDelay;%计算SRS CDM的长度cdmLengths = hSRSCDMLengths (srs);% OFDM符号用于CSI收购csiSelectSymbols = srs。SymbolStart + (1: srs.NumSRSSymbols);nSlot = 0: numSlots-1%更新位置计数器问题。NSlot = NSlot;%生成SRS和映射到网格[srsIndices, srsIndInfo] = nrSRSIndices(问题,srs);srsSymbols = nrSRS(问题,srs);%创建一个SRS slot-wise资源网格空网格和地图符号nTxAnts txGrid = nrResourceGrid(问题);txGrid (srsIndices) = srsSymbols;%确定槽包含SRSisSRSSlot = ~ isempty (srsSymbols);% OFDM调制[txWaveform, waveformInfo] = nrOFDMModulate(问题,txGrid);txWaveform = [txWaveform;0 (maxChDelay、尺寸(txWaveform 2)));%要求后冲洗通道滤波器得到接收信号%通过信道传输[rxWaveform, pathGains] =通道(txWaveform);%添加情况下接收到的时域波形%正常化噪声功率的采样率,这是%传输线大小的函数用于OFDM调制。的信噪比% /重新定义为每个接收天线(TS 38.101 - 4)。信噪比= 10 ^(信噪比/ 10);N0 = 1 /√(2.0 * nRxAnts *双(waveformInfo.Nfft) *信噪比);噪音= N0 *复杂(randn(大小(rxWaveform)), randn(大小(rxWaveform)));rxWaveform = rxWaveform +噪声;%执行定时偏移估计pathFilters = getPathFilters(渠道);%的时间估计是只执行SRS的插槽中%传播保持完美的和实际的信道估计%同步。如果isSRSSlot如果practicalSynchronization%实际同步。将接收到的波形%的SRS给定时偏移估计抵消= nrTimingEstimate(问题、rxWaveform srsIndices, srsSymbols);其他的抵消= nrPerfectTimingEstimate (pathGains pathFilters);结束结束%完成OFDM解调rxGrid = nrOFDMDemodulate(问题,rxWaveform(1 +抵消:最终,));%执行实际的信道估计%更新信道估计仅在符号包含SRS和苏格兰皇家银行%在这个位置,前面的位置的估计%的位置。据nvar不是当没有更新SRS传播。使用%的时间平均窗口覆盖所有的SRS符号传播。如果isSRSSlot%这个位置包含一个SRS传播[命令,据nvar] = nrChannelEstimate(问题、rxGrid srsIndices, srsSymbols,“AveragingWindow”[0 7],“CDMLengths”,cdmLengths);%使用从先前的槽的OFDM信道估计符号之前第一个SRS的象征hestInterp = repmat (hestInterp (:,:,:), 1, ue.SymbolsPerSlot);%更新信道估计在OFDM符号和RB SRS%现在和保存所有信道估计在年底前槽firstSymbol = srs.SymbolStart + 1;lastSymbol = srs。SymbolStart + srs.NumSRSSymbols;firstSymbol hEstUpdate (:: lastSymbol、::) =命令(:,firstSymbol: lastSymbol,:,:);lastSymbol hEstUpdate (::,:,:) = repmat(命令(lastSymbol,::,:), 1, ue.SymbolsPerSlot-lastSymbol + 1);idxHEstUpdate = hEstUpdate ~ = 0;%更新信道估计的指标hestInterp (idxHEstUpdate) = hEstUpdate (idxHEstUpdate);其他的%保存以前的信道估计,如果这个位置不包含SRShestInterp = repmat (hestInterp (:,:,:), 1, ue.SymbolsPerSlot);结束% PMI选择%选择预编码器矩阵指标层使用%的插值信道估计OFDM符号规定% csiSelectSymbols。采购经理人指数的估计每CSI部分波段pmi (:, nSlot + 1), sinrSubband (nSlot + 1,::), subbandIndices] = hPMISelect (nLayers, hestInterp (csiSelectSymbols,::,:),据nvar, csiSubbandSize);% PMI选择SINR的损失%计算性能损失的比SINR预编码%与采购经理人指数选择使用一个实际的信道估计和SINR%与采购经理人指数预编码后选择使用一个完美的信道估计。%计算完美的PMI选择完美的信道估计hEstPerfect = nrPerfectChannelEstimate (pathFilters pathGains退居其次,抵消);%完美的噪声估计噪声的实现noiseGrid = nrOFDMDemodulate(问题、噪声(1 +抵消:最终,));nvarPerfect = var (noiseGrid (:));[损失:nSlot + 1), pmiPerfect (:, nSlot + 1)] = hPMISelectionSINRLoss (pmi (:, nSlot + 1), nLayers, hEstPerfect csiSelectSymbols,::,:, nvarPerfect);%保存一个副本的OFDM传输网格和信道估计%显示目的thisSlot = nSlot * L + (1: L);%符号的当前位置thisSlot, allTxGrid (::) = txGrid;allHest (thisSlot,::,:) =命令;allHestInterp (thisSlot,::,:) = hestInterp;allHestPerfect (thisSlot,::,:) = hEstPerfect;结束

结果

本节显示这些结果对所有配置帧:

  • OFDM传输网格包含SRS

  • 完美的和实际的信道估计和信道估计错误。计算误差的绝对值完美之间的差异和实际信道估计。

  • 选择PMI使用完美的和实际的信道估计,PMI绝对误差。

  • 每部分波段平均SINR预编码后最佳估计PMI

  • SINR性能损失

%建立轴和轴向量符号= 0:(ue.NSlot + 1) * ue.SymbolsPerSlot-1;槽= 0:ue.NSlot;副载波= 1:ue.NSizeGrid * 12;resourceBlocks = 1: ue.NSizeGrid;

显示包含SRS的OFDM传输网格

图显示亮度图像(符号、副载波、abs (allTxGrid (:,:, 1, 1)));包含(OFDM符号的);ylabel (副载波的);轴xy;标题(“传播SRS(端口1)”);

显示完美的和实际的信道估计和信道估计误差每槽和RB。信道估计误差的绝对值的定义是完美的和实际的信道估计的区别。

%删除第一个OFDM符号不包含SRS改进的可视化%信道估计误差hEstInterp = allHestInterp;idx = 1:(srs.SRSPeriod(2) *问题。SymbolsPerSlot + srs.SymbolStart);hEstInterp (idx,::,:) =南;hEstInterp ((srs.NRB * 12 + 1):,:,:,:) =南;hChannelEstimationPlot(符号、副载波allHestPerfect hEstInterp);

使用完美显示选中的PMI和实际信道估计,和PMI选择每槽和RB SINR损失。的SINR损失被定义为一个比SINR预编码后估计和完善采购经理人指数。估计采购经理人指数得到了使用一个实际的信道估计和完美的采购经理人指数选择使用一个完美的信道估计。

%首次扩大亏损部分波段为苏格兰皇家银行用于显示目的pmiRB = hExpandSubbandToRB (pmi csiSubbandSize ue.NSizeGrid);pmiPerfectRB = hExpandSubbandToRB (pmiPerfect csiSubbandSize ue.NSizeGrid);lossRB = hExpandSubbandToRB(损失,csiSubbandSize ue.NSizeGrid);hPMIPlot(槽resourceBlocks pmiRB、pmiPerfectRB lossRB);

接下来,比较采购经理人指数获得使用完美的和实际的信道估计。这表明正确的比例占总采购经理人指数和资源网格的位置发生错误。

numLayers = min(大小(allHestInterp [3 - 4]));如果numLayers ~ = 1 pmiErr =总和(abs pmiPerfect (pmi) > 0, [1 - 2])。/笔(~ isnan (pmi), [1 - 2]);TotPMIEst =总和(~ isnan (pmi), [1 - 2]);流(的数量估计PMI: % d \ n ',TotPMIEst);流(数量错了PMI: % d \ n '装天花板(pmiErr * TotPMIEst));流(相对误差:%。1 f (% %) \ n ',pmiErr * 100);其他的流(的一层,PMI总是0。\ n”);结束
预计采购经理人指数:130错误的采购经理人指数:3相对误差:2.3 (%)

显示每槽和RB SINR获得预编码后的PMI最大化SINR每部分波段。

hBestSINRPlot(槽resourceBlocks sinrSubband pmi, csiSubbandSize);

总结和进一步勘探

这个例子展示了如何使用SRS同步、信道估计和PMI选择通常受雇于codebook-based上行传输模式。这个例子还评估信道估计和PMI选择使用预编码后的SINR性能损失。

你可以研究信道估计的性能和PMI选择在更复杂的设置。增加SRS周期性和观察通道估计引入了一个延迟老化和恶化预编码后的SINR。此外,您可以调查的性能在跳频条件下通过设置SRS参数BHop <建筑。在此设置中,信道估计衰老并不是统一的频率。

附录

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

引用

  1. 3 gpp TS 38.211。“NR;物理通道和调制“第三代合作伙伴项目;技术规范集团无线接入网络。

  2. 3 gpp TS 38.101 - 4。“NR;用户设备(UE)无线电发射和接受。第4部分:性能要求“第三代合作伙伴项目;技术规范集团无线接入网络。

本地函数

%显示完美的和实际的信道估计和信道%估计误差第一传输和接收端口。英吉利海峡%估计误差被定义为不同的绝对值%之间完美的和实际的信道估计。函数hChannelEstimationPlot(符号、副载波allHestPerfect allHestInterp)图次要情节(311)显示亮度图像(符号、副载波、abs (allHestPerfect (:,:, 1, 1)));轴xy;包含(OFDM符号的);ylabel (副载波的);colorbar;标题(“完美信道估计(TxAnt = 1, RxAnt = 1)的);次要情节(312)显示亮度图像(符号、副载波、abs (allHestInterp (:,:, 1, 1)),“AlphaData”、~ isnan (allHestInterp(:,:, 1, 1)))轴xy;包含(OFDM符号的);ylabel (副载波的);colorbar;标题(“SRS-based实际信道估计(TxAnt = 1, RxAnt = 1)”);%显示信道估计错误,定义为之间的差异% SRS-based和完美的信道估计次要情节(313)hestErr = abs (allHestInterp - allHestPerfect);显示亮度图像(符号、副载波hestErr (:,:, 1, 1),“AlphaData”、~ isnan (hestErr (:,:, 1, 1)));轴xy;包含(OFDM符号的);ylabel (副载波的);colorbar;标题(的信道估计误差(TxAnt = 1, RxAnt = 1)的);结束%显示PMI进化和PMI估计随着时间的推移和SINR损失%的频率。的SINR损失被定义为一个比SINR%预编码估计和完美的采购经理人指数。预计采购经理人指数%获得使用一个实际的信道估计和完美的采购经理人指数%选择使用一个完美的信道估计。函数hPMIPlot(槽resourceBlocks pmiRB、pmiPerfectRB lossRB)图次要情节(311)显示亮度图像(插槽,resourceBlocks pmiPerfectRB,“AlphaData”~ isnan (pmiPerfectRB));轴xy;c = caxis;厘米= colormap;colormap(厘米(1:地板(尺寸(厘米,1)/ (c (2) - c (1)) 1):,:));%调整colormap PMI离散值colorbar包含(“槽”);ylabel (“资源块”)、标题(PMI使用完美的信道估计来选择的)次要情节(312)显示亮度图像(插槽,resourceBlocks pmiRB,“AlphaData”~ isnan (pmiRB));轴xy;colorbar,包含(“槽”);ylabel (“资源块”)、标题(PMI使用SRS来选择的)次要情节(313)显示亮度图像(插槽,resourceBlocks lossRB,“AlphaData”~ isnan (lossRB));甘氨胆酸colormap(厘米)包含(“槽”);ylabel (“资源块”);轴xy;colorbar;标题(“PMI估计SINR损失(dB)”)结束%显示每个资源块的SINR的预编码后得到% PMI最大化每个部分波段SINR。函数hBestSINRPlot(槽resourceBlocks sinrSubband pmi, csiBandSize)%显示SINR预编码后最好的采购经理人指数bestSINRPerSubband =南(大小(sinrSubband [1 - 2]));%得到SINR每部分波段和槽使用最好的采购经理人指数(某人,nslot) =找到(~ isnan (pmi));i = 1:长度(某人)bestSINRPerSubband(某人(我),nslot(我))= sinrSubband(某人(我),nslot(我),pmi(某人(我),nslot(我))+ 1);结束%的第一个扩展SINR从次能带到苏格兰皇家银行用于显示目的bestSINRPerRB = hExpandSubbandToRB (bestSINRPerSubband csiBandSize、长度(resourceBlocks));图sinrdb = 10 * log10 (abs (bestSINRPerRB));显示亮度图像(插槽,resourceBlocks sinrdb,“AlphaData”~ isnan (sinrdb));轴xy;colorbar;包含(“槽”);ylabel (“资源块”)标题(每部分波段的平均SINR,槽与最好的PMI (dB)预编码后的)结束%每部分波段扩展一个二维矩阵的值在第一维度成%每个资源块矩阵的值。函数rbValues = hExpandSubbandToRB (subbandValues bandSize NRB) lastBandSize =国防部(NRB bandSize);lastBandSize = lastBandSize + bandSize * (lastBandSize = = 0);rbValues = [kron (subbandValues (1: end-1,:) (bandSize, 1));subbandValues(最终:)。*的(lastBandSize, 1)];结束

另请参阅

功能

对象

相关的话题