Merge remote-tracking branch 'origin/Mult_TDD_Pattern' into integration_2025_w05 (!2799)
Changes to support multiple TDD patterns - Updated the configuration changes for 2 Patterns - Update the TDD table configuration for NFAPI - Added the tdd bitmap for the period - Adapted the bitmap for UL/DL for the multi TDD pattern - Updated the RACH procedure for multi TDD pattern - Updated DL and UL scheduler for multi TDD pattern
This commit is contained in:
@@ -388,8 +388,9 @@ int main(int argc, char **argv)
|
||||
frame_parms->Ncp = extended_prefix_flag ? EXTENDED : NORMAL;
|
||||
crcTableInit();
|
||||
nr_phy_config_request_sim(gNB, N_RB_DL, N_RB_DL, mu, Nid_cell,SSB_positions);
|
||||
gNB->gNB_config.tdd_table.tdd_period.value = 6;
|
||||
set_tdd_config_nr(&gNB->gNB_config, mu, 7, 6, 2, 4);
|
||||
// TDD configuration
|
||||
gNB->gNB_config.tdd_table.tdd_period.value = 6;
|
||||
do_tdd_config_sim(gNB, mu);
|
||||
phy_init_nr_gNB(gNB);
|
||||
//init_eNB_afterRU();
|
||||
frame_length_complex_samples = frame_parms->samples_per_subframe;
|
||||
|
||||
@@ -189,7 +189,7 @@ void nr_dlsim_preprocessor(module_id_t module_id,
|
||||
/* the following might override the table that is mandated by RRC
|
||||
* configuration */
|
||||
current_BWP->mcsTableIdx = g_mcsTableIdx;
|
||||
sched_pdsch->time_domain_allocation = get_dl_tda(RC.nrmac[module_id], scc, slot);
|
||||
sched_pdsch->time_domain_allocation = get_dl_tda(RC.nrmac[module_id], slot);
|
||||
AssertFatal(sched_pdsch->time_domain_allocation >= 0,"Unable to find PDSCH time domain allocation in list\n");
|
||||
|
||||
sched_pdsch->tda_info = get_dl_tda_info(current_BWP,
|
||||
|
||||
@@ -448,13 +448,10 @@ int main(int argc, char **argv)
|
||||
frame_parms->freq_range = mu<2 ? FR1 : FR2;
|
||||
|
||||
nr_phy_config_request_sim(gNB, N_RB_DL, N_RB_DL, mu, Nid_cell, SSB_positions);
|
||||
// TDD configuration
|
||||
gNB->gNB_config.tdd_table.tdd_period.value = 6;
|
||||
if (mu == 0)
|
||||
set_tdd_config_nr(&gNB->gNB_config, mu, 3, 6, 1, 4);
|
||||
else if (mu == 1)
|
||||
set_tdd_config_nr(&gNB->gNB_config, mu, 7, 6, 2, 4);
|
||||
else if (mu == 3)
|
||||
set_tdd_config_nr(&gNB->gNB_config, mu, 27, 6, 12, 4);
|
||||
do_tdd_config_sim(gNB, mu);
|
||||
|
||||
phy_init_nr_gNB(gNB);
|
||||
frame_parms->ssb_start_subcarrier = 12 * gNB->gNB_config.ssb_table.ssb_offset_point_a.value + ssb_subcarrier_offset;
|
||||
initFloatingCoresTpool(ssb_scan_threads, &nrUE_params.Tpool, false, "UE-tpool");
|
||||
|
||||
@@ -568,7 +568,10 @@ int main(int argc, char **argv){
|
||||
|
||||
memcpy((void*)&ru->config,(void*)&RC.gNB[0]->gNB_config,sizeof(ru->config));
|
||||
RC.nb_nr_L1_inst=1;
|
||||
set_tdd_config_nr(&gNB->gNB_config, mu, 7, 6, 2, 4);
|
||||
// TDD configuration
|
||||
gNB->gNB_config.tdd_table.tdd_period.value = 6;
|
||||
do_tdd_config_sim(gNB, mu);
|
||||
|
||||
phy_init_nr_gNB(gNB);
|
||||
nr_phy_init_RU(ru);
|
||||
|
||||
|
||||
@@ -433,8 +433,10 @@ int main(int argc, char **argv)
|
||||
cfg->carrier_config.num_tx_ant.value = n_tx;
|
||||
cfg->carrier_config.num_rx_ant.value = n_rx;
|
||||
nr_phy_config_request_sim(gNB,N_RB_DL,N_RB_DL,mu,Nid_cell,SSB_positions);
|
||||
// TDD configuration
|
||||
gNB->gNB_config.tdd_table.tdd_period.value = 6;
|
||||
set_tdd_config_nr(&gNB->gNB_config, mu, 7, 6, 2, 4);
|
||||
do_tdd_config_sim(gNB, mu);
|
||||
|
||||
phy_init_nr_gNB(gNB);
|
||||
/* RU handles rxdataF, and gNB just has a pointer. Here, we don't have an RU,
|
||||
* so we need to allocate that memory as well. */
|
||||
|
||||
@@ -406,8 +406,10 @@ int main(int argc, char **argv)
|
||||
gNB->frame_parms.nb_antennas_rx = n_rx;
|
||||
|
||||
nr_phy_config_request_sim(gNB, N_RB_UL, N_RB_UL, mu, Nid_cell, SSB_positions);
|
||||
// TDD configuration
|
||||
gNB->gNB_config.tdd_table.tdd_period.value = 6;
|
||||
set_tdd_config_nr(&gNB->gNB_config, mu, 7, 6, 2, 4);
|
||||
do_tdd_config_sim(gNB, mu);
|
||||
|
||||
phy_init_nr_gNB(gNB);
|
||||
|
||||
//configure UE
|
||||
|
||||
Reference in New Issue
Block a user