fix on single beam transmission
This commit is contained in:
@@ -245,6 +245,9 @@ int nr_init_frame_parms0(NR_DL_FRAME_PARMS *fp,
|
|||||||
else
|
else
|
||||||
fp->Lmax = 64;
|
fp->Lmax = 64;
|
||||||
|
|
||||||
|
fp->N_ssb = 0;
|
||||||
|
for (int p=0; p<fp->Lmax; p++)
|
||||||
|
fp->N_ssb += ((fp->L_ssb >> p) & 0x01);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -319,6 +319,8 @@ typedef struct NR_DL_FRAME_PARMS {
|
|||||||
uint8_t Lmax;
|
uint8_t Lmax;
|
||||||
/// SS block pattern (max 64 ssb, each bit is on/off ssb)
|
/// SS block pattern (max 64 ssb, each bit is on/off ssb)
|
||||||
uint64_t L_ssb;
|
uint64_t L_ssb;
|
||||||
|
/// Total number of SSB transmitted
|
||||||
|
uint8_t N_ssb;
|
||||||
/// PBCH polar encoder params
|
/// PBCH polar encoder params
|
||||||
t_nrPolar_params pbch_polar_params;
|
t_nrPolar_params pbch_polar_params;
|
||||||
|
|
||||||
|
|||||||
@@ -252,9 +252,14 @@ void nr_feptx_prec(RU_t *ru,int frame,int tti_tx) {
|
|||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 1);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 1);
|
||||||
|
|
||||||
memcpy((void*)ru->common.txdataF_BF[0],
|
AssertFatal(fp->N_ssb==ru->nb_tx,"Attempting to transmit %d SSB while Nb_tx = %d",fp->N_ssb,ru->nb_tx);
|
||||||
(void*)gNB->common_vars.txdataF[0],
|
|
||||||
fp->samples_per_slot_wCP*sizeof(int32_t));
|
for (int p=0; p<fp->Lmax; p++) {
|
||||||
|
if ((fp->L_ssb >> p) & 0x01)
|
||||||
|
memcpy((void*)ru->common.txdataF_BF[0],
|
||||||
|
(void*)gNB->common_vars.txdataF[p],
|
||||||
|
fp->samples_per_slot_wCP*sizeof(int32_t));
|
||||||
|
}
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 0);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_RU_FEPTX_PREC , 0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user