Conflicts: openair1/PHY/INIT/lte_init.c openair1/PHY/LTE_TRANSPORT/dci_tools.c openair1/PHY/LTE_TRANSPORT/ulsch_decoding.c openair1/SCHED/phy_procedures_lte_eNb.c openair1/SCHED/phy_procedures_lte_ue.c openair1/SIMULATION/LTE_PHY/dlsim.c openair1/SIMULATION/RF/adc.c openair2/LAYER2/MAC/lte_transport_init.c targets/RT/USER/lte-softmodem.c targets/RT/USER/sched_dlsch.c targets/RT/USER/sched_rx_pdsch.c targets/RT/USER/sched_ulsch.c targets/SIMU/USER/oaisim.c
29 lines
897 B
C
29 lines
897 B
C
void adc(double *r_re[2],
|
|
double *r_im[2],
|
|
unsigned int input_offset,
|
|
unsigned int output_offset,
|
|
unsigned int **output,
|
|
unsigned int nb_rx_antennas,
|
|
unsigned int length,
|
|
unsigned char B)
|
|
{
|
|
|
|
int i;
|
|
int aa;
|
|
double gain = (double)(1<<(B-1));
|
|
//double gain = 1.0;
|
|
|
|
for (i=0; i<length; i++) {
|
|
for (aa=0; aa<nb_rx_antennas; aa++) {
|
|
((short *)output[aa])[((i+output_offset)<<1)] = (short)(r_re[aa][i+input_offset]*gain);
|
|
((short *)output[aa])[1+((i+output_offset)<<1)] = (short)(r_im[aa][i+input_offset]*gain);
|
|
|
|
if ((r_re[aa][i+input_offset]*gain) > 30000) {
|
|
//("Adc outputs %d %e %d \n",i,((short *)output[0])[((i+output_offset)<<1)], ((i+output_offset)<<1) );
|
|
}
|
|
}
|
|
|
|
//printf("Adc outputs %d %e %d \n",i,((short *)output[0])[((i+output_offset)<<1)], ((i+output_offset)<<1) );
|
|
}
|
|
}
|