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
spbro
OpenXG-RAN
Commits
1a04ebaa
Commit
1a04ebaa
authored
Aug 16, 2024
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup of gNB PHY procedures and removal of global PBCH structure
parent
d04a83ea
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
192 additions
and
171 deletions
+192
-171
openair1/PHY/NR_TRANSPORT/nr_pbch.c
openair1/PHY/NR_TRANSPORT/nr_pbch.c
+161
-128
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
+17
-19
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+0
-8
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+3
-4
openair1/SIMULATION/NR_PHY/pbchsim.c
openair1/SIMULATION/NR_PHY/pbchsim.c
+11
-12
No files found.
openair1/PHY/NR_TRANSPORT/nr_pbch.c
View file @
1a04ebaa
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_transport_proto.h
View file @
1a04ebaa
...
...
@@ -72,33 +72,30 @@ int nr_generate_sss(c16_t *txdataF,
NR_DL_FRAME_PARMS
*
frame_parms
);
/*!
\fn
int
nr_generate_pbch_dmrs
\fn
void
nr_generate_pbch_dmrs
\brief Generation of the DMRS for the PBCH
@param
@returns 0 on success
*/
int
nr_generate_pbch_dmrs
(
uint32_t
*
gold_pbch_dmrs
,
c16_t
*
txdataF
,
int16_t
amp
,
uint8_t
ssb_start_symbol
,
nfapi_nr_config_request_scf_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
void
nr_generate_pbch_dmrs
(
uint32_t
*
gold_pbch_dmrs
,
c16_t
*
txdataF
,
int16_t
amp
,
uint8_t
ssb_start_symbol
,
nfapi_nr_config_request_scf_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
/*!
\fn
int
nr_generate_pbch
\fn
void
nr_generate_pbch
\brief Generation of the PBCH
@param
@returns 0 on success
*/
int
nr_generate_pbch
(
nfapi_nr_dl_tti_ssb_pdu
*
ssb_pdu
,
uint8_t
*
interleaver
,
c16_t
*
txdataF
,
int16_t
amp
,
uint8_t
ssb_start_symbol
,
uint8_t
n_hf
,
int
sfn
,
nfapi_nr_config_request_scf_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
void
nr_generate_pbch
(
PHY_VARS_gNB
*
gNB
,
const
nfapi_nr_dl_tti_ssb_pdu
*
ssb_pdu
,
c16_t
*
txdataF
,
uint8_t
ssb_start_symbol
,
uint8_t
n_hf
,
int
sfn
,
nfapi_nr_config_request_scf_t
*
config
,
NR_DL_FRAME_PARMS
*
frame_parms
);
/*!
\fn int nr_generate_pbch
...
...
@@ -107,6 +104,7 @@ int nr_generate_pbch(nfapi_nr_dl_tti_ssb_pdu *ssb_pdu,
@returns the bit index of the output
*/
void
nr_init_pbch_interleaver
(
uint8_t
*
interleaver
);
uint32_t
nr_pbch_extra_byte_generation
(
int
sfn
,
int
n_hf
,
int
ssb_index
,
int
ssb_sc_offset
,
int
Lmax
);
NR_gNB_DLSCH_t
new_gNB_dlsch
(
NR_DL_FRAME_PARMS
*
frame_parms
,
uint16_t
N_RB
);
...
...
openair1/PHY/defs_gNB.h
View file @
1a04ebaa
...
...
@@ -53,13 +53,6 @@ typedef struct {
int
lut
[
MAX_PUCCH0_NID
][
160
][
14
];
}
NR_gNB_PUCCH0_LUT_t
;
typedef
struct
{
uint32_t
pbch_a
;
uint32_t
pbch_a_interleaved
;
uint32_t
pbch_a_prime
;
uint32_t
pbch_e
[
NR_POLAR_PBCH_E_DWORD
];
}
NR_gNB_PBCH
;
typedef
struct
{
/// Nfapi DLSCH PDU
nfapi_nr_dl_tti_pdsch_pdu
pdsch_pdu
;
...
...
@@ -469,7 +462,6 @@ typedef struct PHY_VARS_gNB_s {
int
max_nb_pdsch
;
int
max_nb_pusch
;
NR_gNB_PBCH
pbch
;
NR_gNB_COMMON
common_vars
;
NR_gNB_PRACH
prach_vars
;
NR_gNB_PRS
prs_vars
;
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
1a04ebaa
...
...
@@ -45,7 +45,7 @@
extern
uint8_t
nfapi_mode
;
void
nr_common_signal_procedures
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
,
nfapi_nr_dl_tti_ssb_pdu
ssb_pdu
)
void
nr_common_signal_procedures
(
PHY_VARS_gNB
*
gNB
,
int
frame
,
int
slot
,
nfapi_nr_dl_tti_ssb_pdu
ssb_pdu
)
{
NR_DL_FRAME_PARMS
*
fp
=
&
gNB
->
frame_parms
;
nfapi_nr_config_request_scf_t
*
cfg
=
&
gNB
->
gNB_config
;
...
...
@@ -135,10 +135,9 @@ void nr_common_signal_procedures(PHY_VARS_gNB *gNB,int frame,int slot, nfapi_nr_
gNB
->
common_vars
.
beam_id
[
0
][
slot
*
fp
->
symbols_per_slot
+
j
]
=
cfg
->
ssb_table
.
ssb_beam_id_list
[
ssb_index
].
beam_id
.
value
;
}
nr_generate_pbch
(
&
ssb_pdu
,
gNB
->
nr_pbch_interleaver
,
nr_generate_pbch
(
gNB
,
&
ssb_pdu
,
&
txdataF
[
0
][
txdataF_offset
],
gNB
->
TX_AMP
,
ssb_start_symbol
,
n_hf
,
frame
,
...
...
openair1/SIMULATION/NR_PHY/pbchsim.c
View file @
1a04ebaa
...
...
@@ -204,6 +204,7 @@ int main(int argc, char **argv)
channel_desc_t
*
gNB2UE
;
get_softmodem_params
()
->
sa
=
1
;
get_softmodem_params
()
->
usim_test
=
1
;
//uint8_t extended_prefix_flag=0;
//int8_t interf1=-21,interf2=-21;
...
...
@@ -230,7 +231,7 @@ int main(int argc, char **argv)
int
frame_length_complex_samples_no_prefix
;
NR_DL_FRAME_PARMS
*
frame_parms
;
int
ret
,
payload_ret
=
0
;
int
ret
;
int
run_initial_sync
=
0
;
int
loglvl
=
OAILOG_WARNING
;
...
...
@@ -835,17 +836,15 @@ int main(int argc, char **argv)
rxdataF
);
if
(
ret
==
0
)
{
// UE->rx_ind.rx_indication_body->mib_pdu.ssb_index; //not yet detected automatically
// UE->rx_ind.rx_indication_body->mib_pdu.ssb_length; //Lmax, not yet detected automatically
uint8_t
gNB_xtra_byte
=
0
;
for
(
int
i
=
0
;
i
<
8
;
i
++
)
gNB_xtra_byte
|=
((
gNB
->
pbch
.
pbch_a
>>
(
31
-
i
))
&
1
)
<<
(
7
-
i
);
payload_ret
=
(
result
.
xtra_byte
==
gNB_xtra_byte
);
for
(
i
=
0
;
i
<
3
;
i
++
)
{
payload_ret
+=
(
result
.
decoded_output
[
i
]
==
((
msgDataTx
.
ssb
[
ssb_index
].
ssb_pdu
.
ssb_pdu_rel15
.
bchPayload
>>
(
8
*
i
))
&
0xff
));
}
uint32_t
xtra_byte
=
nr_pbch_extra_byte_generation
(
frame
,
n_hf
,
ssb_index
,
gNB
->
gNB_config
.
ssb_table
.
ssb_subcarrier_offset
.
value
,
frame_parms
->
Lmax
);
int
payload_ret
=
(
result
.
xtra_byte
==
xtra_byte
);
nfapi_nr_dl_tti_ssb_pdu_rel15_t
*
pdu
=
&
msgDataTx
.
ssb
[
ssb_index
].
ssb_pdu
.
ssb_pdu_rel15
;
for
(
int
i
=
0
;
i
<
3
;
i
++
)
payload_ret
+=
(
result
.
decoded_output
[
i
]
==
((
pdu
->
bchPayload
>>
(
8
*
i
))
&
0xff
));
// printf("ret %d\n", payload_ret);
if
(
payload_ret
!=
4
)
n_errors_payload
++
;
...
...
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