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
lizhongxiao
OpenXG-RAN
Commits
cb873a97
Commit
cb873a97
authored
Jul 18, 2023
by
111
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add interfere
parent
70aa9221
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
1 deletion
+36
-1
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+36
-1
No files found.
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
cb873a97
...
...
@@ -52,6 +52,8 @@ uint8_t SSB_Table[38]={0,2,4,6,8,10,12,14,254,254,16,18,20,22,24,26,28,30,254,25
extern
uint8_t
nfapi_mode
;
int32_t
pss_tmp_data
[
4096
];
static
int
log_first
=
0
;
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
;
...
...
@@ -61,6 +63,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame,int slot,nfapi_nr_
uint16_t
ssb_start_symbol
;
int
txdataF_offset
=
slot
*
fp
->
samples_per_slot_wCP
;
uint16_t
slots_per_hf
=
(
fp
->
slots_per_frame
)
>>
1
;
if
(
slot
<
slots_per_hf
)
n_hf
=
0
;
...
...
@@ -83,6 +86,13 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame,int slot,nfapi_nr_
LOG_D
(
PHY
,
"SS TX: frame %d, slot %d, start_symbol %d
\n
"
,
frame
,
slot
,
ssb_start_symbol
);
nr_generate_pss
(
&
txdataF
[
0
][
txdataF_offset
],
AMP
,
ssb_start_symbol
,
cfg
,
fp
);
nr_generate_sss
(
&
txdataF
[
0
][
txdataF_offset
],
AMP
,
ssb_start_symbol
,
cfg
,
fp
);
if
(
log_first
==
0
)
{
memcpy
(
pss_tmp_data
,
&
txdataF
[
0
][
txdataF_offset
+
ssb_start_symbol
*
fp
->
ofdm_symbol_size
],
fp
->
ofdm_symbol_size
*
4
);
log_first
=
1
;
}
if
(
fp
->
Lmax
==
4
)
nr_generate_pbch_dmrs
(
gNB
->
nr_gold_pbch_dmrs
[
n_hf
][
ssb_index
&
7
],
&
txdataF
[
0
][
txdataF_offset
],
AMP
,
ssb_start_symbol
,
cfg
,
fp
);
...
...
@@ -132,11 +142,20 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_TX
+
offset
,
1
);
// clear the transmit data array and beam index for the current slot
if
(
log_first
==
1
)
{
for
(
int
i
=
0
;
i
<
fp
->
Lmax
;
i
++
)
{
if
(
msgTx
->
ssb
[
i
].
active
)
{
msgTx
->
ssb
[
i
].
active
=
false
;
}
}
return
;
}
for
(
aa
=
0
;
aa
<
cfg
->
carrier_config
.
num_tx_ant
.
value
;
aa
++
)
{
memset
(
&
gNB
->
common_vars
.
txdataF
[
aa
][
txdataF_offset
],
0
,
fp
->
samples_per_slot_wCP
*
sizeof
(
int32_t
));
memset
(
&
gNB
->
common_vars
.
beam_id
[
aa
][
slot
*
fp
->
symbols_per_slot
],
255
,
fp
->
symbols_per_slot
*
sizeof
(
uint8_t
));
}
// Check for PRS slot - section 7.4.1.7.4 in 3GPP rel16 38.211
for
(
int
rsc_id
=
0
;
rsc_id
<
gNB
->
prs_vars
.
NumPRSResources
;
rsc_id
++
)
{
...
...
@@ -152,6 +171,7 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx,
}
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_COMMON_TX
,
1
);
for
(
int
i
=
0
;
i
<
fp
->
Lmax
;
i
++
)
{
if
(
msgTx
->
ssb
[
i
].
active
)
{
...
...
@@ -160,8 +180,23 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx,
}
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_COMMON_TX
,
0
);
for
(
int
sl
=
0
;
sl
<
20
;
sl
++
)
{
txdataF_offset
=
sl
*
fp
->
samples_per_slot_wCP
;
for
(
int
symb
=
0
;
symb
<
14
;
symb
+=
2
)
{
for
(
aa
=
0
;
aa
<
cfg
->
carrier_config
.
num_tx_ant
.
value
;
aa
++
)
{
memcpy
(
&
gNB
->
common_vars
.
txdataF
[
aa
][
txdataF_offset
+
symb
*
fp
->
ofdm_symbol_size
],
pss_tmp_data
,
fp
->
samples_per_slot_wCP
*
sizeof
(
int32_t
));
}
}
}
return
;
int
num_pdcch_pdus
=
msgTx
->
num_ul_pdcch
+
msgTx
->
num_dl_pdcch
;
if
(
num_pdcch_pdus
>
0
)
{
...
...
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