PUSCH DMRS mapping type B start symbol fix
This commit is contained in:
@@ -111,6 +111,7 @@ int32_t get_l_prime(uint8_t duration_in_symbols, uint8_t mapping_type, pusch_dmr
|
||||
* n index starting 0,1,...
|
||||
* delta see Table 6.4.1.1.3
|
||||
* duration_in_symbols number of scheduled PUSCH ofdm symbols
|
||||
* start_symbol first symbol index in PUSCH allocation
|
||||
* dmrs_UplinkConfig DMRS uplink configuration
|
||||
* mapping_type PUSCH mapping type (A or B)
|
||||
* ofdm_symbol_size IFFT size
|
||||
@@ -128,6 +129,7 @@ uint8_t is_dmrs_symbol(uint8_t l,
|
||||
uint16_t n,
|
||||
uint8_t delta,
|
||||
uint8_t duration_in_symbols,
|
||||
uint8_t start_symbol,
|
||||
dmrs_UplinkConfig_t *dmrs_UplinkConfig,
|
||||
uint8_t mapping_type,
|
||||
uint16_t ofdm_symbol_size) {
|
||||
@@ -141,6 +143,11 @@ uint8_t is_dmrs_symbol(uint8_t l,
|
||||
dmrs_type = dmrs_UplinkConfig->pusch_dmrs_type;
|
||||
additional_pos = dmrs_UplinkConfig->pusch_dmrs_AdditionalPosition;
|
||||
|
||||
if (mapping_type==typeB)
|
||||
l -= start_symbol;
|
||||
|
||||
AssertFatal(l >= 0,"Check DMRS configuration (start_symbol) !\n");
|
||||
|
||||
|
||||
l0 = get_l0_ul(mapping_type, 2);
|
||||
l_prime_mask = get_l_prime(duration_in_symbols, mapping_type, additional_pos, dmrs_UplinkConfig->pusch_maxLength);
|
||||
@@ -370,7 +377,7 @@ void lte_gold_new(LTE_DL_FRAME_PARMS *frame_parms, uint32_t lte_gold_table[20][2
|
||||
*
|
||||
* NAME : get_l0_ul
|
||||
*
|
||||
* PARAMETERS : mapping_type : PUSCH mapping type
|
||||
* PARAMETERS : mapping_type : PUSCH mapping type
|
||||
* dmrs_typeA_position : higher layer parameter
|
||||
*
|
||||
* RETURN : demodulation reference signal for PUSCH
|
||||
|
||||
@@ -66,6 +66,7 @@ uint8_t is_dmrs_symbol(uint8_t l,
|
||||
uint16_t n,
|
||||
uint8_t delta,
|
||||
uint8_t duration_in_symbols,
|
||||
uint8_t start_symbol,
|
||||
dmrs_UplinkConfig_t *dmrs_UplinkConfig,
|
||||
uint8_t mapping_type,
|
||||
uint16_t ofdm_symbol_size);
|
||||
|
||||
@@ -136,6 +136,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
||||
0,
|
||||
0,
|
||||
harq_process_ul_ue->number_of_symbols,
|
||||
start_symbol,
|
||||
&UE->dmrs_UplinkConfig,
|
||||
mapping_type,
|
||||
frame_parms->ofdm_symbol_size);
|
||||
@@ -273,6 +274,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
||||
0,
|
||||
0,
|
||||
harq_process_ul_ue->number_of_symbols,
|
||||
start_symbol,
|
||||
&UE->dmrs_UplinkConfig,
|
||||
mapping_type,
|
||||
frame_parms->ofdm_symbol_size);
|
||||
@@ -359,6 +361,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
||||
n,
|
||||
delta,
|
||||
harq_process_ul_ue->number_of_symbols,
|
||||
start_symbol,
|
||||
&UE->dmrs_UplinkConfig,
|
||||
mapping_type,
|
||||
frame_parms->ofdm_symbol_size);
|
||||
|
||||
Reference in New Issue
Block a user