lte softmodem adaption for massive antennas (not complete)
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user