some fixes
This commit is contained in:
@@ -215,6 +215,7 @@ int phy_init_nr_gNB(PHY_VARS_gNB *gNB,
|
||||
i,common_vars->txdataF[i],
|
||||
fp->samples_per_frame_wCP*sizeof(int32_t));
|
||||
common_vars->beam_id[i] = (uint8_t*)malloc16_clear(fp->symbols_per_slot*fp->slots_per_frame*sizeof(uint8_t));
|
||||
memset(common_vars->beam_id[i],255,fp->symbols_per_slot*fp->slots_per_frame);
|
||||
}
|
||||
for (i=0;i<Prx;i++){
|
||||
common_vars->rxdataF[i] = (int32_t*)malloc16_clear(fp->samples_per_frame_wCP*sizeof(int32_t));
|
||||
|
||||
@@ -148,8 +148,10 @@ int nr_phy_init_RU(RU_t *ru) {
|
||||
}
|
||||
|
||||
ru->common.beam_id = (uint8_t**)malloc16_clear(ru->nb_tx*sizeof(uint8_t*));
|
||||
for(i=0; i< ru->nb_tx; ++i)
|
||||
for(i=0; i< ru->nb_tx; ++i) {
|
||||
ru->common.beam_id[i] = (uint8_t*)malloc16_clear(fp->symbols_per_slot*fp->slots_per_frame*sizeof(uint8_t));
|
||||
memset(ru->common.beam_id[i],255,fp->symbols_per_slot*fp->slots_per_frame);
|
||||
}
|
||||
|
||||
} // !=IF5
|
||||
|
||||
|
||||
@@ -131,16 +131,16 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
|
||||
ssb_start_symbol,
|
||||
n_hf, frame, cfg, fp);
|
||||
|
||||
}
|
||||
|
||||
// SSB beamforming is handled at PHY
|
||||
// currently our PHY does not support switching more than once a slot.
|
||||
if (ssb_per_slot>1) {
|
||||
LOG_W(PHY,"beamforming currently not supported for more than one SSB per slot\n");
|
||||
}
|
||||
else if (ssb_per_slot==1) {
|
||||
for (int j=0;j<fp->symbols_per_slot;j++)
|
||||
gNB->common_vars.beam_id[0][slot*fp->symbols_per_slot+j] = cfg->ssb_table.ssb_beam_id_list[ssb_index].beam_id.value;
|
||||
// SSB beamforming is handled at PHY
|
||||
// currently our PHY does not support switching more than once a slot.
|
||||
if (ssb_per_slot>1) {
|
||||
LOG_W(PHY,"beamforming currently not supported for more than one SSB per slot\n");
|
||||
}
|
||||
else if (ssb_per_slot==1) {
|
||||
LOG_I(PHY,"slot %d, ssb_index %d, beam %d\n",slot,ssb_index,cfg->ssb_table.ssb_beam_id_list[ssb_index].beam_id.value);
|
||||
for (int j=0;j<fp->symbols_per_slot;j++)
|
||||
gNB->common_vars.beam_id[0][slot*fp->symbols_per_slot+j] = cfg->ssb_table.ssb_beam_id_list[ssb_index].beam_id.value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
|
||||
int num_ssb=0;
|
||||
for (int i=0;i<32;i++) {
|
||||
cfg->ssb_table.ssb_beam_id_list[i].beam_id.tl.tag = NFAPI_NR_CONFIG_BEAM_ID_TAG;
|
||||
if ((cfg->ssb_table.ssb_mask_list[0].ssb_mask.value>>i)&1) {
|
||||
if ((cfg->ssb_table.ssb_mask_list[0].ssb_mask.value>>(31-i))&1) {
|
||||
cfg->ssb_table.ssb_beam_id_list[i].beam_id.value = num_ssb;
|
||||
num_ssb++;
|
||||
}
|
||||
@@ -286,7 +286,7 @@ void config_common(int Mod_idP, int pdsch_AntennaPorts, NR_ServingCellConfigComm
|
||||
}
|
||||
for (int i=0;i<32;i++) {
|
||||
cfg->ssb_table.ssb_beam_id_list[32+i].beam_id.tl.tag = NFAPI_NR_CONFIG_BEAM_ID_TAG;
|
||||
if ((cfg->ssb_table.ssb_mask_list[1].ssb_mask.value>>i)&1) {
|
||||
if ((cfg->ssb_table.ssb_mask_list[1].ssb_mask.value>>(31-i))&1) {
|
||||
cfg->ssb_table.ssb_beam_id_list[32+i].beam_id.value = num_ssb;
|
||||
num_ssb++;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user