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, ...@@ -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 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*)); 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++) { 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 #ifdef DEBUG_PUY
msg("[openair][LTE_PHY][INIT] lte_eNB_common_vars->cell_spec_bf_weights[%d][%d][%d] = %p (%d bytes)\n", 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], eNB_id,i,j,eNB_common_vars->cell_spec_bf_weights[eNB_id][i][j],
......
...@@ -645,6 +645,11 @@ typedef struct { ...@@ -645,6 +645,11 @@ typedef struct {
/// - third index: tx antenna [0..nb_antennas_tx[ /// - third index: tx antenna [0..nb_antennas_tx[
/// - fourth index: sample [0..] /// - fourth index: sample [0..]
int32_t **ue_spec_bf_weights[3][8]; 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; } LTE_eNB_COMMON;
typedef struct { typedef struct {
......
...@@ -2520,14 +2520,21 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e ...@@ -2520,14 +2520,21 @@ void phy_procedures_eNB_TX(unsigned char sched_subframe,PHY_VARS_eNB *phy_vars_e
if (abstraction_flag==0) if (abstraction_flag==0)
{ {
start_meas(&phy_vars_eNB->ofdm_mod_stats); 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], do_OFDM_mod_l(phy_vars_eNB->lte_eNB_common_vars,
phy_vars_eNB->proc[sched_subframe].frame_tx,subframe<<1, 0,
&phy_vars_eNB->lte_frame_parms); subframe<<1,
do_OFDM_mod(phy_vars_eNB->lte_eNB_common_vars.txdataF[0], &phy_vars_eNB->lte_frame_parms,
phy_vars_eNB->lte_eNB_common_vars.txdata[0], num_pdcch_symbols,
phy_vars_eNB->proc[sched_subframe].frame_tx,1+(subframe<<1), eNB->transmission_mode[(uint8_t)UE_id]);
&phy_vars_eNB->lte_frame_parms);
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); stop_meas(&phy_vars_eNB->ofdm_mod_stats);
} }
......
...@@ -2755,7 +2755,7 @@ int main( int argc, char **argv ) ...@@ -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]->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_resource = oneSixth;
frame_parms[CC_id]->phich_config_common.phich_duration = normal; frame_parms[CC_id]->phich_config_common.phich_duration = normal;
// UL RS Config // UL RS Config
...@@ -3188,7 +3188,7 @@ int main( int argc, char **argv ) ...@@ -3188,7 +3188,7 @@ int main( int argc, char **argv )
openair_daq_vars.timing_advance = 160; openair_daq_vars.timing_advance = 160;
#endif #endif
if (setup_ue_buffers(UE,&openair0_cfg[0],rf_map)!=0) { 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); 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