NR PDSCH资源分配与DM-RS和PT-RS参考信号

本文的写作目的是为了汉化MATLAB关于 NR PDSCH 资源分配的Document,帮助大家更快的掌握PDSCH中资源的分配问题。来张时频资源图镇楼。

文章目录

      • [1. PDSCH](#1. PDSCH)
      • [2. DM-RS](#2. DM-RS)
        • [2.1 控制时域资源的参数](#2.1 控制时域资源的参数)
        • [2.2 控制频域资源的参数](#2.2 控制频域资源的参数)
      • [3. 序列生成](#3. 序列生成)
      • [4. PT-RS](#4. PT-RS)
        • [4.1 控制时域资源的参数](#4.1 控制时域资源的参数)
        • [4.2 控制频域资源的参数](#4.2 控制频域资源的参数)
      • [5. 进一步探索](#5. 进一步探索)
      • [6. 参考文献](#6. 参考文献)

1. PDSCH

PDSCH 是承载用户数据的物理信道。PDSCH 所分配的资源在承载器的带宽部分 (BWP) 内,参见 TS 38.214 第 5.1.2 节 [2]。PDSCH 传输中的时域资源通过下行控制信息 (DCI) 的 Time domain resource assignment 字段进行调度。该字段指示时隙偏移 K 0 K_0 K0、起始符号 S S S、分配长度 L L L 以及 PDSCH 的映射类型。对于映射类型 A,当 DM-RS 类型 A 时,只有 type A position is set to 3,S 的值为 3。有效的 S S S 和 L L L 组合如表 1 所示。

| PDSCH Mapping Type | Normal Cyclic Prefix ||| Extended Cyclic Prefix |||

PDSCH Mapping Type S L S+L S L S+L
Type A {0,1,2,3} {3,...,14} {3,...,14} {0,1,2,3} {3,...,12} {3,...,12}
Type B {0,...,12} {2,4,7} {2,...,14} {0,...,10} {2,4,6} {2,...,12}

表 1: 有效的 S 和 L 组合

2. DM-RS

DM-RS 用于估计无线电信道。该信号仅出现在为 PDSCH 分配的 RB 中。DM-RS 结构设计为支持不同的部署场景和用例。前加载设计支持低延迟传输,在一个时隙中最多可支持十二个正交天线端口进行 MIMO 传输,并最多支持四个参考信号传输实例,以支持高速传输场景。前加载的参考信号表示该信号在传输的早期阶段出现。DM-RS 存在于每个为 PDSCH 分配的 RB 中。

2.1 控制时域资源的参数

控制 DM-RS OFDM 符号位置的参数包括:

  • PDSCH 符号分配
  • 映射类型
  • DM-RS 类型 A 位置
  • DM-RS 长度
  • DM-RS 额外位置

PDSCH 的符号分配表示在时隙中用于 PDSCH 传输的 OFDM 符号位置。DM-RS 符号位置位于 PDSCH 符号分配范围内。DM-RS OFDM 符号的位置取决于映射类型。PDSCH 的映射类型可以是时隙映射(类型 A)或非时隙映射(类型 B)。任何额外 DM-RS 的位置由一组表格定义,如 TS 38.211 第 7.4.1.1.2 节 [1] 所规定。为了方便索引表格,规范定义了术语 l d l_d ld,表示需要考虑的 OFDM 符号持续时间,具体取决于映射类型。

对于映射类型 A,DM-RS OFDM 符号位置相对于时隙的第一个 OFDM 符号(符号 #0)定义。第一个 DM-RS OFDM 符号的位置( l 0 l_0 l0)由 DM-RS type A position 提供,该位置为符号 2 或 3。对于任何额外的 DM-RS,OFDM 符号的持续时间( l d l_d ld)是从时隙的第一个 OFDM 符号(符号 #0)到分配的 PDSCH 资源的最后一个 OFDM 符号之间的 OFDM 符号数。请注意,当 PDSCH 的第一个 OFDM 符号不是符号 #0 时,分配给 PDSCH 的 OFDM 符号数量可能会有所不同。

对于映射类型 B,DM-RS OFDM 符号位置相对于分配给 PDSCH 的资源的第一个 OFDM 符号定义。第一个 DM-RS OFDM 符号的位置( l 0 l_0 l0)始终为 0,意味着第一个 DM-RS OFDM 符号位置是分配的 PDSCH 资源的第一个 OFDM 符号。对于任何额外的 DM-RS,OFDM 符号的持续时间( l d l_d ld)是分配给 PDSCH 资源的 OFDM 符号的持续时间。

图 1 展示了根据映射类型在时隙内一个 RB 的 DM-RS 符号位置,单符号 DM-RS 的 PDSCH 占据 OFDM 符号从 1 到 10(基于 0 的索引),其中 l d = 11 l_d = 11 ld=11 用于映射类型 A, l d = 7 l_d = 7 ld=7 用于映射类型 B。

UE 所使用的 DM-RS OFDM 符号的最大数量由 RRC 信令配置(dmrs-AdditionalPositionmaxLength)。maxLength RRC 参数配置 DM-RS 符号的长度,可以是单符号 DM-RS 或双符号 DM-RS。对于双符号 DM-RS,实际选择在 DCI format 1_1 消息中信令传递。图 2 展示了单符号和双符号 DM-RS 的位置。

高层参数 dmrs-AdditionalPosition 定义了传输的额外单符号或双符号 DM-RS 的最大数量。额外位置的数量范围为 0 到 3,取决于映射类型、DM-RS 长度和 PDSCH 符号分配。DM-RS 符号位置参见 TS 38.211 表 7.4.1.1.2-3 和 7.4.1.1.2-4。图 3 展示了与单符号和双符号 DM-RS 组合的 DM-RS 额外位置。

matlab 复制代码
% Set the parameters that control the time resources of DM-RS
pdsch.DMRS.DMRSTypeAPosition = 2;      % 2 or 3
pdsch.DMRS.DMRSLength = 1;             % 1 or 2
pdsch.DMRS.DMRSAdditionalPosition = 1; % 0...3
2.2 控制频域资源的参数

控制 DM-RS 子载波位置的参数包括:

  • DM-RS 配置类型
  • DM-RS 天线端口

配置类型指示 DM-RS 的频率密度,并通过 RRC 消息 dmrs-Type 信令传递。配置类型 1 定义了每个物理资源块 (PRB) 每个天线端口的 6 个子载波,由交替的子载波组成。配置类型 2 定义了每个 PRB 每个天线端口的 4 个子载波,由两个连续的子载波组组成。图 4 展示了基于配置类型的 DM-RS 子载波位置。

根据相关的天线端口码分多路复用 (CDM) 组,应用不同的子载波集 delta 偏移。对于配置类型 1,在八个可能的天线端口 (p=0...7) 中有两种可能的 CDM 组/偏移。图 5 展示了 DM-RS 子载波位置在配置类型设置为 1 时的不同偏移。请注意,低 CDM 组(即天线端口 0)的 DM-RS 子载波位置对应的资源单元 (RE) 在高 CDM 组(即天线端口 2)的天线端口中被阻止用于数据传输。

对于配置类型 2,在十二个天线端口 (p=0...11) 中有三种可能的 CDM 组/偏移。图 6 展示了 DM-RS 子载波位置在配置类型 2 时的不同偏移。有关完整的配置详情,请参见 TS 38.211 第 7.4.1.1 节。请注意,低 CDM 组的 DM-RS 子载波位置对应的资源单元 (RE) 在高 CDM 组的天线端口中被阻止用于数据传输。

matlab 复制代码
% 设置控制 DM-RS 频域资源的参数
pdsch.DMRS.DMRSConfigurationType = 1; % 1 或 2
pdsch.DMRS.DMRSPortSet = 0;


% 预留 DM-RS 信号传输所需的资源,该值通常大于最大配置的 CDM 组数。
pdsch.DMRS.NumCDMGroupsWithoutData = 1; % 1 对应于 CDM 组号 0

% pdsch 对象的 DMRS 属性的只读属性 DeltaShifts 和 DMRSSubcarrierLocations 
% 提供了每个配置天线端口的 delta 偏移值和 RB 中 DM-RS 子载波的位置。
pdsch.DMRS.DeltaShifts
pdsch.DMRS.DMRSSubcarrierLocations

ans =

0

ans = 6×1

0

2

4

6

8

10

3. 序列生成

用于 DM-RS 的伪随机序列是长度为 2 31 − 1 2^{31} - 1 231−1 的 Gold 序列。该序列在所有公共资源块 (common resource blocks,CRBs) 上生成,并且仅在为数据分配的 RB 中传输,因为在数据未传输的频域区域之外不需要估计信道。在所有 CRB 上生成参考信号序列可确保在多用户 MIMO 场景中,不同 UE 在重叠的时频资源上使用相同的底层伪随机序列。控制序列生成的参数有:

  • DM-RS 加扰标识 ( N I D n S C I D N_{\mathrm{ID}}^{n_\mathrm{SCID}} NIDnSCID)
  • DM-RS 加扰初始化 ( n S C I D n_{\mathrm{SCID}} nSCID)
  • 每个时隙中的 OFDM 符号数量
  • 无线帧中的时隙编号
  • DM-RS 符号位置
  • PRB 分配

carrier 对象的 CyclicPrefix 属性控制时隙中的 OFDM 符号数量。carrier 对象的 NSlot 属性控制时隙编号。

matlab 复制代码
% Set the parameters that only control the DM-RS sequence generation
pdsch.DMRS.NIDNSCID = 1; % 使用空值时将其设置为载波的 NCellID
pdsch.DMRS.NSCID = 0;    % 0 或 1

% 生成 DM-RS 符号
pdsch.NumLayers = numel(pdsch.DMRS.DMRSPortSet);
dmrsSymbols = nrPDSCHDMRS(carrier,pdsch);

% 绘制星座图
scatterplot(dmrsSymbols)
title('DM-RS 星座图')
xlabel('实部')
ylabel('虚部')

% The read-only properties TimeWeights and FrequencyWeights of DMRS
% property of pdsch object provides the values of time and frequency
% weights applied to the DM-RS symbols.
pdsch.DMRS.TimeWeights
pdsch.DMRS.FrequencyWeights

ans = 2×1

1

1

ans = 2×1

1

1

matlab 复制代码
% Generate DM-RS indices
dmrsIndices = nrPDSCHDMRSIndices(carrier,pdsch);

% Map the DM-RS symbols to the grid with the help of DM-RS indices
grid = zeros([12*carrier.NSizeGrid carrier.SymbolsPerSlot pdsch.NumLayers]);
grid(dmrsIndices) = dmrsSymbols;
figure
imagesc(abs(grid(:,:,1)));%只绘制第一层
axis xy;
xlabel('OFDM Symbols');
ylabel('Subcarriers');
title('DM-RS Time-Frequency Locations');

4. PT-RS

PT-RS 是相位跟踪参考信号,主要用于估计和最小化 Common Phase Error 对系统性能的影响。由于相位噪声特性,PT-RS 信号在频域中具有低密度,而在时域中具有高密度。PT-RS 总是与 DM-RS 结合使用,且只有在网络配置了 PT-RS 存在时才会出现

4.1 控制时域资源的参数

PT-RS 通过高层参数 DMRS-DownlinkConfig 进行下行链路配置。控制 PT-RS 时域资源的参数包括:

  • DM-RS 符号位置
  • PT-RS 的时域密度 ( L P T − R S L_{\mathrm{PT-RS}} LPT−RS)

L P T − R S L_{\mathrm{PT-RS}} LPT−RS 取决于调度的调制和编码方案。 L P T − R S L_{\mathrm{PT-RS}} LPT−RS 的值必须从集合 { 1 , 2 , 4 } \{1,2,4\} {1,2,4} 中选取。对于控制 DM-RS 符号位置的参数,请参阅 [控制 DM-RS 时域资源的参数](#控制 DM-RS 时域资源的参数) 。

PT-RS 符号的位置从 PDSCH 分配的第一个 OFDM 符号开始,并且每 L P T − R S L_{\mathrm{PT-RS}} LPT−RS 个符号跳跃一次,如果在此间隔中没有 DM-RS 符号。在 DM-RS 符号或符号存在的情况下,从最后一个 DM-RS 符号位置开始跳跃,以提供下一个 PT-RS 符号。图 7 展示了在时域密度设置为 4 且 DM-RS 符号位置设置为 2 和 11(基于 0)的单时隙中 RB 内的 PT-RS 符号位置。

matlab 复制代码
% Set the EnablePTRS property in pdsch to 1
pdsch.EnablePTRS = 1;

% Set the parameters that control the time resources of PT-RS
pdsch.PTRS.TimeDensity = 4;
4.2 控制频域资源的参数

PT-RS 在一个物理资源块 (RB) 内的一个 OFDM 符号中只占用一个子载波。控制 PT-RS 频域资源的参数包括:

  • PRB 分配
  • DM-RS 配置类型
  • PT-RS 的频域密度 ( K P T − R S K_{\mathrm{PT-RS}} KPT−RS)
  • 无线网络临时标识符 (nRNTI)
  • 资源单元偏移
  • PT-RS 天线端口

K P T − R S K_{\mathrm{PT-RS}} KPT−RS 取决于调度的带宽。 K P T − R S K_{\mathrm{PT-RS}} KPT−RS 的值为 2 或 4,这表示 PT-RS 是否存在于每 2 个 RB 或每 4 个 RB 中。

PT-RS 所在的起始 RB ( k R B r e f k_{\mathrm{RB}}^{\mathrm{ref}} kRBref) 取决于 K P T − R S K_{\mathrm{PT-RS}} KPT−RS、nRNTI 以及为 PDSCH 分配的 RB 数量 ( N R B N_{\mathrm{RB}} NRB)。为了映射 PT-RS 的目的,所有 PDSCH 的 RB 从 0 到 N R B − 1 N_{\mathrm{RB}} - 1 NRB−1 按顺序编号。PT-RS 的子载波位置 ( k R E r e f k_{\mathrm{RE}}^{\mathrm{ref}} kREref) 在资源块中的位置取决于 DM-RS 配置类型、资源单元 (RE) 偏移以及 PT-RS 天线端口。PT-RS 天线端口必须是 DM-RS 天线端口的子集。PT-RS 在一个 RB 中占据相同的子载波位置,在所有 PT-RS 存在的 OFDM 符号中保持一致。

在上图中,PT-RS 位于 PDSCH 分配的 OFDM 符号的起始位置。符号在频域中的每个 L P T − R S L_{\mathrm{PT-RS}} LPT−RS 跳跃间隔存在,且与 DM-RS 符号相距较远。PT-RS 符号在频域中位于第一个 RB 的第 19 个子载波,以及每个 OFDM 符号中 PT-RS 存在的第三个 RB 的第 43 个子载波位置。连续子载波位置的 PT-RS 之间的差异是 24,这是一个 RB 中子载波的数量 (12) 乘以 PT-RS 的频域密度 (2)。

5. 进一步探索

你可以尝试更改影响参考信号时域和频域资源的参数,并观察对应信号的 RE 位置变化。

尝试使用参考信号进行信道估计和相位跟踪。按照 NR PDSCH Throughput 中概述的步骤计算吞吐量。

这个示例展示了如何生成 DM-RS 和 PT-RS 序列,以及如何将这些序列映射到 OFDM 载波资源网格上。它突出显示了控制参考信号时频结构的属性。

6. 参考文献

  1. 3GPP TS 38.211. "NR; Physical channels and modulation" 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  2. 3GPP TS 38.214. "NR; Physical layer procedures for data" 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

  3. 3GPP TS 38.212. "NR; Multiplexing and channel coding" 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

相关推荐
岁岁岁平安5 分钟前
mysql上课总结(2)(DCL的所有操作总结、命令行快速启动/关闭mysql服务)
数据库·mysql·命令行·权限·dcl·localhost
Boboboobo5 分钟前
记MySQL下一次DEPENDENT SUBQUERY的优化
数据库·sql·mysql·性能优化
hummhumm15 分钟前
Oracle 第13章:事务处理
开发语言·数据库·后端·python·sql·oracle·database
书鸢123619 分钟前
力扣每日一题合集
java·算法·leetcode
我不会JAVA!1 小时前
排序算法(3) C++
c++·算法·排序算法
Willliam_william1 小时前
SystemC学习(3)— APB_SRAM的建模与测试
学习·算法
Gui林1 小时前
【GL07】C语言要点
c语言·算法
隐居的遮天恶鬼1 小时前
Mac OS 搭建MySQL开发环境
数据库·mysql·mac
爱编程— 的小李2 小时前
有序序列合并(c语言)
c语言·算法
云卓SKYDROID2 小时前
无人机反步滑膜控制算法!
算法·无人机·知识科普·云卓科技·反步滑膜控制算法