fix in msg3 tbs
This commit is contained in:
@@ -94,7 +94,6 @@ void prepare_scc(NR_ServingCellConfigCommon_t *scc) {
|
|||||||
|
|
||||||
NR_FreqBandIndicatorNR_t *dl_frequencyBandList,*ul_frequencyBandList;
|
NR_FreqBandIndicatorNR_t *dl_frequencyBandList,*ul_frequencyBandList;
|
||||||
struct NR_SCS_SpecificCarrier *dl_scs_SpecificCarrierList,*ul_scs_SpecificCarrierList;
|
struct NR_SCS_SpecificCarrier *dl_scs_SpecificCarrierList,*ul_scs_SpecificCarrierList;
|
||||||
struct NR_PUSCH_TimeDomainResourceAllocation *pusch_configcommontimedomainresourceallocation;
|
|
||||||
// struct NR_RateMatchPattern *ratematchpattern;
|
// struct NR_RateMatchPattern *ratematchpattern;
|
||||||
// NR_RateMatchPatternId_t *ratematchpatternid;
|
// NR_RateMatchPatternId_t *ratematchpatternid;
|
||||||
// NR_TCI_StateId_t *TCI_StateId;
|
// NR_TCI_StateId_t *TCI_StateId;
|
||||||
|
|||||||
@@ -1015,11 +1015,14 @@ void fill_msg3_pusch_pdu(nfapi_nr_pusch_pdu_t *pusch_pdu,
|
|||||||
pusch_pdu->pusch_data.harq_process_id = 0;
|
pusch_pdu->pusch_data.harq_process_id = 0;
|
||||||
pusch_pdu->pusch_data.new_data_indicator = 1;
|
pusch_pdu->pusch_data.new_data_indicator = 1;
|
||||||
pusch_pdu->pusch_data.num_cb = 0;
|
pusch_pdu->pusch_data.num_cb = 0;
|
||||||
|
int num_dmrs_symb = 0;
|
||||||
|
for(int i = start_symbol_index; i < start_symbol_index+nr_of_symbols; i++)
|
||||||
|
num_dmrs_symb += (pusch_pdu->ul_dmrs_symb_pos >> i) & 1;
|
||||||
pusch_pdu->pusch_data.tb_size = nr_compute_tbs(pusch_pdu->qam_mod_order,
|
pusch_pdu->pusch_data.tb_size = nr_compute_tbs(pusch_pdu->qam_mod_order,
|
||||||
pusch_pdu->target_code_rate,
|
pusch_pdu->target_code_rate,
|
||||||
pusch_pdu->rb_size,
|
pusch_pdu->rb_size,
|
||||||
pusch_pdu->nr_of_symbols,
|
pusch_pdu->nr_of_symbols,
|
||||||
12, // nb dmrs set for no data in dmrs symbol
|
num_dmrs_symb*12, // nb dmrs set for no data in dmrs symbol
|
||||||
0, //nb_rb_oh
|
0, //nb_rb_oh
|
||||||
0, // to verify tb scaling
|
0, // to verify tb scaling
|
||||||
pusch_pdu->nrOfLayers)>>3;
|
pusch_pdu->nrOfLayers)>>3;
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ void nr_set_pdsch_semi_static(const NR_ServingCellConfigCommon_t *scc,
|
|||||||
|
|
||||||
void nr_set_pusch_semi_static(const NR_ServingCellConfigCommon_t *scc,
|
void nr_set_pusch_semi_static(const NR_ServingCellConfigCommon_t *scc,
|
||||||
const NR_BWP_Uplink_t *ubwp,
|
const NR_BWP_Uplink_t *ubwp,
|
||||||
const NR_BWP_UplinkDedicated_t *ubwpd,
|
const NR_BWP_UplinkDedicated_t *ubwpd,
|
||||||
long dci_format,
|
long dci_format,
|
||||||
int tda,
|
int tda,
|
||||||
uint8_t num_dmrs_cdm_grps_no_data,
|
uint8_t num_dmrs_cdm_grps_no_data,
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ void nr_rrc_config_ul_tda(NR_ServingCellConfigCommon_t *scc, int min_fb_delay){
|
|||||||
struct NR_PUSCH_TimeDomainResourceAllocation *pusch_timedomainresourceallocation_msg3 = CALLOC(1,sizeof(struct NR_PUSCH_TimeDomainResourceAllocation));
|
struct NR_PUSCH_TimeDomainResourceAllocation *pusch_timedomainresourceallocation_msg3 = CALLOC(1,sizeof(struct NR_PUSCH_TimeDomainResourceAllocation));
|
||||||
pusch_timedomainresourceallocation_msg3->k2 = CALLOC(1,sizeof(long));
|
pusch_timedomainresourceallocation_msg3->k2 = CALLOC(1,sizeof(long));
|
||||||
*pusch_timedomainresourceallocation_msg3->k2 = nb_slots_per_period - DELTA[mu];
|
*pusch_timedomainresourceallocation_msg3->k2 = nb_slots_per_period - DELTA[mu];
|
||||||
AssertFatal(*pusch_timedomainresourceallocation_msg3->k2>=min_fb_delay,"Computed k2 for msg3 %d is smaller than min feedback delay set in config file %d\n",
|
AssertFatal(*pusch_timedomainresourceallocation_msg3->k2>=min_fb_delay,"Computed k2 for msg3 %ld is smaller than min feedback delay set in config file %d\n",
|
||||||
*pusch_timedomainresourceallocation_msg3->k2, min_fb_delay);
|
*pusch_timedomainresourceallocation_msg3->k2, min_fb_delay);
|
||||||
pusch_timedomainresourceallocation_msg3->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB;
|
pusch_timedomainresourceallocation_msg3->mappingType = NR_PUSCH_TimeDomainResourceAllocation__mappingType_typeB;
|
||||||
pusch_timedomainresourceallocation_msg3->startSymbolAndLength = get_SLIV(14-ul_symb,ul_symb-1); // starting in fist ul symbol til the last but one
|
pusch_timedomainresourceallocation_msg3->startSymbolAndLength = get_SLIV(14-ul_symb,ul_symb-1); // starting in fist ul symbol til the last but one
|
||||||
|
|||||||
Reference in New Issue
Block a user