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
0818e4b9
Commit
0818e4b9
authored
Mar 25, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ssb start subcarrier in ssb indication for reception of sib1
parent
60e0048c
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
41 additions
and
29 deletions
+41
-29
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_constants.h
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_constants.h
+1
-1
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
+3
-3
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
+1
-1
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
+7
-6
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+2
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
+4
-8
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+14
-8
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h
+9
-1
No files found.
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_constants.h
View file @
0818e4b9
...
...
@@ -14,7 +14,7 @@
/// RX_IND
#define FAPI_NR_RX_PDU_TYPE_
MI
B 0x01
#define FAPI_NR_RX_PDU_TYPE_
SS
B 0x01
#define FAPI_NR_RX_PDU_TYPE_SIB 0x02
#define FAPI_NR_RX_PDU_TYPE_DLSCH 0x03
#define FAPI_NR_DCI_IND 0x04
...
...
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
View file @
0818e4b9
...
...
@@ -111,8 +111,8 @@ typedef struct {
uint8_t
ssb_index
;
uint8_t
ssb_length
;
uint16_t
cell_id
;
}
fapi_nr_
mi
b_pdu_t
;
uint16_t
ssb_start_subcarrier
;
}
fapi_nr_
ss
b_pdu_t
;
typedef
struct
{
uint32_t
pdu_length
;
...
...
@@ -124,7 +124,7 @@ typedef struct {
uint8_t
pdu_type
;
union
{
fapi_nr_pdsch_pdu_t
pdsch_pdu
;
fapi_nr_
mib_pdu_t
mi
b_pdu
;
fapi_nr_
ssb_pdu_t
ss
b_pdu
;
fapi_nr_sib_pdu_t
sib_pdu
;
};
}
fapi_nr_rx_indication_body_t
;
...
...
openair1/PHY/NR_UE_TRANSPORT/nr_pbch.c
View file @
0818e4b9
...
...
@@ -613,7 +613,7 @@ int nr_rx_pbch( PHY_VARS_NR_UE *ue,
uint16_t
number_pdus
=
1
;
nr_fill_dl_indication
(
&
dl_indication
,
NULL
,
&
rx_ind
,
proc
,
ue
,
gNB_id
);
nr_fill_rx_indication
(
&
rx_ind
,
FAPI_NR_RX_PDU_TYPE_
MI
B
,
gNB_id
,
ue
,
NULL
,
number_pdus
);
nr_fill_rx_indication
(
&
rx_ind
,
FAPI_NR_RX_PDU_TYPE_
SS
B
,
gNB_id
,
ue
,
NULL
,
number_pdus
);
if
(
ue
->
if_inst
&&
ue
->
if_inst
->
dl_indication
)
ue
->
if_inst
->
dl_indication
(
&
dl_indication
,
NULL
);
...
...
openair1/SCHED_NR_UE/phy_procedures_nr_ue.c
View file @
0818e4b9
...
...
@@ -139,12 +139,13 @@ void nr_fill_rx_indication(fapi_nr_rx_indication_t *rx_ind,
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
pdsch_pdu
.
pdu
=
dlsch0
->
harq_processes
[
harq_pid
]
->
b
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
pdsch_pdu
.
pdu_length
=
dlsch0
->
harq_processes
[
harq_pid
]
->
TBS
/
8
;
break
;
case
FAPI_NR_RX_PDU_TYPE_MIB
:
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
mib_pdu
.
pdu
=
ue
->
pbch_vars
[
gNB_id
]
->
decoded_output
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
mib_pdu
.
additional_bits
=
ue
->
pbch_vars
[
gNB_id
]
->
xtra_byte
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
mib_pdu
.
ssb_index
=
frame_parms
->
ssb_index
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
mib_pdu
.
ssb_length
=
frame_parms
->
Lmax
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
mib_pdu
.
cell_id
=
frame_parms
->
Nid_cell
;
case
FAPI_NR_RX_PDU_TYPE_SSB
:
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
ssb_pdu
.
pdu
=
ue
->
pbch_vars
[
gNB_id
]
->
decoded_output
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
ssb_pdu
.
additional_bits
=
ue
->
pbch_vars
[
gNB_id
]
->
xtra_byte
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
ssb_pdu
.
ssb_index
=
frame_parms
->
ssb_index
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
ssb_pdu
.
ssb_length
=
frame_parms
->
Lmax
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
ssb_pdu
.
cell_id
=
frame_parms
->
Nid_cell
;
rx_ind
->
rx_indication_body
[
n_pdus
-
1
].
ssb_pdu
.
ssb_start_subcarrier
=
frame_parms
->
ssb_start_subcarrier
;
break
;
default:
break
;
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
0818e4b9
...
...
@@ -54,6 +54,7 @@ int8_t nr_ue_decode_mib(
uint32_t
ssb_length
,
uint32_t
ssb_index
,
void
*
pduP
,
uint16_t
ssb_start_subcarrier
,
uint16_t
cell_id
);
/**\brief decode SIB1 and other SIs pdus in NR_UE, from if_module dl_ind
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_procedures.c
View file @
0818e4b9
...
...
@@ -101,6 +101,7 @@ int8_t nr_ue_decode_mib(module_id_t module_id,
uint32_t
ssb_length
,
uint32_t
ssb_index
,
void
*
pduP
,
uint16_t
ssb_start_subcarrier
,
uint16_t
cell_id
)
{
LOG_D
(
MAC
,
"[L2][MAC] decode mib
\n
"
);
...
...
@@ -152,13 +153,8 @@ int8_t nr_ue_decode_mib(module_id_t module_id,
// TODO these values shouldn't be taken from SCC in SA
uint8_t
scs_ssb
=
get_softmodem_params
()
->
numerology
;
uint32_t
band
=
get_softmodem_params
()
->
band
;
int
scs_scaling
=
1
<<
scs_ssb
;
if
(
downlink_frequency
[
0
][
0
]
<
3e9
)
scs_scaling
=
scs_scaling
*
3
;
else
scs_scaling
=
scs_scaling
>>
2
;
uint16_t
ssb_start_symbol
=
get_ssb_start_symbol
(
band
,
scs_ssb
,
ssb_index
);
uint16_t
ssb_offset_point_a
=
(
ssb_start_subcarrier
-
ssb_subcarrier_offset
)
/
12
;
get_type0_PDCCH_CSS_config_parameters
(
&
mac
->
type0_PDCCH_CSS_config
,
frame
,
...
...
@@ -169,7 +165,7 @@ int8_t nr_ue_decode_mib(module_id_t module_id,
scs_ssb
,
frequency_range
,
ssb_index
,
(
N_RB_DL
-
20
)
>>
1
);
ssb_offset_point_a
);
mac
->
type0_pdcch_ss_mux_pattern
=
mac
->
type0_PDCCH_CSS_config
.
type0_pdcch_ss_mux_pattern
;
...
...
@@ -721,7 +717,7 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
}
/* PDSCH_TO_HARQ_FEEDBACK_TIME_IND (only if CRC scrambled by C-RNTI or CS-RNTI or new-RNTI)*/
if
(
mac
->
cg
&&
mac
->
ULbwp
[
mac
->
UL_BWP_Id
-
1
]
->
bwp_Dedicated
->
pucch_Config
->
choice
.
setup
->
dl_DataToUL_ACK
if
(
mac
->
cg
&&
mac
->
ULbwp
[
mac
->
UL_BWP_Id
-
1
]
->
bwp_Dedicated
->
pucch_Config
->
choice
.
setup
->
dl_DataToUL_ACK
)
dlsch_config_pdu_1_0
->
pdsch_to_harq_feedback_time_ind
=
mac
->
ULbwp
[
mac
->
UL_BWP_Id
-
1
]
->
bwp_Dedicated
->
pucch_Config
->
choice
.
setup
->
dl_DataToUL_ACK
->
list
.
array
[
dci
->
pdsch_to_harq_feedback_timing_indicator
.
val
][
0
];
else
// take direct offset for format 1_0
dlsch_config_pdu_1_0
->
pdsch_to_harq_feedback_time_ind
=
dci
->
pdsch_to_harq_feedback_timing_indicator
.
val
;
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
0818e4b9
...
...
@@ -47,7 +47,11 @@ const char *dl_indication_type[] = {"MIB", "SIB", "DLSCH", "DCI", "RAR"};
static
nr_ue_if_module_t
*
nr_ue_if_module_inst
[
MAX_IF_MODULES
];
// L2 Abstraction Layer
int
handle_bcch_bch
(
module_id_t
module_id
,
int
cc_id
,
unsigned
int
gNB_index
,
uint8_t
*
pduP
,
unsigned
int
additional_bits
,
uint32_t
ssb_index
,
uint32_t
ssb_length
,
uint16_t
cell_id
){
int
handle_bcch_bch
(
module_id_t
module_id
,
int
cc_id
,
unsigned
int
gNB_index
,
uint8_t
*
pduP
,
unsigned
int
additional_bits
,
uint32_t
ssb_index
,
uint32_t
ssb_length
,
uint16_t
ssb_start_subcarrier
,
uint16_t
cell_id
){
return
nr_ue_decode_mib
(
module_id
,
cc_id
,
...
...
@@ -56,6 +60,7 @@ int handle_bcch_bch(module_id_t module_id, int cc_id, unsigned int gNB_index, ui
ssb_length
,
// Lssb = 64 is not support
ssb_index
,
pduP
,
ssb_start_subcarrier
,
cell_id
);
}
...
...
@@ -158,14 +163,15 @@ int nr_ue_dl_indication(nr_downlink_indication_t *dl_info, NR_UL_TIME_ALIGNMENT_
switch
(
dl_info
->
rx_ind
->
rx_indication_body
[
i
].
pdu_type
){
case
FAPI_NR_RX_PDU_TYPE_
MI
B
:
case
FAPI_NR_RX_PDU_TYPE_
SS
B
:
ret_mask
|=
(
handle_bcch_bch
(
dl_info
->
module_id
,
dl_info
->
cc_id
,
dl_info
->
gNB_index
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
mib_pdu
.
pdu
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
mib_pdu
.
additional_bits
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
mib_pdu
.
ssb_index
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
mib_pdu
.
ssb_length
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
mib_pdu
.
cell_id
))
<<
FAPI_NR_RX_PDU_TYPE_MIB
;
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
ssb_pdu
.
pdu
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
ssb_pdu
.
additional_bits
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
ssb_pdu
.
ssb_index
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
ssb_pdu
.
ssb_length
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
ssb_pdu
.
ssb_start_subcarrier
,
(
dl_info
->
rx_ind
->
rx_indication_body
+
i
)
->
ssb_pdu
.
cell_id
))
<<
FAPI_NR_RX_PDU_TYPE_SSB
;
break
;
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.h
View file @
0818e4b9
...
...
@@ -221,7 +221,15 @@ int nr_ue_dcireq(nr_dcireq_t *dcireq);
\param ssb_index SSB index within 0 - (L_ssb-1) corresponding to 38.331 ch.13 parameter i
\param ssb_length corresponding to L1 parameter L_ssb
\param cell_id cell id */
int
handle_bcch_bch
(
module_id_t
module_id
,
int
cc_id
,
unsigned
int
gNB_index
,
uint8_t
*
pduP
,
unsigned
int
additional_bits
,
uint32_t
ssb_index
,
uint32_t
ssb_length
,
uint16_t
cell_id
);
int
handle_bcch_bch
(
module_id_t
module_id
,
int
cc_id
,
unsigned
int
gNB_index
,
uint8_t
*
pduP
,
unsigned
int
additional_bits
,
uint32_t
ssb_index
,
uint32_t
ssb_length
,
uint16_t
ssb_start_subcarrier
,
uint16_t
cell_id
);
// TODO check
/**\brief handle BCCH-DL-SCH message from dl_indication
...
...
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