Commit 9fcca73f authored by Xiwen JIANG's avatar Xiwen JIANG

lte softmodem adaption for massive antennas (not complete)

parent 9fca3313
......@@ -1305,7 +1305,7 @@ int phy_init_lte_eNB(PHY_VARS_eNB *phy_vars_eNB,
for (i=0; i<2; i++) { // 2 is the total number of cell specific antenna ports
eNB_common_vars->cell_spec_bf_weights[eNB_id][i] = (int32_t **)malloc16_clear(frame_parms->nb_antennas_tx*sizeof(int32_t*));
for (j=0; j<frame_parms->nb_antennas_tx; j++) {
eNB_common_vars->cell_spec_bf_weights[eNB_id][i][j] = (int32_t*)malloc16_clear(OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES*sizeof(int32_t));
eNB_common_vars->cell_spec_bf_weights[eNB_id][i][j] = (int32_t *)malloc16_clear(OFDM_SYMBOL_SIZE_COMPLEX_SAMPLES*sizeof(int32_t));
#ifdef DEBUG_PUY
msg("[openair][LTE_PHY][INIT] lte_eNB_common_vars->cell_spec_bf_weights[%d][%d][%d] = %p (%d bytes)\n",
eNB_id,i,j,eNB_common_vars->cell_spec_bf_weights[eNB_id][i][j],
......
......@@ -645,6 +645,11 @@ typedef struct {
/// - third index: tx antenna [0..nb_antennas_tx[
/// - fourth index: sample [0..]
int32_t **ue_spec_bf_weights[3][8];
/// \brief Holds the tdd reciprocity calibration coefficients
/// - first index: eNB id [0..2] (hard coded)
/// - second index: tx antenna [0..nb_antennas_tx[
/// - third index: frenquency [0..]
int32_t **tdd_calib_coeffs[3];
} LTE_eNB_COMMON;
typedef struct {
......
......@@ -2520,14 +2520,21 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
if (abstraction_flag==0)
{
start_meas(&phy_vars_eNB->ofdm_mod_stats);
do_OFDM_mod(phy_vars_eNB->lte_eNB_common_vars.txdataF[0],
phy_vars_eNB->lte_eNB_common_vars.txdata[0],
phy_vars_eNB->proc[sched_subframe].frame_tx,subframe<<1,
&phy_vars_eNB->lte_frame_parms);
do_OFDM_mod(phy_vars_eNB->lte_eNB_common_vars.txdataF[0],
phy_vars_eNB->lte_eNB_common_vars.txdata[0],
phy_vars_eNB->proc[sched_subframe].frame_tx,1+(subframe<<1),
&phy_vars_eNB->lte_frame_parms);
do_OFDM_mod_l(phy_vars_eNB->lte_eNB_common_vars,
0,
subframe<<1,
&phy_vars_eNB->lte_frame_parms,
num_pdcch_symbols,
eNB->transmission_mode[(uint8_t)UE_id]);
do_OFDM_mod_l(phy_vars_eNB->lte_eNB_common_vars,
0,
1+(subframe<<1),
&phy_vars_eNB->lte_frame_parms,
num_pdcch_symbols,
eNB->transmission_mode[(uint8_t)UE_id]);
stop_meas(&phy_vars_eNB->ofdm_mod_stats);
}
......
......@@ -2755,7 +2755,7 @@ int main( int argc, char **argv )
frame_parms[CC_id]->nb_antenna_ports_eNB = (transmission_mode == 1 || transmission_mode ==7) ? 1 : 2; //initial value overwritten by initial sync later
}
frame_parms[CC_id]->mode1_flag = (transmission_mode == 1) ? 1 : 0;
frame_parms[CC_id]->mode1_flag = (transmission_mode == 1 || transmission_mode ==7) ? 1 : 0;
frame_parms[CC_id]->phich_config_common.phich_resource = oneSixth;
frame_parms[CC_id]->phich_config_common.phich_duration = normal;
// UL RS Config
......@@ -3188,7 +3188,7 @@ int main( int argc, char **argv )
openair_daq_vars.timing_advance = 160;
#endif
if (setup_ue_buffers(UE,&openair0_cfg[0],rf_map)!=0) {
printf("Error setting up eNB buffer\n");
printf("Error setting up UE buffer\n");
exit(-1);
}
......
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