Merge remote-tracking branch 'origin/optimize_lte_tx_tm2' into integration_2022_wk49
This commit is contained in:
@@ -535,6 +535,8 @@ int phy_init_lte_eNB(PHY_VARS_eNB *eNB,
|
|||||||
}
|
}
|
||||||
|
|
||||||
eNB->pdsch_config_dedicated->p_a = dB0; //defaul value until overwritten by RRCConnectionReconfiguration
|
eNB->pdsch_config_dedicated->p_a = dB0; //defaul value until overwritten by RRCConnectionReconfiguration
|
||||||
|
|
||||||
|
init_modulation_LUTs();
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ void lte_eNB_I0_measurements(PHY_VARS_eNB *eNB,
|
|||||||
n0_power_tot=0;
|
n0_power_tot=0;
|
||||||
int offset0= (frame_parms->first_carrier_offset + (rb*12))%frame_parms->ofdm_symbol_size;
|
int offset0= (frame_parms->first_carrier_offset + (rb*12))%frame_parms->ofdm_symbol_size;
|
||||||
|
|
||||||
if ((rb_mask[rb>>5]&(1<<(rb&31))) == 0) { // check that rb was not used in this subframe
|
if ((rb_mask[rb>>5]&(1U<<(rb&31))) == 0) { // check that rb was not used in this subframe
|
||||||
nb_rb++;
|
nb_rb++;
|
||||||
for (aarx=0; aarx<frame_parms->nb_antennas_rx; aarx++) {
|
for (aarx=0; aarx<frame_parms->nb_antennas_rx; aarx++) {
|
||||||
measurements->n0_subband_power[aarx][rb] = 0;
|
measurements->n0_subband_power[aarx][rb] = 0;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -56,8 +56,10 @@ double computeRhoA_eNB(uint8_t pa,
|
|||||||
|
|
||||||
sqrt_rho_a_lin= pow(10,(0.05*rho_a_dB));
|
sqrt_rho_a_lin= pow(10,(0.05*rho_a_dB));
|
||||||
|
|
||||||
dlsch_eNB->sqrt_rho_a= (short) (sqrt_rho_a_lin*pow(2,13));
|
if (dlsch_eNB) {
|
||||||
|
dlsch_eNB->sqrt_rho_a= (short) (sqrt_rho_a_lin*pow(2,13));
|
||||||
|
dlsch_eNB->pa = pa;
|
||||||
|
}
|
||||||
#if DEBUG_PC
|
#if DEBUG_PC
|
||||||
printf("eNB: p_a=%d, value=%f, sqrt_rho_a=%d\n",p_a,pa_values[ pdsch_config_dedicated->p_a],dlsch_eNB->sqrt_rho_a);
|
printf("eNB: p_a=%d, value=%f, sqrt_rho_a=%d\n",p_a,pa_values[ pdsch_config_dedicated->p_a],dlsch_eNB->sqrt_rho_a);
|
||||||
#endif
|
#endif
|
||||||
@@ -86,8 +88,10 @@ double computeRhoB_eNB(uint8_t pa,
|
|||||||
|
|
||||||
sqrt_rho_b_lin= pow(10,(0.05*rho_b_dB));
|
sqrt_rho_b_lin= pow(10,(0.05*rho_b_dB));
|
||||||
|
|
||||||
dlsch_eNB->sqrt_rho_b= (short) (sqrt_rho_b_lin*pow(2,13));
|
if (dlsch_eNB) {
|
||||||
|
dlsch_eNB->sqrt_rho_b= (short) (sqrt_rho_b_lin*pow(2,13));
|
||||||
|
dlsch_eNB->pb = pb;
|
||||||
|
}
|
||||||
#ifdef DEBUG_PC
|
#ifdef DEBUG_PC
|
||||||
printf("eNB: n_ant=%d, p_b=%d -> rho_b/rho_a=%f -> sqrt_rho_b=%d\n",n_antenna_port,pb,ratioPB[1][pb],dlsch_eNB->sqrt_rho_b);
|
printf("eNB: n_ant=%d, p_b=%d -> rho_b/rho_a=%f -> sqrt_rho_b=%d\n",n_antenna_port,pb,ratioPB[1][pb],dlsch_eNB->sqrt_rho_b);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -178,6 +178,10 @@ typedef struct {
|
|||||||
uint8_t Kmimo;
|
uint8_t Kmimo;
|
||||||
/// Nsoft parameter related to UE Category
|
/// Nsoft parameter related to UE Category
|
||||||
uint32_t Nsoft;
|
uint32_t Nsoft;
|
||||||
|
/// current pa value
|
||||||
|
int pa;
|
||||||
|
/// current pb value
|
||||||
|
int pb;
|
||||||
/// amplitude of PDSCH (compared to RS) in symbols without pilots
|
/// amplitude of PDSCH (compared to RS) in symbols without pilots
|
||||||
int16_t sqrt_rho_a;
|
int16_t sqrt_rho_a;
|
||||||
/// amplitude of PDSCH (compared to RS) in symbols containing pilots
|
/// amplitude of PDSCH (compared to RS) in symbols containing pilots
|
||||||
|
|||||||
@@ -222,6 +222,8 @@ int32_t dlsch_encoding_2threads(PHY_VARS_eNB *eNB,
|
|||||||
\param frame_parms Frame parameter descriptor
|
\param frame_parms Frame parameter descriptor
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void init_modulation_LUTs(void);
|
||||||
|
|
||||||
int32_t allocate_REs_in_RB(PHY_VARS_eNB *phy_vars_eNB,
|
int32_t allocate_REs_in_RB(PHY_VARS_eNB *phy_vars_eNB,
|
||||||
int32_t **txdataF,
|
int32_t **txdataF,
|
||||||
uint32_t *jj,
|
uint32_t *jj,
|
||||||
|
|||||||
Reference in New Issue
Block a user