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
zzha zzha
OpenXG-RAN
Commits
e0dbb3a5
Commit
e0dbb3a5
authored
Oct 08, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
config phase compensation
parent
5795f875
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
24 additions
and
13 deletions
+24
-13
executables/nr-gnb.c
executables/nr-gnb.c
+1
-1
openair1/PHY/defs_gNB.h
openair1/PHY/defs_gNB.h
+4
-0
openair1/SCHED_NR/phy_procedures_nr_gNB.c
openair1/SCHED_NR/phy_procedures_nr_gNB.c
+14
-12
openair2/GNB_APP/L1_nr_paramdef.h
openair2/GNB_APP/L1_nr_paramdef.h
+4
-0
openair2/GNB_APP/gnb_config.c
openair2/GNB_APP/gnb_config.c
+1
-0
No files found.
executables/nr-gnb.c
View file @
e0dbb3a5
...
...
@@ -235,7 +235,7 @@ void rx_func(void *param)
L1_nr_prach_procedures
(
gNB
,
frame_rx
,
slot_rx
);
//WA: comment rotation in tx/rx
if
(
(
gNB
->
num_RU
==
1
)
&&
(
gNB
->
RU_list
[
0
]
->
if_south
!=
REMOTE_IF4p5
)
)
{
if
(
gNB
->
phase_comp
>
0
)
{
//apply the rx signal rotation here
int
soffset
=
(
slot_rx
&
3
)
*
gNB
->
frame_parms
.
symbols_per_slot
*
gNB
->
frame_parms
.
ofdm_symbol_size
;
for
(
int
aa
=
0
;
aa
<
gNB
->
frame_parms
.
nb_antennas_rx
;
aa
++
)
{
...
...
openair1/PHY/defs_gNB.h
View file @
e0dbb3a5
...
...
@@ -646,6 +646,10 @@ typedef struct PHY_VARS_gNB_s {
// reference amplitude for TX
int16_t
TX_AMP
;
// flag to activate 3GPP phase symbolwise rotation
int
phase_comp
;
// PUCCH0 Look-up table for cyclic-shifts
NR_gNB_PUCCH0_LUT_t
pucch0_lut
;
...
...
openair1/SCHED_NR/phy_procedures_nr_gNB.c
View file @
e0dbb3a5
...
...
@@ -221,6 +221,7 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx,
// if ((frame&127) == 0) dump_pdsch_stats(gNB);
//apply the OFDM symbol rotation here
if
(
gNB
->
phase_comp
>
0
)
{
for
(
aa
=
0
;
aa
<
cfg
->
carrier_config
.
num_tx_ant
.
value
;
aa
++
)
{
apply_nr_rotation_TX
(
fp
,
&
gNB
->
common_vars
.
txdataF
[
aa
][
txdataF_offset
],
...
...
@@ -234,6 +235,7 @@ void phy_procedures_gNB_TX(processingData_L1tx_t *msgTx,
T_INT
(
frame
),
T_INT
(
slot
),
T_INT
(
aa
),
T_BUFFER
(
&
gNB
->
common_vars
.
txdataF
[
aa
][
txdataF_offset
],
fp
->
samples_per_slot_wCP
*
sizeof
(
int32_t
)));
}
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_TX
+
gNB
->
CC_id
,
0
);
}
...
...
openair2/GNB_APP/L1_nr_paramdef.h
View file @
e0dbb3a5
...
...
@@ -58,6 +58,8 @@
#define HLP_TP_SIZ "thread_pool_size paramter removed, please use --thread-pool"
#define CONFIG_STRING_L1_TX_AMP_BACKOFF_dB "tx_amp_backoff_dB"
#define HLP_L1TX_BO "Backoff from full-scale output at the L1 entity(frequency domain), ex. 12 would corresponding to 14-bit input level (6 dB/bit). Default 36 dBFS for OAI RU entity"
#define CONFIG_STRING_L1_PHASE_COMP "phase_compensation"
#define HLP_L1_PHASE_COMP "Apply NR symbolwise phase rotation"
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
/* L1 configuration parameters */
/* optname helpstr paramflags XXXptr defXXXval type numelt */
...
...
@@ -83,6 +85,7 @@
{CONFIG_STRING_L1_RX_THREAD_CORE, NULL, 0, .uptr=NULL, .defintval=-1, TYPE_UINT, 0}, \
{CONFIG_STRING_L1_TX_THREAD_CORE, NULL, 0, .uptr=NULL, .defintval=-1, TYPE_UINT, 0}, \
{CONFIG_STRING_L1_TX_AMP_BACKOFF_dB, HLP_L1TX_BO,0, .uptr=NULL, .defintval=36, TYPE_UINT, 0}, \
{CONFIG_STRING_L1_PHASE_COMP, HLP_L1_PHASE_COMP,0, .uptr=NULL, .defintval=1, TYPE_UINT, 0}, \
}
// clang-format on
#define L1_CC_IDX 0
...
...
@@ -104,6 +107,7 @@
#define L1_RX_THREAD_CORE 16
#define L1_TX_THREAD_CORE 17
#define L1_TX_AMP_BACKOFF_dB 18
#define L1_PHASE_COMP 19
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
#endif
openair2/GNB_APP/gnb_config.c
View file @
e0dbb3a5
...
...
@@ -879,6 +879,7 @@ void RCconfig_NR_L1(void)
RC
.
gNB
[
j
]
->
L1_tx_thread_core
=
*
(
L1_ParamList
.
paramarray
[
j
][
L1_TX_THREAD_CORE
].
iptr
);
LOG_I
(
PHY
,
"L1_RX_THREAD_CORE %d (%d)
\n
"
,
*
(
L1_ParamList
.
paramarray
[
j
][
L1_RX_THREAD_CORE
].
iptr
),
L1_RX_THREAD_CORE
);
RC
.
gNB
[
j
]
->
TX_AMP
=
(
int16_t
)(
32767
.
0
/
pow
(
10
.
0
,
.
05
*
(
double
)(
*
L1_ParamList
.
paramarray
[
j
][
L1_TX_AMP_BACKOFF_dB
].
uptr
)));
RC
.
gNB
[
j
]
->
phase_comp
=
*
L1_ParamList
.
paramarray
[
j
][
L1_PHASE_COMP
].
uptr
;
LOG_I
(
PHY
,
"TX_AMP = %d (-%d dBFS)
\n
"
,
RC
.
gNB
[
j
]
->
TX_AMP
,
*
L1_ParamList
.
paramarray
[
j
][
L1_TX_AMP_BACKOFF_dB
].
uptr
);
AssertFatal
(
RC
.
gNB
[
j
]
->
TX_AMP
>
300
,
"TX_AMP is too small, must be larger than 300 (is %d)
\n
"
,
RC
.
gNB
[
j
]
->
TX_AMP
);
if
(
strcmp
(
*
(
L1_ParamList
.
paramarray
[
j
][
L1_TRANSPORT_N_PREFERENCE_IDX
].
strptr
),
"local_mac"
)
==
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