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
wangjie
OpenXG-RAN
Commits
d5f8a616
Commit
d5f8a616
authored
Mar 31, 2021
by
hardy
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NRPRACH_highSpeed_saankhya' into integration_2021_wk13_d
parents
4896e80e
7a65deca
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
15 additions
and
6 deletions
+15
-6
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+5
-3
openair1/PHY/NR_TRANSPORT/nr_prach.c
openair1/PHY/NR_TRANSPORT/nr_prach.c
+2
-2
openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
+2
-0
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
+1
-0
openair1/SIMULATION/NR_PHY/prachsim.c
openair1/SIMULATION/NR_PHY/prachsim.c
+5
-1
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
d5f8a616
...
@@ -1330,7 +1330,8 @@
...
@@ -1330,7 +1330,8 @@
(Test3: 30kHz SCS, 273 PRBs, Prach format A2),
(Test3: 30kHz SCS, 273 PRBs, Prach format A2),
(Test4: 30kHz SCS, 106 PRBs, Prach format 0),
(Test4: 30kHz SCS, 106 PRBs, Prach format 0),
(Test5: 120kHz SCS, 32 PRBs, Prach format A2),
(Test5: 120kHz SCS, 32 PRBs, Prach format A2),
(Test6: 120kHz SCS, 66 PRBs, Prach format A2)
</desc>
(Test6: 120kHz SCS, 66 PRBs, Prach format A2),
(Test7: 120kHz SCS, 66 PRBs, High Speed Enabled)
</desc>
<pre_compile_prog></pre_compile_prog>
<pre_compile_prog></pre_compile_prog>
<compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai
</compile_prog>
<compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai
</compile_prog>
<compile_prog_args>
--phy_simulators -c
</compile_prog_args>
<compile_prog_args>
--phy_simulators -c
</compile_prog_args>
...
@@ -1342,8 +1343,9 @@
...
@@ -1342,8 +1343,9 @@
-a -s -30 -n 100 -p 63 -R 273
-a -s -30 -n 100 -p 63 -R 273
-a -s -30 -n 100 -p 63 -R 106 -c 4
-a -s -30 -n 100 -p 63 -R 106 -c 4
-a -s -30 -n 100 -p 32 -R 32 -m 3 -c52
-a -s -30 -n 100 -p 32 -R 32 -m 3 -c52
-a -s -30 -n 100 -p 32 -R 66 -m 3 -c52
</main_exec_args>
-a -s -30 -n 100 -p 32 -R 66 -m 3 -c52
<tags>
nr_prachsim.test1 nr_prachsim.test2 nr_prachsim.test3 nr_prachsim.test4 nr_prachsim.test5 nr_prachsim.test6
</tags>
-a -s -30 -n 100 -R 66 -m 3 -c52 -H
</main_exec_args>
<tags>
nr_prachsim.test1 nr_prachsim.test2 nr_prachsim.test3 nr_prachsim.test4 nr_prachsim.test5 nr_prachsim.test6 nr_prachsim.test7
</tags>
<search_expr_true>
PRACH test OK
</search_expr_true>
<search_expr_true>
PRACH test OK
</search_expr_true>
<search_expr_false>
segmentation fault|assertion|exiting|fatal
</search_expr_false>
<search_expr_false>
segmentation fault|assertion|exiting|fatal
</search_expr_false>
<nruns>
3
</nruns>
<nruns>
3
</nruns>
...
...
openair1/PHY/NR_TRANSPORT/nr_prach.c
View file @
d5f8a616
...
@@ -780,7 +780,7 @@ void rx_nr_prach(PHY_VARS_gNB *gNB,
...
@@ -780,7 +780,7 @@ void rx_nr_prach(PHY_VARS_gNB *gNB,
}
}
}
else
{
// This is the high-speed case
}
else
{
// This is the high-speed case
new_dft
=
0
;
new_dft
=
0
;
nr_fill_du
(
N_ZC
,
prach_root_sequence_map
);
// set preamble_offset to initial rootSequenceIndex and look if we need more root sequences for this
// set preamble_offset to initial rootSequenceIndex and look if we need more root sequences for this
// preamble index and find the corresponding cyclic shift
// preamble index and find the corresponding cyclic shift
// Check if all shifts for that root have been processed
// Check if all shifts for that root have been processed
...
@@ -788,7 +788,7 @@ void rx_nr_prach(PHY_VARS_gNB *gNB,
...
@@ -788,7 +788,7 @@ void rx_nr_prach(PHY_VARS_gNB *gNB,
not_found
=
1
;
not_found
=
1
;
new_dft
=
1
;
new_dft
=
1
;
preamble_index0
-=
numshift
;
preamble_index0
-=
numshift
;
(
preamble_offset
==
0
&&
numshift
==
0
)
?
(
preamble_offset
)
:
(
preamble_offset
++
);
//
(preamble_offset==0 && numshift==0) ? (preamble_offset) : (preamble_offset++);
while
(
not_found
==
1
)
{
while
(
not_found
==
1
)
{
// current root depending on rootSequenceIndex
// current root depending on rootSequenceIndex
...
...
openair1/PHY/NR_TRANSPORT/nr_transport_common_proto.h
View file @
d5f8a616
...
@@ -73,6 +73,8 @@ void compute_nr_prach_seq(uint8_t short_sequence,
...
@@ -73,6 +73,8 @@ void compute_nr_prach_seq(uint8_t short_sequence,
uint8_t
rootSequenceIndex
,
uint8_t
rootSequenceIndex
,
uint32_t
X_u
[
64
][
839
]);
uint32_t
X_u
[
64
][
839
]);
void
nr_fill_du
(
uint16_t
N_ZC
,
uint16_t
*
prach_root_sequence_map
);
void
init_nr_prach_tables
(
int
N_ZC
);
void
init_nr_prach_tables
(
int
N_ZC
);
/**@}*/
/**@}*/
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_prach.c
View file @
d5f8a616
...
@@ -130,6 +130,7 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint8_t slot){
...
@@ -130,6 +130,7 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint8_t slot){
#endif
#endif
not_found
=
1
;
not_found
=
1
;
nr_fill_du
(
N_ZC
,
prach_root_sequence_map
);
preamble_index0
=
preamble_index
;
preamble_index0
=
preamble_index
;
// set preamble_offset to initial rootSequenceIndex and look if we need more root sequences for this
// set preamble_offset to initial rootSequenceIndex and look if we need more root sequences for this
// preamble index and find the corresponding cyclic shift
// preamble index and find the corresponding cyclic shift
...
...
openair1/SIMULATION/NR_PHY/prachsim.c
View file @
d5f8a616
...
@@ -205,7 +205,7 @@ int main(int argc, char **argv){
...
@@ -205,7 +205,7 @@ int main(int argc, char **argv){
randominit
(
0
);
randominit
(
0
);
while
((
c
=
getopt
(
argc
,
argv
,
"hHaA:Cc:r:p:g:m:n:s:S:t:x:y:v:V:z:N:F:d:Z:L:R:E"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"hHaA:Cc:
l:
r:p:g:m:n:s:S:t:x:y:v:V:z:N:F:d:Z:L:R:E"
))
!=
-
1
)
{
switch
(
c
)
{
switch
(
c
)
{
case
'a'
:
case
'a'
:
printf
(
"Running AWGN simulation
\n
"
);
printf
(
"Running AWGN simulation
\n
"
);
...
@@ -218,6 +218,10 @@ int main(int argc, char **argv){
...
@@ -218,6 +218,10 @@ int main(int argc, char **argv){
config_index
=
atoi
(
optarg
);
config_index
=
atoi
(
optarg
);
break
;
break
;
case
'l'
:
loglvl
=
atoi
(
optarg
);
break
;
case
'r'
:
case
'r'
:
msg1_frequencystart
=
atoi
(
optarg
);
msg1_frequencystart
=
atoi
(
optarg
);
break
;
break
;
...
...
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