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
lizhongxiao
OpenXG-RAN
Commits
3651852e
Commit
3651852e
authored
Dec 07, 2017
by
Xu Bo
Committed by
jftt
Dec 07, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.NUMBER_OF_UE_MAX 16 -> 256 2.fix type of UE number from uint8_t to uint16_t
parent
9f1828be
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
111 additions
and
50 deletions
+111
-50
openair1/PHY/INIT/lte_init.c
openair1/PHY/INIT/lte_init.c
+12
-9
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
+2
-2
openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c
+1
-1
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
+1
-1
openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
...air1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
+1
-1
openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
+3
-3
openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
+8
-8
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
+1
-1
openair1/PHY/LTE_TRANSPORT/dci_tools.c
openair1/PHY/LTE_TRANSPORT/dci_tools.c
+22
-5
openair1/PHY/LTE_TRANSPORT/proto.h
openair1/PHY/LTE_TRANSPORT/proto.h
+8
-2
openair1/PHY/LTE_TRANSPORT/uci_tools.c
openair1/PHY/LTE_TRANSPORT/uci_tools.c
+9
-2
openair1/SCHED/defs.h
openair1/SCHED/defs.h
+4
-2
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+8
-5
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+4
-0
openair1/SCHED/phy_procedures_lte_ue.c
openair1/SCHED/phy_procedures_lte_ue.c
+2
-2
openair1/SCHED/pusch_pc.c
openair1/SCHED/pusch_pc.c
+8
-3
openair2/COMMON/platform_types.h
openair2/COMMON/platform_types.h
+4
-0
openair2/LAYER2/MAC/proto.h
openair2/LAYER2/MAC/proto.h
+1
-1
openair2/LAYER2/RLC/rlc_mac.c
openair2/LAYER2/RLC/rlc_mac.c
+1
-1
openair2/RRC/LITE/rrc_UE.c
openair2/RRC/LITE/rrc_UE.c
+1
-1
targets/COMMON/openairinterface5g_limits.h
targets/COMMON/openairinterface5g_limits.h
+10
-0
No files found.
openair1/PHY/INIT/lte_init.c
View file @
3651852e
...
...
@@ -297,7 +297,7 @@ void phy_config_request(PHY_Config_t *phy_config) {
LOG_I
(
PHY
,
"eNB %d/%d configured
\n
"
,
Mod_id
,
CC_id
);
}
void
phy_config_sib1_ue
(
uint8
_t
Mod_id
,
int
CC_id
,
void
phy_config_sib1_ue
(
module_id
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
TDD_Config_t
*
tdd_Config
,
uint8_t
SIwindowsize
,
...
...
@@ -458,7 +458,7 @@ void phy_config_sib1_ue(uint8_t Mod_id,int CC_id,
}
*/
void
phy_config_sib2_ue
(
uint8
_t
Mod_id
,
int
CC_id
,
void
phy_config_sib2_ue
(
module_id
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
RadioResourceConfigCommonSIB_t
*
radioResourceConfigCommon
,
ARFCN_ValueEUTRA_t
*
ul_CarrierFreq
,
...
...
@@ -582,7 +582,7 @@ void phy_config_sib2_ue(uint8_t Mod_id,int CC_id,
}
void
phy_config_sib13_ue
(
uint8
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
int
mbsfn_Area_idx
,
void
phy_config_sib13_ue
(
module_id
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
int
mbsfn_Area_idx
,
long
mbsfn_AreaId_r9
)
{
...
...
@@ -601,7 +601,7 @@ void phy_config_sib13_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,int mbsfn_Area_
}
void
phy_config_sib13_eNB
(
uint8
_t
Mod_id
,
int
CC_id
,
int
mbsfn_Area_idx
,
void
phy_config_sib13_eNB
(
module_id
_t
Mod_id
,
int
CC_id
,
int
mbsfn_Area_idx
,
long
mbsfn_AreaId_r9
)
{
...
...
@@ -621,8 +621,11 @@ void phy_config_sib13_eNB(uint8_t Mod_id,int CC_id,int mbsfn_Area_idx,
void
phy_config_dedicated_eNB_step2
(
PHY_VARS_eNB
*
eNB
)
{
#ifndef UE_EXPANSION
uint8_t
UE_id
;
#else
uint16_t
UE_id
;
#endif
struct
PhysicalConfigDedicated
*
physicalConfigDedicated
;
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
...
...
@@ -742,7 +745,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
/*
* Configures UE MAC and PHY with radioResourceCommon received in mobilityControlInfo IE during Handover
*/
void
phy_config_afterHO_ue
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_id
,
MobilityControlInfo_t
*
mobilityControlInfo
,
uint8_t
ho_failed
)
void
phy_config_afterHO_ue
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_id
,
MobilityControlInfo_t
*
mobilityControlInfo
,
uint8_t
ho_failed
)
{
if
(
mobilityControlInfo
!=
NULL
)
{
...
...
@@ -865,7 +868,7 @@ void phy_config_afterHO_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_id, Mobility
}
}
void
phy_config_meas_ue
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
,
uint8_t
n_adj_cells
,
unsigned
int
*
adj_cell_id
)
void
phy_config_meas_ue
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
,
uint8_t
n_adj_cells
,
unsigned
int
*
adj_cell_id
)
{
PHY_MEASUREMENTS
*
phy_meas
=
&
PHY_vars_UE_g
[
Mod_id
][
CC_id
]
->
measurements
;
...
...
@@ -1007,7 +1010,7 @@ void phy_config_dedicated_scell_ue(uint8_t Mod_id,
#endif
void
phy_config_harq_ue
(
uint8
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
void
phy_config_harq_ue
(
module_id
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
uint16_t
max_harq_tx
)
{
...
...
@@ -1017,7 +1020,7 @@ void phy_config_harq_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,
extern
uint16_t
beta_cqi
[
16
];
void
phy_config_dedicated_ue
(
uint8
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
void
phy_config_dedicated_ue
(
module_id
_t
Mod_id
,
int
CC_id
,
uint8_t
eNB_id
,
struct
PhysicalConfigDedicated
*
physicalConfigDedicated
)
{
...
...
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
View file @
3651852e
...
...
@@ -33,7 +33,7 @@
void
lte_adjust_synch
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
PHY_VARS_UE
*
ue
,
unsigned
char
eNB_id
,
module_id_t
eNB_id
,
uint8_t
subframe
,
unsigned
char
clear
,
short
coef
)
...
...
@@ -225,7 +225,7 @@ int lte_est_timing_advance(LTE_DL_FRAME_PARMS *frame_parms,
}
int
lte_est_timing_advance_pusch
(
PHY_VARS_eNB
*
eNB
,
uint8
_t
UE_id
)
int
lte_est_timing_advance_pusch
(
PHY_VARS_eNB
*
eNB
,
module_id
_t
UE_id
)
{
int
temp
,
i
,
aa
,
max_pos
=
0
,
max_val
=
0
;
short
Re
,
Im
;
...
...
openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c
View file @
3651852e
...
...
@@ -28,7 +28,7 @@
//#define DEBUG_BF_CH
int
lte_dl_bf_channel_estimation
(
PHY_VARS_UE
*
phy_vars_ue
,
uint8
_t
eNB_id
,
module_id
_t
eNB_id
,
uint8_t
eNB_offset
,
unsigned
char
Ns
,
unsigned
char
p
,
...
...
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
View file @
3651852e
...
...
@@ -30,7 +30,7 @@
//#define DEBUG_CH
int
lte_dl_channel_estimation
(
PHY_VARS_UE
*
ue
,
uint8
_t
eNB_id
,
module_id
_t
eNB_id
,
uint8_t
eNB_offset
,
unsigned
char
Ns
,
unsigned
char
p
,
...
...
openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
View file @
3651852e
...
...
@@ -27,7 +27,7 @@
//#define DEBUG_CH
int
lte_dl_mbsfn_channel_estimation
(
PHY_VARS_UE
*
ue
,
uint8
_t
eNB_id
,
module_id
_t
eNB_id
,
uint8_t
eNB_offset
,
int
subframe
,
unsigned
char
l
)
...
...
openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
View file @
3651852e
...
...
@@ -34,7 +34,7 @@ int32_t rx_power_avg_eNB[3];
void
lte_eNB_I0_measurements
(
PHY_VARS_eNB
*
eNB
,
int
subframe
,
unsigned
char
eNB_id
,
module_id_t
eNB_id
,
unsigned
char
clear
)
{
...
...
@@ -115,8 +115,8 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *eNB,
}
void
lte_eNB_srs_measurements
(
PHY_VARS_eNB
*
eNB
,
unsigned
char
eNB_id
,
unsigned
char
UE_id
,
module_id_t
eNB_id
,
module_id_t
UE_id
,
unsigned
char
init_averaging
)
{
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
...
...
openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
View file @
3651852e
...
...
@@ -60,7 +60,7 @@ void print_ints(char *s,int *x)
#endif
int16_t
get_PL
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
int16_t
get_PL
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
{
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
@@ -86,7 +86,7 @@ int16_t get_PL(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
}
uint8_t
get_n_adj_cells
(
uint8
_t
Mod_id
,
uint8_t
CC_id
)
uint8_t
get_n_adj_cells
(
module_id
_t
Mod_id
,
uint8_t
CC_id
)
{
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
@@ -97,7 +97,7 @@ uint8_t get_n_adj_cells (uint8_t Mod_id,uint8_t CC_id)
return
0
;
}
uint32_t
get_rx_total_gain_dB
(
uint8
_t
Mod_id
,
uint8_t
CC_id
)
uint32_t
get_rx_total_gain_dB
(
module_id
_t
Mod_id
,
uint8_t
CC_id
)
{
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
@@ -107,7 +107,7 @@ uint32_t get_rx_total_gain_dB (uint8_t Mod_id,uint8_t CC_id)
return
0xFFFFFFFF
;
}
uint32_t
get_RSSI
(
uint8
_t
Mod_id
,
uint8_t
CC_id
)
uint32_t
get_RSSI
(
module_id
_t
Mod_id
,
uint8_t
CC_id
)
{
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
@@ -117,7 +117,7 @@ uint32_t get_RSSI (uint8_t Mod_id,uint8_t CC_id)
return
0xFFFFFFFF
;
}
double
get_RSRP
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
double
get_RSRP
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
{
AssertFatal
(
PHY_vars_UE_g
!=
NULL
,
"PHY_vars_UE_g is null
\n
"
);
...
...
@@ -133,7 +133,7 @@ double get_RSRP(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
return
-
140
.
0
;
}
uint32_t
get_RSRQ
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
uint32_t
get_RSRQ
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
{
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
@@ -144,7 +144,7 @@ uint32_t get_RSRQ(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
return
0xFFFFFFFF
;
}
int8_t
set_RSRP_filtered
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
,
float
rsrp
)
int8_t
set_RSRP_filtered
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
,
float
rsrp
)
{
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
@@ -158,7 +158,7 @@ int8_t set_RSRP_filtered(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index,float rs
return
-
1
;
}
int8_t
set_RSRQ_filtered
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
,
float
rsrq
)
int8_t
set_RSRQ_filtered
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
,
float
rsrq
)
{
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
View file @
3651852e
...
...
@@ -36,7 +36,7 @@ static int16_t ru_90c[2*128] = {32767, 0,32766, -402,32758, -804,32746, -1206,32
int32_t
lte_ul_channel_estimation
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
,
uint8
_t
UE_id
,
module_id
_t
UE_id
,
unsigned
char
l
,
unsigned
char
Ns
)
{
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
3651852e
...
...
@@ -800,11 +800,19 @@ void generate_RIV_tables()
// n_tilde_PRB(2,3) = (3,5)
// n_tilde_PRB(0,1) = (0,2)
#ifndef UE_EXPANSION
int8_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#else
int16_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#endif
{
#ifndef UE_EXPANSION
uint8_t
i
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
...
...
@@ -822,10 +830,19 @@ int8_t find_dlsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type)
return
first_free_index
;
}
#ifndef UE_EXPANSION
int8_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#else
int16_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#endif
{
#ifndef UE_EXPANSION
uint8_t
i
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
...
...
@@ -2544,14 +2561,14 @@ void fill_dci0(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,
}
}
void
fill_ulsch
(
PHY_VARS_eNB
*
eNB
,
nfapi_ul_config_ulsch_pdu
*
ulsch_pdu
,
int
frame
,
int
subframe
)
void
fill_ulsch
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
nfapi_ul_config_ulsch_pdu
*
ulsch_pdu
,
int
frame
,
int
subframe
)
{
uint8_t
harq_pid
;
uint8_t
UE_id
;
//
uint8_t UE_id;
boolean_t
new_ulsch
=
(
find_ulsch
(
ulsch_pdu
->
ulsch_pdu_rel8
.
rnti
,
eNB
,
SEARCH_EXIST
)
==-
1
)
?
TRUE
:
FALSE
;
AssertFatal
((
UE_id
=
find_ulsch
(
ulsch_pdu
->
ulsch_pdu_rel8
.
rnti
,
eNB
,
SEARCH_EXIST_OR_FREE
))
>=
0
,
"No existing/free UE ULSCH for rnti %x
\n
"
,
ulsch_pdu
->
ulsch_pdu_rel8
.
rnti
);
//
AssertFatal((UE_id=find_ulsch(ulsch_pdu->ulsch_pdu_rel8.rnti,eNB,SEARCH_EXIST_OR_FREE))>=0,
//
"No existing/free UE ULSCH for rnti %x\n",ulsch_pdu->ulsch_pdu_rel8.rnti);
LTE_eNB_ULSCH_t
*
ulsch
=
eNB
->
ulsch
[
UE_id
];
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
...
...
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
3651852e
...
...
@@ -1725,7 +1725,7 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d
void
fill_dci0
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_hi_dci0_dci_pdu
*
pdu
);
void
fill_ulsch
(
PHY_VARS_eNB
*
eNB
,
nfapi_ul_config_ulsch_pdu
*
ulsch_pdu
,
int
frame
,
int
subframe
);
void
fill_ulsch
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
nfapi_ul_config_ulsch_pdu
*
ulsch_pdu
,
int
frame
,
int
subframe
);
int32_t
generate_eNB_dlsch_params_from_dci
(
int
frame
,
uint8_t
subframe
,
...
...
@@ -2253,12 +2253,18 @@ uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t
ul_subframe2pdcch_alloc_subframe
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
uint8_t
n
);
#ifndef UE_EXPANSION
int8_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int8_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int8_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
#else
int16_t
find_dlsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int16_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
int16_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
);
#endif
/**@}*/
#endif
openair1/PHY/LTE_TRANSPORT/uci_tools.c
View file @
3651852e
...
...
@@ -788,11 +788,18 @@ void print_CQI(void *o,UCI_format_t uci_format,unsigned char eNB_id,int N_RB_DL)
}
#ifndef UE_EXPANSION
int8_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
{
#else
int16_t
find_uci
(
uint16_t
rnti
,
int
frame
,
int
subframe
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
{
#endif
#ifndef UE_EXPANSION
uint8_t
i
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
if
((
eNB
->
uci_vars
[
i
].
active
>
0
)
&&
...
...
openair1/SCHED/defs.h
View file @
3651852e
...
...
@@ -503,9 +503,11 @@ LTE_DL_FRAME_PARMS *get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id);
MU_MIMO_mode
*
get_mu_mimo_mode
(
module_id_t
Mod_id
,
uint8_t
CC_id
,
rnti_t
rnti
);
int16_t
get_hundred_times_delta_IF
(
PHY_VARS_UE
*
phy_vars_ue
,
uint8_t
eNB_id
,
uint8_t
harq_pid
);
#ifndef UE_EXPANSION
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
phy_vars_eNB
,
uint8_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
);
#else
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
phy_vars_eNB
,
uint16_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
);
#endif
int16_t
get_hundred_times_delta_IF_mac
(
module_id_t
module_idP
,
uint8_t
CC_id
,
rnti_t
rnti
,
uint8_t
harq_pid
);
int16_t
get_target_pusch_rx_power
(
module_id_t
module_idP
,
uint8_t
CC_id
);
...
...
openair1/SCHED/fapi_l1.c
View file @
3651852e
...
...
@@ -485,8 +485,11 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
uint16_t
frame
,
uint8_t
subframe
,
uint8_t
srs_present
)
{
nfapi_ul_config_ulsch_pdu_rel8_t
*
rel8
=
&
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
;
#ifndef UE_EXPANSION
int8_t
UE_id
;
#else
int16_t
UE_id
;
#endif
// check if we have received a dci for this ue and ulsch descriptor is configured
...
...
@@ -496,14 +499,14 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
LOG_D
(
PHY
,
"Applying UL config for UE %d, rnti %x for frame %d, subframe %d
\n
"
,
UE_id
,
rel8
->
rnti
,
frame
,
subframe
);
fill_ulsch
(
eNB
,
&
ul_config_pdu
->
ulsch_pdu
,
frame
,
subframe
);
fill_ulsch
(
eNB
,
UE_id
,
&
ul_config_pdu
->
ulsch_pdu
,
frame
,
subframe
);
}
else
if
(
ul_config_pdu
->
pdu_type
==
NFAPI_UL_CONFIG_ULSCH_HARQ_PDU_TYPE
)
{
AssertFatal
((
UE_id
=
find_ulsch
(
ul_config_pdu
->
ulsch_harq_pdu
.
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
,
eNB
,
SEARCH_EXIST_OR_FREE
))
>=
0
,
"No available UE ULSCH for rnti %x
\n
"
,
ul_config_pdu
->
ulsch_harq_pdu
.
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
);
fill_ulsch
(
eNB
,
&
ul_config_pdu
->
ulsch_harq_pdu
.
ulsch_pdu
,
frame
,
subframe
);
fill_ulsch
(
eNB
,
UE_id
,
&
ul_config_pdu
->
ulsch_harq_pdu
.
ulsch_pdu
,
frame
,
subframe
);
handle_ulsch_harq_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
&
ul_config_pdu
->
ulsch_harq_pdu
.
harq_information
,
frame
,
subframe
);
...
...
@@ -512,7 +515,7 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
AssertFatal
((
UE_id
=
find_ulsch
(
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
,
eNB
,
SEARCH_EXIST_OR_FREE
))
>=
0
,
"No available UE ULSCH for rnti %x
\n
"
,
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
);
fill_ulsch
(
eNB
,
&
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
ulsch_pdu
,
frame
,
subframe
);
fill_ulsch
(
eNB
,
UE_id
,
&
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
ulsch_pdu
,
frame
,
subframe
);
handle_ulsch_cqi_ri_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
frame
,
subframe
);
}
...
...
@@ -520,7 +523,7 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
AssertFatal
((
UE_id
=
find_ulsch
(
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
,
eNB
,
SEARCH_EXIST_OR_FREE
))
>=
0
,
"No available UE ULSCH for rnti %x
\n
"
,
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
);
fill_ulsch
(
eNB
,
&
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
ulsch_pdu
,
frame
,
subframe
);
fill_ulsch
(
eNB
,
UE_id
,
&
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
ulsch_pdu
,
frame
,
subframe
);
handle_ulsch_cqi_harq_ri_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
frame
,
subframe
);
handle_ulsch_harq_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
&
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
harq_information
,
frame
,
subframe
);
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
3651852e
...
...
@@ -394,7 +394,11 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
int
subframe
=
proc
->
subframe_tx
;
uint32_t
i
,
aa
;
uint8_t
harq_pid
;
#ifndef UE_EXPANSION
int8_t
UE_id
=
0
;
#else
int16_t
UE_id
=
0
;
#endif
uint8_t
num_pdcch_symbols
=
0
;
uint8_t
num_dci
=
0
;
uint8_t
ul_subframe
;
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
3651852e
...
...
@@ -251,7 +251,7 @@ void dump_dlsch_ra(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t s
write_output
(
"dlsch_mag2.m"
,
"dlschmag2"
,
ue
->
pdsch_vars_ra
[
0
]
->
dl_ch_magb0
,
300
*
nsymb
,
1
,
1
);
}
void
phy_reset_ue
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
void
phy_reset_ue
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint8_t
eNB_index
)
{
// This flushes ALL DLSCH and ULSCH harq buffers of ALL connected eNBs...add the eNB_index later
...
...
@@ -351,7 +351,7 @@ void process_timing_advance_rar(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint16_t ti
}
void
process_timing_advance
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
int16_t
timing_advance
)
void
process_timing_advance
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
int16_t
timing_advance
)
{
// uint32_t frame = PHY_vars_UE_g[Mod_id]->frame;
...
...
openair1/SCHED/pusch_pc.c
View file @
3651852e
...
...
@@ -38,8 +38,11 @@
// This is the formula from Section 5.1.1.1 in 36.213 100*10*log10((2^(MPR*Ks)-1)), where MPR is in the range [0,6] and Ks=1.25
int16_t
hundred_times_delta_TF
[
100
]
=
{
-
32768
,
-
1268
,
-
956
,
-
768
,
-
631
,
-
523
,
-
431
,
-
352
,
-
282
,
-
219
,
-
161
,
-
107
,
-
57
,
-
9
,
36
,
79
,
120
,
159
,
197
,
234
,
269
,
304
,
337
,
370
,
402
,
434
,
465
,
495
,
525
,
555
,
583
,
612
,
640
,
668
,
696
,
723
,
750
,
777
,
803
,
829
,
856
,
881
,
907
,
933
,
958
,
983
,
1008
,
1033
,
1058
,
1083
,
1108
,
1132
,
1157
,
1181
,
1205
,
1229
,
1254
,
1278
,
1302
,
1325
,
1349
,
1373
,
1397
,
1421
,
1444
,
1468
,
1491
,
1515
,
1538
,
1562
,
1585
,
1609
,
1632
,
1655
,
1679
,
1702
,
1725
,
1748
,
1772
,
1795
,
1818
,
1841
,
1864
,
1887
,
1910
,
1933
,
1956
,
1980
,
2003
,
2026
,
2049
,
2072
,
2095
,
2118
,
2141
,
2164
,
2186
,
2209
,
2232
,
2255
};
uint16_t
hundred_times_log10_NPRB
[
100
]
=
{
0
,
301
,
477
,
602
,
698
,
778
,
845
,
903
,
954
,
1000
,
1041
,
1079
,
1113
,
1146
,
1176
,
1204
,
1230
,
1255
,
1278
,
1301
,
1322
,
1342
,
1361
,
1380
,
1397
,
1414
,
1431
,
1447
,
1462
,
1477
,
1491
,
1505
,
1518
,
1531
,
1544
,
1556
,
1568
,
1579
,
1591
,
1602
,
1612
,
1623
,
1633
,
1643
,
1653
,
1662
,
1672
,
1681
,
1690
,
1698
,
1707
,
1716
,
1724
,
1732
,
1740
,
1748
,
1755
,
1763
,
1770
,
1778
,
1785
,
1792
,
1799
,
1806
,
1812
,
1819
,
1826
,
1832
,
1838
,
1845
,
1851
,
1857
,
1863
,
1869
,
1875
,
1880
,
1886
,
1892
,
1897
,
1903
,
1908
,
1913
,
1919
,
1924
,
1929
,
1934
,
1939
,
1944
,
1949
,
1954
,
1959
,
1963
,
1968
,
1973
,
1977
,
1982
,
1986
,
1991
,
1995
,
2000
};
#ifndef UE_EXPANSION
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
eNB
,
uint8_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
)
#else
int16_t
get_hundred_times_delta_IF_eNB
(
PHY_VARS_eNB
*
eNB
,
uint16_t
UE_id
,
uint8_t
harq_pid
,
uint8_t
bw_factor
)
#endif
{
uint32_t
Nre
,
sumKr
,
MPR_x100
,
Kr
,
r
;
...
...
@@ -90,9 +93,11 @@ int16_t get_hundred_times_delta_IF_eNB(PHY_VARS_eNB *eNB,uint8_t UE_id,uint8_t h
int16_t
get_hundred_times_delta_IF_mac
(
module_id_t
module_idP
,
uint8_t
CC_id
,
rnti_t
rnti
,
uint8_t
harq_pid
)
{
#ifndef UE_EXPANSION
int8_t
UE_id
;
#else
int16_t
UE_id
;
#endif
if
((
RC
.
eNB
==
NULL
)
||
(
module_idP
>
RC
.
nb_inst
)
||
(
CC_id
>
RC
.
nb_CC
[
module_idP
]))
{
LOG_E
(
PHY
,
"get_UE_stats: No eNB found (or not allocated) for Mod_id %d,CC_id %d
\n
"
,
module_idP
,
CC_id
);
return
-
1
;
...
...
openair2/COMMON/platform_types.h
View file @
3651852e
...
...
@@ -68,7 +68,11 @@ typedef int32_t sdu_size_t;
typedef
uint32_t
frame_t
;
typedef
int32_t
sframe_t
;
typedef
uint32_t
sub_frame_t
;
#ifndef UE_EXPANSION
typedef
uint8_t
module_id_t
;
#else
typedef
uint16_t
module_id_t
;
#endif
typedef
uint8_t
eNB_index_t
;
typedef
uint16_t
ue_id_t
;
typedef
int16_t
smodule_id_t
;
...
...
openair2/LAYER2/MAC/proto.h
View file @
3651852e
...
...
@@ -512,7 +512,7 @@ void ue_send_mch_sdu(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
@param[out] sync_area return the sync area
@param[out] mcch_active flag indicating whether this MCCH is active in this SF
*/
int
ue_query_mch
(
uint8
_t
Mod_id
,
uint8_t
CC_id
,
uint32_t
frame
,
int
ue_query_mch
(
module_id
_t
Mod_id
,
uint8_t
CC_id
,
uint32_t
frame
,
sub_frame_t
subframe
,
uint8_t
eNB_index
,
uint8_t
*
sync_area
,
uint8_t
*
mcch_active
);
...
...
openair2/LAYER2/RLC/rlc_mac.c
View file @
3651852e
...
...
@@ -222,7 +222,7 @@ tbs_size_t mac_rlc_data_req(
void
mac_rlc_data_ind
(
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
module_id
_t
eNB_index
,
const
eNB_index
_t
eNB_index
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
...
...
openair2/RRC/LITE/rrc_UE.c
View file @
3651852e
...
...
@@ -137,7 +137,7 @@ static void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol
static
void
rrc_ue_generate_MeasurementReport
(
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
eNB_index
);
static
uint8_t
check_trigger_meas_event
(
uint8
_t
module_idP
,
module_id
_t
module_idP
,
frame_t
frameP
,
uint8_t
eNB_index
,
uint8_t
ue_cnx_index
,
...
...
targets/COMMON/openairinterface5g_limits.h
View file @
3651852e
...
...
@@ -4,13 +4,23 @@
#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR)
# define NUMBER_OF_eNB_MAX 1
# define NUMBER_OF_RU_MAX 2
#ifndef UE_EXPANSION
# define NUMBER_OF_UE_MAX 16
# define NUMBER_OF_CONNECTED_eNB_MAX 3
#else
# define NUMBER_OF_UE_MAX 256
# define NUMBER_OF_CONNECTED_eNB_MAX 1
#endif
#else
# define NUMBER_OF_eNB_MAX 7
# define NUMBER_OF_RU_MAX 32
#ifndef UE_EXPANSION
# define NUMBER_OF_UE_MAX 20
# define NUMBER_OF_CONNECTED_eNB_MAX 3
#else
# define NUMBER_OF_UE_MAX 256
# define NUMBER_OF_CONNECTED_eNB_MAX 1
#endif
# if defined(STANDALONE) && STANDALONE==1
# undef NUMBER_OF_eNB_MAX
...
...
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