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
OpenXG
OpenXG UE
Commits
eeb3cdf7
Commit
eeb3cdf7
authored
Sep 01, 2021
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Change log levels
parent
69cf16f5
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
36 additions
and
37 deletions
+36
-37
openair1/PHY/NR_TRANSPORT/pucch_rx.c
openair1/PHY/NR_TRANSPORT/pucch_rx.c
+1
-1
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
+0
-8
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
+2
-2
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+4
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+7
-10
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+4
-4
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+1
-1
openair2/RRC/NR_UE/rrc_UE.c
openair2/RRC/NR_UE/rrc_UE.c
+13
-7
No files found.
openair1/PHY/NR_TRANSPORT/pucch_rx.c
View file @
eeb3cdf7
...
...
@@ -397,7 +397,7 @@ void nr_decode_pucch0(PHY_VARS_gNB *gNB,
uci_pdu
->
harq
->
harq_confidence_level
=
no_conf
?
1
:
0
;
uci_pdu
->
harq
->
harq_list
=
(
nfapi_nr_harq_t
*
)
malloc
(
1
);
uci_pdu
->
harq
->
harq_list
[
0
].
harq_value
=
index
&
0x01
;
LOG_
I
(
PHY
,
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ value %d with confidence level (0 is good, 1 is bad) %d xrt_mag %d n0 %d (%d,%d) pucch0_thres %d, cqi %d, SNRtimes10 %d
\n
"
,
LOG_
D
(
PHY
,
"[DLSCH/PDSCH/PUCCH] %d.%d HARQ value %d with confidence level (0 is good, 1 is bad) %d xrt_mag %d n0 %d (%d,%d) pucch0_thres %d, cqi %d, SNRtimes10 %d
\n
"
,
frame
,
slot
,
uci_pdu
->
harq
->
harq_list
[
0
].
harq_value
,
uci_pdu
->
harq
->
harq_confidence_level
,
xrtmag_dBtimes10
,
max_n0
,
uci_stats
->
pucch0_n00
,
uci_stats
->
pucch0_n01
,
uci_stats
->
pucch0_thres
,
cqi
,
SNRtimes10
);
if
(
pucch_pdu
->
sr_flag
==
1
)
{
...
...
openair1/PHY/NR_UE_TRANSPORT/dci_nr.c
View file @
eeb3cdf7
...
...
@@ -823,14 +823,6 @@ int32_t nr_rx_pdcch(PHY_VARS_NR_UE *ue,
LOG_D
(
PHY
,
"we end nr_pdcch_unscrambling()
\n
"
);
LOG_D
(
PHY
,
"Ending nr_rx_pdcch() function
\n
"
);
if
(
rel15
->
rnti
!=
0xFFFF
&&
slot
==
7
)
{
LOG_M
(
"pdcch_rxdataF0.m"
,
"rxdataF0"
,
common_vars
->
common_vars_rx_data_per_thread
[
proc
->
thread_id
].
rxdataF
[
0
],
2048
*
14
,
1
,
1
);
LOG_M
(
"pdcch_chestF_ext0.m"
,
"rxdataF_comp0"
,
pdcch_vars
->
dl_ch_estimates_ext
[
0
],
n_rb
*
12
,
1
,
1
);
LOG_M
(
"pdcch_rxdataF_ext0.m"
,
"rxdataF_ext0"
,
pdcch_vars
->
rxdataF_ext
[
0
],
n_rb
*
12
,
1
,
1
);
LOG_M
(
"pdcch_rxdataF_comp0.m"
,
"rxdataF_comp0"
,
pdcch_vars
->
rxdataF_comp
[
0
],
n_rb
*
12
,
1
,
1
);
LOG_M
(
"slot7rxsig.m"
,
"s7rxs"
,
&
ue
->
common_vars
.
rxdata
[
0
][
frame_parms
->
get_samples_slot_timestamp
(
slot
,
frame_parms
,
0
)],
30720
,
1
,
1
);
exit
(
-
1
);
}
return
(
0
);
}
...
...
openair1/PHY/NR_UE_TRANSPORT/pucch_nr.c
View file @
eeb3cdf7
...
...
@@ -116,9 +116,9 @@ void nr_generate_pucch0(PHY_VARS_NR_UE *ue,
pucch_pdu
->
mcs
,
l
,
pucch_pdu
->
start_symbol_index
,
nr_slot_tx
);
//
#ifdef DEBUG_NR_PUCCH_TX
#ifdef DEBUG_NR_PUCCH_TX
printf
(
"
\t
[nr_generate_pucch0] sequence generation
\t
u=%d
\t
v=%d
\t
alpha=%lf
\t
(for symbol l=%d)
\n
"
,
u
[
l
],
v
[
l
],
alpha
,
l
);
//
#endif
#endif
for
(
int
n
=
0
;
n
<
12
;
n
++
)
{
x_n_re
[
l
][
n
]
=
(
int16_t
)(((((
int32_t
)(
round
(
32767
*
cos
(
alpha
*
n
)))
*
table_5_2_2_2_2_Re
[
u
[
l
]][
n
])
>>
15
)
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
eeb3cdf7
...
...
@@ -793,6 +793,10 @@ int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
}
}
stop_meas
(
&
gNB
->
phy_proc_rx
);
// figure out a better way to choose slot_rx, 19 is ok for a particular TDD configuration with 30kHz SCS
if
((
frame_rx
&
127
)
==
0
&&
slot_rx
==
19
)
{
LOG_I
(
NR_PHY
,
"Number of bad PUCCH received: %lu
\n
"
,
gNB
->
bad_pucch
);
}
if
(
pucch_decode_done
||
pusch_decode_done
)
{
T
(
T_GNB_PHY_PUCCH_PUSCH_IQ
,
T_INT
(
frame_rx
),
T_INT
(
slot_rx
),
T_BUFFER
(
&
gNB
->
common_vars
.
rxdataF
[
0
][
0
],
gNB
->
frame_parms
.
symbols_per_slot
*
gNB
->
frame_parms
.
ofdm_symbol_size
*
4
));
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
eeb3cdf7
...
...
@@ -78,7 +78,7 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
UE_info
->
UE_sched_ctrl
[
UE_id
].
ph
,
UE_info
->
UE_sched_ctrl
[
UE_id
].
pcmax
);
LOG_
D
(
NR_MAC
,
"UE ID %d RNTI %04x (%d/%d) PH %d dB PCMAX %d dBm
\n
"
,
LOG_
I
(
NR_MAC
,
"UE ID %d RNTI %04x (%d/%d) PH %d dB PCMAX %d dBm
\n
"
,
UE_id
,
UE_info
->
rnti
[
UE_id
],
num
++
,
...
...
@@ -101,12 +101,10 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
stats
->
dlsch_rounds
[
2
],
stats
->
dlsch_rounds
[
3
],
stats
->
dlsch_errors
,
stats
->
pucch0_DTX
,
avg_rsrp
,
stats
->
num_rsrp_meas
);
LOG_
D
(
NR_MAC
,
"UE %d: dlsch_rounds %d/%d/%d/%d, dlsch_errors %d, pucch0_DTX %d, average RSRP %d (%d meas)
\n
"
,
LOG_
I
(
NR_MAC
,
"UE %d: dlsch_rounds %d/%d/%d/%d, dlsch_errors %d
\n
"
,
UE_id
,
stats
->
dlsch_rounds
[
0
],
stats
->
dlsch_rounds
[
1
],
stats
->
dlsch_rounds
[
2
],
stats
->
dlsch_rounds
[
3
],
stats
->
dlsch_errors
,
stats
->
pucch0_DTX
,
avg_rsrp
,
stats
->
num_rsrp_meas
);
stats
->
dlsch_rounds
[
2
],
stats
->
dlsch_rounds
[
3
],
stats
->
dlsch_errors
);
stats
->
num_rsrp_meas
=
0
;
stats
->
cumul_rsrp
=
0
;
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: dlsch_total_bytes %d
\n
"
,
UE_id
,
stats
->
dlsch_total_bytes
);
...
...
@@ -120,15 +118,14 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
"UE %d: ulsch_total_bytes_scheduled %d, ulsch_total_bytes_received %d
\n
"
,
UE_id
,
stats
->
ulsch_total_bytes_scheduled
,
stats
->
ulsch_total_bytes_rx
);
LOG_
D
(
NR_MAC
,
"UE %d: dlsch_total_bytes %d
\n
"
,
UE_id
,
stats
->
dlsch_total_bytes
);
LOG_
D
(
NR_MAC
,
"UE %d: ulsch_rounds %d/%d/%d/%d, ulsch_DTX
%d, ulsch_errors %d
\n
"
,
LOG_
I
(
NR_MAC
,
"UE %d: dlsch_total_bytes %d
\n
"
,
UE_id
,
stats
->
dlsch_total_bytes
);
LOG_
I
(
NR_MAC
,
"UE %d: ulsch_rounds %d/%d/%d/
%d, ulsch_errors %d
\n
"
,
UE_id
,
stats
->
ulsch_rounds
[
0
],
stats
->
ulsch_rounds
[
1
],
stats
->
ulsch_rounds
[
2
],
stats
->
ulsch_rounds
[
3
],
stats
->
ulsch_DTX
,
stats
->
ulsch_errors
);
LOG_
D
(
NR_MAC
,
"UE %d: ulsch_total_bytes
_scheduled %d, ulsch_total_bytes_received
%d
\n
"
,
LOG_
I
(
NR_MAC
,
"UE %d: ulsch_total_bytes
(scheduled/received): %d /
%d
\n
"
,
UE_id
,
stats
->
ulsch_total_bytes_scheduled
,
stats
->
ulsch_total_bytes_rx
);
for
(
int
lc_id
=
0
;
lc_id
<
63
;
lc_id
++
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
eeb3cdf7
...
...
@@ -1113,7 +1113,7 @@ void nr_generate_Msg2(module_id_t module_idP, int CC_id, frame_t frameP, sub_fra
dci_payload
.
mcs
=
pdsch_pdu_rel15
->
mcsIndex
[
0
];
dci_payload
.
tb_scaling
=
tb_scaling
;
LOG_
I
(
NR_MAC
,
LOG_
D
(
NR_MAC
,
"[RAPROC] DCI type 1 payload: freq_alloc %d (%d,%d,%d), time_alloc %d, vrb to prb %d, mcs %d tb_scaling %d
\n
"
,
dci_payload
.
frequency_domain_assignment
.
val
,
pdsch_pdu_rel15
->
rbStart
,
...
...
@@ -1721,7 +1721,7 @@ void nr_fill_rar(uint8_t Mod_idP,
// TC-RNTI
int
t_crnti
=
rar
->
TCRNTI_2
+
(
rar
->
TCRNTI_1
<<
8
);
LOG_
I
(
NR_MAC
,
"In %s: Transmitted RAR with t_alloc %d f_alloc %d ta_command %d mcs %d freq_hopping %d tpc_command %d csi_req %d t_crnti %x
\n
"
,
LOG_
D
(
NR_MAC
,
"In %s: Transmitted RAR with t_alloc %d f_alloc %d ta_command %d mcs %d freq_hopping %d tpc_command %d csi_req %d t_crnti %x
\n
"
,
__FUNCTION__
,
Msg3_t_alloc
,
Msg3_f_alloc
,
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
eeb3cdf7
...
...
@@ -886,7 +886,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
harq
->
is_waiting
=
true
;
UE_info
->
mac_stats
[
UE_id
].
dlsch_rounds
[
harq
->
round
]
++
;
LOG_
I
(
NR_MAC
,
LOG_
D
(
NR_MAC
,
"%4d.%2d [DLSCH/PDSCH/PUCCH] UE %d RNTI %04x start %3d RBs %3d startSymbol %2d nb_symbol %2d dmrspos %x MCS %2d TBS %4d HARQ PID %2d round %d RV %d NDI %d dl_data_to_ULACK %d (%d.%d) TPC %d
\n
"
,
frame
,
slot
,
...
...
@@ -926,7 +926,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
dl_tti_pdcch_pdu
->
PDUSize
=
(
uint8_t
)(
2
+
sizeof
(
nfapi_nr_dl_tti_pdcch_pdu
));
dl_req
->
nPDUs
+=
1
;
pdcch_pdu
=
&
dl_tti_pdcch_pdu
->
pdcch_pdu
.
pdcch_pdu_rel15
;
LOG_
I
(
NR_MAC
,
"Trying to configure DL pdcch for UE %d, bwp %d, cs %d
\n
"
,
UE_id
,
bwpid
,
coresetid
);
LOG_
D
(
NR_MAC
,
"Trying to configure DL pdcch for UE %d, bwp %d, cs %d
\n
"
,
UE_id
,
bwpid
,
coresetid
);
NR_SearchSpace_t
*
ss
=
(
bwp
||
bwpd
)
?
sched_ctrl
->
search_space
:
gNB_mac
->
sched_ctrlCommon
->
search_space
;
NR_ControlResourceSet_t
*
coreset
=
(
bwp
||
bwpd
)
?
sched_ctrl
->
coreset
:
gNB_mac
->
sched_ctrlCommon
->
coreset
;
nr_configure_pdcch
(
pdcch_pdu
,
ss
,
coreset
,
scc
,
genericParameters
,
NULL
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
eeb3cdf7
...
...
@@ -1138,7 +1138,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
// Time domain assignment
pos
+=
4
;
*
dci_pdu
|=
(((
uint64_t
)
dci_pdu_rel15
->
time_domain_assignment
.
val
&
0xf
)
<<
(
dci_size
-
pos
));
LOG_
I
(
NR_MAC
,
LOG_
D
(
NR_MAC
,
"time-domain assignment %d (4 bits)=> %d (0x%lx)
\n
"
,
dci_pdu_rel15
->
time_domain_assignment
.
val
,
dci_size
-
pos
,
...
...
@@ -1146,7 +1146,7 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
// VRB to PRB mapping
pos
++
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
vrb_to_prb_mapping
.
val
&
0x1
)
<<
(
dci_size
-
pos
);
LOG_
I
(
NR_MAC
,
LOG_
D
(
NR_MAC
,
"vrb to prb mapping %d (1 bits)=> %d (0x%lx)
\n
"
,
dci_pdu_rel15
->
vrb_to_prb_mapping
.
val
,
dci_size
-
pos
,
...
...
@@ -1154,11 +1154,11 @@ void fill_dci_pdu_rel15(const NR_ServingCellConfigCommon_t *scc,
// MCS
pos
+=
5
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
mcs
&
0x1f
)
<<
(
dci_size
-
pos
);
LOG_
I
(
NR_MAC
,
"mcs %d (5 bits)=> %d (0x%lx)
\n
"
,
dci_pdu_rel15
->
mcs
,
dci_size
-
pos
,
*
dci_pdu
);
LOG_
D
(
NR_MAC
,
"mcs %d (5 bits)=> %d (0x%lx)
\n
"
,
dci_pdu_rel15
->
mcs
,
dci_size
-
pos
,
*
dci_pdu
);
// TB scaling
pos
+=
2
;
*
dci_pdu
|=
((
uint64_t
)
dci_pdu_rel15
->
tb_scaling
&
0x3
)
<<
(
dci_size
-
pos
);
LOG_
I
(
NR_MAC
,
"tb_scaling %d (2 bits)=> %d (0x%lx)
\n
"
,
dci_pdu_rel15
->
tb_scaling
,
dci_size
-
pos
,
*
dci_pdu
);
LOG_
D
(
NR_MAC
,
"tb_scaling %d (2 bits)=> %d (0x%lx)
\n
"
,
dci_pdu_rel15
->
tb_scaling
,
dci_size
-
pos
,
*
dci_pdu
);
break
;
case
NR_RNTI_C
:
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
eeb3cdf7
...
...
@@ -3226,7 +3226,7 @@ void *rrc_gnb_task(void *args_p) {
NR_RRC_DCCH_DATA_IND
(
msg_p
).
rnti
,
msg_p
->
ittiMsgHeader
.
lte_time
.
frame
,
msg_p
->
ittiMsgHeader
.
lte_time
.
slot
);
LOG_
I
(
NR_RRC
,
"Decoding DCCH : ue %d, inst %ld, ctxt %p, size %d
\n
"
,
LOG_
D
(
NR_RRC
,
"Decoding DCCH : ue %d, inst %ld, ctxt %p, size %d
\n
"
,
ctxt
.
rnti
,
instance
,
&
ctxt
,
...
...
openair2/RRC/NR_UE/rrc_UE.c
View file @
eeb3cdf7
...
...
@@ -237,8 +237,9 @@ int8_t nr_rrc_ue_decode_secondary_cellgroup_config(const module_id_t module_id,
int8_t
nr_rrc_ue_process_RadioBearerConfig
(
NR_RadioBearerConfig_t
*
RadioBearerConfig
){
xer_fprint
(
stdout
,
&
asn_DEF_NR_RadioBearerConfig
,
(
const
void
*
)
RadioBearerConfig
);
if
(
LOG_DEBUGFLAG
(
DEBUG_ASN1
)
)
{
xer_fprint
(
stdout
,
&
asn_DEF_NR_RadioBearerConfig
,
(
const
void
*
)
RadioBearerConfig
);
}
// Configure PDCP
return
0
;
...
...
@@ -268,7 +269,9 @@ int8_t nr_rrc_ue_process_rrcReconfiguration(const module_id_t module_id, NR_RRCR
(
uint8_t
*
)
rrcReconfiguration
->
criticalExtensions
.
choice
.
rrcReconfiguration
->
secondaryCellGroup
->
buf
,
rrcReconfiguration
->
criticalExtensions
.
choice
.
rrcReconfiguration
->
secondaryCellGroup
->
size
,
0
,
0
);
xer_fprint
(
stdout
,
&
asn_DEF_NR_CellGroupConfig
,
(
const
void
*
)
cellGroupConfig
);
if
(
LOG_DEBUGFLAG
(
DEBUG_ASN1
)
)
{
xer_fprint
(
stdout
,
&
asn_DEF_NR_CellGroupConfig
,
(
const
void
*
)
cellGroupConfig
);
}
if
(
NR_UE_rrc_inst
[
module_id
].
cell_group_config
==
NULL
){
// first time receive the configuration, just use the memory allocated from uper_decoder. TODO this is not good implementation, need to maintain RRC_INST own structure every time.
...
...
@@ -1258,7 +1261,10 @@ nr_rrc_ue_process_masterCellGroup(
(
void
**
)
&
cellGroupConfig
,
(
uint8_t
*
)
masterCellGroup
->
buf
,
masterCellGroup
->
size
,
0
,
0
);
xer_fprint
(
stdout
,
&
asn_DEF_NR_CellGroupConfig
,
(
const
void
*
)
cellGroupConfig
);
if
(
LOG_DEBUGFLAG
(
DEBUG_ASN1
)
)
{
xer_fprint
(
stdout
,
&
asn_DEF_NR_CellGroupConfig
,
(
const
void
*
)
cellGroupConfig
);
}
if
(
cellGroupConfig
->
spCellConfig
!=
NULL
&&
cellGroupConfig
->
spCellConfig
->
reconfigurationWithSync
!=
NULL
){
//TODO (perform Reconfiguration with sync according to 5.3.5.5.2)
...
...
@@ -2304,9 +2310,9 @@ nr_rrc_ue_establish_srb2(
return
-
1
;
}
//
if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
xer_fprint
(
stdout
,
&
asn_DEF_NR_DL_DCCH_Message
,(
void
*
)
dl_dcch_msg
);
//
}
if
(
LOG_DEBUGFLAG
(
DEBUG_ASN1
)
)
{
xer_fprint
(
stdout
,
&
asn_DEF_NR_DL_DCCH_Message
,(
void
*
)
dl_dcch_msg
);
}
if
(
dl_dcch_msg
->
message
.
present
==
NR_DL_DCCH_MessageType_PR_c1
)
{
switch
(
dl_dcch_msg
->
message
.
choice
.
c1
->
present
)
{
...
...
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