fix for scrambling rnti and dci format
This commit is contained in:
@@ -60,7 +60,7 @@ typedef struct {
|
|||||||
uint8_t CoreSetType;
|
uint8_t CoreSetType;
|
||||||
uint8_t precoder_granularity;
|
uint8_t precoder_granularity;
|
||||||
uint16_t pdcch_dmrs_scrambling_id;
|
uint16_t pdcch_dmrs_scrambling_id;
|
||||||
|
uint16_t scrambling_rnti;
|
||||||
uint8_t tci_state_pdcch;
|
uint8_t tci_state_pdcch;
|
||||||
uint8_t tci_present_in_dci;
|
uint8_t tci_present_in_dci;
|
||||||
} fapi_nr_coreset_t;
|
} fapi_nr_coreset_t;
|
||||||
|
|||||||
@@ -858,7 +858,7 @@ uint8_t nr_dci_decoding_procedure(PHY_VARS_NR_UE *ue,
|
|||||||
|
|
||||||
LOG_D(PHY, "Trying DCI candidate %d of %d number of candidates, CCE %d (%d), L %d\n", j, rel15->number_of_candidates, CCEind, CCEind*9*6*2, L);
|
LOG_D(PHY, "Trying DCI candidate %d of %d number of candidates, CCE %d (%d), L %d\n", j, rel15->number_of_candidates, CCEind, CCEind*9*6*2, L);
|
||||||
|
|
||||||
nr_pdcch_unscrambling(&pdcch_vars->e_rx[CCEind*108], rel15->rnti, L*108, rel15->coreset.pdcch_dmrs_scrambling_id, tmp_e);
|
nr_pdcch_unscrambling(&pdcch_vars->e_rx[CCEind*108], rel15->coreset.scrambling_rnti, L*108, rel15->coreset.pdcch_dmrs_scrambling_id, tmp_e);
|
||||||
|
|
||||||
#ifdef DEBUG_DCI_DECODING
|
#ifdef DEBUG_DCI_DECODING
|
||||||
uint32_t * z = (uint32_t *) &pdcch_vars->e_rx[CCEind*108];
|
uint32_t * z = (uint32_t *) &pdcch_vars->e_rx[CCEind*108];
|
||||||
|
|||||||
@@ -180,12 +180,14 @@ void ue_dci_configuration(NR_UE_MAC_INST_t *mac,fapi_nr_dl_config_request_t *dl_
|
|||||||
}
|
}
|
||||||
rel15->coreset.CoreSetType = 1;
|
rel15->coreset.CoreSetType = 1;
|
||||||
rel15->coreset.precoder_granularity = mac->coreset[0][0]->precoderGranularity;
|
rel15->coreset.precoder_granularity = mac->coreset[0][0]->precoderGranularity;
|
||||||
|
if (mac->coreset[0][0]->pdcch_DMRS_ScramblingID) {
|
||||||
if (mac->coreset[0][0]->pdcch_DMRS_ScramblingID)
|
|
||||||
rel15->coreset.pdcch_dmrs_scrambling_id = *mac->coreset[0][0]->pdcch_DMRS_ScramblingID;
|
rel15->coreset.pdcch_dmrs_scrambling_id = *mac->coreset[0][0]->pdcch_DMRS_ScramblingID;
|
||||||
else
|
rel15->coreset.scrambling_rnti = mac->t_crnti;
|
||||||
|
}
|
||||||
|
else {
|
||||||
rel15->coreset.pdcch_dmrs_scrambling_id = *mac->scc->physCellId;
|
rel15->coreset.pdcch_dmrs_scrambling_id = *mac->scc->physCellId;
|
||||||
|
rel15->coreset.scrambling_rnti = 0;
|
||||||
|
}
|
||||||
fill_dci_search_candidates(mac->SSpace[0][0][ss_id],rel15);
|
fill_dci_search_candidates(mac->SSpace[0][0][ss_id],rel15);
|
||||||
dl_config->dl_config_list[dl_config->number_pdus].pdu_type = FAPI_NR_DL_CONFIG_TYPE_DCI;
|
dl_config->dl_config_list[dl_config->number_pdus].pdu_type = FAPI_NR_DL_CONFIG_TYPE_DCI;
|
||||||
dl_config->number_pdus = dl_config->number_pdus + 1;
|
dl_config->number_pdus = dl_config->number_pdus + 1;
|
||||||
|
|||||||
@@ -392,7 +392,11 @@ int configure_fapi_dl_pdu(int Mod_idP,
|
|||||||
int dci_formats[2];
|
int dci_formats[2];
|
||||||
int rnti_types[2];
|
int rnti_types[2];
|
||||||
|
|
||||||
|
if (ss->searchSpaceType->choice.ue_Specific->dci_Formats)
|
||||||
|
dci_formats[0] = NR_DL_DCI_FORMAT_1_1;
|
||||||
|
else
|
||||||
dci_formats[0] = NR_DL_DCI_FORMAT_1_0;
|
dci_formats[0] = NR_DL_DCI_FORMAT_1_0;
|
||||||
|
|
||||||
rnti_types[0] = NR_RNTI_C;
|
rnti_types[0] = NR_RNTI_C;
|
||||||
|
|
||||||
pdcch_pdu_rel15->dci_pdu.PayloadSizeBits[0]=nr_dci_size(dci_formats[0],rnti_types[0],pdcch_pdu_rel15->BWPSize);
|
pdcch_pdu_rel15->dci_pdu.PayloadSizeBits[0]=nr_dci_size(dci_formats[0],rnti_types[0],pdcch_pdu_rel15->BWPSize);
|
||||||
|
|||||||
Reference in New Issue
Block a user