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,...
|
* n index starting 0,1,...
|
||||||
* delta see Table 6.4.1.1.3
|
* delta see Table 6.4.1.1.3
|
||||||
* duration_in_symbols number of scheduled PUSCH ofdm symbols
|
* duration_in_symbols number of scheduled PUSCH ofdm symbols
|
||||||
|
* start_symbol first symbol index in PUSCH allocation
|
||||||
* dmrs_UplinkConfig DMRS uplink configuration
|
* dmrs_UplinkConfig DMRS uplink configuration
|
||||||
* mapping_type PUSCH mapping type (A or B)
|
* mapping_type PUSCH mapping type (A or B)
|
||||||
* ofdm_symbol_size IFFT size
|
* ofdm_symbol_size IFFT size
|
||||||
@@ -128,6 +129,7 @@ uint8_t is_dmrs_symbol(uint8_t l,
|
|||||||
uint16_t n,
|
uint16_t n,
|
||||||
uint8_t delta,
|
uint8_t delta,
|
||||||
uint8_t duration_in_symbols,
|
uint8_t duration_in_symbols,
|
||||||
|
uint8_t start_symbol,
|
||||||
dmrs_UplinkConfig_t *dmrs_UplinkConfig,
|
dmrs_UplinkConfig_t *dmrs_UplinkConfig,
|
||||||
uint8_t mapping_type,
|
uint8_t mapping_type,
|
||||||
uint16_t ofdm_symbol_size) {
|
uint16_t ofdm_symbol_size) {
|
||||||
@@ -141,6 +143,11 @@ uint8_t is_dmrs_symbol(uint8_t l,
|
|||||||
dmrs_type = dmrs_UplinkConfig->pusch_dmrs_type;
|
dmrs_type = dmrs_UplinkConfig->pusch_dmrs_type;
|
||||||
additional_pos = dmrs_UplinkConfig->pusch_dmrs_AdditionalPosition;
|
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);
|
l0 = get_l0_ul(mapping_type, 2);
|
||||||
l_prime_mask = get_l_prime(duration_in_symbols, mapping_type, additional_pos, dmrs_UplinkConfig->pusch_maxLength);
|
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
|
* NAME : get_l0_ul
|
||||||
*
|
*
|
||||||
* PARAMETERS : mapping_type : PUSCH mapping type
|
* PARAMETERS : mapping_type : PUSCH mapping type
|
||||||
* dmrs_typeA_position : higher layer parameter
|
* dmrs_typeA_position : higher layer parameter
|
||||||
*
|
*
|
||||||
* RETURN : demodulation reference signal for PUSCH
|
* RETURN : demodulation reference signal for PUSCH
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ uint8_t is_dmrs_symbol(uint8_t l,
|
|||||||
uint16_t n,
|
uint16_t n,
|
||||||
uint8_t delta,
|
uint8_t delta,
|
||||||
uint8_t duration_in_symbols,
|
uint8_t duration_in_symbols,
|
||||||
|
uint8_t start_symbol,
|
||||||
dmrs_UplinkConfig_t *dmrs_UplinkConfig,
|
dmrs_UplinkConfig_t *dmrs_UplinkConfig,
|
||||||
uint8_t mapping_type,
|
uint8_t mapping_type,
|
||||||
uint16_t ofdm_symbol_size);
|
uint16_t ofdm_symbol_size);
|
||||||
|
|||||||
@@ -136,6 +136,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
harq_process_ul_ue->number_of_symbols,
|
harq_process_ul_ue->number_of_symbols,
|
||||||
|
start_symbol,
|
||||||
&UE->dmrs_UplinkConfig,
|
&UE->dmrs_UplinkConfig,
|
||||||
mapping_type,
|
mapping_type,
|
||||||
frame_parms->ofdm_symbol_size);
|
frame_parms->ofdm_symbol_size);
|
||||||
@@ -273,6 +274,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
|||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
harq_process_ul_ue->number_of_symbols,
|
harq_process_ul_ue->number_of_symbols,
|
||||||
|
start_symbol,
|
||||||
&UE->dmrs_UplinkConfig,
|
&UE->dmrs_UplinkConfig,
|
||||||
mapping_type,
|
mapping_type,
|
||||||
frame_parms->ofdm_symbol_size);
|
frame_parms->ofdm_symbol_size);
|
||||||
@@ -359,6 +361,7 @@ void nr_ue_ulsch_procedures(PHY_VARS_NR_UE *UE,
|
|||||||
n,
|
n,
|
||||||
delta,
|
delta,
|
||||||
harq_process_ul_ue->number_of_symbols,
|
harq_process_ul_ue->number_of_symbols,
|
||||||
|
start_symbol,
|
||||||
&UE->dmrs_UplinkConfig,
|
&UE->dmrs_UplinkConfig,
|
||||||
mapping_type,
|
mapping_type,
|
||||||
frame_parms->ofdm_symbol_size);
|
frame_parms->ofdm_symbol_size);
|
||||||
|
|||||||
Reference in New Issue
Block a user