主要内容

基于SRS和PUCCH的上行波形建模

本示例演示如何配置用户设备(UE)和特定小区的探测参考信号(SRS)传输。同时配置PUCCH (Physical Uplink Control Channel)进行传输。

简介

SRS配置分为两部分——特定于ue的和特定于单元的。特定于UE的部分描述了该UE的实际SRS传输的时间表和内容。特定于小区的部分描述了小区中任何UE都可以传输的时间计划——特定于UE的计划必须是该计划的子集。

在本例中,特定于单元格的SRS配置具有5ms的周期性,偏移量为0(由srs。SubframeConfig = 3如TS36.211,表5.5.3.3-1所示[1])。特定于ue的SRS配置具有10ms的周期性,偏移量为0(由srs。ConfigIdx = 7如TS36.213,表8.2-1所示[2])。单元特定的配置意味着对于这个单元,在每个帧(子帧0和5)中存在两个SRS传输机会。在这些子帧期间,单元中的所有ue必须缩短其物理上行链路控制信道(PUCCH)传输,以便在没有干扰的情况下接收SRS,即使它们本身不传输SRS。特定于UE的配置意味着该UE被配置为仅在子帧0中生成SRS。

运行本例时,MATLAB®命令窗口的输出显示所有10个子帧中的PUCCH传输,在子帧0和5中显示缩短,在子帧0中显示SRS传输。

问题的配置

Ue = struct;问题。Nulrb = 15;%资源块数量问题。NCellID = 10;物理层单元标识问题。跳=“关闭”%禁用跳频问题。CyclicPrefixUL =“正常”%正常循环前缀问题。DuplexMode =“FDD”频分双工(FDD)问题。NTxAnts = 1;%发射天线个数问题。NFrame = 0;%帧数

PUCCH配置

折叠=结构;% PUCCH资源指数向量,每个传输天线一个pucch。ResourceIdx = 0:ue.NTxAnts-1;pucch。DeltaShift = 1;%平移参数pucch。CyclicShifts = 0;% PUCCH增量偏移量参数pucch。resourceize = 0;分配给PUCCH的资源大小

SRS配置

SRS = struct;srs。NTxAnts = 1;%发射天线个数srs。SubframeConfig = 3;%细胞特异性SRS周期= 5ms,偏移量= 0srs。BWConfig = 6;%单元特定的SRS带宽配置srs。Bw = 0;ue特定的SRS带宽配置srs。HoppingBW = 0;SRS跳频配置srs。TxComb = 0;梳子传动的均匀指数srs。FreqPosition = 0;频域位置srs。ConfigIdx = 7;% ue特定SRS周期= 10ms,偏移量= 0srs。CyclicShift = 0;% ue循环位移

子帧循环

处理循环每次生成一个子帧。这些都连接在一起,为一个帧(10个子帧)创建资源网格。该循环执行以下操作:

  • SRS的信息:打电话lteSRSInfo我们可以得到给定子帧的SRS相关信息。的IsSRSSubframe结构场srsInfolteSRSInfo调用指示当前子帧(由问题。NSubframe)是单元格特定的SRS子帧(IsSRSSubframe = 1)或否(IsSRSSubframe = 0).该字段的值可以复制到问题。缩短字段。这确保后续的PUCCH生成将正确地尊重所有子帧的特定单元SRS配置,省略特定单元SRS子帧中的最后一个PUCCH符号。

  • pucch1解调参考信号(DRS)的生成和映射: DRS信号位于每个槽位的第3、4和5个符号中,因此不可能与SRS发生碰撞。

  • 生成和映射与DRS不同,PUCCH 1传输可以占用子帧的最后一个符号,除非问题。缩短= 1.在这种情况下,子帧的最后一个符号将为空。

  • SRS生成和映射:这里我们根据特定于ue的SRS配置生成并映射SRS。这两个lteSRSIndices而且lteSRS函数使用字段问题。NSubframe而且srs。ConfigIdx确定当前子帧是否配置为SRS传输;如果不是,两个函数的输出都是空的。

txGrid = [];创建空资源网格I = 1:10处理10个子帧%配置子帧号(以0为基础)问题。NSubframe = i-1;流(“子帧% d: \ n”, ue.NSubframe);%如果这个子帧是细胞特定的SRS子帧,%,如果是这样,配置PUCCH以缩短传输srsInfo = lteSRSInfo(ue, srs);问题。缩短= srsInfo.IsSRSSubframe;将SRS信息复制到ue结构创建空上行链路子帧txSubframe = lteULResourceGrid(ue);生成并映射PUCCH1 DRS到资源网格drsIndices = ltePUCCH1DRSIndices(ue, pucch);% DRS指数drsSymbols = ltePUCCH1DRS(ue, pucch);% DRS序列txSubframe(drsIndices) = drsSymbols;映射到资源网格生成PUCCH1并映射到资源网格pucchIndices = ltePUCCH1Indices(ue, pucch);% PUCCH1指数Ack = [0;1);% HARQ指示值pucchSymbols = ltePUCCH1(ue, pucch, ACK);% PUCCH1序列txSubframe(pucchIndices) = pucchSymbols;映射到资源网格如果(ue.Shortened) disp (“传输缩短的PUCCH”);其他的disp (“传输全长PUCCH”);结束%根据TS配置SRS序列组号(u)5.5.1.3禁用组跳转srs。SeqGroup = mod(ue.NCellID,30);%根据TS 36.211配置SRS基序列号(v)禁用序列跳转srs。SeqIdx = 0;生成SRS并映射到资源网格%(如果在特定于ue的SRS配置下激活)[srsIndices, srsIndicesInfo] = lteSRSIndices(ue, srs);% SRS指数srsSymbols = lteSRS(ue, srs);% SRS seq。如果(srs。NTxAnts == 1 && ue;蚂蚁> 1)映射到资源网格%选择天线表示多个天线选择分集txSubframe (...hsssoffsetindices (ue, srsIndices, srsIndicesInfo.Port)) =...srsSymbols;其他的txSubframe(srsIndices) = srsSymbols;结束%发送给控制台的消息,指示何时将SRS映射到资源%的网格。如果(~ isempty (srsIndices) disp (“传送SRS”);结束连接子帧以形成帧txGrid = [txGrid txSubframe];% #好吧结束
子帧0:发送短PUCCH发送SRS子帧1:发送长PUCCH子帧2:发送长PUCCH子帧3:发送长PUCCH子帧4:发送长PUCCH子帧5:发送短PUCCH子帧6:发送长PUCCH子帧7:发送长PUCCH子帧8:发送长PUCCH子帧9:发送长PUCCH

结果

产生的图形显示了在140个符号中每个SC-FDMA符号中的活动子载波的数量txGrid.所有SC-FDMA符号包含12个活动子载波,对应于PUCCH的单个资源块带宽,除了:

  • 符号13,子帧0的最后一个符号,该子帧0具有48个活动子载波,对应于一个8资源块SRS传输

  • 符号83,子帧5的最后一个符号,它有0个活动子载波,对应于缩短的PUCCH(最后一个符号为空),以允许该单元中的另一个UE潜在的SRS传输。

图;I = 1:ue。NTxAnts次要情节(ue.NTxAnts 1我);情节(0:大小(txGrid, 2) 1,总和(abs (txGrid(:,:我))~ = 0),r: o ')包含(“代号”);ylabel (“主动副载波”);标题(sprintf (“天线% d '张));结束

绘制资源网格,PUCCH在带边,SRS梳状传输在子帧0。

图;pcolor (abs (txGrid));色彩图([11 11 1;0 0 0.5])阴影;包含(“SC-FDMA符号”);ylabel (副载波的

进一步的探索

通过设置可对SRS发射天线的选择进行演示问题。NTxAnts = 2检查每个天线产生的子图;SRS在天线0上传输,而PUCCH在两个(所有)天线上都被缩短。通过进一步配置,可以显示这一帧运行中的天线选择模式srs。SubframeConfig = 0而且srs。ConfigIdx = 0.这配置了一个特定于单元格的SRS配置,周期为2ms,偏移量为0(由srs。SubframeConfig = 0)和特定于ue的SRS配置,周期为2ms,偏移量为0(由srs。ConfigIdx = 0).在这种情况下,一个SRS由该UE在偶数子帧上传输,并且每次传输时传输天线交替。

通过设置,可以显示利用资源分集在多天线上的SRS传输问题。NTxAnts = 2而且srs。NTxAnts = 2.在这种情况下,SRS总是在两个(所有)天线上传输,每个天线上的资源都是正交的。

附录

这个例子使用了这个helper函数。

选定的参考书目

  1. 3GPP TS 36.211《物理通道和调制》

  2. 3GPP TS 36.213“物理层程序”