bit-wise choice of SSB to transmit
This commit is contained in:
@@ -46,7 +46,7 @@ int nr_init_frame_parms0(NR_DL_FRAME_PARMS *fp,
|
|||||||
fp->numerology_index = mu;
|
fp->numerology_index = mu;
|
||||||
fp->Ncp = Ncp;
|
fp->Ncp = Ncp;
|
||||||
fp->N_RB_DL = N_RB_DL;
|
fp->N_RB_DL = N_RB_DL;
|
||||||
fp->L_ssb = 8; // TODO get the number of SSB value from higher layers (and config file finally)
|
fp->L_ssb = 255; // TODO get the number of SSB value from higher layers (and config file finally)
|
||||||
fp->ssb_type = nr_ssb_type_B; // TODO get the type from higher layers (and config file finally)
|
fp->ssb_type = nr_ssb_type_B; // TODO get the type from higher layers (and config file finally)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -309,7 +309,7 @@ typedef struct NR_DL_FRAME_PARMS {
|
|||||||
/// SSB type
|
/// SSB type
|
||||||
nr_ssb_type_e ssb_type;
|
nr_ssb_type_e ssb_type;
|
||||||
/// Number of SSB
|
/// Number of SSB
|
||||||
uint8_t L_ssb;
|
uint64_t L_ssb;
|
||||||
/// PBCH polar encoder params
|
/// PBCH polar encoder params
|
||||||
t_nrPolar_params pbch_polar_params;
|
t_nrPolar_params pbch_polar_params;
|
||||||
|
|
||||||
|
|||||||
@@ -150,9 +150,6 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
|
|||||||
|
|
||||||
Lmax = (fp->dl_CarrierFreq < 3e9)? 4:8; // max number of ssb
|
Lmax = (fp->dl_CarrierFreq < 3e9)? 4:8; // max number of ssb
|
||||||
|
|
||||||
if (fp->L_ssb > Lmax)
|
|
||||||
AssertFatal(0==1, "Invalid number of SSB larger than %d \n", Lmax);
|
|
||||||
|
|
||||||
LOG_D(PHY,"common_signal_procedures: frame %d, slot %d\n",frame,slot);
|
LOG_D(PHY,"common_signal_procedures: frame %d, slot %d\n",frame,slot);
|
||||||
|
|
||||||
if(rel_slot<10 && rel_slot>=0)
|
if(rel_slot<10 && rel_slot>=0)
|
||||||
@@ -160,7 +157,7 @@ void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame, int slot) {
|
|||||||
for (int i=0; i<2; i++) // max two SSB per frame
|
for (int i=0; i<2; i++) // max two SSB per frame
|
||||||
{
|
{
|
||||||
ssb_index = i + 2*rel_slot; // computing the ssb_index
|
ssb_index = i + 2*rel_slot; // computing the ssb_index
|
||||||
if (ssb_index < (fp->L_ssb)) // generating the ssb only if the current ssb index is lower than number of SSB configured
|
if ((fp->L_ssb >> ssb_index) & 0x01) // generating the ssb only if the bit of L_ssb at current ssb index is 1
|
||||||
{
|
{
|
||||||
int ssb_start_symbol_abs = nr_get_ssb_start_symbol(cfg, fp, ssb_index); // computing the starting symbol for current ssb
|
int ssb_start_symbol_abs = nr_get_ssb_start_symbol(cfg, fp, ssb_index); // computing the starting symbol for current ssb
|
||||||
ssb_start_symbol = ssb_start_symbol_abs % 14; // start symbol wrt slot
|
ssb_start_symbol = ssb_start_symbol_abs % 14; // start symbol wrt slot
|
||||||
@@ -229,7 +226,7 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
|
|||||||
num_dci = gNB->pdcch_vars.num_dci;
|
num_dci = gNB->pdcch_vars.num_dci;
|
||||||
|
|
||||||
num_pdsch_rnti = gNB->pdcch_vars.num_pdsch_rnti;
|
num_pdsch_rnti = gNB->pdcch_vars.num_pdsch_rnti;
|
||||||
if (num_dci) {
|
/*if (num_dci) {
|
||||||
LOG_I(PHY, "[gNB %d] Frame %d slot %d \
|
LOG_I(PHY, "[gNB %d] Frame %d slot %d \
|
||||||
Calling nr_generate_dci_top (number of DCI %d)\n", gNB->Mod_id, frame, slot, num_dci);
|
Calling nr_generate_dci_top (number of DCI %d)\n", gNB->Mod_id, frame, slot, num_dci);
|
||||||
|
|
||||||
@@ -248,7 +245,7 @@ void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB,
|
|||||||
AMP, slot, *fp, *cfg);
|
AMP, slot, *fp, *cfg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX+offset,0);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_TX+offset,0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user