PDSCH Lower Phy Configurations
The PDSCH Lower Phy Configuration class receives any existing parameters for PDSCH lower Phy chain, based on which the rest of the parameters required to invoke PDSCH Lower Phy chain are generated as per 3GPP standards.
The Lower Phy config can be called with no arguments or all the parameters set to none, causing the class to generate all the parameters from scratch as shown below
pdschParamGen = PDSCHLowerPhyConfiguration(verbose = True)
******** PDSCH Parameters ********* pdschMappingType: PDSCH-mapping-type-A startSymbol: 2 numSymbols: 5 betaDMRS: 1 rank: 8 configurationType: Configuration-type-2 maxLength: len1 dmrsTypeAPosition: pos3 dmrsAdditionalPosition: pos3 Duration, ld: 5 Start symbol, l0: 3 Start symbol-1, l1: 11 num of Layers: 8 ****************************************
It can also be called with certain parameters already assigned. The remaining parameters will be generated based on the these parameters passed by user.
Note
The unconfigured parameters will be selected randomly from the possible set of legit choices. These choices are
shortlisted based on the passed input parameters/configuration.
Passing the Configuration Partially
pdschMappingType = "PDSCH-mapping-type-A"
dmrsTypeAPosition = "pos2"
dmrsAdditionalPosition = "pos0"
rank = 1
pdschParamGen = PDSCHLowerPhyConfiguration(pdschMappingType = pdschMappingType, dmrsTypeAPosition = dmrsTypeAPosition,
dmrsAdditionalPosition = dmrsAdditionalPosition, rank = rank )
******** PDSCH Parameters ********* pdschMappingType: PDSCH-mapping-type-A startSymbol: 1 numSymbols: 10 betaDMRS: 1 rank: 1 configurationType: Configuration-type-1 maxLength: len2 dmrsTypeAPosition: pos2 dmrsAdditionalPosition: pos0 Duration, ld: 10 Start symbol, l0: 2 Start symbol-1, l1: 11 num of Layers: 1 ****************************************
Note
If you are partially passing arguments, 3GPP standards should be taken into consideration, contradictions may end up in an error.
- class toolkit5G.Configurations.PDSCHLowerPhyConfiguration(pdschMappingType=None, maxLength=None, startSymbol=None, numSymbols=None, betaDMRS=None, configurationType=None, dmrsTypeAPosition=None, dmrsAdditionalPosition=None, ld=None, l0=None, l1=None, rank=None, scramblingID=None, nSCID=None, verbose=True)[source]
Generates Upper Phy parameters. The unconfigured parameters are generated by this module based on the parameters provided to the API.
- Parameters:
pdschMappingType (str) – Defines PDSCH mapping type \(\in \{\) ‘PDSCH-mapping-type-A’, ‘PDSCH-mapping-type-B’ \(\}\).
configurationType (str) – Defines configuration type for PDSCH \(\in \{\) ‘Configuration-type-1’, ‘Configuration-type-2’ \(\}\).
dmrsTypeAPosition (str) – Defines dmrsTypeAPosition parameter of PDSCH-DMRS \(\in \{\) ‘pos2’, ‘pos3’ \(\}\).
maxLength (int) – Defines the maxLength parameter of PDSCH-DMRS \(\in \{\) ‘len1’, ‘len2’ \(\}\).
dmrsAdditionalPosition (str) – Defines dmrsTypeAPosition parameter of PDSCH-DMRS \(\in \{\) “pos0”, “pos1”, “pos2”, “pos3” \(\}\).
l0 (int) – Defines \(l_0\) parameter of PDSCH-DMRS \(\in \{1, 2, 3, 4, 5, 6\}\).
ld (int) – Defines \(l_d\) parameter of PDSCH-DMRS. It takes values \(\in \{2,3,4,5,6,7,8,9,10,11,12,13\}\) based on
pdschMappingType
andmaxLength
.l1 (int) – Defines \(l_1\) parameter of PDSCH-DMRS \(\in \{11, 12\}\). Default value is 11.
rank (int) – Defines rank/num of layers/streams to be transmitted. It must match number of ports \(\in \{1,2,\dots,8\}\) for ‘Configuration-type-1’ and \(\in \{1,2,\dots,12\}\) for ‘Configuration-type-2’.
scramblingID (int) – Defines the scramblingID \(\in \{0,1,\dots,65535\}\).
nSCID (int) – Defines the quantity \(\text{𝑛}_{\text{SCID}} \in \{0,1\}\) is given by the DM-RS sequence initialization field.
- Raises:
[Error-PDSCH DMRS] – Invalid pdschMappingType. The valid values are ‘PDSCH-mapping-type-A’ and ‘PDSCH-mapping-type-B’!
[Error-PDSCH DMRS] – Invalid maxLength. The valid values are ‘len1’ and ‘len2’!
[Error-PDSCH DMRS] – Invalid dmrsTypeAPosition. The valid values are ‘pos2’ and ‘pos3’!
[Error-PDSCH DMRS] – Invalid configurationType. The valid values are ‘Configuration-type-1’ and ‘Configuration-type-2’!