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
promise
OpenXG-RAN
Commits
6c41b6d7
Commit
6c41b6d7
authored
Dec 17, 2018
by
rdoost
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
parametrized gains
parent
5832204f
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
327 additions
and
58 deletions
+327
-58
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
+63
-58
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band42.tm1.25PRB.iris030.conf
...TS/GENERIC-LTE-EPC/CONF/enb.band42.tm1.25PRB.iris030.conf
+264
-0
No files found.
targets/ARCH/IRIS/USERSPACE/LIB/iris_lib.cpp
View file @
6c41b6d7
/** iris_lib.cpp
*
* \author: Rahman Doost-Mohammady : doost@rice.edu
* \authors: Rahman Doost-Mohammady : doost@rice.edu
* Clay Shepard : cws@rice.edu
*/
#include <string.h>
...
...
@@ -30,6 +31,7 @@
# include <immintrin.h>
#endif
#define MOVE_DC
#define SAMPLE_RATE_DOWN 1
/*! \brief Iris Configuration */
...
...
@@ -595,7 +597,8 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
}
for
(
r
=
0
;
r
<
s
->
device_num
;
r
++
)
{
switch
((
int
)
openair0_cfg
[
0
].
sample_rate
)
{
//this is unnecessary -- it will set the correct master clock based on sample rate
/*switch ((int) openair0_cfg[0].sample_rate) {
case 1920000:
s->iris[r]->setMasterClockRate(256 * openair0_cfg[0].sample_rate);
break;
...
...
@@ -615,54 +618,34 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
printf("Error: unknown sampling rate %f\n", openair0_cfg[0].sample_rate);
exit(-1);
break;
}
// display Iris settings
printf
(
"Actual master clock: %fMHz...
\n
"
,
(
s
->
iris
[
r
]
->
getMasterClockRate
()
/
1e6
));
/* Setting TX/RX BW after streamers are created due to iris calibration issue */
for
(
i
=
0
;
i
<
s
->
tx_num_channels
;
i
++
)
{
if
(
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_TX
))
{
if
(
s
->
iris
[
r
]
->
getHardwareInfo
()[
"frontend"
].
compare
(
devFE
)
!=
0
)
s
->
iris
[
r
]
->
setBandwidth
(
SOAPY_SDR_TX
,
i
,
30e6
);
else
s
->
iris
[
r
]
->
setBandwidth
(
SOAPY_SDR_TX
,
i
,
openair0_cfg
[
0
].
tx_bw
);
printf
(
"Setting tx bandwidth on channel %lu/%lu: BW %f (readback %f)
\n
"
,
i
,
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_TX
),
openair0_cfg
[
0
].
tx_bw
/
1e6
,
s
->
iris
[
r
]
->
getBandwidth
(
SOAPY_SDR_TX
,
i
)
/
1e6
);
}
}
for
(
i
=
0
;
i
<
s
->
rx_num_channels
;
i
++
)
{
if
(
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_RX
))
{
if
(
s
->
iris
[
r
]
->
getHardwareInfo
()[
"frontend"
].
compare
(
devFE
)
!=
0
)
s
->
iris
[
r
]
->
setBandwidth
(
SOAPY_SDR_TX
,
i
,
30e6
);
else
s
->
iris
[
r
]
->
setBandwidth
(
SOAPY_SDR_RX
,
i
,
openair0_cfg
[
0
].
rx_bw
);
printf
(
"Setting rx bandwidth on channel %lu/%lu : BW %f (readback %f)
\n
"
,
i
,
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_RX
),
openair0_cfg
[
0
].
rx_bw
/
1e6
,
s
->
iris
[
r
]
->
getBandwidth
(
SOAPY_SDR_RX
,
i
)
/
1e6
);
}
}
}*/
for
(
i
=
0
;
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_RX
);
i
++
)
{
if
(
i
<
s
->
rx_num_channels
)
{
s
->
iris
[
r
]
->
setSampleRate
(
SOAPY_SDR_RX
,
i
,
openair0_cfg
[
0
].
sample_rate
/
SAMPLE_RATE_DOWN
);
#ifdef MOVE_DC
printf
(
"Moving DC out of main carrier for rx...
\n
"
);
s
->
iris
[
r
]
->
setFrequency
(
SOAPY_SDR_RX
,
i
,
"RF"
,
openair0_cfg
[
0
].
rx_freq
[
i
]
-
.75
*
openair0_cfg
[
0
].
sample_rate
);
s
->
iris
[
r
]
->
setFrequency
(
SOAPY_SDR_RX
,
i
,
"BB"
,
.75
*
openair0_cfg
[
0
].
sample_rate
);
#else
s
->
iris
[
r
]
->
setFrequency
(
SOAPY_SDR_RX
,
i
,
"RF"
,
openair0_cfg
[
0
].
rx_freq
[
i
]);
#endif
set_rx_gain_offset
(
&
openair0_cfg
[
0
],
i
,
bw_gain_adjust
);
//s->iris[r]->setGain(SOAPY_SDR_RX, i, openair0_cfg[0].rx_gain[i] - openair0_cfg[0].rx_gain_offset[i]);
printf
(
"rx gain offset: %f, rx_gain: %f, tx_tgain: %f
\n
"
,
openair0_cfg
[
0
].
rx_gain_offset
[
i
],
openair0_cfg
[
0
].
rx_gain
[
i
],
openair0_cfg
[
0
].
tx_gain
[
i
]);
if
(
s
->
iris
[
r
]
->
getHardwareInfo
()[
"frontend"
].
compare
(
devFE
)
!=
0
)
{
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"LNA"
,
openair0_cfg
[
0
].
rx_gain
[
i
]
-
openair0_cfg
[
0
].
rx_gain_offset
[
i
]);
//s->iris[r]->setGain(SOAPY_SDR_RX, i, "LNA", 0);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"LNA1"
,
30
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"LNA2"
,
17
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"TIA"
,
0
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"PGA"
,
0
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"TIA"
,
7
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"PGA"
,
18
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"ATTN"
,
0
);
}
else
{
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"LNA"
,
openair0_cfg
[
0
].
rx_gain
[
i
]
-
openair0_cfg
[
0
].
rx_gain_offset
[
i
]);
// [0,30]
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"TIA"
,
0
);
// [0,12,6]
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"PGA"
,
0
);
// [-12,19,1]
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"TIA"
,
7
);
// [0,12,6]
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_RX
,
i
,
"PGA"
,
18
);
// [-12,19,1]
//s->iris[r]->setGain(SOAPY_SDR_RX, i, 50); // [-12,19,1]
}
...
...
@@ -673,22 +656,29 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
for
(
i
=
0
;
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_TX
);
i
++
)
{
if
(
i
<
s
->
tx_num_channels
)
{
s
->
iris
[
r
]
->
setSampleRate
(
SOAPY_SDR_TX
,
i
,
openair0_cfg
[
0
].
sample_rate
/
SAMPLE_RATE_DOWN
);
#ifdef MOVE_DC
printf
(
"Moving DC out of main carrier for tx...
\n
"
);
s
->
iris
[
r
]
->
setFrequency
(
SOAPY_SDR_TX
,
i
,
"RF"
,
openair0_cfg
[
0
].
tx_freq
[
i
]
-
.75
*
openair0_cfg
[
0
].
sample_rate
);
s
->
iris
[
r
]
->
setFrequency
(
SOAPY_SDR_TX
,
i
,
"BB"
,
.75
*
openair0_cfg
[
0
].
sample_rate
);
#else
s
->
iris
[
r
]
->
setFrequency
(
SOAPY_SDR_TX
,
i
,
"RF"
,
openair0_cfg
[
0
].
tx_freq
[
i
]);
#endif
if
(
s
->
iris
[
r
]
->
getHardwareInfo
()[
"frontend"
].
compare
(
devFE
)
==
0
)
{
//
s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", openair0_cfg[0].tx_gain[i]);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"PAD"
,
52
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"PAD"
,
openair0_cfg
[
0
].
tx_gain
[
i
]);
//s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 50
);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"IAMP"
,
12
);
//s->iris[r]->writeSetting("TX_ENABLE_DELAY", "0");
//s->iris[r]->writeSetting("TX_DISABLE_DELAY", "100");
}
else
{
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"PAD"
,
openair0_cfg
[
0
].
tx_gain
[
i
]);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"ATTN"
,
0
);
// [-18, 0, 6] dB
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"IAMP"
,
9
);
// [-12, 12, 1] dB
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"PAD"
,
52
);
//openair0_cfg[0].tx_gain[i]);
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"IAMP"
,
6
);
// [-12, 12, 1] dB
//s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 44
); //openair0_cfg[0].tx_gain[i]);
//s->iris[r]->setGain(SOAPY_SDR_TX, i, "PAD", 35); // [0, 52, 1] dB
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"PA1"
,
9
);
// 17 ??? dB
//s->iris[r]->setGain(SOAPY_SDR_TX, i, "PA1", 17
); // 17 ??? dB
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"PA2"
,
0
);
// [0, 17, 17] dB
s
->
iris
[
r
]
->
setGain
(
SOAPY_SDR_TX
,
i
,
"PA3"
,
20
);
// 33 ??? dB
//
s->iris[r]->setGain(SOAPY_SDR_TX, i, "PA3", 20); // 33 ??? dB
s
->
iris
[
r
]
->
writeSetting
(
"TX_ENABLE_DELAY"
,
"0"
);
s
->
iris
[
r
]
->
writeSetting
(
"TX_DISABLE_DELAY"
,
"100"
);
}
...
...
@@ -702,32 +692,47 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
}
for
(
i
=
0
;
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_RX
);
i
++
)
{
if
(
i
<
s
->
rx_num_channels
)
{
//if (s->iris[r]->getHardwareInfo()["frontend"].compare(devFE) != 0) {
// printf("\nUsing SKLK calibration...\n");
// s->iris[r]->writeSetting(SOAPY_SDR_RX, i, "CALIBRATE", "SKLK");
//} else {
// s->iris[r]->writeSetting(SOAPY_SDR_RX, i, "CALIBRATE", "");
// printf("\nUsing LMS calibration...\n");
printf
(
"Actual master clock: %fMHz...
\n
"
,
(
s
->
iris
[
r
]
->
getMasterClockRate
()
/
1e6
));
//}
int
tx_filt_bw
=
openair0_cfg
[
0
].
tx_bw
;
int
rx_filt_bw
=
openair0_cfg
[
0
].
rx_bw
;
#ifdef MOVE_DC //the filter is centered around the carrier, so we have to expand it if we have moved the DC tone.
tx_filt_bw
*=
3
;
rx_filt_bw
*=
3
;
#endif
/* Setting TX/RX BW */
for
(
i
=
0
;
i
<
s
->
tx_num_channels
;
i
++
)
{
if
(
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_TX
))
{
s
->
iris
[
r
]
->
setBandwidth
(
SOAPY_SDR_TX
,
i
,
tx_filt_bw
);
printf
(
"Setting tx bandwidth on channel %lu/%lu: BW %f (readback %f)
\n
"
,
i
,
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_TX
),
tx_filt_bw
/
1e6
,
s
->
iris
[
r
]
->
getBandwidth
(
SOAPY_SDR_TX
,
i
)
/
1e6
);
}
}
for
(
i
=
0
;
i
<
s
->
rx_num_channels
;
i
++
)
{
if
(
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_RX
))
{
s
->
iris
[
r
]
->
setBandwidth
(
SOAPY_SDR_RX
,
i
,
rx_filt_bw
);
printf
(
"Setting rx bandwidth on channel %lu/%lu : BW %f (readback %f)
\n
"
,
i
,
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_RX
),
rx_filt_bw
/
1e6
,
s
->
iris
[
r
]
->
getBandwidth
(
SOAPY_SDR_RX
,
i
)
/
1e6
);
}
}
for
(
i
=
0
;
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_TX
);
i
++
)
{
if
(
i
<
s
->
tx_num_channels
)
{
printf
(
"
\n
Using SKLK calibration...
\n
"
);
s
->
iris
[
r
]
->
writeSetting
(
SOAPY_SDR_TX
,
i
,
"CALIBRATE"
,
"SKLK"
);
if
(
s
->
iris
[
r
]
->
getHardwareInfo
()[
"frontend"
].
compare
(
devFE
)
!=
0
)
{
printf
(
"
\n
Using SKLK calibration...
\n
"
);
s
->
iris
[
r
]
->
writeSetting
(
SOAPY_SDR_TX
,
i
,
"CALIBRATE"
,
"SKLK"
);
}
}
for
(
i
=
0
;
i
<
s
->
iris
[
r
]
->
getNumChannels
(
SOAPY_SDR_RX
);
i
++
)
{
if
(
i
<
s
->
rx_num_channels
)
{
printf
(
"
\n
Using SKLK calibration...
\n
"
);
s
->
iris
[
r
]
->
writeSetting
(
SOAPY_SDR_RX
,
i
,
"CALIBRATE"
,
"SKLK"
);
}
else
{
printf
(
"
\n
Using LMS calibration...
\n
"
);
s
->
iris
[
r
]
->
writeSetting
(
SOAPY_SDR_TX
,
i
,
"CALIBRATE"
,
""
);
}
}
}
...
...
targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band42.tm1.25PRB.iris030.conf
0 → 100644
View file @
6c41b6d7
Active_eNBs
= (
"eNB_Eurecom_LTEBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
eNBs
=
(
{
//////////
Identification
parameters
:
eNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_ENB"
;
eNB_name
=
"eNB_Eurecom_LTEBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ( {
mcc
=
208
;
mnc
=
92
;
mnc_length
=
2
; } );
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"eNodeB_3GPP"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"TDD"
;
tdd_config
=
1
;
tdd_config_s
=
0
;
prefix_type
=
"NORMAL"
;
eutra_band
=
42
;
downlink_frequency
=
3500000000
L
;
uplink_frequency_offset
=
0
;
Nid_cell
=
10
;
N_RB_DL
=
25
;
Nid_cell_mbsfn
=
0
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
48
;
# [~50 for DEV-FE, ~30 for CBRS-FE]
rx_gain
=
80
;
# [115 for DEV-FE, 90 for CBRS-FE]
pbch_repetition
=
"FALSE"
;
prach_root
=
0
;
prach_config_index
=
0
;
prach_high_speed
=
"DISABLE"
;
prach_zero_correlation
=
1
;
prach_freq_offset
=
2
;
pucch_delta_shift
=
1
;
pucch_nRB_CQI
=
1
;
pucch_nCS_AN
=
0
;
pucch_n1_AN
=
32
;
pdsch_referenceSignalPower
= -
30
;
pdsch_p_b
=
0
;
pusch_n_SB
=
1
;
pusch_enable64QAM
=
"DISABLE"
;
pusch_hoppingMode
=
"interSubFrame"
;
pusch_hoppingOffset
=
0
;
pusch_groupHoppingEnabled
=
"ENABLE"
;
pusch_groupAssignment
=
0
;
pusch_sequenceHoppingEnabled
=
"DISABLE"
;
pusch_nDMRS1
=
1
;
phich_duration
=
"NORMAL"
;
phich_resource
=
"ONESIXTH"
;
srs_enable
=
"DISABLE"
;
/*
srs_BandwidthConfig
=;
srs_SubframeConfig
=;
srs_ackNackST
=;
srs_MaxUpPts
=;*/
pusch_p0_Nominal
= -
70
;
pusch_alpha
=
"AL1"
;
pucch_p0_Nominal
= -
96
;
msg3_delta_Preamble
=
6
;
pucch_deltaF_Format1
=
"deltaF2"
;
pucch_deltaF_Format1b
=
"deltaF3"
;
pucch_deltaF_Format2
=
"deltaF0"
;
pucch_deltaF_Format2a
=
"deltaF0"
;
pucch_deltaF_Format2b
=
"deltaF0"
;
rach_numberOfRA_Preambles
=
64
;
rach_preamblesGroupAConfig
=
"DISABLE"
;
/*
rach_sizeOfRA_PreamblesGroupA
= ;
rach_messageSizeGroupA
= ;
rach_messagePowerOffsetGroupB
= ;
*/
rach_powerRampingStep
=
4
;
rach_preambleInitialReceivedTargetPower
= -
96
;
rach_preambleTransMax
=
10
;
rach_raResponseWindowSize
=
10
;
rach_macContentionResolutionTimer
=
48
;
rach_maxHARQ_Msg3Tx
=
4
;
pcch_default_PagingCycle
=
128
;
pcch_nB
=
"oneT"
;
bcch_modificationPeriodCoeff
=
2
;
ue_TimersAndConstants_t300
=
1000
;
ue_TimersAndConstants_t301
=
1000
;
ue_TimersAndConstants_t310
=
1000
;
ue_TimersAndConstants_t311
=
10000
;
ue_TimersAndConstants_n310
=
20
;
ue_TimersAndConstants_n311
=
1
;
ue_TransmissionMode
=
1
;
//
Parameters
for
SIB18
rxPool_sc_CP_Len
=
"normal"
;
rxPool_sc_Period
=
"sf40"
;
rxPool_data_CP_Len
=
"normal"
;
rxPool_ResourceConfig_prb_Num
=
20
;
rxPool_ResourceConfig_prb_Start
=
5
;
rxPool_ResourceConfig_prb_End
=
44
;
rxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
rxPool_ResourceConfig_offsetIndicator_choice
=
0
;
rxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"00000000000000000000"
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
rxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
/*
rxPool_dataHoppingConfig_hoppingParameter
=
0
;
rxPool_dataHoppingConfig_numSubbands
=
"ns1"
;
rxPool_dataHoppingConfig_rbOffset
=
0
;
rxPool_commTxResourceUC
-
ReqAllowed
=
"TRUE"
;
*/
//
Parameters
for
SIB19
discRxPool_cp_Len
=
"normal"
discRxPool_discPeriod
=
"rf32"
discRxPool_numRetx
=
1
;
discRxPool_numRepetition
=
2
;
discRxPool_ResourceConfig_prb_Num
=
5
;
discRxPool_ResourceConfig_prb_Start
=
3
;
discRxPool_ResourceConfig_prb_End
=
21
;
discRxPool_ResourceConfig_offsetIndicator_present
=
"prSmall"
;
discRxPool_ResourceConfig_offsetIndicator_choice
=
0
;
discRxPool_ResourceConfig_subframeBitmap_present
=
"prBs40"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_buf
=
"f0ffffffff"
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_size
=
5
;
discRxPool_ResourceConfig_subframeBitmap_choice_bs_bits_unused
=
0
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"127.0.0.20"
;
ipv6
=
"fe80::d65d:dfff:fe1d:f4d4"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
ENB_INTERFACE_NAME_FOR_S1_MME
=
"eno1"
;
ENB_IPV4_ADDRESS_FOR_S1_MME
=
"127.0.0.10/8"
;
ENB_INTERFACE_NAME_FOR_S1U
=
"enp5s0"
;
ENB_IPV4_ADDRESS_FOR_S1U
=
"127.0.0.10/8"
;
ENB_PORT_FOR_S1U
=
2152
;
# Spec 2152
ENB_IPV4_ADDRESS_FOR_X2C
=
"127.0.0.10/8"
;
ENB_PORT_FOR_X2C
=
36422
;
# Spec 36422
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
phy_test_mode
=
0
;
puSch10xSnr
=
200
;
puCch10xSnr
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
;
nb_rx
=
1
;
att_tx
=
44
;
#apparently this is being used as tx_gain...
att_rx
=
0
;
#apparently max_rxgain - att_rx -83 is what is used for rx_gain (at least for 5 MHz)
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
107
;
eNB_instances
= [
0
];
#sdr_addrs = "RF3E000025";
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
FLEXRAN_INTERFACE_NAME
=
"lo"
;
FLEXRAN_IPV4_ADDRESS
=
"127.0.0.1"
;
FLEXRAN_PORT
=
2210
;
FLEXRAN_CACHE
=
"/mnt/oai_agent_cache"
;
FLEXRAN_AWAIT_RECONF
=
"no"
;
};
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_RU_L1_TRX_SPLIT"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
log_config
:
{
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
};
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