- 19 Mar, 2021 40 commits
-
-
Robert Schmidt authored
The previous values of the BSR timers would "starve" the UE: to my understanding, constant UL traffic would not make any BSR timer expire, and thus, no new BSRs were sent by the UE. However, since they were too infrequent, the gNB thought there was no data anymore after serving the UE for some slots. Hence, reduce the timers to have constant UE buffer feedback. Maybe they have to be increased if we ever have many UEs...
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
The TDA change used a binary search (worst case O(log n)) for finding the right amount of RBs, whereas everywhere else we used a linear search (O(n)). We generalize the binary search into a function nr_find_nb_rb() and use it for DL and UL allocation.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Note: Need to maintain same PDSCH and PUSCH TDA list lengths If the PDSCH and PUSCH TDA lists have different lengths (before this commit, PDSCH TDA list length was 2, for PUSCH 3), the OAI UE would get confused: In the special case, the TDA in the DCI for UL was incorrectly calculated, and a change of the PDSCH TDA list triggered UL never being decoded correctly.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
The TBS calculation is necessary to implement the PF coefficient. To avoid having to recalculate TDA and DMRS parameters for every UE that we compare, we pre-calculate (approximate) TB sizes which can be used to calculate the coefficient.
-
Robert Schmidt authored
Until this commit, all user scheduling functionality would search for the search space and CORESET in every TTI for UL&DL, over and over again. This commit sets it once in add_new_nr_ue(), and the rest just uses whatever search space/CORESET is set.
-
Robert Schmidt authored
-
Robert Schmidt authored
Introduce initialization functions for the FR1 preprocessors: they can/will be used to pre-compute values needed during UE scheduling.
-
Sakthivel Velumani authored
-
Sakthivel Velumani authored
Add parameters: MCS, Bandwidth (in PRBs), slot scheduling bitmap
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
To shorten pf_ul() and make it more readable, we put the functionality of retransmittiong to a UE into a separate function. Thus, it might be re-used in other scheduling scheme functions (e.g., RR instead of PF).
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
In order to determine the number of RBs, the pre-processor needs to calculate the TB size (as it depends on how much of data the UE actually has to send). Before, the pre-processor would calculate this again, which obviously is superfluous.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Note: in the DL, we do the same
-
Robert Schmidt authored
nr_process_mac_pdu() gets the UE_id instead of the RNTI as parameter to avoid to search the UE_id after nr_rx_sdu() did that already. Since nr_process_mac_pdu() is only used/called from one file, remove from the header file. Reformat affected code to align more closely with OAI style guidelines.
-
Robert Schmidt authored
-