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
6610ce11
Commit
6610ce11
authored
Mar 09, 2021
by
Sakthivel Velumani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Updated phy_simulators to use new chest
Added a CI test case for dlsim to test 256 QAM
parent
43042395
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
36 additions
and
36 deletions
+36
-36
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+23
-19
openair1/SIMULATION/NR_PHY/dlsim.c
openair1/SIMULATION/NR_PHY/dlsim.c
+6
-8
openair1/SIMULATION/NR_PHY/ulsim.c
openair1/SIMULATION/NR_PHY/ulsim.c
+7
-9
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
6610ce11
...
...
@@ -1100,7 +1100,9 @@
(Test15: 6 PTRS, 5 Interpolated Symbols),
(Test16: 11 PTRS, 0 Interpolated Symbols),
(Test17: 2 DMRS Symbols),
(Test18: 3 DMRS Symbols)
</desc>
(Test18: 3 DMRS Symbols),
(Test19: 106 PDSCH-PRBs MCS 28),
(Test20: 256 QAM MCS 27)
</desc>
<pre_compile_prog></pre_compile_prog>
<compile_prog>
$OPENAIR_DIR/cmake_targets/build_oai
</compile_prog>
<compile_prog_args>
--phy_simulators -c
</compile_prog_args>
...
...
@@ -1108,24 +1110,26 @@
<pre_exec_args></pre_exec_args>
<main_exec>
$OPENAIR_DIR/targets/bin/nr_dlsim.Rel15
</main_exec>
<main_exec_args>
-n100 -R106 -b106 -s5
-n100 -R217 -b217 -s5
-n100 -R273 -b273 -s5
-n100 -R106 -a25 -s5
-n100 -R106 -a51 -s5
-n100 -R217 -b100 -s5
-n100 -R217 -a80 -s5
-n100 -R217 -a110 -s5 -b100
-n100 -e27 -s30
-n100 -e16 -s10
-n100 -s1 -t25
-n100 -s1 -t33
-n100 -s1 -t50
-n100 -s5 -T 2 2 2
-n100 -s5 -T 2 1 2
-n100 -s5 -T 2 0 4
-n100 -s2 -U 2 0 1
-n100 -s2 -U 2 0 2
</main_exec_args>
<tags>
nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12 nr_dlsim.test13 nr_dlsim.test14 nr_dlsim.test15 nr_dlsim.test16 nr_dlsim.test17 nr_dlsim.test18
</tags>
-n100 -R217 -b217 -s5
-n100 -R273 -b273 -s5
-n100 -R106 -a25 -s5
-n100 -R106 -a51 -s5
-n100 -R217 -b100 -s5
-n100 -R217 -a80 -s5
-n100 -R217 -a110 -s5 -b100
-n100 -e27 -s30
-n100 -e16 -s10
-n100 -s1 -t25
-n100 -s1 -t33
-n100 -s1 -t50
-n100 -s5 -T 2 2 2
-n100 -s5 -T 2 1 2
-n100 -s5 -T 2 0 4
-n100 -s2 -U 2 0 1
-n100 -s2 -U 2 0 2
-n100 -s25 -e28 -t75
-n100 -s35 -q -e27 -t75
</main_exec_args>
<tags>
nr_dlsim.test1 nr_dlsim.test2 nr_dlsim.test3 nr_dlsim.test4 nr_dlsim.test5 nr_dlsim.test6 nr_dlsim.test7 nr_dlsim.test8 nr_dlsim.test9 nr_dlsim.test10 nr_dlsim.test11 nr_dlsim.test12 nr_dlsim.test13 nr_dlsim.test14 nr_dlsim.test15 nr_dlsim.test16 nr_dlsim.test17 nr_dlsim.test18 nr_dlsim.test19 nr_dlsim.test20
</tags>
<search_expr_true>
PDSCH test OK
</search_expr_true>
<search_expr_false>
segmentation fault|assertion|exiting|fatal
</search_expr_false>
<nruns>
3
</nruns>
...
...
openair1/SIMULATION/NR_PHY/dlsim.c
View file @
6610ce11
...
...
@@ -323,6 +323,7 @@ int main(int argc, char **argv)
uint16_t
rbSize
=
106
;
uint8_t
mcsIndex
=
9
;
uint8_t
dlsch_threads
=
0
;
int
fd_inter
=
0
;
if
(
load_configmodule
(
argc
,
argv
,
CONFIG_ENABLECMDLINEONLY
)
==
0
)
{
exit_fun
(
"[NR_DLSIM] Error, configuration module init failed
\n
"
);
}
...
...
@@ -333,7 +334,7 @@ int main(int argc, char **argv)
FILE
*
scg_fd
=
NULL
;
while
((
c
=
getopt
(
argc
,
argv
,
"f:hA:pf:g:
i:j:n:s:S:t:x:y:z:M:N:F:GR:dPIL:Ea:b:d:e:m:w:T:U:q
"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"f:hA:pf:g:
j:n:s:S:t:x:y:z:M:N:F:GR:dPIL:Ea:b:d:e:m:w:T:U:qi
"
))
!=
-
1
)
{
switch
(
c
)
{
case
'f'
:
scg_fd
=
fopen
(
optarg
,
"r"
);
...
...
@@ -385,14 +386,10 @@ int main(int argc, char **argv)
break
;
/*
case 'i':
interf1=atoi(optarg)
;
case
'i'
:
fd_inter
=
1
;
break
;
case 'j':
interf2=atoi(optarg);
break;*/
case
'n'
:
n_trials
=
atoi
(
optarg
);
break
;
...
...
@@ -552,7 +549,7 @@ int main(int argc, char **argv)
printf
(
"-g [A,B,C,D,E,F,G] Use 3GPP SCM (A,B,C,D) or 36-101 (E-EPA,F-EVA,G-ETU) models (ignores delay spread and Ricean factor)
\n
"
);
printf
(
"-y Number of TX antennas used in gNB
\n
"
);
printf
(
"-z Number of RX antennas used in UE
\n
"
);
//printf("-i Relative strength of first intefering gNB (in dB) - cell_id mod 3 = 1
\n");
printf
(
"-i Activate freq domain interpolation for channel estimation. Average over 1 PRB by default.
\n
"
);
//printf("-j Relative strength of second intefering gNB (in dB) - cell_id mod 3 = 2\n");
printf
(
"-R N_RB_DL
\n
"
);
printf
(
"-O oversampling factor (1,2,4,8,16)
\n
"
);
...
...
@@ -817,6 +814,7 @@ int main(int argc, char **argv)
UE
->
if_inst
->
phy_config_request
=
nr_ue_phy_config_request
;
UE
->
if_inst
->
dl_indication
=
nr_ue_dl_indication
;
UE
->
if_inst
->
ul_indication
=
dummy_nr_ue_ul_indication
;
UE
->
fd_lin_interpolation
=
fd_inter
;
UE_mac
->
if_module
=
nr_ue_if_module_init
(
0
);
...
...
openair1/SIMULATION/NR_PHY/ulsim.c
View file @
6610ce11
...
...
@@ -235,6 +235,7 @@ int main(int argc, char **argv)
float
effRate
;
//float eff_tp_check = 0.7;
uint8_t
snrRun
;
int
fd_inter
=
0
;
int
enable_ptrs
=
0
;
int
modify_dmrs
=
0
;
...
...
@@ -270,7 +271,7 @@ int main(int argc, char **argv)
/* initialize the sin-cos table */
InitSinLUT
();
while
((
c
=
getopt
(
argc
,
argv
,
"a:b:c:d:ef:g:h:
i:j:kl:m:n:p:r:s:y:z:F:G:H:M:N:PR:S:T:U:L:Z
"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"a:b:c:d:ef:g:h:
j:kl:m:n:p:r:s:y:z:F:G:H:M:N:PR:S:T:U:L:Zi
"
))
!=
-
1
)
{
printf
(
"handling optarg %c
\n
"
,
c
);
switch
(
c
)
{
...
...
@@ -362,14 +363,10 @@ int main(int argc, char **argv)
break
;
/*
case 'i':
interf1 = atoi(optarg)
;
break;
case
'i'
:
fd_inter
=
1
;
break
;
case 'j':
interf2 = atoi(optarg);
break;*/
case
'k'
:
printf
(
"Setting threequarter_fs_flag
\n
"
);
openair0_cfg
[
0
].
threequarter_fs
=
1
;
...
...
@@ -521,7 +518,7 @@ int main(int argc, char **argv)
printf
(
"-f Number of frames to simulate
\n
"
);
printf
(
"-g [A,B,C,D,E,F,G] Use 3GPP SCM (A,B,C,D) or 36-101 (E-EPA,F-EVA,G-ETU) models (ignores delay spread and Ricean factor)
\n
"
);
printf
(
"-h This message
\n
"
);
//printf("-i Relative strength of first intefering eNB (in dB) - cell_id mod 3 = 1
\n");
printf
(
"-i Activate freq domain interpolation for channel estimation. Average over 1 PRB by default.
\n
"
);
//printf("-j Relative strength of second intefering eNB (in dB) - cell_id mod 3 = 2\n");
printf
(
"-s Starting SNR, runs from SNR0 to SNR0 + 10 dB if ending SNR isn't given
\n
"
);
printf
(
"-m MCS value
\n
"
);
...
...
@@ -604,6 +601,7 @@ int main(int argc, char **argv)
gNB
->
UL_INFO
.
crc_ind
.
crc_list
=
(
nfapi_nr_crc_t
*
)
malloc
(
NB_UE_INST
*
sizeof
(
nfapi_nr_crc_t
));
gNB
->
UL_INFO
.
rx_ind
.
number_of_pdus
=
0
;
gNB
->
UL_INFO
.
crc_ind
.
number_crcs
=
0
;
gNB
->
fd_interpolation
=
fd_inter
;
frame_parms
=
&
gNB
->
frame_parms
;
//to be initialized I suppose (maybe not necessary for PBCH)
...
...
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