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
canghaiwuhen
OpenXG-RAN
Commits
9e1b1064
Commit
9e1b1064
authored
Feb 20, 2018
by
root
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
enabling PUSCH CQI reporting in phy-test mode
parent
23988cd3
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
37 additions
and
15 deletions
+37
-15
maketags
maketags
+1
-1
openair1/SCHED/fapi_l1.c
openair1/SCHED/fapi_l1.c
+3
-3
openair1/SCHED/phy_procedures_lte_eNb.c
openair1/SCHED/phy_procedures_lte_eNb.c
+2
-6
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
+20
-4
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
+11
-1
No files found.
maketags
View file @
9e1b1064
#!/bin/sh
echo
"building ctags for openair1 and openair2 ..."
ctags
-e
-R
--exclude
=
openair1/DOCS/
--exclude
=
openair2/DOCS/
--exclude
=
openair2/RRC/CELLULAR/
--exclude
=
openair2/NAS/DRIVER/CELLULAR/
--exclude
=
openair2/SIMULATION/
--exclude
=
targets/DOCS/
--exclude
=
targets/PROJECTS/ openair1 openair2 openair3 targets cmake_targets common
ctags
-e
-R
--exclude
=
openair1/DOCS/
--exclude
=
openair2/DOCS/
--exclude
=
openair2/RRC/CELLULAR/
--exclude
=
openair2/NAS/DRIVER/CELLULAR/
--exclude
=
openair2/SIMULATION/
--exclude
=
targets/DOCS/
--exclude
=
targets/PROJECTS/ openair1 openair2 openair3 targets cmake_targets common
nfapi
openair1/SCHED/fapi_l1.c
View file @
9e1b1064
...
...
@@ -263,7 +263,7 @@ void handle_ulsch_harq_pdu(
ulsch
->
beta_offset_harqack_times8
=
to_beta_offset_harqack
[
harq_information
->
harq_information_rel10
.
delta_offset_harq
];
}
uint16_t
to_beta_offset_ri
[
16
]
=
{
9
,
13
,
16
,
20
,
25
,
32
,
40
,
50
,
64
,
80
,
101
,
127
,
160
,
0
,
0
,
0
};
uint16_t
to_beta_offset_ri
[
16
]
=
{
10
,
13
,
16
,
20
,
25
,
32
,
40
,
50
,
64
,
80
,
101
,
127
,
160
,
0
,
0
,
0
};
uint16_t
to_beta_offset_cqi
[
16
]
=
{
0
,
0
,
9
,
10
,
11
,
13
,
14
,
16
,
18
,
20
,
23
,
25
,
28
,
32
,
40
,
50
};
void
handle_ulsch_cqi_ri_pdu
(
PHY_VARS_eNB
*
eNB
,
int
UE_id
,
nfapi_ul_config_request_pdu_t
*
ul_config_pdu
,
uint16_t
frame
,
uint8_t
subframe
)
...
...
@@ -281,8 +281,8 @@ void handle_ulsch_cqi_ri_pdu(PHY_VARS_eNB *eNB,int UE_id,nfapi_ul_config_request
if
(
ulsch_harq
->
O_RI
>
1
)
ulsch_harq
->
Or2
=
rel9
->
aperiodic_cqi_pmi_ri_report
.
cc
[
0
].
dl_cqi_pmi_size
[
1
];
ulsch
->
beta_offset_ri_times8
=
to_beta_offset_ri
[
rel9
->
delta_offset_ri
];
ulsch
->
beta_offset_cqi_times8
=
to_beta_offset_cqi
[
rel9
->
delta_offset_cqi
];
LOG_D
(
PHY
,
"Filling ulsch_cqi_ri information for frame %d, subframe %d : O_RI %d, Or1 %d, beta_offset_cqi_times8 %d (%d)
\n
"
,
frame
,
subframe
,
ulsch_harq
->
O_RI
,
ulsch_harq
->
Or1
,
ulsch
->
beta_offset_cqi_times8
,
LOG_D
(
PHY
,
"Filling ulsch_cqi_ri information for frame %d, subframe %d : O_RI %d, Or1 %d, beta_offset_cqi_times8 %d
, beta_offset_harqack_times8 %d, beta_offset_ri_times8 %d
(%d)
\n
"
,
frame
,
subframe
,
ulsch_harq
->
O_RI
,
ulsch_harq
->
Or1
,
ulsch
->
beta_offset_cqi_times8
,
ulsch
->
beta_offset_harqack_times8
,
ulsch
->
beta_offset_ri_times8
,
rel9
->
delta_offset_cqi
);
}
...
...
openair1/SCHED/phy_procedures_lte_eNb.c
View file @
9e1b1064
...
...
@@ -1362,7 +1362,7 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
stop_meas
(
&
eNB
->
ulsch_decoding_stats
);
LOG_I
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d), decoding iter %d
\n
"
,
LOG_I
(
PHY
,
"[eNB %d][PUSCH %d] frame %d subframe %d RNTI %x RX power (%d,%d) N0 (%d,%d) dB ACK (%d,%d),
uci_format %d,
decoding iter %d
\n
"
,
eNB
->
Mod_id
,
harq_pid
,
frame
,
subframe
,
ulsch
->
rnti
,
...
...
@@ -1372,17 +1372,13 @@ void pusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
20
,
//eNB->measurements.n0_power_dB[1],
ulsch_harq
->
o_ACK
[
0
],
ulsch_harq
->
o_ACK
[
1
],
ulsch_harq
->
uci_format
,
ret
);
//compute the expected ULSCH RX power (for the stats)
ulsch_harq
->
delta_TF
=
get_hundred_times_delta_IF_eNB
(
eNB
,
i
,
harq_pid
,
0
);
// 0 means bw_factor is not considered
if
(
ulsch_harq
->
cqi_crc_status
==
1
)
{
#ifdef DEBUG_PHY_PROC
//if (((frame%10) == 0) || (frame < 50))
print_CQI
(
ulsch_harq
->
o
,
ulsch_harq
->
uci_format
,
0
,
fp
->
N_RB_DL
);
#endif
fill_ulsch_cqi_indication
(
eNB
,
frame
,
subframe
,
ulsch_harq
,
ulsch
->
rnti
);
...
...
openair2/LAYER2/MAC/eNB_scheduler_phytest.c
View file @
9e1b1064
...
...
@@ -81,10 +81,16 @@ schedule_ue_spec_phy_test(
nfapi_dl_config_request_body_t
*
dl_req
;
nfapi_dl_config_request_pdu_t
*
dl_config_pdu
;
UE_list_t
*
UE_list
=
&
RC
.
mac
[
module_idP
]
->
UE_list
;
UE_sched_ctrl
*
sched_ctl
=
&
UE_list
->
UE_sched_ctrl
[
UE_id
];
int
wideband_cqi
;
N_RB_DL
=
to_prb
(
cc
->
mib
->
message
.
dl_Bandwidth
);
for
(
CC_id
=
0
;
CC_id
<
MAX_NUM_CCs
;
CC_id
++
)
{
LOG_D
(
MAC
,
"doing schedule_ue_spec for CC_id %d
\n
"
,
CC_id
);
wideband_cqi
=
sched_ctl
->
aperiodic_wideband_cqi0
[
CC_id
];
//mcs = cqi_to_mcs[wideband_cqi];
LOG_I
(
MAC
,
"doing schedule_ue_spec for CC_id %d, cqi %d, mcs %d
\n
"
,
CC_id
,
wideband_cqi
,
mcs
);
dl_req
=
&
eNB
->
DL_req
[
CC_id
].
dl_config_request_body
;
...
...
@@ -199,9 +205,9 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
int
UE_id
=
0
;
uint8_t
aggregation
=
2
;
rnti_t
rnti
=
0x1235
;
uint8_t
mcs
=
0
;
uint8_t
mcs
=
2
;
uint8_t
harq_pid
=
0
;
uint32_t
cqi_req
=
0
,
cshift
,
ndi
,
tpc
=
1
;
uint32_t
cqi_req
=
1
,
cshift
,
ndi
,
tpc
=
1
;
int32_t
normalized_rx_power
;
int32_t
target_rx_power
=
178
;
int
CC_id
=
0
;
...
...
@@ -245,7 +251,17 @@ void schedule_ulsch_phy_test(module_id_t module_idP,frame_t frameP,sub_frame_t s
RC
.
eNB
[
module_idP
][
CC_id
]
->
pusch_stats_BO
[
UE_id
][(
frameP
*
10
)
+
subframeP
]
=
UE_template
->
ul_total_buffer
;
//printf("////////////////////////////////////*************************ul_total_buffer = %d\n",UE_template->ul_total_buffer);
if
(
UE_template
->
physicalConfigDedicated
==
NULL
)
{
UE_template
->
physicalConfigDedicated
=
CALLOC
(
1
,
sizeof
(
*
UE_template
->
physicalConfigDedicated
));
UE_template
->
physicalConfigDedicated
->
pusch_ConfigDedicated
=
CALLOC
(
1
,
sizeof
(
*
UE_template
->
physicalConfigDedicated
->
pusch_ConfigDedicated
));
UE_template
->
physicalConfigDedicated
->
cqi_ReportConfig
=
CALLOC
(
1
,
sizeof
(
*
UE_template
->
physicalConfigDedicated
->
cqi_ReportConfig
));
UE_template
->
physicalConfigDedicated
->
cqi_ReportConfig
->
cqi_ReportModeAperiodic
=
CALLOC
(
1
,
sizeof
(
*
UE_template
->
physicalConfigDedicated
->
cqi_ReportConfig
->
cqi_ReportModeAperiodic
));
UE_template
->
physicalConfigDedicated
->
pusch_ConfigDedicated
->
betaOffset_CQI_Index
=
2
;
UE_template
->
physicalConfigDedicated
->
pusch_ConfigDedicated
->
betaOffset_RI_Index
=
0
;
UE_template
->
physicalConfigDedicated
->
pusch_ConfigDedicated
->
betaOffset_ACK_Index
=
0
;
*
UE_template
->
physicalConfigDedicated
->
cqi_ReportConfig
->
cqi_ReportModeAperiodic
=
CQI_ReportModeAperiodic_rm30
;
}
//power control
//compute the expected ULSCH RX power (for the stats)
...
...
openair2/LAYER2/MAC/eNB_scheduler_primitives.c
View file @
9e1b1064
...
...
@@ -61,6 +61,8 @@
#define ENABLE_MAC_PAYLOAD_DEBUG
#define DEBUG_eNB_SCHEDULER 1
extern
int
phy_test
;
int
choose
(
int
n
,
int
k
)
{
int
res
=
1
;
...
...
@@ -1390,6 +1392,7 @@ void fill_nfapi_ulsch_config_request_rel8(nfapi_ul_config_request_pdu_t *ul_con
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
cqi_ri_information
.
cqi_ri_information_rel9
.
delta_offset_cqi
=
physicalConfigDedicated
->
pusch_ConfigDedicated
->
betaOffset_CQI_Index
;
ul_config_pdu
->
ulsch_cqi_ri_pdu
.
cqi_ri_information
.
cqi_ri_information_rel9
.
delta_offset_ri
=
physicalConfigDedicated
->
pusch_ConfigDedicated
->
betaOffset_RI_Index
;
ul_config_pdu
->
ulsch_cqi_harq_ri_pdu
.
harq_information
.
harq_information_rel10
.
delta_offset_harq
=
physicalConfigDedicated
->
pusch_ConfigDedicated
->
betaOffset_ACK_Index
;
}
}
...
...
@@ -3478,6 +3481,7 @@ void extract_pusch_csi(module_id_t mod_idP,int CC_idP,int UE_id, frame_t frameP,
//subband CQI no PMI (TM1/2/3/7)
AssertFatal
(
tmode
==
1
||
tmode
==
2
||
tmode
==
3
||
tmode
==
7
,
"Illegal transmission mode %d for CQI_ReportModeAperiodic_rm30
\n
"
,
tmode
);
sched_ctl
->
aperiodic_wideband_cqi0
[
CC_idP
]
=
pdu
[
0
]
>>
4
;
LOG_I
(
MAC
,
"aperiodic_wideband_cqi0 %d
\n
"
,
sched_ctl
->
aperiodic_wideband_cqi0
[
CC_idP
]);
curbyte
=
0
;
curbit
=
3
;
for
(
i
=
0
;
i
<
N
;
i
++
)
{
...
...
@@ -3558,8 +3562,14 @@ void cqi_indication(module_id_t mod_idP, int CC_idP, frame_t frameP, sub_frame_t
nfapi_cqi_indication_rel9_t
*
rel9
,
uint8_t
*
pdu
,
nfapi_ul_cqi_information_t
*
ul_cqi_information
)
{
int
UE_id
=
find_UE_id
(
mod_idP
,
rntiP
)
;
int
UE_id
;
UE_list_t
*
UE_list
=
&
RC
.
mac
[
mod_idP
]
->
UE_list
;
if
(
phy_test
==
1
)
UE_id
=
0
;
else
find_UE_id
(
mod_idP
,
rntiP
);
if
(
UE_id
==
-
1
)
{
LOG_W
(
MAC
,
"cqi_indication: UE %x not found
\n
"
,
rntiP
);
return
;
...
...
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