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
wangwenhui
OpenXG-RAN
Commits
2afb6ce1
Commit
2afb6ce1
authored
Nov 29, 2018
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
WIP
parent
cceab3e8
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
44 additions
and
25 deletions
+44
-25
openair1/PHY/CODING/TESTBENCH/ldpctest.c
openair1/PHY/CODING/TESTBENCH/ldpctest.c
+7
-5
openair1/PHY/NR_TRANSPORT/nr_dci.c
openair1/PHY/NR_TRANSPORT/nr_dci.c
+3
-3
openair1/PHY/NR_TRANSPORT/nr_pbch.c
openair1/PHY/NR_TRANSPORT/nr_pbch.c
+1
-1
openair1/SIMULATION/NR_PHY/dlschsim.c
openair1/SIMULATION/NR_PHY/dlschsim.c
+3
-2
targets/COMMON/threads_t.h
targets/COMMON/threads_t.h
+1
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
.../GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
+3
-3
targets/RT/USER/nr-ru.c
targets/RT/USER/nr-ru.c
+3
-2
targets/RT/USER/nr-uesoftmodem.c
targets/RT/USER/nr-uesoftmodem.c
+16
-3
targets/RT/USER/nr-uesoftmodem.h
targets/RT/USER/nr-uesoftmodem.h
+7
-6
No files found.
openair1/PHY/CODING/TESTBENCH/ldpctest.c
View file @
2afb6ce1
...
@@ -310,19 +310,21 @@ int test_ldpc(short No_iteration,
...
@@ -310,19 +310,21 @@ int test_ldpc(short No_iteration,
}
}
stop_meas
(
&
time
);
stop_meas
(
&
time
);
/*
start_meas(time_optim);
start_meas
(
time_optim
);
ldpc_encoder_optim_8seg
(
test_input
,
channel_input_optim
,
block_length
,
BG
,
n_segments
,
&
tinput
,
&
tprep
,
&
tparity
,
&
toutput
);
ldpc_encoder_optim_8seg
(
test_input
,
channel_input_optim
,
block_length
,
BG
,
n_segments
,
&
tinput
,
&
tprep
,
&
tparity
,
&
toutput
);
for(j=0;j<n_segments;j++) {
/*
for(j=0;j<n_segments;j++) {
ldpc_encoder_optim(test_input[j],channel_input_optim[j],block_length,BG,&tinput,&tprep,&tparity,&toutput);
ldpc_encoder_optim(test_input[j],channel_input_optim[j],block_length,BG,&tinput,&tprep,&tparity,&toutput);
}
}
stop_meas(time_optim);*/
*/
stop_meas
(
time_optim
);
/*
for(j=0;j<(n_segments%8+1);j++) {
for(j=0;j<(n_segments%8+1);j++) {
start_meas(time_optim);
start_meas(time_optim);
ldpc_encoder_optim_8seg_multi(test_input,channel_input_optim,block_length, BG, n_segments,j,&tinput,&tprep,&tparity,&toutput);
ldpc_encoder_optim_8seg_multi(test_input,channel_input_optim,block_length, BG, n_segments,j,&tinput,&tprep,&tparity,&toutput);
stop_meas(time_optim);
stop_meas(time_optim);
}
}
*/
if
(
ntrials
==
1
)
if
(
ntrials
==
1
)
for
(
j
=
0
;
j
<
n_segments
;
j
++
)
for
(
j
=
0
;
j
<
n_segments
;
j
++
)
for
(
i
=
0
;
i
<
block_length
+
(
nrows
-
no_punctured_columns
)
*
Zc
-
removed_bit
;
i
++
)
for
(
i
=
0
;
i
<
block_length
+
(
nrows
-
no_punctured_columns
)
*
Zc
-
removed_bit
;
i
++
)
...
...
openair1/PHY/NR_TRANSPORT/nr_dci.c
View file @
2afb6ce1
...
@@ -215,14 +215,14 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
...
@@ -215,14 +215,14 @@ uint8_t nr_generate_dci_top(NR_gNB_PDCCH pdcch_vars,
uint16_t
Nid
=
(
pdcch_params
.
search_space_type
==
NFAPI_NR_SEARCH_SPACE_TYPE_UE_SPECIFIC
)
?
pdcch_params
.
scrambling_id
:
config
.
sch_config
.
physical_cell_id
.
value
;
uint16_t
Nid
=
(
pdcch_params
.
search_space_type
==
NFAPI_NR_SEARCH_SPACE_TYPE_UE_SPECIFIC
)
?
pdcch_params
.
scrambling_id
:
config
.
sch_config
.
physical_cell_id
.
value
;
#ifdef PDCCH_TEST_POLAR_TEMP_FIX
#ifdef PDCCH_TEST_POLAR_TEMP_FIX
t_nrPolar_paramsPtr
currentPtr
=
NULL
;
//, polarParams = NULL;
t_nrPolar_paramsPtr
currentPtr
=
NULL
;
//, polarParams = NULL;
nr_polar_init
(
&
currentPtr
,
NR_POLAR_DCI_MESSAGE_TYPE
,
dci_alloc
.
size
,
dci_alloc
.
L
);
//
nr_polar_init(¤tPtr, NR_POLAR_DCI_MESSAGE_TYPE, dci_alloc.size, dci_alloc.L);
// t_nrPolar_paramsPtr currentPtr = nr_polar_params(*nrPolar_params, NR_POLAR_DCI_MESSAGE_TYPE, dci_alloc.size, dci_alloc.L);
// t_nrPolar_paramsPtr currentPtr = nr_polar_params(*nrPolar_params, NR_POLAR_DCI_MESSAGE_TYPE, dci_alloc.size, dci_alloc.L);
#else
#else
nr_polar_init
(
nrPolar_params
,
NR_POLAR_DCI_MESSAGE_TYPE
,
dci_alloc
.
size
,
dci_alloc
.
L
);
//
nr_polar_init(nrPolar_params, NR_POLAR_DCI_MESSAGE_TYPE, dci_alloc.size, dci_alloc.L);
t_nrPolar_paramsPtr
currentPtr
=
nr_polar_params
(
*
nrPolar_params
,
NR_POLAR_DCI_MESSAGE_TYPE
,
dci_alloc
.
size
,
dci_alloc
.
L
);
t_nrPolar_paramsPtr
currentPtr
=
nr_polar_params
(
*
nrPolar_params
,
NR_POLAR_DCI_MESSAGE_TYPE
,
dci_alloc
.
size
,
dci_alloc
.
L
);
#endif
#endif
polar_encoder_dci
(
dci_alloc
.
dci_pdu
,
encoder_output
,
currentPtr
,
pdcch_params
.
rnti
);
//
polar_encoder_dci(dci_alloc.dci_pdu, encoder_output, currentPtr, pdcch_params.rnti);
#ifdef DEBUG_CHANNEL_CODING
#ifdef DEBUG_CHANNEL_CODING
printf
(
"polar rnti %d
\n
"
,
pdcch_params
.
rnti
);
printf
(
"polar rnti %d
\n
"
,
pdcch_params
.
rnti
);
...
...
openair1/PHY/NR_TRANSPORT/nr_pbch.c
View file @
2afb6ce1
...
@@ -291,7 +291,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
...
@@ -291,7 +291,7 @@ int nr_generate_pbch(NR_gNB_PBCH *pbch,
#endif
#endif
/// CRC, coding and rate matching
/// CRC, coding and rate matching
polar_encoder
(
&
pbch
->
pbch_a_prime
,
pbch
->
pbch_e
,
polar_params
);
//
polar_encoder (&pbch->pbch_a_prime, pbch->pbch_e, polar_params);
#ifdef DEBUG_PBCH_ENCODING
#ifdef DEBUG_PBCH_ENCODING
printf
(
"Channel coding:
\n
"
);
printf
(
"Channel coding:
\n
"
);
for
(
int
i
=
0
;
i
<
NR_POLAR_PBCH_E_DWORD
;
i
++
)
for
(
int
i
=
0
;
i
<
NR_POLAR_PBCH_E_DWORD
;
i
++
)
...
...
openair1/SIMULATION/NR_PHY/dlschsim.c
View file @
2afb6ce1
...
@@ -593,14 +593,15 @@ int main(int argc, char **argv) {
...
@@ -593,14 +593,15 @@ int main(int argc, char **argv) {
if
(
estimated_output_bit
[
i
]
!=
test_input_bit
[
i
])
{
if
(
estimated_output_bit
[
i
]
!=
test_input_bit
[
i
])
{
errors_bit
++
;
errors_bit
++
;
//printf("estimated bits error occurs @%d ",i);
if
(
n_trials
==
1
)
printf
(
"bit error @%d
\n
"
,
i
);
}
}
}
}
if
(
errors_bit
>
0
)
{
if
(
errors_bit
>
0
)
{
n_false_positive
++
;
n_false_positive
++
;
if
(
n_trials
==
1
)
if
(
n_trials
==
1
)
printf
(
"
\n
errors_bit %d (trial %d)
\n
"
,
errors_bit
,
trial
);
printf
(
"
total bit errors %d
\n
"
,
errors_bit
);
}
}
}
}
...
...
targets/COMMON/threads_t.h
View file @
2afb6ce1
...
@@ -2,6 +2,7 @@
...
@@ -2,6 +2,7 @@
#define _THREADS_T_H_
#define _THREADS_T_H_
typedef
struct
threads_s
{
typedef
struct
threads_s
{
int
main
;
int
iq
;
int
iq
;
int
one
;
int
one
;
int
two
;
int
two
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.usrpn300.conf
View file @
2afb6ce1
...
@@ -262,13 +262,13 @@ RUs = (
...
@@ -262,13 +262,13 @@ RUs = (
THREAD_STRUCT
= (
THREAD_STRUCT
= (
{
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_
SINGLE_THREAD
"
;
parallel_config
=
"PARALLEL_
RU_L1_TRX_SPLIT
"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_
DIS
ABLE"
;
worker_config
=
"WORKER_
EN
ABLE"
;
}
}
);
);
N
ETWORK_CONTROLLER
:
n
ETWORK_CONTROLLER
:
{
{
FLEXRAN_ENABLED
=
"no"
;
FLEXRAN_ENABLED
=
"no"
;
FLEXRAN_INTERFACE_NAME
=
"lo"
;
FLEXRAN_INTERFACE_NAME
=
"lo"
;
...
...
targets/RT/USER/nr-ru.c
View file @
2afb6ce1
...
@@ -1499,7 +1499,7 @@ static void* ru_thread( void* param ) {
...
@@ -1499,7 +1499,7 @@ static void* ru_thread( void* param ) {
int
ret
;
int
ret
;
int
subframe
=
9
;
int
subframe
=
9
;
int
frame
=
1023
;
int
frame
=
1023
;
char
filename
[
40
];
char
filename
[
40
]
,
threadname
[
40
]
;
int
print_frame
=
2
;
int
print_frame
=
2
;
int
i
=
0
;
int
i
=
0
;
...
@@ -1508,7 +1508,8 @@ static void* ru_thread( void* param ) {
...
@@ -1508,7 +1508,8 @@ static void* ru_thread( void* param ) {
// set default return value
// set default return value
thread_top_init
(
"ru_thread"
,
0
,
870000
,
1000000
,
1000000
);
sprintf
(
threadname
,
"ru_thread %d"
,
ru
->
idx
);
thread_top_init
(
threadname
,
0
,
870000
,
1000000
,
1000000
);
LOG_I
(
PHY
,
"Starting RU %d (%s,%s),
\n
"
,
ru
->
idx
,
NB_functions
[
ru
->
function
],
NB_timing
[
ru
->
if_timing
]);
LOG_I
(
PHY
,
"Starting RU %d (%s,%s),
\n
"
,
ru
->
idx
,
NB_functions
[
ru
->
function
],
NB_timing
[
ru
->
if_timing
]);
...
...
targets/RT/USER/nr-uesoftmodem.c
View file @
2afb6ce1
...
@@ -268,7 +268,7 @@ char uecap_xer[1024],uecap_xer_in=0;
...
@@ -268,7 +268,7 @@ char uecap_xer[1024],uecap_xer_in=0;
int
oaisim_flag
=
0
;
int
oaisim_flag
=
0
;
int
emulate_rf
=
0
;
int
emulate_rf
=
0
;
threads_t
threads
=
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
};
threads_t
threads
=
{
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
,
-
1
};
char
*
usrp_args
=
NULL
;
char
*
usrp_args
=
NULL
;
char
*
usrp_clksrc
=
NULL
;
char
*
usrp_clksrc
=
NULL
;
...
@@ -1030,7 +1030,20 @@ int main( int argc, char **argv ) {
...
@@ -1030,7 +1030,20 @@ int main( int argc, char **argv ) {
init_openair0
();
init_openair0
();
threads
.
main
=
16
;
threads
.
iq
=
17
;
threads
.
one
=
18
;
threads
.
two
=
19
;
threads
.
three
=
20
;
threads
.
slot1_proc_one
=
21
;
threads
.
slot1_proc_two
=
22
;
threads
.
slot1_proc_three
=
23
;
threads
.
dlsch_td_one
=
24
;
threads
.
dlsch_td_two
=
25
;
threads
.
dlsch_td_three
=
26
;
threads
.
dlsch_td1_one
=
27
;
threads
.
dlsch_td1_two
=
28
;
threads
.
dlsch_td1_three
=
29
;
#ifndef DEADLINE_SCHEDULER
#ifndef DEADLINE_SCHEDULER
...
@@ -1042,7 +1055,7 @@ int main( int argc, char **argv ) {
...
@@ -1042,7 +1055,7 @@ int main( int argc, char **argv ) {
CPU_ZERO
(
&
cpuset
);
CPU_ZERO
(
&
cpuset
);
#ifdef CPU_AFFINITY
#ifdef CPU_AFFINITY
if
(
get_nprocs
()
>
2
)
{
if
(
get_nprocs
()
>
2
)
{
CPU_SET
(
0
,
&
cpuset
);
CPU_SET
(
threads
.
main
,
&
cpuset
);
s
=
pthread_setaffinity_np
(
pthread_self
(),
sizeof
(
cpu_set_t
),
&
cpuset
);
s
=
pthread_setaffinity_np
(
pthread_self
(),
sizeof
(
cpu_set_t
),
&
cpuset
);
if
(
s
!=
0
)
{
if
(
s
!=
0
)
{
perror
(
"pthread_setaffinity_np"
);
perror
(
"pthread_setaffinity_np"
);
...
...
targets/RT/USER/nr-uesoftmodem.h
View file @
2afb6ce1
...
@@ -157,12 +157,13 @@
...
@@ -157,12 +157,13 @@
{"external-clock", CONFIG_HLP_EXCCLK, PARAMFLAG_BOOL, uptr:&clock_source, defintval:0, TYPE_INT, 0}, \
{"external-clock", CONFIG_HLP_EXCCLK, PARAMFLAG_BOOL, uptr:&clock_source, defintval:0, TYPE_INT, 0}, \
{"wait-for-sync", NULL, PARAMFLAG_BOOL, iptr:&wait_for_sync, defintval:0, TYPE_INT, 0}, \
{"wait-for-sync", NULL, PARAMFLAG_BOOL, iptr:&wait_for_sync, defintval:0, TYPE_INT, 0}, \
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, iptr:&single_thread_flag, defintval:1, TYPE_INT, 0}, \
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, iptr:&single_thread_flag, defintval:1, TYPE_INT, 0}, \
{"threadIQ", NULL, 0, iptr:&(threads.iq), defintval:1, TYPE_INT, 0}, \
{"threadmain", NULL, 0, iptr:&(threads.main), defintval:-1, TYPE_INT, 0}, \
{"threadOneSubframe", NULL, 0, iptr:&(threads.one), defintval:1, TYPE_INT, 0}, \
{"threadIQ", NULL, 0, iptr:&(threads.iq), defintval:-1, TYPE_INT, 0}, \
{"threadTwoSubframe", NULL, 0, iptr:&(threads.two), defintval:1, TYPE_INT, 0}, \
{"threadOneSubframe", NULL, 0, iptr:&(threads.one), defintval:-1, TYPE_INT, 0}, \
{"threadThreeSubframe", NULL, 0, iptr:&(threads.three), defintval:1, TYPE_INT, 0}, \
{"threadTwoSubframe", NULL, 0, iptr:&(threads.two), defintval:-1, TYPE_INT, 0}, \
{"threadSlot1ProcOne", NULL, 0, iptr:&(threads.slot1_proc_one), defintval:1, TYPE_INT, 0}, \
{"threadThreeSubframe", NULL, 0, iptr:&(threads.three), defintval:-1, TYPE_INT, 0}, \
{"threadSlot1ProcTwo", NULL, 0, iptr:&(threads.slot1_proc_two), defintval:1, TYPE_INT, 0}, \
{"threadSlot1ProcOne", NULL, 0, iptr:&(threads.slot1_proc_one), defintval:-1, TYPE_INT, 0}, \
{"threadSlot1ProcTwo", NULL, 0, iptr:&(threads.slot1_proc_two), defintval:-1, TYPE_INT, 0}, \
{"nr_dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&nr_dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \
{"nr_dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&nr_dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \
{"A" , CONFIG_HLP_TADV, 0, uptr:&timing_advance, defintval:0, TYPE_UINT, 0}, \
{"A" , CONFIG_HLP_TADV, 0, uptr:&timing_advance, defintval:0, TYPE_UINT, 0}, \
{"C" , CONFIG_HLP_DLF, 0, uptr:&(downlink_frequency[0][0]), defuintval:2680000000, TYPE_UINT, 0}, \
{"C" , CONFIG_HLP_DLF, 0, uptr:&(downlink_frequency[0][0]), defuintval:2680000000, TYPE_UINT, 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