Commit eda3a76e authored by Francesco Mani's avatar Francesco Mani

fix in function to read prach tables

parent f7611d12
...@@ -820,25 +820,19 @@ int64_t table_6_3_3_2_4_prachConfig_Index [256][10] = { ...@@ -820,25 +820,19 @@ int64_t table_6_3_3_2_4_prachConfig_Index [256][10] = {
int get_nr_prach_info_from_index(uint8_t index, int get_nr_prach_info_from_index(uint8_t index,
int frame, int frame,
int slot, int slot,
uint64_t frequency, uint32_t pointa,
uint8_t mu, uint8_t mu,
uint8_t unpaired,
uint16_t *format, uint16_t *format,
uint8_t *start_symbol, uint8_t *start_symbol,
uint8_t *N_t_slot, uint8_t *N_t_slot,
uint8_t *N_dur) { uint8_t *N_dur) {
uint16_t band = 0;
int32_t offset = 0;
lte_frame_type_t unpaired = 0;
int x,y; int x,y;
int64_t s_map; int64_t s_map;
uint8_t format2 = 0xff; uint8_t format2 = 0xff;
get_band(frequency, if (pointa > 2016666) { //FR2
&band,
&offset,
&unpaired);
if (band > 200) { //FR2
int y2; int y2;
uint8_t slot_60khz; uint8_t slot_60khz;
x = table_6_3_3_2_4_prachConfig_Index[index][2]; x = table_6_3_3_2_4_prachConfig_Index[index][2];
...@@ -850,8 +844,8 @@ int get_nr_prach_info_from_index(uint8_t index, ...@@ -850,8 +844,8 @@ int get_nr_prach_info_from_index(uint8_t index,
s_map = table_6_3_3_2_4_prachConfig_Index[index][5]; s_map = table_6_3_3_2_4_prachConfig_Index[index][5];
if ( (s_map>>slot_60khz)&0x01 ) { if ( (s_map>>slot_60khz)&0x01 ) {
if (mu == 3) { if (mu == 3) {
if ( (table_6_3_3_2_4_prachConfig_Index[index][7] == 1) && (slot%2 == 1) ) if ( (table_6_3_3_2_4_prachConfig_Index[index][7] == 1) && (slot%2 == 0) )
return 0; // no prach in odd slots @ 120kHz for 1 prach per 60khz slot return 0; // no prach in even slots @ 120kHz for 1 prach per 60khz slot
} }
*start_symbol = table_6_3_3_2_4_prachConfig_Index[index][6]; *start_symbol = table_6_3_3_2_4_prachConfig_Index[index][6];
*N_t_slot = table_6_3_3_2_4_prachConfig_Index[index][8]; *N_t_slot = table_6_3_3_2_4_prachConfig_Index[index][8];
...@@ -877,8 +871,8 @@ int get_nr_prach_info_from_index(uint8_t index, ...@@ -877,8 +871,8 @@ int get_nr_prach_info_from_index(uint8_t index,
s_map = table_6_3_3_2_3_prachConfig_Index[index][4]; s_map = table_6_3_3_2_3_prachConfig_Index[index][4];
if ( (s_map>>subframe)&0x01 ) { if ( (s_map>>subframe)&0x01 ) {
if (mu == 1) { if (mu == 1) {
if ( (table_6_3_3_2_3_prachConfig_Index[index][6] == 1) && (slot%2 == 1) ) if ( (table_6_3_3_2_3_prachConfig_Index[index][6] == 1) && (slot%2 == 0) )
return 0; // no prach in odd slots @ 30kHz for 1 prach per subframe return 0; // no prach in even slots @ 30kHz for 1 prach per subframe
} }
*start_symbol = table_6_3_3_2_3_prachConfig_Index[index][5]; *start_symbol = table_6_3_3_2_3_prachConfig_Index[index][5];
*N_t_slot = table_6_3_3_2_3_prachConfig_Index[index][7]; *N_t_slot = table_6_3_3_2_3_prachConfig_Index[index][7];
...@@ -902,8 +896,8 @@ int get_nr_prach_info_from_index(uint8_t index, ...@@ -902,8 +896,8 @@ int get_nr_prach_info_from_index(uint8_t index,
s_map = table_6_3_3_2_2_prachConfig_Index[index][4]; s_map = table_6_3_3_2_2_prachConfig_Index[index][4];
if ( (s_map>>subframe)&0x01 ) { if ( (s_map>>subframe)&0x01 ) {
if (mu == 1) { if (mu == 1) {
if ( (table_6_3_3_2_2_prachConfig_Index[index][6] == 1) && (slot%2 == 1) ) if ( (table_6_3_3_2_2_prachConfig_Index[index][6] == 1) && (slot%2 == 0) )
return 0; // no prach in odd slots @ 30kHz for 1 prach per subframe return 0; // no prach in even slots @ 30kHz for 1 prach per subframe
} }
*start_symbol = table_6_3_3_2_2_prachConfig_Index[index][5]; *start_symbol = table_6_3_3_2_2_prachConfig_Index[index][5];
*N_t_slot = table_6_3_3_2_2_prachConfig_Index[index][7]; *N_t_slot = table_6_3_3_2_2_prachConfig_Index[index][7];
......
...@@ -45,8 +45,9 @@ int16_t fill_dmrs_mask(NR_PDSCH_Config_t *pdsch_Config,int dmrs_TypeA_Position,i ...@@ -45,8 +45,9 @@ int16_t fill_dmrs_mask(NR_PDSCH_Config_t *pdsch_Config,int dmrs_TypeA_Position,i
int get_nr_prach_info_from_index(uint8_t index, int get_nr_prach_info_from_index(uint8_t index,
int frame, int frame,
int slot, int slot,
uint64_t frequency, uint32_t pointa,
uint8_t mu, uint8_t mu,
uint8_t unpaired,
uint16_t *format, uint16_t *format,
uint8_t *start_symbol, uint8_t *start_symbol,
uint8_t *N_t_slot, uint8_t *N_t_slot,
......
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