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

这个例子演示了如何配置用户设备(UE)和特定蜂窝探测参考信号(SRS)传输。还配置了物理上行控制通道(PUCCH)用于传输。

介绍

SRS配置分为两个部分—特定于ue和特定于单元。特定终端部分描述了该终端实际SRS传输的时间表和内容。特定于小区的部分描述了当小区中的任何UE能够传输时的时间调度—特定于小区的调度必须是该调度的子集。

在这个例子中,特定于细胞的SRS配置的周期为5ms,偏移量为0(由srs。SubframeConfig = 3如TS36.211表5.5.3.3-1所示[1]). UE特定SRS配置具有10毫秒的周期性,偏移量为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配置

问题=结构;问题。NULRB = 15;%资源块数问题。NCellID = 10;%物理层单元标识跳=“关”%禁止跳频周期性早泄=“正常”%正规循环前缀问题。DuplexMode =“FDD”频分双工(FDD)ue.NTxAnts=1;%发射天线的数量问题。NFrame = 0;%帧数

PUCCH配置

pucch=struct;%PUCCH资源索引向量,每个传输天线一个pucch.ResourceIdx=0:ue.NTxAnts-1;pucch.DeltaShift=1;% PUCCH增量移位参数pucch.CyclicShifts=0;%PUCCH-delta偏移参数pucch.ResourceSize=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;%循环移位

子帧循环

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

  • SRS的信息:打电话lteSRSInfo我们可以得到与给定子帧的SRS相关的信息。的ISSRS子帧结构域srsInfo从机场回来lteSRSInfo调用指示当前子帧(给定的ue.NSubframe)是特定于细胞的SRS子帧(ISSRS子帧=1)还是不(IsSRSSubframe=0).该字段的值可以复制到ue.缩短字段。这确保了后续的PUCCH生成将正确地尊重所有子帧的细胞特异性SRS配置,省略了细胞特异性SRS子帧中PUCCH的最后一个符号。

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

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

  • SRS的产生和映射:这里我们根据特定于ue的SRS配置生成和映射SRS。这两个lteSRSIndiceslteSRS函数使用字段ue.NSubframesrs.ConfigIdx确定当前子帧是否配置用于SRS传输;如果未配置,则两个功能的输出均为空。

txGrid = [];创建空的资源网格i=1:10%处理10个子帧%配置子帧编号(基于0)ue.NSubframe= i-1; fprintf(“子帧% d: \ n”, ue.NSubframe);%确定此子帧是否为小区特定的SRS子帧,%如果是这样,则为缩短传输配置PUCCHsrsInfo=lteSRSInfo(ue,srs);ue.shorted=srsInfo.IsSRSSubframe;%将SRS信息复制到ue结构%创建空上行链路子帧txSubframe = lteULResourceGrid(问题);%生成PUCCH1 DRS并将其映射到资源网格drsIndices = ltePUCCH1DRSIndices(ue, pucch);%DRS指数drsSymbols = ltePUCCH1DRS(ue, pucch);% DRS序列txSubframe (drsIndices) = drsSymbols;%映射到资源网格%生成并映射PUCCH1到资源网格pucchIndices=ltepucch1条件(ue,pucch);% PUCCH1指数ACK = [0;1);%HARQ指示符值pucchymbols=ltePUCCH1(ue、pucch、ACK);%PUCCH1序列txSubframe(pucchIndices)=pucchSymbols;%映射到资源网格如果(ue.缩写)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&&ue.NTxAnts>1)%映射到资源网格%为多天线选择分集选择天线txSubframe (...hSRSOffsetIndices(ue, srsIndices, srsIndicesInfo.Port)) =...SRS符号;其他的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子帧h PUCCH子帧8:发送全长PUCCH子帧9:发送全长PUCCH

后果

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

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

  • 符号83,子帧5的最后一个符号,其具有与缩短的PUCCH(最后一个符号为空)对应的0个活动子载波,以允许该小区中的另一UE进行潜在SRS传输。

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

在子帧0中绘制带边缘PUCCH和SRS梳状传输的资源网格。

图;pcolor(abs(txGrid));colormap([1 1;0.5])着色平的;包含(“SC-FDMA符号”);ylabel (“副载波”

进一步探索

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

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

附录

此示例使用以下帮助器函数:

精选书目

  1. 3GPP TS 36.211“物理信道和调制”

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