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
dccda751
Commit
dccda751
authored
Jul 16, 2019
by
Raphael Defosseux
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix for FDD DL performance issue
Signed-off-by:
Raphael Defosseux
<
raphael.defosseux@eurecom.fr
>
parent
3851e326
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
18 additions
and
2 deletions
+18
-2
ci-scripts/conf_files/rcc.band38.tm1.50PRB.multi.rru.conf
ci-scripts/conf_files/rcc.band38.tm1.50PRB.multi.rru.conf
+2
-0
ci-scripts/conf_files/rru.band38.tm1.master.conf
ci-scripts/conf_files/rru.band38.tm1.master.conf
+1
-0
ci-scripts/conf_files/rru.band38.tm1.slave.conf
ci-scripts/conf_files/rru.band38.tm1.slave.conf
+1
-0
openair1/PHY/defs_eNB.h
openair1/PHY/defs_eNB.h
+2
-0
openair2/ENB_APP/enb_paramdef.h
openair2/ENB_APP/enb_paramdef.h
+4
-1
targets/RT/USER/lte-ru.c
targets/RT/USER/lte-ru.c
+8
-1
No files found.
ci-scripts/conf_files/rcc.band38.tm1.50PRB.multi.rru.conf
View file @
dccda751
...
@@ -193,6 +193,7 @@ RUs = (
...
@@ -193,6 +193,7 @@ RUs = (
att_rx
=
20
;
att_rx
=
20
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
is_slave
=
"no"
;
is_slave
=
"no"
;
ota_sync_enabled
=
"yes"
;
},
},
{
{
local_if_name
=
"enp129s0f0"
;
local_if_name
=
"enp129s0f0"
;
...
@@ -210,6 +211,7 @@ RUs = (
...
@@ -210,6 +211,7 @@ RUs = (
att_rx
=
20
;
att_rx
=
20
;
eNB_instances
= [
0
];
eNB_instances
= [
0
];
is_slave
=
"yes"
;
is_slave
=
"yes"
;
ota_sync_enabled
=
"yes"
;
}
}
);
);
...
...
ci-scripts/conf_files/rru.band38.tm1.master.conf
View file @
dccda751
...
@@ -15,6 +15,7 @@ RUs = (
...
@@ -15,6 +15,7 @@ RUs = (
max_rxgain
=
100
;
max_rxgain
=
100
;
bands
= [
38
];
bands
= [
38
];
is_slave
=
"no"
;
is_slave
=
"no"
;
ota_sync_enabled
=
"yes"
;
}
}
);
);
...
...
ci-scripts/conf_files/rru.band38.tm1.slave.conf
View file @
dccda751
...
@@ -15,6 +15,7 @@ RUs = (
...
@@ -15,6 +15,7 @@ RUs = (
max_rxgain
=
100
;
max_rxgain
=
100
;
bands
= [
38
];
bands
= [
38
];
is_slave
=
"yes"
;
is_slave
=
"yes"
;
ota_sync_enabled
=
"yes"
;
}
}
);
);
...
...
openair1/PHY/defs_eNB.h
View file @
dccda751
...
@@ -339,6 +339,8 @@ typedef struct RU_t_s{
...
@@ -339,6 +339,8 @@ typedef struct RU_t_s{
int
north_out_cnt
;
int
north_out_cnt
;
/// flag to indicate the RU is a slave to another source
/// flag to indicate the RU is a slave to another source
int
is_slave
;
int
is_slave
;
/// flag to indicate if the RU has to perform OTA sync
int
ota_sync_enable
;
/// flag to indicate that the RU should generate the DMRS sequence in slot 2 (subframe 1) for OTA synchronization and calibration
/// flag to indicate that the RU should generate the DMRS sequence in slot 2 (subframe 1) for OTA synchronization and calibration
int
generate_dmrs_sync
;
int
generate_dmrs_sync
;
/// flag to indicate if the RU has a control channel
/// flag to indicate if the RU has a control channel
...
...
openair2/ENB_APP/enb_paramdef.h
View file @
dccda751
...
@@ -104,6 +104,7 @@ typedef enum {
...
@@ -104,6 +104,7 @@ typedef enum {
#define CONFIG_STRING_RU_SDR_CLK_SRC "clock_src"
#define CONFIG_STRING_RU_SDR_CLK_SRC "clock_src"
#define CONFIG_STRING_RU_SF_EXTENSION "sf_extension"
#define CONFIG_STRING_RU_SF_EXTENSION "sf_extension"
#define CONFIG_STRING_RU_END_OF_BURST_DELAY "end_of_burst_delay"
#define CONFIG_STRING_RU_END_OF_BURST_DELAY "end_of_burst_delay"
#define CONFIG_STRING_RU_OTA_SYNC_ENABLE "ota_sync_enabled"
#define RU_LOCAL_IF_NAME_IDX 0
#define RU_LOCAL_IF_NAME_IDX 0
#define RU_LOCAL_ADDRESS_IDX 1
#define RU_LOCAL_ADDRESS_IDX 1
...
@@ -128,6 +129,7 @@ typedef enum {
...
@@ -128,6 +129,7 @@ typedef enum {
#define RU_SDR_CLK_SRC 20
#define RU_SDR_CLK_SRC 20
#define RU_SF_EXTENSION_IDX 21
#define RU_SF_EXTENSION_IDX 21
#define RU_END_OF_BURST_DELAY_IDX 22
#define RU_END_OF_BURST_DELAY_IDX 22
#define RU_OTA_SYNC_ENABLE_IDX 23
...
@@ -153,12 +155,13 @@ typedef enum {
...
@@ -153,12 +155,13 @@ typedef enum {
{CONFIG_STRING_RU_ENB_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFENBS, TYPE_INTARRAY, 1}, \
{CONFIG_STRING_RU_ENB_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFENBS, TYPE_INTARRAY, 1}, \
{CONFIG_STRING_RU_ATT_TX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_ATT_TX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_ATT_RX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_ATT_RX, NULL, 0, uptr:NULL, defintval:0, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_IS_SLAVE, NULL, 0, strptr:NULL, defstrval:"no", TYPE_STRING, 0}, \
{CONFIG_STRING_RU_IS_SLAVE, NULL, 0, strptr:NULL, defstrval:"no",
TYPE_STRING, 0}, \
{CONFIG_STRING_RU_NBIOTRRC_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFENBS, TYPE_INTARRAY, 1}, \
{CONFIG_STRING_RU_NBIOTRRC_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFENBS, TYPE_INTARRAY, 1}, \
{CONFIG_STRING_RU_SDR_ADDRS, NULL, 0, strptr:NULL, defstrval:"type=b200", TYPE_STRING, 0}, \
{CONFIG_STRING_RU_SDR_ADDRS, NULL, 0, strptr:NULL, defstrval:"type=b200", TYPE_STRING, 0}, \
{CONFIG_STRING_RU_SDR_CLK_SRC, NULL, 0, strptr:NULL, defstrval:"internal", TYPE_STRING, 0}, \
{CONFIG_STRING_RU_SDR_CLK_SRC, NULL, 0, strptr:NULL, defstrval:"internal", TYPE_STRING, 0}, \
{CONFIG_STRING_RU_SF_EXTENSION, NULL, 0, uptr:NULL, defuintval:312, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_SF_EXTENSION, NULL, 0, uptr:NULL, defuintval:312, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_END_OF_BURST_DELAY, NULL, 0, uptr:NULL, defuintval:400, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_END_OF_BURST_DELAY, NULL, 0, uptr:NULL, defuintval:400, TYPE_UINT, 0}, \
{CONFIG_STRING_RU_OTA_SYNC_ENABLE, NULL, 0, strptr:NULL, defstrval:"no", TYPE_STRING, 0}, \
}
}
/*---------------------------------------------------------------------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------------------------------------------------------------------*/
...
...
targets/RT/USER/lte-ru.c
View file @
dccda751
...
@@ -2633,7 +2633,11 @@ void init_RU(char *rf_config_file, clock_source_t clock_source,clock_source_t ti
...
@@ -2633,7 +2633,11 @@ void init_RU(char *rf_config_file, clock_source_t clock_source,clock_source_t ti
// NOTE: multiple CC_id are not handled here yet!
// NOTE: multiple CC_id are not handled here yet!
ru
->
openair0_cfg
.
clock_source
=
clock_source
;
ru
->
openair0_cfg
.
clock_source
=
clock_source
;
ru
->
openair0_cfg
.
time_source
=
time_source
;
ru
->
openair0_cfg
.
time_source
=
time_source
;
ru
->
generate_dmrs_sync
=
(
ru
->
is_slave
==
0
)
?
1
:
0
;
//ru->generate_dmrs_sync = (ru->is_slave == 0) ? 1 : 0;
if
((
ru
->
is_slave
==
0
)
&&
(
ru
->
ota_sync_enable
==
1
))
ru
->
generate_dmrs_sync
=
1
;
else
ru
->
generate_dmrs_sync
=
0
;
if
(
ru
->
generate_dmrs_sync
==
1
)
{
if
(
ru
->
generate_dmrs_sync
==
1
)
{
generate_ul_ref_sigs
();
generate_ul_ref_sigs
();
ru
->
dmrssync
=
(
int16_t
*
)
malloc16_clear
(
ru
->
frame_parms
.
ofdm_symbol_size
*
2
*
sizeof
(
int16_t
));
ru
->
dmrssync
=
(
int16_t
*
)
malloc16_clear
(
ru
->
frame_parms
.
ofdm_symbol_size
*
2
*
sizeof
(
int16_t
));
...
@@ -2920,6 +2924,9 @@ void RCconfig_RU(void) {
...
@@ -2920,6 +2924,9 @@ void RCconfig_RU(void) {
printf
(
"RU %d is_slave=%s
\n
"
,
j
,
*
(
RUParamList
.
paramarray
[
j
][
RU_IS_SLAVE_IDX
].
strptr
));
printf
(
"RU %d is_slave=%s
\n
"
,
j
,
*
(
RUParamList
.
paramarray
[
j
][
RU_IS_SLAVE_IDX
].
strptr
));
if
(
strcmp
(
*
(
RUParamList
.
paramarray
[
j
][
RU_IS_SLAVE_IDX
].
strptr
),
"yes"
)
==
0
)
RC
.
ru
[
j
]
->
is_slave
=
1
;
if
(
strcmp
(
*
(
RUParamList
.
paramarray
[
j
][
RU_IS_SLAVE_IDX
].
strptr
),
"yes"
)
==
0
)
RC
.
ru
[
j
]
->
is_slave
=
1
;
else
RC
.
ru
[
j
]
->
is_slave
=
0
;
else
RC
.
ru
[
j
]
->
is_slave
=
0
;
printf
(
"RU %d ota_sync_enabled=%s
\n
"
,
j
,
*
(
RUParamList
.
paramarray
[
j
][
RU_OTA_SYNC_ENABLE_IDX
].
strptr
));
if
(
strcmp
(
*
(
RUParamList
.
paramarray
[
j
][
RU_OTA_SYNC_ENABLE_IDX
].
strptr
),
"yes"
)
==
0
)
RC
.
ru
[
j
]
->
ota_sync_enable
=
1
;
else
RC
.
ru
[
j
]
->
ota_sync_enable
=
0
;
}
}
RC
.
ru
[
j
]
->
max_pdschReferenceSignalPower
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RS_EPRE_IDX
].
uptr
);;
RC
.
ru
[
j
]
->
max_pdschReferenceSignalPower
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RS_EPRE_IDX
].
uptr
);;
RC
.
ru
[
j
]
->
max_rxgain
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RXGAIN_IDX
].
uptr
);
RC
.
ru
[
j
]
->
max_rxgain
=
*
(
RUParamList
.
paramarray
[
j
][
RU_MAX_RXGAIN_IDX
].
uptr
);
...
...
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