BF weights from config file for RU case
This commit is contained in:
+10
-1
@@ -91,7 +91,8 @@ unsigned short config_frames[4] = {2,9,11,13};
|
|||||||
/* these variables have to be defined before including ENB_APP/enb_paramdef.h and GNB_APP/gnb_paramdef.h */
|
/* these variables have to be defined before including ENB_APP/enb_paramdef.h and GNB_APP/gnb_paramdef.h */
|
||||||
static int DEFBANDS[] = {7};
|
static int DEFBANDS[] = {7};
|
||||||
static int DEFENBS[] = {0};
|
static int DEFENBS[] = {0};
|
||||||
|
static int DEFBFW[] = {0x00007fff};
|
||||||
|
|
||||||
//static int DEFNRBANDS[] = {7};
|
//static int DEFNRBANDS[] = {7};
|
||||||
//static int DEFGNBS[] = {0};
|
//static int DEFGNBS[] = {0};
|
||||||
|
|
||||||
@@ -2335,6 +2336,14 @@ void RCconfig_RU(void)
|
|||||||
RC.ru[j]->nb_rx = *(RUParamList.paramarray[j][RU_NB_RX_IDX].uptr);
|
RC.ru[j]->nb_rx = *(RUParamList.paramarray[j][RU_NB_RX_IDX].uptr);
|
||||||
RC.ru[j]->att_tx = *(RUParamList.paramarray[j][RU_ATT_TX_IDX].uptr);
|
RC.ru[j]->att_tx = *(RUParamList.paramarray[j][RU_ATT_TX_IDX].uptr);
|
||||||
RC.ru[j]->att_rx = *(RUParamList.paramarray[j][RU_ATT_RX_IDX].uptr);
|
RC.ru[j]->att_rx = *(RUParamList.paramarray[j][RU_ATT_RX_IDX].uptr);
|
||||||
|
|
||||||
|
if (config_isparamset(RUParamList.paramarray[j], RU_BF_WEIGHTS_LIST_IDX)) {
|
||||||
|
RC.ru[j]->nb_bfw = RUParamList.paramarray[j][RU_BF_WEIGHTS_LIST_IDX].numelt;
|
||||||
|
for (i=0; i<RC.ru[j]->num_gNB; i++) {
|
||||||
|
RC.ru[j]->bw_list[i] = (int32_t *)malloc16_clear((RC.ru[j]->nb_bfw)*sizeof(int32_t));
|
||||||
|
for (int b=0; b<RC.ru[j]->nb_bfw; b++) RC.ru[j]->bw_list[i][b] = RUParamList.paramarray[j][RU_BF_WEIGHTS_LIST_IDX].iptr[b];
|
||||||
|
}
|
||||||
|
}
|
||||||
}// j=0..num_rus
|
}// j=0..num_rus
|
||||||
} else {
|
} else {
|
||||||
RC.nb_RU = 0;
|
RC.nb_RU = 0;
|
||||||
|
|||||||
@@ -105,22 +105,27 @@ int nr_phy_init_RU(RU_t *ru) {
|
|||||||
RC.nb_nr_L1_inst,NUMBER_OF_gNB_MAX);
|
RC.nb_nr_L1_inst,NUMBER_OF_gNB_MAX);
|
||||||
|
|
||||||
LOG_E(PHY,"[INIT] %s() RC.nb_nr_L1_inst:%d \n", __FUNCTION__, RC.nb_nr_L1_inst);
|
LOG_E(PHY,"[INIT] %s() RC.nb_nr_L1_inst:%d \n", __FUNCTION__, RC.nb_nr_L1_inst);
|
||||||
|
|
||||||
|
int beam_count = 0;
|
||||||
|
if (ru->nb_tx>1) {
|
||||||
|
for (p=0;p<fp->Lmax;p++) {
|
||||||
|
if ((fp->L_ssb >> p) & 0x01)
|
||||||
|
beam_count++;
|
||||||
|
}
|
||||||
|
AssertFatal(ru->nb_bfw==(beam_count*ru->nb_tx),"Number of beam weights from config file is %d while the expected number is %d",ru->nb_bfw,(beam_count*ru->nb_tx));
|
||||||
|
}
|
||||||
|
|
||||||
|
int l_ind = 0;
|
||||||
for (i=0; i<RC.nb_nr_L1_inst; i++) {
|
for (i=0; i<RC.nb_nr_L1_inst; i++) {
|
||||||
for (p=0;p<fp->Lmax;p++) {
|
for (p=0;p<fp->Lmax;p++) {
|
||||||
if ((fp->L_ssb >> p) & 0x01) {
|
if ((fp->L_ssb >> p) & 0x01) {
|
||||||
ru->beam_weights[i][p] = (int32_t **)malloc16_clear(ru->nb_tx*sizeof(int32_t*));
|
ru->beam_weights[i][p] = (int32_t **)malloc16_clear(ru->nb_tx*sizeof(int32_t*));
|
||||||
for (j=0; j<ru->nb_tx; j++) {
|
for (j=0; j<ru->nb_tx; j++) {
|
||||||
ru->beam_weights[i][p][j] = (int32_t *)malloc16_clear(fp->ofdm_symbol_size*sizeof(int32_t));
|
ru->beam_weights[i][p][j] = (int32_t *)malloc16_clear(fp->ofdm_symbol_size*sizeof(int32_t));
|
||||||
// setting identity matrix as first step for beam weights
|
for (re=0; re<fp->ofdm_symbol_size; re++)
|
||||||
if (p==j) {
|
ru->beam_weights[i][p][j][re] = ru->bw_list[i][l_ind];
|
||||||
for (re=0; re<fp->ofdm_symbol_size; re++)
|
//printf("Beam Weight %08x for beam %d and tx %d\n",ru->bw_list[i][l_ind],p,j);
|
||||||
ru->beam_weights[i][p][j][re] = 0x00007fff;
|
l_ind++;
|
||||||
}
|
|
||||||
else {
|
|
||||||
for (re=0; re<fp->ofdm_symbol_size; re++)
|
|
||||||
ru->beam_weights[i][p][j][re] = 0x00000000;
|
|
||||||
}
|
|
||||||
} // for j
|
} // for j
|
||||||
} // for p
|
} // for p
|
||||||
}
|
}
|
||||||
@@ -170,10 +175,8 @@ void nr_phy_free_RU(RU_t *ru)
|
|||||||
|
|
||||||
for (i = 0; i < RC.nb_nr_L1_inst; i++) {
|
for (i = 0; i < RC.nb_nr_L1_inst; i++) {
|
||||||
for (p = 0; p < 15; p++) {
|
for (p = 0; p < 15; p++) {
|
||||||
if (p == 0 || p == 5) {
|
|
||||||
for (j=0; j<ru->nb_tx; j++) free_and_zero(ru->beam_weights[i][p][j]);
|
for (j=0; j<ru->nb_tx; j++) free_and_zero(ru->beam_weights[i][p][j]);
|
||||||
free_and_zero(ru->beam_weights[i][p]);
|
free_and_zero(ru->beam_weights[i][p]);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -518,6 +518,10 @@ typedef struct RU_t_s {
|
|||||||
/// RX and TX buffers for precoder output
|
/// RX and TX buffers for precoder output
|
||||||
RU_COMMON common;
|
RU_COMMON common;
|
||||||
RU_CALIBRATION calibration;
|
RU_CALIBRATION calibration;
|
||||||
|
/// beamforming weight list size
|
||||||
|
int nb_bfw;
|
||||||
|
/// beamforming weight list of values
|
||||||
|
int32_t *bw_list[NUMBER_OF_eNB_MAX+1];
|
||||||
/// beamforming weight vectors
|
/// beamforming weight vectors
|
||||||
int32_t **beam_weights[NUMBER_OF_eNB_MAX+1][15];
|
int32_t **beam_weights[NUMBER_OF_eNB_MAX+1][15];
|
||||||
/// received frequency-domain signal for PRACH (IF4p5 RRU)
|
/// received frequency-domain signal for PRACH (IF4p5 RRU)
|
||||||
|
|||||||
@@ -451,4 +451,3 @@ void nr_fep_full(RU_t *ru, int slot) {
|
|||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
>>>>>>> develop-nr
|
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ typedef enum {
|
|||||||
#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 CONFIG_STRING_RU_OTA_SYNC_ENABLE "ota_sync_enabled"
|
||||||
|
#define CONFIG_STRING_RU_BF_WEIGHTS_LIST "bf_weights"
|
||||||
|
|
||||||
#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
|
||||||
@@ -118,23 +119,22 @@ typedef enum {
|
|||||||
#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
|
#define RU_OTA_SYNC_ENABLE_IDX 23
|
||||||
|
#define RU_BF_WEIGHTS_LIST_IDX 24
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
/* RU configuration parameters */
|
/* RU configuration parameters */
|
||||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||||
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
#define RUPARAMS_DESC { \
|
#define RUPARAMS_DESC { \
|
||||||
{CONFIG_STRING_RU_LOCAL_IF_NAME, NULL, 0, strptr:NULL, defstrval:"lo", TYPE_STRING, 0}, \
|
{CONFIG_STRING_RU_LOCAL_IF_NAME, NULL, 0, strptr:NULL, defstrval:"lo", TYPE_STRING, 0}, \
|
||||||
{CONFIG_STRING_RU_LOCAL_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.2", TYPE_STRING, 0}, \
|
{CONFIG_STRING_RU_LOCAL_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.2", TYPE_STRING, 0}, \
|
||||||
{CONFIG_STRING_RU_REMOTE_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.1", TYPE_STRING, 0}, \
|
{CONFIG_STRING_RU_REMOTE_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.1", TYPE_STRING, 0}, \
|
||||||
{CONFIG_STRING_RU_LOCAL_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
{CONFIG_STRING_RU_LOCAL_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_RU_REMOTE_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
{CONFIG_STRING_RU_REMOTE_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_RU_LOCAL_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
{CONFIG_STRING_RU_LOCAL_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_RU_REMOTE_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
{CONFIG_STRING_RU_REMOTE_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_RU_TRANSPORT_PREFERENCE, NULL, 0, strptr:NULL, defstrval:"udp_if5", TYPE_STRING, 0}, \
|
{CONFIG_STRING_RU_TRANSPORT_PREFERENCE, NULL, 0, strptr:NULL, defstrval:"udp_if5", TYPE_STRING, 0}, \
|
||||||
{CONFIG_STRING_RU_LOCAL_RF, NULL, 0, strptr:NULL, defstrval:"yes", TYPE_STRING, 0}, \
|
{CONFIG_STRING_RU_LOCAL_RF, NULL, 0, strptr:NULL, defstrval:"yes", TYPE_STRING, 0}, \
|
||||||
{CONFIG_STRING_RU_NB_TX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
{CONFIG_STRING_RU_NB_TX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_RU_NB_RX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
{CONFIG_STRING_RU_NB_RX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_RU_MAX_RS_EPRE, NULL, 0, iptr:NULL, defintval:-29, TYPE_INT, 0}, \
|
{CONFIG_STRING_RU_MAX_RS_EPRE, NULL, 0, iptr:NULL, defintval:-29, TYPE_INT, 0}, \
|
||||||
@@ -143,13 +143,14 @@ 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}, \
|
{CONFIG_STRING_RU_OTA_SYNC_ENABLE, NULL, 0, strptr:NULL, defstrval:"no", TYPE_STRING, 0}, \
|
||||||
|
{CONFIG_STRING_RU_BF_WEIGHTS_LIST, NULL, 0, iptr:NULL, defintarrayval:DEFBFW, TYPE_INTARRAY, 0}, \
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
|
|||||||
@@ -67,83 +67,9 @@ typedef enum {
|
|||||||
|
|
||||||
#define CONFIG_STRING_ACTIVE_RUS "Active_RUs"
|
#define CONFIG_STRING_ACTIVE_RUS "Active_RUs"
|
||||||
/*------------------------------------------------------------------------------------------------------------------------------------------*/
|
/*------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
/* RUs configuration section name */
|
|
||||||
#define CONFIG_STRING_RU_LIST "RUs"
|
|
||||||
#define CONFIG_STRING_RU_CONFIG "ru_config"
|
|
||||||
|
|
||||||
/* RUs configuration parameters name */
|
/* RUs configuration for gNB is the same for eNB */
|
||||||
#define CONFIG_STRING_RU_LOCAL_IF_NAME "local_if_name"
|
/* Check file enb_paramdef.h */
|
||||||
#define CONFIG_STRING_RU_LOCAL_ADDRESS "local_address"
|
|
||||||
#define CONFIG_STRING_RU_REMOTE_ADDRESS "remote_address"
|
|
||||||
#define CONFIG_STRING_RU_LOCAL_PORTC "local_portc"
|
|
||||||
#define CONFIG_STRING_RU_REMOTE_PORTC "remote_portc"
|
|
||||||
#define CONFIG_STRING_RU_LOCAL_PORTD "local_portd"
|
|
||||||
#define CONFIG_STRING_RU_REMOTE_PORTD "remote_portd"
|
|
||||||
#define CONFIG_STRING_RU_LOCAL_RF "local_rf"
|
|
||||||
#define CONFIG_STRING_RU_TRANSPORT_PREFERENCE "tr_preference"
|
|
||||||
#define CONFIG_STRING_RU_BAND_LIST "bands"
|
|
||||||
#define CONFIG_STRING_RU_GNB_LIST "gNB_instances"
|
|
||||||
#define CONFIG_STRING_RU_NB_TX "nb_tx"
|
|
||||||
#define CONFIG_STRING_RU_NB_RX "nb_rx"
|
|
||||||
#define CONFIG_STRING_RU_ATT_TX "att_tx"
|
|
||||||
#define CONFIG_STRING_RU_ATT_RX "att_rx"
|
|
||||||
#define CONFIG_STRING_RU_MAX_RS_EPRE "max_pdschReferenceSignalPower"
|
|
||||||
#define CONFIG_STRING_RU_MAX_RXGAIN "max_rxgain"
|
|
||||||
#define CONFIG_STRING_RU_IF_COMPRESSION "if_compression"
|
|
||||||
#define CONFIG_STRING_RU_NBIOTRRC_LIST "NbIoT_RRC_instances"
|
|
||||||
#define CONFIG_STRING_RU_SDR_ADDRS "sdr_addrs"
|
|
||||||
#define CONFIG_STRING_RU_SDR_CLK_SRC "clock_src"
|
|
||||||
|
|
||||||
#define RU_LOCAL_IF_NAME_IDX 0
|
|
||||||
#define RU_LOCAL_ADDRESS_IDX 1
|
|
||||||
#define RU_REMOTE_ADDRESS_IDX 2
|
|
||||||
#define RU_LOCAL_PORTC_IDX 3
|
|
||||||
#define RU_REMOTE_PORTC_IDX 4
|
|
||||||
#define RU_LOCAL_PORTD_IDX 5
|
|
||||||
#define RU_REMOTE_PORTD_IDX 6
|
|
||||||
#define RU_TRANSPORT_PREFERENCE_IDX 7
|
|
||||||
#define RU_LOCAL_RF_IDX 8
|
|
||||||
#define RU_NB_TX_IDX 9
|
|
||||||
#define RU_NB_RX_IDX 10
|
|
||||||
#define RU_MAX_RS_EPRE_IDX 11
|
|
||||||
#define RU_MAX_RXGAIN_IDX 12
|
|
||||||
#define RU_BAND_LIST_IDX 13
|
|
||||||
#define RU_GNB_LIST_IDX 14
|
|
||||||
#define RU_ATT_TX_IDX 15
|
|
||||||
#define RU_ATT_RX_IDX 16
|
|
||||||
#define RU_IS_SLAVE_IDX 17
|
|
||||||
#define RU_NBIOTRRC_LIST_IDX 18
|
|
||||||
#define RU_SDR_ADDRS 19
|
|
||||||
#define RU_SDR_CLK_SRC 20
|
|
||||||
#define RU_SF_EXTENSION_IDX 21
|
|
||||||
#define RU_END_OF_BURST_DELAY_IDX 22
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
|
|
||||||
/* RU configuration parameters */
|
|
||||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
|
||||||
/*-----------------------------------------------------------------------------------------------------------------------------------------*/
|
|
||||||
#define GNBRUPARAMS_DESC { \
|
|
||||||
{CONFIG_STRING_RU_LOCAL_IF_NAME, NULL, 0, strptr:NULL, defstrval:"lo", TYPE_STRING, 0}, \
|
|
||||||
{CONFIG_STRING_RU_LOCAL_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.2", TYPE_STRING, 0}, \
|
|
||||||
{CONFIG_STRING_RU_REMOTE_ADDRESS, NULL, 0, strptr:NULL, defstrval:"127.0.0.1", TYPE_STRING, 0}, \
|
|
||||||
{CONFIG_STRING_RU_LOCAL_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_REMOTE_PORTC, NULL, 0, uptr:NULL, defuintval:50000, TYPE_UINT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_LOCAL_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_REMOTE_PORTD, NULL, 0, uptr:NULL, defuintval:50001, TYPE_UINT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_TRANSPORT_PREFERENCE, NULL, 0, strptr:NULL, defstrval:"udp_if5", TYPE_STRING, 0}, \
|
|
||||||
{CONFIG_STRING_RU_LOCAL_RF, NULL, 0, strptr:NULL, defstrval:"yes", TYPE_STRING, 0}, \
|
|
||||||
{CONFIG_STRING_RU_NB_TX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_NB_RX, NULL, 0, uptr:NULL, defuintval:1, TYPE_UINT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_MAX_RS_EPRE, NULL, 0, iptr:NULL, defintval:-29, TYPE_INT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_MAX_RXGAIN, NULL, 0, iptr:NULL, defintval:120, TYPE_INT, 0}, \
|
|
||||||
{CONFIG_STRING_RU_BAND_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFNRBANDS, TYPE_INTARRAY, 1}, \
|
|
||||||
{CONFIG_STRING_RU_GNB_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFGNBS, TYPE_INTARRAY, 1}, \
|
|
||||||
{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_NBIOTRRC_LIST, NULL, 0, uptr:NULL, defintarrayval:DEFGNBS, TYPE_INTARRAY, 1}, \
|
|
||||||
}
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
|
|||||||
@@ -256,6 +256,10 @@ RUs = (
|
|||||||
eNB_instances = [0];
|
eNB_instances = [0];
|
||||||
sdr_addrs = "addr=192.168.10.2,mgmt_addr=192.168.10.2";
|
sdr_addrs = "addr=192.168.10.2,mgmt_addr=192.168.10.2";
|
||||||
clock_src = "external";
|
clock_src = "external";
|
||||||
|
# beamforming weights for static beams each of them is a int32 composed by two int16 representing imaginary and real part of the weight
|
||||||
|
# weights are input in an array, starting with the weights associated to first logical beam for all nb_tx , than the weights for 2nd logical beam and so on
|
||||||
|
# the list size is (nb_tx) X (number of logical beams)
|
||||||
|
bf_weights = [0x00007fff];
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user