//Extracting Channel Estimates for Distributed Alamouti Receiver Combining
temp_in_ifft_ptr=&temp_in_ifft_1[0];
i=symbol_offset;
for(j=0;j<(frame_parms->N_RB_UL*12);j++){
temp_in_ifft_ptr[j]=ul_ch_estimates[aa][i];
i++;
}
switch(frame_parms->N_RB_DL){
case6:
idft128((int16_t*)&temp_in_ifft_0[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_0,
1);
idft128((int16_t*)&temp_in_ifft_1[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_1,
1);
break;
case25:
idft512((int16_t*)&temp_in_ifft_0[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_0,
1);
idft512((int16_t*)&temp_in_ifft_1[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_1,
1);
break;
case50:
idft1024((int16_t*)&temp_in_ifft_0[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_0,
1);
idft1024((int16_t*)&temp_in_ifft_1[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_1,
1);
break;
case100:
idft2048((int16_t*)&temp_in_ifft_0[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_0,
1);
idft2048((int16_t*)&temp_in_ifft_1[0],// Performing IFFT on Combined Channel Estimates
temp_out_ifft_1,
1);
break;
}
// because the ifft is not power preserving, we should apply the factor sqrt(power_correction) here, but we rather apply power_correction here and nothing after the next fft
// //Extracting Channel Estimates for Distributed Alamouti Receiver Combining
// temp_in_ifft_ptr = &temp_in_ifft_1[0];
// i = symbol_offset;
// for(j=0; j<(frame_parms->N_RB_UL*12); j++) {
// temp_in_ifft_ptr[j] = ul_ch_estimates[aa][i];
// i++;
// }
// switch (frame_parms->N_RB_DL) {
// case 6:
// idft128((int16_t*) &temp_in_ifft_0[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_0,
// 1);
// idft128((int16_t*) &temp_in_ifft_1[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_1,
// 1);
// break;
// case 25:
// idft512((int16_t*) &temp_in_ifft_0[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_0,
// 1);
// idft512((int16_t*) &temp_in_ifft_1[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_1,
// 1);
// break;
// case 50:
// idft1024((int16_t*) &temp_in_ifft_0[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_0,
// 1);
// idft1024((int16_t*) &temp_in_ifft_1[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_1,
// 1);
// break;
// case 100:
// idft2048((int16_t*) &temp_in_ifft_0[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_0,
// 1);
// idft2048((int16_t*) &temp_in_ifft_1[0], // Performing IFFT on Combined Channel Estimates
// temp_out_ifft_1,
// 1);
// break;
// }
// // because the ifft is not power preserving, we should apply the factor sqrt(power_correction) here, but we rather apply power_correction here and nothing after the next fft