LDPC iterations as command line parameter
This commit is contained in:
@@ -330,6 +330,7 @@ void set_options(int CC_id, PHY_VARS_NR_UE *UE){
|
|||||||
LOG_I(PHY, "Set UE nb_rx_antenna %d, nb_tx_antenna %d, threequarter_fs %d, ssb_start_subcarrier %d\n", fp->nb_antennas_rx, fp->nb_antennas_tx, fp->threequarter_fs, fp->ssb_start_subcarrier);
|
LOG_I(PHY, "Set UE nb_rx_antenna %d, nb_tx_antenna %d, threequarter_fs %d, ssb_start_subcarrier %d\n", fp->nb_antennas_rx, fp->nb_antennas_tx, fp->threequarter_fs, fp->ssb_start_subcarrier);
|
||||||
|
|
||||||
fp->ofdm_offset_divisor = nrUE_params.ofdm_offset_divisor;
|
fp->ofdm_offset_divisor = nrUE_params.ofdm_offset_divisor;
|
||||||
|
UE->max_ldpc_iterations = nrUE_params.max_ldpc_iterations;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -7,10 +7,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define CONFIG_HLP_IF_FREQ "IF frequency for RF, if needed"
|
#define CONFIG_HLP_IF_FREQ "IF frequency for RF, if needed\n"
|
||||||
#define CONFIG_HLP_IF_FREQ_OFF "UL IF frequency offset for RF, if needed"
|
#define CONFIG_HLP_IF_FREQ_OFF "UL IF frequency offset for RF, if needed\n"
|
||||||
#define CONFIG_HLP_DLSCH_PARA "number of threads for dlsch processing 0 for no parallelization\n"
|
#define CONFIG_HLP_DLSCH_PARA "number of threads for dlsch processing 0 for no parallelization\n"
|
||||||
#define CONFIG_HLP_OFFSET_DIV "Divisor for computing OFDM symbol offset in Rx chain (num samples in CP/<the value>). Default value is 8. To set the sample offset to 0, set this value ~ 10e6\n"
|
#define CONFIG_HLP_OFFSET_DIV "Divisor for computing OFDM symbol offset in Rx chain (num samples in CP/<the value>). Default value is 8. To set the sample offset to 0, set this value ~ 10e6\n"
|
||||||
|
#define CONFIG_HLP_MAX_LDPC_ITERATIONS "Maximum LDPC decoder iterations\n"
|
||||||
/***************************************************************************************************************************************/
|
/***************************************************************************************************************************************/
|
||||||
/* command line options definitions, CMDLINE_XXXX_DESC macros are used to initialize paramdef_t arrays which are then used as argument
|
/* command line options definitions, CMDLINE_XXXX_DESC macros are used to initialize paramdef_t arrays which are then used as argument
|
||||||
when calling config_get or config_getlist functions */
|
when calling config_get or config_getlist functions */
|
||||||
@@ -32,6 +33,7 @@
|
|||||||
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, iptr:&single_thread_flag, defintval:1, TYPE_INT, 0}, \
|
{"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, iptr:&single_thread_flag, defintval:1, TYPE_INT, 0}, \
|
||||||
{"dlsch-parallel", CONFIG_HLP_DLSCH_PARA, 0, iptr:(int32_t *)&nrUE_params.nr_dlsch_parallel, defintval:0, TYPE_UINT8, 0}, \
|
{"dlsch-parallel", CONFIG_HLP_DLSCH_PARA, 0, iptr:(int32_t *)&nrUE_params.nr_dlsch_parallel, defintval:0, TYPE_UINT8, 0}, \
|
||||||
{"offset-divisor", CONFIG_HLP_OFFSET_DIV, 0, uptr:(uint32_t *)&nrUE_params.ofdm_offset_divisor, defuintval:UINT_MAX, TYPE_UINT32, 0}, \
|
{"offset-divisor", CONFIG_HLP_OFFSET_DIV, 0, uptr:(uint32_t *)&nrUE_params.ofdm_offset_divisor, defuintval:UINT_MAX, TYPE_UINT32, 0}, \
|
||||||
|
{"max-ldpc-iterations", CONFIG_HLP_MAX_LDPC_ITERATIONS, 0, uptr:(uint32_t *)&nrUE_params.max_ldpc_iterations, defuintval:5, TYPE_UINT8, 0}, \
|
||||||
{"nr-dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&nr_dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \
|
{"nr-dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&nr_dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \
|
||||||
{"V" , CONFIG_HLP_VCD, PARAMFLAG_BOOL, iptr:&vcdflag, defintval:0, TYPE_INT, 0}, \
|
{"V" , CONFIG_HLP_VCD, PARAMFLAG_BOOL, iptr:&vcdflag, defintval:0, TYPE_INT, 0}, \
|
||||||
{"uecap_file", CONFIG_HLP_UECAP_FILE, 0, strptr:(char **)&uecap_file, defstrval:"./uecap.xml", TYPE_STRING, 0}, \
|
{"uecap_file", CONFIG_HLP_UECAP_FILE, 0, strptr:(char **)&uecap_file, defstrval:"./uecap.xml", TYPE_STRING, 0}, \
|
||||||
@@ -76,6 +78,7 @@ typedef struct {
|
|||||||
uint64_t optmask; //mask to store boolean config options
|
uint64_t optmask; //mask to store boolean config options
|
||||||
uint32_t ofdm_offset_divisor; // Divisor for sample offset computation for each OFDM symbol
|
uint32_t ofdm_offset_divisor; // Divisor for sample offset computation for each OFDM symbol
|
||||||
uint8_t nr_dlsch_parallel; // number of threads for dlsch decoding, 0 means no parallelization
|
uint8_t nr_dlsch_parallel; // number of threads for dlsch decoding, 0 means no parallelization
|
||||||
|
uint8_t max_ldpc_iterations; // number of maximum LDPC iterations
|
||||||
tpool_t Tpool; // thread pool
|
tpool_t Tpool; // thread pool
|
||||||
} nrUE_params_t;
|
} nrUE_params_t;
|
||||||
extern uint64_t get_nrUE_optmask(void);
|
extern uint64_t get_nrUE_optmask(void);
|
||||||
|
|||||||
@@ -38,7 +38,6 @@
|
|||||||
#define MAX_TURBO_ITERATIONS_MBSFN 8
|
#define MAX_TURBO_ITERATIONS_MBSFN 8
|
||||||
#define MAX_TURBO_ITERATIONS max_turbo_iterations
|
#define MAX_TURBO_ITERATIONS max_turbo_iterations
|
||||||
|
|
||||||
#define MAX_LDPC_ITERATIONS 5
|
|
||||||
#define MAX_LDPC_ITERATIONS_MBSFN 4
|
#define MAX_LDPC_ITERATIONS_MBSFN 4
|
||||||
|
|
||||||
#define LTE_NULL 2
|
#define LTE_NULL 2
|
||||||
|
|||||||
@@ -1050,7 +1050,7 @@ void init_nr_transport(PHY_VARS_gNB *gNB) {
|
|||||||
|
|
||||||
LOG_I(PHY,"Allocating Transport Channel Buffers for ULSCH %d/%d\n",i,gNB->number_of_nr_ulsch_max);
|
LOG_I(PHY,"Allocating Transport Channel Buffers for ULSCH %d/%d\n",i,gNB->number_of_nr_ulsch_max);
|
||||||
|
|
||||||
gNB->ulsch[i] = new_gNB_ulsch(MAX_LDPC_ITERATIONS, fp->N_RB_UL);
|
gNB->ulsch[i] = new_gNB_ulsch(gNB->max_ldpc_iterations, fp->N_RB_UL);
|
||||||
|
|
||||||
if (!gNB->ulsch[i]) {
|
if (!gNB->ulsch[i]) {
|
||||||
LOG_E(PHY,"Can't get gNB ulsch structures\n");
|
LOG_E(PHY,"Can't get gNB ulsch structures\n");
|
||||||
|
|||||||
@@ -577,7 +577,7 @@ void init_nr_ue_transport(PHY_VARS_NR_UE *ue) {
|
|||||||
for (int i = 0; i < NUMBER_OF_CONNECTED_gNB_MAX; i++) {
|
for (int i = 0; i < NUMBER_OF_CONNECTED_gNB_MAX; i++) {
|
||||||
for (int j=0; j<num_codeword; j++) {
|
for (int j=0; j<num_codeword; j++) {
|
||||||
for (int k=0; k<RX_NB_TH_MAX; k++) {
|
for (int k=0; k<RX_NB_TH_MAX; k++) {
|
||||||
AssertFatal((ue->dlsch[k][i][j] = new_nr_ue_dlsch(1,NR_MAX_DLSCH_HARQ_PROCESSES,NSOFT,MAX_LDPC_ITERATIONS,ue->frame_parms.N_RB_DL))!=NULL,"Can't get ue dlsch structures\n");
|
AssertFatal((ue->dlsch[k][i][j] = new_nr_ue_dlsch(1,NR_MAX_DLSCH_HARQ_PROCESSES,NSOFT,ue->max_ldpc_iterations,ue->frame_parms.N_RB_DL))!=NULL,"Can't get ue dlsch structures\n");
|
||||||
LOG_D(PHY,"dlsch[%d][%d][%d] => %p\n",k,i,j,ue->dlsch[k][i][j]);
|
LOG_D(PHY,"dlsch[%d][%d][%d] => %p\n",k,i,j,ue->dlsch[k][i][j]);
|
||||||
if (j==0) {
|
if (j==0) {
|
||||||
AssertFatal((ue->ulsch[k][i] = new_nr_ue_ulsch(ue->frame_parms.N_RB_UL, NR_MAX_ULSCH_HARQ_PROCESSES,&ue->frame_parms))!=NULL,"Can't get ue ulsch structures\n");
|
AssertFatal((ue->ulsch[k][i] = new_nr_ue_ulsch(ue->frame_parms.N_RB_UL, NR_MAX_ULSCH_HARQ_PROCESSES,&ue->frame_parms))!=NULL,"Can't get ue ulsch structures\n");
|
||||||
@@ -586,8 +586,8 @@ void init_nr_ue_transport(PHY_VARS_NR_UE *ue) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ue->dlsch_SI[i] = new_nr_ue_dlsch(1,1,NSOFT,MAX_LDPC_ITERATIONS,ue->frame_parms.N_RB_DL);
|
ue->dlsch_SI[i] = new_nr_ue_dlsch(1,1,NSOFT,ue->max_ldpc_iterations,ue->frame_parms.N_RB_DL);
|
||||||
ue->dlsch_ra[i] = new_nr_ue_dlsch(1,1,NSOFT,MAX_LDPC_ITERATIONS,ue->frame_parms.N_RB_DL);
|
ue->dlsch_ra[i] = new_nr_ue_dlsch(1,1,NSOFT,ue->max_ldpc_iterations,ue->frame_parms.N_RB_DL);
|
||||||
ue->transmission_mode[i] = ue->frame_parms.nb_antenna_ports_gNB==1 ? 1 : 2;
|
ue->transmission_mode[i] = ue->frame_parms.nb_antenna_ports_gNB==1 ? 1 : 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -826,7 +826,8 @@ typedef struct PHY_VARS_gNB_s {
|
|||||||
int **dl_precoder_SgNB[3];
|
int **dl_precoder_SgNB[3];
|
||||||
char log2_maxp; /// holds the maximum channel/precoder coefficient
|
char log2_maxp; /// holds the maximum channel/precoder coefficient
|
||||||
|
|
||||||
int prb_interpolation;
|
int prb_interpolation;
|
||||||
|
int max_ldpc_iterations;
|
||||||
|
|
||||||
/// if ==0 enables phy only test mode
|
/// if ==0 enables phy only test mode
|
||||||
int mac_enabled;
|
int mac_enabled;
|
||||||
|
|||||||
@@ -865,6 +865,8 @@ typedef struct {
|
|||||||
/// N0 (used for abstraction)
|
/// N0 (used for abstraction)
|
||||||
double N0;
|
double N0;
|
||||||
|
|
||||||
|
uint8_t max_ldpc_iterations;
|
||||||
|
|
||||||
/// PDSCH Varaibles
|
/// PDSCH Varaibles
|
||||||
PDSCH_CONFIG_DEDICATED pdsch_config_dedicated[NUMBER_OF_CONNECTED_gNB_MAX];
|
PDSCH_CONFIG_DEDICATED pdsch_config_dedicated[NUMBER_OF_CONNECTED_gNB_MAX];
|
||||||
|
|
||||||
|
|||||||
@@ -435,6 +435,7 @@ int main(int argc, char **argv)
|
|||||||
uint8_t mcsIndex = 9;
|
uint8_t mcsIndex = 9;
|
||||||
uint8_t dlsch_threads = 0;
|
uint8_t dlsch_threads = 0;
|
||||||
int prb_inter = 0;
|
int prb_inter = 0;
|
||||||
|
uint8_t max_ldpc_iterations = 5;
|
||||||
if ( load_configmodule(argc,argv,CONFIG_ENABLECMDLINEONLY) == 0) {
|
if ( load_configmodule(argc,argv,CONFIG_ENABLECMDLINEONLY) == 0) {
|
||||||
exit_fun("[NR_DLSIM] Error, configuration module init failed\n");
|
exit_fun("[NR_DLSIM] Error, configuration module init failed\n");
|
||||||
}
|
}
|
||||||
@@ -636,6 +637,10 @@ int main(int argc, char **argv)
|
|||||||
output_fd = fopen("txdata.dat", "w+");
|
output_fd = fopen("txdata.dat", "w+");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'Q':
|
||||||
|
max_ldpc_iterations = atoi(optarg);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'T':
|
case 'T':
|
||||||
enable_ptrs=1;
|
enable_ptrs=1;
|
||||||
for(i=0; i < atoi(optarg); i++) {
|
for(i=0; i < atoi(optarg); i++) {
|
||||||
@@ -688,6 +693,7 @@ int main(int argc, char **argv)
|
|||||||
printf("-q MCS Table index\n");
|
printf("-q MCS Table index\n");
|
||||||
printf("-t Acceptable effective throughput (in percentage)\n");
|
printf("-t Acceptable effective throughput (in percentage)\n");
|
||||||
printf("-T Enable PTRS, arguments list L_PTRS{0,1,2} K_PTRS{2,4}, e.g. -T 2 0 2 \n");
|
printf("-T Enable PTRS, arguments list L_PTRS{0,1,2} K_PTRS{2,4}, e.g. -T 2 0 2 \n");
|
||||||
|
printf("-Q Maximum LDPC decoder iterations\n");
|
||||||
printf("-U Change DMRS Config, arguments list DMRS TYPE{0=A,1=B} DMRS AddPos{0:2} DMRS ConfType{1:2}, e.g. -U 3 0 2 1 \n");
|
printf("-U Change DMRS Config, arguments list DMRS TYPE{0=A,1=B} DMRS AddPos{0:2} DMRS ConfType{1:2}, e.g. -U 3 0 2 1 \n");
|
||||||
printf("-P Print DLSCH performances\n");
|
printf("-P Print DLSCH performances\n");
|
||||||
printf("-w Write txdata to binary file (one frame)\n");
|
printf("-w Write txdata to binary file (one frame)\n");
|
||||||
@@ -983,6 +989,7 @@ int main(int argc, char **argv)
|
|||||||
UE->if_inst->dl_indication = nr_ue_dl_indication;
|
UE->if_inst->dl_indication = nr_ue_dl_indication;
|
||||||
UE->if_inst->ul_indication = dummy_nr_ue_ul_indication;
|
UE->if_inst->ul_indication = dummy_nr_ue_ul_indication;
|
||||||
UE->prb_interpolation = prb_inter;
|
UE->prb_interpolation = prb_inter;
|
||||||
|
UE->max_ldpc_iterations = max_ldpc_iterations;
|
||||||
|
|
||||||
|
|
||||||
UE_mac->if_module = nr_ue_if_module_init(0);
|
UE_mac->if_module = nr_ue_if_module_init(0);
|
||||||
|
|||||||
@@ -337,6 +337,7 @@ int main(int argc, char **argv)
|
|||||||
int ibwps=24;
|
int ibwps=24;
|
||||||
int ibwp_rboffset=41;
|
int ibwp_rboffset=41;
|
||||||
int params_from_file = 0;
|
int params_from_file = 0;
|
||||||
|
int max_ldpc_iterations = 5;
|
||||||
if ( load_configmodule(argc,argv,CONFIG_ENABLECMDLINEONLY) == 0 ) {
|
if ( load_configmodule(argc,argv,CONFIG_ENABLECMDLINEONLY) == 0 ) {
|
||||||
exit_fun("[NR_ULSIM] Error, configuration module init failed\n");
|
exit_fun("[NR_ULSIM] Error, configuration module init failed\n");
|
||||||
}
|
}
|
||||||
@@ -347,7 +348,7 @@ int main(int argc, char **argv)
|
|||||||
/* initialize the sin-cos table */
|
/* initialize the sin-cos table */
|
||||||
InitSinLUT();
|
InitSinLUT();
|
||||||
|
|
||||||
while ((c = getopt(argc, argv, "a:b:c:d:ef:g:h:ikl:m:n:p:r:s:t:u:w:y:z:F:G:H:M:N:PR:S:T:U:L:Z:W:")) != -1) {
|
while ((c = getopt(argc, argv, "a:b:c:d:ef:g:h:ikl:m:n:p:r:s:t:u:w:y:z:B:F:G:H:I:M:N:PR:S:T:U:L:Z:W:")) != -1) {
|
||||||
printf("handling optarg %c\n",c);
|
printf("handling optarg %c\n",c);
|
||||||
switch (c) {
|
switch (c) {
|
||||||
|
|
||||||
@@ -539,6 +540,10 @@ int main(int argc, char **argv)
|
|||||||
slot = atoi(optarg);
|
slot = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'I':
|
||||||
|
max_ldpc_iterations = atoi(optarg);
|
||||||
|
break;
|
||||||
|
|
||||||
case 'M':
|
case 'M':
|
||||||
// SSB_positions = atoi(optarg);
|
// SSB_positions = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
@@ -618,6 +623,7 @@ int main(int argc, char **argv)
|
|||||||
printf("-F Input filename (.txt format) for RX conformance testing\n");
|
printf("-F Input filename (.txt format) for RX conformance testing\n");
|
||||||
printf("-G Offset of samples to read from file (0 default)\n");
|
printf("-G Offset of samples to read from file (0 default)\n");
|
||||||
printf("-L <log level, 0(errors), 1(warning), 2(info) 3(debug) 4 (trace)>\n");
|
printf("-L <log level, 0(errors), 1(warning), 2(info) 3(debug) 4 (trace)>\n");
|
||||||
|
printf("-I Maximum LDPC decoder iterations\n");
|
||||||
printf("-M Multiple SSB positions in burst\n");
|
printf("-M Multiple SSB positions in burst\n");
|
||||||
printf("-N Nid_cell\n");
|
printf("-N Nid_cell\n");
|
||||||
printf("-O oversampling factor (1,2,4,8,16)\n");
|
printf("-O oversampling factor (1,2,4,8,16)\n");
|
||||||
@@ -722,6 +728,7 @@ int main(int argc, char **argv)
|
|||||||
gNB->UL_INFO.rx_ind.number_of_pdus = 0;
|
gNB->UL_INFO.rx_ind.number_of_pdus = 0;
|
||||||
gNB->UL_INFO.crc_ind.number_crcs = 0;
|
gNB->UL_INFO.crc_ind.number_crcs = 0;
|
||||||
gNB->prb_interpolation = prb_inter;
|
gNB->prb_interpolation = prb_inter;
|
||||||
|
gNB->max_ldpc_iterations = max_ldpc_iterations;
|
||||||
frame_parms = &gNB->frame_parms; //to be initialized I suppose (maybe not necessary for PBCH)
|
frame_parms = &gNB->frame_parms; //to be initialized I suppose (maybe not necessary for PBCH)
|
||||||
|
|
||||||
frame_parms->N_RB_DL = N_RB_DL;
|
frame_parms->N_RB_DL = N_RB_DL;
|
||||||
|
|||||||
@@ -51,6 +51,7 @@
|
|||||||
#define CONFIG_STRING_L1_PUCCH0_DTX_THRESHOLD "pucch0_dtx_threshold"
|
#define CONFIG_STRING_L1_PUCCH0_DTX_THRESHOLD "pucch0_dtx_threshold"
|
||||||
#define CONFIG_STRING_L1_PRACH_DTX_THRESHOLD "prach_dtx_threshold"
|
#define CONFIG_STRING_L1_PRACH_DTX_THRESHOLD "prach_dtx_threshold"
|
||||||
#define CONFIG_STRING_L1_PUSCH_DTX_THRESHOLD "pusch_dtx_threshold"
|
#define CONFIG_STRING_L1_PUSCH_DTX_THRESHOLD "pusch_dtx_threshold"
|
||||||
|
#define CONFIG_STRING_L1_MAX_LDPC_ITERATIONS "max_ldpc_iterations"
|
||||||
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
/* L1 configuration parameters */
|
/* L1 configuration parameters */
|
||||||
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
/* optname helpstr paramflags XXXptr defXXXval type numelt */
|
||||||
@@ -69,7 +70,8 @@
|
|||||||
{CONFIG_STRING_L1_OFDM_OFFSET_DIVISOR, NULL, 0, uptr:NULL, defuintval:8, TYPE_UINT, 0}, \
|
{CONFIG_STRING_L1_OFDM_OFFSET_DIVISOR, NULL, 0, uptr:NULL, defuintval:8, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_L1_PUCCH0_DTX_THRESHOLD, NULL, 0, uptr:NULL, defintval:100, TYPE_UINT, 0}, \
|
{CONFIG_STRING_L1_PUCCH0_DTX_THRESHOLD, NULL, 0, uptr:NULL, defintval:100, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_L1_PRACH_DTX_THRESHOLD, NULL, 0, uptr:NULL, defintval:150, TYPE_UINT, 0}, \
|
{CONFIG_STRING_L1_PRACH_DTX_THRESHOLD, NULL, 0, uptr:NULL, defintval:150, TYPE_UINT, 0}, \
|
||||||
{CONFIG_STRING_L1_PUSCH_DTX_THRESHOLD, NULL, 0, uptr:NULL, defintval:50, TYPE_UINT, 0} \
|
{CONFIG_STRING_L1_PUSCH_DTX_THRESHOLD, NULL, 0, uptr:NULL, defintval:50, TYPE_UINT, 0}, \
|
||||||
|
{CONFIG_STRING_L1_MAX_LDPC_ITERATIONS, NULL, 0, uptr:NULL, defintval:5, TYPE_UINT, 0}, \
|
||||||
}
|
}
|
||||||
#define L1_CC_IDX 0
|
#define L1_CC_IDX 0
|
||||||
#define L1_TRANSPORT_N_PREFERENCE_IDX 1
|
#define L1_TRANSPORT_N_PREFERENCE_IDX 1
|
||||||
@@ -85,6 +87,7 @@
|
|||||||
#define L1_PUCCH0_DTX_THRESHOLD 11
|
#define L1_PUCCH0_DTX_THRESHOLD 11
|
||||||
#define L1_PRACH_DTX_THRESHOLD 12
|
#define L1_PRACH_DTX_THRESHOLD 12
|
||||||
#define L1_PUSCH_DTX_THRESHOLD 13
|
#define L1_PUSCH_DTX_THRESHOLD 13
|
||||||
|
#define L1_MAX_LDPC_ITERATIONS 14
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
|
/*----------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -727,6 +727,7 @@ void RCconfig_NR_L1(void) {
|
|||||||
RC.gNB[j]->pucch0_thres = *(L1_ParamList.paramarray[j][L1_PUCCH0_DTX_THRESHOLD].uptr);
|
RC.gNB[j]->pucch0_thres = *(L1_ParamList.paramarray[j][L1_PUCCH0_DTX_THRESHOLD].uptr);
|
||||||
RC.gNB[j]->prach_thres = *(L1_ParamList.paramarray[j][L1_PRACH_DTX_THRESHOLD].uptr);
|
RC.gNB[j]->prach_thres = *(L1_ParamList.paramarray[j][L1_PRACH_DTX_THRESHOLD].uptr);
|
||||||
RC.gNB[j]->pusch_thres = *(L1_ParamList.paramarray[j][L1_PUSCH_DTX_THRESHOLD].uptr);
|
RC.gNB[j]->pusch_thres = *(L1_ParamList.paramarray[j][L1_PUSCH_DTX_THRESHOLD].uptr);
|
||||||
|
RC.gNB[j]->max_ldpc_iterations = *(L1_ParamList.paramarray[j][L1_MAX_LDPC_ITERATIONS].uptr);
|
||||||
RC.gNB[j]->num_ulprbbl = num_prbbl;
|
RC.gNB[j]->num_ulprbbl = num_prbbl;
|
||||||
RC.gNB[j]->ap_N1 = N1;
|
RC.gNB[j]->ap_N1 = N1;
|
||||||
RC.gNB[j]->ap_N2 = N2;
|
RC.gNB[j]->ap_N2 = N2;
|
||||||
|
|||||||
@@ -194,6 +194,7 @@ L1s = (
|
|||||||
num_cc = 1;
|
num_cc = 1;
|
||||||
tr_n_preference = "local_mac";
|
tr_n_preference = "local_mac";
|
||||||
thread_pool_size = 8;
|
thread_pool_size = 8;
|
||||||
|
max_ldpc_iterations = 5;
|
||||||
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
|
ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user