Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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 UE
Commits
182c73df
Commit
182c73df
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
5d8bd32f
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 @
182c73df
...
@@ -297,7 +297,7 @@ void phy_config_request(PHY_Config_t *phy_config) {
...
@@ -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
);
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
,
uint8_t
eNB_id
,
TDD_Config_t
*
tdd_Config
,
TDD_Config_t
*
tdd_Config
,
uint8_t
SIwindowsize
,
uint8_t
SIwindowsize
,
...
@@ -458,7 +458,7 @@ void phy_config_sib1_ue(uint8_t Mod_id,int CC_id,
...
@@ -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
,
uint8_t
eNB_id
,
RadioResourceConfigCommonSIB_t
*
radioResourceConfigCommon
,
RadioResourceConfigCommonSIB_t
*
radioResourceConfigCommon
,
ARFCN_ValueEUTRA_t
*
ul_CarrierFreq
,
ARFCN_ValueEUTRA_t
*
ul_CarrierFreq
,
...
@@ -582,7 +582,7 @@ void phy_config_sib2_ue(uint8_t Mod_id,int CC_id,
...
@@ -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
)
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_
...
@@ -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
)
long
mbsfn_AreaId_r9
)
{
{
...
@@ -621,8 +621,11 @@ void phy_config_sib13_eNB(uint8_t Mod_id,int CC_id,int mbsfn_Area_idx,
...
@@ -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
)
void
phy_config_dedicated_eNB_step2
(
PHY_VARS_eNB
*
eNB
)
{
{
#ifndef UE_EXPANSION
uint8_t
UE_id
;
uint8_t
UE_id
;
#else
uint16_t
UE_id
;
#endif
struct
PhysicalConfigDedicated
*
physicalConfigDedicated
;
struct
PhysicalConfigDedicated
*
physicalConfigDedicated
;
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
LTE_DL_FRAME_PARMS
*
fp
=&
eNB
->
frame_parms
;
...
@@ -742,7 +745,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *eNB)
...
@@ -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
* 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
)
{
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
...
@@ -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
;
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,
...
@@ -1007,7 +1010,7 @@ void phy_config_dedicated_scell_ue(uint8_t Mod_id,
#endif
#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
)
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,
...
@@ -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
];
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
)
struct
PhysicalConfigDedicated
*
physicalConfigDedicated
)
{
{
...
...
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync.c
View file @
182c73df
...
@@ -33,7 +33,7 @@
...
@@ -33,7 +33,7 @@
void
lte_adjust_synch
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
void
lte_adjust_synch
(
LTE_DL_FRAME_PARMS
*
frame_parms
,
PHY_VARS_UE
*
ue
,
PHY_VARS_UE
*
ue
,
unsigned
char
eNB_id
,
module_id_t
eNB_id
,
uint8_t
subframe
,
uint8_t
subframe
,
unsigned
char
clear
,
unsigned
char
clear
,
short
coef
)
short
coef
)
...
@@ -225,7 +225,7 @@ int lte_est_timing_advance(LTE_DL_FRAME_PARMS *frame_parms,
...
@@ -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
;
int
temp
,
i
,
aa
,
max_pos
=
0
,
max_val
=
0
;
short
Re
,
Im
;
short
Re
,
Im
;
...
...
openair1/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c
View file @
182c73df
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
//#define DEBUG_BF_CH
//#define DEBUG_BF_CH
int
lte_dl_bf_channel_estimation
(
PHY_VARS_UE
*
phy_vars_ue
,
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
,
uint8_t
eNB_offset
,
unsigned
char
Ns
,
unsigned
char
Ns
,
unsigned
char
p
,
unsigned
char
p
,
...
...
openair1/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
View file @
182c73df
...
@@ -30,7 +30,7 @@
...
@@ -30,7 +30,7 @@
//#define DEBUG_CH
//#define DEBUG_CH
int
lte_dl_channel_estimation
(
PHY_VARS_UE
*
ue
,
int
lte_dl_channel_estimation
(
PHY_VARS_UE
*
ue
,
uint8
_t
eNB_id
,
module_id
_t
eNB_id
,
uint8_t
eNB_offset
,
uint8_t
eNB_offset
,
unsigned
char
Ns
,
unsigned
char
Ns
,
unsigned
char
p
,
unsigned
char
p
,
...
...
openair1/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
View file @
182c73df
...
@@ -27,7 +27,7 @@
...
@@ -27,7 +27,7 @@
//#define DEBUG_CH
//#define DEBUG_CH
int
lte_dl_mbsfn_channel_estimation
(
PHY_VARS_UE
*
ue
,
int
lte_dl_mbsfn_channel_estimation
(
PHY_VARS_UE
*
ue
,
uint8
_t
eNB_id
,
module_id
_t
eNB_id
,
uint8_t
eNB_offset
,
uint8_t
eNB_offset
,
int
subframe
,
int
subframe
,
unsigned
char
l
)
unsigned
char
l
)
...
...
openair1/PHY/LTE_ESTIMATION/lte_eNB_measurements.c
View file @
182c73df
...
@@ -34,7 +34,7 @@ int32_t rx_power_avg_eNB[3];
...
@@ -34,7 +34,7 @@ int32_t rx_power_avg_eNB[3];
void
lte_eNB_I0_measurements
(
PHY_VARS_eNB
*
eNB
,
void
lte_eNB_I0_measurements
(
PHY_VARS_eNB
*
eNB
,
int
subframe
,
int
subframe
,
unsigned
char
eNB_id
,
module_id_t
eNB_id
,
unsigned
char
clear
)
unsigned
char
clear
)
{
{
...
@@ -115,8 +115,8 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *eNB,
...
@@ -115,8 +115,8 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *eNB,
}
}
void
lte_eNB_srs_measurements
(
PHY_VARS_eNB
*
eNB
,
void
lte_eNB_srs_measurements
(
PHY_VARS_eNB
*
eNB
,
unsigned
char
eNB_id
,
module_id_t
eNB_id
,
unsigned
char
UE_id
,
module_id_t
UE_id
,
unsigned
char
init_averaging
)
unsigned
char
init_averaging
)
{
{
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
...
...
openair1/PHY/LTE_ESTIMATION/lte_ue_measurements.c
View file @
182c73df
...
@@ -60,7 +60,7 @@ void print_ints(char *s,int *x)
...
@@ -60,7 +60,7 @@ void print_ints(char *s,int *x)
#endif
#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
];
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)
...
@@ -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
];
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)
...
@@ -97,7 +97,7 @@ uint8_t get_n_adj_cells (uint8_t Mod_id,uint8_t CC_id)
return
0
;
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
];
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)
...
@@ -107,7 +107,7 @@ uint32_t get_rx_total_gain_dB (uint8_t Mod_id,uint8_t CC_id)
return
0xFFFFFFFF
;
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
];
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)
...
@@ -117,7 +117,7 @@ uint32_t get_RSSI (uint8_t Mod_id,uint8_t CC_id)
return
0xFFFFFFFF
;
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
"
);
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)
...
@@ -133,7 +133,7 @@ double get_RSRP(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
return
-
140
.
0
;
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
];
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)
...
@@ -144,7 +144,7 @@ uint32_t get_RSRQ(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index)
return
0xFFFFFFFF
;
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
];
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
...
@@ -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
;
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
];
PHY_VARS_UE
*
ue
=
PHY_vars_UE_g
[
Mod_id
][
CC_id
];
...
...
openair1/PHY/LTE_ESTIMATION/lte_ul_channel_estimation.c
View file @
182c73df
...
@@ -36,7 +36,7 @@ static int16_t ru_90c[2*128] = {32767, 0,32766, -402,32758, -804,32746, -1206,32
...
@@ -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
,
int32_t
lte_ul_channel_estimation
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
,
eNB_rxtx_proc_t
*
proc
,
uint8
_t
UE_id
,
module_id
_t
UE_id
,
unsigned
char
l
,
unsigned
char
l
,
unsigned
char
Ns
)
{
unsigned
char
Ns
)
{
...
...
openair1/PHY/LTE_TRANSPORT/dci_tools.c
View file @
182c73df
...
@@ -800,11 +800,19 @@ void generate_RIV_tables()
...
@@ -800,11 +800,19 @@ void generate_RIV_tables()
// n_tilde_PRB(2,3) = (3,5)
// n_tilde_PRB(2,3) = (3,5)
// n_tilde_PRB(0,1) = (0,2)
// 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
)
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
;
uint8_t
i
;
int8_t
first_free_index
=-
1
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
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)
...
@@ -822,10 +830,19 @@ int8_t find_dlsch(uint16_t rnti, PHY_VARS_eNB *eNB,find_type_t type)
return
first_free_index
;
return
first_free_index
;
}
}
#ifndef UE_EXPANSION
int8_t
find_ulsch
(
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
)
#else
int16_t
find_ulsch
(
uint16_t
rnti
,
PHY_VARS_eNB
*
eNB
,
find_type_t
type
)
#endif
{
{
#ifndef UE_EXPANSION
uint8_t
i
;
uint8_t
i
;
int8_t
first_free_index
=-
1
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
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,
...
@@ -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
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
;
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
,
//
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
);
//
"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_eNB_ULSCH_t
*
ulsch
=
eNB
->
ulsch
[
UE_id
];
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
LTE_DL_FRAME_PARMS
*
frame_parms
=
&
eNB
->
frame_parms
;
...
...
openair1/PHY/LTE_TRANSPORT/proto.h
View file @
182c73df
...
@@ -1725,7 +1725,7 @@ void fill_mdci_and_dlsch(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,mDCI_ALLOC_t *d
...
@@ -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
,
void
fill_dci0
(
PHY_VARS_eNB
*
eNB
,
eNB_rxtx_proc_t
*
proc
,
DCI_ALLOC_t
*
dci_alloc
,
nfapi_hi_dci0_dci_pdu
*
pdu
);
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
,
int32_t
generate_eNB_dlsch_params_from_dci
(
int
frame
,
uint8_t
subframe
,
uint8_t
subframe
,
...
@@ -2253,12 +2253,18 @@ uint8_t get_prach_prb_offset(LTE_DL_FRAME_PARMS *frame_parms,
...
@@ -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
);
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_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_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
);
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
#endif
openair1/PHY/LTE_TRANSPORT/uci_tools.c
View file @
182c73df
...
@@ -788,11 +788,18 @@ void print_CQI(void *o,UCI_format_t uci_format,unsigned char eNB_id,int N_RB_DL)
...
@@ -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
)
{
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
;
uint8_t
i
;
int8_t
first_free_index
=-
1
;
int8_t
first_free_index
=-
1
;
#else
uint16_t
i
;
int16_t
first_free_index
=-
1
;
#endif
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
AssertFatal
(
eNB
!=
NULL
,
"eNB is null
\n
"
);
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
for
(
i
=
0
;
i
<
NUMBER_OF_UE_MAX
;
i
++
)
{
if
((
eNB
->
uci_vars
[
i
].
active
>
0
)
&&
if
((
eNB
->
uci_vars
[
i
].
active
>
0
)
&&
...
...
openair1/SCHED/defs.h
View file @
182c73df
...
@@ -503,9 +503,11 @@ LTE_DL_FRAME_PARMS *get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id);
...
@@ -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
);
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
);
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
);
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_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
);
int16_t
get_target_pusch_rx_power
(
module_id_t
module_idP
,
uint8_t
CC_id
);
...
...
openair1/SCHED/fapi_l1.c
View file @
182c73df
...
@@ -485,8 +485,11 @@ void handle_nfapi_ul_pdu(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,
...
@@ -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
)
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
;
nfapi_ul_config_ulsch_pdu_rel8_t
*
rel8
=
&
ul_config_pdu
->
ulsch_pdu
.
ulsch_pdu_rel8
;
#ifndef UE_EXPANSION
int8_t
UE_id
;
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
// 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,
...
@@ -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
"
,
LOG_D
(
PHY
,
"Applying UL config for UE %d, rnti %x for frame %d, subframe %d
\n
"
,
UE_id
,
rel8
->
rnti
,
frame
,
subframe
);
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
)
{
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
,
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
);
"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
,
handle_ulsch_harq_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
&
ul_config_pdu
->
ulsch_harq_pdu
.
harq_information
,
frame
,
subframe
);
&
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,
...
@@ -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
,
AssertFatal
((
UE_id
=
find_ulsch
(
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
ulsch_pdu
.
ulsch_pdu_rel8
.
rnti
,
eNB
,
SEARCH_EXIST_OR_FREE
))
>=
0
,
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
);
"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
);
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,
...
@@ -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
,
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
,
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
);
"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_cqi_harq_ri_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
frame
,
subframe
);
handle_ulsch_harq_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
handle_ulsch_harq_pdu
(
eNB
,
UE_id
,
ul_config_pdu
,
&
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
harq_information
,
frame
,
subframe
);
&
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
harq_information
,
frame
,
subframe
);
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
182c73df
...
@@ -394,7 +394,11 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
...
@@ -394,7 +394,11 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
int
subframe
=
proc
->
subframe_tx
;
int
subframe
=
proc
->
subframe_tx
;
uint32_t
i
,
aa
;
uint32_t
i
,
aa
;
uint8_t
harq_pid
;
uint8_t
harq_pid
;
#ifndef UE_EXPANSION
int8_t
UE_id
=
0
;
int8_t
UE_id
=
0
;
#else
int16_t
UE_id
=
0
;
#endif
uint8_t
num_pdcch_symbols
=
0
;
uint8_t
num_pdcch_symbols
=
0
;
uint8_t
num_dci
=
0
;
uint8_t
num_dci
=
0
;
uint8_t
ul_subframe
;
uint8_t
ul_subframe
;
...
...
openair1/SCHED/phy_procedures_lte_ue.c
View file @
182c73df
...
@@ -251,7 +251,7 @@ void dump_dlsch_ra(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t s
...
@@ -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
);
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
// 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
...
@@ -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;
// uint32_t frame = PHY_vars_UE_g[Mod_id]->frame;
...
...
openair1/SCHED/pusch_pc.c
View file @
182c73df
...
@@ -38,8 +38,11 @@
...
@@ -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
// 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
};
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
};
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
)
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
;
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
...
@@ -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
)
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
;
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
]))
{
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
);
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
;
return
-
1
;
...
...
openair2/COMMON/platform_types.h
View file @
182c73df
...
@@ -68,7 +68,11 @@ typedef int32_t sdu_size_t;
...
@@ -68,7 +68,11 @@ typedef int32_t sdu_size_t;
typedef
uint32_t
frame_t
;
typedef
uint32_t
frame_t
;
typedef
int32_t
sframe_t
;
typedef
int32_t
sframe_t
;
typedef
uint32_t
sub_frame_t
;
typedef
uint32_t
sub_frame_t
;
#ifndef UE_EXPANSION
typedef
uint8_t
module_id_t
;
typedef
uint8_t
module_id_t
;
#else
typedef
uint16_t
module_id_t
;
#endif
typedef
uint8_t
eNB_index_t
;
typedef
uint8_t
eNB_index_t
;
typedef
uint16_t
ue_id_t
;
typedef
uint16_t
ue_id_t
;
typedef
int16_t
smodule_id_t
;
typedef
int16_t
smodule_id_t
;
...
...
openair2/LAYER2/MAC/proto.h
View file @
182c73df
...
@@ -512,7 +512,7 @@ void ue_send_mch_sdu(module_id_t module_idP, uint8_t CC_id, frame_t frameP,
...
@@ -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] sync_area return the sync area
@param[out] mcch_active flag indicating whether this MCCH is active in this SF
@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
,
sub_frame_t
subframe
,
uint8_t
eNB_index
,
uint8_t
*
sync_area
,
uint8_t
*
mcch_active
);
uint8_t
*
sync_area
,
uint8_t
*
mcch_active
);
...
...
openair2/LAYER2/RLC/rlc_mac.c
View file @
182c73df
...
@@ -222,7 +222,7 @@ tbs_size_t mac_rlc_data_req(
...
@@ -222,7 +222,7 @@ tbs_size_t mac_rlc_data_req(
void
mac_rlc_data_ind
(
void
mac_rlc_data_ind
(
const
module_id_t
module_idP
,
const
module_id_t
module_idP
,
const
rnti_t
rntiP
,
const
rnti_t
rntiP
,
const
module_id
_t
eNB_index
,
const
eNB_index
_t
eNB_index
,
const
frame_t
frameP
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
,
const
eNB_flag_t
enb_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
const
MBMS_flag_t
MBMS_flagP
,
...
...
openair2/RRC/LITE/rrc_UE.c
View file @
182c73df
...
@@ -137,7 +137,7 @@ static void rrc_ue_generate_RRCConnectionReconfigurationComplete( const protocol
...
@@ -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
void
rrc_ue_generate_MeasurementReport
(
protocol_ctxt_t
*
const
ctxt_pP
,
uint8_t
eNB_index
);
static
uint8_t
check_trigger_meas_event
(
static
uint8_t
check_trigger_meas_event
(
uint8
_t
module_idP
,
module_id
_t
module_idP
,
frame_t
frameP
,
frame_t
frameP
,
uint8_t
eNB_index
,
uint8_t
eNB_index
,
uint8_t
ue_cnx_index
,
uint8_t
ue_cnx_index
,
...
...
targets/COMMON/openairinterface5g_limits.h
View file @
182c73df
...
@@ -4,13 +4,23 @@
...
@@ -4,13 +4,23 @@
#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR)
#if defined(CBMIMO1) || defined(EXMIMO) || defined(OAI_USRP) || defined(OAI_LMSSDR)
# define NUMBER_OF_eNB_MAX 1
# define NUMBER_OF_eNB_MAX 1
# define NUMBER_OF_RU_MAX 2
# define NUMBER_OF_RU_MAX 2
#ifndef UE_EXPANSION
# define NUMBER_OF_UE_MAX 16
# define NUMBER_OF_UE_MAX 16
# define NUMBER_OF_CONNECTED_eNB_MAX 3
# define NUMBER_OF_CONNECTED_eNB_MAX 3
#else
#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_eNB_MAX 7
# define NUMBER_OF_RU_MAX 32
# define NUMBER_OF_RU_MAX 32
#ifndef UE_EXPANSION
# define NUMBER_OF_UE_MAX 20
# define NUMBER_OF_UE_MAX 20
# define NUMBER_OF_CONNECTED_eNB_MAX 3
# 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
# if defined(STANDALONE) && STANDALONE==1
# undef NUMBER_OF_eNB_MAX
# 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