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
136ca508
Commit
136ca508
authored
Sep 06, 2018
by
hongzhi wang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
nr ue clean warnings
parent
2714854e
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
157 additions
and
183 deletions
+157
-183
openair1/PHY/INIT/nr_init_ue.c
openair1/PHY/INIT/nr_init_ue.c
+4
-1
openair1/PHY/INIT/phy_init.h
openair1/PHY/INIT/phy_init.h
+2
-0
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
+8
-22
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
+4
-4
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
+7
-7
targets/RT/USER/nr-ue.c
targets/RT/USER/nr-ue.c
+7
-1
targets/RT/USER/nr-uesoftmodem.c
targets/RT/USER/nr-uesoftmodem.c
+125
-148
No files found.
openair1/PHY/INIT/nr_init_ue.c
View file @
136ca508
...
@@ -34,6 +34,9 @@
...
@@ -34,6 +34,9 @@
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "PHY/CODING/nrPolar_tools/nr_polar_pbch_defs.h"
#include "PHY/CODING/nrPolar_tools/nr_polar_pbch_defs.h"
#include "PHY/INIT/phy_init.h"
#include "PHY/NR_REFSIG/pss_nr.h"
#include "openair1/PHY/NR_REFSIG/ul_ref_seq_nr.h"
//uint8_t dmrs1_tab_ue[8] = {0,2,3,4,6,8,9,10};
//uint8_t dmrs1_tab_ue[8] = {0,2,3,4,6,8,9,10};
...
@@ -658,8 +661,8 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
...
@@ -658,8 +661,8 @@ int init_nr_ue_signal(PHY_VARS_NR_UE *ue,
printf
(
"Initializing UE vars (abstraction %"
PRIu8
") for eNB TXant %"
PRIu8
", UE RXant %"
PRIu8
"
\n
"
,
abstraction_flag
,
fp
->
nb_antennas_tx
,
fp
->
nb_antennas_rx
);
printf
(
"Initializing UE vars (abstraction %"
PRIu8
") for eNB TXant %"
PRIu8
", UE RXant %"
PRIu8
"
\n
"
,
abstraction_flag
,
fp
->
nb_antennas_tx
,
fp
->
nb_antennas_rx
);
//LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_UE][MOD %02u][]\n", ue->Mod_id+NB_eNB_INST);
//LOG_D(PHY,"[MSC_NEW][FRAME 00000][PHY_UE][MOD %02u][]\n", ue->Mod_id+NB_eNB_INST);
nr_init_frame_parms_ue
(
&
ue
->
frame_parms
);
phy_init_nr_top
(
ue
);
phy_init_nr_top
(
ue
);
//nr_init_frame_parms_ue(&ue->frame_parms);
// many memory allocation sizes are hard coded
// many memory allocation sizes are hard coded
AssertFatal
(
fp
->
nb_antennas_rx
<=
2
,
"hard coded allocation for ue_common_vars->dl_ch_estimates[eNB_id]"
);
AssertFatal
(
fp
->
nb_antennas_rx
<=
2
,
"hard coded allocation for ue_common_vars->dl_ch_estimates[eNB_id]"
);
...
...
openair1/PHY/INIT/phy_init.h
View file @
136ca508
...
@@ -56,6 +56,8 @@ int l1_north_init_eNB(void);
...
@@ -56,6 +56,8 @@ int l1_north_init_eNB(void);
*/
*/
int
phy_init_top
(
LTE_DL_FRAME_PARMS
*
frame_parms
);
int
phy_init_top
(
LTE_DL_FRAME_PARMS
*
frame_parms
);
void
phy_init_nr_top
(
PHY_VARS_NR_UE
*
ue
);
/*!
/*!
\brief Allocate and Initialize the PHY variables relevant to the LTE ue signal buffers.
\brief Allocate and Initialize the PHY variables relevant to the LTE ue signal buffers.
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_initial_sync.c
View file @
136ca508
...
@@ -32,11 +32,11 @@
...
@@ -32,11 +32,11 @@
#include "PHY/types.h"
#include "PHY/types.h"
#include "PHY/defs_nr_UE.h"
#include "PHY/defs_nr_UE.h"
#include "PHY/phy_extern_nr_ue.h"
#include "PHY/phy_extern_nr_ue.h"
#include "PHY/INIT/phy_init.h"
#include "PHY/MODULATION/modulation_UE.h"
#include "nr_transport_proto_ue.h"
//#include "SCHED/defs.h"
//#include "SCHED/defs.h"
//#include "SCHED/extern.h"
//#include "SCHED/extern.h"
//#include "defs.h"
//#include "extern.h"
#include "common_lib.h"
#include "common_lib.h"
...
@@ -45,20 +45,16 @@
...
@@ -45,20 +45,16 @@
#include "PHY/NR_REFSIG/refsig_defs_ue.h"
#include "PHY/NR_REFSIG/refsig_defs_ue.h"
extern
openair0_config_t
openair0_cfg
[];
extern
openair0_config_t
openair0_cfg
[];
static
nfapi_nr_config_request_t
config_t
;
//
static nfapi_nr_config_request_t config_t;
static
nfapi_nr_config_request_t
*
config
=&
config_t
;
//
static nfapi_nr_config_request_t* config =&config_t;
int
cnt
=
0
;
int
cnt
=
0
;
/* forward declarations */
void
set_default_frame_parms_single
(
nfapi_nr_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
//#define DEBUG_INITIAL_SYNCH
//#define DEBUG_INITIAL_SYNCH
int
nr_pbch_detection
(
PHY_VARS_NR_UE
*
ue
,
runmode_t
mode
)
int
nr_pbch_detection
(
PHY_VARS_NR_UE
*
ue
,
runmode_t
mode
)
{
{
printf
(
"nr pbch detec RB_DL %d
\n
"
,
ue
->
frame_parms
.
N_RB_DL
);
printf
(
"nr pbch detec RB_DL %d
\n
"
,
ue
->
frame_parms
.
N_RB_DL
);
uint8_t
l
,
pbch_decoded
,
frame_mod4
,
pbch_tx_ant
,
dummy
;
NR_DL_FRAME_PARMS
*
frame_parms
=&
ue
->
frame_parms
;
NR_DL_FRAME_PARMS
*
frame_parms
=&
ue
->
frame_parms
;
char
phich_resource
[
6
];
int
ret
=-
1
;
int
ret
=-
1
;
#ifdef DEBUG_INITIAL_SYNCH
#ifdef DEBUG_INITIAL_SYNCH
...
@@ -98,23 +94,15 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -98,23 +94,15 @@ int nr_pbch_detection(PHY_VARS_NR_UE *ue, runmode_t mode)
frame_parms
->
nb_prefix_samples0
=
nb_prefix_samples0
;
frame_parms
->
nb_prefix_samples0
=
nb_prefix_samples0
;
pbch_decoded
=
0
;
printf
(
"pbch_detection nid_cell %d
\n
"
,
frame_parms
->
Nid_cell
);
printf
(
"pbch_detection nid_cell %d
\n
"
,
frame_parms
->
Nid_cell
);
//for (frame_mod4=0; frame_mod4<4; frame_mod4++) {
ret
=
nr_rx_pbch
(
ue
,
ret
=
nr_rx_pbch
(
ue
,
&
ue
->
proc
.
proc_rxtx
[
0
],
&
ue
->
proc
.
proc_rxtx
[
0
],
ue
->
pbch_vars
[
0
],
ue
->
pbch_vars
[
0
],
frame_parms
,
frame_parms
,
0
,
0
,
SISO
,
SISO
,
ue
->
high_speed_flag
,
ue
->
high_speed_flag
);
frame_mod4
);
pbch_decoded
=
0
;
//to be updated
// break;
//}
if
(
ret
==
0
)
{
if
(
ret
==
0
)
{
...
@@ -176,7 +164,6 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -176,7 +164,6 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
// First try FDD normal prefix
// First try FDD normal prefix
frame_parms
->
Ncp
=
NORMAL
;
frame_parms
->
Ncp
=
NORMAL
;
frame_parms
->
frame_type
=
TDD
;
frame_parms
->
frame_type
=
TDD
;
set_default_frame_parms_single
(
config
,
frame_parms
);
nr_init_frame_parms_ue
(
frame_parms
);
nr_init_frame_parms_ue
(
frame_parms
);
printf
(
"nr_initial sync ue RB_DL %d
\n
"
,
ue
->
frame_parms
.
N_RB_DL
);
printf
(
"nr_initial sync ue RB_DL %d
\n
"
,
ue
->
frame_parms
.
N_RB_DL
);
/*
/*
...
@@ -233,8 +220,7 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
...
@@ -233,8 +220,7 @@ int nr_initial_sync(PHY_VARS_NR_UE *ue, runmode_t mode)
rx_sss_nr
(
ue
,
&
metric_fdd_ncp
,
&
phase_fdd_ncp
);
rx_sss_nr
(
ue
,
&
metric_fdd_ncp
,
&
phase_fdd_ncp
);
//set_default_frame_parms_single(config,&ue->frame_parms);
nr_init_frame_parms_ue
(
&
ue
->
frame_parms
);
nr_init_frame_parms_ue
(
config
,
&
ue
->
frame_parms
);
nr_gold_pbch
(
ue
);
nr_gold_pbch
(
ue
);
ret
=
nr_pbch_detection
(
ue
,
mode
);
ret
=
nr_pbch_detection
(
ue
,
mode
);
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
View file @
136ca508
...
@@ -34,6 +34,7 @@
...
@@ -34,6 +34,7 @@
#include "PHY/phy_extern_nr_ue.h"
#include "PHY/phy_extern_nr_ue.h"
#include "PHY/sse_intrin.h"
#include "PHY/sse_intrin.h"
#include "SIMULATION/TOOLS/sim.h"
#include "SIMULATION/TOOLS/sim.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
//#define DEBUG_PBCH 1
//#define DEBUG_PBCH 1
//#define DEBUG_PBCH_ENCODING
//#define DEBUG_PBCH_ENCODING
...
@@ -508,8 +509,7 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
...
@@ -508,8 +509,7 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
NR_DL_FRAME_PARMS
*
frame_parms
,
NR_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
eNB_id
,
uint8_t
eNB_id
,
MIMO_mode_t
mimo_mode
,
MIMO_mode_t
mimo_mode
,
uint32_t
high_speed_flag
,
uint32_t
high_speed_flag
)
uint8_t
frame_mod4
)
{
{
NR_UE_COMMON
*
nr_ue_common_vars
=
&
ue
->
common_vars
;
NR_UE_COMMON
*
nr_ue_common_vars
=
&
ue
->
common_vars
;
...
@@ -535,13 +535,13 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
...
@@ -535,13 +535,13 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
unsigned
short
idx_demod
=
0
;
unsigned
short
idx_demod
=
0
;
int8_t
decoderState
=
0
;
int8_t
decoderState
=
0
;
uint8_t
decoderListSize
=
8
,
pathMetricAppr
=
0
;
uint8_t
decoderListSize
=
8
,
pathMetricAppr
=
0
;
double
aPrioriArray
[
frame_parms
->
pbch_polar_params
.
payloadBits
];
// assume no a priori knowledge available about the payload.
//
double aPrioriArray[frame_parms->pbch_polar_params.payloadBits]; // assume no a priori knowledge available about the payload.
memset
(
&
pbch_a
[
0
],
0
,
sizeof
(
uint8_t
)
*
NR_POLAR_PBCH_PAYLOAD_BITS
);
memset
(
&
pbch_a
[
0
],
0
,
sizeof
(
uint8_t
)
*
NR_POLAR_PBCH_PAYLOAD_BITS
);
//printf("nr_pbch_ue nid_cell %d\n",frame_parms->Nid_cell);
//printf("nr_pbch_ue nid_cell %d\n",frame_parms->Nid_cell);
for
(
int
i
=
0
;
i
<
frame_parms
->
pbch_polar_params
.
payloadBits
;
i
++
)
aPrioriArray
[
i
]
=
NAN
;
//
for (int i=0; i<frame_parms->pbch_polar_params.payloadBits; i++) aPrioriArray[i] = NAN;
int
subframe_rx
=
proc
->
subframe_rx
;
int
subframe_rx
=
proc
->
subframe_rx
;
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_transport_proto_ue.h
View file @
136ca508
...
@@ -1072,13 +1072,13 @@ int rx_sss(PHY_VARS_NR_UE *phy_vars_ue,int32_t *tot_metric,uint8_t *flip_max,uin
...
@@ -1072,13 +1072,13 @@ int rx_sss(PHY_VARS_NR_UE *phy_vars_ue,int32_t *tot_metric,uint8_t *flip_max,uin
/*! \brief receiver for the PBCH
/*! \brief receiver for the PBCH
\returns number of tx antennas or -1 if error
\returns number of tx antennas or -1 if error
*/
*/
uint16_t
rx_pbch
(
NR_UE_COMMON
*
lte_ue_common_vars
,
int
nr_rx_pbch
(
PHY_VARS_NR_UE
*
ue
,
NR_UE_PBCH
*
lte_ue_pbch_vars
,
UE_nr_rxtx_proc_t
*
proc
,
NR_UE_PBCH
*
nr_ue_pbch_vars
,
NR_DL_FRAME_PARMS
*
frame_parms
,
NR_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
eNB_id
,
uint8_t
eNB_id
,
MIMO_mode_t
mimo_mode
,
MIMO_mode_t
mimo_mode
,
uint32_t
high_speed_flag
,
uint32_t
high_speed_flag
);
uint8_t
frame_mod4
);
uint16_t
rx_pbch_emul
(
PHY_VARS_NR_UE
*
phy_vars_ue
,
uint16_t
rx_pbch_emul
(
PHY_VARS_NR_UE
*
phy_vars_ue
,
uint8_t
eNB_id
,
uint8_t
eNB_id
,
...
...
targets/RT/USER/nr-ue.c
View file @
136ca508
...
@@ -283,9 +283,10 @@ void init_UE(int nb_inst)
...
@@ -283,9 +283,10 @@ void init_UE(int nb_inst)
NR_UE_MAC_INST_t
*
mac_inst
;
NR_UE_MAC_INST_t
*
mac_inst
;
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
// UE->rfdevice.type = NONE_DEV;
// UE->rfdevice.type = NONE_DEV;
PHY_VARS_NR_UE
*
UE
=
PHY_vars_UE_g
[
inst
][
0
];
//
PHY_VARS_NR_UE *UE = PHY_vars_UE_g[inst][0];
LOG_I
(
PHY
,
"Initializing memory for UE instance %d (%p)
\n
"
,
inst
,
PHY_vars_UE_g
[
inst
]);
LOG_I
(
PHY
,
"Initializing memory for UE instance %d (%p)
\n
"
,
inst
,
PHY_vars_UE_g
[
inst
]);
PHY_vars_UE_g
[
inst
][
0
]
=
init_nr_ue_vars
(
NULL
,
inst
,
0
);
PHY_vars_UE_g
[
inst
][
0
]
=
init_nr_ue_vars
(
NULL
,
inst
,
0
);
PHY_VARS_NR_UE
*
UE
=
PHY_vars_UE_g
[
inst
][
0
];
AssertFatal
((
UE
->
if_inst
=
nr_ue_if_module_init
(
inst
))
!=
NULL
,
"can not initial IF module
\n
"
);
AssertFatal
((
UE
->
if_inst
=
nr_ue_if_module_init
(
inst
))
!=
NULL
,
"can not initial IF module
\n
"
);
nr_l3_init_ue
();
nr_l3_init_ue
();
...
@@ -296,6 +297,11 @@ void init_UE(int nb_inst)
...
@@ -296,6 +297,11 @@ void init_UE(int nb_inst)
UE
->
if_inst
->
scheduled_response
=
nr_ue_scheduled_response
;
UE
->
if_inst
->
scheduled_response
=
nr_ue_scheduled_response
;
UE
->
if_inst
->
phy_config_request
=
nr_ue_phy_config_request
;
UE
->
if_inst
->
phy_config_request
=
nr_ue_phy_config_request
;
LOG_I
(
PHY
,
"Intializing UE Threads for instance %d (%p,%p)...
\n
"
,
inst
,
PHY_vars_UE_g
[
inst
],
PHY_vars_UE_g
[
inst
][
0
]);
//init_UE_threads(inst);
//UE = PHY_vars_UE_g[inst][0];
AssertFatal
(
0
==
pthread_create
(
&
UE
->
proc
.
pthread_ue
,
AssertFatal
(
0
==
pthread_create
(
&
UE
->
proc
.
pthread_ue
,
&
UE
->
proc
.
attr_ue
,
&
UE
->
proc
.
attr_ue
,
UE_thread
,
UE_thread
,
...
...
targets/RT/USER/nr-uesoftmodem.c
View file @
136ca508
...
@@ -196,7 +196,7 @@ extern PHY_VARS_NR_UE* init_nr_ue_vars(NR_DL_FRAME_PARMS *frame_parms,
...
@@ -196,7 +196,7 @@ extern PHY_VARS_NR_UE* init_nr_ue_vars(NR_DL_FRAME_PARMS *frame_parms,
int
transmission_mode
=
1
;
int
transmission_mode
=
1
;
int
numerology
=
0
;
int
numerology
=
0
;
/*
int16_t glog_level = LOG_INFO;
int16_t glog_level = LOG_INFO;
int16_t glog_verbosity = LOG_MED;
int16_t glog_verbosity = LOG_MED;
int16_t hw_log_level = LOG_INFO;
int16_t hw_log_level = LOG_INFO;
...
@@ -213,6 +213,7 @@ int16_t rrc_log_level = LOG_INFO;
...
@@ -213,6 +213,7 @@ int16_t rrc_log_level = LOG_INFO;
int16_t rrc_log_verbosity = LOG_MED;
int16_t rrc_log_verbosity = LOG_MED;
int16_t opt_log_level = LOG_INFO;
int16_t opt_log_level = LOG_INFO;
int16_t opt_log_verbosity = LOG_MED;
int16_t opt_log_verbosity = LOG_MED;
*/
# if defined(ENABLE_USE_MME)
# if defined(ENABLE_USE_MME)
int16_t
gtpu_log_level
=
LOG_DEBUG
;
int16_t
gtpu_log_level
=
LOG_DEBUG
;
...
@@ -543,7 +544,7 @@ void *l2l1_task(void *arg) {
...
@@ -543,7 +544,7 @@ void *l2l1_task(void *arg) {
extern
int16_t
dlsch_demod_shift
;
extern
int16_t
dlsch_demod_shift
;
static
void
get_options
(
int
argc
,
char
**
argv
)
{
static
void
get_options
(
void
)
{
int
CC_id
;
int
CC_id
;
int
tddflag
,
nonbiotflag
;
int
tddflag
,
nonbiotflag
;
char
*
loopfile
=
NULL
;
char
*
loopfile
=
NULL
;
...
@@ -551,12 +552,11 @@ static void get_options (int argc, char **argv) {
...
@@ -551,12 +552,11 @@ static void get_options (int argc, char **argv) {
uint32_t
online_log_messages
;
uint32_t
online_log_messages
;
uint32_t
glog_level
,
glog_verbosity
;
uint32_t
glog_level
,
glog_verbosity
;
uint32_t
start_telnetsrv
;
uint32_t
start_telnetsrv
;
nfapi_nr_config_request_t
*
config
[
MAX_NUM_CCs
];
paramdef_t
cmdline_params
[]
=
CMDLINE_PARAMS_DESC
;
paramdef_t
cmdline_params
[]
=
CMDLINE_PARAMS_DESC
;
paramdef_t
cmdline_logparams
[]
=
CMDLINE_LOGPARAMS_DESC
;
paramdef_t
cmdline_logparams
[]
=
CMDLINE_LOGPARAMS_DESC
;
//set_default_frame_parms(config,
frame_parms);
set_default_frame_parms
(
frame_parms
);
config_process_cmdline
(
cmdline_params
,
sizeof
(
cmdline_params
)
/
sizeof
(
paramdef_t
),
NULL
);
config_process_cmdline
(
cmdline_params
,
sizeof
(
cmdline_params
)
/
sizeof
(
paramdef_t
),
NULL
);
if
(
strlen
(
in_path
)
>
0
)
{
if
(
strlen
(
in_path
)
>
0
)
{
...
@@ -606,6 +606,55 @@ static void get_options (int argc, char **argv) {
...
@@ -606,6 +606,55 @@ static void get_options (int argc, char **argv) {
if
(
*
(
cmdline_uemodeparams
[
CMDLINE_NOL2CONNECT_IDX
].
uptr
)
>
0
)
mode
=
no_L2_connect
;
if
(
*
(
cmdline_uemodeparams
[
CMDLINE_NOL2CONNECT_IDX
].
uptr
)
>
0
)
mode
=
no_L2_connect
;
if
(
cmdline_uemodeparams
[
CMDLINE_CALIBPRACHTX_IDX
].
uptr
)
if
(
cmdline_uemodeparams
[
CMDLINE_CALIBPRACHTX_IDX
].
uptr
)
if
(
*
(
cmdline_uemodeparams
[
CMDLINE_CALIBPRACHTX_IDX
].
uptr
)
>
0
)
mode
=
calib_prach_tx
;
if
(
*
(
cmdline_uemodeparams
[
CMDLINE_CALIBPRACHTX_IDX
].
uptr
)
>
0
)
mode
=
calib_prach_tx
;
if
(
dumpframe
>
0
)
mode
=
rx_dump_frame
;
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
frame_parms
[
CC_id
]
->
dl_CarrierFreq
=
downlink_frequency
[
0
][
0
];
}
UE_scan
=
0
;
if
(
tddflag
>
0
)
{
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
frame_parms
[
CC_id
]
->
frame_type
=
TDD
;
}
/*if (frame_parms[0]->N_RB_DL !=0) {
if ( frame_parms[0]->N_RB_DL < 6 ) {
frame_parms[0]->N_RB_DL = 6;
printf ( "%i: Invalid number of ressource blocks, adjusted to 6\n",frame_parms[0]->N_RB_DL);
}
if ( frame_parms[0]->N_RB_DL > 100 ) {
frame_parms[0]->N_RB_DL = 100;
printf ( "%i: Invalid number of ressource blocks, adjusted to 100\n",frame_parms[0]->N_RB_DL);
}
if ( frame_parms[0]->N_RB_DL > 50 && frame_parms[0]->N_RB_DL < 100 ) {
frame_parms[0]->N_RB_DL = 50;
printf ( "%i: Invalid number of ressource blocks, adjusted to 50\n",frame_parms[0]->N_RB_DL);
}
if ( frame_parms[0]->N_RB_DL > 25 && frame_parms[0]->N_RB_DL < 50 ) {
frame_parms[0]->N_RB_DL = 25;
printf ( "%i: Invalid number of ressource blocks, adjusted to 25\n",frame_parms[0]->N_RB_DL);
}
UE_scan = 0;
frame_parms[0]->N_RB_UL=frame_parms[0]->N_RB_DL;
for (CC_id=1; CC_id<MAX_NUM_CCs; CC_id++) {
frame_parms[CC_id]->N_RB_DL=frame_parms[0]->N_RB_DL;
frame_parms[CC_id]->N_RB_UL=frame_parms[0]->N_RB_UL;
}
}*/
for
(
CC_id
=
1
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
tx_max_power
[
CC_id
]
=
tx_max_power
[
0
];
rx_gain
[
0
][
CC_id
]
=
rx_gain
[
0
][
0
];
tx_gain
[
0
][
CC_id
]
=
tx_gain
[
0
][
0
];
}
#if T_TRACER
paramdef_t
cmdline_ttraceparams
[]
=
CMDLINE_TTRACEPARAMS_DESC
;
config_process_cmdline
(
cmdline_ttraceparams
,
sizeof
(
cmdline_ttraceparams
)
/
sizeof
(
paramdef_t
),
NULL
);
#endif
if
(
!
(
CONFIG_ISFLAGSET
(
CONFIG_ABORT
))
&&
(
!
(
CONFIG_ISFLAGSET
(
CONFIG_NOOOPT
)))
)
{
if
(
!
(
CONFIG_ISFLAGSET
(
CONFIG_ABORT
))
&&
(
!
(
CONFIG_ISFLAGSET
(
CONFIG_NOOOPT
)))
)
{
// Here the configuration file is the XER encoded UE capabilities
// Here the configuration file is the XER encoded UE capabilities
...
@@ -615,7 +664,6 @@ static void get_options (int argc, char **argv) {
...
@@ -615,7 +664,6 @@ static void get_options (int argc, char **argv) {
uecap_xer_in
=
1
;
uecap_xer_in
=
1
;
}
/* UE with config file */
}
/* UE with config file */
#if defined(OAI_USRP) || defined(CPRIGW) || defined(OAI_ADRV9371_ZC706)
#if defined(OAI_USRP) || defined(CPRIGW) || defined(OAI_ADRV9371_ZC706)
int
clock_src
;
int
clock_src
;
#endif
#endif
...
@@ -695,71 +743,6 @@ void set_default_frame_parms(NR_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]) {
...
@@ -695,71 +743,6 @@ void set_default_frame_parms(NR_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]) {
}
}
void
set_default_frame_parms_single
(
nfapi_nr_config_request_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
)
{
//int CC_id;
//for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
/* Set some default values that may be overwritten while reading options */
frame_parms
=
(
NR_DL_FRAME_PARMS
*
)
malloc
(
sizeof
(
NR_DL_FRAME_PARMS
));
config
=
(
nfapi_nr_config_request_t
*
)
malloc
(
sizeof
(
nfapi_nr_config_request_t
));
config
->
subframe_config
.
numerology_index_mu
.
value
=
1
;
config
->
subframe_config
.
duplex_mode
.
value
=
1
;
//FDD
config
->
subframe_config
.
dl_cyclic_prefix_type
.
value
=
0
;
//NORMAL
config
->
rf_config
.
dl_channel_bandwidth
.
value
=
106
;
config
->
rf_config
.
ul_channel_bandwidth
.
value
=
106
;
config
->
rf_config
.
tx_antenna_ports
.
value
=
1
;
config
->
rf_config
.
rx_antenna_ports
.
value
=
1
;
config
->
sch_config
.
physical_cell_id
.
value
=
0
;
frame_parms
->
frame_type
=
FDD
;
frame_parms
->
tdd_config
=
3
;
//frame_parms[CC_id]->tdd_config_S = 0;
frame_parms
->
N_RB_DL
=
106
;
frame_parms
->
N_RB_UL
=
106
;
frame_parms
->
Ncp
=
NORMAL
;
//frame_parms[CC_id]->Ncp_UL = NORMAL;
frame_parms
->
Nid_cell
=
0
;
//frame_parms[CC_id]->num_MBSFN_config = 0;
frame_parms
->
nb_antenna_ports_eNB
=
1
;
frame_parms
->
nb_antennas_tx
=
1
;
frame_parms
->
nb_antennas_rx
=
1
;
//frame_parms[CC_id]->nushift = 0;
///frame_parms[CC_id]->phich_config_common.phich_resource = oneSixth;
//frame_parms[CC_id]->phich_config_common.phich_duration = normal;
// UL RS Config
/*frame_parms[CC_id]->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = 1;//n_DMRS1 set to 0
frame_parms[CC_id]->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = 1;
frame_parms[CC_id]->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = 0;
frame_parms[CC_id]->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = 0;
frame_parms[CC_id]->pusch_config_common.n_SB = 1;
frame_parms[CC_id]->pusch_config_common.hoppingMode = 0;
frame_parms[CC_id]->pusch_config_common.pusch_HoppingOffset = 0;
frame_parms[CC_id]->pusch_config_common.enable64QAM = 0;
frame_parms[CC_id]->prach_config_common.rootSequenceIndex=22;
frame_parms[CC_id]->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig=1;
frame_parms[CC_id]->prach_config_common.prach_ConfigInfo.prach_ConfigIndex=0;
frame_parms[CC_id]->prach_config_common.prach_ConfigInfo.highSpeedFlag=0;
frame_parms[CC_id]->prach_config_common.prach_ConfigInfo.prach_FreqOffset=0;*/
// NR: Init to legacy LTE 20Mhz params
frame_parms
->
numerology_index
=
0
;
frame_parms
->
ttis_per_subframe
=
1
;
frame_parms
->
slots_per_tti
=
2
;
downlink_frequency
[
0
][
0
]
=
2680000000
;
// Use float to avoid issue with frequency over 2^31.
//downlink_frequency[CC_id][1] = downlink_frequency[CC_id][0];
//downlink_frequency[CC_id][2] = downlink_frequency[CC_id][0];
//downlink_frequency[CC_id][3] = downlink_frequency[CC_id][0];
//printf("Downlink for CC_id %d frequency set to %u\n", CC_id, downlink_frequency[CC_id][0]);
//}
}
void
init_openair0
(
void
);
void
init_openair0
(
void
);
void
init_openair0
()
{
void
init_openair0
()
{
...
@@ -897,14 +880,11 @@ int main( int argc, char **argv ) {
...
@@ -897,14 +880,11 @@ int main( int argc, char **argv ) {
set_latency_target
();
set_latency_target
();
// set default parameters
set_default_frame_parms
(
frame_parms
);
// initialize logging
// initialize logging
logInit
();
logInit
();
// get options and fill parameters from configuration file
// get options and fill parameters from configuration file
get_options
(
argc
,
argv
);
//Command-line options, enb_properties
get_options
();
//Command-line options, enb_properties
#if T_TRACER
#if T_TRACER
T_init
(
T_port
,
T_wait
,
T_dont_fork
);
T_init
(
T_port
,
T_wait
,
T_dont_fork
);
...
@@ -984,7 +964,6 @@ int main( int argc, char **argv ) {
...
@@ -984,7 +964,6 @@ int main( int argc, char **argv ) {
LOG_I
(
HW
,
"Version: %s
\n
"
,
PACKAGE_VERSION
);
LOG_I
(
HW
,
"Version: %s
\n
"
,
PACKAGE_VERSION
);
// set_default_frame_parms(frame_parms);//
// init the parameters
// init the parameters
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
...
@@ -995,12 +974,7 @@ int main( int argc, char **argv ) {
...
@@ -995,12 +974,7 @@ int main( int argc, char **argv ) {
LOG_I
(
PHY
,
"Set nb_rx_antenna %d , nb_tx_antenna %d
\n
"
,
frame_parms
[
CC_id
]
->
nb_antennas_rx
,
frame_parms
[
CC_id
]
->
nb_antennas_tx
);
LOG_I
(
PHY
,
"Set nb_rx_antenna %d , nb_tx_antenna %d
\n
"
,
frame_parms
[
CC_id
]
->
nb_antennas_rx
,
frame_parms
[
CC_id
]
->
nb_antennas_tx
);
//set_default_frame_parms(config[CC_id],frame_parms[CC_id]);
//init_ul_hopping(frame_parms[CC_id]);
//init_ul_hopping(frame_parms[CC_id]);
nr_init_frame_parms_ue
(
frame_parms
[
CC_id
]);
printf
(
"after init frame_parms %d
\n
"
,
frame_parms
[
CC_id
]
->
ofdm_symbol_size
);
// phy_init_top(frame_parms[CC_id]);
//phy_init_nr_top(frame_parms[CC_id]);
//phy_init_nr_top(frame_parms[CC_id]);
}
}
...
@@ -1067,13 +1041,13 @@ int main( int argc, char **argv ) {
...
@@ -1067,13 +1041,13 @@ int main( int argc, char **argv ) {
if
(
UE
[
CC_id
]
->
mac_enabled
==
1
)
if
(
UE
[
CC_id
]
->
mac_enabled
==
1
)
{
{
//
UE[CC_id]->pdcch_vars[0][0]->crnti = 0x1234;
UE
[
CC_id
]
->
pdcch_vars
[
0
][
0
]
->
crnti
=
0x1234
;
//
UE[CC_id]->pdcch_vars[1][0]->crnti = 0x1234;
UE
[
CC_id
]
->
pdcch_vars
[
1
][
0
]
->
crnti
=
0x1234
;
}
}
else
else
{
{
//
UE[CC_id]->pdcch_vars[0][0]->crnti = 0x1235;
UE
[
CC_id
]
->
pdcch_vars
[
0
][
0
]
->
crnti
=
0x1235
;
//
UE[CC_id]->pdcch_vars[1][0]->crnti = 0x1235;
UE
[
CC_id
]
->
pdcch_vars
[
1
][
0
]
->
crnti
=
0x1235
;
}
}
rx_gain
[
CC_id
][
0
]
=
81
;
rx_gain
[
CC_id
][
0
]
=
81
;
...
@@ -1145,7 +1119,7 @@ int main( int argc, char **argv ) {
...
@@ -1145,7 +1119,7 @@ int main( int argc, char **argv ) {
LOG_I
(
HW
,
"CPU Affinity of main() function is... %s
\n
"
,
cpu_affinity
);
LOG_I
(
HW
,
"CPU Affinity of main() function is... %s
\n
"
,
cpu_affinity
);
#endif
#endif
openair0_cfg
[
0
].
log_level
=
glog_level
;
//
openair0_cfg[0].log_level = glog_level;
/*int eMBMS_active=0;
/*int eMBMS_active=0;
if (node_function[0] <= NGFI_RAU_IF4p5) { // don't initialize L2 for RRU
if (node_function[0] <= NGFI_RAU_IF4p5) { // don't initialize L2 for RRU
LOG_I(PHY,"Intializing L2\n");
LOG_I(PHY,"Intializing L2\n");
...
@@ -1180,6 +1154,9 @@ int main( int argc, char **argv ) {
...
@@ -1180,6 +1154,9 @@ int main( int argc, char **argv ) {
mac_xface->mrbch_phy_sync_failure (0, 0, 0);
mac_xface->mrbch_phy_sync_failure (0, 0, 0);
}*/
}*/
// init UE_PF_PO and mutex lock
pthread_mutex_init
(
&
ue_pf_po_mutex
,
NULL
);
memset
(
&
UE_PF_PO
[
0
][
0
],
0
,
sizeof
(
UE_PF_PO_t
)
*
NUMBER_OF_UE_MAX
*
MAX_NUM_CCs
);
mlockall
(
MCL_CURRENT
|
MCL_FUTURE
);
mlockall
(
MCL_CURRENT
|
MCL_FUTURE
);
...
...
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