changed scaling of rx_pdcch (was not working well for 2 rx antennas)
oaisim parameter -y is now UE rx antennas minor fixes to unitary sims
This commit is contained in:
@@ -228,6 +228,7 @@ void init_lte_vars(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs],
|
||||
uint8_t abstraction_flag,
|
||||
int nb_antennas_rx,
|
||||
int nb_antennas_tx,
|
||||
int nb_antennas_rx_ue,
|
||||
uint8_t eMBMS_active_state)
|
||||
{
|
||||
|
||||
@@ -291,7 +292,7 @@ void init_lte_vars(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs],
|
||||
|
||||
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
||||
(frame_parms[CC_id])->nb_antennas_tx = 1;
|
||||
(frame_parms[CC_id])->nb_antennas_rx = nb_antennas_rx;
|
||||
(frame_parms[CC_id])->nb_antennas_rx = nb_antennas_rx_ue;
|
||||
|
||||
|
||||
PHY_vars_UE_g[UE_id][CC_id] = init_lte_UE(frame_parms[CC_id], UE_id,abstraction_flag);
|
||||
|
||||
@@ -56,4 +56,5 @@ void init_lte_vars(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs],
|
||||
uint8_t abstraction_flag,
|
||||
int nb_antennas_rx,
|
||||
int nb_antennas_tx,
|
||||
int nb_antennas_rx_ue,
|
||||
uint8_t eMBMS_active_state);
|
||||
|
||||
@@ -243,10 +243,13 @@ help (void)
|
||||
#else
|
||||
printf ("-W [Rohde&Schwarz SMBV100A functions disabled. Recompile with SMBV=1]\n");
|
||||
#endif
|
||||
printf ("-x Set the transmission mode (1,2,5,6 supported for now)\n");
|
||||
printf ("-x deprecated. Set the transmission mode in config file!\n");
|
||||
printf ("-y Set the number of receive antennas at the UE (1 or 2)\n");
|
||||
printf ("-Y Set the global log verbosity (none, low, medium, high, full) \n");
|
||||
printf ("-z Set the cooperation flag (0 for no cooperation, 1 for delay diversity and 2 for distributed alamouti\n");
|
||||
printf ("-Z Reserved\n");
|
||||
printf ("--xforms Activate the grapical scope\n");
|
||||
|
||||
#if T_TRACER
|
||||
printf ("--T_port [port] use given port\n");
|
||||
printf ("--T_nowait don't wait for tracer, start immediately\n");
|
||||
@@ -1142,7 +1145,7 @@ l2l1_task (void *args_p)
|
||||
stop_meas (&oaisim_stats_f);
|
||||
} //end of slot
|
||||
|
||||
if ((frame >= 10) && (frame <= 11) && (abstraction_flag == 0)
|
||||
if ((frame >= 12) && (frame <= 12) && (abstraction_flag == 0)
|
||||
#ifdef PROC
|
||||
&&(Channel_Flag==0)
|
||||
#endif
|
||||
@@ -1155,22 +1158,42 @@ l2l1_task (void *args_p)
|
||||
PHY_vars_UE_g[0][0]->lte_frame_parms.samples_per_tti
|
||||
* 10,
|
||||
1, 1);
|
||||
sprintf (fname, "eNBtxsig%d.m", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (vname, "txs%d", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (fname, "eNBtxsig0_%d.m", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (vname, "txs0_%d", frame % MAX_FRAME_NUMBER);
|
||||
write_output (fname,
|
||||
vname,
|
||||
PHY_vars_eNB_g[0][0]->lte_eNB_common_vars.txdata[0][0],
|
||||
PHY_vars_UE_g[0][0]->lte_frame_parms.samples_per_tti
|
||||
* 10,
|
||||
1, 1);
|
||||
sprintf (fname, "eNBtxsigF%d.m", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (vname, "txsF%d", frame % MAX_FRAME_NUMBER);
|
||||
if (PHY_vars_eNB_g[0][0]->lte_frame_parms.nb_antennas_tx>1) {
|
||||
sprintf (fname, "eNBtxsig1_%d.m", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (vname, "txs1_%d", frame % MAX_FRAME_NUMBER);
|
||||
write_output (fname,
|
||||
vname,
|
||||
PHY_vars_eNB_g[0][0]->lte_eNB_common_vars.txdata[0][0],
|
||||
PHY_vars_UE_g[0][0]->lte_frame_parms.samples_per_tti
|
||||
* 10,
|
||||
1, 1);
|
||||
}
|
||||
sprintf (fname, "eNBtxsigF0_%d.m", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (vname, "txsF0_%d", frame % MAX_FRAME_NUMBER);
|
||||
write_output (fname,
|
||||
vname,
|
||||
PHY_vars_eNB_g[0][0]->lte_eNB_common_vars.txdataF[0][0],
|
||||
PHY_vars_eNB_g[0][0]->lte_frame_parms.symbols_per_tti
|
||||
* PHY_vars_eNB_g[0][0]->lte_frame_parms.ofdm_symbol_size,
|
||||
* PHY_vars_eNB_g[0][0]->lte_frame_parms.ofdm_symbol_size*10,
|
||||
1, 1);
|
||||
if (PHY_vars_eNB_g[0][0]->lte_frame_parms.nb_antennas_tx>1) {
|
||||
sprintf (fname, "eNBtxsigF1_%d.m", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (vname, "txsF1_%d", frame % MAX_FRAME_NUMBER);
|
||||
write_output (fname,
|
||||
vname,
|
||||
PHY_vars_eNB_g[0][0]->lte_eNB_common_vars.txdataF[0][1],
|
||||
PHY_vars_eNB_g[0][0]->lte_frame_parms.symbols_per_tti
|
||||
* PHY_vars_eNB_g[0][0]->lte_frame_parms.ofdm_symbol_size *10,
|
||||
1, 1);
|
||||
}
|
||||
sprintf (fname, "UErxsig%d.m", frame % MAX_FRAME_NUMBER);
|
||||
sprintf (vname, "rxs%d", frame % MAX_FRAME_NUMBER);
|
||||
write_output (fname,
|
||||
|
||||
@@ -100,7 +100,7 @@ int if_times = 0;
|
||||
int for_times = 0;
|
||||
|
||||
uint16_t Nid_cell = 0; //needed by init_lte_vars
|
||||
int nb_antennas_rx = 2; // //
|
||||
int nb_antennas_rx_ue = 1; // //
|
||||
uint8_t target_dl_mcs = 16; // max mcs used by MAC scheduler
|
||||
uint8_t rate_adaptation_flag = 0;
|
||||
uint8_t set_snr = 0;
|
||||
@@ -750,9 +750,9 @@ void get_simulation_options(int argc, char *argv[])
|
||||
break;
|
||||
|
||||
case 'y':
|
||||
nb_antennas_rx=atoi(optarg);
|
||||
nb_antennas_rx_ue=atoi(optarg);
|
||||
|
||||
if (nb_antennas_rx>4) {
|
||||
if (nb_antennas_rx_ue>4) {
|
||||
printf("Cannot have more than 4 antennas\n");
|
||||
exit(-1);
|
||||
}
|
||||
@@ -972,7 +972,8 @@ void init_openair1(void)
|
||||
enb_properties->properties[0]->nb_antenna_ports[CC_id],
|
||||
abstraction_flag,
|
||||
enb_properties->properties[0]->nb_antennas_rx[CC_id],
|
||||
enb_properties->properties[0]->nb_antennas_tx[CC_id],
|
||||
enb_properties->properties[0]->nb_antennas_tx[CC_id],
|
||||
nb_antennas_rx_ue,
|
||||
oai_emulation.info.eMBMS_active_state);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user