PDSCH#

此模块包含与物理下行链路共享信道 PDSCH 以及信道状态信息参考信号 CSI-RS 相关的类。

class aerial.phy5g.pdsch.pdsch_tx.PdschTx#

PDSCH 发射器。

此类实现了从发射的传输块到发射的频域符号的整个 PDSCH 传输流水线。

__init__(
cell_id,
num_rx_ant,
num_tx_ant,
num_ul_bwp=273,
num_dl_bwp=273,
mu=1,
cuda_stream=None,
)#

初始化 PdschTx。

参数:
  • cell_id (int) – 物理小区 ID。

  • num_rx_ant (int) – 接收天线数。

  • num_tx_ant (int) – 发射天线数。

  • num_ul_bwp (int) – 上行带宽部分中的 PRB 数量。默认值:273。

  • num_dl_bwp (int) – 下行带宽部分中的 PRB 数量。默认值:273。

  • mu (int) – numerology。值在 [0, 3] 中。默认值:1。

  • cuda_stream (int) – CUDA 流。如果未给出,将创建一个。

返回类型:

None

run(
tb_inputs,
num_ues,
slot,
num_dmrs_cdm_grps_no_data=2,
dmrs_scrm_id=41,
resource_alloc=1,
prb_bitmap=None,
start_prb=0,
num_prbs=273,
dmrs_syms=None,
start_sym=2,
num_symbols=12,
scids=None,
layers=None,
dmrs_ports=None,
bwp_starts=None,
ref_points=None,
rntis=None,
data_scids=None,
precoding_matrices=None,
mcs_tables=None,
mcs_indices=None,
code_rates=None,
mod_orders=None,
rvs=None,
num_prb_lbrms=None,
max_layers=None,
max_qms=None,
csirs_rrc_dyn_prms=None,
)#

运行 PDSCH 传输。

设置动态 PDSCH 参数并调用 cuPHY 以运行 PDSCH 传输。

参数:
  • tb_inputs (List[np.ndarray]) – 每个 UE 的字节传输块。

  • num_ues (int) – UE 数量。

  • slot (int) – 时隙号。

  • num_dmrs_cdm_grps_no_data (int) – 没有数据的 DMRS CDM 组的数量 [3GPP TS 38.212, sec 7.3.1.1]。值:1->3。

  • dmrs_scrm_id (int) – 下行链路 DMRS 加扰 ID。

  • resource_alloc (int) – 资源分配类型。

  • prb_bitmap (List[int]) – 指示分配的 RB 的位掩码的字节数组。

  • start_prb (int) – UE 组的起始 PRB 索引。

  • num_prbs (int) – UE 组分配的 PRB 数量。

  • dmrs_syms (List[int]) – 对于 UE 组,二进制数列表,每个二进制数指示相应的符号是否为 DMRS 符号。

  • start_sym (int) – UE 组分配的起始 OFDM 符号索引。

  • num_symbols (int) – 分配中的符号数,从 start_sym 开始。

  • scids (List[int]) – 每个 UE 的 DMRS 序列初始化 [TS38.211, sec 7.4.1.1.2]。

  • layers (List[int]) – 每个 UE 的层数。

  • dmrs_ports (List[int]) – 每个 UE 的 DMRS 端口。每个条目的格式为 SCF FAPI 格式,如下所示:从 LSB 开始的位图(掩码),其中每个位指示是否使用相应的 DMRS 端口索引。

  • bwp_starts (List[int]) – 带宽部分起始位置(从 0 开始的 PRB 编号)。仅当参考点为 1 时使用。

  • ref_points (List[int]) – 每个 UE 的 DMRS 参考点。值 0 或 1。

  • rntis (List[int])

  • data_scids (List[int]) – 每个 UE 的数据加扰 ID,更准确地说是 dataScramblingIdentityPdsch [TS38.211, sec 7.3.1.1]。

  • precoding_matrices (List[np.ndarray]) – 预编码矩阵,每个 UE 一个。每个预编码矩阵的形状是层数 x 发射天线数。如果设置为 None,则禁用预编码。

  • mcs_tables (List[int]) – 每个 UE 的 MCS 表。

  • mcs_indices (List[int]) – 每个 UE 的 MCS 索引。

  • code_rates (List[int]) – 每个 UE 的码率,采用 3GPP 格式,即码率 x 1024。

  • mod_orders (List[int]) – 每个 UE 的调制阶数。

  • rvs (List[int]) – 每个 UE 的冗余版本(默认值:每个 UE 为 0)。

  • num_prb_lbrms (List[int]) – 用于 LBRM TB 大小计算的 PRB 数量。可能的值:{32, 66, 107, 135, 162, 217, 273}。

  • max_layers (List[int]) – 用于 LBRM TB 大小计算的层数(最多 4 层)。

  • max_qms (List[int]) – 用于 LBRM TB 大小计算的调制阶数。值:6 或 8。

  • csirs_rrc_dyn_prms (List[CsiRsRrcDynPrms]) – CSI-RS RRC 动态参数列表,请参阅 CsiRsRrcDynPrms。请注意,不会写入 CSI-RS 符号,这只是为了确保 PDSCH 不会映射到 CSI-RS 资源元素。

返回值:

包含以下内容的元组

  • np.ndarray: 频率 x 时间 x 天线张量中发射的 OFDM 符号。

  • np.ndarray: 码字数 x 每个码字位数张量中的编码位。

返回类型:

np.ndarray, np.ndarray

classmethod cuphy_to_tx(
tx_slot,
num_ues,
dmrs_ports,
scids,
precoding_matrices=None,
)#

将 cuPHY 输出映射到 Tx 天线端口。

参数:
  • tx_slot (numpy.ndarray) – 来自 cuPHY 的发射缓冲区。

  • num_ues (int) – UE 数量。

  • dmrs_ports (List[int]) – 每个 UE 的 DMRS 端口。每个条目的格式为 SCF FAPI 格式,如下所示:从 LSB 开始的位图(掩码),其中每个位指示是否使用相应的 DMRS 端口索引。

  • scids (List[int]) – 每个 UE 的 DMRS 序列初始化 [TS38.211, sec 7.4.1.1.2]。

  • precoding_matrices (List[np.ndarray]) – 预编码矩阵,每个 UE 一个。每个预编码矩阵的形状是层数 x 发射天线数。如果设置为 None,则禁用预编码。

返回值:

频率 x 时间 x 天线张量中发射的 OFDM 符号。

返回类型:

np.ndarray

class aerial.phy5g.pdsch.csirs_tx.CsiRsTx#

CSI-RS 发射器。

此类实现在一个时隙内的 CSI-RS 传输。

__init__(num_prb_dl_bwp, cuda_stream=None)#

初始化 CsiRsTx。

参数:
  • num_prb_dl_bwp (List[int]) – DL BWP 中的 PRB 数量。

  • cuda_stream (int) – CUDA 流。如果未给出,将创建一个。

返回类型:

None

run(csirs_cell_dyn_prms, tx_buffers, precoding_matrices=None)#

运行 CSI-RS 传输。

参数:
  • csirs_cell_dyn_prms (List[CsiRsCellDynPrms]) – CSI-RS 小区动态参数列表,每个小区一个条目。请参阅 CsiRsCellDynPrms

  • tx_buffers (List[np.ndarray]) – 发射时隙缓冲区列表,每个小区一个。这些表示在插入 CSI-RS 之前的时隙缓冲区。

  • precoding_matrices (List[CsiRsPmwOneLayer]) – 预编码矩阵列表。此列表由 CsiRsRrcDynPrmsCsiRsCellDynPrms 的一部分)中的 pmw_prm_idx 字段索引。

返回值:

插入 CSI-RS 后每个小区的时隙发射缓冲区。

返回类型:

List[np.ndarray]