Commit c73c0e3f authored by ISIP CS/NCTU's avatar ISIP CS/NCTU

add nr_configure_css_dci_from_pdcch_config for coreset and search space

parent 2fe82053
Pipeline #11303 failed with stage
in 0 seconds
......@@ -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;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment