Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MULTIPLEXING OF UCI AND DATA ON SMALL PUSCH ALLOCATIONS SATISFYING A CODE RATE THRESHOLD
Document Type and Number:
WIPO Patent Application WO/2023/237913
Kind Code:
A1
Abstract:
Systems and methods are disclosed for ensuring that a Physical Uplink Shared Channel (PUSCH) is decodable when multiplexing Uplink Control Information (UCI) with uplink data on the PUSCH. In one embodiment, a method performed by a network node for a wireless communications system comprises determining a Modulation and Coding Scheme (MCS) and a number of RBs to be scheduled for a PUSCH transmission from a wireless communication device, the PUSCH transmission comprising both uplink data and UCI. The method further comprises determining an effective code rate for the PUSCH transmission. The method further comprises determining that the effective code rate for the PUSCH transmission is greater than a threshold and, responsive thereto, performing one or more actions that reduce the effective code rate for the PUSCH transmission such that the effective code rate for the PUSCH transmission is less than or equal to the threshold.

Inventors:
LIU QINGCHAO (CA)
ANDERSSON MATTIAS (SE)
Application Number:
PCT/IB2022/055360
Publication Date:
December 14, 2023
Filing Date:
June 08, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ERICSSON TELEFON AB L M (SE)
International Classes:
H04L1/00
Foreign References:
US20160183244A12016-06-23
Other References:
NTT DOCOMO ET AL: "UCI on PUSCH for CA with up to 32 CCs", vol. RAN WG1, no. Beijing, China; 20150824 - 20150828, 23 August 2015 (2015-08-23), XP051001721, Retrieved from the Internet [retrieved on 20150823]
3GPP TECHNICAL SPECIFICATION (TS) 38.212
Attorney, Agent or Firm:
BEVINS, R. Chad (US)
Download PDF:
Claims:
Claims 1. A method performed by a network node (502) for a wireless communications system (500), the method comprising: determining (600) a Modulation and Coding Scheme, MCS, and a number of Resource Blocks, RBs, allocated for a Physical Uplink Shared Channel, PUSCH, from a wireless communication device (512), the PUSCH comprising both uplink data and Uplink Control Information, UCI; determining (602) an effective code rate for the uplink data comprised in the PUSCH ; determining (604) that the effective code rate for the uplink data comprised in the PUSCH is greater than a threshold; and responsive to determining (604) that the effective code rate for the uplink data comprised in the PUSCH is greater than the threshold, performing (606) one or more actions that either: (i) reduce the effective code rate for the uplink data comprised in the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold or (ii) avoid multiplexing of the uplink data and the UCI in the PUSCH. 2. The method of claim 1 wherein the UCI comprises: (a) Channel State Information, CSI, (b) one or more downlink Hybrid Automatic Repeat Request, HARQ, bits, or (c) both CSI and one or more downlink HARQ bits. 3. The method of claim 1 to 2 wherein the effective code rate for the uplink data comprised in the PUSCH is a code rate of the uplink data comprised in the PUSCH considering leftover resource elements, REs, available for the uplink data in the PUSCH after multiplexing the UCI onto the PUSCH. 4. The method of any of claims 1 to 3 wherein the threshold is a function of an estimated channel quality for an uplink channel over which the PUSCH is to be transmitted by the wireless communication device (512).

5. The method of any of claims 1 to 3 wherein the network node (502) is a base station (502), and the threshold is a function of an estimated channel quality for an uplink channel from the wireless communication device (512) to the base station (502). 6. The method of any of claims 1 to 3 wherein the threshold is a function of a base data code rate for the PUSCH that does not take resource elements, REs, used for the UCI into consideration. 7. The method of claim 6 wherein the base data code rate for the PUSCH is a defined target data code rate associated to the MCS without consideration of REs used for the UCI. 8. The method of claim 6 or 7 wherein the threshold is defined as: wherein is the base data code rate for the PUSCH, coeff is a predefined value, and X is a predefined maximum acceptable code rate. 9. The method of claim 8 wherein coeff is a predefined value that is greater than 0 and less than 1. 10. The method of claim 8 or 9 wherein the value of coeff is different for different MCSs. 11. The method of claim 8 or 9 wherein the value of coeff is a predefined value that is the same for different MCSs. 12. The method of any of claims 8 to 11 wherein X is a predefined maximum acceptable code rate for which decoding of the PUSCH can be successful. 13. The method of any of claims 8 to 12 wherein X is a value in the range of and including 0.93 and 0.95.

14. The method of any of claims 1 to 13 wherein performing (606) the one or more actions comprises increasing the number of RBs allocated for the PUSCH, changing the MCS to be used for the PUSCH, or both increasing the number of RBs allocated for the PUSCH and changing the MCS to be used for the PUSCH transmission. 15. The method of any of claims 1 to 13 wherein performing (606) the one or more actions comprises: determining (700, YES) that the number of RBs allocated for the PUSCH can be increased; and responsive to determining (700, YES) that the number of RBs allocated for the PUSCH can be increased: increasing (702) the number of RBs allocated for the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold; and signaling (704), to the wireless communication device (512), an uplink scheduling grant for the PUSCH having the increased number of RBs. 16. The method of any of claims 1 to 13 wherein performing (606) the one or more actions comprises: determining (700, YES) that the MCS for the PUSCH transmission can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold; and responsive to determining (700, YES) that the MCS for the PUSCH can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold: changing (702) the MCS for the PUSCH to a new MCS for which the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold; and signaling (704), to the wireless communication device (512), an uplink scheduling grant for the PUSCH , the uplink scheduling grant comprising information that indicates the new MCS.

17. The method of any of claims 1 to 13 wherein performing (606) the one or more actions comprises: determining (700, YES) that the number of RBs and the MCS for the PUSCH can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold; and responsive to determining (700, YES) that the number of RBs and the MCS for the PUSCH can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold: changing (702) both the number of RBs and the MCS for the PUSCH to a new number of RBs and a new MCS for which the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold; and signaling (704), to the wireless communication device (512), an uplink scheduling grant for the PUSCH , the uplink scheduling grant comprising information that indicates the new number of RBs and the new MCS. 18. The method of any of claims 1 to 13 wherein the UCI comprises both downlink Hybrid Automatic Repeat Request, HARQ, information and Channel State Information, CSI, and performing (606) the one or more actions comprises: determining (802) that the uplink data is not to be scheduled such that only the UCI is scheduled on the PUSCH; and signaling (804), to the wireless communication device (512), an uplink scheduling grant for the PUSCH, the uplink scheduling grant comprising information that indicates that only the UCI is scheduled on the PUSCH. 19. The method of claim 18 wherein performing (606) the one or more actions further comprises: determining (700, NO) that the number of RBs allocated for the PUSCH and the MCS for the PUSCH cannot be changed such that the effective code rate for the uplink data comprised in the PUSCH transmission is reduced to less than or equal to the threshold; wherein determining (802) that the uplink data is not to be scheduled such that only the UCI is scheduled on the PUSCH and signaling (804) the uplink scheduling grant for the PUSCH are performed responsive to determining (700, NO) that the number of RBs to be scheduled for the PUSCH transmission and the MCS for the PUSCH transmission cannot be changed such that the effective code rate for the PUSCH transmission is reduced to less than or equal to the threshold. 20. The method of any of claims 1 to 13 wherein the UCI comprises Channel State Information, CSI, but not downlink Hybrid Automatic Repeat Request, HARQ, information, and performing (606) the one or more actions comprises: determining (808) that one, but not both, of the UCI and the uplink data is to be scheduled on the PUSCH; and signaling (810), to the wireless communication device (512), an uplink scheduling grant for the PUSCH, the uplink scheduling grant comprising information that indicates the one of the UCI and the uplink data that is scheduled on the PUSCH. 21. The method of claim 20 wherein performing (606) the one or more actions further comprises: determining (700, NO) that the number of RBs allocated for the PUSCH and the MCS for the PUSCH cannot be changed such that the effective code rate for the uplink data comprised in the PUSCH transmission is reduced to less than or equal to the threshold; wherein determining (808) that one, but not both, of the UCI and the uplink data is to be scheduled on the PUSCH and signaling (810) the uplink scheduling grant for the PUSCH are performed responsive to determining (700, NO) that the number of RBs to be scheduled for the PUSCH transmission and the MCS for the PUSCH transmission cannot be changed such that the effective code rate for the PUSCH transmission is reduced to less than or equal to the threshold. 22. The method of any of claims 1 to 13 wherein the UCI comprises downlink Hybrid Automatic Repeat Request, HARQ, information but not Channel State Information, CSI, and performing (606) the one or more actions comprises: determining (812) that the uplink data is not to be scheduled on the PUSCH such that only the UCI is scheduled on the PUSCH; and signaling (814), to the wireless communication device (512), an uplink scheduling grant for the PUSCH, the uplink scheduling grant comprising information that indicates that only the UCI is scheduled on the PUSCH. 23. The method of claim 22 wherein performing (606) the one or more actions further comprises: determining (700, NO) that the number of RBs allocated for the PUSCH and the MCS for the PUSCH cannot be changed such that the effective code rate for the uplink data comprised in the PUSCH transmission is reduced to less than or equal to the threshold; wherein determining (812) that the uplink data is not to be scheduled on the PUSCH such that only the UCI is scheduled on the PUSCH and signaling (814) the uplink scheduling grant for the PUSCH are performed responsive to determining (700, NO) that the number of RBs to be scheduled for the PUSCH transmission and the MCS for the PUSCH transmission cannot be changed such that the effective code rate for the PUSCH transmission is reduced to less than or equal to the threshold. 24. The method of any of claims 1 to 13 wherein performing (606) the one or more actions comprises increasing (900) a code rate for the UCI comprised in the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is reduced to a value that is less than or equal to the threshold. 25. The method of claim 24 wherein increasing (900) the code rate for the UCI comprises decreasing a beta factor that inversely relates the code rate for the UCI comprised in the PUSCH to the effective code rate of the uplink data comprised in the PUSCH. 26. The method of any of claims 1 to 25 wherein the determined MCS is one of a plurality of predefined MCSs each associated to a respective base code rate for a given number of RBs. 27. The method of any of claims 1 to 26 wherein the determined number of RBs is 1 RB.

28. A network node (502; 1200) for a wireless communications system (500), the network node (502; 1200) comprising processing circuitry (1204; 1304) configured to cause the network node (502; 1200) to: determine (600) a Modulation and Coding Scheme, MCS, and a number of Resource Blocks, RBs, allocated for a Physical Uplink Shared Channel, PUSCH, from a wireless communication device (512), the PUSCH comprising both uplink data and Uplink Control Information, UCI; determine (602) an effective code rate for the uplink data comprised in the PUSCH; determine (604) that the effective code rate for the uplink data comprised in the PUSCH is greater than a threshold; and responsive to determining (604) that the effective code rate for the uplink data comprised in the PUSCH is greater than the threshold, perform (606) one or more actions that either: (i) reduce the effective code rate for the uplink data comprised in the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold or (ii) avoid multiplexing of the uplink data and the UCI in the PUSCH. 29. The network node (502; 1200) of claim 28 wherein the processing circuitry (1204; 1304) is further configured to cause the network node (502; 1200) to perform the method of any of claims 2 to 27.

Description:
MULTIPLEXING OF UCI ON SMALL PUSCH ALLOCATIONS Technical Field [0001] The present disclosure relates to a cellular communications system such as, e.g., a Third Generation Partnership Project (3GPP) Fifth Generation (5G) system and more specifically relates to multiplexing of Uplink Control Information (UCI) on a Physical Uplink Shared Channel (PUSCH). Background Channel Coding Background [0002] In Third Generation Partnership Project (3GPP) Fifth Generation (5G) New Radio (NR), data for a Physical Uplink Shared Channel (PUSCH) is coded using a Low- Density Parity Check (LDPC) code. LDPC codes are easily described through a Parity- Check Matrix (PCM), where the rows and columns correspond to check nodes and variable nodes, respectively. Each edge in the PCM corresponds to an edge between a check node and a variable node. [0003] As illustrated in the example of Figure 1, the PCM (H) can be mapped to a bipartite graph composed of check nodes and variable nodes, where the rows and columns of the PCM correspond to check nodes and variable nodes, respectively. Each entry h(i,j) that is equal to a value of “1” in the PCM corresponds to an edge between a check node and a variable node. The code rate of the PCM is defined as the number of information bits k divided by the number of coded bits n (i.e., R=k/n), where n is the number of columns in the PCM and k equals the number of columns minus the number of rows of the PCM. [0004] An important class of LDPC codes are Quasi-Cyclic (QC) LDPC codes. The PCM of a QC-LDPC code is of size m*n and can be represented by a base matrix H base of size m b *n b where m b =m/Z, n b =n/Z, and Z is a lifting factor. Each entry of H base contains either the number -1 or one or more numbers between 0 and Z – 1. Let i and j be integers between 0 and (m/Z-1) and 0 and (n/Z-1), respectively. Then, the submatrix formed from the entries in rows Z*i to Z*(i + 1) - 1 and columns Z*j to Z*(j + 1) – 1 is determined by the entry in row i and column j of H base in the following way: • If H base (i,j) = -1, then the submatrix in the expanded binary matrix H is equal to the Z by Z zero matrix. • If H base (i,j) contains one or more integers k 1 , k 2 , … k d between 0 and Z – 1, the submatrix in the expanded binary matrix H is equal to the sum of the shifted identity matrices P_ k 1 + P_k 2 +…+ P_k d , where each ZxZ submatrix P_k is obtained from the Z by Z identity matrix by cyclically shifting the columns to the right k times. [0005] LDPC codes may be optimized for any block length and/or any code rate. However, it is not efficient to use different PCMs for each of the many alternatives of block lengths and rates in practical communication systems. Instead, rate matching is implemented through shortening, puncturing and/or repetition. [0006] A systematic code has codewords of the form x = [s p], where s is a vector of information bits, or systematic bits, and p is a vector of parity bits which are calculated as a function of the systematic bits. [0007] Shortening is a technique to obtain codes of shorter length and lower rate from a dedicated LDPC code by fixing the value of some information bits to some known values (usually ‘0’) when encoding, whose positions are assumed to be available to both encoder and decoder. For a systematic code, these shortened bits are then punctured from the codeword before transmission. In the decoding process, the fixed bits are given infinite reliability. Shortening reduces the size of information block from k to k tx . Puncturing on the other hand is a technique where some coded bits which are not known are not transmitted, which increases the code rate of the dedicated LDPC mother code. Repetition simply means that some of the coded bits are repeated and transmitted more than one time. Puncturing decreases code block size, while repetition increases the code block size. Together puncturing, shortening, and repetition changes the size of coded bits from n to ntx. [0008] After rate matching is applied, the native code size (k, n) defined by the PCM is modified to actual code size (ktx, ntx). Hence, for a set of ktx information bits, ntx coded bits are produced for transmission. Correspondingly, the actual code rate is calculated based on Rtx= ktx / ntx. [0009] 5G NR uses two different base matrices, referred to as Base Graph 1 (BG1) and Base Graph 2 (BG2), as well as several different lifting factors Z to accommodate different ranges of code rates and information block sizes. The 5G NR codes are not systematic, since the first 2*Z information bits are punctured, but we will refer to the information bits as systematic bits nevertheless. [0010] BG1 has 68 columns and 46 rows, and BG2 has 52 columns and 42 rows. When BG1 is used to encode B information bits in a single code block, the smallest lifting size Z that satisfies Z*22 >= B from the set of available lifting sizes is chosen. If the number of filler bits F = 22*Z – B > 0, F zero bits are inserted after the systematic bits prior to generating parity bits. These bits are removed before transmission. This is the shortening process referred to above. [0011] For BG2, additional shortening is applied for smaller information block lengths. The following procedure is applied as defined in 3GPP Technical Specification (TS) 38.212 V17.0.0: If B > 640 Kb = 10 Elseif B > 560 Kb = 9 Elseif B > 192 Kb = 8 Else Kb = 6 endif The smallest lifting size Z that satisfies Z*Kb >= B from the set of available lifting sizes is chosen. The number of filler bits F is then F = 10*Z – B. Multiplexing of UCI onto PUSCH [0012] When Uplink Control Information (UCI) is transmitted at the same time as data, it is multiplexed onto PUSCH. The UCI is encoded separately and mapped to some of the resource elements scheduled for PUSCH. The number of coded modulation symbols per layer used for the UCI (take Hybrid Automatic Repeat Request (HARQ) for example) is determined from a quantity of the following form, in 3GPP TS 38.212 Clause 6.3.2.4.1.1: where • O ACK is the number of Hybrid Automatic Repeat Request (HARQ) Acknowledgment (ACK) bits; • s the number of Cyclic Redundancy Check (CRC) bits for HARQ-ACK determined according to Subclause 6.3.1.2.1 of 3GPP TS 38.212; which is the beta for DL HARQ as defined in 3GPP 38.213 Table 9.3-1 and Table 9.3-2 of Section 9.3 and is used to reduce the DL HARQ code rate relative to the data code rate; is the number of code blocks for the Uplink Shared Channel (UL-SCH) of the PUSCH transmission; • if the Downlink Control Information (DCI) format scheduling the PUSCH transmission includes a Code Block Group Transmission Information (CBGTI) field indicating that the User Equipment (UE) shall not transmit the r-th code block, ; otherwise, is the r-th code block size for UL-SCH of the PUSCH transmission; • is the scheduled bandwidth of the PUSCH transmission, expressed as a number of subcarriers; • is the number of subcarriers in Orthogonal Frequency Division Multiplexing (OFDM) symbol that carries Phase Tracking Reference Signal (PTRS) in the PUSCH transmission; • is the number of resource elements that can be used for transmission of Uplink Control Information (UCI) in OFDM symbol , fo in the PUSCH transmission and total number of OFDM symbols of the PUSCH, including all OFDM symbols used for Demodulation Reference Signal (DMRS); • for any OFDM symbol that carries DMRS of the PUSCH • for any OFDM symbol that does not carry DMRS of the [001 3] Of particular interest in the present disclosure is the first variable in the min expression, Here is approximately the number of UCI bits plus the number of CRC bits used when encoding the UCI. [0014] Assuming that the first expression in the min is smaller than the second expression, the following equation can be defined: or Here s approximately the number of resource elements scheduled for P used for PTRS or DMRS. [0015] For BG1, [0016] Assuming no shortening of the LDPC code, i.e. no filler bits and letting be the modulation order of the PUSCH, we then have: Since and [0017] One way of performing link adaptation for both data coding rate and UCI coding rate is to choose a data coding rate to target a certain block error rate. The UCI coding rate is then chosen proportional to the data coding rate (generally smaller) to achieve the target block error rate for UCI. Assuming a small impact of the shortening, this is achieved by choosing a co quations above. For BG1, the number of filler bits are small, s e to the actual code rate. For BG2 however, Kb is chosen base d on the number of information bits to be encoded, but al to 10. This means that the actual code rate can differ from a large amount. E.g. if Kb=6, then the UCI code rate becomes 10/6 larger when using the formulas in 3GPP TS 38.212, compared to if it had been calculated using the actual data code rate. [0018] Similar formulas exist for choosing the number of resource elements used for Channel State Information (CSI) part 1 and CSI part 2. [0019] After assigning resource elements for UCI, the remaining resource elements are used for data. Encoding Schemes for UCI Multiplexed on PUSCH. [0020] There are three different coding schemes used in NR for encoding UCI multiplexed on PUSCH. For payloads up to 2 bits, a repetition/simplex code is used. Note that payloads of 1 bit use a repetition code, whereas payloads of 2 bits use a simplex code. For payloads between 3 and 11 bits, a block code is used. For payloads of 12 bits and larger, first a CRC is attached and then a polar code is used. The different coding schemes have different error correcting performance, in part due to the use of a CRC for the polar code. Summary [0021] Systems and methods are disclosed for ensuring that a Physical Uplink Shared Channel (PUSCH) is decodable when multiplexing Uplink Control Information (UCI) with uplink data on the PUSCH. This is particularly beneficial for small PUSCH allocations (e.g., a PUSCH allocation of 1 Resource Block (RB)). In this regard, embodiments of a method performed by a network node for a wireless communications system are disclosed. In one embodiment, a method performed by a network node for a wireless communications system comprises determining a Modulation and Coding Scheme (MCS) and a number of RBs allocated for a PUSCH from a wireless communication device, the PUSCH comprising both uplink data and UCI. The method further comprises determining an effective code rate for the uplink data comprised in the PUSCH, determining that the effective code rate for the uplink data comprised in the PUSCH is greater than a threshold, and, responsive to determining that the effective code rate for the uplink data comprised in the PUSCH is greater than the threshold, performing one or more actions that either: (i) reduce the effective code rate for the uplink data comprised in the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold or (ii) avoid multiplexing of the uplink data and the UCI in the PUSCH. In this manner, decodability of the PUSCH can be ensured even for PUSCH with small RB allocations. [0022] In one embodiment, the UCI comprises: (a) Channel State Information (CSI) (b) one or more downlink Hybrid Automatic Repeat Request (HARQ) bits, or (c) both CSI and one or more downlink HARQ bits. [0023] In one embodiment, the effective code rate for the uplink data comprised in the PUSCH is a code rate of the uplink data comprised in the PUSCH considering leftover resource elements (REs) available for the uplink data in the PUSCH after multiplexing the UCI onto the PUSCH. [0024] In one embodiment, the threshold is a function of an estimated channel quality for an uplink channel over which the PUSCH is to be transmitted by the wireless communication device. [0025] In one embodiment, the network node is a base station, and the threshold is a function of an estimated channel quality for an uplink channel from the wireless communication device to the base station. [0026] In one embodiment, the threshold is a function of a base data code rate for the PUSCH that does not take REs used for the UCI into consideration. In one embodiment, the base data code rate for the PUSCH is a defined target data code rate associated to the MCS without consideration of REs used for the UCI. In one embodiment, the threshold is defined as: wherein R base is the base data code rate for the PUSCH, coeff is a predefined value, and X is a predefined maximum acceptable code rate. In one embodiment, coeff is a predefined value that is greater than 0 and less than 1. In one embodiment, the value of coeff is different for different MCSs. In one embodiment, the value of coeff is a predefined value that is the same for different MCSs. In one embodiment, X is a predefined maximum acceptable code rate for which decoding of the PUSCH can be successful. In one embodiment, X is a value in the range of and including 0.93 and 0.95. [0027] In one embodiment, performing the one or more actions comprises increasing the number of RBs allocated for the PUSCH, changing the MCS to be used for the PUSCH, or both increasing the number of RBs allocated for the PUSCH and changing the MCS to be used for the PUSCH transmission. [0028] In one embodiment, performing the one or more actions comprises determining that the number of RBs allocated for the PUSCH can be increased; and, responsive to determining that the number of RBs allocated for the PUSCH can be increased, increasing the number of RBs allocated for the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold and signaling, to the wireless communication device, an uplink scheduling grant for the PUSCH having the increased number of RBs. [0029] In one embodiment, performing the one or more actions comprises determining that the MCS for the PUSCH transmission can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold, and, responsive to determining that the MCS for the PUSCH can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold, changing the MCS for the PUSCH to a new MCS for which the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold and signaling, to the wireless communication device, an uplink scheduling grant for the PUSCH , the uplink scheduling grant comprising information that indicates the new MCS. [0030] In one embodiment, performing the one or more actions comprises determining that the number of RBs and the MCS for the PUSCH can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold, and, responsive to determining that the number of RBs and the MCS for the PUSCH can be changed such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold, changing both the number of RBs and the MCS for the PUSCH to a new number of RBs and a new MCS for which the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold and signaling, to the wireless communication device, an uplink scheduling grant for the PUSCH, the uplink scheduling grant comprising information that indicates the new number of RBs and the new MCS. [0031] In one embodiment, the UCI comprises both downlink HARQ information and CSI, and performing the one or more actions comprises determining that the uplink data is not to be scheduled such that only the UCI is scheduled on the PUSCH and signaling, to the wireless communication device, an uplink scheduling grant for the PUSCH, the uplink scheduling grant comprising information that indicates that only the UCI is scheduled on the PUSCH. In one embodiment, performing the one or more actions further comprises determining that the number of RBs allocated for the PUSCH and the MCS for the PUSCH cannot be changed such that the effective code rate for the uplink data comprised in the PUSCH transmission is reduced to less than or equal to the threshold, wherein determining that the uplink data is not to be scheduled such that only the UCI is scheduled on the PUSCH and signaling the uplink scheduling grant for the PUSCH are performed responsive to determining that the number of RBs to be scheduled for the PUSCH transmission and the MCS for the PUSCH transmission cannot be changed such that the effective code rate for the PUSCH transmission is reduced to less than or equal to the threshold. [0032] In one embodiment, the UCI comprises CSI but not downlink HARQ information, and performing the one or more actions comprises determining that one, but not both, of the UCI and the uplink data is to be scheduled on the PUSCH and signaling, to the wireless communication device, an uplink scheduling grant for the PUSCH, the uplink scheduling grant comprising information that indicates the one of the UCI and the uplink data that is scheduled on the PUSCH. In one embodiment, performing the one or more actions further comprises determining that the number of RBs allocated for the PUSCH and the MCS for the PUSCH cannot be changed such that the effective code rate for the uplink data comprised in the PUSCH transmission is reduced to less than or equal to the threshold, wherein determining that one, but not both, of the UCI and the uplink data is to be scheduled on the PUSCH and signaling the uplink scheduling grant for the PUSCH are performed responsive to determining that the number of RBs to be scheduled for the PUSCH transmission and the MCS for the PUSCH transmission cannot be changed such that the effective code rate for the PUSCH transmission is reduced to less than or equal to the threshold. [0033] In one embodiment, the UCI comprises downlink HARQ information but not CSI, and performing the one or more actions comprises determining that the uplink data is not to be scheduled on the PUSCH such that only the UCI is scheduled on the PUSCH and signaling, to the wireless communication device, an uplink scheduling grant for the PUSCH, the uplink scheduling grant comprising information that indicates that only the UCI is scheduled on the PUSCH. In one embodiment, performing the one or more actions further comprises determining that the number of RBs allocated for the PUSCH and the MCS for the PUSCH cannot be changed such that the effective code rate for the uplink data comprised in the PUSCH transmission is reduced to less than or equal to the threshold, wherein determining that the uplink data is not to be scheduled on the PUSCH such that only the UCI is scheduled on the PUSCH and signaling the uplink scheduling grant for the PUSCH are performed responsive to determining that the number of RBs to be scheduled for the PUSCH transmission and the MCS for the PUSCH transmission cannot be changed such that the effective code rate for the PUSCH transmission is reduced to less than or equal to the threshold. [0034] In one embodiment, performing the one or more actions comprises increasing a code rate for the UCI comprised in the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is reduced to a value that is less than or equal to the threshold. In one embodiment, increasing the code rate for the UCI comprises decreasing a beta factor that inversely relates the code rate for the UCI comprised in the PUSCH to the effective code rate of the uplink data comprised in the PUSCH. [0035] In one embodiment, the determined MCS is one of a plurality of predefined MCSs each associated to a respective base code rate for a given number of RBs. [0036] In one embodiment, the determined number of RBs is 1 RB. [0037] Corresponding embodiments of a network node are also disclosed. In one embodiment, a network node for a wireless communications system comprises processing circuitry configured to cause the network node to determine a MCS and a number of RBs allocated for a PUSCH from a wireless communication device, the PUSCH comprising both uplink data and UCI. The processing circuitry is further configured to cause the network node to determine an effective code rate for the uplink data comprised in the PUSCH, determine that the effective code rate for the uplink data comprised in the PUSCH is greater than a threshold, and, responsive to determining that the effective code rate for the uplink data comprised in the PUSCH is greater than the threshold, perform one or more actions that either: (i) reduce the effective code rate for the uplink data comprised in the PUSCH such that the effective code rate for the uplink data comprised in the PUSCH is less than or equal to the threshold or (ii) avoid multiplexing of the uplink data and the UCI in the PUSCH. Brief Description of the Drawings [0038] The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure. [0039] Figure 1 illustrates an example of a Parity-Check Matrix (PCM) and the corresponding bipartite graph; [0040] Figures 2A, 2B, 3A, 3B, 4A, and 4B are tables that illustrate code rate issues that may result in a Physical Uplink Shared Channel (PUSCH) being undecodable when the PUSCH allocation is small and Uplink Control Information (UCI) is multiplexed onto the PUSCH; [0041] Figure 5 illustrates one example of a cellular communications system according to some embodiments of the present disclosure; [0042] Figure 6 is a flow chart that illustrates the operation of a base station to handle multiplexing of UCI onto a PUSCH such that the PUSCH remains decodable even for a small PUSCH allocation in accordance with an embodiment of the present disclosure; [0043] Figure 7 illustrates step 606 of Figure 6 in more detail, in accordance with one embodiment of the present disclosure; [0044] Figure 8 is a flow chart that illustrates step 706 of Figure 7 in more detail, in accordance with one embodiment of the present disclosure; [0045] Figure 9 illustrates step 606 of Figure 6 in more detail, in accordance with another embodiment of the present disclosure; [0046] Figure 10 is a table that illustrates how decreasing the beta value increases the effective code rate of the UCI and thus decreases the effective code rate of the PUSCH to an acceptable level in accordance with one embodiment of the present disclosure; [0047] Figure 11 illustrates the operation of a base station and a wireless communication device in accordance with one embodiment of the present disclosure; [0048] Figure 12 is a schematic block diagram of a radio access node according to some embodiments of the present disclosure; [0049] Figure 13 is a schematic block diagram that illustrates a virtualized embodiment of the radio access node of Figure 12 according to some embodiments of the present disclosure; [0050] Figure 14 is a schematic block diagram of the radio access node of Figure 12 according to some other embodiments of the present disclosure; [0051] Figure 15 is a schematic block diagram of a User Equipment device (UE) according to some embodiments of the present disclosure; [0052] Figure 16 is a schematic block diagram of the UE of Figure 15 according to some other embodiments of the present disclosure; [0053] Figure 17 illustrates a telecommunication network connected via an intermediate network to a host computer in accordance with some embodiments of the present disclosure; [0054] Figure 18 is a generalized block diagram of a host computer communicating via a base station with a UE over a partially wireless connection in accordance with some embodiments of the present disclosure; [0055] Figure 19 is a flowchart illustrating a method implemented in a communication system in accordance with one embodiment of the present disclosure; and [0056] Figure 20 is a flowchart illustrating a method implemented in a communication system in accordance with one embodiment of the present disclosure. Detailed Description [0057] The embodiments set forth below represent information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure. [0058] Radio Node: As used herein, a “radio node” is either a radio access node or a wireless communication device. [0059] Radio Access Node: As used herein, a “radio access node” or “radio network node” or “radio access network node” is any node in a Radio Access Network (RAN) of a cellular communications network that operates to wirelessly transmit and/or receive signals. Some examples of a radio access node include, but are not limited to, a base station (e.g., a New Radio (NR) base station (gNB) in a Third Generation Partnership Project (3GPP) Fifth Generation (5G) NR network or an enhanced or evolved Node B (eNB) in a 3GPP Long Term Evolution (LTE) network), a high-power or macro base station, a low-power base station (e.g., a micro base station, a pico base station, a home eNB, or the like), a relay node, a network node that implements part of the functionality of a base station or a network node that implements a gNB Distributed Unit (gNB-DU)) or a network node that implements part of the functionality of some other type of radio access node. [0060] Core Network Node: As used herein, a “core network node” is any type of node in a core network or any node that implements a core network function. Some examples of a core network node include, e.g., a Mobility Management Entity (MME), a Packet Data Network Gateway (P-GW), a Service Capability Exposure Function (SCEF), a Home Subscriber Server (HSS), or the like. Some other examples of a core network node include a node implementing an Access and Mobility Function (AMF), a User Plane Function (UPF), a Session Management Function (SMF), an Authentication Server Function (AUSF), a Network Slice Selection Function (NSSF), a Network Exposure Function (NEF), a Network Function (NF) Repository Function (NRF), a Policy Control Function (PCF), a Unified Data Management (UDM), or the like. [0061] Communication Device: As used herein, a “communication device” is any type of device that has access to an access network. Some examples of a communication device include, but are not limited to: mobile phone, smart phone, sensor device, meter, vehicle, household appliance, medical appliance, media player, camera, or any type of consumer electronic, for instance, but not limited to, a television, radio, lighting arrangement, tablet computer, laptop, or Personal Computer (PC). The communication device may be a portable, hand-held, computer-comprised, or vehicle- mounted mobile device, enabled to communicate voice and/or data via a wireless or wireline connection. [0062] Wireless Communication Device: One type of communication device is a wireless communication device, which may be any type of wireless device that has access to (i.e., is served by) a wireless network (e.g., a cellular network). Some examples of a wireless communication device include, but are not limited to: a User Equipment device (UE) in a 3GPP network, a Machine Type Communication (MTC) device, and an Internet of Things (IoT) device. Such wireless communication devices may be, or may be integrated into, a mobile phone, smart phone, sensor device, meter, vehicle, household appliance, medical appliance, media player, camera, or any type of consumer electronic, for instance, but not limited to, a television, radio, lighting arrangement, tablet computer, laptop, or PC. The wireless communication device may be a portable, hand-held, computer-comprised, or vehicle-mounted mobile device, enabled to communicate voice and/or data via a wireless connection. [0063] Network Node: As used herein, a “network node” is any node that is either part of the RAN or the core network of a cellular communications network/system. [0064] Note that the description given herein focuses on a 3GPP cellular communications system and, as such, 3GPP terminology or terminology similar to 3GPP terminology is oftentimes used. However, the concepts disclosed herein are not limited to a 3GPP system. [0065] Note that, in the description herein, reference may be made to the term “cell”; however, particularly with respect to 5G NR concepts, beams may be used instead of cells and, as such, it is important to note that the concepts described herein are equally applicable to both cells and beams. [0066] Certain challenges exist when using existing solutions for multiplexing of Uplink Control Information (UCI) onto a Physical Uplink Shared Channel (PUSCH) together with uplink (UL) data. For a large PUSCH allocation, the number of UCI bits is small compared to the transport block size. In these cases, transmitting UCI together with UL data on the PUSCH does not change the data code rate on the PUSCH significantly. For example, for a PUSCH allocation of sixty-four (64) Physical Resource Blocks (PRBs) with the smallest Modulation and Coding Scheme (MCS) index for MCS Table 1 defined in the 3GPP NR specifications, the Transport Block Size (TBS) can be 2,216 bits. Sending six (6) Hybrid Automatic Repeat Request (HARQ) bits at a very low code rate together with the UL data does not significantly affect the data code rate. [0067] However, for a small PUSCH allocation, the number of UCI bits is comparable to the TBS. For example, for a one (1) PRB PUSCH allocation, the TBS can be thirty-two (32) bits. Sending fourteen (14) UCI bits on the same PUSCH allocation with low code rate significantly changes the data code rate. This can lead to the UL data being impossible to decode. [0068] More specifically, Figures 2A and 2B are a table that illustrates the difference between the target code rate signaled in the MCS field of the Downlink Control Information (DCI) for a PUSCH allocation and the actual data code rate (also referred to herein as the “effective code rate” of the UL data carried on the PUSCH) when multiplexing UCI including two (2) HARQ bits, six (6) CSI part 1 bits, and either 1 or 2 CSI part 2 bits onto the PUSCH together with the UL data. As can be seen in this table, the actual data code rate used differs significantly from the target code rate, and the smallest achievable data code rate is 0.3288 for a 1 PRB PUSCH allocation. [0069] As shown in the table of Figures 3A and 3B, if the number of HARQ bits is increased to six (6) HARQ bits, the situation becomes even worse. With six (6) HARQ bits and a fixed beta factor, the smallest data code rate possible for 1 PRB PUSCH allocation is 0.8. Another issue is that reducing the MCS in this case actually increases the effective data code rate of the UL data since the code rate for the UCI is further decreased and the UCI therefore occupies more of the resources. [0070] As shown in the table of Figures 4A and 4B, with even more UCI bits to transmit, the situation further worsens. For a single PRB PUSCH allocation, the smallest available data code rate for the example of Figures 4A and 4B is 0.9189. This high data code rate is only decodable at high Signal to Noise Ratio (SNR), and none of the other data code rates are decodable. Note that a data code rate that is higher than a known threshold is not decodable. For Long Term Evolution (LTE) and NR, this threshold is in the range of and including 0.93 to 0.95. A similar threshold can be determined (e.g., via simulations) for other types of radio access technologies. [0071] Systems and methods are disclosed herein that provide solutions to the aforementioned and/or other challenges. In some embodiments, the combination of large UCI payloads and small data payloads for a PUSCH are avoided due to a scheduling decision. In some embodiments, separate beta factors are used for small PUSCH payloads. [0072] In some embodiments, the link adaptation (LA) process is modified to take these effects into account. In some embodiments, the LA process utilizes the effective data code rate (i.e., the effective code rate of the UL data) when deciding the MCS and PRB allocation for a PUSCH when UCI and UL data are to be multiplexed onto the PUSCH. [0073] In some embodiments, the LA compares the effective data code rate with a threshold. If this threshold is not met, a larger PRB allocation and/or a different MCS is chosen such that the resulting effective data code rate that meets the threshold. In some embodiments, the threshold is a function of a channel quality estimation. In some embodiments, the threshold is a function of an estimated base code rate that does not take into account any bits used for UCI. Thus, this base code rate is sometimes referred to herein as a base data code rate. In some embodiments, the base code rate is chosen from the MCS table. In some embodiments, the threshold is a function of the form min(base rate*(coeff + 1), X), where coeff is a coefficient that can be found from link level simulations. In one embodiment, X is a value in the range of and including 0.93 and 0.95 (e.g., X=0.93, X=0.94, or X=0.95). In some embodiments, the coefficient is < 1. In some embodiments, the coefficient is different for different MCSs. [0074] In some embodiments, it is not possible to increase the number of PRBs for the PUSCH allocation. This can be due to a power limited wireless communication device, e.g. a wireless communication device close to the cell edge, or due to some PRBs needed for to schedule other wireless communication devices. In these embodiments, it is not possible to increase the number of PRBs sufficiently. [0075] When it is not possible to increase the number of PRBs and/or change the MCS such that the effective code rate for the UL data satisfies the threshold, then one or more actions are taken to avoid multiplexing of the UCI and UL data on the PUSCH. In one embodiment, the one or more actions comprise not scheduling the UCI on the PUSCH such that only the UL data is scheduled on the PUSCH, in which case the UCI may be scheduled in a later slot, or not scheduling the UL data on the PUSCH such that only the UCI is scheduled on the PUSCH, in which case the UL data may be scheduled in a later slot. Downlink (DL) Hybrid Automatic Repeat Request (HARQ) bits cannot be delayed, while CSI can be delayed to a later slot. Thus, the action(s) taken may depend on whether the UCI includes both DL HARQ bits and CSI, includes only CSI, or includes only DL HARQ bits. In one embodiment, the UCI only feature (UL Shared Channel (SCH) Indicator flag set 0 in DCI) or data only to schedule only UCI in the PUSCH. [0076] In some embodiments, when it is not possible to increase the number of PRBs and/or change the MCS such that the effective code rate for the UL data satisfies the threshold and the UCI comprises only CSI, then CSI is not scheduled such that only the UL data will be scheduled for the PUSCH transmission in the slot. [0077] In some embodiments, when it is not possible to increase the number of PRBs and/or change the MCS such that the effective code rate for the UL data satisfies the threshold if it is still not possible to schedule the UL data with the desired data code rate even after not scheduling the CSI, then the UL data is not scheduled. In this case, it is possible to change the decision to not schedule CSI and to then schedule CSI on the PUSCH without the UL data. [0078] If there is no DL HARQ bits to transmit (i.e., the UCI comprises only CSI), then the UL data and the CSI can be interleaved in time (slots) (e.g., in PUSCHs in different time slots) if the wireless communication device is power limited or there are too few available PRBs. For example, in some slots, only UL data is scheduled on a PUSCH, and in some slots only CSI is scheduled on a PUSCH. [0079] In another set of embodiments, a smaller beta factor is used for small PUSCH allocations. In one embodiment, the beta factor used is a function of the number of PRBs used, as well as the UCI type and the UCI payload. In one embodiment, if the number of PRBs allocated is smaller than a threshold, the beta factor used for HARQ is a constant. In one embodiment, the base station signals Y (e.g., Y=4) different beta factors to the wireless communication device. If the number of PRBs is above a certain threshold, the base station signals one of three beta factors depending on the number of HARQ bits the wireless communication device should report. If the number of PRBs is below a certain threshold, the base station signals the fourth beta factor. [0080] While not being limited to or by any particular advantage, embodiments of the present disclosure may provide a number of advantages over existing solutions. For example, by avoiding the problematic combinations of small data payloads and small UCI payload with very low code rate, both data and UCI can be successfully decoded. [0081] Figure 5 illustrates one example of a cellular communications system 500 in which embodiments of the present disclosure may be implemented. In the embodiments described herein, the cellular communications system 500 is a 5G system (5GS) including a Next Generation RAN (NG-RAN) and a 5G Core (5GC) or an Evolved Packet System (EPS) including an Evolved Universal Terrestrial RAN (E-UTRAN) and an Evolved Packet Core (EPC); however, the present disclosure is not limited thereto. In this example, the RAN includes base stations 502-1 and 502-2, which in the 5GS include NR base stations (gNBs) and optionally next generation eNBs (ng-eNBs) (e.g., LTE RAN nodes connected to the 5GC) and in the EPS include eNBs, controlling corresponding (macro) cells 504-1 and 504-2. The base stations 502-1 and 502-2 are generally referred to herein collectively as base stations 502 and individually as base station 502. Likewise, the (macro) cells 504-1 and 504-2 are generally referred to herein collectively as (macro) cells 504 and individually as (macro) cell 504. The RAN may also include a number of low power nodes 506-1 through 506-4 controlling corresponding small cells 508-1 through 508-4. The low power nodes 506-1 through 506-4 can be small base stations (such as pico or femto base stations) or RRHs, or the like. Notably, while not illustrated, one or more of the small cells 508-1 through 508-4 may alternatively be provided by the base stations 502. The low power nodes 506-1 through 506-4 are generally referred to herein collectively as low power nodes 506 and individually as low power node 506. Likewise, the small cells 508-1 through 508-4 are generally referred to herein collectively as small cells 508 and individually as small cell 508. The cellular communications system 500 also includes a core network 510, which in the 5G System (5GS) is referred to as the 5GC. The base stations 502 (and optionally the low power nodes 506) are connected to the core network 510. [0082] The base stations 502 and the low power nodes 506 provide service to wireless communication devices (WCDs) 512-1 through 512-5 in the corresponding cells 504 and 508. The WCDs 512-1 through 512-5 are generally referred to herein collectively as WCDs 512 and individually as WCD 512. In the following description, the WCDs 512 are oftentimes UEs and as such sometimes referred to herein as UEs, but the present disclosure is not limited thereto. [0083] Figure 6 is a flow chart that illustrates the operation of a base station 502 in accordance with one embodiment of the present disclosure. Note that the base station 502 may, in some implementations, be implemented in a distributed manner as a central unit (e.g., a gNB-CU) and one or more distributed units (e.g., one or more gNB- DUs) in which case the process of Figure 6 may be performed by the central unit, a distributed unit, or a combination thereof. Also not that optional steps are represented by dashed lines/boxes. [0084] As illustrated, the base station 502 (e.g., an uplink scheduler of the base station 502) determines a MCS and number of Resource Blocks (RBs) allocated for a PUSCH (i.e., for a PUSCH allocation) for a WCD 512 (step 600). The PUSCH includes both UL data and UCI. The UCI to be transmitted on the PUSCH includes DL HARQ bits (DL HARQ ACK/NACK bits) for one or more downlink transmissions to the WCD 512, CSI (e.g., CSI part 1 and CSI part 2) from the WCD 512, or both. The base station 502 (e.g., the uplink scheduler of the base station 502) determines an effective code rate for the UL data comprised in the PUSCH, assuming multiplexing of the UL data and the UCI in the PUSCH (step 602). The effective code rate of the UL data comprised in the PUSCH is also referred to herein as the effective data code rate for the PUSCH. The effective data code rate for the PUSCH is a code rate of the PUSCH transmission considering the leftover resource elements(REs) available for transmission of the uplink data after multiplexing of the UCI onto the PUSCH together with the UL data. In one embodiment, the effective data code rate for the PUSCH is calculated as follows: [0085] The base station 502 (e.g., the uplink scheduler of the base station 502) determines whether the effective code rate of the UL data comprised in the PUSCH is greater than a threshold (step 604). In one embodiment, the threshold is a maximum data code rate that for which the UL data comprised in the PUSCH is decodable at the base station 502. In one embodiment, the threshold is a function of channel quality (e.g., a function of an estimate of a channel quality of the uplink channel over which the PUSCH will be transmitted from the WCD 512 to the base station 502). In another embodiment, the threshold is a function of an estimated base data code rate (e.g., a target data code rate for the PUSCH), where the estimated base data code rate does not take into consideration any REs used for UCI. The estimated base data code rate may, e.g., a target data code rate that is mapped to the determined MCS of step 600, where different MCSs may be mapped to different target data code rates, e.g., by a predefined table (e.g., a predefined MCS table defined in a 3GPP specification). [0086] In another embodiment, the threshold is a function of the form min(base rate*(coeff + 1), X), where coeff is a coefficient that can be found from link level simulations and X is a maximum acceptable data code rate (e.g., a maximum data code rate for which the UL data comprised in the PUSCH can successfully be decoded by the base station 502). In one embodiment, X is in the range of and including 0.93 to 0.95 (e.g., X=0.93, X=0.94, or X=0.95). In one embodiment, the coefficient (coeff) is a value that is greater than 0 and less than 1. In one embodiment, the coefficient is different for different MCSs. [0087] If the effective data code rate is greater than the threshold (step 604, YES), the base station 502 performs one or more actions that either: (i) reduce the effective code rate of the UL data comprised in the PUSCH such that the threshold is satisfied (i.e., the new, reduced effective data code rate is less than or equal to the threshold) or (ii) avoids multiplexing of the UL data and UCI on the PUSCH, and signals an uplink scheduling grant to the WCD 512 for the resulting PUSCH (step 606). The effective code rate for the UL data comprised in the PUSCH may be reduced by, e.g., increasing the number of RBs allocated for the PUSCH, selecting a different MCS, or changing a code rate used for the UCI relative to the code rate used for the UL data (e.g., changing the beta factor Conversely, if the effective code rate for the UL data comprised in the PUSCH i s not greater than the threshold (step 604, NO), the base station 502 signals, to the WCD 512, an UL scheduling grant for the PUSCH according to the determined MCS and number of RBs from step 600 (step 608). [0088] Figure 7 is a flow chart that illustrates step 606 in more detail in accordance with one embodiment of the present disclosure. In this embodiment, upon determining that the effective code rate for the UL data comprised in the PUSCH is greater than the threshold (step 604, YES), the base station 502 determines whether the effective code rate for the UL data comprised in the PUSCH can be reduced to satisfy the threshold by increasing the number of RBs allocated for the PUSCH and/or by changing the MCS used for the PUSCH (step 700). Note that considering both whether the number of RBs can be increased and whether the MCS can be changed in step 700 is optional. The base station 502 may consider only whether the number of RBs allocated for the PUSCH can be increased or only whether the MCS can be changed in step 700. In some embodiments, it is not possible to increase the number of RBs allocated for the PUSCH. This can be due to, e.g., the WCD 512 being a power-limited WCD (e.g., a WCD close to the cell edge) or the need to use other RBs to schedule other WCDs. In these embodiments, it is not possible to increase the number of PRBs to reduce the effective code rate of the UL data comprised in the PUSCH such that the threshold is satisfied. [0089] If the base station 502 determines the number of RBs and/or the MCS can be changed to reduce the effective code rate of the UL data comprised in the PUSCH such that the threshold is satisfied (step 700, YES), the base station 502 increases the number of RBs allocated for the PUSCH such that the effective code rate of the UL data comprised in the PUSCH satisfies the threshold, changes the MCS for the PUSCH such that the effective code rate for the UL data comprised in the PUSCH satisfies the threshold, or both increases the number of RBs allocated for the PUSCH and changes the MCS for the PUSCH such that the effective code rate of the UL data comprised in the PUSCH satisfies the threshold (step 702). Again, note that while both the number of RBs and the MCS are considered here, the base station 502 may only consider/change the number of RBs allocated for the PUSCH or only consider/change the MCS for the PUSCH in step 702. The base station 502 signals an UL scheduling grant to the WCD 512 for the resulting PUSCH (step 704). The UL scheduling grant is carried by a DCI and includes information that indicates the (increased) number of RBs for the PUSCH and the (changed) MCS for the PUSCH. [0090] If the base station 502 determines the number of RBs and/or the MCS can not be changed to reduce the effective code rate of the UL data comprised in the PUSCH such that the threshold is satisfied (step 700, NO), the base station 502 determines that the UL data or the UCI is not to be scheduled on the PUSCH such that multiplexing of the UCI and UL data on the PUSCH is avoided (step 706). Note that, in the case where the UCI includes only CSI where the CSI is delayed to a later slot, the effective code rate for the UL data is decreased to the base data code rate, which is less than or equal to the threshold. Note that, if the UL data or CSI is not scheduled in this PUSCH, the base station 502 (e.g., the UL scheduler) may then start to alternate scheduling of PUSCH for UCI and PUSCH for UL data in different time slots. In this case, the base station 502 may, in some embodiments, utilize the existing UCI only feature (UL SCH Indicator flag set 0 in DCI) when the PUSCH only includes UCI. [0091] After determining that it is to refrain from scheduling the UL data and/or part of the UCI in step 706, the base station 502 sends, to the WCD 512, an UL scheduling grant that schedules the PUSCH accordingly (step 708). In other words, the base station 502 transmits, to the WCD 512, DCI that includes an uplink grant for the PUSCH, where the uplink grant indicates the number of RBs allocated for the PUSCH and the MCS. [0092] Figure 8 is a flow chat that illustrates step 706 of Figure 7 in more detail, in accordance with one example embodiment of the present disclosure. As illustrated, the base station 502 determines whether the UCI includes both DL HARQ information and CSI (step 800). If so (step 800, YES), the base station 502 determines to not schedule the UL data such that only the UCI is scheduled (step 802) and sends an uplink scheduling grant to the WCD 512 for the PUSCH in which only the UCI is scheduled (step 804). [0093] If the base station 502 determines that the UCI includes CSI and not DL HARQ information (step 800, NO and step 806, YES), the base station 502 determines to schedule only a select one of the UCI and UL data (step 808). In other words, the base station 502 determines that it is to either not schedule the UCI such that only the UL data is scheduled or not schedule the UL data such that only the UCI is scheduled. The base station 502 then sends, to the WCD 512, an uplink grant for the PUSCH, where the uplink grant indicates that only the select one of the UCI and UL data is scheduled in the PUSCH (step 810). Note that that UCI or UL data that was not scheduled in this PUSCH may be scheduled in a PUSCH in a later time slot. In some embodiments, the base station 502 may begin to alternate between scheduling UL data and scheduling UCI in PUSCHs over multiple time slots in accordance with a predefined or determined pattern (e.g., 3 UL data PUSCH transmissions then 1 UCI PUSCH transmission, then repeated in this pattern, e.g., until the effective code rate for multiplexing UCI and UL data on a PUSCH can satisfy the threshold). [0094] If the base station 502 determines that the UCI includes DL HARQ information and not CSI (step 800, NO and step 806, NO), the base station 502 determines to not schedule the UL data in the PUSCH such that only the UCI is scheduled in the PUSCH (step 812) and then signals, to the WCD 512, an UL scheduling grant for the PUSCH in which only the UCI is scheduled (step 814). In one embodiment, the UL scheduling grant (carried in DCI) includes information that indicates that only the UCI (e.g., only the DL HARQ information) is scheduled in the PUSCH. [0095] Figure 9 is a flow chart that illustrates step 606 in more detail in accordance with another embodiment of the present disclosure. In this embodiment, upon determining that the effective code rate for the UL data comprised in the PUSCH is greater than the threshold (step 604, YES), the base station 502 increases the code rate for the UCI (e.g., via decreasing the beta facto here the UCI code rate is inversely related to the beta facto suc h that the effective code rate of the UL data comprised in the PUSCH is less than or equal to the threshold (step 900). In one embodiment, the code rate for the UCI is increased by decreasing the beta factor he UCI code rate is inversely related to the beta factor (e.g., The base station 502 then sends, to the WCD 512, an UL scheduling grant for the PUSCH having the increased code rate for the UCI (step 902). In other words, the base station 502 transmits, to the WCD 512, DCI that includes an uplink grant for the PUSCH, where the uplink grant indicates the number of RBs allocated for the PUSCH and the MCS as determined in step 600 and also indicates the increased code rate for the UCI (e.g., beta facto In one embodiment, a set of beta factor values are pre-configured for th e WCD 512 (e.g., via dedicated signaling such as Radio Resource Control (RRC) signaling or via broadcast signaling such as system information), and one of this set of beta factor values is indicated in the DCI (e.g., via a respective index). [0096] In the example shown in the table of Figure 10, using a beta factor of 5.000 (signaled by index 5) is compared to using a beta factor of 15.875 (signaled by index 10). As can be seen in Figure 10, by decreasing the beta factor, the data code rate is significantly decreased, in most cases changing from a high code rate for which the data is not decodable, to a small code rate. As a cost, the code rate for the HARQ feedback is increased. [0097] In one embodiment, the beta factor used is a function of the number of RBs allocated for the PUSCH, the UCI type (e.g., HARQ bits, CSI, or both), and the UCI payload. [0098] In one embodiment, if the number of RBs allocated for the PUSCH is smaller than a threshold, the beta factor used is a constant. [0099] In one embodiment, the base station 502 signals Y (e.g., Y=4) different beta factors to the WCD 512. If the number of RBs is above a certain threshold, the base station 502 signals one of three beta factors depending on the number of HARQ bits the WCD 512 should report. If the number of PRBs is below a certain threshold, the base station 502 signals the fourth beta factor. [0100] Figure 11 illustrates the operation of the base station 502 and the WCD 512 in accordance with one embodiment of the present disclosure. Optional steps are represented by dashed lines/boxes. As illustrated, the base station 502 optionally configures the WCD 512 with a set of beta values, e.g., via dedicated or broadcast signaling (step 1100). As described above with respect to Figure 6, the base station 502 determines a number of RBs and a MCS for a PUSCH allocated for the WCD 512 (step 600). UCI is to be multiplexed onto the PUSCH together with UL data. The base station 502 determines the effective code rate for the UL data comprised in the PUSCH assuming multiplexing of the UCI with the UL data in the PUSCH (step 602) and determines that the effective code rate for the UL data comprised in the PUSCH is greater than the threshold (step 604, YES). Responsive thereto, the base station 502 performs one or more actions that reduce the effective code rate for the UL data comprised in the PUSCH such that the effective code rate for the UL data comprised in the PUSCH is less than or equal to the threshold and sends an UL scheduling grant to the WCD 512 for the resulting the PUSCH, as described above (step 606). The UL scheduling grant is included in DCI and includes information that indicates the number of RBs allocated for the PUSCH and the MCS for the PUSCH. As described above, the one or more actions performed in step 606 may include: • increasing the number of RBs allocated for the PUSCH, in which case the UL scheduling grant indicates the increased number of RBs, • changing the MCS for the PUSCH from the MCS determined in step 600 to a different MCS, in which case the UL scheduling grant indicates the changed MCS, • refraining from multiplexing UCI and UL data on the PUSCH (e.g., if the number of RBs and/or the MCS cannot be chanced such that the threshold for the effective data code rate is satisfied), or • decreasing or changing the beta value, in which case the DCI includes information that indicates the beta value (e.g., from the set of beta values configured in step 1100). [0101] The WCD 512 then transmits the PUSCH in accordance with the received DCI (step 1102). For example, if the UL scheduling grant indicates that certain UL data and/or certain UCI is not scheduled, then the WCD 512 does not include the indicated UL data and/or indicated UCI in the PUSCH. As another example, if the DCI indicates a beta value to be used, the WCD 512 transmits the PUSCH such that that code rate of the UCI (relative to the code rate of the UL data) is in accordance with the indicated beta value. [0102] Figure 12 is a schematic block diagram of a network node 1200 according to some embodiments of the present disclosure. Optional features are represented by dashed boxes. The network node 1200 may be, for example, a base station 502 or 506 or a network node that implements all or part of the functionality of the base station 502 or gNB described herein. As illustrated, the network node 1200 includes a control system 1202 that includes one or more processors 1204 (e.g., Central Processing Units (CPUs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and/or the like), memory 1206, and a network interface 1208. The one or more processors 1204 are also referred to herein as processing circuitry. In addition, if the network node 1200 is a RAN node (e.g., a base station 502), the network node 1200 may include one or more radio units 1210 that each includes one or more transmitters 1212 and one or more receivers 1214 coupled to one or more antennas 1216. The radio units 1210 may be referred to or be part of radio interface circuitry. In some embodiments, the radio unit(s) 1210 is external to the control system 1202 and connected to the control system 1202 via, e.g., a wired connection (e.g., an optical cable). However, in some other embodiments, the radio unit(s) 1210 and potentially the antenna(s) 1216 are integrated together with the control system 1202. The one or more processors 1204 operate to provide one or more functions of a network node 1200 as described herein (e.g., one or more functions of a base station 512 described above with respect to Figures 6 to 11). In some embodiments, the function(s) are implemented in software that is stored, e.g., in the memory 1206 and executed by the one or more processors 1204. [0103] Figure 13 is a schematic block diagram that illustrates a virtualized embodiment of the network node 1200 according to some embodiments of the present disclosure. Again, optional features are represented by dashed boxes. As used herein, a “virtualized” network node is an implementation of the network node 1200 in which at least a portion of the functionality of the network node 1200 is implemented as a virtual component(s) (e.g., via a virtual machine(s) executing on a physical processing node(s) in a network(s)). As illustrated, in this example, the network node 1200 may include the control system 1202 and/or the one or more radio units 1210, as described above. The control system 1202 may be connected to the radio unit(s) 1210 via, for example, an optical cable or the like. The network node 1200 includes one or more processing nodes 1300 coupled to or included as part of a network(s) 1302. If present, the control system 1202 or the radio unit(s) are connected to the processing node(s) 1300 via the network 1302. Each processing node 1300 includes one or more processors 1304 (e.g., CPUs, ASICs, FPGAs, and/or the like), memory 1306, and a network interface 1308. [0104] In this example, functions 1310 of the network node 1200 described herein (e.g., one or more functions of a base station 512 described above with respect to Figures 6 to 11) are implemented at the one or more processing nodes 1300 or distributed across the one or more processing nodes 1300 and the control system 1202 and/or the radio unit(s) 1210 in any desired manner. In some particular embodiments, some or all of the functions 1310 of the network node 1200 described herein are implemented as virtual components executed by one or more virtual machines implemented in a virtual environment(s) hosted by the processing node(s) 1300. As will be appreciated by one of ordinary skill in the art, additional signaling or communication between the processing node(s) 1300 and the control system 1202 is used in order to carry out at least some of the desired functions 1310. Notably, in some embodiments, the control system 1202 may not be included, in which case the radio unit(s) 1210 communicate directly with the processing node(s) 1300 via an appropriate network interface(s). [0105] In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of network node 1200 or a node (e.g., a processing node 1300) implementing one or more of the functions 1310 of the network node 1200 in a virtual environment according to any of the embodiments described herein is provided. In some embodiments, a carrier comprising the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non-transitory computer readable medium such as memory). [0106] Figure 14 is a schematic block diagram of the network node 1200 according to some other embodiments of the present disclosure. The network node 1200 includes one or more modules 1400, each of which is implemented in software. The module(s) 1400 provide the functionality of the network node 1200 described herein. This discussion is equally applicable to the processing node 1300 of Figure 13 where the modules 1400 may be implemented at one of the processing nodes 1300 or distributed across multiple processing nodes 1300 and/or distributed across the processing node(s) 1300 and the control system 1202. [0107] Figure 15 is a schematic block diagram of a WCD 1500 (e.g., the WCD 512) according to some embodiments of the present disclosure. As illustrated, the WCD 1500 includes one or more processors 1502 (e.g., CPUs, ASICs, FPGAs, and/or the like), memory 1504, and one or more transceivers 1506 each including one or more transmitters 1508 and one or more receivers 1510 coupled to one or more antennas 1512. The transceiver(s) 1506 includes radio-front end circuitry connected to the antenna(s) 1512 that is configured to condition signals communicated between the antenna(s) 1512 and the processor(s) 1502, as will be appreciated by on of ordinary skill in the art. The processors 1502 are also referred to herein as processing circuitry. The transceivers 1506 are also referred to herein as radio circuitry. In some embodiments, the functionality of the WCD 1500 described above (e.g., the functionality of the WCD 512 or UE described above) may be fully or partially implemented in software that is, e.g., stored in the memory 1504 and executed by the processor(s) 1502. Note that the WCD 1500 may include additional components not illustrated in Figure 15 such as, e.g., one or more user interface components (e.g., an input/output interface including a display, buttons, a touch screen, a microphone, a speaker(s), and/or the like and/or any other components for allowing input of information into the WCD 1500 and/or allowing output of information from the WCD 1500), a power supply (e.g., a battery and associated power circuitry), etc. [0108] In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of the WCD 1500 according to any of the embodiments described herein is provided. In some embodiments, a carrier comprising the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non- transitory computer readable medium such as memory). [0109] Figure 16 is a schematic block diagram of the WCD 1500 according to some other embodiments of the present disclosure. The WCD 1500 includes one or more modules 1600, each of which is implemented in software. The module(s) 1600 provide the functionality of the WCD 1500 described herein. [0110] With reference to Figure 17, in accordance with an embodiment, a communication system includes a telecommunication network 1700, such as a 3GPP- type cellular network, which comprises an access network 1702, such as a RAN, and a core network 1704. The access network 1702 comprises a plurality of base stations 1706A, 1706B, 1706C, such as Node Bs, eNBs, gNBs, or other types of wireless Access Points (APs), each defining a corresponding coverage area 1708A, 1708B, 1708C. Each base station 1706A, 1706B, 1706C is connectable to the core network 1704 over a wired or wireless connection 1710. A first UE 1712 located in coverage area 1708C is configured to wirelessly connect to, or be paged by, the corresponding base station 1706C. A second UE 1714 in coverage area 1708A is wirelessly connectable to the corresponding base station 1706A. While a plurality of UEs 1712, 1714 are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole UE is in the coverage area or where a sole UE is connecting to the corresponding base station 1706. [0111] The telecommunication network 1700 is itself connected to a host computer 1716, which may be embodied in the hardware and/or software of a standalone server, a cloud-implemented server, a distributed server, or as processing resources in a server farm. The host computer 1716 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. Connections 1718 and 1720 between the telecommunication network 1700 and the host computer 1716 may extend directly from the core network 1704 to the host computer 1716 or may go via an optional intermediate network 1722. The intermediate network 1722 may be one of, or a combination of more than one of, a public, private, or hosted network; the intermediate network 1722, if any, may be a backbone network or the Internet; in particular, the intermediate network 1722 may comprise two or more sub-networks (not shown). [0112] The communication system of Figure 17 as a whole enables connectivity between the connected UEs 1712, 1714 and the host computer 1716. The connectivity may be described as an Over-the-Top (OTT) connection 1724. The host computer 1716 and the connected UEs 1712, 1714 are configured to communicate data and/or signaling via the OTT connection 1724, using the access network 1702, the core network 1704, any intermediate network 1722, and possible further infrastructure (not shown) as intermediaries. The OTT connection 1724 may be transparent in the sense that the participating communication devices through which the OTT connection 1724 passes are unaware of routing of uplink and downlink communications. For example, the base station 1706 may not or need not be informed about the past routing of an incoming downlink communication with data originating from the host computer 1716 to be forwarded (e.g., handed over) to a connected UE 1712. Similarly, the base station 1706 need not be aware of the future routing of an outgoing uplink communication originating from the UE 1712 towards the host computer 1716. [0113] Example implementations, in accordance with an embodiment, of the UE, base station, and host computer discussed in the preceding paragraphs will now be described with reference to Figure 18. In a communication system 1800, a host computer 1802 comprises hardware 1804 including a communication interface 1806 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of the communication system 1800. The host computer 1802 further comprises processing circuitry 1808, which may have storage and/or processing capabilities. In particular, the processing circuitry 1808 may comprise one or more programmable processors, ASICs, FPGAs, or combinations of these (not shown) adapted to execute instructions. The host computer 1802 further comprises software 1810, which is stored in or accessible by the host computer 1802 and executable by the processing circuitry 1808. The software 1810 includes a host application 1812. The host application 1812 may be operable to provide a service to a remote user, such as a UE 1814 connecting via an OTT connection 1816 terminating at the UE 1814 and the host computer 1802. In providing the service to the remote user, the host application 1812 may provide user data which is transmitted using the OTT connection 1816. [0114] The communication system 1800 further includes a base station 1818 provided in a telecommunication system and comprising hardware 1820 enabling it to communicate with the host computer 1802 and with the UE 1814. The hardware 1820 may include a communication interface 1822 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 1800, as well as a radio interface 1824 for setting up and maintaining at least a wireless connection 1826 with the UE 1814 located in a coverage area (not shown in Figure 18) served by the base station 1818. The communication interface 1822 may be configured to facilitate a connection 1828 to the host computer 1802. The connection 1828 may be direct or it may pass through a core network (not shown in Figure 18) of the telecommunication system and/or through one or more intermediate networks outside the telecommunication system. In the embodiment shown, the hardware 1820 of the base station 1818 further includes processing circuitry 1830, which may comprise one or more programmable processors, ASICs, FPGAs, or combinations of these (not shown) adapted to execute instructions. The base station 1818 further has software 1832 stored internally or accessible via an external connection. [0115] The communication system 1800 further includes the UE 1814 already referred to. The UE’s 1814 hardware 1834 may include a radio interface 1836 configured to set up and maintain a wireless connection 1826 with a base station serving a coverage area in which the UE 1814 is currently located. The hardware 1834 of the UE 1814 further includes processing circuitry 1838, which may comprise one or more programmable processors, ASICs, FPGAs, or combinations of these (not shown) adapted to execute instructions. The UE 1814 further comprises software 1840, which is stored in or accessible by the UE 1814 and executable by the processing circuitry 1838. The software 1840 includes a client application 1842. The client application 1842 may be operable to provide a service to a human or non-human user via the UE 1814, with the support of the host computer 1802. In the host computer 1802, the executing host application 1812 may communicate with the executing client application 1842 via the OTT connection 1816 terminating at the UE 1814 and the host computer 1802. In providing the service to the user, the client application 1842 may receive request data from the host application 1812 and provide user data in response to the request data. The OTT connection 1816 may transfer both the request data and the user data. The client application 1842 may interact with the user to generate the user data that it provides. [0116] It is noted that the host computer 1802, the base station 1818, and the UE 1814 illustrated in Figure 18 may be similar or identical to the host computer 1716, one of the base stations 1706A, 1706B, 1706C, and one of the UEs 1712, 1714 of Figure 17, respectively. This is to say, the inner workings of these entities may be as shown in Figure 18 and independently, the surrounding network topology may be that of Figure 17. [0117] In Figure 18, the OTT connection 1816 has been drawn abstractly to illustrate the communication between the host computer 1802 and the UE 1814 via the base station 1818 without explicit reference to any intermediary devices and the precise routing of messages via these devices. The network infrastructure may determine the routing, which may be configured to hide from the UE 1814 or from the service provider operating the host computer 1802, or both. While the OTT connection 1816 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network). [0118] The wireless connection 1826 between the UE 1814 and the base station 1818 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to the UE 1814 using the OTT connection 1816, in which the wireless connection 1826 forms the last segment. [0119] A measurement procedure may be provided for the purpose of monitoring data rate, latency, and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 1816 between the host computer 1802 and the UE 1814, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring the OTT connection 1816 may be implemented in the software 1810 and the hardware 1804 of the host computer 1802 or in the software 1840 and the hardware 1834 of the UE 1814, or both. In some embodiments, sensors (not shown) may be deployed in or in association with communication devices through which the OTT connection 1816 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which the software 1810, 1840 may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 1816 may include message format, retransmission settings, preferred routing, etc.; the reconfiguring need not affect the base station 1818, and it may be unknown or imperceptible to the base station 1818. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling facilitating the host computer’s 1802 measurements of throughput, propagation times, latency, and the like. The measurements may be implemented in that the software 1810 and 1840 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 1816 while it monitors propagation times, errors, etc. [0120] Figure 19 is a flowchart illustrating a method implemented in a communication system, in accordance with one embodiment. The communication system includes a host computer, a base station, and a UE which may be those described with reference to Figures 17 and 18. For simplicity of the present disclosure, only drawing references to Figure 19 will be included in this section. In step 1900 (which may be optional), the UE receives input data provided by the host computer. Additionally or alternatively, in step 1902, the UE provides user data. In sub-step 1904 (which may be optional) of step 1900, the UE provides the user data by executing a client application. In sub-step 1906 (which may be optional) of step 1902, the UE executes a client application which provides the user data in reaction to the received input data provided by the host computer. In providing the user data, the executed client application may further consider user input received from the user. Regardless of the specific manner in which the user data was provided, the UE initiates, in sub-step 1908 (which may be optional), transmission of the user data to the host computer. In step 1910 of the method, the host computer receives the user data transmitted from the UE, in accordance with the teachings of the embodiments described throughout this disclosure. [0121] Figure 20 is a flowchart illustrating a method implemented in a communication system, in accordance with one embodiment. The communication system includes a host computer, a base station, and a UE which may be those described with reference to Figures 17 and 18. For simplicity of the present disclosure, only drawing references to Figure 20 will be included in this section. In step 2000 (which may be optional), in accordance with the teachings of the embodiments described throughout this disclosure, the base station receives user data from the UE. In step 2002 (which may be optional), the base station initiates transmission of the received user data to the host computer. In step 2004 (which may be optional), the host computer receives the user data carried in the transmission initiated by the base station. [0122] Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include Digital Signal Processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as Read Only Memory (ROM), Random Access Memory (RAM), cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and/or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure. [0123] While processes in the figures may show a particular order of operations performed by certain embodiments of the present disclosure, it should be understood that such order is exemplary (e.g., alternative embodiments may perform the operations in a different order, combine certain operations, overlap certain operations, etc.). [0124] Those skilled in the art will recognize improvements and modifications to the embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein.