diff --git a/openair1/PHY/TOOLS/calibration_test.c b/openair1/PHY/TOOLS/calibration_test.c index 4d88ab542a..8007040499 100644 --- a/openair1/PHY/TOOLS/calibration_test.c +++ b/openair1/PHY/TOOLS/calibration_test.c @@ -108,10 +108,6 @@ int main(int argc, char **argv) { .sdr_addrs=usrp_addrs, //! Auto calibration flag .autocal={0}, - //! rf devices work with x bits iqs when oai have its own iq format - //! the two following parameters are used to convert iqs - .iq_txshift=0, - .iq_rxrescale=0, //! Configuration file for LMS7002M .configFilename="", //! remote IP/MAC addr for Ethernet interface diff --git a/radio/BLADERF/bladerf_lib.c b/radio/BLADERF/bladerf_lib.c index 178fc2fff2..bff12bee8e 100644 --- a/radio/BLADERF/bladerf_lib.c +++ b/radio/BLADERF/bladerf_lib.c @@ -957,8 +957,6 @@ int device_init(openair0_device *device, /* device specific */ //openair0_cfg->txlaunch_wait = 1;//manage when TX processing is triggered //openair0_cfg->txlaunch_wait_slotcount = 1; //manage when TX processing is triggered - openair0_cfg->iq_txshift = 0;// shift - openair0_cfg->iq_rxrescale = 15;//rescale iqs // init required params switch ((int)openair0_cfg->sample_rate) { @@ -983,8 +981,6 @@ int device_init(openair0_device *device, exit(-1); break; } - openair0_cfg->iq_txshift= 0; - openair0_cfg->iq_rxrescale = 15; /*not sure*/ openair0_cfg->rx_gain_calib_table = calib_table_fx4; // The number of buffers to use in the underlying data stream diff --git a/radio/COMMON/common_lib.h b/radio/COMMON/common_lib.h index 5812e63aa4..5877506ea2 100644 --- a/radio/COMMON/common_lib.h +++ b/radio/COMMON/common_lib.h @@ -276,10 +276,6 @@ typedef struct openair0_config { char *sdr_addrs; //! Auto calibration flag int autocal[8]; - //! rf devices work with x bits iqs when oai have its own iq format - //! the two following parameters are used to convert iqs - int iq_txshift; - int iq_rxrescale; //! Configuration file for LMS7002M char *configFilename; //! remote IP/MAC addr for Ethernet interface diff --git a/radio/ETHERNET/ethernet_lib.c b/radio/ETHERNET/ethernet_lib.c index 2a4d021afc..038246c998 100644 --- a/radio/ETHERNET/ethernet_lib.c +++ b/radio/ETHERNET/ethernet_lib.c @@ -540,40 +540,6 @@ int transport_init(openair0_device *device, eth->if_name = eth_params->local_if_name; device->priv = eth; - - - /* device specific */ - // openair0_cfg[0].iq_rxrescale = 15;//rescale iqs - // openair0_cfg[0].iq_txshift = eth_params->iq_txshift;// shift - // openair0_cfg[0].tx_sample_advance = eth_params->tx_sample_advance; - - /* RRU does not have any information to make this configuration atm */ - /* - if (device->host_type == RAU_HOST) { - - switch ((int)openair0_cfg[0].sample_rate) { - case 30720000: - openair0_cfg[0].samples_per_packet = 3840; - break; - case 23040000: - openair0_cfg[0].samples_per_packet = 2880; - break; - case 15360000: - openair0_cfg[0].samples_per_packet = 1920; - break; - case 7680000: - openair0_cfg[0].samples_per_packet = 960; - break; - case 1920000: - openair0_cfg[0].samples_per_packet = 240; - break; - default: - printf("Error: unknown sampling rate %f\n",openair0_cfg[0].sample_rate); - exit(-1); - break; - } - }*/ - device->openair0_cfg=&openair0_cfg[0]; return 0; } diff --git a/radio/USRP/usrp_lib.cpp b/radio/USRP/usrp_lib.cpp index 923e938869..dabc6f8947 100644 --- a/radio/USRP/usrp_lib.cpp +++ b/radio/USRP/usrp_lib.cpp @@ -478,14 +478,15 @@ static int trx_usrp_write(openair0_device *device, nsamps2 = (nsamps+7)>>3; simde__m256i buff_tx[cc < 2 ? 2 : cc][nsamps2]; - // bring RX data into 12 LSBs for softmodem RX + // bring TX data into 16 MSBs, assuming it is on the 12 LSB after OAI computation + const int shift = 4; for (int i = 0; i < cc; i++) { for (int j = 0; j < nsamps2; j++) { if ((((uintptr_t)buff[i]) & 0x1F) == 0) { - buff_tx[i][j] = simde_mm256_slli_epi16(((simde__m256i *)buff[i])[j], 4); + buff_tx[i][j] = simde_mm256_slli_epi16(((simde__m256i *)buff[i])[j], shift); } else { simde__m256i tmp = simde_mm256_loadu_si256(((simde__m256i *)buff[i]) + j); - buff_tx[i][j] = simde_mm256_slli_epi16(tmp, 4); + buff_tx[i][j] = simde_mm256_slli_epi16(tmp, shift); } } } @@ -605,17 +606,17 @@ void *trx_usrp_write_thread(void * arg){ nsamps2 = (nsamps+7)>>3; simde__m256i buff_tx[cc < 2 ? 2 : cc][nsamps2]; - - // bring RX data into 12 LSBs for softmodem RX + // bring TX data into 16 MSBs, assuming it is on the 12 LSB after OAI computation + const int shift = 4; for (int i = 0; i < cc; i++) { for (int j = 0; j < nsamps2; j++) { if ((((uintptr_t) buff[i])&0x1F)==0) { - buff_tx[i][j] = simde_mm256_slli_epi16(((simde__m256i *)buff[i])[j], 4); + buff_tx[i][j] = simde_mm256_slli_epi16(((simde__m256i *)buff[i])[j], shift); } else { simde__m256i tmp = simde_mm256_loadu_si256(((simde__m256i *)buff[i]) + j); - buff_tx[i][j] = simde_mm256_slli_epi16(tmp,4); + buff_tx[i][j] = simde_mm256_slli_epi16(tmp, shift); } } } @@ -752,11 +753,13 @@ static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp // bring RX data into 12 LSBs for softmodem RX for (int i=0; i