mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
Refactor ULSCH_id based processing of the PUSCH PDUs to group based processing using FAPI groups. This is required to process multiple PUSCH PDUs jointly for MU-MIMO. This is an initial commit that supports group size = 1 and will be extended to > 1 in the following commits. The flow of group information from MAC to PHY using FAPI is as follows: - In MAC, nr_schedule_pusch_fapi_groups() is introduced to group UEs that have PUSCH PDUs with the same frequency, time, and QAM order along with orthogonal DMRS ports into a single group. The FAPI groups consist of UE lists filled with a PDU index. Based on the parameter UL_tti_req->n_group, the number of unique groups is identified. In each group, the parameter group->n_ue defines the number of UEs present in the group along with their PDU indices. - After receiving the FAPI message in the PHY from MAC, in nr_save_ul_tti_req(), a group number and group size for each PUSCH PDU is allocated in nr_fill_ulsch(), and a PUSCH job is created. - Further, after a job is created, in phy_procedures_gNB_uespec_RX(), the PUSCH PDUs of the ULSCH_ids for each group are segregated based on the group index. They are processed jointly using handle_pusch_rx_group_trigger(), and the PUSCH DTX per UE in the group is calculated using handle_pusch_DTX(). Signed-off-by: Rakesh Mundlamuri <rakesh.mundlamuri@openairinterface.org>
18 KiB
18 KiB