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
常顺宇
OpenXG-RAN
Commits
2da6fb8e
Commit
2da6fb8e
authored
Apr 09, 2019
by
Florian Kaltenberger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fixing a bug in adjust_sync
removing printfs
parent
0ce2124a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
49 additions
and
45 deletions
+49
-45
executables/nr-ue.c
executables/nr-ue.c
+9
-6
openair1/PHY/NR_UE_TRANSPORT/dci_tools_nr.c
openair1/PHY/NR_UE_TRANSPORT/dci_tools_nr.c
+1
-1
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
+12
-12
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+23
-22
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+4
-4
No files found.
executables/nr-ue.c
View file @
2da6fb8e
...
...
@@ -519,14 +519,17 @@ int computeSamplesShift(PHY_VARS_NR_UE *UE) {
}
// compute TO compensation that should be applied for this frame
if
(
UE
->
rx_offset
<
5
*
UE
->
frame_parms
.
samples_per_slot
&&
UE
->
rx_offset
>
0
)
if
(
UE
->
rx_offset
<
UE
->
frame_parms
.
samples_per_frame
/
2
&&
UE
->
rx_offset
>
0
)
{
//LOG_I(PHY,"!!!adjusting -1 samples!!!\n");
return
-
1
;
}
if
(
UE
->
rx_offset
>
5
*
UE
->
frame_parms
.
samples_per_slot
&&
UE
->
rx_offset
<
10
*
UE
->
frame_parms
.
samples_per_slot
)
if
(
UE
->
rx_offset
>
UE
->
frame_parms
.
samples_per_frame
/
2
&&
UE
->
rx_offset
<
UE
->
frame_parms
.
samples_per_frame
)
{
//LOG_I(PHY,"!!!adjusting +1 samples!!!\n");
return
1
;
}
return
0
;
}
...
...
@@ -706,7 +709,7 @@ void *UE_thread(void *arg) {
if
(
decoded_frame_rx
!=
proc
->
frame_rx
&&
((
decoded_frame_rx
+
1
)
%
MAX_FRAME_NUMBER
)
!=
proc
->
frame_rx
)
LOG_
E
(
PHY
,
"Decoded frame index (%d) is not compatible with current context (%d), UE should go back to synch mode
\n
"
,
LOG_
D
(
PHY
,
"Decoded frame index (%d) is not compatible with current context (%d), UE should go back to synch mode
\n
"
,
decoded_frame_rx
,
proc
->
frame_rx
);
pushTpool
(
Tpool
,
processingMsg
[
thread_idx
]);
...
...
openair1/PHY/NR_UE_TRANSPORT/dci_tools_nr.c
View file @
2da6fb8e
...
...
@@ -52,7 +52,7 @@
//#define DEBUG_DCI
#define NR_PDCCH_DCI_TOOLS
#define NR_PDCCH_DCI_TOOLS_DEBUG
//
#define NR_PDCCH_DCI_TOOLS_DEBUG
typedef
unsigned
__int128
uint128_t
;
...
...
openair1/SCHED_NR_UE/fapi_nr_ue_l1.c
View file @
2da6fb8e
...
...
@@ -123,7 +123,7 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response){
dlsch0
->
g_pucch
=
dlsch_config_pdu
->
accumulated_delta_PUCCH
;
dlsch0_harq
->
harq_ack
.
pucch_resource_indicator
=
dlsch_config_pdu
->
pucch_resource_id
;
dlsch0_harq
->
harq_ack
.
slot_for_feedback_ack
=
dlsch_config_pdu
->
pdsch_to_harq_feedback_time_ind
;
printf
(
">>>>
\t
dlsch0->g_pucch=%d
\t
dlsch0_harq.mcs=%d
\n
"
,
dlsch0
->
g_pucch
,
dlsch0_harq
->
mcs
);
LOG_D
(
MAC
,
">>>>
\t
dlsch0->g_pucch=%d
\t
dlsch0_harq.mcs=%d
\n
"
,
dlsch0
->
g_pucch
,
dlsch0_harq
->
mcs
);
}
}
}
else
{
...
...
@@ -212,17 +212,17 @@ int8_t nr_ue_phy_config_request(nr_phy_config_t *phy_config){
if
(
phy_config
!=
NULL
){
if
(
phy_config
->
config_req
.
config_mask
&
FAPI_NR_CONFIG_REQUEST_MASK_PBCH
){
printf
(
"[L1][IF module][PHY CONFIG]
\n
"
);
printf
(
"subcarrier spacing: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
subcarrier_spacing_common
);
printf
(
"ssb carrier offset: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
ssb_subcarrier_offset
);
printf
(
"dmrs type A position: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
dmrs_type_a_position
);
printf
(
"pdcch config sib1: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
pdcch_config_sib1
);
printf
(
"cell barred: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
cell_barred
);
printf
(
"intra frequency reselection: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
intra_frequency_reselection
);
printf
(
"system frame number: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
system_frame_number
);
printf
(
"ssb index: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
ssb_index
);
printf
(
"half frame bit: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
half_frame_bit
);
printf
(
"-------------------------------
\n
"
);
LOG_I
(
MAC
,
"[L1][IF module][PHY CONFIG]
\n
"
);
LOG_I
(
MAC
,
"subcarrier spacing: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
subcarrier_spacing_common
);
LOG_I
(
MAC
,
"ssb carrier offset: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
ssb_subcarrier_offset
);
LOG_I
(
MAC
,
"dmrs type A position: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
dmrs_type_a_position
);
LOG_I
(
MAC
,
"pdcch config sib1: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
pdcch_config_sib1
);
LOG_I
(
MAC
,
"cell barred: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
cell_barred
);
LOG_I
(
MAC
,
"intra frequency reselection: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
intra_frequency_reselection
);
LOG_I
(
MAC
,
"system frame number: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
system_frame_number
);
LOG_I
(
MAC
,
"ssb index: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
ssb_index
);
LOG_I
(
MAC
,
"half frame bit: %d
\n
"
,
phy_config
->
config_req
.
pbch_config
.
half_frame_bit
);
LOG_I
(
MAC
,
"-------------------------------
\n
"
);
}
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
2da6fb8e
...
...
@@ -35,6 +35,7 @@
#include "RRC/NR_UE/rrc_proto.h"
#include "assertions.h"
#include "PHY/defs_nr_UE.h"
#include "common/utils/LOG/log.h"
#include <stdio.h>
#include <math.h>
...
...
@@ -203,7 +204,7 @@ int8_t nr_ue_decode_mib(
void
*
pduP
,
uint16_t
cell_id
){
printf
(
"[L2][MAC] decode mib
\n
"
);
LOG_I
(
MAC
,
"[L2][MAC] decode mib
\n
"
);
NR_UE_MAC_INST_t
*
mac
=
get_mac_inst
(
module_id
);
...
...
@@ -234,16 +235,16 @@ int8_t nr_ue_decode_mib(
}
#ifdef DEBUG_MIB
printf
(
"system frame number(6 MSB bits): %d
\n
"
,
mac
->
mib
->
systemFrameNumber
.
buf
[
0
]);
printf
(
"system frame number(with LSB): %d
\n
"
,
(
int
)
frame
);
printf
(
"subcarrier spacing (0=15or60, 1=30or120): %d
\n
"
,
(
int
)
mac
->
mib
->
subCarrierSpacingCommon
);
printf
(
"ssb carrier offset(with MSB): %d
\n
"
,
(
int
)
ssb_subcarrier_offset
);
printf
(
"dmrs type A position (0=pos2,1=pos3): %d
\n
"
,
(
int
)
mac
->
mib
->
dmrs_TypeA_Position
);
printf
(
"pdcch config sib1: %d
\n
"
,
(
int
)
mac
->
mib
->
pdcch_ConfigSIB1
);
printf
(
"cell barred (0=barred,1=notBarred): %d
\n
"
,
(
int
)
mac
->
mib
->
cellBarred
);
printf
(
"intra frequency reselection (0=allowed,1=notAllowed): %d
\n
"
,
(
int
)
mac
->
mib
->
intraFreqReselection
);
printf
(
"half frame bit(extra bits): %d
\n
"
,
(
int
)
half_frame_bit
);
printf
(
"ssb index(extra bits): %d
\n
"
,
(
int
)
ssb_index
);
LOG_I
(
MAC
,
"system frame number(6 MSB bits): %d
\n
"
,
mac
->
mib
->
systemFrameNumber
.
buf
[
0
]);
LOG_I
(
MAC
,
"system frame number(with LSB): %d
\n
"
,
(
int
)
frame
);
LOG_I
(
MAC
,
"subcarrier spacing (0=15or60, 1=30or120): %d
\n
"
,
(
int
)
mac
->
mib
->
subCarrierSpacingCommon
);
LOG_I
(
MAC
,
"ssb carrier offset(with MSB): %d
\n
"
,
(
int
)
ssb_subcarrier_offset
);
LOG_I
(
MAC
,
"dmrs type A position (0=pos2,1=pos3): %d
\n
"
,
(
int
)
mac
->
mib
->
dmrs_TypeA_Position
);
LOG_I
(
MAC
,
"pdcch config sib1: %d
\n
"
,
(
int
)
mac
->
mib
->
pdcch_ConfigSIB1
);
LOG_I
(
MAC
,
"cell barred (0=barred,1=notBarred): %d
\n
"
,
(
int
)
mac
->
mib
->
cellBarred
);
LOG_I
(
MAC
,
"intra frequency reselection (0=allowed,1=notAllowed): %d
\n
"
,
(
int
)
mac
->
mib
->
intraFreqReselection
);
LOG_I
(
MAC
,
"half frame bit(extra bits): %d
\n
"
,
(
int
)
half_frame_bit
);
LOG_I
(
MAC
,
"ssb index(extra bits): %d
\n
"
,
(
int
)
ssb_index
);
#endif
subcarrier_spacing_t
scs_ssb
=
scs_30kHz
;
// default for
...
...
@@ -272,7 +273,7 @@ int8_t nr_ue_decode_mib(
int32_t
num_rbs
=
-
1
;
int32_t
num_symbols
=
-
1
;
int32_t
rb_offset
=
-
1
;
//
printf(
"<<<<<<<<<configSIB1 %d index_4msb %d index_4lsb %d scs_ssb %d scs_pdcch %d switch %d ",
//
LOG_I(MAC,
"<<<<<<<<<configSIB1 %d index_4msb %d index_4lsb %d scs_ssb %d scs_pdcch %d switch %d ",
//mac->mib->pdcch_ConfigSIB1,index_4msb,index_4lsb,scs_ssb,scs_pdcch, (scs_ssb << 5)|scs_pdcch);
// type0-pdcch coreset
...
...
@@ -316,7 +317,7 @@ int8_t nr_ue_decode_mib(
num_rbs
=
table_38213_13_4_c2
[
index_4msb
];
num_symbols
=
table_38213_13_4_c3
[
index_4msb
];
rb_offset
=
table_38213_13_4_c4
[
index_4msb
];
printf
(
"<<<<<<<<<index_4msb %d num_rbs %d num_symb %d rb_offset %d
\n
"
,
index_4msb
,
num_rbs
,
num_symbols
,
rb_offset
);
LOG_I
(
MAC
,
"<<<<<<<<<index_4msb %d num_rbs %d num_symb %d rb_offset %d
\n
"
,
index_4msb
,
num_rbs
,
num_symbols
,
rb_offset
);
}
else
if
(
min_channel_bw
&
bw_40MHz
){
AssertFatal
(
index_4msb
<
10
,
"38.213 Table 13-6 4 MSB out of range
\n
"
);
mac
->
type0_pdcch_ss_mux_pattern
=
1
;
...
...
@@ -403,7 +404,7 @@ int8_t nr_ue_decode_mib(
mask
=
mask
>>
1
;
mask
=
mask
|
0x100000000000
;
}
//
printf(
">>>>>>>>mask %x num_rbs %d rb_offset %d\n", mask, num_rbs, rb_offset);
//
LOG_I(MAC,
">>>>>>>>mask %x num_rbs %d rb_offset %d\n", mask, num_rbs, rb_offset);
mac
->
type0_pdcch_dci_config
.
coreset
.
frequency_domain_resource
=
mask
;
mac
->
type0_pdcch_dci_config
.
coreset
.
rb_offset
=
rb_offset
;
// additional parameter other than coreset
...
...
@@ -666,7 +667,7 @@ NR_UE_L2_STATE_t nr_ue_scheduler(
dl_config->dl_config_list[dl_config->number_pdus].dci_config_pdu.dci_config_rel15.rnti = 0xaaaa; // to be set
dl_config->dl_config_list[dl_config->number_pdus].dci_config_pdu.dci_config_rel15.N_RB_BWP = 106; // to be set
printf(
"nr_ue_scheduler Type0 PDCCH with rnti %x, BWP %d\n",
LOG_I(MAC,
"nr_ue_scheduler Type0 PDCCH with rnti %x, BWP %d\n",
dl_config->dl_config_list[dl_config->number_pdus].dci_config_pdu.dci_config_rel15.rnti,
dl_config->dl_config_list[dl_config->number_pdus].dci_config_pdu.dci_config_rel15.N_RB_BWP);
*/
...
...
@@ -1289,7 +1290,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fa
const
uint16_t
n_RB_DLBWP
=
mac
->
initial_bwp_dl
.
N_RB
;
const
uint16_t
n_RB_ULBWP
=
mac
->
initial_bwp_ul
.
N_RB
;
printf
(
"
\n
>>>
nr_ue_process_dci at MAC layer with dci_format=%d (DL BWP %d, UL BWP %d)
\n
"
,
dci_format
,
n_RB_DLBWP
,
n_RB_ULBWP
);
LOG_I
(
MAC
,
"
nr_ue_process_dci at MAC layer with dci_format=%d (DL BWP %d, UL BWP %d)
\n
"
,
dci_format
,
n_RB_DLBWP
,
n_RB_ULBWP
);
switch
(
dci_format
){
case
format0_0
:
...
...
@@ -1746,18 +1747,18 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fa
/* PDSCH_TO_HARQ_FEEDBACK_TIME_IND (only if CRC scrambled by C-RNTI or CS-RNTI or new-RNTI)*/
dlsch_config_pdu_1_0
->
pdsch_to_harq_feedback_time_ind
=
dci
->
pdsch_to_harq_feedback_time_ind
;
printf
(
"
\n
>>>
(nr_ue_procedures.c) rnti=%d dl_config->number_pdus=%d
\n
"
,
LOG_D
(
MAC
,
"
(nr_ue_procedures.c) rnti=%d dl_config->number_pdus=%d
\n
"
,
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
dlsch_config_pdu
.
rnti
,
dl_config
->
number_pdus
);
printf
(
">>>
(nr_ue_procedures.c) frequency_domain_resource_assignment=%d
\t
number_rbs=%d
\t
start_rb=%d
\n
"
,
LOG_D
(
MAC
,
"
(nr_ue_procedures.c) frequency_domain_resource_assignment=%d
\t
number_rbs=%d
\t
start_rb=%d
\n
"
,
dci
->
freq_dom_resource_assignment_DL
,
dlsch_config_pdu_1_0
->
number_rbs
,
dlsch_config_pdu_1_0
->
start_rb
);
printf
(
">>>
(nr_ue_procedures.c) time_domain_resource_assignment=%d
\t
number_symbols=%d
\t
start_symbol=%d
\n
"
,
LOG_D
(
MAC
,
"
(nr_ue_procedures.c) time_domain_resource_assignment=%d
\t
number_symbols=%d
\t
start_symbol=%d
\n
"
,
dci
->
time_dom_resource_assignment
,
dlsch_config_pdu_1_0
->
number_symbols
,
dlsch_config_pdu_1_0
->
start_symbol
);
printf
(
">>>
(nr_ue_procedures.c) vrb_to_prb_mapping=%d
\n
>>> mcs=%d
\n
>>> ndi=%d
\n
>>> rv=%d
\n
>>> harq_process_nbr=%d
\n
>>> dai=%d
\n
>>> scaling_factor_S=%f
\n
>>> tpc_pucch=%d
\n
>>> pucch_res_ind=%d
\n
>>> pdsch_to_harq_feedback_time_ind=%d
\n
"
,
LOG_D
(
MAC
,
"
(nr_ue_procedures.c) vrb_to_prb_mapping=%d
\n
>>> mcs=%d
\n
>>> ndi=%d
\n
>>> rv=%d
\n
>>> harq_process_nbr=%d
\n
>>> dai=%d
\n
>>> scaling_factor_S=%f
\n
>>> tpc_pucch=%d
\n
>>> pucch_res_ind=%d
\n
>>> pdsch_to_harq_feedback_time_ind=%d
\n
"
,
dlsch_config_pdu_1_0
->
vrb_to_prb_mapping
,
dlsch_config_pdu_1_0
->
mcs
,
dlsch_config_pdu_1_0
->
ndi
,
...
...
@@ -1772,7 +1773,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fa
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
pdu_type
=
FAPI_NR_DL_CONFIG_TYPE_DLSCH
;
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
dci_config_pdu
.
dci_config_rel15
.
N_RB_BWP
=
n_RB_DLBWP
;
printf
(
">>>
(nr_ue_procedures.c) pdu_type=%d
\n\n
"
,
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
pdu_type
);
LOG_D
(
MAC
,
"
(nr_ue_procedures.c) pdu_type=%d
\n\n
"
,
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
pdu_type
);
dl_config
->
number_pdus
=
dl_config
->
number_pdus
+
1
;
break
;
...
...
@@ -1959,7 +1960,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fa
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
dci_config_pdu
.
dci_config_rel15
.
N_RB_BWP
=
n_RB_DLBWP
;
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
pdu_type
=
FAPI_NR_DL_CONFIG_TYPE_DLSCH
;
printf
(
">>>
(nr_ue_procedures.c) pdu_type=%d
\n\n
"
,
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
pdu_type
);
LOG_D
(
MAC
,
"
(nr_ue_procedures.c) pdu_type=%d
\n\n
"
,
dl_config
->
dl_config_list
[
dl_config
->
number_pdus
].
pdu_type
);
dl_config
->
number_pdus
=
dl_config
->
number_pdus
+
1
;
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
2da6fb8e
...
...
@@ -65,7 +65,7 @@ int handle_bcch_dlsch(module_id_t module_id, int cc_id, unsigned int gNB_index,
// L2 Abstraction Layer
int
handle_dci
(
module_id_t
module_id
,
int
cc_id
,
unsigned
int
gNB_index
,
fapi_nr_dci_pdu_rel15_t
*
dci
,
uint16_t
rnti
,
uint32_t
dci_type
){
printf
(
"handle_dci: rnti %x,dci_type %d
\n
"
,
rnti
,
dci_type
);
//
printf("handle_dci: rnti %x,dci_type %d\n",rnti,dci_type);
return
nr_ue_process_dci
(
module_id
,
cc_id
,
gNB_index
,
dci
,
rnti
,
dci_type
);
}
...
...
@@ -143,9 +143,9 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info){
mac
->
scheduled_response
.
slot
=
dl_info
->
slot
;
if
(
dl_info
->
dci_ind
!=
NULL
){
printf
(
"[L2][IF MODULE][DL INDICATION][DCI_IND]
\n
"
);
LOG_D
(
MAC
,
"[L2][IF MODULE][DL INDICATION][DCI_IND]
\n
"
);
for
(
i
=
0
;
i
<
dl_info
->
dci_ind
->
number_of_dcis
;
++
i
){
printf
(
">>>NR_IF_Module i=%d, dl_info->dci_ind->number_of_dcis=%d
\n
"
,
i
,
dl_info
->
dci_ind
->
number_of_dcis
);
LOG_I
(
MAC
,
">>>NR_IF_Module i=%d, dl_info->dci_ind->number_of_dcis=%d
\n
"
,
i
,
dl_info
->
dci_ind
->
number_of_dcis
);
fapi_nr_dci_pdu_rel15_t
*
dci
=
&
dl_info
->
dci_ind
->
dci_list
[
i
].
dci
;
ret_mask
|=
(
handle_dci
(
...
...
@@ -205,7 +205,7 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info){
}
if
(
dl_info
->
rx_ind
!=
NULL
){
printf
(
"[L2][IF MODULE][DL INDICATION][RX_IND]
\n
"
);
LOG_I
(
MAC
,
"[L2][IF MODULE][DL INDICATION][RX_IND]
\n
"
);
for
(
i
=
0
;
i
<
dl_info
->
rx_ind
->
number_pdus
;
++
i
){
switch
(
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdu_type
){
case
FAPI_NR_RX_PDU_TYPE_MIB
:
...
...
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