Commit c15fb8c7 authored by adk's avatar adk

PUSCH DMRS mapping type B start symbol fix

parent e7c5bc55
...@@ -111,6 +111,7 @@ int32_t get_l_prime(uint8_t duration_in_symbols, uint8_t mapping_type, pusch_dmr ...@@ -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, ...@@ -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, ...@@ -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);
......
...@@ -66,6 +66,7 @@ uint8_t is_dmrs_symbol(uint8_t l, ...@@ -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, ...@@ -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, ...@@ -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, ...@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment