add nr_configure_css_dci_from_pdcch_config for coreset and search space
This commit is contained in:
Regular → Executable
+94
@@ -175,6 +175,100 @@ void nr_configure_css_dci_from_mib(nfapi_nr_dl_config_pdcch_parameters_rel15_t*
|
||||
void nr_configure_css_dci_from_pdcch_config(nfapi_nr_dl_config_pdcch_parameters_rel15_t* pdcch_params,
|
||||
nfapi_nr_coreset_t* coreset,
|
||||
nfapi_nr_search_space_t* search_space) {
|
||||
//coreset
|
||||
|
||||
//ControlResourceSetId
|
||||
pdcch_params->config_type = coreset->coreset_id;
|
||||
|
||||
//frequencyDomainResources
|
||||
pdcch_params->n_rb = coreset->frequency_domain_resources;
|
||||
|
||||
//duration
|
||||
pdcch_params->n_symb = coreset->duration;
|
||||
|
||||
//cce-REG-MappingType
|
||||
switch (coreset->cce_reg_mapping_type) {
|
||||
case NFAPI_NR_CCE_REG_MAPPING_NON_INTERLEAVED: //Non_interleaved
|
||||
pdcch_params->reg_bundle_size = 0;
|
||||
pdcch_params->interleaver_size = 0;
|
||||
pdcch_params->shift_index = 0;
|
||||
break;
|
||||
case NFAPI_NR_CCE_REG_MAPPING_INTERLEAVED: //interleaved
|
||||
pdcch_params->reg_bundle_size = coreset->reg_bundle_size;
|
||||
pdcch_params->interleaver_size = coreset->interleaver_size;
|
||||
pdcch_params->shift_index = coreset->shift_index;
|
||||
break;
|
||||
}
|
||||
//precoderGranularity
|
||||
pdcch_params->precoder_granularity = coreset->precoder_granularity;
|
||||
/*
|
||||
if (tci_present_in_dci == tciPresentInDCI_t->tciPresentInDCI_enabled){
|
||||
//not sure information
|
||||
}
|
||||
*/
|
||||
//pdcch-DMRS-ScramblingID
|
||||
pdcch_params->scrambling_id = coreset->dmrs_scrambling_id;
|
||||
|
||||
|
||||
|
||||
|
||||
//SearchSpace 38.213, Reference defs_nr_UE.h - 755-840 code
|
||||
//searchSpaceId
|
||||
search_space->search_space_id = 0;
|
||||
|
||||
//controlResourceSetId
|
||||
if(coreset->coreset_id != NULL){
|
||||
search_space->coreset_id = coreset->coreset_id; //Value 0 or Value 1
|
||||
}
|
||||
|
||||
//monitoringSlotPeriodicityAndOffset
|
||||
//pdcch_params->nb_slots = search_space->slot_monitoring_offset; //output not sure.
|
||||
pdcch_params->nb_slots = search_space->slot_monitoring_periodicity; //nr_sl1=1,nr_sl2=2,nr_sl4=4,nr_sl5=5,nr_sl8=8,nr_sl10=10,nr_sl16=16,nr_sl20=20,nr_sl40=40,nr_sl80=80,nr_sl160=160,nr_sl320=320,nr_sl640=640,nr_sl1280=1280,nr_sl2560=2560
|
||||
|
||||
//duration
|
||||
search_space->duration = search_space->slot_monitoring_periodicity-1; //The maximum valid duration is periodicity-1
|
||||
|
||||
|
||||
//monitoringSymbolsWithinSlot
|
||||
pdcch_params->first_symbol = search_space->monitoring_symbols_in_slot; //38.213 page.69
|
||||
|
||||
//nrofCandidates
|
||||
//NFAPI_NR_MAX_NB_CCE_AGGREGATION_LEVELS = 5 {1,2,4,8,16}
|
||||
pdcch_params->aggregation_level = search_space->number_of_candidates[NFAPI_NR_MAX_NB_CCE_AGGREGATION_LEVELS];
|
||||
|
||||
if (search_space->search_space_type == 0){
|
||||
//Common_CSS
|
||||
pdcch_params->search_space_type = search_space->search_space_type;
|
||||
if(search_space->css_formats_0_0_and_1_0 == 0){ //Type0-"SI-RNTI, Type0A-SI-RNTI, Type1-RA-RNTI or TC-RNTI, Type2-P-RNTI, Type3-C-RNTI or CS-RNTI"
|
||||
pdcch_params->dci_format = search_space->css_formats_0_0_and_1_0;
|
||||
}
|
||||
if(search_space->css_format_2_0 == 2){ //Type3-"SFI-RNTI"
|
||||
pdcch_params->dci_format = search_space->css_format_2_0;
|
||||
//Not SFI-Aggregation-LeveL
|
||||
//pdcch_params->aggregation_level = search_space->number_of_candidates[NFAPI_NR_MAX_NB_CCE_AGGREGATION_LEVELS];
|
||||
}
|
||||
if(search_space->css_format_2_1 == 3){ //Type3-"INT-RNTI"
|
||||
pdcch_params->dci_format = search_space->css_format_2_1;
|
||||
}
|
||||
if(search_space->css_format_2_2 == 4){ //Type3-"TPC-PUSCH_RNTI or TPC-PUCCH-RNTI"
|
||||
pdcch_params->dci_format = search_space->css_format_2_2;
|
||||
}
|
||||
if(search_space->css_format_2_3 == 5){ //Type3-"TPC-SRS-RNTI"
|
||||
pdcch_params->dci_format = search_space->css_format_2_3;
|
||||
//Monitoring periodicity of SRS PDCCH in number of slots for DCI format 2-3
|
||||
pdcch_params->nb_slots = search_space->srs_monitoring_periodicity; //mp1=1,mp2=2,mp4=4,mp5=5,mp8=8,mp10=10,mp16=16,mp20=20
|
||||
}
|
||||
}
|
||||
if (search_space->search_space_type == 1){
|
||||
//Ue_Specific_USS
|
||||
pdcch_params->search_space_type = search_space->search_space_type;
|
||||
if(search_space->uss_dci_formats == 0){ //DCI formats 0-0 and 1-0
|
||||
pdcch_params->dci_format = search_space->uss_dci_formats;
|
||||
}
|
||||
if(search_space->uss_dci_formats == 1){ //DCI formats 0-1 and 1-1
|
||||
pdcch_params->dci_format = search_space->uss_dci_formats;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user