Moved PRACH PDU struct to NR_UE_PRACH in PHY_VARS_NR_UE:
- now the FAPI interface copies the struct directly to NR_UE_PRACH - NR_PRACH_CONFIG_COMMON and NR_PRACH_CONFIG_INFO have been removed from FP
This commit is contained in:
@@ -156,17 +156,28 @@ typedef struct {
|
|||||||
fapi_nr_tx_request_body_t *tx_request_body;
|
fapi_nr_tx_request_body_t *tx_request_body;
|
||||||
} fapi_nr_tx_request_t;
|
} fapi_nr_tx_request_t;
|
||||||
|
|
||||||
|
/// This struct replaces:
|
||||||
|
/// PRACH-ConfigInfo from 38.331 RRC spec
|
||||||
|
/// PRACH-ConfigSIB or PRACH-Config
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
/// PHY cell ID
|
||||||
uint16_t phys_cell_id;
|
uint16_t phys_cell_id;
|
||||||
|
/// Num PRACH occasions
|
||||||
uint8_t num_prach_ocas;
|
uint8_t num_prach_ocas;
|
||||||
|
/// PRACH format
|
||||||
uint8_t prach_format;
|
uint8_t prach_format;
|
||||||
|
/// Num RA
|
||||||
uint8_t num_ra;
|
uint8_t num_ra;
|
||||||
uint8_t prach_start_symbol;
|
uint8_t prach_start_symbol;
|
||||||
|
/// 38.211 (NCS 38.211 6.3.3.1).
|
||||||
uint16_t num_cs;
|
uint16_t num_cs;
|
||||||
|
/// Parameter: prach-rootSequenceIndex, see TS 38.211 (6.3.3.2).
|
||||||
uint16_t root_seq_id;
|
uint16_t root_seq_id;
|
||||||
uint8_t restricted_set;
|
/// Parameter: High-speed-flag, see TS 38.211 (6.3.3.1). 1 corresponds to Restricted set and 0 to Unrestricted set.
|
||||||
|
uint8_t restricted_set;
|
||||||
|
/// see TS 38.211 (6.3.3.2).
|
||||||
uint16_t freq_msg1;
|
uint16_t freq_msg1;
|
||||||
//nfapi_nr_ul_beamforming_t beamforming;
|
// nfapi_nr_ul_beamforming_t beamforming;
|
||||||
} fapi_nr_ul_config_prach_pdu;
|
} fapi_nr_ul_config_prach_pdu;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
@@ -77,19 +77,19 @@ void phy_config_sib2_ue(uint8_t Mod_id,int CC_id,
|
|||||||
|
|
||||||
LOG_I(PHY,"[UE%d] Applying radioResourceConfigCommon from eNB%d\n",Mod_id,eNB_id);
|
LOG_I(PHY,"[UE%d] Applying radioResourceConfigCommon from eNB%d\n",Mod_id,eNB_id);
|
||||||
|
|
||||||
fp->prach_config_common.rootSequenceIndex =radioResourceConfigCommon->prach_Config.rootSequenceIndex;
|
ue->prach_vars[eNB_id]->prach_pdu.root_seq_id =radioResourceConfigCommon->prach_Config.rootSequenceIndex;
|
||||||
|
|
||||||
fp->prach_config_common.prach_Config_enabled=1;
|
ue->prach_vars[eNB_id]->prach_Config_enabled=1;
|
||||||
fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_ConfigIndex;
|
//ue->prach_vars[eNB_id]->prach_pdu.prach_ConfigIndex =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_ConfigIndex;
|
||||||
fp->prach_config_common.prach_ConfigInfo.highSpeedFlag =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.highSpeedFlag;
|
ue->prach_vars[eNB_id]->prach_pdu.restricted_set =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.highSpeedFlag;
|
||||||
fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig;
|
ue->prach_vars[eNB_id]->prach_pdu.num_cs =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.zeroCorrelationZoneConfig;
|
||||||
fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_FreqOffset;
|
//ue->prach_vars[eNB_id]->prach_pdu.prach_FreqOffset =radioResourceConfigCommon->prach_Config.prach_ConfigInfo.prach_FreqOffset;
|
||||||
|
|
||||||
compute_prach_seq(fp->prach_config_common.rootSequenceIndex,
|
//compute_prach_seq(fp->prach_config_common.rootSequenceIndex,
|
||||||
fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex,
|
// fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex,
|
||||||
fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig,
|
// fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig,
|
||||||
fp->prach_config_common.prach_ConfigInfo.highSpeedFlag,
|
// fp->prach_config_common.prach_ConfigInfo.highSpeedFlag,
|
||||||
fp->frame_type,ue->X_u);
|
// fp->frame_type,ue->X_u);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -226,12 +226,12 @@ void phy_config_sib13_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,int mbsfn_Area_
|
|||||||
LOG_I(PHY,"[UE%d] Handover triggered: Applying radioResourceConfigCommon from eNB %d\n",
|
LOG_I(PHY,"[UE%d] Handover triggered: Applying radioResourceConfigCommon from eNB %d\n",
|
||||||
Mod_id,eNB_id);
|
Mod_id,eNB_id);
|
||||||
|
|
||||||
fp->prach_config_common.rootSequenceIndex =radioResourceConfigCommon->prach_Config.rootSequenceIndex;
|
ue->prach_vars[eNB_id]->prach_pdu.root_seq_id =radioResourceConfigCommon->prach_Config.rootSequenceIndex;
|
||||||
fp->prach_config_common.prach_Config_enabled=1;
|
ue->prach_vars[eNB_id]->prach_Config_enabled=1;
|
||||||
fp->prach_config_common.prach_ConfigInfo.prach_ConfigIndex =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_ConfigIndex;
|
//ue->prach_vars[eNB_id]->prach_pdu.prach_ConfigIndex =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_ConfigIndex;
|
||||||
fp->prach_config_common.prach_ConfigInfo.highSpeedFlag =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->highSpeedFlag;
|
ue->prach_vars[eNB_id]->prach_pdu.restricted_set =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->highSpeedFlag;
|
||||||
fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->zeroCorrelationZoneConfig;
|
ue->prach_vars[eNB_id]->prach_pdu.num_cs =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->zeroCorrelationZoneConfig;
|
||||||
fp->prach_config_common.prach_ConfigInfo.prach_FreqOffset =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_FreqOffset;
|
//ue->prach_vars[eNB_id]->prach_pdu.prach_FreqOffset =radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_FreqOffset;
|
||||||
|
|
||||||
// prach_fmt = get_prach_fmt(radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_ConfigIndex,fp->frame_type);
|
// prach_fmt = get_prach_fmt(radioResourceConfigCommon->prach_Config.prach_ConfigInfo->prach_ConfigIndex,fp->frame_type);
|
||||||
// N_ZC = (prach_fmt <4)?839:139;
|
// N_ZC = (prach_fmt <4)?839:139;
|
||||||
@@ -239,12 +239,12 @@ void phy_config_sib13_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id,int mbsfn_Area_
|
|||||||
// prach_root_sequence_map4[fp->prach_config_common.rootSequenceIndex];
|
// prach_root_sequence_map4[fp->prach_config_common.rootSequenceIndex];
|
||||||
|
|
||||||
//compute_prach_seq(u,N_ZC, PHY_vars_UE_g[Mod_id]->X_u);
|
//compute_prach_seq(u,N_ZC, PHY_vars_UE_g[Mod_id]->X_u);
|
||||||
compute_prach_seq(PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.rootSequenceIndex,
|
//compute_prach_seq(PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.rootSequenceIndex,
|
||||||
PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex,
|
// PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.prach_ConfigIndex,
|
||||||
PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig,
|
// PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig,
|
||||||
PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.highSpeedFlag,
|
// PHY_vars_UE_g[Mod_id][CC_id]->frame_parms.prach_config_common.prach_ConfigInfo.highSpeedFlag,
|
||||||
fp->frame_type,
|
// fp->frame_type,
|
||||||
PHY_vars_UE_g[Mod_id][CC_id]->X_u);
|
// PHY_vars_UE_g[Mod_id][CC_id]->X_u);
|
||||||
|
|
||||||
|
|
||||||
fp->pucch_config_common.deltaPUCCH_Shift = 1+radioResourceConfigCommon->pucch_ConfigCommon->deltaPUCCH_Shift;
|
fp->pucch_config_common.deltaPUCCH_Shift = 1+radioResourceConfigCommon->pucch_ConfigCommon->deltaPUCCH_Shift;
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
void dump_nr_prach_config(NR_DL_FRAME_PARMS *frame_parms,uint8_t subframe) {
|
/*void dump_nr_prach_config(NR_DL_FRAME_PARMS *frame_parms,uint8_t subframe) {
|
||||||
|
|
||||||
FILE *fd;
|
FILE *fd;
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ void dump_nr_prach_config(NR_DL_FRAME_PARMS *frame_parms,uint8_t subframe) {
|
|||||||
fprintf(fd,"prach_config: n_ra_prboffset = %d\n",frame_parms->prach_config_common.prach_ConfigInfo.msg1_frequencystart);
|
fprintf(fd,"prach_config: n_ra_prboffset = %d\n",frame_parms->prach_config_common.prach_ConfigInfo.msg1_frequencystart);
|
||||||
fclose(fd);
|
fclose(fd);
|
||||||
|
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// This function computes the du
|
// This function computes the du
|
||||||
void nr_fill_du(uint16_t N_ZC,uint16_t *prach_root_sequence_map)
|
void nr_fill_du(uint16_t N_ZC,uint16_t *prach_root_sequence_map)
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint8_t slot){
|
|||||||
NR_DL_FRAME_PARMS *fp=&ue->frame_parms;
|
NR_DL_FRAME_PARMS *fp=&ue->frame_parms;
|
||||||
fapi_nr_config_request_t *nrUE_config = &ue->nrUE_config;
|
fapi_nr_config_request_t *nrUE_config = &ue->nrUE_config;
|
||||||
NR_PRACH_RESOURCES_t *prach_resources = ue->prach_resources[gNB_id];
|
NR_PRACH_RESOURCES_t *prach_resources = ue->prach_resources[gNB_id];
|
||||||
|
fapi_nr_ul_config_prach_pdu *prach_pdu = &ue->prach_vars[gNB_id]->prach_pdu;
|
||||||
|
|
||||||
uint8_t Mod_id, fd_occasion, preamble_index, restricted_set, not_found;
|
uint8_t Mod_id, fd_occasion, preamble_index, restricted_set, not_found;
|
||||||
uint16_t rootSequenceIndex, prach_fmt_id, NCS, *prach_root_sequence_map, preamble_offset;
|
uint16_t rootSequenceIndex, prach_fmt_id, NCS, *prach_root_sequence_map, preamble_offset;
|
||||||
@@ -89,11 +90,11 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint8_t slot){
|
|||||||
prach_sequence_length = nrUE_config->prach_config.prach_sequence_length;
|
prach_sequence_length = nrUE_config->prach_config.prach_sequence_length;
|
||||||
N_ZC = (prach_sequence_length == 0) ? 839:139;
|
N_ZC = (prach_sequence_length == 0) ? 839:139;
|
||||||
mu = nrUE_config->prach_config.prach_sub_c_spacing;
|
mu = nrUE_config->prach_config.prach_sub_c_spacing;
|
||||||
restricted_set = fp->prach_config_common.prach_ConfigInfo.highSpeedFlag;
|
restricted_set = prach_pdu->restricted_set;
|
||||||
rootSequenceIndex = fp->prach_config_common.rootSequenceIndex;
|
rootSequenceIndex = prach_pdu->root_seq_id;
|
||||||
n_ra_prb = fp->prach_config_common.prach_ConfigInfo.msg1_frequencystart;
|
n_ra_prb = prach_pdu->freq_msg1;
|
||||||
NCS = fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig;
|
NCS = prach_pdu->num_cs;
|
||||||
prach_fmt_id = prach_resources->prach_format;
|
prach_fmt_id = prach_pdu->prach_format;
|
||||||
preamble_index = 0; //prach_resources->ra_PreambleIndex // temporary hardcoded
|
preamble_index = 0; //prach_resources->ra_PreambleIndex // temporary hardcoded
|
||||||
fd_occasion = 0;
|
fd_occasion = 0;
|
||||||
prach_len = 0;
|
prach_len = 0;
|
||||||
@@ -135,28 +136,6 @@ int32_t generate_nr_prach(PHY_VARS_NR_UE *ue, uint8_t gNB_id, uint8_t slot){
|
|||||||
* NOTE: Restricted set type B is not implemented
|
* NOTE: Restricted set type B is not implemented
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
// restricted type is hardcoded ('0' for restricted_TypeA; and '1' for restricted_TypeB). FIXME
|
|
||||||
// uint8_t Ncs_config = fp->prach_config_common.prach_ConfigInfo.zeroCorrelationZoneConfig;
|
|
||||||
// if (prach_fmt_id<3){
|
|
||||||
// if (restricted_set == 0) {
|
|
||||||
// NCS = NCS_unrestricted_delta_f_RA_125[Ncs_config];
|
|
||||||
// } else {
|
|
||||||
// if (restricted_Type == 0) NCS = NCS_restricted_TypeA_delta_f_RA_125[Ncs_config]; // for TypeA, this is hardcoded. FIXME
|
|
||||||
// if (restricted_Type == 1) NCS = NCS_restricted_TypeB_delta_f_RA_125[Ncs_config]; // for TypeB, this is hardcoded. FIXME
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (prach_fmt_id==3){
|
|
||||||
// if (restricted_set == 0) {
|
|
||||||
// NCS = NCS_unrestricted_delta_f_RA_5[Ncs_config];
|
|
||||||
// } else {
|
|
||||||
// if (restricted_Type == 0) NCS = NCS_restricted_TypeA_delta_f_RA_5[Ncs_config]; // for TypeA, this is hardcoded. FIXME
|
|
||||||
// if (restricted_Type == 1) NCS = NCS_restricted_TypeB_delta_f_RA_5[Ncs_config]; // for TypeB, this is hardcoded. FIXME
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// if (prach_fmt_id>3){
|
|
||||||
// NCS = NCS_unrestricted_delta_f_RA_15[Ncs_config];
|
|
||||||
// }
|
|
||||||
|
|
||||||
prach_root_sequence_map = (prach_sequence_length == 0) ? prach_root_sequence_map_0_3 : prach_root_sequence_map_abc;
|
prach_root_sequence_map = (prach_sequence_length == 0) ? prach_root_sequence_map_0_3 : prach_root_sequence_map_abc;
|
||||||
|
|
||||||
// This is the relative offset (for unrestricted case) in the root sequence table (5.7.2-4 from 36.211) for the given preamble index
|
// This is the relative offset (for unrestricted case) in the root sequence table (5.7.2-4 from 36.211) for the given preamble index
|
||||||
|
|||||||
@@ -782,6 +782,8 @@ typedef struct {
|
|||||||
int16_t amp;
|
int16_t amp;
|
||||||
int16_t *prachF;
|
int16_t *prachF;
|
||||||
int16_t *prach;
|
int16_t *prach;
|
||||||
|
fapi_nr_ul_config_prach_pdu prach_pdu;
|
||||||
|
uint8_t prach_Config_enabled;
|
||||||
} NR_UE_PRACH;
|
} NR_UE_PRACH;
|
||||||
|
|
||||||
// structure used for multiple SSB detection
|
// structure used for multiple SSB detection
|
||||||
|
|||||||
@@ -198,31 +198,6 @@ typedef struct {
|
|||||||
nr_reg_t reg_list[NR_NB_REG_PER_CCE];
|
nr_reg_t reg_list[NR_NB_REG_PER_CCE];
|
||||||
} nr_cce_t;
|
} nr_cce_t;
|
||||||
|
|
||||||
|
|
||||||
/// PRACH-ConfigInfo from 38.331 RRC spec
|
|
||||||
typedef struct {
|
|
||||||
/// Parameter: prach-ConfigurationIndex, see TS 38.211 (6.3.3.2).
|
|
||||||
uint8_t prach_ConfigIndex;
|
|
||||||
/// Parameter: High-speed-flag, see TS 38.211 (6.3.3.1). 1 corresponds to Restricted set and 0 to Unrestricted set.
|
|
||||||
uint8_t highSpeedFlag;
|
|
||||||
/// Restricted Set Config (type A=0 , type B=1) TS 38.211 (6.3.3.1)
|
|
||||||
uint8_t restrictedSetConfig;
|
|
||||||
/// 38.211 (NCS 38.211 6.3.3.1).
|
|
||||||
uint8_t zeroCorrelationZoneConfig;
|
|
||||||
/// see TS 38.211 (6.3.3.2).
|
|
||||||
uint8_t msg1_frequencystart;
|
|
||||||
} NR_PRACH_CONFIG_INFO;
|
|
||||||
|
|
||||||
/// PRACH-ConfigSIB or PRACH-Config
|
|
||||||
typedef struct {
|
|
||||||
/// Parameter: prach-rootSequenceIndex, see TS 38.211 (6.3.3.2).
|
|
||||||
uint16_t rootSequenceIndex;
|
|
||||||
/// prach_Config_enabled=1 means enabled.}
|
|
||||||
uint8_t prach_Config_enabled;
|
|
||||||
/// PRACH Configuration Information
|
|
||||||
NR_PRACH_CONFIG_INFO prach_ConfigInfo;
|
|
||||||
} NR_PRACH_CONFIG_COMMON;
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
/// PRACH format retrieved from prach_ConfigIndex
|
/// PRACH format retrieved from prach_ConfigIndex
|
||||||
uint16_t prach_format;
|
uint16_t prach_format;
|
||||||
@@ -340,8 +315,6 @@ struct NR_DL_FRAME_PARMS {
|
|||||||
uint8_t nb_antennas_rx;
|
uint8_t nb_antennas_rx;
|
||||||
/// Number of common transmit antenna ports in eNodeB (1 or 2)
|
/// Number of common transmit antenna ports in eNodeB (1 or 2)
|
||||||
uint8_t nb_antenna_ports_gNB;
|
uint8_t nb_antenna_ports_gNB;
|
||||||
/// PRACH_CONFIG
|
|
||||||
NR_PRACH_CONFIG_COMMON prach_config_common;
|
|
||||||
/// Cyclic Prefix for DL (0=Normal CP, 1=Extended CP)
|
/// Cyclic Prefix for DL (0=Normal CP, 1=Extended CP)
|
||||||
lte_prefix_type_t Ncp;
|
lte_prefix_type_t Ncp;
|
||||||
/// shift of pilot position in one RB
|
/// shift of pilot position in one RB
|
||||||
|
|||||||
@@ -114,9 +114,7 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response){
|
|||||||
|
|
||||||
uint8_t pdu_type = ul_config->ul_config_list[i].pdu_type, pucch_resource_id, current_harq_pid, format, gNB_id = 0;
|
uint8_t pdu_type = ul_config->ul_config_list[i].pdu_type, pucch_resource_id, current_harq_pid, format, gNB_id = 0;
|
||||||
/* PRACH */
|
/* PRACH */
|
||||||
NR_DL_FRAME_PARMS *fp;
|
|
||||||
NR_PRACH_RESOURCES_t *prach_resources;
|
NR_PRACH_RESOURCES_t *prach_resources;
|
||||||
NR_PRACH_CONFIG_COMMON *prach_config_common;
|
|
||||||
fapi_nr_ul_config_prach_pdu *prach_config_pdu;
|
fapi_nr_ul_config_prach_pdu *prach_config_pdu;
|
||||||
/* PUSCH */
|
/* PUSCH */
|
||||||
fapi_nr_ul_config_pusch_pdu_rel15_t *pusch_config_pdu;
|
fapi_nr_ul_config_pusch_pdu_rel15_t *pusch_config_pdu;
|
||||||
@@ -189,19 +187,10 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response){
|
|||||||
|
|
||||||
case (FAPI_NR_UL_CONFIG_TYPE_PRACH):
|
case (FAPI_NR_UL_CONFIG_TYPE_PRACH):
|
||||||
// prach config pdu
|
// prach config pdu
|
||||||
fp = &PHY_vars_UE_g[module_id][cc_id]->frame_parms;
|
|
||||||
prach_resources = PHY_vars_UE_g[module_id][cc_id]->prach_resources[gNB_id];
|
prach_resources = PHY_vars_UE_g[module_id][cc_id]->prach_resources[gNB_id];
|
||||||
prach_config_common = &fp->prach_config_common;
|
|
||||||
prach_config_pdu = &ul_config->ul_config_list[i].prach_config_pdu;
|
prach_config_pdu = &ul_config->ul_config_list[i].prach_config_pdu;
|
||||||
|
memcpy((void*)&(PHY_vars_UE_g[module_id][cc_id]->prach_vars[gNB_id]->prach_pdu), (void*)prach_config_pdu, sizeof(fapi_nr_ul_config_prach_pdu));
|
||||||
prach_config_common->prach_Config_enabled = 1;
|
PHY_vars_UE_g[module_id][cc_id]->prach_vars[gNB_id]->prach_Config_enabled = 1;
|
||||||
prach_config_common->rootSequenceIndex = prach_config_pdu->root_seq_id;
|
|
||||||
prach_config_common->prach_ConfigInfo.zeroCorrelationZoneConfig = prach_config_pdu->num_cs;
|
|
||||||
prach_config_common->prach_ConfigInfo.highSpeedFlag = prach_config_pdu->restricted_set;
|
|
||||||
prach_config_common->prach_ConfigInfo.msg1_frequencystart = prach_config_pdu->freq_msg1;
|
|
||||||
|
|
||||||
prach_resources->prach_format = prach_config_pdu->prach_format;
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -2266,7 +2266,7 @@ void phy_procedures_nrUE_TX(PHY_VARS_NR_UE *ue,
|
|||||||
|
|
||||||
|
|
||||||
/* RACH */
|
/* RACH */
|
||||||
if ((ue->UE_mode[gNB_id] == PRACH) && (ue->frame_parms.prach_config_common.prach_Config_enabled == 1)) {
|
if ((ue->UE_mode[gNB_id] == PRACH) && (ue->prach_vars[gNB_id]->prach_Config_enabled == 1)) {
|
||||||
nr_ue_prach_procedures(ue, proc, gNB_id, mode);
|
nr_ue_prach_procedures(ue, proc, gNB_id, mode);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user