NR PUSCH资源分配和DM-RS和PT-RS参考信号
本例展示了新的无线电(NR)物理上行共享通道(PUSCH)、相关解调参考信号(DM-RS)和相位跟踪参考信号(PT-RS)的时频方面。通过算例说明了PUSCH资源分配对DM-RS和PT-RS时频结构的影响。
简介
在5G NR中,PUSCH是承载用户数据的物理上行通道。DM-RS和PT-RS是与PUSCH相关的参考信号。DM-RS是PUSCH相干解调的一部分,用于信道估计。3GPP 5G NR引入了PT-RS技术来弥补常见的相位误差(CPE)。本振子产生的相位噪声在毫米波频率时产生了显著的退化。它产生CPE和载波间干扰(ICI)。CPE导致在每个子载波中接收到的符号旋转相同。ICI导致子载波之间的正交性丧失。PT-RS主要用于估计和最小化CPE对系统性能的影响。
参考信号的时频结构取决于为PUSCH配置的波形类型,如TS 38.211节6.4.1.1和6.4.1.2所定义[1].当变换预编码被禁用时,配置的波形为循环前缀正交频分复用(CP-OFDM)。当变换预编码使能时,配置的波形为离散-傅立叶-变换-扩展正交频分复用(DFT-s-OFDM)。
5G Toolbox™为物理(PHY)层建模提供了不同粒度级别的功能。粒度级别从执行传输和物理通道处理的PHY通道级函数到执行循环冗余校验(CRC)编码、代码块分割、低密度奇偶校验(LDPC)通道编码的单个通道处理阶段函数,等等。工具箱以函数的形式提供与PUSCH相关联的参考信号功能nrPUSCHDMRS
,nrPUSCHDMRSIndices
,nrPUSCHPTRS
,nrPUSCHPTRSIndices
.
PUSCH
PUSCH是承载用户数据的物理通道。分配给PUSCH的资源在运营商的带宽部分(BWP)内,如TS 38.214章节6.1.2所定义[2].PUSCH传输的时域资源由现场下行控制信息(DCI)调度时域资源分配。该字段表示槽位偏移量 开始,象征年代,分配长度l、PUSCH的映射类型。的有效组合年代而且l如表1所示。
用于PUSCH传输的频域资源由现场的DCI调度频域资源分配.根据资源块的分配类型,该字段表示资源块的资源分配是连续的还是不连续的。分配的RBs在BWP内。
5G工具箱™提供了nrCarrierConfig
而且nrPUSCHConfig
对象,设置BWP内与PUSCH相关的参数。
设置15 kHz副载波间距和10 MHz带宽的载波载体= nrCarrierConfig;母舰。年代ubcarrierSpacing = 15; carrier.CyclicPrefix =“正常”;母舰。N年代izeGrid = 52; carrier.NStartGrid = 0;配置物理上行共享通道参数pusch = nrPUSCHConfig;pusch。N年代izeBWP = [];% Empty表示该值等于NSizeGridpusch。N年代tartBWP = [];% Empty表示该值等于NStartGridpusch。PRBSet = 25;%分配一半的载波带宽pusch。年代ymbolAllocation = [0 14];%符号分配[S L]pusch。MappingType =“一个”;% PUSCH映射类型('A'或'B')pusch。TransmissionScheme =“nonCodebook”;% ('codebook'或'nonCodebook')当设置“TransmissionScheme”时,以下参数适用%“码”pusch。NumAntennaPorts = 4; pusch.TPMI = 0;
为CP-OFDM DM-RS
采用DM-RS对无线电信道进行估计。DM-RS只出现在预定用于PUSCH的RBs中。DM-RS结构旨在支持不同的部署场景和用例。
控制时间资源的参数
控制DM-RS时间资源的参数为:
PUSCH符号分配
映射类型
Intra-slot跳频
DM-RS A型位置
DM-RS长度
DM-RS额外的位置
PUSCH的符号分配是指在一个槽位中为PUSCH传输分配的OFDM符号位置。映射类型表示第一个DM-RS OFDM符号位置和OFDM符号的持续时间( ).对于映射类型A, 是该槽位的第一个OFDM符号到已分配PUSCH资源的最后一个OFDM符号之间的持续时间。对于映射类型B, 为已分配PUSCH资源的持续时间。当槽内跳频使能时, 是每跳的持续时间。当槽内跳频使能时,DM-RS符号出现在每一跳中。当槽内跳频被启用时,DM-RS是单符号,附加位置的最大数目为0或1。DM-RS符号位置由TS 38.211表6.4.1.1.3-3、6.4.1.1.3-4和6.4.1.1.3-6给出。图1显示了PUSCH的DM-RS符号位置,PUSCH映射类型为A,启用槽内跳频,DM-RS附加位置的数量为1,占14个符号。图中显示DM-RS出现在每一跳中。DM-RS符号在每一跳中的位置取决于每一跳中为PUSCH分配的OFDM符号的数量。
其他DM-RS参数请参见NR PDSCH资源分配和DM-RS和PT-RS参考信号.
为PUSCH分配槽内跳频pusch。FrequencyHopping =“intraSlot”;'neither', 'intraSlot', 'interSlot'pusch。年代econdHopStartPRB = 26;设置DM-RS时间资源控制参数pusch.DMRS.DMRSTypeAPosition = 2;% 2或3pusch.DMRS.DMRSLength = 1;% 1或2(单符号或双符号)pusch.DMRS.DMRSAdditionalPosition = 1;% 0…3(新增DM-RS职位数量)
控制频率资源的参数
控制DM-RS频率资源的参数为:
DM-RS配置类型
DM-RS天线端口
配置类型表示DM-RS的频率密度,通过RRC消息发出信号dmrs-Type.配置类型1定义了每个天线端口的每个物理资源块(PRB)的六个子载波,包括交替子载波。配置类型2定义了每个天线端口的每个PRB有四个子载波,由两组连续的两个子载波组成。不同的增量移位应用于所使用的子载波集,这取决于相关的天线端口或码分多址(CDM)组。对于配置类型1,在八个可能的天线端口上有两个可能的CDM组/移位(p=0…7)。对于配置类型2,在12个天线端口上有三种可能的CDM组/移位(p=0…11)。有关更多细节,请参见NR PDSCH资源分配和DM-RS和PT-RS参考信号.
在基于码本的PUSCH处理中,每层DM-RS子载波位置的联合被投影到所有天线端口。
设置DM-RS的频率资源控制参数pusch.DMRS.DMRSConfigurationType = 1;% 1或2pusch.DMRS.DMRSPortSet = 0;DMRS的只读属性DeltaShifts和DMRSSubcarrierLocations属性提供了增量移位(s)和DM-RS的值为所配置的每个天线端口在RB中的子载波位置%。pusch.DMRS.DeltaShifts
ans = 0
pusch.DMRS.DMRSSubcarrierLocations
ans =6×10 2 4 6 8 10
序列生成
用于DM-RS的伪随机序列为 黄金序列长度。该序列是跨所有公共资源块(crb)生成的,并且只在为数据分配的RBs中传输,因为不需要该序列来估计不传输数据的频率区域之外的通道。在多用户MIMO的情况下,跨所有crb生成参考信号序列,确保在重叠的时频资源上的多个终端使用相同的底层伪随机序列。控制序列生成的参数为:
DM-RS置乱标识( )
DM-RS置乱初始化( )
槽位中的OFDM符号数
无线电帧中的槽号
DM-RS符号的位置
伪随机位序列分配
carrier对象的CyclicPrefix属性控制槽位中OFDM符号的数量。carrier对象的NSlot属性控制槽位号。
在基于码本的PUSCH处理的情况下,序列与预编码器矩阵相乘,该矩阵取决于层数、天线端口数和传输预编码器矩阵指示器(TPMI)。
%设置仅控制DM-RS序列生成的参数pusch.DMRS.NIDNSCID = 1;使用empty将其设置为载体的ncelllidpusch.DMRS.NSCID = 0;% 0或1生成DM-RS符号pusch。NumLayers = numel(pusch.DMRS.DMRSPortSet); dmrsSymbols = nrPUSCHDMRS(carrier,pusch);绘制星座图散点图(dmrsSymbols)标题(“DM-RS星座”)包含(“真实”的) ylabel (“虚”)
DMRS的只读属性TimeWeights和FrequencyWeights属性提供了时间和频率的值%权重应用于DM-RS符号。pusch.DMRS.TimeWeights
ans =2×11
pusch.DMRS.FrequencyWeights
ans =2×11
生成DM-RS索引dmrsIndices = nrPUSCHDMRSIndices(载体、pusch);借助DM-RS索引将DM-RS符号映射到网格中。如果strcmpi (pusch。TransmissionScheme,“码”) nports = push . numantennapports;其他的nport = pusch.NumLayers;结束网格= 0([12 *载体。NSizeGrid母舰。年代ymbolsPerSlot nports]); grid(dmrsIndices) = dmrsSymbols; figure imagesc(abs(grid(:,:,1))); axisxy;包含(OFDM符号的);ylabel (副载波的);标题(“DM-RS时频位置”);
为CP-OFDM PT-RS
PT-RS是相位跟踪参考信号。PT-RS主要用于估计和最小化CPE对系统性能的影响。由于相位噪声的特性,PT-RS信号具有频域密度低、时域密度高的特点。PT-RS总是与DM-RS结合使用,并且只有当网络配置了PT-RS时才会出现。
控制时间资源的参数
PT-RS通过上层参数配置DMRS-UplinkConfig上行。控制PT-RS时间资源的参数为:
DM-RS符号的位置
PT-RS时间密度( )
取决于预定的调制和编码方案。取值必须为{1,2,4}中的一个。有关控制DM-RS符号位置的参数,请参见DM-RS时间资源控制参数(CP-OFDM).
设置pusch中的EnablePTRS属性为1pusch。EnablePTRS = 1;设置PT-RS时间资源控制参数pusch.PTRS.TimeDensity = 2;
控制频率资源的参数
PT-RS对于一个OFDM符号只占用RB中的一个子载波。控制PT-RS频率资源的参数为:
复审委员会分配
DM-RS配置类型
PT-RS的频率密度( )
无线网络临时标识符( )
资源元素抵消
PT-RS天线端口
取决于计划带宽。取值为2或4。表示每两个RBs中存在PT-RS,还是每四个RBs中存在PT-RS。
有关更多细节,请参见NR PDSCH资源分配和DM-RS和PT-RS参考信号.
设置PT-RS子载波位置控制参数pusch。RNTI= 1; pusch.DMRS.DMRSConfigurationType = 1; pusch.DMRS.DMRSPortSet = 0;设置PT-RS参数pusch.PTRS.FrequencyDensity = 2;% 2或4pusch.PTRS.REOffset =“十”;% '00', '01', '10', '11'pusch.PTRS.PTRSPortSet = min (pusch.DMRS.DMRSPortSet);
序列生成
用于生成PT-RS的序列与用于生成DM-RS序列的伪随机序列相同。在没有槽内跳频的情况下,PT-RS序列的值取决于DM-RS符号的第一个位置。在槽内跳频情况下,PT-RS序列的值取决于每跳中的第一个DM-RS符号位置。要了解更多细节,请参阅本节DM-RS序列生成(CP-OFDM).
在基于码本的PUSCH处理的情况下,序列与预编码器矩阵相乘,该矩阵取决于层数、天线端口数和传输预编码器矩阵指示器(TPMI)。
%设置控制PT-RS序列生成的参数pusch.DMRS.NIDNSCID = 1;使用empty将其设置为载体的ncelllidpusch.DMRS.NSCID = 0;% 0或1
生成PUSCH、DM-RS和PT-RS的资源元素(RE)指标。此外,生成DM-RS和PT-RS符号。
控制DM-RS OFDM符号中数据可用的资源元素%的位置pusch.DMRS.NumCDMGroupsWithoutData = 1;% PUSCH, DM-RS和PT-RS指数pusch。NumLayers = numel(pusch.DMRS.DMRSPortSet); [puschIndices, puschInfo] = nrPUSCHIndices(carrier,pusch); dmrsIndices = nrPUSCHDMRSIndices(carrier,pusch); ptrsIndices = nrPUSCHPTRSIndices(carrier,pusch);DM-RS和PT-RS符号dmrsSymbols = nrPUSCHDMRS(载体、pusch);ptrsSymbols = nrPUSCHPTRS(载体、pusch);
将PUSCH、DM-RS和PT-RS RE索引与缩放值映射到网格中,以可视化网格中各自的位置。
chpLevel =结构;chpLevel。PUSCH= 0.4; chpLevel.DMRS = 1; chpLevel.PTRS = 1.4; gridCPOFDM = complex(zeros([carrier.NSizeGrid*12 carrier.SymbolsPerSlot nports])); gridCPOFDM(puschIndices) = chpLevel.PUSCH; dmrsFactor = chpLevel.DMRS*(1/(max(abs(dmrsSymbols)))); gridCPOFDM(dmrsIndices) = dmrsFactor*dmrsSymbols; ptrsFactor = chpLevel.PTRS*(1/(max(abs(ptrsSymbols)))); gridCPOFDM(ptrsIndices) = ptrsFactor*ptrsSymbols; plotGrid(gridCPOFDM,1,chpLevel)
在上图中,PT-RS位于物理上行共享通道分配中OFDM符号的开始处。这些符号出现在每一个地方 跳间隔从彼此或从DM-RS符号。PT-RS的连续子载波位置差异为24,这是一个RB中的子载波数量(12)乘以PT-RS的频率密度(2)。
为DFT-s-OFDM DM-RS
DFT-s-OFDM只支持单层传输,主要用于低覆盖场景。在DFT-s-OFDM中,DM-RS的时频资源以实现低立方度和高功率放大器效率的方式结构。参考信号频率复用与其他上行数据传输的传输由于增加的立方度而严重影响功率放大器的效率。参考信号与上行传输进行时间复用,因此在携带DM-RS的OFDM符号中阻塞数据传输的所有资源元素。
控制时间资源的参数
DFT-s-OFDM中控制DM-RS时间资源的参数为:
PUSCH符号分配
映射类型
Intra-slot跳频
DM-RS A型位置
DM-RS长度
DM-RS额外的位置
这些参数与CP-OFDM中DM-RS的时间资源控制参数相同。要了解更多细节,请参见DM-RS时间资源控制参数(CP-OFDM).
将push中的TransformPrecoding属性设置为1pusch。TransformPrecoding = 1;%控制时间资源的参数pusch.DMRS.DMRSTypeAPosition = 2;pusch.DMRS.DMRSLength = 1;pusch.DMRS.DMRSAdditionalPosition = 0;
控制频率资源的参数
DFT-s-OFDM中控制DM-RS频率资源的参数为:
DM-RS配置类型
DM-RS天线端口
这两个参数与CP-OFDM的参数相同。DM-RS配置类型总是设置为1。DM-RS天线端口名义上是一个值为0的标量。
没有必要支持多用户MIMO情况,因为DFT-s-OFDM适用于覆盖范围有限的场景。在没有MIMO的情况下,参考信号仅为传输的prb而不是像OFDM中的crb产生。由于DFT-s-OFDM允许的单层和单一配置类型,在一个RB中用于DM-RS的子载波位置的数量是恒定的。图2展示了DFT-s-OFDM中映射类型A的DM-RS子载波位置,其中为PUSCH分配的OFDM符号跨越了整个槽位。
设置DM-RS天线端口pusch.DMRS.DMRSPortSet = 0;
序列生成
DM-RS序列是DFT-s-OFDM中的ZadoffChu序列。正交序列是由不同的循环移位对组数和序号产生的。控制序列生成的参数为:
复审委员会分配
集团跳跃
序列跳跃
DM-RS置乱标识( )
DM-RS符号的位置
控制序列生成的参数pusch.DMRS.SequenceHopping = 0;%序列跳跃(0或1)pusch.DMRS.GroupHopping = 1;群跳百分比(0或1)pusch.DMRS.NRSID = 1;使用empty将其设置为carrier的ncelllid生成DM-RS符号和索引pusch。NumLayers = numel(pusch.DMRS.DMRSPortSet); dmrsSymbols = nrPUSCHDMRS(carrier,pusch); dmrsIndices = nrPUSCHDMRSIndices(carrier,pusch); dmrsFactor = chpLevel.DMRS*(1/(max(abs(dmrsSymbols))));将DM-RS映射到网格上网格=复(0([12 *载波。NSizeGrid母舰。年代ymbolsPerSlot nports])); grid(dmrsIndices) = dmrsFactor*dmrsSymbols;生成PUSCH索引并映射到网格上puschIndices = nrPUSCHIndices(载体、pusch);网格(puschIndices) = chpLevel.PUSCH;%绘制网格titleText =“包含PUSCH和DM-RS的载波网格”;plotGrid(网格结构(“PUSCH”, chpLevel。PUSCH,dmr的, titleText chpLevel.DMRS) {“PUSCH”,“DM-RS”})
占据DM-RS的OFDM符号中的子载波位置没有分配给PUSCH。
为DFT-s-OFDM PT-RS
DFT-s-OFDM中的PT-RS在转换预编码阶段插入数据。
控制时间资源的参数
DFT-s-OFDM中PT-RS的时间资源控制参数与CP-OFDM中PT-RS的时间资源控制参数相同。的价值 在DFT-s-OFDM中为1或2。要了解更多细节,请参见PT-RS时间资源控制参数(CP-OFDM).
为单个插槽中的RB生成一个共享通道分配的网格。%与完整的符号分配14个符号为一个单层使用一个RB设置运营商资源网格母舰。N年代izeGrid = 1;配置PUSCH与DFT-s-OFDM和无跳频pusch。TransformPrecoding = 1;pusch。FrequencyHopping =“没有”;设置PT-RS时间资源控制参数pusch。EnablePTRS = 1;pusch.PTRS.TimeDensity = 2;
控制频率资源的参数
PT-RS的频域图与CP-OFDM有很大的不同。PT-RS样本以块或组的形式插入( ).每组由有限数量的样本组成( )在PT-RS存在的每个OFDM符号的计划带宽中。
DFT-s-OFDM中控制PT-RS频率资源的参数为:
复审委员会分配
每组PT-RS样本个数( )
PT-RS组数( )
PT-RS样本密度的有效组合([ ])为{[2 2],[2 4],[4 2],[4 4],[4 8]}。OFDM符号中的PT-RS样本数量在DFT-s-OFDM中是固定的,基于所有PT-RS组中的PT-RS样本数量。这个数字与CP-OFDM不同,在CP-OFDM中,PT-RS样本的数量根据PUSCH中RBs的数量而增加。
图3显示了携带PT-RS的OFDM符号,当PT-RS样本数设置为2,PT-RS组数设置为2时,RB的PT-RS符号的子载波位置。
PT-RS样本密度[2 2]意味着在预定带宽中有两个PT-RS组,每个组有两个符号。
PT-RS在变换预编码的输入处插入分层符号。变换预编码后,将分层符号和PT-RS作为数据处理。因此,PT-RS在网格中是不可见的。
设置PT-RS频率资源控制参数pusch。PRBSet = 0: carrier.NSizeGrid-1;pusch.PTRS.NumPTRSSamples = 2;% 2, 4pusch.PTRS.NumPTRSGroups = 2;% 2,4,8
序列生成
DFT-s-OFDM中的PT-RS序列是一个改进的pi/2-BPSK序列。控制序列生成的参数为:
PUSCH分配开始OFDM符号
槽位中的OFDM符号数
无线电帧中的槽号
PT-RS置乱标识( )
PT-RS副载波位置
%设置控制PT-RS序列生成的参数pusch.DMRS.NRSID = 1;pusch.PTRS.NID = 10;使用empty将其设置为DMRS配置的NRSID
生成PUSCH和PT-RS RE指数。
% PUSCH和PT-RS指数[puschIndices, puschInfoDFTsOFDM] = nrPUSCHIndices(carrier,pusch);ptrsIndices = nrPUSCHPTRSIndices(载体、pusch);
将PUSCH和PT-RS资源元素设置为恒定值。
插入PT-RS和PUSCH数据GdPTRS =大小(重塑(pusch.NumLayers ptrsIndices, []), 1);dataWithPTRS = chpLevel.PUSCH *的(puschInfoDFTsOFDM.Gd + GdPTRS, 1);dataWithPTRS (ptrsIndices (: 1)) = chpLevel.PTRS;
在网格上绘制PT-RS投影。
gridDFTsOFDM = 0 (numel(push . prbset)*12, carrier.SymbolsPerSlot);用数据和参考信号映射网格gridDFTsOFDM (:, puschInfoDFTsOFDM.DMRSSymbolSet + 1) = chpLevel.DMRS;gridDFTsOFDM (~ (gridDFTsOFDM = = chpLevel.DMRS)) = dataWithPTRS;在变换前将数据、DM-RS和PT-RS的投影绘制在网格上%预编码帧= {“PUSCH”,“DM-RS + Res”,“PT-RS”};titleText =“转换预编码前数据、DM-RS和PT-RS的投影”;plotGrid (gridDFTsOFDM 1 chpLevel titleText,帧)
进一步的探索
您可以尝试改变影响参考信号的时间和频率资源的参数,并观察各自信号的RE位置的变化。
尝试改变为DM-RS和PT-RS配置的天线端口数量,然后观察参考信号和数据在端口之间的变化。例如,在0和2两个天线端口上尝试配置DM-RS,配置类型1,在0天线端口上尝试配置PT-RS。生成PUSCH指标、DM-RS信号(指标和符号)和PT-RS信号(指标和符号)。将它们映射到一个网格,并为这两个端口可视化网格。
尝试使用PT-RS符号和指标执行信道估计和相位跟踪。中概述的步骤计算吞吐量NR PUSCH吞吐量.
本例展示了如何生成DM-RS和PT-RS序列,以及如何将序列映射到OFDM载波资源网格。它强调了控制不同波形参考信号的时频结构的特性。例如,CP-OFDM和DFT-s-OFDM中参考信号的时频图,以及不同波形下参考信号产生的序列变化。
参考文献
3 gpp TS 38.211。“NR;物理通道和调制”第三代伙伴关系项目;技术规范组无线电接入网.
3 gpp TS 38.214。“NR;数据的物理层程序”第三代伙伴关系项目;技术规范组无线电接入网.
3 gpp TS 38.212。“NR;多路复用和信道编码"第三代伙伴关系项目;技术规范组无线电接入网.
本地函数
函数plotGrid(网格、nLayer chpLevel titleText,名称)显示资源网格网格的层号NLAYER与包含物理通道和相关参考信号的图例%不同的功率级别CHPLEVEL与标题TITLETEXT。创建传奇%使用字符向量NAMES的单元格数组。如果nargin < 4 titleText =“包含PUSCH, DM-RS和PT-RS的载波网格”;结束如果Nargin < 5 names = {“PUSCH”,“DM-RS”,“PT-RS”};结束地图= parula (64);cscaling = 40;我=图像(1:尺寸(网格,2),1:尺寸(网格,1),cscaling * abs(网格(:,:,nLayer)));colormap (im.Parent地图);为图像添加图例chpval = struct2cell (chpLevel);clevels = cscaling * [chpval {}):;N =长度(clevels);L =线((N), (N),“线宽”8);%生成线为颜色地图建立索引,并将所选颜色与线条关联起来集(L, {“颜色”}, mat2cell(地图(min (1 + clevels长度(map)),:), (1, N), 3));根据地图设置颜色%创造传奇传奇(名字{:});轴xy;ylabel (副载波的);包含(OFDM符号的);标题(titleText);结束