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
littleBu
OpenXG-RAN
Commits
1a04ebaa
Commit
1a04ebaa
authored
8 months ago
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
);
...
...
This diff is collapsed.
Click to expand it.
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
;
...
...
This diff is collapsed.
Click to expand it.
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
,
...
...
This diff is collapsed.
Click to expand it.
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
++
;
...
...
This diff is collapsed.
Click to expand it.
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