Merge remote-tracking branch 'origin/ue-make-rxtx-of-2-slots' into integration_2024_w18
This commit is contained in:
@@ -19,7 +19,7 @@ gNBs =
|
|||||||
|
|
||||||
////////// Physical parameters:
|
////////// Physical parameters:
|
||||||
|
|
||||||
min_rxtxtime = 5;
|
min_rxtxtime = 2;
|
||||||
do_SRS = 0;
|
do_SRS = 0;
|
||||||
force_256qam_off = 1;
|
force_256qam_off = 1;
|
||||||
pdsch_AntennaPorts_N1 = 1;
|
pdsch_AntennaPorts_N1 = 1;
|
||||||
|
|||||||
@@ -272,7 +272,7 @@
|
|||||||
/* - between reception of pdsch and tarnsmission of its acknowlegment */
|
/* - between reception of pdsch and tarnsmission of its acknowlegment */
|
||||||
/* - between reception of un uplink grant and its related transmission */
|
/* - between reception of un uplink grant and its related transmission */
|
||||||
// should be 2 as per NR standard, but current UE is not able to perform this value
|
// should be 2 as per NR standard, but current UE is not able to perform this value
|
||||||
#define NR_UE_CAPABILITY_SLOT_RX_TO_TX (3)
|
#define NR_UE_CAPABILITY_SLOT_RX_TO_TX (2)
|
||||||
|
|
||||||
#define DURATION_RX_TO_TX (NR_UE_CAPABILITY_SLOT_RX_TO_TX)
|
#define DURATION_RX_TO_TX (NR_UE_CAPABILITY_SLOT_RX_TO_TX)
|
||||||
|
|
||||||
|
|||||||
@@ -785,10 +785,6 @@ static int nr_ue_process_dci_dl_10(NR_UE_MAC_INST_t *mac,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dci_ind->rnti != mac->ra.ra_rnti && dci_ind->rnti != SI_RNTI)
|
if (dci_ind->rnti != mac->ra.ra_rnti && dci_ind->rnti != SI_RNTI)
|
||||||
AssertFatal(1 + dci->pdsch_to_harq_feedback_timing_indicator.val > DURATION_RX_TO_TX,
|
|
||||||
"PDSCH to HARQ feedback time (%d) needs to be higher than DURATION_RX_TO_TX (%d).\n",
|
|
||||||
1 + dci->pdsch_to_harq_feedback_timing_indicator.val,
|
|
||||||
DURATION_RX_TO_TX);
|
|
||||||
|
|
||||||
// set the harq status at MAC for feedback
|
// set the harq status at MAC for feedback
|
||||||
set_harq_status(mac,
|
set_harq_status(mac,
|
||||||
@@ -1116,12 +1112,6 @@ static int nr_ue_process_dci_dl_11(NR_UE_MAC_INST_t *mac,
|
|||||||
// according to TS 38.213 Table 9.2.3-1
|
// according to TS 38.213 Table 9.2.3-1
|
||||||
uint8_t feedback_ti = pucch_Config->dl_DataToUL_ACK->list.array[dci->pdsch_to_harq_feedback_timing_indicator.val][0];
|
uint8_t feedback_ti = pucch_Config->dl_DataToUL_ACK->list.array[dci->pdsch_to_harq_feedback_timing_indicator.val][0];
|
||||||
|
|
||||||
AssertFatal(feedback_ti > DURATION_RX_TO_TX,
|
|
||||||
"PDSCH to HARQ feedback time (%d) needs to be higher than DURATION_RX_TO_TX (%d). Min feedback time set in config "
|
|
||||||
"file (min_rxtxtime).\n",
|
|
||||||
feedback_ti,
|
|
||||||
DURATION_RX_TO_TX);
|
|
||||||
|
|
||||||
// set the harq status at MAC for feedback
|
// set the harq status at MAC for feedback
|
||||||
set_harq_status(mac,
|
set_harq_status(mac,
|
||||||
dci->pucch_resource_indicator,
|
dci->pucch_resource_indicator,
|
||||||
|
|||||||
@@ -1007,9 +1007,6 @@ void nr_ue_aperiodic_srs_scheduling(NR_UE_MAC_INST_t *mac, long resource_trigger
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
AssertFatal(slot_offset > DURATION_RX_TO_TX,
|
|
||||||
"Slot offset between DCI and aperiodic SRS (%d) needs to be higher than DURATION_RX_TO_TX (%d)\n",
|
|
||||||
slot_offset, DURATION_RX_TO_TX);
|
|
||||||
int n_slots_frame = nr_slots_per_frame[current_UL_BWP->scs];
|
int n_slots_frame = nr_slots_per_frame[current_UL_BWP->scs];
|
||||||
int sched_slot = (slot + slot_offset) % n_slots_frame;
|
int sched_slot = (slot + slot_offset) % n_slots_frame;
|
||||||
NR_TDD_UL_DL_ConfigCommon_t *tdd_config = mac->tdd_UL_DL_ConfigurationCommon;
|
NR_TDD_UL_DL_ConfigCommon_t *tdd_config = mac->tdd_UL_DL_ConfigurationCommon;
|
||||||
@@ -1468,13 +1465,6 @@ int nr_ue_pusch_scheduler(const NR_UE_MAC_INST_t *mac,
|
|||||||
AssertFatal(1 == 0, "Invalid numerology %i\n", mu);
|
AssertFatal(1 == 0, "Invalid numerology %i\n", mu);
|
||||||
}
|
}
|
||||||
|
|
||||||
AssertFatal((k2 + delta) > DURATION_RX_TO_TX,
|
|
||||||
"Slot offset (%ld) for Msg3 needs to be higher than DURATION_RX_TO_TX (%d). Please set min_rxtxtime at least to %d in gNB config file or gNBs.[0].min_rxtxtime=%d via command line.\n",
|
|
||||||
k2,
|
|
||||||
DURATION_RX_TO_TX,
|
|
||||||
DURATION_RX_TO_TX,
|
|
||||||
DURATION_RX_TO_TX);
|
|
||||||
|
|
||||||
*slot_tx = (current_slot + k2 + delta) % nr_slots_per_frame[mu];
|
*slot_tx = (current_slot + k2 + delta) % nr_slots_per_frame[mu];
|
||||||
if (current_slot + k2 + delta >= nr_slots_per_frame[mu]){
|
if (current_slot + k2 + delta >= nr_slots_per_frame[mu]){
|
||||||
*frame_tx = (current_frame + 1) % 1024;
|
*frame_tx = (current_frame + 1) % 1024;
|
||||||
@@ -1483,14 +1473,6 @@ int nr_ue_pusch_scheduler(const NR_UE_MAC_INST_t *mac,
|
|||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
AssertFatal(k2 > DURATION_RX_TO_TX,
|
|
||||||
"Slot offset K2 (%ld) needs to be higher than DURATION_RX_TO_TX (%d). Please set min_rxtxtime at least to %d in gNB config file or gNBs.[0].min_rxtxtime=%d via command line.\n",
|
|
||||||
k2,
|
|
||||||
DURATION_RX_TO_TX,
|
|
||||||
DURATION_RX_TO_TX,
|
|
||||||
DURATION_RX_TO_TX);
|
|
||||||
|
|
||||||
if (k2 < 0) { // This can happen when a false DCI is received
|
if (k2 < 0) { // This can happen when a false DCI is received
|
||||||
LOG_W(PHY, "%d.%d. Received k2 %ld\n", current_frame, current_slot, k2);
|
LOG_W(PHY, "%d.%d. Received k2 %ld\n", current_frame, current_slot, k2);
|
||||||
return -1;
|
return -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user