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],
|
i,common_vars->txdataF[i],
|
||||||
fp->samples_per_frame_wCP*sizeof(int32_t));
|
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));
|
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++){
|
for (i=0;i<Prx;i++){
|
||||||
common_vars->rxdataF[i] = (int32_t*)malloc16_clear(fp->samples_per_frame_wCP*sizeof(int32_t));
|
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*));
|
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));
|
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
|
} // !=IF5
|
||||||
|
|
||||||
|
|||||||
@@ -131,16 +131,16 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
|
|||||||
ssb_start_symbol,
|
ssb_start_symbol,
|
||||||
n_hf, frame, cfg, fp);
|
n_hf, frame, cfg, fp);
|
||||||
|
|
||||||
}
|
// SSB beamforming is handled at PHY
|
||||||
|
// currently our PHY does not support switching more than once a slot.
|
||||||
// SSB beamforming is handled at PHY
|
if (ssb_per_slot>1) {
|
||||||
// currently our PHY does not support switching more than once a slot.
|
LOG_W(PHY,"beamforming currently not supported for more than one SSB per slot\n");
|
||||||
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);
|
||||||
else if (ssb_per_slot==1) {
|
for (int j=0;j<fp->symbols_per_slot;j++)
|
||||||
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;
|
||||||
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;
|
int num_ssb=0;
|
||||||
for (int i=0;i<32;i++) {
|
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;
|
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;
|
cfg->ssb_table.ssb_beam_id_list[i].beam_id.value = num_ssb;
|
||||||
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++) {
|
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;
|
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;
|
cfg->ssb_table.ssb_beam_id_list[32+i].beam_id.value = num_ssb;
|
||||||
num_ssb++;
|
num_ssb++;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user