Merge remote-tracking branch 'develop'

This commit is contained in:
Thomas Schlichter
2020-11-18 10:37:20 +01:00
32 changed files with 372 additions and 288 deletions
+154 -154
View File
@@ -157,93 +157,93 @@ int16_t get_N_RA_RB (int delta_f_RA_PRACH,int delta_f_PUSCH) {
// E.g. in row 20 and column 5 we have set value 66 ('0001000010') which means RACH can be sent at subframe 1 or 6
int64_t table_6_3_3_2_2_prachConfig_Index [256][9] = {
//format, format, x, y, SFN_nbr, star_symb, slots_sfn, occ_slot, duration
{0, -1, 16, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{0, -1, 16, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{0, -1, 16, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{0, -1, 16, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{0, -1, 8, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{0, -1, 8, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{0, -1, 8, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{0, -1, 8, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{0, -1, 4, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{0, -1, 4, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{0, -1, 4, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{0, -1, 4, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{0, -1, 2, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{0, -1, 2, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{0, -1, 2, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{0, -1, 2, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{0, -1, 1, 0, 2, 0, -1, -1, 0}, // (subframe number) 1
{0, -1, 1, 0, 16, 0, -1, -1, 0}, // (subframe number) 4
{0, -1, 1, 0, 128, 0, -1, -1, 0}, // (subframe number) 7
{0, -1, 1, 0, 66, 0, -1, -1, 0}, // (subframe number) 1,6
{0, -1, 1, 0, 132, 0, -1, -1, 0}, // (subframe number) 2,7
{0, -1, 1, 0, 264, 0, -1, -1, 0}, // (subframe number) 3,8
{0, -1, 1, 0, 146, 0, -1, -1, 0}, // (subframe number) 1,4,7
{0, -1, 1, 0, 292, 0, -1, -1, 0}, // (subframe number) 2,5,8
{0, -1, 1, 0, 584, 0, -1, -1, 0}, // (subframe number) 3, 6, 9
{0, -1, 1, 0, 341, 0, -1, -1, 0}, // (subframe number) 0,2,4,6,8
{0, -1, 1, 0, 682, 0, -1, -1, 0}, // (subframe number) 1,3,5,7,9
{0, -1, 1, 0, 1023, 0, -1, -1, 0}, // (subframe number) 0,1,2,3,4,5,6,7,8,9
{1, -1, 16, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{1, -1, 16, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{1, -1, 16, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{1, -1, 16, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{1, -1, 8, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{1, -1, 8, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{1, -1, 8, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{1, -1, 8, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{1, -1, 4, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{1, -1, 4, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{1, -1, 4, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{1, -1, 4, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{1, -1, 2, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{1, -1, 2, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{1, -1, 2, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{1, -1, 2, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{1, -1, 1, 0, 2, 0, -1, -1, 0}, // (subframe number) 1
{1, -1, 1, 0, 16, 0, -1, -1, 0}, // (subframe number) 4
{1, -1, 1, 0, 128, 0, -1, -1, 0}, // (subframe number) 7
{1, -1, 1, 0, 66, 0, -1, -1, 0}, // (subframe number) 1,6
{1, -1, 1, 0, 132, 0, -1, -1, 0}, // (subframe number) 2,7
{1, -1, 1, 0, 264, 0, -1, -1, 0}, // (subframe number) 3,8
{1, -1, 1, 0, 146, 0, -1, -1, 0}, // (subframe number) 1,4,7
{1, -1, 1, 0, 292, 0, -1, -1, 0}, // (subframe number) 2,5,8
{1, -1, 1, 0, 584, 0, -1, -1, 0}, // (subframe number) 3,6,9
{2, -1, 16, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{2, -1, 8, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{2, -1, 4, 0, 2, 0, -1, -1, 0}, // (subframe number) 1
{2, -1, 2, 0, 2, 0, -1, -1, 0}, // (subframe number) 1
{2, -1, 2, 0, 32, 0, -1, -1, 0}, // (subframe number) 5
{2, -1, 1, 0, 2, 0, -1, -1, 0}, // (subframe number) 1
{2, -1, 1, 0, 32, 0, -1, -1, 0}, // (subframe number) 5
{3, -1, 16, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{3, -1, 16, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{3, -1, 16, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{3, -1, 16, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{3, -1, 8, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{3, -1, 8, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{3, -1, 8, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{3, -1, 4, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{3, -1, 4, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{3, -1, 4, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{3, -1, 4, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{3, -1, 2, 1, 2, 0, -1, -1, 0}, // (subframe number) 1
{3, -1, 2, 1, 16, 0, -1, -1, 0}, // (subframe number) 4
{3, -1, 2, 1, 128, 0, -1, -1, 0}, // (subframe number) 7
{3, -1, 2, 1, 512, 0, -1, -1, 0}, // (subframe number) 9
{3, -1, 1, 0, 2, 0, -1, -1, 0}, // (subframe number) 1
{3, -1, 1, 0, 16, 0, -1, -1, 0}, // (subframe number) 4
{3, -1, 1, 0, 128, 0, -1, -1, 0}, // (subframe number) 7
{3, -1, 1, 0, 66, 0, -1, -1, 0}, // (subframe number) 1,6
{3, -1, 1, 0, 132, 0, -1, -1, 0}, // (subframe number) 2,7
{3, -1, 1, 0, 264, 0, -1, -1, 0}, // (subframe number) 3,8
{3, -1, 1, 0, 146, 0, -1, -1, 0}, // (subframe number) 1,4,7
{3, -1, 1, 0, 292, 0, -1, -1, 0}, // (subframe number) 2,5,8
{3, -1, 1, 0, 584, 0, -1, -1, 0}, // (subframe number) 3, 6, 9
{3, -1, 1, 0, 341, 0, -1, -1, 0}, // (subframe number) 0,2,4,6,8
{3, -1, 1, 0, 682, 0, -1, -1, 0}, // (subframe number) 1,3,5,7,9
{3, -1, 1, 0, 1023, 0, -1, -1, 0}, // (subframe number) 0,1,2,3,4,5,6,7,8,9
{0, -1, 16, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{0, -1, 16, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{0, -1, 16, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{0, -1, 16, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{0, -1, 8, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{0, -1, 8, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{0, -1, 8, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{0, -1, 8, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{0, -1, 4, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{0, -1, 4, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{0, -1, 4, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{0, -1, 4, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{0, -1, 2, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{0, -1, 2, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{0, -1, 2, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{0, -1, 2, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{0, -1, 1, 0, 2, 0, 1, 1, 0}, // (subframe number) 1
{0, -1, 1, 0, 16, 0, 1, 1, 0}, // (subframe number) 4
{0, -1, 1, 0, 128, 0, 1, 1, 0}, // (subframe number) 7
{0, -1, 1, 0, 66, 0, 1, 1, 0}, // (subframe number) 1,6
{0, -1, 1, 0, 132, 0, 1, 1, 0}, // (subframe number) 2,7
{0, -1, 1, 0, 264, 0, 1, 1, 0}, // (subframe number) 3,8
{0, -1, 1, 0, 146, 0, 1, 1, 0}, // (subframe number) 1,4,7
{0, -1, 1, 0, 292, 0, 1, 1, 0}, // (subframe number) 2,5,8
{0, -1, 1, 0, 584, 0, 1, 1, 0}, // (subframe number) 3, 6, 9
{0, -1, 1, 0, 341, 0, 1, 1, 0}, // (subframe number) 0,2,4,6,8
{0, -1, 1, 0, 682, 0, 1, 1, 0}, // (subframe number) 1,3,5,7,9
{0, -1, 1, 0, 1023, 0, 1, 1, 0}, // (subframe number) 0,1,2,3,4,5,6,7,8,9
{1, -1, 16, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{1, -1, 16, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{1, -1, 16, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{1, -1, 16, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{1, -1, 8, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{1, -1, 8, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{1, -1, 8, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{1, -1, 8, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{1, -1, 4, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{1, -1, 4, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{1, -1, 4, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{1, -1, 4, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{1, -1, 2, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{1, -1, 2, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{1, -1, 2, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{1, -1, 2, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{1, -1, 1, 0, 2, 0, 1, 1, 0}, // (subframe number) 1
{1, -1, 1, 0, 16, 0, 1, 1, 0}, // (subframe number) 4
{1, -1, 1, 0, 128, 0, 1, 1, 0}, // (subframe number) 7
{1, -1, 1, 0, 66, 0, 1, 1, 0}, // (subframe number) 1,6
{1, -1, 1, 0, 132, 0, 1, 1, 0}, // (subframe number) 2,7
{1, -1, 1, 0, 264, 0, 1, 1, 0}, // (subframe number) 3,8
{1, -1, 1, 0, 146, 0, 1, 1, 0}, // (subframe number) 1,4,7
{1, -1, 1, 0, 292, 0, 1, 1, 0}, // (subframe number) 2,5,8
{1, -1, 1, 0, 584, 0, 1, 1, 0}, // (subframe number) 3,6,9
{2, -1, 16, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{2, -1, 8, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{2, -1, 4, 0, 2, 0, 1, 1, 0}, // (subframe number) 1
{2, -1, 2, 0, 2, 0, 1, 1, 0}, // (subframe number) 1
{2, -1, 2, 0, 32, 0, 1, 1, 0}, // (subframe number) 5
{2, -1, 1, 0, 2, 0, 1, 1, 0}, // (subframe number) 1
{2, -1, 1, 0, 32, 0, 1, 1, 0}, // (subframe number) 5
{3, -1, 16, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{3, -1, 16, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{3, -1, 16, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{3, -1, 16, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{3, -1, 8, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{3, -1, 8, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{3, -1, 8, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{3, -1, 4, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{3, -1, 4, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{3, -1, 4, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{3, -1, 4, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{3, -1, 2, 1, 2, 0, 1, 1, 0}, // (subframe number) 1
{3, -1, 2, 1, 16, 0, 1, 1, 0}, // (subframe number) 4
{3, -1, 2, 1, 128, 0, 1, 1, 0}, // (subframe number) 7
{3, -1, 2, 1, 512, 0, 1, 1, 0}, // (subframe number) 9
{3, -1, 1, 0, 2, 0, 1, 1, 0}, // (subframe number) 1
{3, -1, 1, 0, 16, 0, 1, 1, 0}, // (subframe number) 4
{3, -1, 1, 0, 128, 0, 1, 1, 0}, // (subframe number) 7
{3, -1, 1, 0, 66, 0, 1, 1, 0}, // (subframe number) 1,6
{3, -1, 1, 0, 132, 0, 1, 1, 0}, // (subframe number) 2,7
{3, -1, 1, 0, 264, 0, 1, 1, 0}, // (subframe number) 3,8
{3, -1, 1, 0, 146, 0, 1, 1, 0}, // (subframe number) 1,4,7
{3, -1, 1, 0, 292, 0, 1, 1, 0}, // (subframe number) 2,5,8
{3, -1, 1, 0, 584, 0, 1, 1, 0}, // (subframe number) 3, 6, 9
{3, -1, 1, 0, 341, 0, 1, 1, 0}, // (subframe number) 0,2,4,6,8
{3, -1, 1, 0, 682, 0, 1, 1, 0}, // (subframe number) 1,3,5,7,9
{3, -1, 1, 0, 1023, 0, 1, 1, 0}, // (subframe number) 0,1,2,3,4,5,6,7,8,9
{0xa1, -1, 16, 0, 528, 0, 1, 6, 2}, // (subframe number) 4,9
{0xa1, -1, 16, 1, 16, 0, 2, 6, 2}, // (subframe number) 4
{0xa1, -1, 8, 0, 528, 0, 1, 6, 2}, // (subframe number) 4,9
@@ -417,73 +417,73 @@ int64_t table_6_3_3_2_2_prachConfig_Index [256][9] = {
// Table 6.3.3.2-3: Random access configurations for FR1 and unpaired spectrum
int64_t table_6_3_3_2_3_prachConfig_Index [256][9] = {
//format, format, x, y, SFN_nbr, star_symb, slots_sfn, occ_slot, duration
{0, -1, 16, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{0, -1, 8, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{0, -1, 4, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{0, -1, 2, 0, 512, 0, -1, -1, 0}, // (subrame number 9)
{0, -1, 2, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{0, -1, 2, 0, 16, 0, -1, -1, 0}, // (subrame number 4)
{0, -1, 2, 1, 16, 0, -1, -1, 0}, // (subrame number 4)
{0, -1, 1, 0, 512, 0, -1, -1, 0}, // (subrame number 9)
{0, -1, 1, 0, 256, 0, -1, -1, 0}, // (subrame number 8)
{0, -1, 1, 0, 128, 0, -1, -1, 0}, // (subrame number 7)
{0, -1, 1, 0, 64, 0, -1, -1, 0}, // (subrame number 6)
{0, -1, 1, 0, 32, 0, -1, -1, 0}, // (subrame number 5)
{0, -1, 1, 0, 16, 0, -1, -1, 0}, // (subrame number 4)
{0, -1, 1, 0, 8, 0, -1, -1, 0}, // (subrame number 3)
{0, -1, 1, 0, 4, 0, -1, -1, 0}, // (subrame number 2)
{0, -1, 1, 0, 66, 0, -1, -1, 0}, // (subrame number 1,6)
{0, -1, 1, 0, 66, 7, -1, -1, 0}, // (subrame number 1,6)
{0, -1, 1, 0, 528, 0, -1, -1, 0}, // (subrame number 4,9)
{0, -1, 1, 0, 264, 0, -1, -1, 0}, // (subrame number 3,8)
{0, -1, 1, 0, 132, 0, -1, -1, 0}, // (subrame number 2,7)
{0, -1, 1, 0, 768, 0, -1, -1, 0}, // (subrame number 8,9)
{0, -1, 1, 0, 784, 0, -1, -1, 0}, // (subrame number 4,8,9)
{0, -1, 1, 0, 536, 0, -1, -1, 0}, // (subrame number 3,4,9)
{0, -1, 1, 0, 896, 0, -1, -1, 0}, // (subrame number 7,8,9)
{0, -1, 1, 0, 792, 0, -1, -1, 0}, // (subrame number 3,4,8,9)
{0, -1, 1, 0, 960, 0, -1, -1, 0}, // (subrame number 6,7,8,9)
{0, -1, 1, 0, 594, 0, -1, -1, 0}, // (subrame number 1,4,6,9)
{0, -1, 1, 0, 682, 0, -1, -1, 0}, // (subrame number 1,3,5,7,9)
{1, -1, 16, 1, 128, 0, -1, -1, 0}, // (subrame number 7)
{1, -1, 8, 1, 128, 0, -1, -1, 0}, // (subrame number 7)
{1, -1, 4, 1, 128, 0, -1, -1, 0}, // (subrame number 7)
{1, -1, 2, 0, 128, 0, -1, -1, 0}, // (subrame number 7)
{1, -1, 2, 1, 128, 0, -1, -1, 0}, // (subrame number 7)
{1, -1, 1, 0, 128, 0, -1, -1, 0}, // (subrame number 7)
{2, -1, 16, 1, 64, 0, -1, -1, 0}, // (subrame number 6)
{2, -1, 8, 1, 64, 0, -1, -1, 0}, // (subrame number 6)
{2, -1, 4, 1, 64, 0, -1, -1, 0}, // (subrame number 6)
{2, -1, 2, 0, 64, 7, -1, -1, 0}, // (subrame number 6)
{2, -1, 2, 1, 64, 7, -1, -1, 0}, // (subrame number 6)
{2, -1, 1, 0, 64, 7, -1, -1, 0}, // (subrame number 6)
{3, -1, 16, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{3, -1, 8, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{3, -1, 4, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{3, -1, 2, 0, 512, 0, -1, -1, 0}, // (subrame number 9)
{3, -1, 2, 1, 512, 0, -1, -1, 0}, // (subrame number 9)
{3, -1, 2, 0, 16, 0, -1, -1, 0}, // (subrame number 4)
{3, -1, 2, 1, 16, 0, -1, -1, 0}, // (subrame number 4)
{3, -1, 1, 0, 512, 0, -1, -1, 0}, // (subrame number 9)
{3, -1, 1, 0, 256, 0, -1, -1, 0}, // (subrame number 8)
{3, -1, 1, 0, 128, 0, -1, -1, 0}, // (subrame number 7)
{3, -1, 1, 0, 64, 0, -1, -1, 0}, // (subrame number 6)
{3, -1, 1, 0, 32, 0, -1, -1, 0}, // (subrame number 5)
{3, -1, 1, 0, 16, 0, -1, -1, 0}, // (subrame number 4)
{3, -1, 1, 0, 8, 0, -1, -1, 0}, // (subrame number 3)
{3, -1, 1, 0, 4, 0, -1, -1, 0}, // (subrame number 2)
{3, -1, 1, 0, 66, 0, -1, -1, 0}, // (subrame number 1,6)
{3, -1, 1, 0, 66, 7, -1, -1, 0}, // (subrame number 1,6)
{3, -1, 1, 0, 528, 0, -1, -1, 0}, // (subrame number 4,9)
{3, -1, 1, 0, 264, 0, -1, -1, 0}, // (subrame number 3,8)
{3, -1, 1, 0, 132, 0, -1, -1, 0}, // (subrame number 2,7)
{3, -1, 1, 0, 768, 0, -1, -1, 0}, // (subrame number 8,9)
{3, -1, 1, 0, 784, 0, -1, -1, 0}, // (subrame number 4,8,9)
{3, -1, 1, 0, 536, 0, -1, -1, 0}, // (subrame number 3,4,9)
{3, -1, 1, 0, 896, 0, -1, -1, 0}, // (subrame number 7,8,9)
{3, -1, 1, 0, 792, 0, -1, -1, 0}, // (subrame number 3,4,8,9)
{3, -1, 1, 0, 594, 0, -1, -1, 0}, // (subrame number 1,4,6,9)
{3, -1, 1, 0, 682, 0, -1, -1, 0}, // (subrame number 1,3,5,7,9)
{0, -1, 16, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{0, -1, 8, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{0, -1, 4, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{0, -1, 2, 0, 512, 0, 1, 1, 0}, // (subrame number 9)
{0, -1, 2, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{0, -1, 2, 0, 16, 0, 1, 1, 0}, // (subrame number 4)
{0, -1, 2, 1, 16, 0, 1, 1, 0}, // (subrame number 4)
{0, -1, 1, 0, 512, 0, 1, 1, 0}, // (subrame number 9)
{0, -1, 1, 0, 256, 0, 1, 1, 0}, // (subrame number 8)
{0, -1, 1, 0, 128, 0, 1, 1, 0}, // (subrame number 7)
{0, -1, 1, 0, 64, 0, 1, 1, 0}, // (subrame number 6)
{0, -1, 1, 0, 32, 0, 1, 1, 0}, // (subrame number 5)
{0, -1, 1, 0, 16, 0, 1, 1, 0}, // (subrame number 4)
{0, -1, 1, 0, 8, 0, 1, 1, 0}, // (subrame number 3)
{0, -1, 1, 0, 4, 0, 1, 1, 0}, // (subrame number 2)
{0, -1, 1, 0, 66, 0, 1, 1, 0}, // (subrame number 1,6)
{0, -1, 1, 0, 66, 7, 1, 1, 0}, // (subrame number 1,6)
{0, -1, 1, 0, 528, 0, 1, 1, 0}, // (subrame number 4,9)
{0, -1, 1, 0, 264, 0, 1, 1, 0}, // (subrame number 3,8)
{0, -1, 1, 0, 132, 0, 1, 1, 0}, // (subrame number 2,7)
{0, -1, 1, 0, 768, 0, 1, 1, 0}, // (subrame number 8,9)
{0, -1, 1, 0, 784, 0, 1, 1, 0}, // (subrame number 4,8,9)
{0, -1, 1, 0, 536, 0, 1, 1, 0}, // (subrame number 3,4,9)
{0, -1, 1, 0, 896, 0, 1, 1, 0}, // (subrame number 7,8,9)
{0, -1, 1, 0, 792, 0, 1, 1, 0}, // (subrame number 3,4,8,9)
{0, -1, 1, 0, 960, 0, 1, 1, 0}, // (subrame number 6,7,8,9)
{0, -1, 1, 0, 594, 0, 1, 1, 0}, // (subrame number 1,4,6,9)
{0, -1, 1, 0, 682, 0, 1, 1, 0}, // (subrame number 1,3,5,7,9)
{1, -1, 16, 1, 128, 0, 1, 1, 0}, // (subrame number 7)
{1, -1, 8, 1, 128, 0, 1, 1, 0}, // (subrame number 7)
{1, -1, 4, 1, 128, 0, 1, 1, 0}, // (subrame number 7)
{1, -1, 2, 0, 128, 0, 1, 1, 0}, // (subrame number 7)
{1, -1, 2, 1, 128, 0, 1, 1, 0}, // (subrame number 7)
{1, -1, 1, 0, 128, 0, 1, 1, 0}, // (subrame number 7)
{2, -1, 16, 1, 64, 0, 1, 1, 0}, // (subrame number 6)
{2, -1, 8, 1, 64, 0, 1, 1, 0}, // (subrame number 6)
{2, -1, 4, 1, 64, 0, 1, 1, 0}, // (subrame number 6)
{2, -1, 2, 0, 64, 7, 1, 1, 0}, // (subrame number 6)
{2, -1, 2, 1, 64, 7, 1, 1, 0}, // (subrame number 6)
{2, -1, 1, 0, 64, 7, 1, 1, 0}, // (subrame number 6)
{3, -1, 16, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{3, -1, 8, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{3, -1, 4, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{3, -1, 2, 0, 512, 0, 1, 1, 0}, // (subrame number 9)
{3, -1, 2, 1, 512, 0, 1, 1, 0}, // (subrame number 9)
{3, -1, 2, 0, 16, 0, 1, 1, 0}, // (subrame number 4)
{3, -1, 2, 1, 16, 0, 1, 1, 0}, // (subrame number 4)
{3, -1, 1, 0, 512, 0, 1, 1, 0}, // (subrame number 9)
{3, -1, 1, 0, 256, 0, 1, 1, 0}, // (subrame number 8)
{3, -1, 1, 0, 128, 0, 1, 1, 0}, // (subrame number 7)
{3, -1, 1, 0, 64, 0, 1, 1, 0}, // (subrame number 6)
{3, -1, 1, 0, 32, 0, 1, 1, 0}, // (subrame number 5)
{3, -1, 1, 0, 16, 0, 1, 1, 0}, // (subrame number 4)
{3, -1, 1, 0, 8, 0, 1, 1, 0}, // (subrame number 3)
{3, -1, 1, 0, 4, 0, 1, 1, 0}, // (subrame number 2)
{3, -1, 1, 0, 66, 0, 1, 1, 0}, // (subrame number 1,6)
{3, -1, 1, 0, 66, 7, 1, 1, 0}, // (subrame number 1,6)
{3, -1, 1, 0, 528, 0, 1, 1, 0}, // (subrame number 4,9)
{3, -1, 1, 0, 264, 0, 1, 1, 0}, // (subrame number 3,8)
{3, -1, 1, 0, 132, 0, 1, 1, 0}, // (subrame number 2,7)
{3, -1, 1, 0, 768, 0, 1, 1, 0}, // (subrame number 8,9)
{3, -1, 1, 0, 784, 0, 1, 1, 0}, // (subrame number 4,8,9)
{3, -1, 1, 0, 536, 0, 1, 1, 0}, // (subrame number 3,4,9)
{3, -1, 1, 0, 896, 0, 1, 1, 0}, // (subrame number 7,8,9)
{3, -1, 1, 0, 792, 0, 1, 1, 0}, // (subrame number 3,4,8,9)
{3, -1, 1, 0, 594, 0, 1, 1, 0}, // (subrame number 1,4,6,9)
{3, -1, 1, 0, 682, 0, 1, 1, 0}, // (subrame number 1,3,5,7,9)
{0xa1, -1, 16, 1, 512, 0, 2, 6, 2}, // (subrame number 9)
{0xa1, -1, 8, 1, 512, 0, 2, 6, 2}, // (subrame number 9)
{0xa1, -1, 4, 1, 512, 0, 1, 6, 2}, // (subrame number 9)
+1 -1
View File
@@ -372,7 +372,7 @@ void nr_schedule_pucch(int Mod_idP,
memset(pucch_pdu,0,sizeof(nfapi_nr_pucch_pdu_t));
UL_tti_req->n_pdus+=1;
LOG_I(MAC,"Scheduling pucch reception for frame %d slot %d with (%d, %d, %d) (SR ACK, CSI) bits\n",
LOG_D(MAC,"Scheduling pucch reception for frame %d slot %d with (%d, %d, %d) (SR ACK, CSI) bits\n",
frameP,slotP,O_sr,O_ack,curr_pucch->csi_bits);
nr_configure_pucch(pucch_pdu,
+14 -4
View File
@@ -70,7 +70,7 @@ int16_t ssb_index_from_prach(module_id_t module_idP,
float num_ssb_per_RO = ssb_per_rach_occasion[cfg->prach_config.ssb_per_rach.value];
uint16_t start_symbol_index = 0;
uint8_t mu,N_dur,N_t_slot,start_symbol = 0, temp_start_symbol = 0, N_RA_slot;
uint8_t mu,N_dur=0,N_t_slot=0,start_symbol = 0, temp_start_symbol = 0, N_RA_slot=0;
uint16_t format,RA_sfn_index = -1;
uint8_t config_period = 1;
uint16_t prach_occasion_id = -1;
@@ -139,7 +139,7 @@ void find_SSB_and_RO_available(module_id_t module_idP) {
nfapi_nr_config_request_scf_t *cfg = &RC.nrmac[module_idP]->config[0];
uint8_t config_index = scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->rach_ConfigGeneric.prach_ConfigurationIndex;
uint8_t mu,N_dur,N_t_slot,start_symbol,N_RA_slot = 0;
uint8_t mu,N_dur=0,N_t_slot=0,start_symbol=0,N_RA_slot = 0;
uint16_t format,N_RA_sfn = 0,unused_RA_occasion,repetition = 0;
uint8_t num_active_ssb = 0;
uint8_t max_association_period = 1;
@@ -421,14 +421,24 @@ void nr_initiate_ra_proc(module_id_t module_idP,
uint8_t ul_carrier_id = 0; // 0 for NUL 1 for SUL
NR_SearchSpace_t *ss;
// ra_rnti from 5.1.3 in 38.321
uint16_t ra_rnti=1+symbol+(slotP*14)+(freq_index*14*80)+(ul_carrier_id*14*80*8);
int UE_id = 0;
uint16_t msg2_frame, msg2_slot,monitoring_slot_period,monitoring_offset;
gNB_MAC_INST *nr_mac = RC.nrmac[module_idP];
NR_COMMON_channels_t *cc = &nr_mac->common_channels[CC_id];
NR_ServingCellConfigCommon_t *scc = cc->ServingCellConfigCommon;
NR_RA_t *ra = &cc->ra[0];
uint16_t ra_rnti;
// ra_rnti from 5.1.3 in 38.321
// FK: in case of long PRACH the phone seems to expect the subframe number instead of the slot number here.
if (scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->prach_RootSequenceIndex.present==NR_RACH_ConfigCommon__prach_RootSequenceIndex_PR_l839)
ra_rnti=1+symbol+(9/*slotP*/*14)+(freq_index*14*80)+(ul_carrier_id*14*80*8);
else
ra_rnti=1+symbol+(slotP*14)+(freq_index*14*80)+(ul_carrier_id*14*80*8);
// if the preamble received correspond to one of the listed
// the UE sent a RACH either for starting RA procedure or RA procedure failed and UE retries
int pr_found=0;
@@ -641,8 +641,8 @@ void nr_schedule_ue_spec(module_id_t module_id,
* Possible improvement: take the periodicity from input file.
* If such UE is not scheduled now, it will be by the preprocessor later.
* If we add the CE, ta_apply will be reset */
if (frame >= (sched_ctrl->ta_frame + 10) % 1023)
sched_ctrl->ta_apply = true; /* the timer is reset once TA CE is scheduled */
if (frame == (sched_ctrl->ta_frame + 10) % 1024)
sched_ctrl->ta_apply = false; /* the timer is reset once TA CE is scheduled */
if (sched_ctrl->rbSize <= 0)
continue;