这个例子演示了如何配置用户设备(UE)和特定蜂窝探测参考信号(SRS)传输。还配置了物理上行控制通道(PUCCH)用于传输。
SRS配置分为两个部分—特定于ue和特定于单元。特定终端部分描述了该终端实际SRS传输的时间表和内容。特定于小区的部分描述了当小区中的任何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])。细胞特定的配置意味着,对于这个细胞,在每帧中存在两个SRS传输机会,子帧0和5。小区内的所有终端必须在这些子帧期间缩短它们的物理上行控制信道(PUCCH)传输,以允许SRS接收而不受干扰,即使它们本身没有发射SRS。特定于UE的配置意味着该UE仅在子帧0中生成SRS。
运行此示例时,MATLAB®命令窗口的输出显示了所有10个子帧的PUCCH传输,在子帧0和5中进行缩短,并在子帧0中进行SRS传输。
问题=结构;问题。NULRB = 15;%资源块数问题。NCellID = 10;%物理层单元标识问题。跳=“关闭”;%禁止跳频问题。CyclicPrefixUL =“正常”;正规循环前缀问题。DuplexMode =“FDD”;频分双工(FDD)问题。NTxAnts = 1;%发送天线数问题。NFrame = 0;%帧数
pucch =结构;% PUCCH资源指数矢量,每个传输天线一个pucch。ResourceIdx = 0: ue.NTxAnts-1;pucch。DeltaShift = 1;% PUCCH增量移位参数pucch。CyclicShifts = 0;% PUCCH增量偏移参数pucch。ResourceSize = 0;%分配给PUCCH的资源大小
srs =结构;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-specific SRS period = 10ms, offset = 0srs。CyclicShift = 0;% UE-cyclic转变
处理循环每次生成一个子帧。这些都被连接起来以创建一个帧(10个子帧)的资源网格。该循环执行以下操作:
SRS的信息:通过调用lteSRSInfo
我们可以得到与给定子帧的SRS相关的信息。的IsSRSSubframe
结构场srsInfo
返回的lteSRSInfo
调用指示当前子帧(给定的问题。NSubframe
)是特定于细胞的SRS子帧(IsSRSSubframe = 1
)或不是(IsSRSSubframe = 0
).该字段的值可以复制到问题。缩短
字段。这确保了后续的PUCCH生成将正确地尊重所有子帧的细胞特异性SRS配置,省略了细胞特异性SRS子帧中PUCCH的最后一个符号。
1解调参考信号(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 =张;流(“子帧% d: \ n”, ue.NSubframe);%确定该子帧是否是细胞特异性SRS子帧,%,如果是,则配置缩短传输的PUCCHsrsInfo = lteSRSInfo(ue, srs);问题。缩短= srsInfo.IsSRSSubframe;复制SRS信息到ue结构体%创建空上行子帧txSubframe = lteULResourceGrid(问题);%生成并映射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)% 36.211第5.5.1.3节禁用群跳srs。SeqGroup =国防部(ue.NCellID 30);%根据TS 36.211配置SRS基序列号(v)禁用序列跳变的5.5.1.4节srs。SeqIdx = 0;生成并映射SRS到资源网格%(如果在特定于ue的SRS配置下是活动的)[srsIndices, srsIndicesInfo] = lteSRSIndices(ue, srs);% SRS指数srsSymbols = lteSRS(ue, srs);% SRS seq。如果(srs。NTxAnts == 1;NTxAnts > 1)映射到资源网格为多个天线选择分集选择天线txSubframe (...hSRSOffsetIndices(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传输。
图;为我= 1:问题。NTxAnts次要情节(ue.NTxAnts 1我);情节(0:大小(txGrid, 2) 1,总和(abs (txGrid(:,:我))~ = 0),r: o ')包含(“代号”);ylabel (“主动副载波”);标题(sprintf (“天线% d '张));结束
在子帧0中绘制带边缘PUCCH和SRS梳状传输的资源网格。
图;pcolor (abs (txGrid));colormap ([1 1 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函数。
3GPP TS 36.211 "物理通道和调制"
3GPP TS 36.213《物理层程序》