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:
Florian Kaltenberger
2016-08-29 10:58:40 +02:00
parent 5852340506
commit ba1f969bbe
10 changed files with 46 additions and 81 deletions
+2 -1
View File
@@ -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);
+1
View File
@@ -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);
+30 -7
View File
@@ -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,
+5 -4
View File
@@ -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);
}