PDSCH
This module contains classes related to the Physical Downlink Shared Channel, PDSCH.
- class aerial.phy5g.pdsch.pdsch_tx.PdschTx
- PDSCH transmitter. - This class implements the whole PDSCH transmission pipeline from the transmitted transport block to the transmitted frequency-domain symbols. - __init__(cell_id, num_rx_ant, num_tx_ant, num_ul_bwp=273, num_dl_bwp=273, mu=1)
- Initialize PdschTx. - Parameters
- cell_id (int) – Physical cell ID. 
- num_rx_ant (int) – Number of receive antennas. 
- num_tx_ant (int) – Number of transmit antennas. 
- num_ul_bwp (int) – Number of PRBs in a uplink bandwidth part. Default: 273. 
- num_dl_bwp (int) – Number of PRBs in a downlink bandwidth part. Default: 273. 
- mu (int) – Numerology. Values in [0, 3]. Default: 1. 
 
- Return type
- 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)
- Run PDSCH transmission. - Set dynamic PDSCH parameters and call cuPHY to run the PDSCH transmission. - Parameters
- tb_inputs (List[np.ndarray]) – Transport blocks in bytes for each UE. 
- num_ues (int) – Number of UEs. 
- slot (int) – Slot number. 
- num_dmrs_cdm_grps_no_data (int) – Number of DMRS CDM groups without data [3GPP TS 38.212, sec 7.3.1.1]. Value: 1->3. 
- dmrs_scrm_id (int) – Downlink DMRS scrambling ID. 
- resource_alloc (int) – Resource allocation type. 
- prb_bitmap (List[int]) – Array of bytes indicating bitmask for allocated RBs. 
- start_prb (int) – Start PRB index for the UE group. 
- num_prbs (int) – Number of allocated PRBs for the UE group. 
- dmrs_syms (List[int]) – For the UE group, a list of binary numbers each indicating whether the corresponding symbol is a DMRS symbol. 
- start_sym (int) – Start OFDM symbol index of the UE group allocation. 
- num_symbols (int) – Number of symbols in the allocation, starting from start_sym. 
- scids (List[int]) – DMRS sequence initialization for each UE [TS38.211, sec 7.4.1.1.2]. 
- layers (List[int]) – Number of layers for each UE. 
- dmrs_ports (List[int]) – DMRS ports for each UE. The format of each entry is in the SCF FAPI format as follows: A bitmap (mask) starting from the LSB where each bit indicates whether the corresponding DMRS port index is used. 
- bwp_starts (List[int]) – Bandwidth part start (PRB number starting from 0). Used only if reference point is 1. 
- ref_points (List[int]) – DMRS reference point per UE. Value 0 or 1. 
- rntis (List[int]) – 
- data_scids (List[int]) – Data scrambling IDs for each UE, more precisely dataScramblingIdentityPdsch [TS38.211, sec 7.3.1.1]. 
- precoding_matrices (List[np.ndarray]) – Precoding matrices, one per UE. The shape of each precoding matrix is number of layers x number of Tx antennas. If set to None, precoding is disabled. 
- mcs_tables (List[int]) – MCS table per UE. 
- mcs_indices (List[int]) – MCS index per UE. 
- code_rates (List[int]) – Code rate for each UE in 3GPP format, i.e. code rate x 1024. 
- mod_orders (List[int]) – Modulation order for each UE. 
- rvs (List[int]) – Redundancy version per UE (default: 0 for each UE). 
- num_prb_lbrms (List[int]) – Number of PRBs used for LBRM TB size computation. Possible values: {32, 66, 107, 135, 162, 217, 273}. 
- max_layers (List[int]) – Number of layers used for LBRM TB size computation (at most 4). 
- max_qms (List[int]) – Modulation order used for LBRM TB size computation. Value: 6 or 8. 
 
- Returns
- A tuple containing: - np.ndarray: Transmitted OFDM symbols in a frequency x time x antenna tensor. 
- np.ndarray: Coded bits in a num_codewords x num_bits_per_codeword tensor. 
 
- Return type
- np.ndarray, np.ndarray 
 
 - classmethod cuphy_to_tx(tx_slot, num_ues, dmrs_ports, scids, precoding_matrices=None)
- Map cuPHY outputs to Tx antenna ports. - Parameters
- tx_slot (numpy.ndarray) – Transmit buffer from cuPHY. 
- num_ues (int) – Number of UEs. 
- dmrs_ports (List[int]) – DMRS ports for each UE. The format of each entry is in the SCF FAPI format as follows: A bitmap (mask) starting from the LSB where each bit indicates whether the corresponding DMRS port index is used. 
- scids (List[int]) – DMRS sequence initialization for each UE [TS38.211, sec 7.4.1.1.2]. 
- precoding_matrices (List[np.ndarray]) – Precoding matrices, one per UE. The shape of each precoding matrix is number of layers x number of Tx antennas. If set to None, precoding is disabled. 
 
- Returns
- Transmitted OFDM symbols in a frequency x time x antenna tensor. 
- Return type
- np.ndarray