Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
cad006f6
Commit
cad006f6
authored
Jul 05, 2018
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixed ulsim for testcases
parent
37ae3665
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
27 additions
and
25 deletions
+27
-25
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+6
-6
openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
+1
-2
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+3
-2
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
+3
-2
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+3
-3
openair1/SIMULATION/LTE_PHY/ulsim.c
openair1/SIMULATION/LTE_PHY/ulsim.c
+11
-10
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
cad006f6
...
@@ -990,12 +990,12 @@
...
@@ -990,12 +990,12 @@
<pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash
</pre_exec>
<pre_exec>
$OPENAIR_DIR/cmake_targets/autotests/tools/free_mem.bash
</pre_exec>
<pre_exec_args></pre_exec_args>
<pre_exec_args></pre_exec_args>
<main_exec>
$OPENAIR_DIR/targets/bin/ulsim.Rel14
</main_exec>
<main_exec>
$OPENAIR_DIR/targets/bin/ulsim.Rel14
</main_exec>
<main_exec_args>
-B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70
-L
<main_exec_args>
-B25 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70
-B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70
-L
-B25 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70
-B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70
-L
-B50 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70
-B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70
-L
-B50 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70
-B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70
-L
-B100 -m5 -y1 -gN -x1 -s6 -w1.0 -e.1 -P -n500 -O70
-B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70
-L
</main_exec_args>
-B100 -m16 -y1 -gN -x1 -s12 -w1.0 -e.1 -P -n500 -O70
</main_exec_args>
<tags>
ulsim.test1 ulsim.test2 ulsim.test3 ulsim.test4 ulsim.test5 ulsim.test6
</tags>
<tags>
ulsim.test1 ulsim.test2 ulsim.test3 ulsim.test4 ulsim.test5 ulsim.test6
</tags>
<search_expr_true>
"passed"
</search_expr_true>
<search_expr_true>
"passed"
</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>
...
...
openair1/PHY/CODING/3gpplte_turbo_decoder_sse_8bit.c
View file @
cad006f6
...
@@ -1337,9 +1337,8 @@ unsigned char phy_threegpplte_turbo_decoder8(short *y,
...
@@ -1337,9 +1337,8 @@ unsigned char phy_threegpplte_turbo_decoder8(short *y,
if
(
init_stats
)
stop_meas
(
init_stats
);
if
(
init_stats
)
stop_meas
(
init_stats
);
// do log_map from first parity bit
// do log_map from first parity bit
log_map8
(
systematic0
,
yparity1
,
m11
,
m10
,
alpha
,
beta
,
ext
,
n2
,
0
,
F
,
offset8_flag
,
alpha_stats
,
beta_stats
,
gamma_stats
,
ext_stats
);
log_map8
(
systematic0
,
yparity1
,
m11
,
m10
,
alpha
,
beta
,
ext
,
n2
,
0
,
F
,
offset8_flag
,
alpha_stats
,
beta_stats
,
gamma_stats
,
ext_stats
);
while
(
iteration_cnt
++
<
max_iterations
)
{
while
(
iteration_cnt
++
<
max_iterations
)
{
#ifdef DEBUG_LOGMAP
#ifdef DEBUG_LOGMAP
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
cad006f6
...
@@ -1998,12 +1998,13 @@ void fill_ulsch(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_ulsch_pdu *ulsch_pdu
...
@@ -1998,12 +1998,13 @@ void fill_ulsch(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_ulsch_pdu *ulsch_pdu
else
if
(
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS
==
7
)
else
if
(
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS
==
7
)
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS2
=
9
;
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS2
=
9
;
LOG_D
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d, Subframe %d Programming PUSCH with n_DMRS2 %d (cshift %d) ulsch:ndi:%d ulsch_pdu:ndi:%d new_ulsch:%d status:%d ulsch_pdu:rvidx:%d
\n
"
,
LOG_D
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d, Subframe %d Programming PUSCH with n_DMRS2 %d (cshift %d) ulsch:ndi:%d ulsch_pdu:ndi:%d new_ulsch:%d status:%d ulsch_pdu:rvidx:%d
ulsch_pdu->ulsch_pdu_rel8.size %d
\n
"
,
eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS2
,
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS2
,
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS
,
ulsch
->
harq_processes
[
harq_pid
]
->
n_DMRS
,
ulsch
->
harq_processes
[
harq_pid
]
->
ndi
,
ulsch_pdu
->
ulsch_pdu_rel8
.
new_data_indication
,
new_ulsch
,
ulsch
->
harq_processes
[
harq_pid
]
->
status
,
ulsch
->
harq_processes
[
harq_pid
]
->
ndi
,
ulsch_pdu
->
ulsch_pdu_rel8
.
new_data_indication
,
new_ulsch
,
ulsch
->
harq_processes
[
harq_pid
]
->
status
,
ulsch_pdu
->
ulsch_pdu_rel8
.
redundancy_version
);
ulsch_pdu
->
ulsch_pdu_rel8
.
redundancy_version
,
ulsch_pdu
->
ulsch_pdu_rel8
.
size
);
ulsch
->
harq_processes
[
harq_pid
]
->
rvidx
=
ulsch_pdu
->
ulsch_pdu_rel8
.
redundancy_version
;
ulsch
->
harq_processes
[
harq_pid
]
->
rvidx
=
ulsch_pdu
->
ulsch_pdu_rel8
.
redundancy_version
;
if
(
ulsch_pdu
->
ulsch_pdu_rel8
.
modulation_type
!=
0
)
if
(
ulsch_pdu
->
ulsch_pdu_rel8
.
modulation_type
!=
0
)
...
...
openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c
View file @
cad006f6
...
@@ -366,7 +366,7 @@ int ulsch_decoding_data_2thread0(td_params* tdp) {
...
@@ -366,7 +366,7 @@ int ulsch_decoding_data_2thread0(td_params* tdp) {
else
else
crc_type
=
CRC24_B
;
crc_type
=
CRC24_B
;
ret
=
tc
(
&
ulsch_harq
->
d
[
r
][
96
],
ret
=
tc
(
&
ulsch_harq
->
d
[
r
][
96
],
NULL
,
NULL
,
ulsch_harq
->
c
[
r
],
ulsch_harq
->
c
[
r
],
...
@@ -734,7 +734,8 @@ int ulsch_decoding_data(PHY_VARS_eNB *eNB,int UE_id,int harq_pid,int llr8_flag)
...
@@ -734,7 +734,8 @@ int ulsch_decoding_data(PHY_VARS_eNB *eNB,int UE_id,int harq_pid,int llr8_flag)
crc_type
=
CRC24_A
;
crc_type
=
CRC24_A
;
else
else
crc_type
=
CRC24_B
;
crc_type
=
CRC24_B
;
start_meas
(
&
eNB
->
ulsch_turbo_decoding_stats
);
start_meas
(
&
eNB
->
ulsch_turbo_decoding_stats
);
ret
=
tc
(
&
ulsch_harq
->
d
[
r
][
96
],
ret
=
tc
(
&
ulsch_harq
->
d
[
r
][
96
],
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
cad006f6
...
@@ -1270,7 +1270,7 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
...
@@ -1270,7 +1270,7 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
ulsch
=
eNB
->
ulsch
[
i
];
ulsch
=
eNB
->
ulsch
[
i
];
ulsch_harq
=
ulsch
->
harq_processes
[
harq_pid
];
ulsch_harq
=
ulsch
->
harq_processes
[
harq_pid
];
if
(
ulsch
->
rnti
>
0
)
LOG_
D
(
PHY
,
"eNB->ulsch[%d]->harq_processes[harq_pid:%d] SFN/SF:%04d%d: PUSCH procedures, UE %d/%x ulsch_harq[status:%d SFN/SF:%04d%d handled:%d]
\n
"
,
if
(
ulsch
->
rnti
>
0
)
LOG_
I
(
PHY
,
"eNB->ulsch[%d]->harq_processes[harq_pid:%d] SFN/SF:%04d%d: PUSCH procedures, UE %d/%x ulsch_harq[status:%d SFN/SF:%04d%d handled:%d]
\n
"
,
i
,
harq_pid
,
frame
,
subframe
,
i
,
ulsch
->
rnti
,
i
,
harq_pid
,
frame
,
subframe
,
i
,
ulsch
->
rnti
,
ulsch_harq
->
status
,
ulsch_harq
->
frame
,
ulsch_harq
->
subframe
,
ulsch_harq
->
handled
);
ulsch_harq
->
status
,
ulsch_harq
->
frame
,
ulsch_harq
->
subframe
,
ulsch_harq
->
handled
);
...
@@ -1296,8 +1296,8 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
...
@@ -1296,8 +1296,8 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
ulsch
->
cyclicShift
=
(
ulsch_harq
->
n_DMRS2
+
ulsch
->
cyclicShift
=
(
ulsch_harq
->
n_DMRS2
+
fp
->
pusch_config_common
.
ul_ReferenceSignalsPUSCH
.
cyclicShift
+
fp
->
pusch_config_common
.
ul_ReferenceSignalsPUSCH
.
cyclicShift
+
nPRS
)
%
12
;
nPRS
)
%
12
;
AssertFatal
(
ulsch_harq
->
TBS
>
0
,
"illegal TBS %d
\n
"
,
ulsch_harq
->
TBS
);
LOG_
D
(
PHY
,
LOG_
I
(
PHY
,
"[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, Qm %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, ), O_ACK %d, beta_cqi %d
\n
"
,
"[eNB %d][PUSCH %d] Frame %d Subframe %d Demodulating PUSCH: dci_alloc %d, rar_alloc %d, round %d, first_rb %d, nb_rb %d, Qm %d, TBS %d, rv %d, cyclic_shift %d (n_DMRS2 %d, cyclicShift_common %d, ), O_ACK %d, beta_cqi %d
\n
"
,
eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
ulsch_harq
->
dci_alloc
,
ulsch_harq
->
dci_alloc
,
...
...
openair1/SIMULATION/LTE_PHY/ulsim.c
View file @
cad006f6
...
@@ -126,7 +126,6 @@ fill_nfapi_ulsch_config_request(nfapi_ul_config_request_pdu_t *ul_config_pdu,
...
@@ -126,7 +126,6 @@ fill_nfapi_ulsch_config_request(nfapi_ul_config_request_pdu_t *ul_config_pdu,
{
{
memset
((
void
*
)
ul_config_pdu
,
0
,
sizeof
(
nfapi_ul_config_request_pdu_t
));
memset
((
void
*
)
ul_config_pdu
,
0
,
sizeof
(
nfapi_ul_config_request_pdu_t
));
// printf("filling ul_config_pdu: modulation type %d, rvidx %d\n",modulation_type,redundancy_version);
ul_config_pdu
->
pdu_type
=
NFAPI_UL_CONFIG_ULSCH_PDU_TYPE
;
ul_config_pdu
->
pdu_type
=
NFAPI_UL_CONFIG_ULSCH_PDU_TYPE
;
ul_config_pdu
->
pdu_size
=
(
uint8_t
)
(
2
+
sizeof
(
nfapi_ul_config_ulsch_pdu
));
ul_config_pdu
->
pdu_size
=
(
uint8_t
)
(
2
+
sizeof
(
nfapi_ul_config_ulsch_pdu
));
...
@@ -147,6 +146,8 @@ fill_nfapi_ulsch_config_request(nfapi_ul_config_request_pdu_t *ul_config_pdu,
...
@@ -147,6 +146,8 @@ fill_nfapi_ulsch_config_request(nfapi_ul_config_request_pdu_t *ul_config_pdu,
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
.
n_srs
=
n_srs
;
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
.
n_srs
=
n_srs
;
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
.
size
=
size
;
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
.
size
=
size
;
//printf("Filling ul_config_pdu : Q %d, TBS %d, rv %d, ndi %d\n", modulation_type,size,redundancy_version,new_data_indication);
if
(
cqi_req
==
1
)
{
if
(
cqi_req
==
1
)
{
// Add CQI portion
// Add CQI portion
ul_config_pdu
->
pdu_type
=
NFAPI_UL_CONFIG_ULSCH_CQI_RI_PDU_TYPE
;
ul_config_pdu
->
pdu_type
=
NFAPI_UL_CONFIG_ULSCH_CQI_RI_PDU_TYPE
;
...
@@ -183,6 +184,7 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,
...
@@ -183,6 +184,7 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,
int
mcs
,
int
mcs
,
int
modulation_type
,
int
modulation_type
,
int
ndi
,
int
ndi
,
int
TBS
,
int
cqi_flag
,
int
cqi_flag
,
uint8_t
beta_CQI
,
uint8_t
beta_CQI
,
uint8_t
beta_RI
,
uint8_t
beta_RI
,
...
@@ -191,7 +193,7 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,
...
@@ -191,7 +193,7 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,
nfapi_ul_config_request_body_t
*
ul_req
=&
sched_resp
->
UL_req
->
ul_config_request_body
;
nfapi_ul_config_request_body_t
*
ul_req
=&
sched_resp
->
UL_req
->
ul_config_request_body
;
int
harq_pid
=
((
frame
*
10
)
+
subframe
)
&
7
;
int
harq_pid
=
((
frame
*
10
)
+
subframe
)
&
7
;
//
printf("ulsch in frame %d, subframe %d => harq_pid %d, mcs %d, ndi %d\n",frame,subframe,harq_pid,mcs,ndi);
//printf("ulsch in frame %d, subframe %d => harq_pid %d, mcs %d, ndi %d\n",frame,subframe,harq_pid,mcs,ndi);
switch
(
eNB
->
frame_parms
.
N_RB_UL
)
{
switch
(
eNB
->
frame_parms
.
N_RB_UL
)
{
case
6
:
case
6
:
...
@@ -297,7 +299,7 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,
...
@@ -297,7 +299,7 @@ void fill_ulsch_dci(PHY_VARS_eNB *eNB,
0
,
// ul_tx_mode
0
,
// ul_tx_mode
0
,
// current_tx_nb
0
,
// current_tx_nb
0
,
// n_srs
0
,
// n_srs
get_TBS_UL
(
mcs
,
nb_rb
)
);
TBS
);
sched_resp
->
UL_req
->
header
.
message_id
=
NFAPI_UL_CONFIG_REQUEST
;
sched_resp
->
UL_req
->
header
.
message_id
=
NFAPI_UL_CONFIG_REQUEST
;
ul_req
->
number_of_pdus
=
1
;
ul_req
->
number_of_pdus
=
1
;
...
@@ -446,14 +448,14 @@ int main(int argc, char **argv)
...
@@ -446,14 +448,14 @@ int main(int argc, char **argv)
"cannot load configuration module, exiting
\n
"
);
"cannot load configuration module, exiting
\n
"
);
logInit
();
logInit
();
/*
// enable these lines if you need debug info
// enable these lines if you need debug info
// however itti will catch all signals, so ctrl-c won't work anymore
// however itti will catch all signals, so ctrl-c won't work anymore
// alternatively you can disable ITTI completely in CMakeLists.txt
// alternatively you can disable ITTI completely in CMakeLists.txt
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
//
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
set_comp_log(PHY,LOG_DEBUG,LOG_MED,1);
//
set_comp_log(PHY,LOG_DEBUG,LOG_MED,1);
set_glog(LOG_DEBUG,LOG_MED);
//
set_glog(LOG_DEBUG,LOG_MED);
*/
while
((
c
=
getopt
(
argc
,
argv
,
"hapZEbm:n:Y:X:x:s:w:e:q:d:D:O:c:r:i:f:y:c:oA:C:R:g:N:l:S:T:QB:PI:LF"
))
!=
-
1
)
{
while
((
c
=
getopt
(
argc
,
argv
,
"hapZEbm:n:Y:X:x:s:w:e:q:d:D:O:c:r:i:f:y:c:oA:C:R:g:N:l:S:T:QB:PI:LF"
))
!=
-
1
)
{
switch
(
c
)
{
switch
(
c
)
{
...
@@ -1142,7 +1144,7 @@ int main(int argc, char **argv)
...
@@ -1142,7 +1144,7 @@ int main(int argc, char **argv)
else
if
(
mcs
<
21
)
modulation_type
=
4
;
else
if
(
mcs
<
21
)
modulation_type
=
4
;
else
if
(
mcs
<
29
)
modulation_type
=
6
;
else
if
(
mcs
<
29
)
modulation_type
=
6
;
fill_ulsch_dci
(
eNB
,
proc_rxtx
->
frame_rx
,
subframe
,
&
sched_resp
,
14
,(
void
*
)
&
UL_alloc_pdu
,
first_rb
,
nb_rb
,(
round
==
0
)
?
mcs
:
(
28
+
rvidx
[
round
]),
modulation_type
,
ndi
,
cqi_flag
,
beta_CQI
,
beta_RI
,
cqi_size
);
fill_ulsch_dci
(
eNB
,
proc_rxtx
->
frame_rx
,
subframe
,
&
sched_resp
,
14
,(
void
*
)
&
UL_alloc_pdu
,
first_rb
,
nb_rb
,(
round
==
0
)
?
mcs
:
(
28
+
rvidx
[
round
]),
modulation_type
,
ndi
,
get_TBS_UL
(
mcs
,
nb_rb
),
cqi_flag
,
beta_CQI
,
beta_RI
,
cqi_size
);
UE
->
ulsch_Msg3_active
[
eNB_id
]
=
0
;
UE
->
ulsch_Msg3_active
[
eNB_id
]
=
0
;
UE
->
ul_power_control_dedicated
[
eNB_id
].
accumulationEnabled
=
1
;
UE
->
ul_power_control_dedicated
[
eNB_id
].
accumulationEnabled
=
1
;
...
@@ -1324,7 +1326,6 @@ int main(int argc, char **argv)
...
@@ -1324,7 +1326,6 @@ int main(int argc, char **argv)
ru
->
feprx
(
ru
);
ru
->
feprx
(
ru
);
phy_procedures_eNB_uespec_RX
(
eNB
,
proc_rxtx
);
phy_procedures_eNB_uespec_RX
(
eNB
,
proc_rxtx
);
if
(
cqi_flag
>
0
)
{
if
(
cqi_flag
>
0
)
{
cqi_error
=
0
;
cqi_error
=
0
;
...
...
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