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
ZhouShuya
OpenXG-RAN
Commits
73aa2657
Commit
73aa2657
authored
Oct 07, 2016
by
Rohit Gupta
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into feature-131-new-license
parents
b0662e4b
e86ec117
Changes
23
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
221 additions
and
186 deletions
+221
-186
cmake_targets/autotests/test_case_list.xml
cmake_targets/autotests/test_case_list.xml
+67
-72
cmake_targets/tools/build_helper
cmake_targets/tools/build_helper
+2
-2
openair1/PHY/defs.h
openair1/PHY/defs.h
+3
-3
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+11
-8
openair1/SIMULATION/LTE_PHY/mbmssim.c
openair1/SIMULATION/LTE_PHY/mbmssim.c
+59
-59
openair2/LAYER2/MAC/defs.h
openair2/LAYER2/MAC/defs.h
+6
-2
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
+1
-1
targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
+1
-0
targets/DOCS/oai_L1_L2_procedures.pdf
targets/DOCS/oai_L1_L2_procedures.pdf
+0
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
...ERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
+5
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf
...-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf
+3
-0
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf
...S/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf
...S/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf
...ECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf
+1
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
...TS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
+2
-1
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf
...PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf
+3
-2
targets/RT/USER/lte-enb.c
targets/RT/USER/lte-enb.c
+9
-9
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+2
-0
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+40
-19
No files found.
cmake_targets/autotests/test_case_list.xml
View file @
73aa2657
This diff is collapsed.
Click to expand it.
cmake_targets/tools/build_helper
View file @
73aa2657
...
...
@@ -224,7 +224,7 @@ check_install_usrp_uhd_driver(){
$SUDO add-apt-repository ppa:ettusresearch/uhd -y
$SUDO apt-get update
$SUDO apt-get -y install python python-tk libboost-all-dev libusb-1.0-0-dev
$SUDO apt-get -y install libuhd-dev libuhd003
$SUDO apt-get -y install libuhd-dev libuhd003
uhd-host
}
install_usrp_uhd_driver() {
...
...
@@ -282,7 +282,7 @@ check_install_additional_tools (){
$SUDO pip install paramiko
$SUDO pip install pyroute2
$SUDO rm -fr /opt/ssh
$SUDO GIT_SSL_NO_VERIFY=true git clone https://gi
st.github.com/2190472
.git /opt/ssh
$SUDO GIT_SSL_NO_VERIFY=true git clone https://gi
tlab.eurecom.fr/oai/ssh
.git /opt/ssh
log_netiface=$OPENAIR_DIR/cmake_targets/log/netiface_install_log.txt
echo_info "Installing Netinterfaces package. The logfile for installation is in $log_netiface"
...
...
openair1/PHY/defs.h
View file @
73aa2657
...
...
@@ -867,7 +867,7 @@ typedef struct {
void
exit_fun
(
const
char
*
s
);
inline
int
wait_on_condition
(
pthread_mutex_t
*
mutex
,
pthread_cond_t
*
cond
,
int
*
instance_cnt
,
char
*
name
)
{
static
inline
int
wait_on_condition
(
pthread_mutex_t
*
mutex
,
pthread_cond_t
*
cond
,
int
*
instance_cnt
,
char
*
name
)
{
if
(
pthread_mutex_lock
(
mutex
)
!=
0
)
{
LOG_E
(
PHY
,
"[SCHED][eNB] error locking mutex for %s
\n
"
,
name
);
...
...
@@ -889,7 +889,7 @@ inline int wait_on_condition(pthread_mutex_t *mutex,pthread_cond_t *cond,int *in
return
(
0
);
}
inline
int
wait_on_busy_condition
(
pthread_mutex_t
*
mutex
,
pthread_cond_t
*
cond
,
int
*
instance_cnt
,
char
*
name
)
{
static
inline
int
wait_on_busy_condition
(
pthread_mutex_t
*
mutex
,
pthread_cond_t
*
cond
,
int
*
instance_cnt
,
char
*
name
)
{
if
(
pthread_mutex_lock
(
mutex
)
!=
0
)
{
LOG_E
(
PHY
,
"[SCHED][eNB] error locking mutex for %s
\n
"
,
name
);
...
...
@@ -911,7 +911,7 @@ inline int wait_on_busy_condition(pthread_mutex_t *mutex,pthread_cond_t *cond,in
return
(
0
);
}
inline
int
release_thread
(
pthread_mutex_t
*
mutex
,
int
*
instance_cnt
,
char
*
name
)
{
static
inline
int
release_thread
(
pthread_mutex_t
*
mutex
,
int
*
instance_cnt
,
char
*
name
)
{
if
(
pthread_mutex_lock
(
mutex
)
!=
0
)
{
LOG_E
(
PHY
,
"[SCHED][eNB] error locking mutex for %s
\n
"
,
name
);
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
73aa2657
...
...
@@ -728,14 +728,8 @@ void ue_prach_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
#endif
if
(
abstraction_flag
==
0
)
{
LOG_I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
ue
->
Mod_id
,
frame_tx
,
subframe_tx
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PREAMBLE_RECEIVED_TARGET_POWER
,
ue
->
prach_resources
[
eNB_id
]
->
ra_TDD_map_index
,
ue
->
prach_resources
[
eNB_id
]
->
ra_RNTI
);
LOG_I
(
PHY
,
"mode %d
\n
"
,
mode
);
if
((
ue
->
mac_enabled
==
1
)
&&
(
mode
!=
calib_prach_tx
))
{
ue
->
tx_power_dBm
[
subframe_tx
]
=
ue
->
prach_resources
[
eNB_id
]
->
ra_PREAMBLE_RECEIVED_TARGET_POWER
+
get_PL
(
ue
->
Mod_id
,
ue
->
CC_id
,
eNB_id
);
...
...
@@ -745,6 +739,15 @@ void ue_prach_procedures(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uin
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
=
19
;
}
LOG_I
(
PHY
,
"[UE %d][RAPROC] Frame %d, Subframe %d : Generating PRACH, preamble %d, TARGET_RECEIVED_POWER %d dBm, PRACH TDD Resource index %d, RA-RNTI %d
\n
"
,
ue
->
Mod_id
,
frame_tx
,
subframe_tx
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PreambleIndex
,
ue
->
prach_resources
[
eNB_id
]
->
ra_PREAMBLE_RECEIVED_TARGET_POWER
,
ue
->
prach_resources
[
eNB_id
]
->
ra_TDD_map_index
,
ue
->
prach_resources
[
eNB_id
]
->
ra_RNTI
);
ue
->
tx_total_RE
[
subframe_tx
]
=
96
;
#if defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_BLADERF) || defined(OAI_LMSSDR)
...
...
openair1/SIMULATION/LTE_PHY/mbmssim.c
View file @
73aa2657
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/defs.h
View file @
73aa2657
...
...
@@ -614,7 +614,9 @@ typedef struct {
uint8_t
DLSCH_dci_size_bits
;
/// DCI buffer for DLSCH
uint8_t
DLSCH_DCI
[
8
][(
MAX_DCI_SIZE_BITS
>>
3
)
+
1
];
/* rounded to 32 bits unit (actual value should be 8 due to the logic
* of the function generate_dci0) */
uint8_t
DLSCH_DCI
[
8
][(((
MAX_DCI_SIZE_BITS
)
+
31
)
>>
5
)
*
4
];
/// Number of Allocated RBs for DL after scheduling (prior to frequency allocation)
uint16_t
nb_rb
[
8
];
// num_max_harq
...
...
@@ -638,7 +640,9 @@ typedef struct {
uint8_t
assigned_mcs_ul
;
/// DCI buffer for ULSCH
uint8_t
ULSCH_DCI
[
8
][(
MAX_DCI_SIZE_BITS
>>
3
)
+
1
];
/* rounded to 32 bits unit (actual value should be 8 due to the logic
* of the function generate_dci0) */
uint8_t
ULSCH_DCI
[
8
][(((
MAX_DCI_SIZE_BITS
)
+
31
)
>>
5
)
*
4
];
/// DL DAI
uint8_t
DAI
;
...
...
openair3/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c
View file @
73aa2657
...
...
@@ -577,7 +577,7 @@ nwGtpv1uProcessGpdu( NwGtpv1uStackT *thiz,
" G-PDU ltid %u size %u"
,
tunnelEndPointKey
.
teid
,
gpduLen
);
GTPU_
ERROR
(
"Received T-PDU over non-existent tunnel end-point '%x' from "
NW_IPV4_ADDR
"
\n
"
,
GTPU_
DEBUG
(
"Received T-PDU over non-existent tunnel end-point '%x' from "
NW_IPV4_ADDR
"
\n
"
,
ntohl
(
msgHdr
->
teid
),
NW_IPV4_ADDR_FORMAT
((
peerIp
)));
}
...
...
targets/ARCH/EXMIMO/USERSPACE/LIB/openair0_lib.c
View file @
73aa2657
...
...
@@ -766,6 +766,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
openair0_cfg
[
card
].
rxbase
[
ant
]
=
(
int32_t
*
)
openair0_exmimo_pci
[
card
].
adc_head
[
ant
];
openair0_cfg
[
card
].
txbase
[
ant
]
=
(
int32_t
*
)
openair0_exmimo_pci
[
card
].
dac_head
[
ant
];
}
openair0_cfg
[
card
].
mmapped_dma
=
1
;
}
create_watchdog
(
device
);
...
...
targets/DOCS/oai_L1_L2_procedures.pdf
View file @
73aa2657
No preview for this file type
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.generic.oaisim.local_mme.conf
View file @
73aa2657
...
...
@@ -22,7 +22,11 @@ eNBs =
//////////
Physical
parameters
:
component_carriers
= (
{
{
node_function
=
"eNodeB_3GPP"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.generic.oaisim.local_mme.conf
View file @
73aa2657
...
...
@@ -23,6 +23,9 @@ eNBs =
component_carriers
= (
{
node_function
=
"eNodeB_3GPP"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"FDD"
;
tdd_config
=
3
;
tdd_config_s
=
0
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpb210.conf
View file @
73aa2657
...
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
3
3
;
pdsch_referenceSignalPower
= -
3
0
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.100PRB.usrpx310.conf
View file @
73aa2657
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
2
4
;
pdsch_referenceSignalPower
= -
2
3
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpb210.conf
View file @
73aa2657
...
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
30
;
pdsch_referenceSignalPower
= -
27
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.50PRB.usrpx310.conf
View file @
73aa2657
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
21
;
pdsch_referenceSignalPower
= -
19
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpb210.conf
View file @
73aa2657
...
...
@@ -50,7 +50,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
2
7
;
pdsch_referenceSignalPower
= -
2
4
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm2.usrpx310.conf
View file @
73aa2657
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
1
8
;
pdsch_referenceSignalPower
= -
1
6
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rcc.band7.tm1.if5.usrpb210.conf
View file @
73aa2657
...
...
@@ -49,7 +49,7 @@ eNBs =
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
2
9
;
pdsch_referenceSignalPower
= -
2
4
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.if4p5.usrpb210.conf
View file @
73aa2657
...
...
@@ -38,6 +38,7 @@ eNBs =
Nid_cell_mbsfn
=
0
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
nb_antenna_ports
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
prach_root
=
0
;
...
...
@@ -100,7 +101,7 @@ eNBs =
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
}
);
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/rru.band7.tm1.usrpb210.conf
View file @
73aa2657
...
...
@@ -38,6 +38,7 @@ eNBs =
Nid_cell_mbsfn
=
0
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
nb_antenna_ports
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
prach_root
=
0
;
...
...
@@ -100,7 +101,7 @@ eNBs =
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
}
);
...
...
@@ -161,7 +162,7 @@ eNBs =
local_port
=
50000
;
#for raw option local port must be the same to remote
remote_port
=
50000
;
rrh_gw_active
=
"yes"
;
tr_preference
=
"raw_if4"
;
tr_preference
=
"raw_if4
p5
"
;
rf_preference
=
"usrp_b200"
;
iq_txshift
=
4
;
tx_sample_advance
=
80
;
...
...
targets/RT/USER/lte-enb.c
View file @
73aa2657
...
...
@@ -1606,7 +1606,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
break
;
case
NGFI_RRU_IF4p5
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
(
single_thread_flag
==
1
)
?
eNB_fep_full_2thread
:
eNB_fep_full
;
eNB
->
fep
=
eNB_fep_full
;
//
(single_thread_flag==1) ? eNB_fep_full_2thread : eNB_fep_full;
eNB
->
td
=
NULL
;
eNB
->
te
=
NULL
;
eNB
->
proc_uespec_rx
=
NULL
;
...
...
@@ -1635,7 +1635,7 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
break
;
case
eNodeB_3GPP
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
(
single_thread_flag
==
1
)
?
eNB_fep_full_2thread
:
eNB_fep_full
;
eNB
->
fep
=
eNB_fep_full
;
//
(single_thread_flag==1) ? eNB_fep_full_2thread : eNB_fep_full;
eNB
->
td
=
ulsch_decoding_data
;
//(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
...
...
@@ -1655,9 +1655,9 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
break
;
case
eNodeB_3GPP_BBU
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
(
single_thread_flag
==
1
)
?
eNB_fep_full_2thread
:
eNB_fep_full
;
eNB
->
td
=
(
single_thread_flag
==
1
)
?
ulsch_decoding_data_2thread
:
ulsch_decoding_data
;
eNB
->
te
=
(
single_thread_flag
==
1
)
?
dlsch_encoding_2threads
:
dlsch_encoding
;
eNB
->
fep
=
eNB_fep_full
;
//
(single_thread_flag==1) ? eNB_fep_full_2thread : eNB_fep_full;
eNB
->
td
=
ulsch_decoding_data
;
//
(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//
(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
eNB
->
proc_tx
=
proc_tx_full
;
eNB
->
tx_fh
=
tx_fh_if5
;
...
...
@@ -1680,8 +1680,8 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
case
NGFI_RCC_IF4p5
:
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
NULL
;
eNB
->
td
=
(
single_thread_flag
==
1
)
?
ulsch_decoding_data_2thread
:
ulsch_decoding_data
;
eNB
->
te
=
(
single_thread_flag
==
1
)
?
dlsch_encoding_2threads
:
dlsch_encoding
;
eNB
->
td
=
ulsch_decoding_data
;
//
(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//
(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
eNB
->
proc_tx
=
proc_tx_high
;
eNB
->
tx_fh
=
tx_fh_if4p5
;
...
...
@@ -1704,8 +1704,8 @@ void init_eNB(eNB_func_t node_function[], eNB_timing_t node_timing[],int nb_inst
eNB
->
do_prach
=
do_prach
;
eNB
->
fep
=
NULL
;
eNB
->
td
=
(
single_thread_flag
==
1
)
?
ulsch_decoding_data_2thread
:
ulsch_decoding_data
;
eNB
->
te
=
(
single_thread_flag
==
1
)
?
dlsch_encoding_2threads
:
dlsch_encoding
;
eNB
->
td
=
ulsch_decoding_data
;
//
(single_thread_flag==1) ? ulsch_decoding_data_2thread : ulsch_decoding_data;
eNB
->
te
=
dlsch_encoding
;
//
(single_thread_flag==1) ? dlsch_encoding_2threads : dlsch_encoding;
eNB
->
proc_uespec_rx
=
phy_procedures_eNB_uespec_RX
;
eNB
->
proc_tx
=
proc_tx_high
;
eNB
->
tx_fh
=
tx_fh_if4p5
;
...
...
targets/RT/USER/lte-softmodem.c
View file @
73aa2657
...
...
@@ -768,6 +768,7 @@ static void get_options (int argc, char **argv)
case
LONG_OPTION_CALIB_PRACH_TX
:
mode
=
calib_prach_tx
;
printf
(
"Setting mode to calib_prach_tx (%d)
\n
"
,
mode
);
break
;
case
LONG_OPTION_RXGAIN
:
...
...
@@ -1566,6 +1567,7 @@ int main( int argc, char **argv )
UE
[
CC_id
]
->
UE_scan
=
UE_scan
;
UE
[
CC_id
]
->
UE_scan_carrier
=
UE_scan_carrier
;
UE
[
CC_id
]
->
mode
=
mode
;
printf
(
"UE[%d]->mode = %d
\n
"
,
CC_id
,
mode
);
compute_prach_seq
(
&
UE
[
CC_id
]
->
frame_parms
.
prach_config_common
,
UE
[
CC_id
]
->
frame_parms
.
frame_type
,
...
...
targets/RT/USER/lte-ue.c
View file @
73aa2657
...
...
@@ -440,7 +440,7 @@ static void *UE_thread_synch(void *arg)
case
pbch
:
LOG_I
(
PHY
,
"[UE thread Synch] Running Initial Synch
\n
"
);
LOG_I
(
PHY
,
"[UE thread Synch] Running Initial Synch
(mode %d)
\n
"
,
UE
->
mode
);
if
(
initial_sync
(
UE
,
UE
->
mode
)
==
0
)
{
hw_slot_offset
=
(
UE
->
rx_offset
<<
1
)
/
UE
->
frame_parms
.
samples_per_tti
;
...
...
@@ -485,7 +485,7 @@ static void *UE_thread_synch(void *arg)
break
;
}
//UE->rfdevice.trx_set_freq_func(&openair0
,&openair0_cfg[0],0);
UE
->
rfdevice
.
trx_set_freq_func
(
&
UE
->
rfdevice
,
&
openair0_cfg
[
0
],
0
);
//UE->rfdevice.trx_set_gains_func(&openair0,&openair0_cfg[0]);
UE
->
rfdevice
.
trx_stop_func
(
&
UE
->
rfdevice
);
sleep
(
1
);
...
...
@@ -793,7 +793,7 @@ static void *UE_thread_rxn_txnp4(void *arg)
(
subframe_select
(
&
UE
->
frame_parms
,
proc
->
subframe_tx
)
==
SF_S
))
{
if
(
UE
->
mode
!=
loop_through_memory
)
{
phy_procedures_UE_TX
(
UE
,
proc
,
0
,
0
,
normal_txrx
,
no_relay
);
phy_procedures_UE_TX
(
UE
,
proc
,
0
,
0
,
UE
->
mode
,
no_relay
);
}
}
...
...
@@ -987,7 +987,7 @@ void *UE_thread(void *arg) {
if
(
UE
->
mode
!=
loop_through_memory
)
{
if
(
UE
->
no_timing_correction
==
0
)
{
LOG_I
(
PHY
,
"Resynchronizing RX by %d samples
\n
"
,
UE
->
rx_offset
);
LOG_I
(
PHY
,
"Resynchronizing RX by %d samples
(mode = %d)
\n
"
,
UE
->
rx_offset
,
UE
->
mode
);
rxs
=
UE
->
rfdevice
.
trx_read_func
(
&
UE
->
rfdevice
,
&
timestamp
,
(
void
**
)
rxdata
,
...
...
@@ -1028,21 +1028,6 @@ void *UE_thread(void *arg) {
UE
->
proc
.
proc_rxtx
[
1
].
frame_rx
++
;
for
(
int
sf
=
0
;
sf
<
10
;
sf
++
)
{
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
1
);
// prepare tx buffer pointers
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_tx
;
i
++
)
txp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
txdata
[
i
][((
sf
+
4
)
%
10
)
*
UE
->
frame_parms
.
samples_per_tti
];
txs
=
UE
->
rfdevice
.
trx_write_func
(
&
UE
->
rfdevice
,
timestamp
+
(
4
*
UE
->
frame_parms
.
samples_per_tti
)
-
UE
->
frame_parms
.
ofdm_symbol_size
-
UE
->
frame_parms
.
nb_prefix_samples0
-
openair0_cfg
[
0
].
tx_sample_advance
,
txp
,
UE
->
frame_parms
.
samples_per_tti
,
UE
->
frame_parms
.
nb_antennas_tx
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
0
);
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_rx
;
i
++
)
rxp
[
i
]
=
(
void
*
)
&
rxdata
[
i
][
UE
->
frame_parms
.
ofdm_symbol_size
+
UE
->
frame_parms
.
nb_prefix_samples0
+
(
sf
*
UE
->
frame_parms
.
samples_per_tti
)];
// grab signal for subframe
...
...
@@ -1054,6 +1039,24 @@ void *UE_thread(void *arg) {
rxp
,
UE
->
frame_parms
.
samples_per_tti
,
UE
->
frame_parms
.
nb_antennas_rx
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
1
);
// prepare tx buffer pointers
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_tx
;
i
++
)
txp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
txdata
[
i
][((
sf
+
2
)
%
10
)
*
UE
->
frame_parms
.
samples_per_tti
];
txs
=
UE
->
rfdevice
.
trx_write_func
(
&
UE
->
rfdevice
,
timestamp
+
(
2
*
UE
->
frame_parms
.
samples_per_tti
)
-
UE
->
frame_parms
.
ofdm_symbol_size
-
UE
->
frame_parms
.
nb_prefix_samples0
-
openair0_cfg
[
0
].
tx_sample_advance
,
txp
,
UE
->
frame_parms
.
samples_per_tti
,
UE
->
frame_parms
.
nb_antennas_tx
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
0
);
}
else
{
...
...
@@ -1062,6 +1065,24 @@ void *UE_thread(void *arg) {
rxp
,
UE
->
frame_parms
.
samples_per_tti
-
UE
->
frame_parms
.
ofdm_symbol_size
-
UE
->
frame_parms
.
nb_prefix_samples0
,
UE
->
frame_parms
.
nb_antennas_rx
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
1
);
// prepare tx buffer pointers
for
(
i
=
0
;
i
<
UE
->
frame_parms
.
nb_antennas_tx
;
i
++
)
txp
[
i
]
=
(
void
*
)
&
UE
->
common_vars
.
txdata
[
i
][((
sf
+
2
)
%
10
)
*
UE
->
frame_parms
.
samples_per_tti
];
txs
=
UE
->
rfdevice
.
trx_write_func
(
&
UE
->
rfdevice
,
timestamp
+
(
2
*
UE
->
frame_parms
.
samples_per_tti
)
-
UE
->
frame_parms
.
ofdm_symbol_size
-
UE
->
frame_parms
.
nb_prefix_samples0
-
openair0_cfg
[
0
].
tx_sample_advance
,
txp
,
UE
->
frame_parms
.
samples_per_tti
-
rx_off_diff
,
UE
->
frame_parms
.
nb_antennas_tx
,
1
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
0
);
// read in first symbol of next frame and adjust for timing drift
rxs
=
UE
->
rfdevice
.
trx_read_func
(
&
UE
->
rfdevice
,
&
timestamp1
,
...
...
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