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
8dd9cf3c
Commit
8dd9cf3c
authored
6 years ago
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
creation of simulation data structure. some cleanup and testing with multiple UEs
parent
c3c6284b
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
205 additions
and
365 deletions
+205
-365
cmake_targets/build_oai
cmake_targets/build_oai
+2
-138
openair1/SIMULATION/TOOLS/channel_sim.c
openair1/SIMULATION/TOOLS/channel_sim.c
+54
-68
openair1/SIMULATION/TOOLS/sim.h
openair1/SIMULATION/TOOLS/sim.h
+30
-3
openair2/LAYER2/MAC/rar_tools_ue.c
openair2/LAYER2/MAC/rar_tools_ue.c
+1
-1
targets/RT/USER/lte-softmodem.h
targets/RT/USER/lte-softmodem.h
+3
-1
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+2
-10
targets/RT/USER/lte-uesoftmodem.c
targets/RT/USER/lte-uesoftmodem.c
+6
-2
targets/RT/USER/rfsim.c
targets/RT/USER/rfsim.c
+98
-141
targets/RT/USER/rfsim.h
targets/RT/USER/rfsim.h
+9
-1
No files found.
cmake_targets/build_oai
View file @
8dd9cf3c
...
@@ -111,8 +111,6 @@ Options
...
@@ -111,8 +111,6 @@ Options
-t | --transport protocol
-t | --transport protocol
ETHERNET , None
ETHERNET , None
Adds this trasport protocol support in compilation
Adds this trasport protocol support in compilation
--oaisim
Makes the oaisim simulator. Hardware will be defaulted to
\"
None
\"
.
--phy_simulators
--phy_simulators
Makes the unitary tests Layer 1 simulators
Makes the unitary tests Layer 1 simulators
--core_simulators
--core_simulators
...
@@ -124,12 +122,12 @@ Options
...
@@ -124,12 +122,12 @@ Options
-V | --vcd
-V | --vcd
Adds a debgging facility to the binary files: GUI with major internal synchronization events
Adds a debgging facility to the binary files: GUI with major internal synchronization events
-x | --xforms
-x | --xforms
Adds a software oscilloscope feature to the produced binaries.
If oaisim, then enable PRINT_STATS.
Adds a software oscilloscope feature to the produced binaries.
--install-system-files
--install-system-files
Install OpenArInterface required files in Linux system
Install OpenArInterface required files in Linux system
(will ask root password)
(will ask root password)
--noS1
--noS1
Compiles
oaisim or
lte-softmodem without S1 interface, using direct link to IP instead
Compiles lte-softmodem without S1 interface, using direct link to IP instead
--verbose-compile
--verbose-compile
Shows detailed compilation instructions in makefile
Shows detailed compilation instructions in makefile
--cflags_processor
--cflags_processor
...
@@ -164,11 +162,8 @@ Options
...
@@ -164,11 +162,8 @@ Options
Generates a basic [1 UE + 1 eNB + no channel] simulator.
Generates a basic [1 UE + 1 eNB + no channel] simulator.
See targets/ARCH/tcp_bridge/README.tcp_bridge_oai for documentation.
See targets/ARCH/tcp_bridge/README.tcp_bridge_oai for documentation.
Usage (first build):
Usage (first build):
oaisim (eNB + UE): ./build_oai -I --oaisim -x --install-system-files
Eurecom EXMIMO + COTS UE : ./build_oai -I --eNB -x --install-system-files
NI/ETTUS B201 + COTS UE : ./build_oai -I --eNB -x --install-system-files -w USRP
NI/ETTUS B201 + COTS UE : ./build_oai -I --eNB -x --install-system-files -w USRP
Usage (Regular):
Usage (Regular):
oaisim : ./build_oai --oaisim -x
Eurecom EXMIMO + OAI ENB : ./build_oai --eNB -x
Eurecom EXMIMO + OAI ENB : ./build_oai --eNB -x
NI/ETTUS B201 + OAI ENB : ./build_oai --eNB -x -w USRP"
NI/ETTUS B201 + OAI ENB : ./build_oai --eNB -x -w USRP"
}
}
...
@@ -250,10 +245,6 @@ function main() {
...
@@ -250,10 +245,6 @@ function main() {
echo_info
"Setting transport protocol to:
$TP
"
echo_info
"Setting transport protocol to:
$TP
"
fi
fi
shift
2
;;
shift
2
;;
--oaisim
)
oaisim
=
1
echo_info
"Will compile oaisim and drivers nasmesh, ..."
shift
;;
--phy_simulators
)
--phy_simulators
)
SIMUS_PHY
=
1
SIMUS_PHY
=
1
echo_info
"Will compile dlsim, ulsim, ..."
echo_info
"Will compile dlsim, ulsim, ..."
...
@@ -490,16 +481,6 @@ function main() {
...
@@ -490,16 +481,6 @@ function main() {
check_install_additional_tools
check_install_additional_tools
fi
fi
if
[
"
$oaisim
"
=
"1"
]
;
then
#to be discussed
# there is no RF device transport protocol
HW
=
"None"
TP
=
"ETHERNET"
if
[
"
$XFORMS
"
==
"True"
]
;
then
PRINT_STATS
=
"True"
fi
fi
echo_info
"3. building the compilation directives ..."
echo_info
"3. building the compilation directives ..."
...
@@ -689,123 +670,6 @@ function main() {
...
@@ -689,123 +670,6 @@ function main() {
cp
$OPENAIR_DIR
/cmake_targets/tools/init_exmimo2
$dbin
cp
$OPENAIR_DIR
/cmake_targets/tools/init_exmimo2
$dbin
fi
fi
# oaisim compilation
###############
if
[
"
$oaisim
"
=
"1"
]
;
then
dconf
=
$OPENAIR_DIR
/targets/bin
if
[
"
$NOS1
"
=
"1"
]
;
then
oaisim_build_dir
=
oaisim_noS1_build_oai
oaisim_exec
=
oaisim_nos1
else
oaisim_build_dir
=
oaisim_build_oai
oaisim_exec
=
oaisim
fi
echo_info
"Compiling
$oaisim_exec
(
$oaisim_build_dir
)"
cmake_file
=
$DIR
/
$oaisim_build_dir
/CMakeLists.txt
cp
$DIR
/
$oaisim_build_dir
/CMakeLists.template
$cmake_file
echo
"set ( CMAKE_BUILD_TYPE
$CMAKE_BUILD_TYPE
)"
>>
$cmake_file
echo
"set ( CFLAGS_PROCESSOR_USER
\"
$CFLAGS_PROCESSOR_USER
\"
)"
>>
$cmake_file
echo
"set ( XFORMS
$XFORMS
)"
>>
$cmake_file
echo
"set ( PRINT_STATS
$PRINT_STATS
)"
>>
$cmake_file
echo
"set ( RRC_ASN1_VERSION
\"
${
REL
}
\"
)"
>>
$cmake_file
echo
"set ( ENABLE_VCD_FIFO
$VCD_TIMING
)"
>>
$cmake_file
echo
"set ( T_TRACER
$T_TRACER
)"
>>
$cmake_file
echo
"set ( UE_NAS_USE_TUN
$UE_NAS_USE_TUN
)"
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
[
"
$CLEAN
"
=
"1"
]
&&
rm
-rf
$DIR
/
$oaisim_build_dir
/build
mkdir
-p
$DIR
/
$oaisim_build_dir
/build
cd
$DIR
/
$oaisim_build_dir
/build
eval
$CMAKE_CMD
compilations
\
$oaisim_build_dir
$oaisim_exec
\
$oaisim_exec
$dbin
/
$oaisim_exec
.
$REL
compilations
\
$oaisim_build_dir
$config_libconfig_shlib
\
lib
$config_libconfig_shlib
.so
$dbin
/lib
$config_libconfig_shlib
.so
compilations
\
$oaisim_build_dir
coding
\
libcoding.so
$dbin
/libcoding.so
if
[
"
$NOS1
"
!=
"1"
]
;
then
[
"
$CLEAN
"
=
"1"
]
&&
rm
-rf
$DIR
/at_commands/build
echo_info
"Compiling at_nas_ue"
mkdir
-p
$DIR
/at_commands/build
cd
$DIR
/at_commands/build
eval
$CMAKE_CMD
compilations
\
at_commands at_nas_ue
\
at_nas_ue
$dbin
/at_nas_ue
# ue_ip driver compilation
echo_info
"Compiling UE specific part (ue_ip driver and usim tools)"
compilations
\
oaisim_build_oai ue_ip
\
CMakeFiles/ue_ip/ue_ip.ko
$dbin
/ue_ip.ko
[
"
$CLEAN
"
=
"1"
]
&&
rm
-rf
$DIR
/nas_sim_tools/build
mkdir
-p
$DIR
/nas_sim_tools/build
cd
$DIR
/nas_sim_tools/build
eval
$CMAKE_CMD
compilations
\
nas_sim_tools usim
\
usim
$dbin
/usim
compilations
\
nas_sim_tools nvram
\
nvram
$dbin
/nvram
compilations
\
nas_sim_tools conf2uedata
\
conf2uedata
$dbin
/conf2uedata
# generate USIM data
if
[
-f
$dbin
/conf2uedata
]
;
then
install_nas_tools
$conf_nvram_path
$gen_nvram_path
else
echo_warning
"not generated UE NAS files: binaries not found"
fi
else
compilations
\
$oaisim_build_dir
rb_tool
\
rb_tool
$dbin
/rb_tool
# nasmesh driver compilation
compilations
\
$oaisim_build_dir
nasmesh
\
CMakeFiles/nasmesh/nasmesh.ko
$dbin
/nasmesh.ko
#oai_nw_drv
#compilations \
# $oaisim_build_dir oai_nw_drv \
# CMakeFiles/oai_nw_drv/oai_nw_drv.ko $dbin/oai_nw_drv.ko
fi
if
[
"
$TP
"
==
"ETHERNET"
]
;
then
compilations
\
$oaisim_build_dir
oai_eth_transpro
\
liboai_eth_transpro.so
$dbin
/liboai_eth_transpro.so.
$REL
ln
-sf
liboai_eth_transpro.so liboai_transpro.so
ln
-sf
$dbin
/liboai_eth_transpro.so.
$REL
$dbin
/liboai_transpro.so
echo_info
"liboai_transpro.so is linked with ETHERNET library"
fi
cmake_file
=
$DIR
/oaisim_mme_build_oai/CMakeLists.txt
cp
$DIR
/oaisim_mme_build_oai/CMakeLists.template
$cmake_file
echo
"set ( CMAKE_BUILD_TYPE
$CMAKE_BUILD_TYPE
)"
>>
$cmake_file
echo
"set ( XFORMS
$XFORMS
)"
>>
$cmake_file
echo
"set ( RRC_ASN1_VERSION
\"
${
REL
}
\"
)"
>>
$cmake_file
echo
"set ( ENABLE_VCD_FIFO
$VCD_TIMING
)"
>>
$cmake_file
echo
"set ( T_TRACER
$T_TRACER
)"
>>
$cmake_file
echo
'include(${CMAKE_CURRENT_SOURCE_DIR}/../CMakeLists.txt)'
>>
$cmake_file
#[ "$CLEAN" = "1" ] && rm -rf $DIR/oaisim_mme_build_oai/build
#mkdir -p $DIR/oaisim_mme_build_oai/build
#cd $DIR/oaisim_mme_build_oai/build
#eval $CMAKE_CMD
#compilations \
# oaisim_mme_build_oai oaisim_mme \
# oaisim_mme $dbin/oaisim_mme.$REL
fi
# Telnet server compilation
# Telnet server compilation
#####################
#####################
...
...
This diff is collapsed.
Click to expand it.
openair1/SIMULATION/TOOLS/channel_sim.c
View file @
8dd9cf3c
This diff is collapsed.
Click to expand it.
openair1/SIMULATION/TOOLS/sim.h
View file @
8dd9cf3c
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
#ifndef __SIMULATION_TOOLS_DEFS_H__
#ifndef __SIMULATION_TOOLS_DEFS_H__
#define __SIMULATION_TOOLS_DEFS_H__
#define __SIMULATION_TOOLS_DEFS_H__
#include "PHY/defs_common.h"
#include "PHY/defs_common.h"
#include <pthread.h>
/** @defgroup _numerical_ Useful Numerical Functions
/** @defgroup _numerical_ Useful Numerical Functions
*@{
*@{
The present clause specifies several numerical functions for testing of digital communication systems.
The present clause specifies several numerical functions for testing of digital communication systems.
...
@@ -181,6 +181,31 @@ typedef enum {
...
@@ -181,6 +181,31 @@ typedef enum {
EPA_high
,
EPA_high
,
}
SCM_t
;
}
SCM_t
;
#include "platform_constants.h"
typedef
struct
{
channel_desc_t
*
RU2UE
[
NUMBER_OF_RU_MAX
][
NUMBER_OF_UE_MAX
][
MAX_NUM_CCs
];
channel_desc_t
*
UE2RU
[
NUMBER_OF_UE_MAX
][
NUMBER_OF_RU_MAX
][
MAX_NUM_CCs
];
double
r_re_DL
[
NUMBER_OF_UE_MAX
][
2
][
30720
];
double
r_im_DL
[
NUMBER_OF_UE_MAX
][
2
][
30720
];
double
r_re_UL
[
NUMBER_OF_eNB_MAX
][
2
][
30720
];
double
r_im_UL
[
NUMBER_OF_eNB_MAX
][
2
][
30720
];
int
RU_output_mask
[
NUMBER_OF_UE_MAX
];
int
UE_output_mask
[
NUMBER_OF_RU_MAX
];
pthread_mutex_t
RU_output_mutex
[
NUMBER_OF_UE_MAX
];
pthread_mutex_t
UE_output_mutex
[
NUMBER_OF_RU_MAX
];
pthread_mutex_t
subframe_mutex
;
int
subframe_ru_mask
;
int
subframe_UE_mask
;
openair0_timestamp
current_ru_rx_timestamp
[
NUMBER_OF_RU_MAX
][
MAX_NUM_CCs
];
openair0_timestamp
current_UE_rx_timestamp
[
MAX_MOBILES_PER_ENB
][
MAX_NUM_CCs
];
openair0_timestamp
last_ru_rx_timestamp
[
NUMBER_OF_RU_MAX
][
MAX_NUM_CCs
];
openair0_timestamp
last_UE_rx_timestamp
[
MAX_MOBILES_PER_ENB
][
MAX_NUM_CCs
];
double
ru_amp
[
NUMBER_OF_RU_MAX
];
pthread_t
rfsim_thread
;
}
sim_t
;
/**
/**
\brief This routine initializes a new channel descriptor
\brief This routine initializes a new channel descriptor
\param nb_tx Number of TX antennas
\param nb_tx Number of TX antennas
...
@@ -373,7 +398,9 @@ void multipath_tv_channel(channel_desc_t *desc,
...
@@ -373,7 +398,9 @@ void multipath_tv_channel(channel_desc_t *desc,
double
N_RB2sampling_rate
(
uint16_t
N_RB
);
double
N_RB2sampling_rate
(
uint16_t
N_RB
);
double
N_RB2channel_bandwidth
(
uint16_t
N_RB
);
double
N_RB2channel_bandwidth
(
uint16_t
N_RB
);
void
do_DL_sig
(
channel_desc_t
*
RU2UE
[
NUMBER_OF_RU_MAX
][
NUMBER_OF_UE_MAX
][
MAX_NUM_CCs
],
#include "targets/RT/USER/rfsim.h"
void
do_DL_sig
(
sim_t
*
sim
,
uint16_t
subframe
,
uint16_t
subframe
,
uint32_t
offset
,
uint32_t
offset
,
uint32_t
length
,
uint32_t
length
,
...
@@ -381,7 +408,7 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
...
@@ -381,7 +408,7 @@ void do_DL_sig(channel_desc_t *RU2UE[NUMBER_OF_RU_MAX][NUMBER_OF_UE_MAX][MAX_NUM
uint8_t
UE_id
,
uint8_t
UE_id
,
int
CC_id
);
int
CC_id
);
void
do_UL_sig
(
channel_desc_t
*
UE2RU
[
NUMBER_OF_UE_MAX
][
NUMBER_OF_RU_MAX
][
MAX_NUM_CCs
]
,
void
do_UL_sig
(
sim_t
*
sim
,
uint16_t
subframe
,
uint8_t
abstraction_flag
,
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint16_t
subframe
,
uint8_t
abstraction_flag
,
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint32_t
frame
,
int
ru_id
,
uint8_t
CC_id
);
uint32_t
frame
,
int
ru_id
,
uint8_t
CC_id
);
...
...
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/rar_tools_ue.c
View file @
8dd9cf3c
...
@@ -93,7 +93,7 @@ uint16_t ue_process_rar(const module_id_t module_idP, const int CC_id, const fra
...
@@ -93,7 +93,7 @@ uint16_t ue_process_rar(const module_id_t module_idP, const int CC_id, const fra
}
}
LOG_I
(
MAC
,
LOG_I
(
MAC
,
"[
eNB
%d][RAPROC] Frame %d Received RAR (%02x|%02x.%02x.%02x.%02x.%02x.%02x) for preamble %d/%d
\n
"
,
"[
UE
%d][RAPROC] Frame %d Received RAR (%02x|%02x.%02x.%02x.%02x.%02x.%02x) for preamble %d/%d
\n
"
,
module_idP
,
frameP
,
*
(
uint8_t
*
)
rarh
,
rar
[
0
],
rar
[
1
],
rar
[
2
],
module_idP
,
frameP
,
*
(
uint8_t
*
)
rarh
,
rar
[
0
],
rar
[
1
],
rar
[
2
],
rar
[
3
],
rar
[
4
],
rar
[
5
],
rarh
->
RAPID
,
preamble_index
);
rar
[
3
],
rar
[
4
],
rar
[
5
],
rarh
->
RAPID
,
preamble_index
);
#ifdef DEBUG_RAR
#ifdef DEBUG_RAR
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-softmodem.h
View file @
8dd9cf3c
...
@@ -53,6 +53,7 @@
...
@@ -53,6 +53,7 @@
#define CONFIG_HLP_CALPRACH "UE run normal prach with maximum power, but don't continue random-access\n"
#define CONFIG_HLP_CALPRACH "UE run normal prach with maximum power, but don't continue random-access\n"
#define CONFIG_HLP_NOL2CN "bypass L2 and upper layers\n"
#define CONFIG_HLP_NOL2CN "bypass L2 and upper layers\n"
#define CONFIG_HLP_SIML1 "activate RF simulator instead of HW\n"
#define CONFIG_HLP_SIML1 "activate RF simulator instead of HW\n"
#define CONFIG_HLP_NUMUE "number of UE instances\n"
#define CONFIG_HLP_UERXG "set UE RX gain\n"
#define CONFIG_HLP_UERXG "set UE RX gain\n"
#define CONFIG_HLP_UERXGOFF "external UE amplifier offset\n"
#define CONFIG_HLP_UERXGOFF "external UE amplifier offset\n"
#define CONFIG_HLP_UETXG "set UE TX gain\n"
#define CONFIG_HLP_UETXG "set UE TX gain\n"
...
@@ -134,6 +135,7 @@
...
@@ -134,6 +135,7 @@
/*--------------------------------------------------------------------------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------------------------------------------------------------------------*/
#define CMDLINE_UEPARAMS_DESC { \
#define CMDLINE_UEPARAMS_DESC { \
{"siml1", CONFIG_HLP_SIML1, PARAMFLAG_BOOL, iptr:&simL1flag, defintval:0, TYPE_INT, 0}, \
{"siml1", CONFIG_HLP_SIML1, PARAMFLAG_BOOL, iptr:&simL1flag, defintval:0, TYPE_INT, 0}, \
{"U", CONFIG_HLP_NUMUE, 0, u8ptr:&NB_UE_INST, defuintval:1, TYPE_UINT, 0}, \
{"ue-rxgain", CONFIG_HLP_UERXG, 0, dblptr:&(rx_gain[0][0]), defdblval:130, TYPE_DOUBLE, 0}, \
{"ue-rxgain", CONFIG_HLP_UERXG, 0, dblptr:&(rx_gain[0][0]), defdblval:130, TYPE_DOUBLE, 0}, \
{"ue-rxgain-off", CONFIG_HLP_UERXGOFF, 0, dblptr:&rx_gain_off, defdblval:0, TYPE_DOUBLE, 0}, \
{"ue-rxgain-off", CONFIG_HLP_UERXGOFF, 0, dblptr:&rx_gain_off, defdblval:0, TYPE_DOUBLE, 0}, \
{"ue-txgain", CONFIG_HLP_UETXG, 0, dblptr:&(tx_gain[0][0]), defdblval:0, TYPE_DOUBLE, 0}, \
{"ue-txgain", CONFIG_HLP_UETXG, 0, dblptr:&(tx_gain[0][0]), defdblval:0, TYPE_DOUBLE, 0}, \
...
@@ -290,7 +292,7 @@ extern void kill_te_thread(PHY_VARS_eNB *);
...
@@ -290,7 +292,7 @@ extern void kill_te_thread(PHY_VARS_eNB *);
extern
void
RCConfig_sim
(
void
);
extern
void
RCConfig_sim
(
void
);
extern
void
init_ocm
(
double
,
double
);
extern
void
init_ocm
(
double
,
double
);
extern
void
init_ue_devices
(
void
);
extern
void
init_ue_devices
(
PHY_VARS_UE
*
);
PHY_VARS_UE
*
init_ue_vars
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
PHY_VARS_UE
*
init_ue_vars
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
UE_id
,
uint8_t
UE_id
,
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-ue.c
View file @
8dd9cf3c
...
@@ -254,7 +254,7 @@ void init_UE(int nb_inst,int eMBMS_active, int uecap_xer_in, int timing_correcti
...
@@ -254,7 +254,7 @@ void init_UE(int nb_inst,int eMBMS_active, int uecap_xer_in, int timing_correcti
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
for
(
inst
=
0
;
inst
<
nb_inst
;
inst
++
)
{
if
(
PHY_vars_UE_g
[
inst
]
==
NULL
)
PHY_vars_UE_g
[
inst
]
=
(
PHY_VARS_UE
**
)
calloc
(
1
+
MAX_NUM_CCs
,
sizeof
(
PHY_VARS_UE
*
));
if
(
PHY_vars_UE_g
[
inst
]
==
NULL
)
PHY_vars_UE_g
[
inst
]
=
(
PHY_VARS_UE
**
)
calloc
(
1
+
MAX_NUM_CCs
,
sizeof
(
PHY_VARS_UE
*
));
LOG_I
(
PHY
,
"Allocating UE context %d
\n
"
,
inst
);
if
(
simL1flag
==
0
)
PHY_vars_UE_g
[
inst
][
0
]
=
init_ue_vars
(
NULL
,
inst
,
0
);
if
(
simL1flag
==
0
)
PHY_vars_UE_g
[
inst
][
0
]
=
init_ue_vars
(
NULL
,
inst
,
0
);
else
{
else
{
...
@@ -307,7 +307,7 @@ void init_UE(int nb_inst,int eMBMS_active, int uecap_xer_in, int timing_correcti
...
@@ -307,7 +307,7 @@ void init_UE(int nb_inst,int eMBMS_active, int uecap_xer_in, int timing_correcti
UE
->
frame_parms
.
nb_antennas_tx
=
nb_tx
;
UE
->
frame_parms
.
nb_antennas_tx
=
nb_tx
;
UE
->
frame_parms
.
nb_antennas_rx
=
nb_rx
;
UE
->
frame_parms
.
nb_antennas_rx
=
nb_rx
;
if
(
simL1flag
==
1
)
init_ue_devices
();
if
(
simL1flag
==
1
)
init_ue_devices
(
UE
);
LOG_I
(
PHY
,
"Intializing UE Threads for instance %d (%p,%p)...
\n
"
,
inst
,
PHY_vars_UE_g
[
inst
],
PHY_vars_UE_g
[
inst
][
0
]);
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
);
init_UE_threads
(
inst
);
...
@@ -327,14 +327,6 @@ void init_UE(int nb_inst,int eMBMS_active, int uecap_xer_in, int timing_correcti
...
@@ -327,14 +327,6 @@ void init_UE(int nb_inst,int eMBMS_active, int uecap_xer_in, int timing_correcti
}
}
printf
(
"UE threads created by %ld
\n
"
,
gettid
());
printf
(
"UE threads created by %ld
\n
"
,
gettid
());
#if 0
#if defined(ENABLE_USE_MME)
extern volatile int start_UE;
while (start_UE == 0) {
sleep(1);
}
#endif
#endif
}
}
// Panos: Initiating all UEs within a single set of threads for PHY_STUB. Future extensions -> multiple
// Panos: Initiating all UEs within a single set of threads for PHY_STUB. Future extensions -> multiple
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-uesoftmodem.c
View file @
8dd9cf3c
...
@@ -817,7 +817,11 @@ int main( int argc, char **argv )
...
@@ -817,7 +817,11 @@ int main( int argc, char **argv )
get_options
();
get_options
();
printf
(
"Running with %d UE instances
\n
"
,
NB_UE_INST
);
if
(
NB_UE_INST
>
1
&&
simL1flag
!=
1
)
{
printf
(
"Running with more than 1 UE instance and simL1 is not active, this will result in undefined behaviour for now, exiting.
\n
"
);
abort
();
}
printf
(
"NFAPI_MODE value: %d
\n
"
,
nfapi_mode
);
printf
(
"NFAPI_MODE value: %d
\n
"
,
nfapi_mode
);
...
@@ -970,7 +974,7 @@ int main( int argc, char **argv )
...
@@ -970,7 +974,7 @@ int main( int argc, char **argv )
init_UE_stub_single_thread
(
NB_UE_INST
,
eMBMS_active
,
uecap_xer_in
,
emul_iface
);
init_UE_stub_single_thread
(
NB_UE_INST
,
eMBMS_active
,
uecap_xer_in
,
emul_iface
);
}
}
else
{
else
{
init_UE
(
1
,
eMBMS_active
,
uecap_xer_in
,
0
,
phy_test
,
UE_scan
,
UE_scan_carrier
,
mode
,(
int
)
rx_gain
[
0
][
0
],
tx_max_power
[
0
],
init_UE
(
NB_UE_INST
,
eMBMS_active
,
uecap_xer_in
,
0
,
phy_test
,
UE_scan
,
UE_scan_carrier
,
mode
,(
int
)
rx_gain
[
0
][
0
],
tx_max_power
[
0
],
frame_parms
[
0
]
->
nb_antennas_rx
,
frame_parms
[
0
]
->
nb_antennas_rx
,
frame_parms
[
0
]
->
nb_antennas_tx
);
frame_parms
[
0
]
->
nb_antennas_tx
);
}
}
...
...
This diff is collapsed.
Click to expand it.
targets/RT/USER/rfsim.c
View file @
8dd9cf3c
This diff is collapsed.
Click to expand it.
targets/RT/USER/rfsim.h
View file @
8dd9cf3c
...
@@ -18,11 +18,19 @@
...
@@ -18,11 +18,19 @@
* For more information about the OpenAirInterface (OAI) Software Alliance:
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
* contact@openairinterface.org
*/
*/
#ifndef __SIM__H__
#define __SIM__H__
#include "lte-softmodem.h"
#include "lte-softmodem.h"
#include "openair1/SIMULATION/TOOLS/sim.h"
#include "platform_constants.h"
#include "common/ran_context.h"
#include "PHY/defs_UE.h"
#include "PHY/defs_eNB.h"
void
init_ocm
(
double
snr_dB
,
double
sinr_dB
);
void
init_ocm
(
double
snr_dB
,
double
sinr_dB
);
void
update_ocm
(
double
snr_dB
,
double
sinr_dB
);
void
update_ocm
(
double
snr_dB
,
double
sinr_dB
);
void
init_channel_vars
(
void
);
void
init_channel_vars
(
void
);
#endif
This diff is collapsed.
Click to expand it.
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