PUSCHDMRSConfig#
- class sionna.phy.nr.PUSCHDMRSConfig(**kwargs)[source]#
Bases:
sionna.phy.nr.config.ConfigSets parameters related to the generation of demodulation reference signals (DMRS) for a physical uplink shared channel (PUSCH), as described in Section 6.4.1.1 [3GPPTS38211].
All configurable properties can be provided as keyword arguments during initialization or changed later.
Examples
from sionna.phy.nr import PUSCHDMRSConfig dmrs_config = PUSCHDMRSConfig(config_type=2) dmrs_config.additional_position = 1
Attributes
- property config_type: int#
int, 1 (default) | 2 : DMRS configuration type.
The configuration type determines the frequency density of DMRS signals. With configuration type 1, six subcarriers per PRB are used for each antenna port, with configuration type 2, four subcarriers are used.
- property type_a_position: int#
int, 2 (default) | 3 : Position of first DMRS OFDM symbol.
Defines the position of the first DMRS symbol within a slot. This parameter only applies if the property
mapping_typeofPUSCHConfigis equal to “A”.
- property additional_position: int#
int, 0 (default) | 1 | 2 | 3 : Maximum number of additional DMRS positions.
The actual number of used DMRS positions depends on the length of the PUSCH symbol allocation.
- property length: int#
int, 1 (default) | 2 : Number of front-loaded DMRS symbols.
A value of 1 corresponds to “single-symbol” DMRS, a value of 2 corresponds to “double-symbol” DMRS.
- property dmrs_port_set: List[int]#
list, [] (default) | [0,…,11] : List of used DMRS antenna ports.
The elements in this list must all be from the list of allowed_dmrs_ports which depends on the config_type as well as the length. If set to [], the port set will be equal to [0,…,num_layers-1], where
num_layersis a property of the parentPUSCHConfiginstance.
- property n_id: Tuple[int, int] | None#
2-tuple, None (default), [[0,…,65535], [0,…,65535]]: Scrambling identities.
Defines the scrambling identities \(N_\text{ID}^0\) and \(N_\text{ID}^1\) as a 2-tuple of integers. If None, the property
n_cell_idof theCarrierConfigis used.
- property num_cdm_groups_without_data: int#
int, 2 (default) | 1 | 3 : Number of CDM groups without data.
This parameter controls how many REs are available for data transmission in a DMRS symbol. It should be greater or equal to the maximum configured number of CDM groups. A value of 1 corresponds to CDM group 0, a value of 2 corresponds to CDM groups 0 and 1, and a value of 3 corresponds to CDM groups 0, 1, and 2.
- property allowed_dmrs_ports: List[int]#
list, [0,…,max_num_dmrs_ports-1], read-only : List of nominal antenna ports.
The maximum number of allowed antenna ports max_num_dmrs_ports depends on the DMRS config_type and length. It can be equal to 4, 6, 8, or 12.
- property cdm_groups: List[int]#
list, elements in [0,1,2], read-only : List of CDM groups \(\lambda\) for all ports in the dmrs_port_set as defined in Table 6.4.1.1.3-1 or 6.4.1.1.3-2 [3GPPTS38211].
Depends on the config_type.
- property deltas: List[int]#
list, elements in [0,1,2,4], read-only : List of delta (frequency) shifts \(\Delta\) for all ports in the port_set as defined in Table 6.4.1.1.3-1 or 6.4.1.1.3-2 [3GPPTS38211].
Depends on the config_type.
- property w_f: numpy.ndarray#
matrix, elements in [-1,1], read-only : Frequency weight vectors \(w_f(k')\) for all ports in the port set as defined in Table 6.4.1.1.3-1 or 6.4.1.1.3-2 [3GPPTS38211].
- property w_t: numpy.ndarray#
matrix, elements in [-1,1], read-only : Time weight vectors \(w_t(l')\) for all ports in the port set as defined in Table 6.4.1.1.3-1 or 6.4.1.1.3-2 [3GPPTS38211].
- property beta: float#
float, read-only : Ratio of PUSCH energy per resource element (EPRE) to DMRS EPRE \(\beta^{\text{DMRS}}_\text{PUSCH}\). Table 6.2.2-1 [3GPPTS38214].
Methods