Commit 8cff5fcf authored by Aikaterini's avatar Aikaterini

1)remove option 'M' 2) tx shift value is set in device libraries 3) check...

 1)remove option 'M' 2) tx shift value is set in device libraries  3) check for tx processing launching updated wrt alcatel suggestions
parent 3a1874a1
...@@ -329,15 +329,6 @@ time_stats_t softmodem_stats_rx_sf[10]; // total rx time ...@@ -329,15 +329,6 @@ time_stats_t softmodem_stats_rx_sf[10]; // total rx time
void reset_opp_meas(void); void reset_opp_meas(void);
void print_opp_meas(void); void print_opp_meas(void);
int transmission_mode=1; int transmission_mode=1;
/*
FT: not a very clean way of managing the rescale of iqs in rx path, but this is done in
openair1/PHY/MODULATION/ul_7_5_kHz.c which doesn't have access to config parameters
to re-worked later.....
RX_IQRESCALELEN is setup in device libraries for all non expressmimo targets and acessed as an
external variable in ul_7_5_kHz.c. For expressmimo it is a macro (openair1/PHY/defs.h)
Regarding the value of this variable or macro: 18 is for 15 bits iqs, 15 is used for USRP, EXMIMO
*/
//int rxrescale;
int16_t glog_level = LOG_INFO; int16_t glog_level = LOG_INFO;
int16_t glog_verbosity = LOG_MED; int16_t glog_verbosity = LOG_MED;
...@@ -482,7 +473,6 @@ void help (void) { ...@@ -482,7 +473,6 @@ void help (void) {
printf(" -h provides this help message!\n"); printf(" -h provides this help message!\n");
printf(" -K Generate ITTI analyzser logs (similar to wireshark logs but with more details)\n"); printf(" -K Generate ITTI analyzser logs (similar to wireshark logs but with more details)\n");
printf(" -m Set the maximum downlink MCS\n"); printf(" -m Set the maximum downlink MCS\n");
printf(" -M Specify whether RF head is local or remote,valid options: (1: local , 2:remote) \n");
printf(" -O eNB configuration file (located in targets/PROJECTS/GENERIC-LTE-EPC/CONF\n"); printf(" -O eNB configuration file (located in targets/PROJECTS/GENERIC-LTE-EPC/CONF\n");
printf(" -q Enable processing timing measurement of lte softmodem on per subframe basis \n"); printf(" -q Enable processing timing measurement of lte softmodem on per subframe basis \n");
printf(" -r Set the PRB, valid values: 6, 25, 50, 100 \n"); printf(" -r Set the PRB, valid values: 6, 25, 50, 100 \n");
...@@ -1000,29 +990,12 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB) ...@@ -1000,29 +990,12 @@ void do_OFDM_mod_rt(int subframe,PHY_VARS_eNB *phy_vars_eNB)
if (tx_offset>=(LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*phy_vars_eNB->lte_frame_parms.samples_per_tti)) if (tx_offset>=(LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*phy_vars_eNB->lte_frame_parms.samples_per_tti))
tx_offset -= LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*phy_vars_eNB->lte_frame_parms.samples_per_tti; tx_offset -= LTE_NUMBER_OF_SUBFRAMES_PER_FRAME*phy_vars_eNB->lte_frame_parms.samples_per_tti;
// ((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[0] = ((short*)dummy_tx_b)[2*i]<<openair0_cfg[0].iq_txshift ; ((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[0] = ((short*)dummy_tx_b)[2*i]<<openair0_cfg[0].iq_txshift;
// ((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[1] = ((short*)dummy_tx_b)[2*i+1]<<openair0_cfg[0].iq_txshift; ((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[1] = ((short*)dummy_tx_b)[2*i+1]<<openair0_cfg[0].iq_txshift;
((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[0]=
#ifdef EXMIMO
((short*)dummy_tx_b)[2*i]<<4;
#elif OAI_BLADERF
((short*)dummy_tx_b)[2*i];
#else
((short*)dummy_tx_b)[2*i]<<4;
#endif
((short*)&phy_vars_eNB->lte_eNB_common_vars.txdata[0][aa][tx_offset])[1]=
#ifdef EXMIMO
((short*)dummy_tx_b)[2*i+1]<<4;
#elif OAI_BLADERF
((short*)dummy_tx_b)[2*i+1];
#else
((short*)dummy_tx_b)[2*i+1]<<4;
#endif
printf("dddddddddddddddddddddd%d\n\n\n\n",openair0_cfg[0].iq_txshift);
} }
// if S-subframe switch to RX in second subframe // if S-subframe switch to RX in second subframe
if (subframe_select(&phy_vars_eNB->lte_frame_parms,subframe) == SF_S) { if (subframe_select(&phy_vars_eNB->lte_frame_parms,subframe) == SF_S) {
...@@ -1921,14 +1894,16 @@ static void* eNB_thread( void* arg ) ...@@ -1921,14 +1894,16 @@ static void* eNB_thread( void* arg )
// USRP_DEBUG is active // USRP_DEBUG is active
rt_sleep_ns(1000000); rt_sleep_ns(1000000);
#endif #endif
/* FT configurable tx lauch delay (in slots )*/ /* FT configurable tx lauch delay (in slots): txlaunch_wait, txlaunch_wait_slotcount is device specific and
set in the corresponding library (with txlaunch_wait=1 and txlaunch_wait_slotcount=1 the check is as it previously was) */
/* old check:
if ((frame>50) &&
(tx_launched == 0) &&
(rx_pos >= (((2*hw_subframe)+1)*PHY_vars_eNB_g[0][0]->lte_frame_parms.samples_per_tti>>1))) {*/
if ( (frame>50) && (tx_launched == 0) && if ( (frame>50) && (tx_launched == 0) &&
((openair0_cfg[card].txlaunch_wait == 0) || ((openair0_cfg[card].txlaunch_wait == 0) ||
((openair0_cfg[card].txlaunch_wait == 1) && ((openair0_cfg[card].txlaunch_wait == 1) &&
(rx_pos >= (((2*hw_subframe)+openair0_cfg[card].txlaunch_wait_slotcount)*PHY_vars_eNB_g[0][0]->lte_frame_parms.samples_per_tti>>1))))) { (rx_pos >= (((2*hw_subframe)+openair0_cfg[card].txlaunch_wait_slotcount)*PHY_vars_eNB_g[0][0]->lte_frame_parms.samples_per_tti>>1))))) {
/* if ((frame>50) &&
(tx_launched == 0) &&
(rx_pos >= (((2*hw_subframe)+1)*PHY_vars_eNB_g[0][0]->lte_frame_parms.samples_per_tti>>1))) {*/
tx_launched = 1; tx_launched = 1;
...@@ -2222,12 +2197,7 @@ static void get_options (int argc, char **argv) ...@@ -2222,12 +2197,7 @@ static void get_options (int argc, char **argv)
case LONG_OPTION_DUMP_FRAME: case LONG_OPTION_DUMP_FRAME:
mode = rx_dump_frame; mode = rx_dump_frame;
break; break;
case 'M':
local_remote_radio=atoi(optarg);
break;
case 'A': case 'A':
timing_advance = atoi (optarg); timing_advance = atoi (optarg);
break; break;
...@@ -3001,11 +2971,6 @@ int main( int argc, char **argv ) ...@@ -3001,11 +2971,6 @@ int main( int argc, char **argv )
for (card=0; card<MAX_CARDS; card++) { for (card=0; card<MAX_CARDS; card++) {
#ifdef EXMIMO
/* FT: for all other devices the iq_txshift value is setup in the device library */
openair0_cfg[card].iq_txshift=4;
#endif
if(frame_parms[0]->N_RB_DL == 100) { if(frame_parms[0]->N_RB_DL == 100) {
if (frame_parms[0]->threequarter_fs) { if (frame_parms[0]->threequarter_fs) {
openair0_cfg[card].sample_rate=23.04e6; openair0_cfg[card].sample_rate=23.04e6;
...@@ -3151,10 +3116,6 @@ int main( int argc, char **argv ) ...@@ -3151,10 +3116,6 @@ int main( int argc, char **argv )
} }
} }
//for EXMIMO
//openair0_cfg[0].iq_rxrescale=15; /* default value if build with EXMIMO */
//rxrescale=openair0_cfg[0].iq_rxrescale; /* see comments near RX_IQRESCALELEN definition */
printf("Done\n"); printf("Done\n");
mac_xface = malloc(sizeof(MAC_xface)); mac_xface = malloc(sizeof(MAC_xface));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment