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
alex037yang
OpenXG-RAN
Commits
2f5a8c86
Commit
2f5a8c86
authored
Feb 20, 2018
by
root
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
re-adding original TBS table for UL.
parent
f3dc7963
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
48 additions
and
16 deletions
+48
-16
openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
+29
-0
openair1/PHY/LTE_TRANSPORT/extern.h
openair1/PHY/LTE_TRANSPORT/extern.h
+1
-1
openair1/PHY/LTE_TRANSPORT/lte_mcs.c
openair1/PHY/LTE_TRANSPORT/lte_mcs.c
+1
-1
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+2
-2
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
+12
-11
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+3
-1
No files found.
openair1/PHY/LTE_TRANSPORT/dlsch_tbs_full.h
View file @
2f5a8c86
This diff is collapsed.
Click to expand it.
openair1/PHY/LTE_TRANSPORT/extern.h
View file @
2f5a8c86
...
...
@@ -19,7 +19,7 @@
* contact@openairinterface.org
*/
extern
unsigned
int
dlsch_tbs25
[
27
][
25
],
TBStable
[
27
][
110
],
TBStable1C
[
32
];
extern
unsigned
int
dlsch_tbs25
[
27
][
25
],
TBStable
[
27
][
110
],
TBStable1C
[
32
]
,
TBStableUL
[
27
][
110
]
;
extern
unsigned
short
lte_cqi_eff1024
[
16
];
extern
char
lte_cqi_snr_dB
[
15
];
extern
short
conjugate
[
8
],
conjugate2
[
8
];
...
...
openair1/PHY/LTE_TRANSPORT/lte_mcs.c
View file @
2f5a8c86
...
...
@@ -127,7 +127,7 @@ uint32_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb)
uint32_t
TBS
=
0
;
if
((
nb_rb
>
0
)
&&
(
mcs
<
29
))
{
TBS
=
TBStable
[
get_I_TBS_UL
(
mcs
)][
nb_rb
-
1
];
TBS
=
TBStable
UL
[
get_I_TBS_UL
(
mcs
)][
nb_rb
-
1
];
TBS
=
TBS
>>
3
;
return
(
TBS
);
}
else
{
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
2f5a8c86
...
...
@@ -540,8 +540,8 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame
schedule_ue_spec
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
);
}
else
{
if
(
subframeP
==
0
)
schedule_ulsch_phy_test
(
module_idP
,
frameP
,
subframeP
);
//
if (subframeP!=5) schedule_ue_spec_phy_test(module_idP,frameP,subframeP,mbsfn_status);
/*if (subframeP==0)*/
schedule_ulsch_phy_test
(
module_idP
,
frameP
,
subframeP
);
if
(
subframeP
!=
5
)
schedule_ue_spec_phy_test
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
);
}
// Allocate CCEs for good after scheduling is done
...
...
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
View file @
2f5a8c86
...
...
@@ -178,6 +178,9 @@ schedule_ue_spec_phy_test(
0
// number of beamforming vectors, not used here
);
//program_dlsch_acknak(module_idP,CC_id,UE_id,frameP,subframeP,dl_config_pdu->dci_dl_pdu.dci_dl_pdu_rel8.cce_idx);
eNB
->
TX_req
[
CC_id
].
sfn_sf
=
fill_nfapi_tx_req
(
&
eNB
->
TX_req
[
CC_id
].
tx_request_body
,
(
frameP
*
10
)
+
subframeP
,
TBS
,
...
...
@@ -203,7 +206,6 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
int32_t
target_rx_power
=
178
;
int
n
;
int
CC_id
=
0
;
int
N_RB_UL
;
//total number of RB
int
nb_rb
=
4
;
//allocated number of RB
eNB_MAC_INST
*
eNB
=
RC
.
mac
[
module_idP
];
COMMON_channels_t
*
cc
=
eNB
->
common_channels
;
...
...
@@ -222,17 +224,16 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
nfapi_ul_config_request_body_t
*
ul_req
=
&
eNB
->
UL_req
[
CC_id
].
ul_config_request_body
;
ul_config_pdu
=
&
ul_req
->
ul_config_pdu_list
[
0
];
//ul_config_pdu->ulsch_harq_pdu.harq_information.harq_information_rel10.harq_size=1;
eNB
->
UL_req
[
CC_id
].
sfn_sf
=
(
sched_frame
<<
4
)
+
sched_subframe
;
eNB
->
HI_DCI0_req
[
CC_id
].
sfn_sf
=
(
frameP
<<
4
)
+
subframeP
;
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
//rnti = UE_RNTI(module_idP,UE_id);
N_RB_UL
=
to_prb
(
cc
[
CC_id
].
ul_Bandwidth
);
//printf("////////////////////////////////////*************************N_RB_UL = %d\n",N_RB_UL);
//leave out first RB for PUCCH
first_rb
[
CC_id
]
=
1
;
//
loop over all active UEs
//
loop over all active UEs
// if (eNB_UE_stats->mode == PUSCH) { // ue has a ulsch channel
...
...
@@ -267,16 +268,16 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
UE_template
->
TBS_UL
[
harq_pid
]
=
get_TBS_UL
(
UE_template
->
mcs_UL
[
harq_pid
],
N_RB_UL
-
1
);
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_rbs_used_rx
+=
N_RB_UL
-
1
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
ulsch_TBS
=
get_TBS_UL
(
mcs
,
N_RB_UL
-
1
);
UE_template
->
TBS_UL
[
harq_pid
]
=
get_TBS_UL
(
UE_template
->
mcs_UL
[
harq_pid
],
nb_rb
);
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_rbs_used_rx
+=
nb_rb
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
ulsch_TBS
=
get_TBS_UL
(
mcs
,
nb_rb
);
// buffer_occupancy -= TBS;
// bad indices : 20 (40 PRB), 21 (45 PRB), 22 (48 PRB)
//store for possible retransmission
UE_template
->
nb_rb_ul
[
harq_pid
]
=
N_RB_UL
-
1
;
UE_template
->
nb_rb_ul
[
harq_pid
]
=
nb_rb
;
UE_template
->
first_rb_ul
[
harq_pid
]
=
first_rb
[
CC_id
];
UE_sched_ctrl
->
ul_scheduled
|=
(
1
<<
harq_pid
);
...
...
@@ -314,7 +315,7 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
fill_nfapi_ulsch_config_request_rel8
(
&
ul_req
->
ul_config_pdu_list
[
ul_req
->
number_of_pdus
],
cqi_req
,
cc
,
0
,
//
UE_template->physicalConfigDedicated,
UE_template
->
physicalConfigDedicated
,
get_tmode
(
module_idP
,
CC_id
,
UE_id
),
eNB
->
ul_handle
,
rnti
,
...
...
@@ -330,7 +331,7 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
0
,
// ul_tx_mode
0
,
// current_tx_nb
0
,
// n_srs
get_TBS_UL
(
mcs
,
N_RB_UL
-
1
)
get_TBS_UL
(
mcs
,
nb_rb
)
);
#ifdef Rel14
if
(
UE_template
->
rach_resource_type
>
0
)
{
// This is a BL/CE UE allocation
...
...
@@ -353,7 +354,7 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
S_UL_SCHEDULED
);
// increment first rb for next UE allocation
first_rb
[
CC_id
]
+=
N_RB_UL
-
1
;
first_rb
[
CC_id
]
+=
nb_rb
;
}
// loop of CC_id
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
2f5a8c86
...
...
@@ -924,7 +924,8 @@ void program_dlsch_acknak(module_id_t module_idP, int CC_idP,int UE_idP, frame_t
#if defined(Rel10) || defined(Rel14)
if
((
UE_list
->
UE_template
[
CC_idP
][
UE_idP
].
physicalConfigDedicated
->
ext2
)
&&
if
((
UE_list
->
UE_template
[
CC_idP
][
UE_idP
].
physicalConfigDedicated
)
&&
(
UE_list
->
UE_template
[
CC_idP
][
UE_idP
].
physicalConfigDedicated
->
ext2
)
&&
(
UE_list
->
UE_template
[
CC_idP
][
UE_idP
].
physicalConfigDedicated
->
ext2
->
pucch_ConfigDedicated_v1020
)
&&
(
UE_list
->
UE_template
[
CC_idP
][
UE_idP
].
physicalConfigDedicated
->
ext2
->
pucch_ConfigDedicated_v1020
->
simultaneousPUCCH_PUSCH_r10
)
&&
(
*
UE_list
->
UE_template
[
CC_idP
][
UE_idP
].
physicalConfigDedicated
->
ext2
->
pucch_ConfigDedicated_v1020
->
simultaneousPUCCH_PUSCH_r10
==
...
...
@@ -1373,6 +1374,7 @@ void fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *ul_con
else
if
(
cc
->
p_eNB
==
4
)
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
cqi_ri_information
.
cqi_ri_information_rel9
.
aperiodic_cqi_pmi_ri_report
.
cc
[
0
].
ri_size
=
2
;
AssertFatal
(
physicalConfigDedicated
!=
NULL
,
"physicalConfigDedicated is null!
\n
"
);
AssertFatal
(
physicalConfigDedicated
->
cqi_ReportConfig
!=
NULL
,
"physicalConfigDedicated->cqi_ReportConfig is null!
\n
"
);
AssertFatal
(
physicalConfigDedicated
->
cqi_ReportConfig
->
cqi_ReportModeAperiodic
!=
NULL
,
"physicalConfigDedicated->cqi_ReportModeAperiodic is null!
\n
"
);
AssertFatal
(
physicalConfigDedicated
->
pusch_ConfigDedicated
!=
NULL
,
"physicalConfigDedicated->puschConfigDedicated is null!
\n
"
);
...
...
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