- Amend P5 interface structure to more like FAPI style in LTE
- Create PDCCH structre in FAPI, it will be one of P7 structure - Maintain Configuration Module
This commit is contained in:
@@ -62,6 +62,8 @@ typedef struct
|
||||
typedef struct {
|
||||
nfapi_uint16_tlv_t numerology_index_mu;
|
||||
nfapi_uint16_tlv_t duplex_mode;
|
||||
nfapi_uint16_tlv_t dl_prefix_type;
|
||||
nfapi_uint16_tlv_t ul_prefix_type;
|
||||
} nfapi_nr_subframe_config_t;
|
||||
|
||||
#define NFAPI_NR_SUBFRAME_CONFIG_DUPLEX_MODE_TAG 0x5001
|
||||
@@ -74,6 +76,21 @@ typedef struct {
|
||||
typedef struct {
|
||||
nfapi_uint16_tlv_t tx_antenna_ports;
|
||||
nfapi_uint16_tlv_t rx_antenna_ports;
|
||||
nfapi_uint16_tlv_t dl_carrierBandwidth;
|
||||
nfapi_uint16_tlv_t ul_carrierBandwidth;
|
||||
nfapi_uint16_tlv_t dl_locationAndBandwidth;
|
||||
nfapi_uint16_tlv_t ul_locationAndBandwidth;
|
||||
nfapi_uint16_tlv_t dl_BWP_SubcarrierSpacing;
|
||||
nfapi_uint16_tlv_t ul_BWP_SubcarrierSpacing;
|
||||
nfapi_uint16_tlv_t dl_absoluteFrequencyPointA;
|
||||
nfapi_uint16_tlv_t ul_absoluteFrequencyPointA;
|
||||
nfapi_uint16_tlv_t dl_offsetToCarrier;
|
||||
nfapi_uint16_tlv_t ul_offsetToCarrier;
|
||||
nfapi_uint16_tlv_t dl_SCS_SubcarrierSpacing;
|
||||
nfapi_uint16_tlv_t ul_SCS_SubcarrierSpacing;
|
||||
nfapi_uint16_tlv_t dl_SCS_SpecificCarrier_k0;
|
||||
nfapi_uint16_tlv_t ul_SCS_SpecificCarrier_k0;
|
||||
nfapi_uint16_tlv_t NIA_SubcarrierSpacing;
|
||||
} nfapi_nr_rf_config_t;
|
||||
|
||||
#define NFAPI_NR_RF_CONFIG_DL_CHANNEL_BANDWIDTH_TAG 0x500A
|
||||
@@ -86,7 +103,8 @@ typedef struct {
|
||||
nfapi_uint16_tlv_t physical_cell_id;
|
||||
nfapi_uint16_tlv_t half_frame_index;
|
||||
nfapi_uint16_tlv_t ssb_subcarrier_offset;
|
||||
nfapi_uint16_tlv_t ssb_position_in_burst;
|
||||
nfapi_uint16_tlv_t ssb_sib1_position_in_burst;
|
||||
nfapi_uint16_tlv_t ssb_scg_position_in_burst;
|
||||
nfapi_uint16_tlv_t ssb_periodicity;
|
||||
nfapi_uint16_tlv_t ss_pbch_block_power;
|
||||
nfapi_uint16_tlv_t n_ssb_crb;
|
||||
@@ -115,45 +133,10 @@ typedef struct {
|
||||
} nfapi_nr_rach_config_t;
|
||||
|
||||
typedef struct {
|
||||
//NR FrequencyInfoDL
|
||||
nfapi_uint16_tlv_t absoluteFrequencySSB;
|
||||
nfapi_uint16_tlv_t ssb_SubcarrierOffset; ///// L1 parameter 'kssb'
|
||||
nfapi_uint16_tlv_t DL_FreqBandIndicatorNR;
|
||||
nfapi_uint16_tlv_t DL_absoluteFrequencyPointA; ///// L1 parameter 'offset-ref-low-scs-ref-PRB'
|
||||
//NR DL SCS-SpecificCarrier ///// L1 parameter 'offset-pointA-set'
|
||||
nfapi_uint16_tlv_t DL_offsetToCarrier; ///// L1 parameter 'offset-pointA-low-scs '
|
||||
nfapi_uint16_tlv_t DL_SCS_SubcarrierSpacing; ///// L1 parameter 'ref-scs'
|
||||
nfapi_uint16_tlv_t DL_SCS_SpecificCarrier_k0; ///// L1 parameter 'k0'
|
||||
nfapi_uint16_tlv_t DL_carrierBandwidth; ///// L1 parameter 'BW'
|
||||
} nfapi_nr_dl_frequencyinfo_t;
|
||||
|
||||
typedef struct {
|
||||
//NR BWP-DownlinkCommon
|
||||
nfapi_uint16_tlv_t DL_locationAndBandwidth; ///// L1 parameter 'DL-BWP-loc'
|
||||
nfapi_uint16_tlv_t DL_BWP_SubcarrierSpacing; ///// Corresponds to subcarrier spacing according to 38.211, Table 4.2-1
|
||||
nfapi_uint16_tlv_t DL_BWP_prefix_type;
|
||||
} nfapi_nr_bwp_dl_t;
|
||||
|
||||
typedef struct {
|
||||
//NR FrequencyInfoUL
|
||||
nfapi_uint16_tlv_t UL_FreqBandIndicatorNR;
|
||||
nfapi_uint16_tlv_t UL_absoluteFrequencyPointA; ///// L1 parameter 'offset-ref-low-scs-ref-PRB'
|
||||
nfapi_uint16_tlv_t UL_additionalSpectrumEmission;
|
||||
nfapi_uint16_tlv_t UL_p_Max;
|
||||
nfapi_uint16_tlv_t UL_frequencyShift7p5khz;
|
||||
//NR UL SCS-SpecificCarrier ///// L1 parameter 'offset-pointA-set'
|
||||
nfapi_uint16_tlv_t UL_offsetToCarrier; ///// L1 parameter 'offset-pointA-low-scs '
|
||||
nfapi_uint16_tlv_t UL_SCS_SubcarrierSpacing; ///// L1 parameter 'ref-scs'
|
||||
nfapi_uint16_tlv_t UL_SCS_SpecificCarrier_k0; ///// L1 parameter 'k0'
|
||||
nfapi_uint16_tlv_t UL_carrierBandwidth; ///// L1 parameter 'BW'
|
||||
} nfapi_nr_ul_frequencyinfo_t;
|
||||
|
||||
typedef struct {
|
||||
//NR BWP-UplinkCommon ///// L1 parameter 'initial-UL-BWP'
|
||||
nfapi_uint16_tlv_t UL_locationAndBandwidth; ///// L1 parameter 'DL-BWP-loc'
|
||||
nfapi_uint16_tlv_t UL_BWP_SubcarrierSpacing; ///// Corresponds to subcarrier spacing according to 38.211, Table 4.2-1
|
||||
nfapi_uint16_tlv_t UL_BWP_prefix_type;
|
||||
} nfapi_nr_bwp_ul_t;
|
||||
nfapi_uint16_tlv_t dmrs_TypeA_Position; ///// Position of (first) DL DM-RS
|
||||
nfapi_uint16_tlv_t TimeDomainResourceAllocation_k0; ///// L1 parameter 'K0'
|
||||
nfapi_uint16_tlv_t TimeDomainResourceAllocation_mappingType; ///// L1 parameter 'Mapping-type'
|
||||
} nfapi_nr_pdsch_config_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_uint16_tlv_t groupHoppingEnabledTransformPrecoding; ///// L1 parameter 'Group-hopping-enabled-Transform-precoding'
|
||||
@@ -168,48 +151,6 @@ typedef struct {
|
||||
nfapi_uint16_tlv_t p0_nominal; ///// L1 parameter 'p0-nominal-pucch'
|
||||
} nfapi_nr_pucch_config_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_uint16_tlv_t TimeDomainResourceAllocation_k0; ///// L1 parameter 'K0'
|
||||
nfapi_uint16_tlv_t TimeDomainResourceAllocation_mappingType; ///// L1 parameter 'Mapping-type'
|
||||
} nfapi_nr_pdsch_config_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_uint16_tlv_t searchSpaceSIB1; ///// L1 parameter 'rmsi-SearchSpace'
|
||||
nfapi_uint16_tlv_t searchSpaceOtherSystemInformation; ///// L1 parameter 'osi-SearchSpace'
|
||||
nfapi_uint16_tlv_t pagingSearchSpace; ///// L1 parameter 'paging-SearchSpace'
|
||||
nfapi_uint16_tlv_t ra_SearchSpace; ///// L1 parameter 'ra-SearchSpace'
|
||||
nfapi_uint16_tlv_t rach_ra_ControlResourceSet; ///// L1 parameter 'rach-coreset-configuration'
|
||||
nfapi_uint16_tlv_t common_controlResourceSetId; ///// L1 parameter 'CORESET-ID
|
||||
nfapi_uint16_tlv_t common_ControlResourceSet_duration; ///// L1 parameter 'CORESET-time-duration'
|
||||
nfapi_uint16_tlv_t cce_REG_MappingType; ///// L1 parameter 'CORESET-CCE-REG-mapping-type'
|
||||
nfapi_uint16_tlv_t reg_BundleSize; ///// L1 parameter 'CORESET-REG-bundle-size'
|
||||
nfapi_uint16_tlv_t interleaverSize; ///// L1 parameter 'CORESET-interleaver-size'
|
||||
nfapi_uint16_tlv_t shiftIndex; ///// L1 parameter 'CORESET-shift-index'
|
||||
nfapi_uint16_tlv_t precoderGranularity; ///// L1 parameter 'CORESET-precoder-granuality'
|
||||
nfapi_uint16_tlv_t TCI_StateId; ///// L1 parameter 'TCI-StatesPDCCH'
|
||||
nfapi_uint16_tlv_t tci_PresentInDCI; ///// L1 parameter 'TCI-PresentInDCI'
|
||||
nfapi_uint16_tlv_t SearchSpaceId;
|
||||
nfapi_uint16_tlv_t commonSearchSpaces_controlResourceSetId;
|
||||
nfapi_uint16_tlv_t SearchSpace_monitoringSlotPeriodicityAndOffset; ///// L1 parameters 'Montoring-periodicity-PDCCH-slot'
|
||||
nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel1; ///// L1 parameter 'Aggregation-level-1'
|
||||
nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel2; ///// L1 parameter 'Aggregation-level-2'
|
||||
nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel4; ///// L1 parameter 'Aggregation-level-4'
|
||||
nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel8; ///// L1 parameter 'Aggregation-level-8'
|
||||
nfapi_uint16_tlv_t SearchSpace_nrofCandidates_aggregationLevel16; ///// L1 parameter 'Aggregation-level-16'
|
||||
nfapi_uint16_tlv_t Common_dci_Format2_0_nrofCandidates_SFI_And_aggregationLevel; ///// L1 parameters 'SFI-Num-PDCCH-cand' and 'SFI-Aggregation-Level'
|
||||
nfapi_uint16_tlv_t Common_dci_Format2_3_monitoringPeriodicity; ///// L1 parameter 'SRS-monitoring-periodicity'
|
||||
nfapi_uint16_tlv_t Common_dci_Format2_3_nrofPDCCH_Candidates; ///// L1 parameter 'SRS-Num-PDCCH-cand'
|
||||
nfapi_uint16_tlv_t ue_Specific__dci_Formats;
|
||||
} nfapi_nr_pdcch_config_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_uint16_tlv_t ssb_PositionsInBurst_PR; ///// L1 parameter 'SSB-Transmitted
|
||||
nfapi_uint16_tlv_t ssb_periodicityServingCell;
|
||||
nfapi_uint16_tlv_t dmrs_TypeA_Position; ///// Position of (first) DL DM-RS
|
||||
nfapi_uint16_tlv_t NIA_SubcarrierSpacing; ///// Used only for non-initial access (e.g. SCells, PCell of SCG)
|
||||
nfapi_uint16_tlv_t ss_PBCH_BlockPower;
|
||||
} nfapi_nr_servingcellconfigcommon_t;
|
||||
|
||||
typedef struct {
|
||||
//NR TDD-UL-DL-ConfigCommon ///// L1 parameter 'UL-DL-configuration-common'
|
||||
nfapi_uint16_tlv_t referenceSubcarrierSpacing; ///// L1 parameter 'reference-SCS'
|
||||
@@ -243,9 +184,6 @@ typedef struct {
|
||||
nfapi_uint16_tlv_t RateMatchPatternLTE_CRS_subframeAllocation_choice;
|
||||
} nfapi_nr_ratematchpattern_lte_crs_t;
|
||||
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
nfapi_p4_p5_message_header_t header;
|
||||
uint8_t num_tlv;
|
||||
@@ -253,15 +191,9 @@ typedef struct {
|
||||
nfapi_nr_rf_config_t rf_config;
|
||||
nfapi_nr_sch_config_t sch_config;
|
||||
nfapi_nr_rach_config_t rach_config;
|
||||
nfapi_nr_dl_frequencyinfo_t dl_frequencyinfo;
|
||||
nfapi_nr_bwp_dl_t bwp_dl;
|
||||
nfapi_nr_ul_frequencyinfo_t ul_frequencyinfo;
|
||||
nfapi_nr_bwp_ul_t bwp_ul;
|
||||
nfapi_nr_pdsch_config_t pdsch_config;
|
||||
nfapi_nr_pusch_config_t pusch_config;
|
||||
nfapi_nr_pucch_config_t pucch_config;
|
||||
nfapi_nr_pdsch_config_t pdsch_config;
|
||||
nfapi_nr_pucch_config_t pdcch_config;
|
||||
nfapi_nr_servingcellconfigcommon_t servingcellconfigcommon;
|
||||
nfapi_nr_tdd_ul_dl_config_t tdd_ul_dl_config;
|
||||
nfapi_nr_ratematchpattern_t ratematchpattern;
|
||||
nfapi_nr_ratematchpattern_lte_crs_t ratematchpattern_lte_crs;
|
||||
@@ -301,5 +233,98 @@ typedef struct {
|
||||
nfapi_nr_dl_config_dci_dl_pdu_rel15_t dci_dl_pdu_rel15;
|
||||
} nfapi_nr_dl_config_dci_dl_pdu;
|
||||
|
||||
#endif
|
||||
|
||||
typedef struct{
|
||||
nfapi_uint16_tlv_t controlResourceSetId; ///// L1 parameter 'CORESET-ID'
|
||||
nfapi_uint16_tlv_t frequencyDomainResources; ///// L1 parameter 'CORESET-freq-dom'
|
||||
nfapi_uint16_tlv_t duration; ///// L1 parameter 'CORESET-time-duration'
|
||||
nfapi_uint16_tlv_t cce_REG_MappingType; ///// L1 parameter 'CORESET-CCE-REG-mapping-type'
|
||||
nfapi_uint16_tlv_t reg_BundleSize; ///// L1 parameter 'CORESET-REG-bundle-size'
|
||||
nfapi_uint16_tlv_t interleaverSize; ///// L1 parameter 'CORESET-interleaver-size'
|
||||
nfapi_uint16_tlv_t shiftIndex; ///// L1 parameter 'CORESET-shift-index'
|
||||
nfapi_uint16_tlv_t precoderGranularity; ///// L1 parameter 'CORESET-precoder-granuality'
|
||||
nfapi_uint16_tlv_t TCI_StateId; ///// L1 parameter 'TCI-StatesPDCCH'
|
||||
nfapi_uint16_tlv_t tci_PresentInDCI; ///// L1 parameter 'TCI-PresentInDCI'
|
||||
nfapi_uint16_tlv_t pdcch_DMRS_ScramblingID; ///// L1 parameter 'PDCCH-DMRS-Scrambling-ID'
|
||||
} nfapi_nr_ControlResourcesSets_t;
|
||||
|
||||
typedef struct{
|
||||
nfapi_uint16_tlv_t SearchSpaceId;
|
||||
nfapi_uint16_tlv_t controlResourceSetId;
|
||||
nfapi_uint16_tlv_t monitoringSlotPeriodicityAndOffset; ///// L1 parameters 'Montoring-periodicity-PDCCH-slot'
|
||||
nfapi_uint16_tlv_t monitoringSymbolsWithinSlot; ///// L1 parameter 'Montoring-symbols-PDCCH-within-slot'
|
||||
nfapi_uint16_tlv_t nrofCand_aggLevel1; ///// L1 parameter 'Aggregation-level-1'
|
||||
nfapi_uint16_tlv_t nrofCand_aggLevel2; ///// L1 parameter 'Aggregation-level-2'
|
||||
nfapi_uint16_tlv_t nrofCand_aggLevel4; ///// L1 parameter 'Aggregation-level-4'
|
||||
nfapi_uint16_tlv_t nrofCand_aggLevel8; ///// L1 parameter 'Aggregation-level-8'
|
||||
nfapi_uint16_tlv_t nrofCand_aggLevel16; ///// L1 parameter 'Aggregation-level-16'
|
||||
nfapi_uint16_tlv_t Com_dci_Format2_0_nrofCand_SFI_And_aggLevel; ///// L1 parameters 'SFI-Num-PDCCH-cand' and 'SFI-Aggregation-Level'
|
||||
nfapi_uint16_tlv_t Com_dci_Format2_3_monitoringPeriodicity; ///// L1 parameter 'SRS-monitoring-periodicity'
|
||||
nfapi_uint16_tlv_t Com_dci_Format2_3_nrofPDCCH_Candidates; ///// L1 parameter 'SRS-Num-PDCCH-cand'
|
||||
nfapi_uint16_tlv_t ue_Specific_dci_Formats;
|
||||
} nfapi_nr_SearchSpaces_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_tl_t tl;
|
||||
nfapi_nr_SearchSpaces_t sib1searchSpace;
|
||||
nfapi_nr_ControlResourcesSets_t sib1ControlResourceSets;
|
||||
}nfapi_nr_dl_config_bch_pdu_rel15_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_tl_t tl;
|
||||
nfapi_nr_SearchSpaces_t sibssearchSpace;
|
||||
nfapi_nr_ControlResourcesSets_t sibsControlResourceSets;
|
||||
nfapi_nr_SearchSpaces_t ra_SearchSpace;
|
||||
nfapi_nr_ControlResourcesSets_t ra_ControlResourceSets;
|
||||
}nfapi_nr_dl_config_dlsch_pdu_rel15_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_tl_t tl;
|
||||
nfapi_nr_SearchSpaces_t pagingSearchSpace;
|
||||
nfapi_nr_ControlResourcesSets_t pagingControlResourceSets;
|
||||
}nfapi_nr_dl_config_pch_pdu_rel15_t;
|
||||
|
||||
typedef struct {
|
||||
|
||||
}nfapi_nr_dl_config_nbch_pdu_rel15_t;
|
||||
|
||||
typedef struct {
|
||||
|
||||
}nfapi_nr_dl_config_npdcch_pdu_rel15_t;
|
||||
|
||||
typedef struct {
|
||||
|
||||
}nfapi_nr_dl_config_ndlsch_pdu_rel15_t;
|
||||
|
||||
typedef struct {
|
||||
uint8_t pdu_type;
|
||||
uint8_t pdu_size;
|
||||
union {
|
||||
nfapi_nr_dl_config_dci_dl_pdu_rel15_t dci_dl_pdu;
|
||||
nfapi_nr_dl_config_bch_pdu_rel15_t bch_pdu;
|
||||
nfapi_nr_dl_config_dlsch_pdu_rel15_t dlsch_pdu;
|
||||
nfapi_nr_dl_config_pch_pdu_rel15_t pch_pdu;
|
||||
nfapi_nr_dl_config_nbch_pdu_rel15_t nbch_pdu;
|
||||
nfapi_nr_dl_config_npdcch_pdu_rel15_t npdcch_pdu;
|
||||
nfapi_nr_dl_config_ndlsch_pdu_rel15_t ndlsch_pdu;
|
||||
};
|
||||
|
||||
} nfapi_nr_dl_config_request_pdu_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_tl_t tl;
|
||||
//uint8_t number_pdcch_ofdm_symbols;
|
||||
uint8_t number_dci;
|
||||
uint16_t number_pdu;
|
||||
uint8_t number_pdsch_rnti;
|
||||
nfapi_dl_config_request_pdu_t *dl_config_pdu_list;
|
||||
} nfapi_nr_dl_config_request_body_t;
|
||||
|
||||
typedef struct {
|
||||
nfapi_p7_message_header_t header;
|
||||
uint16_t sfn_sf;
|
||||
nfapi_nr_dl_config_request_body_t dl_config_request_body;
|
||||
nfapi_vendor_extension_tlv_t vendor_extension;
|
||||
} nfapi_nr_dl_config_request_t;
|
||||
|
||||
#endif
|
||||
@@ -58,30 +58,6 @@ extern RAN_CONTEXT_t RC;
|
||||
# define GNB_REGISTER_RETRY_DELAY 10
|
||||
# endif
|
||||
|
||||
/*------------------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
static void configure_phy(module_id_t enb_id, const Enb_properties_array_t* enb_properties)
|
||||
{
|
||||
MessageDef *msg_p;
|
||||
int CC_id;
|
||||
|
||||
msg_p = itti_alloc_new_message (TASK_ENB_APP, PHY_CONFIGURATION_REQ);
|
||||
|
||||
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
|
||||
PHY_CONFIGURATION_REQ (msg_p).frame_type[CC_id] = enb_properties->properties[enb_id]->frame_type[CC_id];
|
||||
PHY_CONFIGURATION_REQ (msg_p).prefix_type[CC_id] = enb_properties->properties[enb_id]->prefix_type[CC_id];
|
||||
PHY_CONFIGURATION_REQ (msg_p).downlink_frequency[CC_id] = enb_properties->properties[enb_id]->downlink_frequency[CC_id];
|
||||
PHY_CONFIGURATION_REQ (msg_p).uplink_frequency_offset[CC_id] = enb_properties->properties[enb_id]->uplink_frequency_offset[CC_id];
|
||||
PHY_CONFIGURATION_REQ (msg_p).nb_antennas_tx[CC_id] = enb_properties->properties[enb_id]->nb_antennas_tx[CC_id];
|
||||
PHY_CONFIGURATION_REQ (msg_p).nb_antennas_rx[CC_id] = enb_properties->properties[enb_id]->nb_antennas_rx[CC_id];
|
||||
PHY_CONFIGURATION_REQ (msg_p).tx_gain[CC_id] = enb_properties->properties[enb_id]->tx_gain[CC_id];
|
||||
PHY_CONFIGURATION_REQ (msg_p).rx_gain[CC_id] = enb_properties->properties[enb_id]->rx_gain[CC_id];
|
||||
}
|
||||
|
||||
itti_send_msg_to_task (TASK_PHY_ENB, ENB_MODULE_ID_TO_INSTANCE(enb_id), msg_p);
|
||||
}
|
||||
*/
|
||||
|
||||
/*------------------------------------------------------------------------------*/
|
||||
static void configure_nr_rrc(uint32_t gnb_id)
|
||||
|
||||
@@ -61,6 +61,180 @@
|
||||
|
||||
extern uint16_t sf_ahead;
|
||||
|
||||
void RCconfig_NR_flexran()
|
||||
{
|
||||
uint16_t i;
|
||||
uint16_t num_gnbs;
|
||||
char aprefix[MAX_OPTNAME_SIZE*2 + 8];
|
||||
/* this will possibly truncate the cell id (RRC assumes int32_t).
|
||||
* Both Nid_cell and gnb_id are signed in RRC case, but we use unsigned for
|
||||
* the bitshifting to work properly */
|
||||
int32_t Nid_cell = 0;
|
||||
uint16_t Nid_cell_tr = 0;
|
||||
uint32_t gnb_id = 0;
|
||||
|
||||
/*
|
||||
* the only reason for all these variables is, that they are "hard-encoded"
|
||||
* into the CCPARAMS_DESC macro and we need it for the Nid_cell variable ...
|
||||
*/
|
||||
char *frame_type, DL_prefix_type, UL_prefix_type, SIB1_frequencyOffsetSSB,
|
||||
DL_SCS_SubcarrierSpacing, DL_BWP_SubcarrierSpacing, DL_BWP_prefix_type,
|
||||
UL_frequencyShift7p5khz, UL_SCS_SubcarrierSpacing, UL_BWP_SubcarrierSpacing,
|
||||
UL_BWP_prefix_type, ServingCellConfigCommon_ssb_PositionsInBurst_PR,
|
||||
NIA_SubcarrierSpacing, referenceSubcarrierSpacing, dl_UL_TransmissionPeriodicity,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice,
|
||||
rach_groupBconfigured, rach_messagePowerOffsetGroupB,
|
||||
prach_RootSequenceIndex_choice, prach_msg1_SubcarrierSpacing,
|
||||
restrictedSetConfig, msg3_transformPrecoding, prach_msg1_FDM,
|
||||
powerRampingStep, groupHoppingEnabledTransformPrecoding,
|
||||
PUSCH_TimeDomainResourceAllocation_mappingType, pucch_GroupHopping,
|
||||
PDSCH_TimeDomainResourceAllocation_mappingType, RateMatchPattern_patternType,
|
||||
symbolsInResourceBlock, RateMatchPattern_subcarrierSpacing, RateMatchPattern_mode,
|
||||
PDCCH_cce_REG_MappingType, PDCCH_precoderGranularity,
|
||||
tci_PresentInDCI, SearchSpace_monitoringSlotPeriodicityAndOffset_choice,
|
||||
SearchSpace_searchSpaceType, ue_Specific__dci_Formats,
|
||||
RateMatchPatternLTE_CRS_subframeAllocation_choice;
|
||||
|
||||
long long int downlink_frequency;
|
||||
|
||||
int32_t eutra_band, uplink_frequency_offset, N_RB_DL, nb_antenna_ports,
|
||||
MIB_subCarrierSpacingCommon, MIB_ssb_SubcarrierOffset, MIB_dmrs_TypeA_Position,
|
||||
pdcch_ConfigSIB1, SIB1_ssb_PeriodicityServingCell, SIB1_ss_PBCH_BlockPower,
|
||||
absoluteFrequencySSB, ssb_SubcarrierOffset, DL_FreqBandIndicatorNR,
|
||||
DL_absoluteFrequencyPointA, DL_offsetToCarrier, DL_SCS_SpecificCarrier_k0,
|
||||
DL_carrierBandwidth, DL_locationAndBandwidth, UL_FreqBandIndicatorNR,
|
||||
UL_absoluteFrequencyPointA, UL_additionalSpectrumEmission, UL_p_Max,
|
||||
UL_offsetToCarrier, UL_SCS_SpecificCarrier_k0, UL_carrierBandwidth,
|
||||
UL_locationAndBandwidth, ServingCellConfigCommon_ssb_periodicityServingCell,
|
||||
ServingCellConfigCommon_dmrs_TypeA_Position, ServingCellConfigCommon_ss_PBCH_BlockPower,
|
||||
nrofDownlinkSlots, nrofDownlinkSymbols, nrofUplinkSlots, nrofUplinkSymbols,
|
||||
rach_totalNumberOfRA_Preambles, rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneEighth,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneFourth,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneHalf,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_one,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_two,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_four,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_eight,
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen,
|
||||
rach_ra_Msg3SizeGroupA, rach_numberOfRA_PreamblesGroupA, rach_ra_ContentionResolutionTimer,
|
||||
rsrp_ThresholdSSB, rsrp_ThresholdSSB_SUL, prach_RootSequenceIndex_l839,
|
||||
prach_RootSequenceIndex_l139, prach_ConfigurationIndex, prach_msg1_FrequencyStart,
|
||||
zeroCorrelationZoneConfig, preambleReceivedTargetPower, preambleTransMax,
|
||||
ra_ResponseWindow, msg3_DeltaPreamble, p0_NominalWithGrant,
|
||||
PUSCH_TimeDomainResourceAllocation_k2, p0_nominal, PDSCH_TimeDomainResourceAllocation_k0,
|
||||
rateMatchPatternId, periodicityAndPattern, RateMatchPattern_controlResourceSet,
|
||||
searchSpaceSIB1, searchSpaceOtherSystemInformation, pagingSearchSpace,
|
||||
ra_SearchSpace, rach_ra_ControlResourceSet, PDCCH_common_controlResourceSetId,
|
||||
PDCCH_common_ControlResourceSet_duration, PDCCH_reg_BundleSize, PDCCH_interleaverSize,
|
||||
PDCCH_shiftIndex, PDCCH_TCI_StateId, SearchSpaceId, commonSearchSpaces_controlResourceSetId,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl1,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl2,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl4,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl5,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl8,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl10,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl16,
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl20,
|
||||
SearchSpace_nrofCandidates_aggregationLevel1,
|
||||
SearchSpace_nrofCandidates_aggregationLevel2,
|
||||
SearchSpace_nrofCandidates_aggregationLevel4,
|
||||
SearchSpace_nrofCandidates_aggregationLevel8,
|
||||
SearchSpace_nrofCandidates_aggregationLevel16,
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel1,
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel2,
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel4,
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel8,
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel16,
|
||||
Common_dci_Format2_3_monitoringPeriodicity,
|
||||
Common_dci_Format2_3_nrofPDCCH_Candidates,
|
||||
RateMatchPatternLTE_CRS_carrierFreqDL,
|
||||
RateMatchPatternLTE_CRS_carrierBandwidthDL,
|
||||
RateMatchPatternLTE_CRS_nrofCRS_Ports,
|
||||
RateMatchPatternLTE_CRS_v_Shift,
|
||||
RateMatchPatternLTE_CRS_radioframeAllocationPeriod,
|
||||
RateMatchPatternLTE_CRS_radioframeAllocationOffset
|
||||
;
|
||||
|
||||
/* get number of gNBs */
|
||||
paramdef_t GNBSParams[] = GNBSPARAMS_DESC;
|
||||
config_get(GNBSParams, sizeof(GNBSParams)/sizeof(paramdef_t), NULL);
|
||||
num_gnbs = GNBSParams[GNB_ACTIVE_GNBS_IDX].numelt;
|
||||
|
||||
/* for gNB ID */
|
||||
paramdef_t GNBParams[] = GNBPARAMS_DESC;
|
||||
paramlist_def_t GNBParamList = {GNB_CONFIG_STRING_GNB_LIST, NULL, 0};
|
||||
|
||||
/* for Nid_cell */
|
||||
checkedparam_t config_check_CCparams[] = NRCCPARAMS_CHECK;
|
||||
paramdef_t CCsParams[] = NRCCPARAMS_DESC;
|
||||
paramlist_def_t CCsParamList = {GNB_CONFIG_STRING_COMPONENT_CARRIERS, NULL, 0};
|
||||
/* map parameter checking array instances to parameter definition array instances */
|
||||
for (int I = 0; I < (sizeof(CCsParams) / sizeof(paramdef_t)); I++) {
|
||||
CCsParams[I].chkPptr = &(config_check_CCparams[I]);
|
||||
}
|
||||
|
||||
paramdef_t flexranParams[] = FLEXRANPARAMS_DESC;
|
||||
config_get(flexranParams, sizeof(flexranParams)/sizeof(paramdef_t), CONFIG_STRING_NETWORK_CONTROLLER_CONFIG);
|
||||
|
||||
if (!RC.flexran) {
|
||||
RC.flexran = calloc(num_gnbs, sizeof(flexran_agent_info_t*));
|
||||
AssertFatal(RC.flexran,
|
||||
"can't ALLOCATE %zu Bytes for %d flexran agent info with size %zu\n",
|
||||
num_gnbs * sizeof(flexran_agent_info_t*),
|
||||
num_gnbs, sizeof(flexran_agent_info_t*));
|
||||
}
|
||||
|
||||
for (i = 0; i < num_gnbs; i++) {
|
||||
RC.flexran[i] = calloc(1, sizeof(flexran_agent_info_t));
|
||||
AssertFatal(RC.flexran[i],
|
||||
"can't ALLOCATE %zu Bytes for flexran agent info (iteration %d/%d)\n",
|
||||
sizeof(flexran_agent_info_t), i + 1, num_gnbs);
|
||||
/* if config says "yes", enable Agent, in all other cases it's like "no" */
|
||||
RC.flexran[i]->enabled = strcasecmp(*(flexranParams[FLEXRAN_ENABLED].strptr), "yes") == 0;
|
||||
/* if not enabled, simply skip the rest, it is not needed anyway */
|
||||
if (!RC.flexran[i]->enabled)
|
||||
continue;
|
||||
RC.flexran[i]->interface_name = strdup(*(flexranParams[FLEXRAN_INTERFACE_NAME_IDX].strptr));
|
||||
//inet_ntop(AF_INET, &(enb_properties->properties[mod_id]->flexran_agent_ipv4_address), in_ip, INET_ADDRSTRLEN);
|
||||
RC.flexran[i]->remote_ipv4_addr = strdup(*(flexranParams[FLEXRAN_IPV4_ADDRESS_IDX].strptr));
|
||||
RC.flexran[i]->remote_port = *(flexranParams[FLEXRAN_PORT_IDX].uptr);
|
||||
RC.flexran[i]->cache_name = strdup(*(flexranParams[FLEXRAN_CACHE_IDX].strptr));
|
||||
RC.flexran[i]->node_ctrl_state = strcasecmp(*(flexranParams[FLEXRAN_AWAIT_RECONF_IDX].strptr), "yes") == 0 ? ENB_WAIT : ENB_NORMAL_OPERATION;
|
||||
|
||||
config_getlist(&GNBParamList, GNBParams, sizeof(GNBParams)/sizeof(paramdef_t),NULL);
|
||||
/* gNB ID from configuration, as read in by RCconfig_RRC() */
|
||||
if (!GNBParamList.paramarray[i][GNB_GNB_ID_IDX].uptr) {
|
||||
// Calculate a default gNB ID
|
||||
# if defined(ENABLE_USE_MME)
|
||||
gnb_id = i + (s1ap_generate_eNB_id () & 0xFFFF8);
|
||||
# else
|
||||
gnb_id = i;
|
||||
# endif
|
||||
} else {
|
||||
gnb_id = *(GNBParamList.paramarray[i][GNB_GNB_ID_IDX].uptr);
|
||||
}
|
||||
|
||||
/* cell ID */
|
||||
sprintf(aprefix, "%s.[%i]", GNB_CONFIG_STRING_GNB_LIST, i);
|
||||
config_getlist(&CCsParamList, NULL, 0, aprefix);
|
||||
if (CCsParamList.numelt > 0) {
|
||||
sprintf(aprefix, "%s.[%i].%s.[%i]", GNB_CONFIG_STRING_GNB_LIST, i, GNB_CONFIG_STRING_COMPONENT_CARRIERS, 0);
|
||||
config_get(CCsParams, sizeof(CCsParams)/sizeof(paramdef_t), aprefix);
|
||||
Nid_cell_tr = (uint16_t) Nid_cell;
|
||||
}
|
||||
|
||||
RC.flexran[i]->mod_id = i;
|
||||
RC.flexran[i]->agent_id = (((uint64_t)i) << 48) | (((uint64_t)gnb_id) << 16) | ((uint64_t)Nid_cell_tr);
|
||||
|
||||
/* assume for the moment the monolithic case, i.e. agent can provide
|
||||
* information for all layers */
|
||||
RC.flexran[i]->capability_mask = FLEXRAN_CAP_LOPHY | FLEXRAN_CAP_HIPHY
|
||||
| FLEXRAN_CAP_LOMAC | FLEXRAN_CAP_HIMAC
|
||||
| FLEXRAN_CAP_RLC | FLEXRAN_CAP_PDCP
|
||||
| FLEXRAN_CAP_SDAP | FLEXRAN_CAP_RRC;
|
||||
}
|
||||
}
|
||||
|
||||
void RCconfig_NR_L1(void) {
|
||||
int i,j;
|
||||
paramdef_t L1_Params[] = L1PARAMS_DESC;
|
||||
|
||||
@@ -92,7 +92,7 @@ typedef struct ru_config_s {
|
||||
} ru_config_t;
|
||||
*/
|
||||
extern void RCconfig_RU(void);
|
||||
extern void RCconfig_flexran(void);
|
||||
extern void RCconfig_NR_flexran(void);
|
||||
extern void RCconfig_NR_L1(void);
|
||||
extern void RCconfig_nr_macrlc(void);
|
||||
extern int RCconfig_gtpu(void );
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
*/
|
||||
|
||||
#include "common/config/config_paramdesc.h"
|
||||
#include "NR_RRC_paramsvalues.h"
|
||||
#include "RRC_nr_paramsvalues.h"
|
||||
|
||||
|
||||
#define GNB_CONFIG_STRING_CC_NODE_FUNCTION "node_function"
|
||||
@@ -666,7 +666,7 @@ typedef enum {
|
||||
{GNB_CONFIG_STRING_RACH_RA_CONTROLRESOURCESET, NULL, 0, iptr:&rach_ra_ControlResourceSet, defintval:10, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_PDCCH_COMMON_CONTROLRESOURCESETID, NULL, 0, iptr:&PDCCH_common_controlResourceSetId, defintval:5, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_PDCCH_COMMON_CONTROLRESOURCESET_DURATION, NULL, 0, iptr:&PDCCH_common_ControlResourceSet_duration, defintval:2, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_PDCCH_CCE_REG_MAPPINGTYPE, NULL, 0, strptr:&PDCCH_cce_REG_MappingType, defstrval:"interleaved", TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_PDCCH_CCE_REG_MAPPINGTYPE, NULL, 0, strptr:&PDCCH_cce_REG_MappingType, defstrval:"nonInterleaved", TYPE_STRING, 0}, \
|
||||
{GNB_CONFIG_STRING_PDCCH_REG_BUNDLESIZE, NULL, 0, iptr:&PDCCH_reg_BundleSize, defintval:3, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_PDCCH_INTERLEAVERSIZE, NULL, 0, iptr:&PDCCH_interleaverSize, defintval:3, TYPE_UINT, 0}, \
|
||||
{GNB_CONFIG_STRING_PDCCH_SHIFTINDEX, NULL, 0, iptr:&PDCCH_shiftIndex, defintval:10, TYPE_UINT, 0}, \
|
||||
|
||||
@@ -162,13 +162,13 @@ void config_common(int Mod_idP,
|
||||
//cfg->subframe_config.tl.tag =
|
||||
//cfg->num_tlv++;
|
||||
|
||||
cfg->dl_frequencyinfo.DL_carrierBandwidth.value = dl_BandwidthP;
|
||||
cfg->dl_frequencyinfo.DL_carrierBandwidth.tl.tag = NFAPI_RF_CONFIG_DL_CHANNEL_BANDWIDTH_TAG; //temporary
|
||||
cfg->rf_config.dl_carrierBandwidth.value = dl_BandwidthP;
|
||||
cfg->rf_config.dl_carrierBandwidth.tl.tag = NFAPI_RF_CONFIG_DL_CHANNEL_BANDWIDTH_TAG; //temporary
|
||||
cfg->num_tlv++;
|
||||
LOG_E(PHY,"%s() dl_BandwidthP:%d\n", __FUNCTION__, dl_BandwidthP);
|
||||
|
||||
cfg->ul_frequencyinfo.UL_carrierBandwidth.value = dl_BandwidthP;
|
||||
cfg->ul_frequencyinfo.UL_carrierBandwidth.tl.tag = NFAPI_RF_CONFIG_UL_CHANNEL_BANDWIDTH_TAG; //temporary
|
||||
cfg->rf_config.ul_carrierBandwidth.value = dl_BandwidthP;
|
||||
cfg->rf_config.ul_carrierBandwidth.tl.tag = NFAPI_RF_CONFIG_UL_CHANNEL_BANDWIDTH_TAG; //temporary
|
||||
cfg->num_tlv++;
|
||||
|
||||
//cfg->sch_config.half_frame_index.value = 0; Fix in PHY
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
Active_eNBs = ( "gNB-Eurecom-LTEBox");
|
||||
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||
# Asn1_verbosity, choice in: none, info, annoying
|
||||
Asn1_verbosity = "none";
|
||||
|
||||
eNBs =
|
||||
gNBs =
|
||||
(
|
||||
{
|
||||
////////// Identification parameters:
|
||||
eNB_ID = 0xe00;
|
||||
gNB_ID = 0xe00;
|
||||
|
||||
cell_type = "CELL_MACRO_ENB";
|
||||
|
||||
eNB_name = "gNB-Eurecom-LTEBox";
|
||||
gNB_name = "gNB-Eurecom-5GNRBox";
|
||||
|
||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||
tracking_area_code = "1";
|
||||
@@ -25,86 +25,156 @@ eNBs =
|
||||
|
||||
component_carriers = (
|
||||
{
|
||||
node_function = "3GPP_gNODEB";
|
||||
node_timing = "synch_to_ext_device";
|
||||
node_synch_ref = 0;
|
||||
frame_type = "FDD";
|
||||
tdd_config = 3;
|
||||
tdd_config_s = 0;
|
||||
prefix_type = "NORMAL";
|
||||
eutra_band = 22;
|
||||
downlink_frequency = 3510000000L;
|
||||
uplink_frequency_offset = -120000000;
|
||||
Nid_cell = 0;
|
||||
N_RB_DL = 100;
|
||||
Nid_cell_mbsfn = 0;
|
||||
nb_antenna_ports = 1;
|
||||
nb_antennas_tx = 1;
|
||||
nb_antennas_rx = 1;
|
||||
tx_gain = 90;
|
||||
rx_gain = 125;
|
||||
pbch_repetition = "FALSE";
|
||||
prach_root = 0;
|
||||
prach_config_index = 0;
|
||||
prach_high_speed = "DISABLE";
|
||||
prach_zero_correlation = 1;
|
||||
prach_freq_offset = 2;
|
||||
pucch_delta_shift = 1;
|
||||
pucch_nRB_CQI = 0;
|
||||
pucch_nCS_AN = 0;
|
||||
pucch_n1_AN = 32;
|
||||
pdsch_referenceSignalPower = -27;
|
||||
pdsch_p_b = 0;
|
||||
pusch_n_SB = 1;
|
||||
pusch_enable64QAM = "DISABLE";
|
||||
pusch_hoppingMode = "interSubFrame";
|
||||
pusch_hoppingOffset = 0;
|
||||
pusch_groupHoppingEnabled = "ENABLE";
|
||||
pusch_groupAssignment = 0;
|
||||
pusch_sequenceHoppingEnabled = "DISABLE";
|
||||
pusch_nDMRS1 = 1;
|
||||
phich_duration = "NORMAL";
|
||||
phich_resource = "ONESIXTH";
|
||||
srs_enable = "DISABLE";
|
||||
/* srs_BandwidthConfig =;
|
||||
srs_SubframeConfig =;
|
||||
srs_ackNackST =;
|
||||
srs_MaxUpPts =;*/
|
||||
|
||||
pusch_p0_Nominal = -96;
|
||||
pusch_alpha = "AL1";
|
||||
pucch_p0_Nominal = -104;
|
||||
msg3_delta_Preamble = 6;
|
||||
pucch_deltaF_Format1 = "deltaF2";
|
||||
pucch_deltaF_Format1b = "deltaF3";
|
||||
pucch_deltaF_Format2 = "deltaF0";
|
||||
pucch_deltaF_Format2a = "deltaF0";
|
||||
pucch_deltaF_Format2b = "deltaF0";
|
||||
|
||||
rach_numberOfRA_Preambles = 64;
|
||||
rach_preamblesGroupAConfig = "DISABLE";
|
||||
/*
|
||||
rach_sizeOfRA_PreamblesGroupA = ;
|
||||
rach_messageSizeGroupA = ;
|
||||
rach_messagePowerOffsetGroupB = ;
|
||||
*/
|
||||
rach_powerRampingStep = 4;
|
||||
rach_preambleInitialReceivedTargetPower = -108;
|
||||
rach_preambleTransMax = 10;
|
||||
rach_raResponseWindowSize = 10;
|
||||
rach_macContentionResolutionTimer = 48;
|
||||
rach_maxHARQ_Msg3Tx = 4;
|
||||
|
||||
pcch_default_PagingCycle = 128;
|
||||
pcch_nB = "oneT";
|
||||
bcch_modificationPeriodCoeff = 2;
|
||||
ue_TimersAndConstants_t300 = 1000;
|
||||
ue_TimersAndConstants_t301 = 1000;
|
||||
ue_TimersAndConstants_t310 = 1000;
|
||||
ue_TimersAndConstants_t311 = 10000;
|
||||
ue_TimersAndConstants_n310 = 20;
|
||||
ue_TimersAndConstants_n311 = 1;
|
||||
ue_TransmissionMode = 1;
|
||||
node_function = "3GPP_gNODEB";
|
||||
node_timing = "synch_to_ext_device";
|
||||
node_synch_ref = 0;
|
||||
frame_type = "FDD";
|
||||
DL_prefix_type = "NORMAL";
|
||||
UL_prefix_type = "NORMAL";
|
||||
eutra_band = 22;
|
||||
downlink_frequency = 3510000000L;
|
||||
uplink_frequency_offset = -120000000;
|
||||
Nid_cell = 0;
|
||||
N_RB_DL = 100;
|
||||
nb_antenna_ports = 1;
|
||||
nb_antennas_tx = 1;
|
||||
nb_antennas_rx = 1;
|
||||
tx_gain = 90;
|
||||
rx_gain = 125;
|
||||
MIB_subCarrierSpacingCommon = 0;
|
||||
MIB_ssb_SubcarrierOffset = 0;
|
||||
MIB_dmrs_TypeA_Position = 2;
|
||||
pdcch_ConfigSIB1 = 0;
|
||||
SIB1_frequencyOffsetSSB = "khz5";
|
||||
SIB1_ssb_PeriodicityServingCell = 5;
|
||||
SIB1_ss_PBCH_BlockPower = -60;
|
||||
absoluteFrequencySSB = 0;
|
||||
ssb_SubcarrierOffset = 15;
|
||||
DL_FreqBandIndicatorNR = 15;
|
||||
DL_absoluteFrequencyPointA = 15;
|
||||
DL_offsetToCarrier = 15;
|
||||
DL_SCS_SubcarrierSpacing = "kHz15";
|
||||
DL_SCS_SpecificCarrier_k0 = 0;
|
||||
DL_carrierBandwidth = 15;
|
||||
DL_locationAndBandwidth = 15;
|
||||
DL_BWP_SubcarrierSpacing = "kHz15";
|
||||
DL_BWP_prefix_type = "NORMAL";
|
||||
UL_FreqBandIndicatorNR = 15;
|
||||
UL_absoluteFrequencyPointA = 13;
|
||||
UL_additionalSpectrumEmission = 3;
|
||||
UL_p_Max = -1;
|
||||
UL_frequencyShift7p5khz = "TRUE";
|
||||
UL_offsetToCarrier = 10;
|
||||
UL_SCS_SubcarrierSpacing = "kHz15";
|
||||
UL_SCS_SpecificCarrier_k0 = 0;
|
||||
UL_carrierBandwidth = 15;
|
||||
UL_locationAndBandwidth = 15;
|
||||
UL_BWP_SubcarrierSpacing = "kHz15";
|
||||
UL_BWP_prefix_type = "NORMAL";
|
||||
ServingCellConfigCommon__ssb_PositionsInBurst_PR = "shortBitmap";
|
||||
ServingCellConfigCommon_ssb_periodicityServingCell = 10;
|
||||
ServingCellConfigCommon_dmrs_TypeA_Position = 0;
|
||||
NIA_SubcarrierSpacing = "kHz15";
|
||||
ServingCellConfigCommon_ss_PBCH_BlockPower = -60;
|
||||
referenceSubcarrierSpacing = "kHz15";
|
||||
dl_UL_TransmissionPeriodicity = "ms0p5";
|
||||
nrofDownlinkSlots = 10;
|
||||
nrofDownlinkSymbols = 10;
|
||||
nrofUplinkSlots = 10;
|
||||
nrofUplinkSymbols = 10;
|
||||
rach_totalNumberOfRA_Preambles = 63;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice = "oneEighth";
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneEighth = 4;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneFourth = 8;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneHalf = 16;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_one = 24;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_two = 32;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_four = 8;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_eight = 4;
|
||||
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen = 2;
|
||||
rach_groupBconfigured = "ENABLE";
|
||||
rach_ra_Msg3SizeGroupA = 56;
|
||||
rach_messagePowerOffsetGroupB = "dB0";
|
||||
rach_numberOfRA_PreamblesGroupA = 32;
|
||||
rach_ra_ContentionResolutionTimer = 8;
|
||||
rsrp_ThresholdSSB = 64;
|
||||
rsrp_ThresholdSSB_SUL = 64;
|
||||
prach_RootSequenceIndex_choice = "l839";
|
||||
prach_RootSequenceIndex_l839 = 0;
|
||||
prach_RootSequenceIndex_l139 = 0;
|
||||
prach_msg1_SubcarrierSpacing = "kHz15";
|
||||
restrictedSetConfig = "unrestrictedSet";
|
||||
msg3_transformPrecoding = "ENABLE";
|
||||
prach_ConfigurationIndex = 10;
|
||||
prach_msg1_FDM = "one";
|
||||
prach_msg1_FrequencyStart = 10;
|
||||
zeroCorrelationZoneConfig = 10;
|
||||
preambleReceivedTargetPower = -150;
|
||||
preambleTransMax = 6;
|
||||
powerRampingStep = "dB0";
|
||||
ra_ResponseWindow = 8;
|
||||
groupHoppingEnabledTransformPrecoding = "ENABLE";
|
||||
msg3_DeltaPreamble = 0;
|
||||
p0_NominalWithGrant = 0;
|
||||
PUSCH_TimeDomainResourceAllocation_k2 = 0;
|
||||
PUSCH_TimeDomainResourceAllocation_mappingType = "typeA";
|
||||
pucch_GroupHopping = "neither";
|
||||
p0_nominal = -30;
|
||||
PDSCH_TimeDomainResourceAllocation_k0 = 2;
|
||||
PDSCH_TimeDomainResourceAllocation_mappingType = "typeA";
|
||||
rateMatchPatternId = 0;
|
||||
RateMatchPattern_patternType = "bitmaps";
|
||||
symbolsInResourceBlock = "oneSlot";
|
||||
periodicityAndPattern = 2;
|
||||
RateMatchPattern_controlResourceSet = 5;
|
||||
RateMatchPattern_subcarrierSpacing = "kHz15";
|
||||
RateMatchPattern_mode = "dynamic";
|
||||
searchSpaceSIB1 = 10;
|
||||
searchSpaceOtherSystemInformation = 10;
|
||||
pagingSearchSpace = 10;
|
||||
ra_SearchSpace = 10;
|
||||
rach_ra_ControlResourceSet = 10;
|
||||
PDCCH_common_controlResourceSetId = 5;
|
||||
PDCCH_common_ControlResourceSet_duration = 2;
|
||||
PDCCH_cce_REG_MappingType = "nonInterleaved";
|
||||
PDCCH_reg_BundleSize = 3;
|
||||
PDCCH_interleaverSize = 3;
|
||||
PDCCH_shiftIndex = 10;
|
||||
PDCCH_precoderGranularity = "sameAsREG-bundle";
|
||||
PDCCH_TCI_StateId = 32;
|
||||
tci_PresentInDCI = "ENABLE";
|
||||
SearchSpaceId = 10;
|
||||
commonSearchSpaces_controlResourceSetId = 5;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_choice = "sl1";
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl1 = 0;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl2 = 0;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl4 = 0;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl5 = 0;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl8 = 0;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl10 = 0;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl16 = 0;
|
||||
SearchSpace_monitoringSlotPeriodicityAndOffset_sl20 = 0;
|
||||
SearchSpace_nrofCandidates_aggregationLevel1 = 0;
|
||||
SearchSpace_nrofCandidates_aggregationLevel2 = 0;
|
||||
SearchSpace_nrofCandidates_aggregationLevel4 = 0;
|
||||
SearchSpace_nrofCandidates_aggregationLevel8 = 0;
|
||||
SearchSpace_nrofCandidates_aggregationLevel16 = 0;
|
||||
SearchSpace_searchSpaceType = "common";
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel1 = 1;
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel2 = 1;
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel4 = 1;
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel8 = 1;
|
||||
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel16 = 1;
|
||||
Common_dci_Format2_3_monitoringPeriodicity = 1;
|
||||
Common_dci_Format2_3_nrofPDCCH_Candidates = 1;
|
||||
ue_Specific__dci_Formats = "formats0-0-And-1-0";
|
||||
RateMatchPatternLTE_CRS_carrierFreqDL = 6;
|
||||
RateMatchPatternLTE_CRS_carrierBandwidthDL = 6;
|
||||
RateMatchPatternLTE_CRS_nrofCRS_Ports = 1;
|
||||
RateMatchPatternLTE_CRS_v_Shift = 0;
|
||||
RateMatchPatternLTE_CRS_radioframeAllocationPeriod = 1;
|
||||
RateMatchPatternLTE_CRS_radioframeAllocationOffset = 0;
|
||||
RateMatchPatternLTE_CRS_subframeAllocation_choice = "oneFrame";
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
@@ -1061,7 +1061,7 @@ int main( int argc, char **argv )
|
||||
#endif
|
||||
|
||||
/* Start the agent. If it is turned off in the configuration, it won't start */
|
||||
RCconfig_flexran();
|
||||
RCconfig_NR_flexran();
|
||||
for (i = 0; i < RC.nb_L1_inst; i++) {
|
||||
flexran_agent_start(i);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user