Variable-length coding in a NOMA-based communication system
11259254 · 2022-02-22
Assignee
Inventors
Cpc classification
International classification
H04W4/00
ELECTRICITY
H04W52/34
ELECTRICITY
Abstract
A variable-length coding method to improve the performance of downlink NOMA. Depending on the channel conditions and the amount of data waiting to be transmitted the UEs served by the NN, the NN groups UEs (e.g., pairs two UEs) with appropriate channel qualities and adapts the transmission powers in different sub-codewords as well as the codeword length such that the UEs minimum quality-of-service requirements are satisfied. This makes it possible to improve the UEs/network achievable rates and the NN energy efficiency.
Claims
1. A method for transmitting messages, the method being performed by a network node (NN) and comprising: the NN obtaining first channel gain information indicating the gain of a first channel between the NN and a first user equipment (UE); the NN obtaining second channel gain information indicating the gain of a second channel between the NN and a second UE; the NN obtaining first buffer size information for the first UE; the NN obtaining second buffer size information for the second UE; the NN using the obtained channel gain information and buffer size information to determine a first number of sub-codewords, n1, for use in transmitting a first message for the first UE and a second number of sub-codewords, n2, for use in transmitting a second message for the second UE; and transmitting a superimposed signal comprising the first message for the first UE and the second message for the second UE, wherein the number of sub-codewords used to transmit the first message is equal n1, and the number of sub-codewords used to transmit the second message is equal n2.
2. The method of claim 1, wherein obtaining the first channel gain information comprises the NN using a channel estimation method to estimate the gain of the first channel between the NN and the first UE.
3. The method of claim 1, wherein obtaining the first buffer size information comprises the NN determining an amount of data stored in a particular buffer for the first UE.
4. The method of claim 3, further comprising for each sub-codeword used to transmit the first message, choosing a power allocation for the sub-codeword; and for each sub-codeword used to transmit the second message, choosing a power allocation for the sub-codeword.
5. The method of claim 4, wherein n1, n2, the power allocation for the sub-codewords used to transmit the first message, and the power allocation for the sub-codewords used to transmit the second message are chosen such that Q1≥q1 and Q2≥q2, where Q1 is a maximum number of information bits that can be transmitted to the first UE, q1 is the number of information bits stored in the particular buffer for the first UE, Q2 is a maximum number of information bits that can be transmitted to the second UE, q2 is the number of information bits stored in the particular buffer for the second UE.
6. The method of claim 4, wherein the power allocation chosen for a certain sub-codeword that is used to transmit the first message is different than the power allocation chosen for a certain sub-codeword that is used to transmit the second message, and the certain sub-codeword that is used to transmit the first message is transmitted simultaneously with the certain sub-codeword that is used to transmit the second message.
7. The method of claim 1, wherein the NN is a base station.
8. The method of claim 1, wherein n1>n2 or n2>n1.
9. A network node (NN) for transmitting messages, the NN being adapted to: obtain first channel gain information indicating the gain of a first channel between the NN and a first UE; obtain second channel gain information indicating the gain of a second channel between the NN and a second UE; obtain first buffer size information for the first UE; obtain second buffer size information for the second UE; use the obtained channel gain information and buffer size information to determine a first number of sub-codewords, n1, for use in transmitting a first message for the first UE and a second number of sub-codewords, n2, for use in transmitting a second message for the second UE; and transmit a superimposed signal comprising the first message for the first UE and the second message for the second UE, wherein the number of sub-codewords used to transmit the first message is equal n1, and the number of sub-codewords used to transmit the second message is equal n2.
10. The NN of claim 9, wherein n1>n2 or n2>n1.
11. The NN of claim 9, wherein obtaining the first channel gain information comprises the NN using a channel estimation method to estimate the gain of the first channel between the NN and the first UE.
12. The NN of claim 9, wherein obtaining the first buffer size information comprises the NN determining an amount of data stored in a particular buffer for the first UE.
13. The NN of claim 12, further comprising for each sub-codeword used to transmit the first message, choosing a power allocation for the sub-codeword; and for each sub-codeword used to transmit the second message, choosing a power allocation for the sub-codeword.
14. The NN of claim 13, wherein n1, n2, the power allocation for the sub-codewords used to transmit the first message, and the power allocation for the sub-codewords used to transmit the second message are chosen such that Q1≥q1 and Q2≥q2, where Q1 is a maximum number of information bits that can be transmitted to the first UE, q1 is the number of information bits stored in the particular buffer for the first UE, Q2 is a maximum number of information bits that can be transmitted to the second UE, q2 is the number of information bits stored in the particular buffer for the second UE.
15. The NN of claim 13, wherein the power allocation chosen for a certain sub-codeword that is used to transmit the first message is different than the power allocation chosen for a certain sub-codeword that is used to transmit the second message, and the certain sub-codeword that is used to transmit the first message is transmitted simultaneously with the certain sub-codeword that is used to transmit the second message.
16. The NN of claim 9, wherein the NN is a base station.
17. A computer program product comprising a non-transitory computer readable medium storing a computer program comprising instructions which when executed by processing circuitry of a network node causes the network node to perform the method of claim 1.
18. The method of claim 1, further comprising, for each sub-codeword used to transmit the first message, determining a power allocation for the sub-codeword.
19. The method of claim 18, wherein determining the power allocation for the sub-codeword comprises determining the power allocation for the sub-codeword using the first buffer size information.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
DETAILED DESCRIPTION
(13)
(14) With respect to uplink OMA transmissions, the UE 101's and UE 102's signals are transmitted in orthogonal resources, for instance at the same time but in different frequency bands, and NN 105 decodes the two transmitted signals separately. With respect to downlink OMA transmissions, NN 105 transmits for UE 101 a first signal using for example a first frequency band and transmits for UE 102 a second signal using for example a second frequency band that does not overlap with the first frequency band.
(15) With respect to uplink NOMA, on the other hand, the UEs share the same frequency (or “spectrum”) and time resources as well as code or spreading resources, if any, to send their messages simultaneously. That is, NN 105 receives a combined signal containing the message transmitted by UE 101 and the message transmitted by UE 102. In such a NOMA scenario, NN 105, using for example a successive interference cancellation (SIC) decoder, first decodes the message of UE 101 (the “strong” UE), considering the message of UE 102 as noise. Then, after successfully decoding UE 101's message, NN 105 subtracts UE 101's message from the received signal and decodes UE 102's signal with no interference from UE 101.
(16) With respect to downlink NOMA, NN 105 serves UE 101 and UE 102 in common spectrum resource blocks (i.e., common time-frequency resources as well as code or spreading resources, if any). Assume that that UE.sub.1 (i.e., UE 101) experiences a better channel quality, compared to UE.sub.2 (i.e., UE 102). That is, we have |h.sub.1|≥|h.sub.2| where h.sub.i, i=1, 2, represents the channel coefficient of the NN-UE.sub.i link. Finally, we define the channel gains as g.sub.i=|h.sub.i|.sup.2, i=1, 2. In the downlink, using NOMA in time slot t the NN generates and transmits a superimposed signal S(t)=√{square root over (P.sub.1)}X.sub.1(t)+√{square root over (P.sub.2)}X.sub.2(t) to both UEs in the same resources. Here, X.sub.1(t) and X.sub.2(t) are the unit-variance message signals of UE.sub.1 and UE.sub.2, respectively, and P.sub.i, i=1, 2, are their corresponding transmit powers with P.sub.1+P.sub.2=P where P is the NN total power. In this way, the signal received by UE.sub.i, i=1, 2, is given by
Y.sub.i(t)=h.sub.i(√{square root over (P.sub.1)}X.sub.1(t)+√{square root over (P)}.sub.2X.sub.2(t))+Z.sub.i(t),i=1,2, (1)
where Z.sub.i(t) denotes the Gaussian white noise added in UE.sub.i, i=1, 2.
(17) The goal of each UE is to decode its own message, although a UE may first decode the message of the other UE to reduce the interference. Particularly, UE.sub.2 considers the signal of UE.sub.1 as an interference and uses typical OMA-based receivers to decode its own message. This is because it can be theoretically shown that there is no chance that UE.sub.2 can first decode-and-remove the message of UE.sub.1 (and then, decode its own message interference-free).
(18) UE.sub.1, on the other hand, uses a SIC decoder to first decode-and-remove the message for UE.sub.2 (i.e., X.sub.2(t)) and then decode the message for itself (i.e., X.sub.1(t)) interference-free. More specifically, UE1 first uses the combined signal (i.e., Y.sub.1(t)) to decode the message for UE 102 (i.e., X.sub.2(t)) and then using the decoded message constructs a signal (e.g., constructs h.sub.1√{square root over (P.sub.2)}X.sub.2(t)) the and then removes (i.e., cancels) the constructed signal from the combined signal so that X.sub.1(t) can then be decoded from the residual (e.g., X.sub.1(t) can be decoded from h.sub.1√{square root over (P.sub.1)}X.sub.1(t)+Z.sub.1(t)).
(19) With these assumptions, the achievable rates of the UEs are given by:
(20)
(21) Considering these assumptions, the following three points may be noted.
(22) First, the performance gain of the NOMA, compared to OMA, and its usefulness depend on the channel quality of the UEs that are grouped together. Particularly, depending on the channels quality, some UE groupings may not satisfy each UE's minimum quality-of-service requirement or the relative performance gain of NOMA, compared to OMA, may be not worth the additional decoding complexity/delay.
(23) Second, due to the interference signal of UE.sub.1, UE.sub.2 experiences a low channel quality and may need multiple retransmissions to decode its message. This is particularly because 1) it has been previously shown that the highest relative performance gain of NOMA, compared to OMA, is observed when two UEs with good and poor channel qualities are paired and 2) due to the CSI overhead, NOMA is of much interest in stationary/slow-moving systems, where the channel coefficients remain (almost) constant over multiple packet transmissions and CSI update is rarely required. However, such systems suffer from poor network diversity which increases the probability of requiring multiple retransmissions.
(24) And third, because of the implementation complexity and the decoding delay of NOMA, it is of most interest in dense networks with a large number of UEs requesting access such that there are not enough orthogonal resources to serve them in an OMA-fashion. In such scenarios, it is essential to design efficient UE grouping methods such that not only the UEs minimum rate constraints are satisfied, but also NOMA-based data transmission leads to considerable performance improvement, compared to OMA.
(25) Accordingly, it would be useful to design efficient methods which 1) reduce the probability of requiring multiple retransmissions, 2) increase the achievable rates of the UEs, particularly the weak UE, 3) reduce the decoding complexity for strong UEs, and 4) improve the NN energy efficiency/fairness between the UEs.
(26) Hence, disclosed herein is a joint UE pairing, power allocation and variable-length coding method for downlink NOMA.
(27) Let N denote the total number of grouped UEs and the channel gain in the NN-UE.sub.i link by g.sub.i, i=1, . . . , N. Also, let q.sub.i, i=1, . . . , N we represent the NN buffer size for UE.sub.i, e.g., the number of bits that NN has to send to the i-th UE.
(28) In one embodiment, NN 105 first uses typical channel estimation methods to estimate the channel gains g.sub.i, i=1, . . . , N. Then, considering two specific UEs i and j, the NN, as described below, uses the information of g.sub.i and g.sub.j as well as the buffer sizes q.sub.i, q.sub.j to determine the minimum number of sub-codewords and their corresponding power allocation.
(29) More specifically, for example, let n.sub.i, i=1, . . . , N be the number of sub-codewords considered for UE.sub.i and P.sub.i(k), i=1, . . . , N, k=1, . . . , n.sub.i, be the power allocated to the k-th sub-codeword of the i-th UE. Also, with no loss of generality assume g.sub.i≥g.sub.j such that the UE, can perform SIC-based decoding. In this way, the maximum number of information bits that can be sent to UEs i and j is given by
(30)
(31) if n.sub.j>n.sub.i, otherwise
(32)
(33) Here, L is the length of sub-codewords. Also, the achievable rates (3) and (4) come from the maximum achievable rates of parallel Gaussian channels and are based on the fact that UE.sub.i decodes-and-removes the interference from the signal of UE.sub.j. On the other hand, the UE with the worse channel quality, i.e., UE.sub.j, only experiences an interference-free channel in sub-codewords k=n.sub.i+1, . . . , n.sub.j if n.sub.j>n.sub.i. Finally, (3.iii) and (4.iii) follow from the NN sum power constraint.
(34) Using (3)-(4) and considering both cases with n.sub.j>n.sub.i and n.sub.j≤n.sub.i, the NN solves
{ñ.sub.i,ñ.sub.j,{tilde over (P)}.sub.i(k),{tilde over (P)}.sub.j(k),k=1, . . . ,ñ.sub.j}=arg.sub.P.sub.
to find the minimum required number of sub-codewords ñ.sub.i, ñ.sub.j as well as their corresponding power allocation {tilde over (P)}.sub.i(k), {tilde over (P)}.sub.j(k) such that the UEs buffer size constraints are satisfied.
(35) If (5) has a feasible solution, the NN 105 informs the UEs i and j (e.g., UE 101 and UE 102) of the number of allocated sub-codewords. NN 105 may also inform the UEs about the channel gain, their appropriate message decoding scheme. Otherwise, if (5) does not have a feasible solution, the NN tries pairing two different UEs with the same procedure.
(36) The UEs, after receiving the information from NN, adapt their decoding schemes and decode the messages based on all signals accumulated in different sub-codeword transmissions which are associated with their own signal.
(37) Also, because the UEs decode messages with different lengths, leading to different decoding delays at the UEs, a UE may add an appropriate sleep mode delay such that data transmissions are synchronized.
(38) Considering the above method, the following four points are noted.
(39) First, the implementation of variable-length coding gives the weak UE the chance to receive part of its signal interference-free. This point, along with adaptive power allocation, improves the achievable rate of the weak UE, leading to better fairness in the network. The strong UE will also benefit from variable-length coding and adaptive power allocation leading to higher network sum rate or, equivalently, better NN energy efficiency for given data rates.
(40) Second, variable-length coding reduces decoding complexity, as the UE with the less number of sub-codewords only decodes part of the received signals that corresponds to its own message.
(41) Third, adaptive power allocation between the sub-codewords creates virtual diversity and reduces the probability of requiring multiple retransmissions. Thus, the expected end-to-end packet transmission delay for each UE is reduced.
(42) Fourth, we presented the setup for the cases where two UEs are paired if their required number of transmission bits can be supported. However, the discussions can be extended to the cases with different performance metrics as well. For instance, finding the maximum achievable number of information bits for each UE in the OMA-based data transmission fashion, one can pair two UEs if
(43)
i.e., when the relative performance improvement of NOMA, compared to OMA, exceeds a threshold θ, considered by the network designer, such that NOMA-based data transmission worth the additional decoding delay/complexity. In (6), Q.sub.i,NOMA and Q.sub.i,OMA denote the maximum number of bits that can be supported for UE.sub.i in the cases with NOMA- and OMA-based data transmission, respectively.
(44)
(45)
(46) Process 300 includes step s302 in which NN 105 obtains i) first channel gain information indicating the gain of a first channel between the NN and UE 101 (or “the first UE”) and ii) second channel gain information indicating the gain of a second channel between the NN and UE 102 (or “the second UE”). In some embodiments, the NN obtains the first channel gain information using a channel estimation method to estimate the gain of the first channel between the NN and the first UE.
(47) In step s304, NN 105 obtains (e.g., determines or receives): i) first buffer size information for UE 101 (e.g., q.sub.1, the number of bits waiting to be sent to UE 101) and ii) second buffer size information for UE 102 (e.g., q.sub.2). For example, in some embodiments, obtaining the first buffer size information comprises the NN determining an amount of data stored in a particular buffer for the first UE.
(48) In steps s306, NN 105 uses the obtained channel gain information and buffer size information to determine a first number of sub-codewords, n1, for use in transmitting a first message for UE 101 and a second number of sub-codewords, n2, for use in transmitting a second message for UE 102.
(49) In step s308, NN 105 transmits a superimposed signal comprising the first message for UE 101 and the second message for UE 102, wherein the number of sub-codewords used to transmit the first message is equal n1, and the number of sub-codewords used to transmit the second message is equal n2. In some scenarios, n1>n2, in other scenarios n1=n2 or n2>n1.
(50) In some embodiments, for each sub-codeword used to transmit the first message, NN 105 chooses a power allocation for the sub-codeword, and for each sub-codeword used to transmit the second message, NN 105 chooses a power allocation for the sub-codeword.
(51) In some embodiments, n1, n2, the power allocation for the sub-codewords used to transmit the first message, and the power allocation for the sub-codewords used to transmit the second message are chosen such that Q1≥q1 and Q2≥q2, where Q1 is a maximum number of information bits that can be transmitted to the first UE, q1 is the number of information bits stored in the particular buffer for the first UE, Q2 is a maximum number of information bits that can be transmitted to the second UE, q2 is the number of information bits stored in the particular buffer for the second UE. For example, as described above, NN determines whether equation (5) has a feasible solution.
(52) In some scenarios, the power allocation chosen for a certain sub-codeword that is used to transmit the first message is different than the power allocation chosen for a certain sub-codeword that is used to transmit the second message, and the certain sub-codeword that is used to transmit the first message is transmitted simultaneously with the certain sub-codeword that is used to transmit the second message.
(53)
(54)
(55)
(56) Telecommunication network 1210 is itself connected to host computer 111, 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. Host computer 111 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 1221 and 1222 between telecommunication network 1210 and host computer 111 may extend directly from core network 1214 to host computer 111 or may go via an optional intermediate network 1220. Intermediate network 1220 may be one of, or a combination of more than one of, a public, private or hosted network; intermediate network 1220, if any, may be a backbone network or the Internet; in particular, intermediate network 1220 may comprise two or more sub-networks (not shown).
(57) The communication system of
(58) 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
(59) Communication system 1300 further includes base station 1320 provided in a telecommunication system and comprising hardware 1325 enabling it to communicate with host computer 1310 and with UE 1330. Hardware 1325 may include communication interface 1326 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of communication system 1300, as well as radio interface 1327 for setting up and maintaining at least wireless connection 1370 with UE 1330 located in a coverage area (not shown in
(60) Communication system 1300 further includes UE 1330 already referred to. Its hardware 1335 may include radio interface 1337 configured to set up and maintain wireless connection 1370 with a base station serving a coverage area in which UE 1330 is currently located. Hardware 1335 of UE 1330 further includes processing circuitry 1338, which may comprise one or more programmable processors, application-specific integrated circuits, field programmable gate arrays or combinations of these (not shown) adapted to execute instructions. UE 1330 further comprises software 1331, which is stored in or accessible by UE 1330 and executable by processing circuitry 1338. Software 1331 includes client application 1332. Client application 1332 may be operable to provide a service to a human or non-human user via UE 1330, with the support of host computer 1310. In host computer 1310, an executing host application 1312 may communicate with the executing client application 1332 via OTT connection 1350 terminating at UE 1330 and host computer 1310. In providing the service to the user, client application 1332 may receive request data from host application 1312 and provide user data in response to the request data. OTT connection 1350 may transfer both the request data and the user data. Client application 1332 may interact with the user to generate the user data that it provides.
(61) It is noted that host computer 1310, base station 1320 and UE 1330 illustrated in
(62) In
(63) Wireless connection 1370 between UE 1330 and base station 1320 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 UE 1330 using OTT connection 1350, in which wireless connection 1370 forms the last segment. More precisely, the teachings of these embodiments may improve one or more of message network throughput, SINR, latency, overhead, energy efficiency, and power consumption and thereby provide benefits such as reduced user waiting time, better responsiveness, extended battery lifetime, etc.
(64) 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 OTT connection 1350 between host computer 1310 and UE 1330, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring OTT connection 1350 may be implemented in software 1311 and hardware 1315 of host computer 1310 or in software 1331 and hardware 1335 of UE 1330, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which OTT connection 1350 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 software 1311, 1331 may compute or estimate the monitored quantities. The reconfiguring of OTT connection 1350 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect base station 1320, and it may be unknown or imperceptible to base station 1320. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling facilitating host computer 1310's measurements of throughput, propagation times, latency and the like. The measurements may be implemented in that software 1311 and 1331 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using OTT connection 1350 while it monitors propagation times, errors etc.
(65)
(66)
(67)
(68)
(69) 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.
(70) While various embodiments are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of this disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
(71) Additionally, while the processes described above and illustrated in the drawings are shown as a sequence of steps, this was done solely for the sake of illustration. Accordingly, it is contemplated that some steps may be added, some steps may be omitted, the order of the steps may be re-arranged, and some steps may be performed in parallel.