Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG-RAN
Commits
a248c44d
Commit
a248c44d
authored
5 years ago
by
Francesco Mani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
computation nb of root sequences in mac (plus some clean up in prach_common.c
parent
5eeb25e2
Changes
12
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
178 additions
and
214 deletions
+178
-214
openair1/PHY/NR_TRANSPORT/nr_prach.c
openair1/PHY/NR_TRANSPORT/nr_prach.c
+0
-7
openair1/PHY/NR_TRANSPORT/nr_prach_common.c
openair1/PHY/NR_TRANSPORT/nr_prach_common.c
+24
-191
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
+5
-0
openair1/PHY/NR_TRANSPORT/nr_transport_proto_common.h
openair1/PHY/NR_TRANSPORT/nr_transport_proto_common.h
+5
-2
openair1/SCHED_NR/fapi_nr_l1.c
openair1/SCHED_NR/fapi_nr_l1.c
+2
-1
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+0
-2
openair2/GNB_APP/RRC_nr_paramsvalues.h
openair2/GNB_APP/RRC_nr_paramsvalues.h
+1
-1
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
+118
-0
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
+6
-0
openair2/LAYER2/NR_MAC_gNB/config.c
openair2/LAYER2/NR_MAC_gNB/config.c
+8
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
+5
-5
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
+4
-4
No files found.
openair1/PHY/NR_TRANSPORT/nr_prach.c
View file @
a248c44d
...
...
@@ -34,13 +34,6 @@
#include "PHY/NR_TRANSPORT/nr_transport.h"
#include "PHY/NR_TRANSPORT/nr_transport_proto_common.h"
extern
uint16_t
NCS_unrestricted_delta_f_RA_125
[
16
];
extern
uint16_t
NCS_restricted_TypeA_delta_f_RA_125
[
15
];
extern
uint16_t
NCS_restricted_TypeB_delta_f_RA_125
[
13
];
extern
uint16_t
NCS_unrestricted_delta_f_RA_5
[
16
];
extern
uint16_t
NCS_restricted_TypeA_delta_f_RA_5
[
16
];
extern
uint16_t
NCS_restricted_TypeB_delta_f_RA_5
[
14
];
extern
uint16_t
NCS_unrestricted_delta_f_RA_15
[
16
];
extern
uint16_t
prach_root_sequence_map_0_3
[
838
];
extern
uint16_t
prach_root_sequence_map_abc
[
138
];
extern
uint16_t
nr_du
[
838
];
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_prach_common.c
View file @
a248c44d
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
View file @
a248c44d
...
...
@@ -213,6 +213,11 @@ uint32_t nr_get_code_rate_ul(uint8_t Imcs, uint8_t table_idx);
uint32_t
nr_get_code_rate_dl
(
uint8_t
Imcs
,
uint8_t
table_idx
);
void
nr_fill_prach
(
PHY_VARS_gNB
*
gNB
,
int
SFN
,
int
Slot
,
nfapi_nr_prach_pdu_t
*
prach_pdu
);
void
rx_nr_prach
(
PHY_VARS_gNB
*
gNB
,
nfapi_nr_prach_pdu_t
*
prach_pdu
,
int
frame
,
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_transport_proto_common.h
View file @
a248c44d
...
...
@@ -1648,8 +1648,6 @@ uint8_t get_num_prach_tdd(module_id_t Mod_id);
*/
uint8_t
get_prach_fmt
(
uint8_t
prach_ConfigIndex
,
lte_frame_type_t
frame_type
);
uint16_t
get_nr_prach_fmt
(
int
prach_ConfigIndex
,
lte_frame_type_t
frame_type
,
nr_frequency_range_e
fr
);
/*!
\brief Helper for MAC, returns frequency index of PRACH resource in TDD for a particular configuration index
@param frame_parms Pointer to NR_DL_FRAME_PARMS structure
...
...
@@ -1673,8 +1671,13 @@ void compute_prach_seq(uint16_t rootSequenceIndex,
lte_frame_type_t
frame_type
,
uint32_t
X_u
[
64
][
839
]);
void
compute_nr_prach_seq
(
nfapi_nr_config_request_scf_t
*
config
,
uint8_t
highSpeedFlag
,
uint32_t
**
X_u
);
void
init_prach_tables
(
int
N_ZC
);
void
init_nr_prach_tables
(
int
N_ZC
);
void
init_unscrambling_lut
(
void
);
void
init_scrambling_lut
(
void
);
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/fapi_nr_l1.c
View file @
a248c44d
...
...
@@ -212,7 +212,8 @@ void nr_schedule_response(NR_Sched_Rsp_t *Sched_INFO){
break
;
case
NFAPI_NR_UL_CONFIG_PRACH_PDU_TYPE
:
LOG_D
(
PHY
,
"frame %d, slot %d, Got NFAPI_NR_UL_CONFIG_PRACH_PDU_TYPE for %d.%d
\n
"
,
frame
,
slot
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
);
nr_fill_prach
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
UL_tti_req
->
pdus_list
[
i
].
prach_pdu
);
nfapi_nr_prach_pdu_t
*
prach_pdu
=
&
UL_tti_req
->
pdus_list
[
i
].
prach_pdu
;
nr_fill_prach
(
gNB
,
UL_tti_req
->
SFN
,
UL_tti_req
->
Slot
,
prach_pdu
);
break
;
}
}
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
a248c44d
...
...
@@ -208,8 +208,6 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
// VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX,1);
if (do_prach_rx(fp,frame,slot)) L1_nr_prach_procedures(gNB,frame,slot/fp->slots_per_subframe);
*/
void
nr_ulsch_procedures
(
PHY_VARS_gNB
*
gNB
,
int
frame_rx
,
int
slot_rx
,
int
ULSCH_id
,
uint8_t
harq_pid
)
...
...
This diff is collapsed.
Click to expand it.
openair2/GNB_APP/RRC_nr_paramsvalues.h
View file @
a248c44d
...
...
@@ -311,7 +311,7 @@
{GNB_CONFIG_STRING_RSRPTHRESHOLDSSB,NULL,0,i64ptr:scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->rsrp_ThresholdSSB,defint64val:19,TYPE_INT64,0
/*82*/
},\
{GNB_CONFIG_STRING_PRACHROOTSEQUENCEINDEXPR,NULL,0,uptr:&scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->prach_RootSequenceIndex.present,defuintval:NR_RACH_ConfigCommon__prach_RootSequenceIndex_PR_l139,TYPE_UINT,0
/*83*/
},\
{GNB_CONFIG_STRING_PRACHROOTSEQUENCEINDEX,NULL,0,i64ptr:&scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->prach_RootSequenceIndex.choice.l139,defint64val:0,TYPE_INT64,0
/*84*/
},\
{GNB_CONFIG_STRING_
MSG1SUBCARRIERSPACIN
G,NULL,0,i64ptr:&scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->restrictedSetConfig,defintval:NR_RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet,TYPE_INT64,0
/*85*/
}, \
{GNB_CONFIG_STRING_
RESTRICTEDSETCONFI
G,NULL,0,i64ptr:&scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->restrictedSetConfig,defintval:NR_RACH_ConfigCommon__restrictedSetConfig_unrestrictedSet,TYPE_INT64,0
/*85*/
}, \
{GNB_CONFIG_STRING_INITIALULBWPK2_0,NULL,0,i64ptr:scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list.array[0]->k2,defint64val:-1,TYPE_INT64,0
/*86*/
},\
{GNB_CONFIG_STRING_INITIALULBWPMAPPINGTYPE_0,NULL,0,i64ptr:&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list.array[0]->mappingType,defint64val:NR_PDSCH_TimeDomainResourceAllocation__mappingType_typeB,TYPE_INT64,
/*87*/
},\
{GNB_CONFIG_STRING_INITIALULBWPSTARTSYMBOLANDLENGTH_0,NULL,0,i64ptr:&scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList->list.array[0]->startSymbolAndLength,defint64val:55,TYPE_INT64,0
/*88*/
},\
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.c
View file @
a248c44d
...
...
@@ -863,6 +863,19 @@ int64_t table_6_3_3_2_4_prachConfig_Index [256][10] = {
};
int
get_format0
(
uint8_t
index
,
uint8_t
unpaired
){
uint16_t
format
;
if
(
unpaired
)
format
=
table_6_3_3_2_3_prachConfig_Index
[
index
][
0
];
else
format
=
table_6_3_3_2_2_prachConfig_Index
[
index
][
0
];
return
format
;
}
int
get_nr_prach_info_from_index
(
uint8_t
index
,
int
frame
,
int
slot
,
...
...
@@ -962,6 +975,111 @@ int get_nr_prach_info_from_index(uint8_t index,
}
}
//Table 6.3.3.1-3: Mapping from logical index i to sequence number u for preamble formats with L_RA = 839
uint16_t
table_63313
[
838
]
=
{
129
,
710
,
140
,
699
,
120
,
719
,
210
,
629
,
168
,
671
,
84
,
755
,
105
,
734
,
93
,
746
,
70
,
769
,
60
,
779
,
2
,
837
,
1
,
838
,
56
,
783
,
112
,
727
,
148
,
691
,
80
,
759
,
42
,
797
,
40
,
799
,
35
,
804
,
73
,
766
,
146
,
693
,
31
,
808
,
28
,
811
,
30
,
809
,
27
,
812
,
29
,
810
,
24
,
815
,
48
,
791
,
68
,
771
,
74
,
765
,
178
,
661
,
136
,
703
,
86
,
753
,
78
,
761
,
43
,
796
,
39
,
800
,
20
,
819
,
21
,
818
,
95
,
744
,
202
,
637
,
190
,
649
,
181
,
658
,
137
,
702
,
125
,
714
,
151
,
688
,
217
,
622
,
128
,
711
,
142
,
697
,
122
,
717
,
203
,
636
,
118
,
721
,
110
,
729
,
89
,
750
,
103
,
736
,
61
,
778
,
55
,
784
,
15
,
824
,
14
,
825
,
12
,
827
,
23
,
816
,
34
,
805
,
37
,
802
,
46
,
793
,
207
,
632
,
179
,
660
,
145
,
694
,
130
,
709
,
223
,
616
,
228
,
611
,
227
,
612
,
132
,
707
,
133
,
706
,
143
,
696
,
135
,
704
,
161
,
678
,
201
,
638
,
173
,
666
,
106
,
733
,
83
,
756
,
91
,
748
,
66
,
773
,
53
,
786
,
10
,
829
,
9
,
830
,
7
,
832
,
8
,
831
,
16
,
823
,
47
,
792
,
64
,
775
,
57
,
782
,
104
,
735
,
101
,
738
,
108
,
731
,
208
,
631
,
184
,
655
,
197
,
642
,
191
,
648
,
121
,
718
,
141
,
698
,
149
,
690
,
216
,
623
,
218
,
621
,
152
,
687
,
144
,
695
,
134
,
705
,
138
,
701
,
199
,
640
,
162
,
677
,
176
,
663
,
119
,
720
,
158
,
681
,
164
,
675
,
174
,
665
,
171
,
668
,
170
,
669
,
87
,
752
,
169
,
670
,
88
,
751
,
107
,
732
,
81
,
758
,
82
,
757
,
100
,
739
,
98
,
741
,
71
,
768
,
59
,
780
,
65
,
774
,
50
,
789
,
49
,
790
,
26
,
813
,
17
,
822
,
13
,
826
,
6
,
833
,
5
,
834
,
33
,
806
,
51
,
788
,
75
,
764
,
99
,
740
,
96
,
743
,
97
,
742
,
166
,
673
,
172
,
667
,
175
,
664
,
187
,
652
,
163
,
676
,
185
,
654
,
200
,
639
,
114
,
725
,
189
,
650
,
115
,
724
,
194
,
645
,
195
,
644
,
192
,
647
,
182
,
657
,
157
,
682
,
156
,
683
,
211
,
628
,
154
,
685
,
123
,
716
,
139
,
700
,
212
,
627
,
153
,
686
,
213
,
626
,
215
,
624
,
150
,
689
,
225
,
614
,
224
,
615
,
221
,
618
,
220
,
619
,
127
,
712
,
147
,
692
,
124
,
715
,
193
,
646
,
205
,
634
,
206
,
633
,
116
,
723
,
160
,
679
,
186
,
653
,
167
,
672
,
79
,
760
,
85
,
754
,
77
,
762
,
92
,
747
,
58
,
781
,
62
,
777
,
69
,
770
,
54
,
785
,
36
,
803
,
32
,
807
,
25
,
814
,
18
,
821
,
11
,
828
,
4
,
835
,
3
,
836
,
19
,
820
,
22
,
817
,
41
,
798
,
38
,
801
,
44
,
795
,
52
,
787
,
45
,
794
,
63
,
776
,
67
,
772
,
72
,
767
,
76
,
763
,
94
,
745
,
102
,
737
,
90
,
749
,
109
,
730
,
165
,
674
,
111
,
728
,
209
,
630
,
204
,
635
,
117
,
722
,
188
,
651
,
159
,
680
,
198
,
641
,
113
,
726
,
183
,
656
,
180
,
659
,
177
,
662
,
196
,
643
,
155
,
684
,
214
,
625
,
126
,
713
,
131
,
708
,
219
,
620
,
222
,
617
,
226
,
613
,
230
,
609
,
232
,
607
,
262
,
577
,
252
,
587
,
418
,
421
,
416
,
423
,
413
,
426
,
411
,
428
,
376
,
463
,
395
,
444
,
283
,
556
,
285
,
554
,
379
,
460
,
390
,
449
,
363
,
476
,
384
,
455
,
388
,
451
,
386
,
453
,
361
,
478
,
387
,
452
,
360
,
479
,
310
,
529
,
354
,
485
,
328
,
511
,
315
,
524
,
337
,
502
,
349
,
490
,
335
,
504
,
324
,
515
,
323
,
516
,
320
,
519
,
334
,
505
,
359
,
480
,
295
,
544
,
385
,
454
,
292
,
547
,
291
,
548
,
381
,
458
,
399
,
440
,
380
,
459
,
397
,
442
,
369
,
470
,
377
,
462
,
410
,
429
,
407
,
432
,
281
,
558
,
414
,
425
,
247
,
592
,
277
,
562
,
271
,
568
,
272
,
567
,
264
,
575
,
259
,
580
,
237
,
602
,
239
,
600
,
244
,
595
,
243
,
596
,
275
,
564
,
278
,
561
,
250
,
589
,
246
,
593
,
417
,
422
,
248
,
591
,
394
,
445
,
393
,
446
,
370
,
469
,
365
,
474
,
300
,
539
,
299
,
540
,
364
,
475
,
362
,
477
,
298
,
541
,
312
,
527
,
313
,
526
,
314
,
525
,
353
,
486
,
352
,
487
,
343
,
496
,
327
,
512
,
350
,
489
,
326
,
513
,
319
,
520
,
332
,
507
,
333
,
506
,
348
,
491
,
347
,
492
,
322
,
517
,
330
,
509
,
338
,
501
,
341
,
498
,
340
,
499
,
342
,
497
,
301
,
538
,
366
,
473
,
401
,
438
,
371
,
468
,
408
,
431
,
375
,
464
,
249
,
590
,
269
,
570
,
238
,
601
,
234
,
605
,
257
,
582
,
273
,
566
,
255
,
584
,
254
,
585
,
245
,
594
,
251
,
588
,
412
,
427
,
372
,
467
,
282
,
557
,
403
,
436
,
396
,
443
,
392
,
447
,
391
,
448
,
382
,
457
,
389
,
450
,
294
,
545
,
297
,
542
,
311
,
528
,
344
,
495
,
345
,
494
,
318
,
521
,
331
,
508
,
325
,
514
,
321
,
518
,
346
,
493
,
339
,
500
,
351
,
488
,
306
,
533
,
289
,
550
,
400
,
439
,
378
,
461
,
374
,
465
,
415
,
424
,
270
,
569
,
241
,
598
,
231
,
608
,
260
,
579
,
268
,
571
,
276
,
563
,
409
,
430
,
398
,
441
,
290
,
549
,
304
,
535
,
308
,
531
,
358
,
481
,
316
,
523
,
293
,
546
,
288
,
551
,
284
,
555
,
368
,
471
,
253
,
586
,
256
,
583
,
263
,
576
,
242
,
597
,
274
,
565
,
402
,
437
,
383
,
456
,
357
,
482
,
329
,
510
,
317
,
522
,
307
,
532
,
286
,
553
,
287
,
552
,
266
,
573
,
261
,
578
,
236
,
603
,
303
,
536
,
356
,
483
,
355
,
484
,
405
,
434
,
404
,
435
,
406
,
433
,
235
,
604
,
267
,
572
,
302
,
537
,
309
,
530
,
265
,
574
,
233
,
606
,
367
,
472
,
296
,
543
,
336
,
503
,
305
,
534
,
373
,
466
,
280
,
559
,
279
,
560
,
419
,
420
,
240
,
599
,
258
,
581
,
229
,
610
};
uint8_t
compute_nr_root_seq
(
NR_RACH_ConfigCommon_t
*
rach_config
,
uint8_t
nb_preambles
,
uint8_t
unpaired
)
{
uint8_t
config_index
=
rach_config
->
rach_ConfigGeneric
.
prach_ConfigurationIndex
;
uint8_t
ncs_index
=
rach_config
->
rach_ConfigGeneric
.
zeroCorrelationZoneConfig
;
uint16_t
format0
=
get_format0
(
config_index
,
unpaired
);
uint16_t
NCS
=
get_NCS
(
ncs_index
,
format0
,
rach_config
->
restrictedSetConfig
);
uint16_t
L_ra
=
(
rach_config
->
prach_RootSequenceIndex
.
present
)
?
139
:
839
;
uint16_t
r
,
u
,
index
,
q
,
d_u
,
n_shift_ra
,
n_shift_ra_bar
,
d_start
;
uint32_t
w
;
uint8_t
found_preambles
=
0
;
uint8_t
found_sequences
=
0
;
if
(
rach_config
->
restrictedSetConfig
==
0
)
{
if
(
NCS
==
0
)
return
nb_preambles
;
else
{
r
=
L_ra
/
NCS
;
return
(
nb_preambles
/
r
);
}
}
else
{
index
=
rach_config
->
prach_RootSequenceIndex
.
choice
.
l839
;
while
(
found_preambles
<
nb_preambles
)
{
u
=
table_63313
[
index
%
(
L_ra
-
1
)];
q
=
0
;
while
(((
q
*
u
)
%
L_ra
)
!=
1
)
q
++
;
if
(
q
<
420
)
d_u
=
q
;
else
d_u
=
L_ra
-
q
;
uint16_t
n_group_ra
=
0
;
if
(
rach_config
->
restrictedSetConfig
==
1
)
{
if
(
(
d_u
<
280
)
&&
(
d_u
>=
NCS
)
)
{
n_shift_ra
=
d_u
/
NCS
;
d_start
=
(
d_u
<<
1
)
+
(
n_shift_ra
*
NCS
);
n_group_ra
=
L_ra
/
d_start
;
n_shift_ra_bar
=
max
(
0
,(
L_ra
-
(
d_u
<<
1
)
-
(
n_group_ra
*
d_start
))
/
L_ra
);
}
else
if
(
(
d_u
>=
280
)
&&
(
d_u
<=
((
L_ra
-
NCS
)
>>
1
))
)
{
n_shift_ra
=
(
L_ra
-
(
d_u
<<
1
))
/
NCS
;
d_start
=
L_ra
-
(
d_u
<<
1
)
+
(
n_shift_ra
*
NCS
);
n_group_ra
=
d_u
/
d_start
;
n_shift_ra_bar
=
min
(
n_shift_ra
,
max
(
0
,(
d_u
-
(
n_group_ra
*
d_start
))
/
NCS
));
}
else
{
n_shift_ra
=
0
;
n_shift_ra_bar
=
0
;
}
w
=
n_shift_ra
*
n_group_ra
+
n_shift_ra_bar
;
found_preambles
+=
w
;
found_sequences
++
;
}
else
{
AssertFatal
(
1
==
0
,
"Procedure to find nb of sequences for restricted type B not implemented yet"
);
}
}
return
found_sequences
;
}
}
nr_bandentry_t
nr_bandtable
[]
=
{
{
1
,
1920000
,
1980000
,
2110000
,
2170000
,
20
,
422000
,
100
},
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_COMMON/nr_mac_common.h
View file @
a248c44d
...
...
@@ -53,6 +53,12 @@ int get_nr_prach_info_from_index(uint8_t index,
uint8_t
*
N_t_slot
,
uint8_t
*
N_dur
);
uint8_t
compute_nr_root_seq
(
NR_RACH_ConfigCommon_t
*
rach_config
,
uint8_t
nb_preambles
,
uint8_t
unpaired
);
int
get_format0
(
uint8_t
index
,
uint8_t
unpaired
);
uint16_t
get_NCS
(
uint8_t
index
,
uint16_t
format
,
uint8_t
restricted_set_config
);
typedef
enum
{
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/config.c
View file @
a248c44d
...
...
@@ -154,6 +154,10 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
// PRACH configuration
uint8_t
nb_preambles
=
64
;
if
(
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
totalNumberOfRA_Preambles
!=
NULL
)
nb_preambles
=
*
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
totalNumberOfRA_Preambles
;
cfg
->
prach_config
.
prach_sequence_length
.
value
=
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
prach_RootSequenceIndex
.
present
;
cfg
->
prach_config
.
prach_sequence_length
.
tl
.
tag
=
NFAPI_NR_CONFIG_PRACH_SEQUENCE_LENGTH_TAG
;
cfg
->
num_tlv
++
;
...
...
@@ -164,7 +168,6 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
cfg
->
prach_config
.
prach_sub_c_spacing
.
value
=
scc
->
downlinkConfigCommon
->
frequencyInfoDL
->
scs_SpecificCarrierList
.
list
.
array
[
0
]
->
subcarrierSpacing
;
cfg
->
prach_config
.
prach_sub_c_spacing
.
tl
.
tag
=
NFAPI_NR_CONFIG_PRACH_SUB_C_SPACING_TAG
;
cfg
->
num_tlv
++
;
cfg
->
prach_config
.
restricted_set_config
.
value
=
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
restrictedSetConfig
;
cfg
->
prach_config
.
restricted_set_config
.
tl
.
tag
=
NFAPI_NR_CONFIG_RESTRICTED_SET_CONFIG_TAG
;
cfg
->
num_tlv
++
;
...
...
@@ -203,6 +206,10 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
cfg
->
prach_config
.
num_prach_fd_occasions_list
[
i
].
prach_zero_corr_conf
.
value
=
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
->
rach_ConfigGeneric
.
zeroCorrelationZoneConfig
;
cfg
->
prach_config
.
num_prach_fd_occasions_list
[
i
].
prach_zero_corr_conf
.
tl
.
tag
=
NFAPI_NR_CONFIG_PRACH_ZERO_CORR_CONF_TAG
;
cfg
->
num_tlv
++
;
cfg
->
prach_config
.
num_prach_fd_occasions_list
[
i
].
num_root_sequences
.
value
=
compute_nr_root_seq
(
scc
->
uplinkConfigCommon
->
initialUplinkBWP
->
rach_ConfigCommon
->
choice
.
setup
,
nb_preambles
,
frame_type
);
cfg
->
prach_config
.
num_prach_fd_occasions_list
[
i
].
num_root_sequences
.
tl
.
tag
=
NFAPI_NR_CONFIG_NUM_ROOT_SEQUENCES_TAG
;
cfg
->
num_tlv
++
;
//cfg->prach_config.num_prach_fd_occasions_list[i].num_unused_root_sequences.value = ???
}
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
View file @
a248c44d
...
...
@@ -105,8 +105,8 @@ gNBs =
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
4
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#
0=oneeighth,1=onefourth,2=half,3=one,4=two,5=four,6=eight,7
=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#
1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8
=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
4
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
...
...
@@ -114,16 +114,16 @@ gNBs =
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#
0 = 839, 1
= 139
prach_RootSequenceIndex_PR
=
1
;
#
1 = 839, 2
= 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
# pusch-ConfigCommon (up to 16 elements)
initialULBWPk2_0
=
2
;
initialULBWPmappingType_0
=
1
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpx300.conf
View file @
a248c44d
...
...
@@ -105,8 +105,8 @@ gNBs =
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
4
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#
0=oneeighth,1=onefourth,2=half,3=one,4=two,5=four,6=eight,7
=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#
1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8
=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
4
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
...
...
@@ -114,8 +114,8 @@ gNBs =
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#
0 = 839, 1
= 139
prach_RootSequenceIndex_PR
=
1
;
#
1 = 839, 2
= 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment