WO2020210845A2 - Methods and apparatus for power allocation - Google Patents

Methods and apparatus for power allocation Download PDF

Info

Publication number
WO2020210845A2
WO2020210845A2 PCT/US2020/043895 US2020043895W WO2020210845A2 WO 2020210845 A2 WO2020210845 A2 WO 2020210845A2 US 2020043895 W US2020043895 W US 2020043895W WO 2020210845 A2 WO2020210845 A2 WO 2020210845A2
Authority
WO
WIPO (PCT)
Prior art keywords
channels
channel
accordance
bler
symbol rates
Prior art date
Application number
PCT/US2020/043895
Other languages
French (fr)
Other versions
WO2020210845A3 (en
Inventor
Chen Song
Guosen Yue
Original Assignee
Futurewei Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Futurewei Technologies, Inc. filed Critical Futurewei Technologies, Inc.
Priority to PCT/US2020/043895 priority Critical patent/WO2020210845A2/en
Publication of WO2020210845A2 publication Critical patent/WO2020210845A2/en
Publication of WO2020210845A3 publication Critical patent/WO2020210845A3/en

Links

Definitions

  • the present disclosure relates generally to methods and apparatus for digital communications, and, in particular embodiments, to methods and apparatus for power allocation.
  • massive MIMO multiple-input multiple-output
  • Massive MIMO with large numbers of transmit antennas leads to the MIMO fading channel with a higher rank, even with spatial correlations at both the access node and user equipment ends. Supporting efficient and reliable high rank MIMO transmissions at access nodes becomes more important.
  • Efficient power allocation at the transmitters is one way to exploit the physical conditions of the MIMO channels.
  • codes with infinite blocklength are utilized, power allocation is equivalent to capacity maximization.
  • practical channel codes such as turbo codes or low density parity check (LDPC) codes are used, there is a performance mismatch between what is achievable with infinite blocklength codes and the practical channel codes.
  • a method implemented by a device comprising: calculating, by the device, weighting factors of a plurality of channels in accordance with per channel symbol rates of the plurality of channels and per channel qualities of the plurality of channels, wherein a weighting factor of a channel is inversely proportional to a channel quality of the channel; determining, by the device, power allocations for the plurality of channels in accordance with a weighted sum of the per channel symbol rates of the plurality of channels, the per channel symbol rates being weighted by the weighting factors; and transmitting, by the device, over the plurality of channels in accordance with the power allocations.
  • determining the power allocations for the plurality of channels comprising: determining, by the device, symbol rates of the plurality of channels in accordance with the weighted sum of the per channel symbol rates of the plurality of channels; calculating, by the device, gradients of the symbol rates of the plurality of channels in accordance with the power allocations for the plurality of channels; and updating, by the device, the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels.
  • determining the weighting factors of the plurality of channels comprising evaluating
  • a is a parameter to be chosen based on a coding and modulation scheme (MCS) used and is greater than or equal to
  • determining the symbol rates of the plurality of channels comprising, for each channel, determining the symbol rate for the channel in accordance with a capacity gap of the channel and a dispersion scaling factor of the channel, the capacity gap being a difference between a theoretical capacity of the channel and a corrected capacity of the channel for a practical code with an infinite blocklength used for transmissions over the plurality of channels, and the dispersion scaling factor being proportional to a ratio of a corrected dispersion for the channel for a practical code with a finite blocklength used for transmissions over the plurality of channels to a theoretical dispersion of the channel.
  • a fourth implementation form of the method according to the first aspect or any preceding implementation form of the first aspect further comprising setting initial symbol rates and initial power allocations, and calculating the gradients comprising calculating the gradients of the symbol rates in accordance with the initial symbol rates and the initial power allocations.
  • updating the power allocations comprising: combining the initial power allocations with the gradients of the symbol rates and a step size associated with the gradients of the symbol rates.
  • determining the symbol rates of the plurality of channels comprising: evaluating a weighted sum of channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
  • determining the symbol rates of the plurality of channels comprising: evaluating a weighted sum of approximated channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
  • ri is a power allocation for the channel i
  • l i is one of a channel gain or SNR for the channel i
  • C EESM () is an exponential effective SNR mapping (EESM) approximation of a channel capacity of a channel.
  • the method comprising: determining, by the device, a block error rate (BLER) of a plurality of channels in accordance with channel qualities of the plurality of channels, blocklengths of a code used to encode information transmitted over the plurality of channels, and a symbol rate of the plurality of channels; calculating, by the device, a gradient of the BLER of the plurality of channels; updating, by the device, power allocations for the plurality of channels in accordance with the BLER of the plurality of channels and the gradient of the BLER of the plurality of channels; and transmitting, by the device, over the plurality of channels in accordance with the updated power allocations.
  • BLER block error rate
  • determining the BLER of the plurality of channels comprising estimating the BLER in accordance with the channel qualities of the plurality of channels, the blocklengths of the code used to encode information transmitted over the plurality of channels, and the symbol rate of the plurality of channels.
  • further comprising setting initial power allocations and initial BLER, and calculating the gradient comprising calculating the gradient of the BLER in accordance with the initial BLER and the initial power allocations.
  • updating the power allocations comprising combining the initial power allocations with the gradient of the BLER and a step size associated with the gradient of the BLER.
  • updating the power allocations comprising projecting the power allocations onto a hyperplane, the hyperplane being formed in accordance with
  • a method implemented by a device is provided.
  • the method comprising: determining, by the device, power allocations and symbol rates for a plurality of channels in accordance with channel qualities of the plurality of channels, a blocklength of a code used to encode information transmitted over the plurality of channels, and a first BLER of the plurality of channels; estimating, by the device, a second BLER in accordance with the power allocations, the channel qualities, the blocklength, and the symbol rates; and determining, by the device, that a terminating condition is met, and based thereon, allocating, by the device, output powers of the plurality of channels in accordance with the power allocations of the plurality of channels; and transmitting, by the device, over the plurality of channels in accordance with the power allocations.
  • determining the power allocations and the symbol rates comprising: determining, by the device, the symbol rates of the plurality of channels in accordance with a weighted sum of channel capacities of the plurality of channels, and a weighted sum of channel dispersions of the plurality of channels; calculating, by the device, gradients of the symbol rates of the plurality of channels in accordance with power allocations for the plurality of channels; and updating, by the device, the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels.
  • estimating the second BLER comprising: determining, by the device, first symbol rates of the plurality of channels in accordance with the channel qualities of the plurality of channels, the blocklength of the code, and a third BLER of the plurality of channels; determining, by the device, weighting factors associated with the plurality of channels in accordance with a parameter chosen based on a MCS used on the plurality of channels, the first symbol rates, and a ratio of blocklengths of each channel of the plurality of channels and the blocklength of the code; and updating, by the device, the second BLER in accordance with channel capacities of the plurality of channels, channel dispersions of the plurality of channels, and the first symbol rates.
  • a device comprising: one or more processors; and a non-transitory memory storage comprising instructions that, when executed by the one or more processors, cause the device to: calculate weighting factors of a plurality of channels in accordance with per channel symbol rates of the plurality of channels and per channel qualities of the plurality of channels, wherein a weighting factor of a channel is inversely proportional to a channel quality of the channel;
  • the instructions further cause the device to: determine symbol rates of the plurality of channels in accordance with the weighted sum of the per channel symbol rates of the plurality of channels; calculate gradients of the symbol rates of the plurality of channels in accordance with the power allocations for the plurality of channels; and update the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels.
  • the instructions further cause the device to evaluating
  • wi is the weighting factor for channel i
  • a is a parameter to be chosen based on a coding and modulation scheme (MCS) used and is greater than or equal to i is
  • MCS coding and modulation scheme
  • n is a blocklength of the code used for the plurality of channels
  • R i is the per channel symbol rate for the channel i.
  • the instructions further cause the device to, for each channel, determine the symbol rate for the channel in accordance with a capacity gap of the channel and a dispersion scaling factor of the channel, the capacity gap being a difference between a theoretical capacity of the channel and a corrected capacity of the channel for a practical code with an infinite blocklength used for transmissions over the plurality of channels, and the dispersion scaling factor being proportional to a ratio of a corrected dispersion for the channel for a practical code with a finite blocklength used for transmissions over the plurality of channels to a theoretical dispersion of the channel.
  • the instructions further cause the device to set initial symbol rates and initial power allocations, and calculate the gradients of the symbol rates in accordance with the initial symbol rates and the initial power allocations.
  • the instructions further cause the device to combine the initial power allocations with the gradients of the symbol rates and a step size associated with the gradients of the symbol rates.
  • the instructions further cause the device to project the power allocations onto a hyperplane, the hyperplane being formed in accordance with
  • the instructions further cause the device to repeat the symbol rates determining, the gradients of the symbol rates calculating, and the power allocations updating until a completion threshold is met.
  • the instructions further cause the device to evaluate a weighted sum of channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
  • r i is a power allocation for the channel i
  • l i is one of a channel gain or a SNR for the channel i
  • C AWGN () is a channel capacity of an AWGN channel.
  • a device is provided.
  • the device comprising: one or more processors; and a non-transitory memory storage comprising instructions that, when executed by the one or more processors, cause the device to: determine a BLER of a plurality of channels in accordance with channel qualities of the plurality of channels, blocklengths of a code used to encode information transmitted over the plurality of channels, and a symbol rate of the plurality of channels; calculate a gradient of the BLER of the plurality of channels; update power allocations for the plurality of channels in accordance with the BLER of the plurality of channels and the gradient of the BLER of the plurality of channels; and transmit over the plurality of channels in accordance with the updated power allocations.
  • the instructions further cause the device to estimate the BLER in accordance with the channel qualities of the plurality of channels, the blocklengths of the code used to encode information transmitted over the plurality of channels, and the symbol rate of the plurality of channels.
  • the instructions further cause the device to set initial power allocations and initial BLER, and calculate the gradient comprising calculating the gradient of the BLER in accordance with the initial BLER and the initial power allocations.
  • the instructions further cause the device to combine the initial power allocations with the gradient of the BLER and a step size associated with the gradient of the BLER.
  • the instructions further cause the device to project the power allocations onto a hyperplane, the hyperplane being formed in accordance with
  • FIG. 1 illustrates an example communications system
  • Figure 2A illustrates an example MIMO communication system
  • Figure 2B illustrates a diagram of a communications system with parallel AWGN channels
  • Figure 3 illustrates a flow diagram of example operations of an iterative technique for estimating the block error rate (BLER) according to example embodiments presented herein
  • Figure 4A illustrates a flow diagram of high level operations occurring in the allocation of power to parallel channels with consideration being given to the impact of individual channel quality on the decoding performance according to example embodiments presented herein
  • Figure 4B illustrates a flow diagram of high level operations occurring in the allocation of power to parallel channels according to example embodiments presented herein
  • Figure 5 illustrates a flow diagram of example operations occurring in a device al
  • FIG. 10 illustrates an example communications system 100.
  • Communications system 100 includes an access node 105 serving user equipments (UEs), such as UEs 110, and 112.
  • UEs user equipments
  • a first operating mode communications to and from a UE passes through access node 105.
  • a second operating mode communications to and from a UE do not pass through access node 105, however, access node 105 typically allocates resources used by the UE to communicate when specific conditions are met. Transmissions from access node 105 to a UE occur over downlink channels 120, while transmissions from UEs to access node 105 occur over uplink channels 125.
  • Access nodes may also be commonly referred to as Node Bs, evolved Node Bs (eNBs), next generation (NG) Node Bs (gNBs), master eNBs (MeNBs), secondary eNBs (SeNBs), master gNBs (MgNBs), secondary gNBs (SgNBs), network controllers, control nodes, base stations, access points, transmission points (TPs), transmission-reception points (TRPs), cells, carriers, macro cells, femtocells, pico cells, and so on, while UEs may also be commonly referred to as mobile stations, mobiles, terminals, tablets, laptop PCs, users, subscribers, stations, and the like. Access nodes may provide wireless access in accordance with one or more wireless communication protocols, e.g., the Third
  • FIG. 2A illustrates an example MIMO communication system 200.
  • Communication system 200 includes an access node 205 with a plurality of transmit antennas, such as transmit antennas 206, 207, and 208.
  • access node 205 is transmitting to UEs, such as UEs 210, 215, and 220.
  • UEs such as UEs 210, 215, and 220.
  • Each of the UEs includes one or more receive antennas.
  • UE 210 includes receive antenna 211
  • UE 215 includes receive antenna 216
  • UE 220 includes receive antenna 221.
  • Traditional power allocation techniques attempt to solve the power allocation problem by maximizing the channel capacity. However, these techniques typically do not consider the tradeoff between data rate and block error rate (BLER). In practice, a commonly occurring situation may involve determining a power allocation strategy that maximizes the data rate for a given target BLER or determining a power allocation strategy that minimizes the BLER for a particular modulation and coding scheme (MCS).
  • MCS modulation and coding scheme
  • URLLC ultra-reliable low latency communications
  • massive machine type communications Unlike in enhanced mobile broadband (eMBB) data services, a much lower BLER is desired in URLLC, for example, URLLC may demand a BLER on the order of about 10 -5 , while eMBB may only require a BLER on the order of about 10 -1 .
  • eMBB enhanced mobile broadband
  • W is the channel quality
  • C(W) is the channel capacity as a function of W for a channel or parallel additive white Guassian noise (AWGN) channels
  • AWGN additive white Guassian noise
  • ⁇ C(W) is the channel capacity gap in the infinite blocklength regime for a practical code as a function of W
  • V( W) is the channel dispersion as a function of W for a channel
  • g(W) is the channel dispersion scaling factor in the finite blocklength regime for a practical code as a function of W
  • n is the blocklength of the code
  • Q -1 () is the inverse of the Q() function, which is the tail distribution function of the standard normal distribution and is defined as
  • C(.) and V(.) may be expressible as and
  • FIG. 2B illustrates a diagram of a communications system 250 with parallel AWGN channels.
  • communications system 250 includes parallel AWGN channels 260 that comprise K AWGN channels, e.g., AWGN 1 265, AWGN 2 267, and AWGNK 269 (amongst others).
  • Parallel AWGN channels 260 may be decomposed into the K AWGN channels.
  • Each of the K AWGN channels is represented as having a potentially different channel quality, e.g., SNR 1 266, SNR 2 268, and SNR K 270 (amongst others).
  • W [W 1 , ..., W ] where W is a vector.
  • Theoretical results indicate the overall channel capacity and dispersion should be a linear combination of individual components, i.e.,
  • SNR signal plus interference to noise ratio
  • RSRP reference signal received power
  • LLR log likelihood ratio
  • RI rank indicator
  • Equation (1) may be tuned to obtain the channel capacity gap ⁇ ((W) and the channel dispersion scaling factor g(W). Furthermore, once determined, the channel capacity gap ⁇ ((W) and the channel dispersion scaling factor g(W) remain the same for arbitrary combinations of parallel channels with arbitrary blocklengths and BLERs.
  • the overall symbol rate may be estimated as
  • estimating the BLER may be performed by manipulating the terms in the normal approximation as
  • the channel capacity gap and the channel dispersion scaling factor may be obtained by linearly combining the individual terms with the weighting factors wk's as expressed in Equation (6), which are a function of R k 's expressed in Equation (1), which, is in turn, functions of BLER.
  • an iterative technique for estimating the BLER is presented. The iterative technique starts with an initial BLER that is used to calculate the individual weighting factors.
  • the initial BLER may be any reasonable value for BLER, such as 0.1, for example.
  • the iterative technique continues until a convergence threshold is met, for example.
  • the convergence threshold is when the BLER or symbol rate (or some other optimization objective) between two consecutive iterations changes by less than a specified amount.
  • the convergence threshold may be set to a small positive value e. Then, when the symbol rate associated with the updated power allocation in the current iteration R (l) and the symbol rate associated with the previous iteration R (l-1) satisfy
  • FIG. 3 illustrates a flow diagram of example operations 300 of an iterative technique for estimating the BLER.
  • Operations 300 may be indicative of operations occurring in a device, such as an access node, as the device estimates the BLER.
  • the iterative technique for estimating the BLER may be denoted
  • Inputs for operations 300 include channel SNRs, channel lengths, and symbol rate.
  • Operations 300 begin with initializing variables (block 305).
  • the variables and parameters initialized include an initial BLER t, and parameter a.
  • the device calculates the symbol rate (block 307).
  • the device may use Equation (1) to calculate the symbol rate, for example.
  • the symbol rate may be determined in accordance with the initial BLER.
  • the device calculates the weighting factors (block 309).
  • the device may use Equation (6) to calculate the weighting factors, for example.
  • the device optionally updates the parameter a chosen based on the MCS (block 311). The updating of the parameter a based on a standard deviation of the symbol rate, for example.
  • the device updates the BLER (block 313).
  • the updating of the BLER may utilize Equation (8), for example.
  • the device performs a check to determine if a convergence threshold has been met (block 315). Examples of the convergence threshold include a change between consecutive BLER values differing by less than a specified amount, a number of iterations (for example, 5 iterations), and so on. Once convergence is met, the device sets the estimated BLER (block 317). The last updated BLER is set as the estimated BLER, for example.
  • the numerical process performed by operations 300 may be referred to as a function expressible as
  • the channel gains are expressible as l 1 3 ⁇ 3 l k > 0.
  • the input x n is subject to a total power constraint, i.e.,
  • the channel H may be expressed as ⁇ ÎC nr ⁇ nt , where the channel gains (i.e., the eigenvalues of ⁇ ⁇ ⁇ ) are expressible as l 1 3 ⁇ 3 l k > 0.
  • the input to the MIMO channel over nc channel uses is expressible as x n ⁇ and is subject to a total power constraint, i.e.,
  • Equation (12) the symbol rate expressed in Equation (12) may be decoupled into a sum of individual symbol rates.
  • the solution to Equation (13) is well understood as Gaussian water-filling (GWF).
  • GWF Gaussian water-filling
  • MMSE -1 (.) is the inverse minimum mean squared error (MMSE) function
  • MMSE inverse minimum mean squared error
  • methods and apparatus for allocating transmit power are provided.
  • the methods and apparatus consider the impact of individual channel quality on the decoding performance.
  • a channel with low channel quality e.g., SNR
  • One technique that may be used to consider the impact of channel quality on decoding performance is to utilize weighting factors for the individual channels, where the weighting factors consider the channel quality of the channel to which they are associated.
  • the methods and apparatus also allocate the transmit power over parallel channels in accordance with capacity gaps D( and dispersion scaling factors g of the parallel channels.
  • the capacity gaps of the parallel channels are the differences between the theoretical capacities of the parallel channels for an ideal code and corrected capacities of the parallel channels for a practical code.
  • the corrected capacities of the parallel channels are for a practical code with an infinite blocklength.
  • the dispersion scaling factors are proportional to a ratio of corrected dispersions of the parallel channels for a practical code to theoretical dispersions of the parallel channels with an ideal code.
  • the corrected dispersions of the parallel channels are for a practical code with a finite blocklength.
  • methods and apparatus for maximizing the symbol rate for MIMO or parallel channels are provided. The techniques may be tuned for practical codes, such as turbo and polar codes, under coded modulation with a set of simulated data.
  • Equation (12) the objective function to be maximized in Equation (12) becomes Equation (7) when considering practical codes.
  • Equation (7) when considering practical codes.
  • the corresponding objective function may be re-expressed as
  • a gradient based approach is utilized to optimize the symbol rate model.
  • the gradient based approach uses a first-order iterative approach to optimize the symbol rate.
  • a projected gradient descent technique is used. In projected gradient descent, the gradient is projected onto a hyperplane to constrain the space of the gradient search.
  • the hyperplane may be defined by the power allocation of the parallel channels. As an example, the hyperplane may be defined by 1 while also satisfying ⁇
  • Figure 4A illustrates a flow diagram of high level operations 400 occurring in the allocation of power to parallel channels with consideration being given to the impact of individual channel quality on the decoding performance.
  • Operations 400 may be indicative of operations occurring in a device as the device allocates power to parallel channels with consideration being given to the impact of individual channel quality on the decoding performance.
  • the flow diagram shown in Figure 4B presents a high level view of an example allocation of power to parallel channels and may differ from an actual implementation.
  • Operations 400 begin with determining weighting factors (block 405).
  • weighting factors block 405
  • the weighting factors may be used to compensate for the SNRs of the various channels of the parallel channels.
  • the weighting factors include the consideration that channels with low SNR have greater impact on the decoding performance than channels with high SNR.
  • the device determines power allocations for the parallel channels (block 407). The power allocations may be determined in accordance with a weighted sum of the per channel symbol rates of the parallel channels, where the weighting factors are used to weigh the per channel symbol rates.
  • the device transmits (block 409).
  • the device transmits over the parallel channels with the power setting for each channel being set in accordance with the power allocations (determined in block 407, for example).
  • Figure 4B illustrates a flow diagram of high level operations 450 occurring in the allocation of power to parallel channels.
  • Operations 450 may be indicative of operations occurring in a device as the device allocates power to parallel channels.
  • the flow diagram shown in Figure 4B presents a high level view of an example allocation of power to parallel channels and may differ from an actual implementation.
  • Operations 450 may be an example high level implementation of block 407 of Figure 4A.
  • Operations 450 begin with the device initializing variables and parameters (block 455). The variables and parameters initialized may be used in optimizing the objective functions.
  • the variables and parameters may include gradient step size, initial power allocation, step counter, and so on.
  • the variables and parameters may vary on the objective function being optimized.
  • the device calculates the symbol rate (block 457). As an example, the symbol rate is calculated using Equation (23).
  • the device calculates the symbol rate gradient (block 459).
  • the symbol rate gradient is the rate of change of the symbol rate.
  • the symbol rate gradient may be calculated in accordance with the symbol rate calculated in block 407 and the power allocation, for example.
  • the power allocation is updated (block 461).
  • the power allocation may be updated in accordance with a projection of the gradient projected onto a hyperplane to constrain the space of the gradient search, for example.
  • the hyperplane constraint is defined by the unit power constraint ) while also satisfying
  • the device performs a check to determine if a termination condition is met (block 463).
  • the termination condition includes a specified number of iterations has been performed, the gradient is smaller than a specified threshold, the symbol rate has converged (e.g., successive symbol rate values differ by less than a specified threshold), and so on. If the termination condition is not met, the device increments the step counter (block 465) and returns to block 457 to perform another iteration. If the termination condition has been met, the device allocates power to the parallel channels (block 467). The power allocation to the parallel channels is in accordance with the current iteration's updated power allocation, for example. In an embodiment, a method for power allocation that maximizes the symbol rate for a target BLER is provided.
  • FIG. 5 illustrates a flow diagram of example operations 500 occurring in a device allocating power for parallel channels while maximizing the symbol rate at a target BLER.
  • Operations 500 may be indicative of operations occurring in a device as the device allocates power for parallel channels while maximizing the symbol rate at a target BLER.
  • Inputs include SNRs for the parallel channels, a blocklength of the practical code, and a target BLER (block 505).
  • Operations 500 begin with the device initializing variables and parameters (block 507).
  • the variables and parameters initialized include an initial step size of the gradient search b (1) , an initial power allocation value P (0) , and an initial value of the step counter T.
  • the device calculates the symbol rate (block 509).
  • the device calculates the gradient (block 511).
  • the gradient G (T) of the symbol rate at T-1 may be determined with respect to the power allocation at T-1, for example. In other words,
  • the device updates the gradient search step size b (T) (block 513).
  • the update of the gradient search step size may be calculated using the Barzilai-Borwein method, for example.
  • the gradient search step size is updated as, for example,
  • the device updates the power allocation (block 515).
  • the power allocation is updated without constraint.
  • the power allocation (without constraint), denoted may be
  • the device constrains the power allocation (block 517).
  • the power allocation may be constrained by projecting the power allocation (without constraint) onto a hyperspace defined by while also satisfying for example.
  • the constrained power allocation is denoted P (T) .
  • the device performs a check to determine if the termination condition is met (block 519). Examples of the termination condition include convergence of the symbol rate (e.g., successive symbol rates differ by less than a specified threshold), the gradient meeting a specified threshold, the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 521) and returns to block 509 to perform another iteration. If the termination condition is met, the device allocates power to the parallel channels (block 523).
  • Equations (23) and (24) involve evaluating integrals, which may require significant computation resources, especially if real-time performance in computationally restricted devices, such as access nodes or UEs, is needed.
  • Exponential effective SNR mapping (EESM) approximation is a known approximation for channel capacity when the channel has coded modulation inputs. The EESM approximation is widely adopted in practical systems due to its simplicity and ability to closely
  • N the number of bits per modulation symbol
  • a a modulation specific parameter that is obtained using a common metric (such as by minimizing the squared error between the actual capacity and the approximation over a range of SNRs).
  • N 2 for QPSK
  • N 4 for 16-QAM.
  • the ( FGHI terms in Equations (23) and (24) are replaced with C EESM (as in Equation (25)) to obtain an approximation of the symbol rate, expressible as
  • Operations 500 of Figure 5 illustrate an example power allocation while maximizing the symbol rate utilizing finite blocklength codes. It is possible to use approximation techniques, such as using infinite blocklength codes, EESM approximation, or a combination of both infinite blocklength codes and EESM approximation, to reduce the computational complexity associated with power allocation.
  • Figure 6 illustrates a flow diagram of example operations 500 occurring in a device allocating power for parallel channels using symbol rate approximation with infinite blocklength capacity, as well as additional approximation with EESM.
  • Operations 600 may be indicative of operations occurring in a device as the device allocates power for parallel channels using symbol rate approximation with infinite blocklength codes, as well as additional approximation with EESM.
  • Input includes SNRs for the parallel channels (block 605).
  • Operations 600 begin with the device initializing variables and parameters (block 607).
  • the variables and parameters initialized include an initial step size of the gradient search b (1) , an initial power allocation value P (0) , and an initial value of the step counter T.
  • the device calculates the symbol rate (block 609).
  • the device calculates the gradient (block 611).
  • the gradient G (T) of the symbol rate at T-1 may be determined either numerically or analytically with respect to the power allocation at T-1, for example. In other words,
  • the device updates the gradient search step size b (T) (block 613).
  • the update of the gradient search step size may be calculated using the Barzilai-Borwein method, for example.
  • the gradient search step size is updated as, for example, the transpose of ⁇ .
  • the device updates the power allocation (block 615).
  • the power allocation is updated without constraint.
  • the power allocation (without constraint), denoted may be
  • the device constrains the power allocation (block 617).
  • the power allocation may be constrained by projecting the power allocation (without constraint) onto a hyperspace defined by while also satisfying for example.
  • the constrained power allocation is denoted P (T) .
  • the device performs a check to determine if the termination condition is met (block 619). Examples of the termination condition include convergence of the symbol rate, the gradient meeting a specified threshold, the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 621) and returns to block 609 to perform another iteration. If the termination condition is met, allocates power to the parallel channels (block 623).
  • the power of the parallel channels are allocated in accordance with P (T) and the symbol rate is updated in accordance with P (T) to obtain a final symbol rate.
  • P (T) The power of the parallel channels are allocated in accordance with P (T) and the symbol rate is updated in accordance with P (T) to obtain a final symbol rate.
  • methods and apparatus for minimizing the BLER for a fixed MCS are provided.
  • the symbol rate is used to evaluate the performance of a power allocation scheme.
  • BLER performance is often significantly easier to evaluate. Referencing back to Equation (9), an optimization problem for minimizing the BLER for a particular symbol rate R is formulated as follows
  • Figure 7 illustrates a flow diagram of example operations 700 occurring in a device minimizing the BLER for a given symbol rate.
  • Operations 700 may be indicative of operations occurring in a device as the device minimizes the BLER for a given symbol rate.
  • Inputs include SNRs for the parallel channels, a blocklength of the practical code, and a symbol rate (block 705).
  • Operations 700 begin with the device initializing variables and parameters (block 707).
  • the variables and parameters initialized include an initial step size of the gradient search b (1) , an initial power allocation value P (0) , and an initial value of the step counter T.
  • the device calculates the BLER (block 709).
  • the calculation of BLER using Equation (28) may be performed following operations 300 of Figure 3.
  • the device calculates the gradient (block 711).
  • the gradient G (T) of the BLER at T-1 may be determined with respect to the power allocation at T-1, for example. In other words,
  • the device updates the gradient search step size b (T) (block 713).
  • the update of the gradient search step size may be calculated using the Barzilai-Borwein method, for example.
  • the gradient search step size is updated as, for example, the transpose of ⁇ .
  • the device updates the power allocation (block 715).
  • the power allocation is updated without constraint.
  • the power allocation (without constraint), denoted may be update as, for example,
  • the device constrains the power allocation (block 717).
  • the power allocation may be constrained by projecting the power allocation (without constraint) onto a hyperspace defined by while also satisfying for example.
  • the constrained power allocation is denoted P (T) .
  • the device performs a check to determine if the termination condition is met (block 719). Examples of the termination condition include convergence of the BLER (e.g., successive BLER values differ by less than a specified threshold), the gradient meeting a specified threshold, the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 721) and returns to block 709 to perform another iteration. If the termination condition is met, the device allocates power to the parallel channels (block 723).
  • FIG. 8 illustrates a flow diagram of example operations 800 occurring in a device minimizing the BLER for a given symbol rate utilizing an iterative max-rate technique.
  • Operations 800 may be indicative of operations occurring in a device as the device minimizes the BLER for a given symbol rate utilizing an iterative max-rate technique.
  • Inputs include SNRs for the parallel channels, a blocklength of the practical code, and a symbol rate (block 805).
  • Operations 800 begin with the device initializing variables and parameters (block 807).
  • the variables and parameters initialized include an initial BLER t (0) , and an initial value of the step counter T.
  • the device obtains the power allocation and symbol rate (block 809).
  • the device obtains the power allocation and the symbol rate for the parallel channels at iteration T, for example.
  • the device may use the technique presented in operations 500 of Figure 5 to obtain the power allocation and the symbol rate for iteration T. However, other techniques may be used.
  • the device estimates the BLER (block 811).
  • the device estimates the BLER for iteration T, for example.
  • the estimation of the BLER may be in accordance with the SNRs, blocklength, the symbol rate, and the power allocation.
  • the device performs a check to determine if the termination condition is met (block 813). Examples of the termination condition include convergence of the BLER (e.g., the successive BLER values differ by less than a specified threshold), the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 815) and returns to block 809 to perform another iteration. If the termination condition is met, the device allocates power to the parallel channels (block 817). The power of the parallel channels are allocated in accordance with P (T) .
  • Figure 9 illustrates an example communication system 900.
  • the system 900 enables multiple wireless or wired users to transmit and receive data and other content.
  • the system 900 may implement one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), or non-orthogonal multiple access (NOMA).
  • CDMA code division multiple access
  • TDMA time division multiple access
  • FDMA frequency division multiple access
  • OFDMA orthogonal FDMA
  • SC-FDMA single-carrier FDMA
  • NOMA non-orthogonal multiple access
  • the communication system 900 includes electronic devices (ED) 910a- 910c, radio access networks (RANs) 920a-920b, a core network 930, a public switched telephone network (PSTN) 940, the Internet 950, and other networks 960.
  • RANs radio access networks
  • PSTN public switched telephone network
  • the EDs 910a-910c are configured to operate or communicate in the system 900.
  • the EDs 910a-910c are configured to transmit or receive via wireless or wired communication channels.
  • Each ED 910a-910c represents any suitable end user device and may include such devices (or may be referred to) as a user equipment or device (UE), wireless transmit or receive unit (WTRU), mobile station, fixed or mobile subscriber unit, cellular telephone, personal digital assistant (PDA), smartphone, laptop, computer, touchpad, wireless sensor, or consumer electronics device.
  • the RANs 920a-920b here include base stations 970a-970b, respectively.
  • Each base station 970a-970b is configured to wirelessly interface with one or more of the EDs 910a- 910c to enable access to the core network 930, the PSTN 940, the Internet 950, or the other networks 960.
  • the base stations 970a-970b may include (or be) one or more of several well-known devices, such as a base transceiver station (BTS), a Node- B (NodeB), an evolved NodeB (eNodeB), a Next Generation (NG) NodeB (gNB), a Home NodeB, a Home eNodeB, a site controller, an access point (AP), or a wireless router.
  • BTS base transceiver station
  • NodeB Node- B
  • eNodeB evolved NodeB
  • NG Next Generation
  • gNB Next Generation
  • a Home NodeB a Home eNodeB
  • site controller an access point (AP), or a wireless router.
  • AP access point
  • the EDs 910a-910c are configured to interface and communicate with the Internet 950 and may access the core network 930, the PSTN 940, or the other networks 960.
  • the base station 970a forms part of the RAN 920a, which may include other base stations, elements, or devices.
  • the base station 970b forms part of the RAN 920b, which may include other base stations, elements, or devices.
  • Each base station 970a-970b operates to transmit or receive wireless signals within a particular geographic region or area, sometimes referred to as a“cell.”
  • MIMO multiple-input multiple-output
  • the base stations 970a-970b communicate with one or more of the EDs 910a-910c over one or more air interfaces 990 using wireless communication links.
  • the air interfaces 990 may utilize any suitable radio access technology. It is contemplated that the system 900 may use multiple channel access functionality, including such schemes as described above.
  • the base stations and EDs implement 5G New Radio (NR), LTE, LTE-A, or LTE-B. Of course, other multiple access schemes and wireless protocols may be utilized.
  • NR 5G New Radio
  • LTE Long Term Evolution
  • LTE-A Long Term Evolution-A
  • LTE-B Long Term Evolution-A
  • Other multiple access schemes and wireless protocols may be utilized.
  • the RANs 920a-920b are in communication with the core network 930 to provide the EDs 910a-910c with voice, data, application, Voice over Internet Protocol (VoIP), or other services.
  • VoIP Voice over Internet Protocol
  • the RANs 920a-920b or the core network 930 may be in direct or indirect communication with one or more other RANs (not shown).
  • the core network 930 may also serve as a gateway access for other networks (such as the PSTN 940, the Internet 950, and the other networks 960).
  • some or all of the EDs 910a-910c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies or protocols. Instead of wireless communication (or in addition thereto), the EDs may communicate via wired communication channels to a service provider or switch (not shown), and to the Internet 950.
  • Figure 9 illustrates one example of a communication system, various changes may be made to Figure 9.
  • the communication system 900 could include any number of EDs, base stations, networks, or other components in any suitable configuration.
  • Figures 10A and 10B illustrate example devices that may implement the methods and teachings according to this disclosure.
  • Figure 10A illustrates an example ED 1010
  • Figure 10B illustrates an example base station 1070.
  • the ED 1010 includes at least one processing unit 1000.
  • the processing unit 1000 implements various processing operations of the ED 1010.
  • the processing unit 1000 could perform signal coding, data processing, power control, input/output processing, or any other functionality enabling the ED 1010 to operate in the system 900.
  • the processing unit 1000 also supports the methods and teachings described in more detail above.
  • Each processing unit 1000 includes any suitable processing or computing device configured to perform one or more operations.
  • Each processing unit 1000 could, for example, include a microprocessor,
  • the ED 1010 also includes at least one transceiver 1002.
  • the transceiver 1002 is configured to modulate data or other content for transmission by at least one antenna or NIC (Network Interface Controller) 1004.
  • the transceiver 1002 is also configured to demodulate data or other content received by the at least one antenna 1004.
  • Each transceiver 1002 includes any suitable structure for generating signals for wireless or wired transmission or processing signals received wirelessly or by wire.
  • Each antenna 1004 includes any suitable structure for transmitting or receiving wireless or wired signals.
  • One or multiple transceivers 1002 could be used in the ED 1010, and one or multiple antennas 1004 could be used in the ED 1010.
  • the ED 1010 further includes one or more input/output devices 1006 or interfaces (such as a wired interface to the Internet 950).
  • the input/output devices 1006 facilitate interaction with a user or other devices (network communications) in the network.
  • Each input/output device 1006 includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touch screen, including network interface communications.
  • the ED 1010 includes at least one memory 1008.
  • the memory 1008 stores instructions and data used, generated, or collected by the ED 1010.
  • the memory 1008 could store software or firmware instructions executed by the processing unit(s) 1000 and data used to reduce or eliminate interference in incoming signals.
  • Each memory 1008 includes any suitable volatile or non-volatile storage and retrieval device(s). Any suitable type of memory may be used, such as random access memory (RAM), read only memory (ROM), hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, and the like.
  • the base station 1070 includes at least one processing unit 1050, at least one transceiver 1052, which includes functionality for a transmitter and a receiver, one or more antennas 1056, at least one memory 1058, and one or more input/output devices or interfaces 1066.
  • a scheduler which would be understood by one skilled in the art, is coupled to the processing unit 1050.
  • the scheduler could be included within or operated separately from the base station 1070.
  • the processing unit 1050 implements various processing operations of the base station 1070, such as signal coding, data processing, power control, input/output processing, or any other functionality.
  • the processing unit 1050 can also support the methods and teachings described in more detail above.
  • Each processing unit 1050 includes any suitable processing or computing device configured to perform one or more operations.
  • Each processing unit 1050 could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit.
  • Each transceiver 1052 includes any suitable structure for generating signals for wireless or wired transmission to one or more EDs or other devices.
  • Each transceiver 1052 further includes any suitable structure for processing signals received wirelessly or by wire from one or more EDs or other devices. Although shown combined as a transceiver 1052, a transmitter and a receiver could be separate components.
  • Each antenna 1056 includes any suitable structure for transmitting or receiving wireless or wired signals. While a common antenna 1056 is shown here as being coupled to the transceiver 1052, one or more antennas 1056 could be coupled to the transceiver(s) 1052, allowing separate antennas 1056 to be coupled to the transmitter and the receiver if equipped as separate components.
  • Each memory 1058 includes any suitable volatile or non-volatile storage and retrieval device(s).
  • Each input/output device 1066 facilitates interaction with a user or other devices (network communications) in the network.
  • Each input/output device 1066 includes any suitable structure for providing information to or receiving/providing information from a user, including network interface communications.
  • Figure 11 is a block diagram of a computing system 1100 that may be used for implementing the devices and methods disclosed herein.
  • the computing system can be any entity of UE, access network (AN), mobility management (MM), session management (SM), user plane gateway (UPGW), or access stratum (AS).
  • Specific devices may utilize all of the components shown or only a subset of the components, and levels of integration may vary from device to device.
  • a device may contain multiple instances of a component, such as multiple processing units, processors, memories, transmitters, receivers, etc.
  • the computing system 1100 includes a processing unit 1102.
  • the processing unit includes a central processing unit (CPU) 1114, memory 1108, and may further include a mass storage device 1104, a video adapter 1110, and an I/O interface 1112 connected to a bus 1120.
  • the bus 1120 may be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, or a video bus.
  • the CPU 1114 may comprise any type of electronic data processor.
  • the memory 1108 may comprise any type of non-transitory system memory such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), or a combination thereof.
  • the memory 1108 may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs.
  • the mass storage 1104 may comprise any type of non-transitory storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus 1120.
  • the mass storage 1104 may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive, or an optical disk drive.
  • the video adapter 1110 and the I/O interface 1112 provide interfaces to couple external input and output devices to the processing unit 1102. As illustrated, examples of input and output devices include a display 1118 coupled to the video adapter 1110 and a mouse, keyboard, or printer 1116 coupled to the I/O interface 1112.
  • the processing unit 1102 also includes one or more network interfaces 1106, which may comprise wired links, such as an Ethernet cable, or wireless links to access nodes or different networks.
  • the network interfaces 1106 allow the processing unit 1102 to communicate with remote units via the networks.
  • the network interfaces 1106 may provide wireless communication via one or more transmitters/transmit antennas and one or more receivers/receive antennas.
  • the processing unit 1102 is coupled to a local-area network 1122 or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet, or remote storage facilities.
  • remote devices such as other processing units, the Internet, or remote storage facilities.
  • a signal may be transmitted by a transmitting unit or a transmitting module.
  • a signal may be received by a receiving unit or a receiving module.
  • a signal may be processed by a processing unit or a processing module.
  • Other steps may be performed by a determining unit or module, a calculating unit or module, an evaluating unit or module, a projecting unit or module, or an updating unit or module.
  • the respective units or modules may be hardware, software, or a combination thereof.
  • one or more of the units or modules may be an integrated circuit, such as field programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs).
  • FPGAs field programmable gate arrays
  • ASICs application-specific integrated circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method includes calculating weighting factors of a plurality of channels in accordance with per channel symbol rates of the plurality of channels and per channel qualities of the plurality of channels, where a weighting factor of a channel is inversely proportional to a channel quality of the channel; determining power allocations for the plurality of channels in accordance with a weighted sum of the per channel symbol rates of the plurality of channels; and transmitting over the plurality of channels in accordance with the power allocations.

Description

Methods and Apparatus for Power Allocation TECHNICAL FIELD The present disclosure relates generally to methods and apparatus for digital communications, and, in particular embodiments, to methods and apparatus for power allocation. BACKGROUND In Fifth Generation (5G) wireless communications systems and beyond, multiple-input multiple-output (MIMO) channels continue to have an important role in reliable communications at high data rates. Massive MIMO with large numbers of transmit antennas leads to the MIMO fading channel with a higher rank, even with spatial correlations at both the access node and user equipment ends. Supporting efficient and reliable high rank MIMO transmissions at access nodes becomes more important.
Efficient power allocation at the transmitters is one way to exploit the physical conditions of the MIMO channels. When codes with infinite blocklength are utilized, power allocation is equivalent to capacity maximization. However, when practical channel codes, such as turbo codes or low density parity check (LDPC) codes are used, there is a performance mismatch between what is achievable with infinite blocklength codes and the practical channel codes. SUMMARY
According to a first aspect, a method implemented by a device is provided. The method comprising: calculating, by the device, weighting factors of a plurality of channels in accordance with per channel symbol rates of the plurality of channels and per channel qualities of the plurality of channels, wherein a weighting factor of a channel is inversely proportional to a channel quality of the channel; determining, by the device, power allocations for the plurality of channels in accordance with a weighted sum of the per channel symbol rates of the plurality of channels, the per channel symbol rates being weighted by the weighting factors; and transmitting, by the device, over the plurality of channels in accordance with the power allocations. In a first implementation form of the method according to the first aspect, determining the power allocations for the plurality of channels comprising: determining, by the device, symbol rates of the plurality of channels in accordance with the weighted sum of the per channel symbol rates of the plurality of channels; calculating, by the device, gradients of the symbol rates of the plurality of channels in accordance with the power allocations for the plurality of channels; and updating, by the device, the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels. In a second implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, determining the weighting factors of the plurality of channels comprising evaluating
Figure imgf000003_0001
where wi is the weighting factor for channel i, a is a parameter to be chosen based on a coding and modulation scheme (MCS) used and is greater than or equal to
Figure imgf000003_0002
a blocklength of a code used for the channel i, n is a blocklength of the code used for the plurality of channels, and Ri
Figure imgf000003_0003
is the per channel symbol rate for the channel i. In a third implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, determining the symbol rates of the plurality of channels comprising, for each channel, determining the symbol rate for the channel in accordance with a capacity gap of the channel and a dispersion scaling factor of the channel, the capacity gap being a difference between a theoretical capacity of the channel and a corrected capacity of the channel for a practical code with an infinite blocklength used for transmissions over the plurality of channels, and the dispersion scaling factor being proportional to a ratio of a corrected dispersion for the channel for a practical code with a finite blocklength used for transmissions over the plurality of channels to a theoretical dispersion of the channel. In a fourth implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, further comprising setting initial symbol rates and initial power allocations, and calculating the gradients comprising calculating the gradients of the symbol rates in accordance with the initial symbol rates and the initial power allocations. In a fifth implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, updating the power allocations comprising: combining the initial power allocations with the gradients of the symbol rates and a step size associated with the gradients of the symbol rates. In a sixth implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, further comprising projecting the power allocations onto a hyperplane, the hyperplane being formed in accordance with
Figure imgf000004_0001
In a seventh implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, further comprising repeating determining the symbol rates, calculating the gradients of the symbol rates, and updating the power allocations until a completion threshold is met. In an eighth implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, the completion threshold comprising at least one of a number of iterations or a convergence threshold. In a ninth implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, determining the symbol rates of the plurality of channels comprising: evaluating a weighted sum of channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000004_0002
and ri is a power allocation for the channel i, li is one of a channel gain or a signal to noise ratio (SNR) for the channel i, and CAWGN() is a channel capacity of an AWGN channel. In a tenth implementation form of the method according to the first aspect or any preceding implementation form of the first aspect, determining the symbol rates of the plurality of channels comprising: evaluating a weighted sum of approximated channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000004_0003
and ri is a power allocation for the channel i, li is one of a channel gain or SNR for the channel i, and CEESM() is an exponential effective SNR mapping (EESM) approximation of a channel capacity of a channel. According to a second aspect, a method implemented by a device is provided. The method comprising: determining, by the device, a block error rate (BLER) of a plurality of channels in accordance with channel qualities of the plurality of channels, blocklengths of a code used to encode information transmitted over the plurality of channels, and a symbol rate of the plurality of channels; calculating, by the device, a gradient of the BLER of the plurality of channels; updating, by the device, power allocations for the plurality of channels in accordance with the BLER of the plurality of channels and the gradient of the BLER of the plurality of channels; and transmitting, by the device, over the plurality of channels in accordance with the updated power allocations. In a first implementation form of the method according to the second aspect, determining the BLER of the plurality of channels comprising estimating the BLER in accordance with the channel qualities of the plurality of channels, the blocklengths of the code used to encode information transmitted over the plurality of channels, and the symbol rate of the plurality of channels. In a second implementation form of the method according to the second aspect or any preceding implementation form of the second aspect, further comprising setting initial power allocations and initial BLER, and calculating the gradient comprising calculating the gradient of the BLER in accordance with the initial BLER and the initial power allocations. In a third implementation form of the method according to the second aspect or any preceding implementation form of the second aspect, updating the power allocations comprising combining the initial power allocations with the gradient of the BLER and a step size associated with the gradient of the BLER. In a fourth implementation form of the method according to the second aspect or any preceding implementation form of the second aspect, further comprising projecting the power allocations onto a hyperplane, the hyperplane being formed in accordance with
Figure imgf000005_0001
In a fifth implementation form of the method according to the second aspect or any preceding implementation form of the second aspect, further comprising repeating determining the BLER, calculating the gradient of the BLER, and updating the power allocations until a completion threshold is met. In a sixth implementation form of the method according to the second aspect or any preceding implementation form of the second aspect, the completion threshold comprising at least one of a number of iterations or a convergence threshold. According to a third aspect, a method implemented by a device is provided. The method comprising: determining, by the device, power allocations and symbol rates for a plurality of channels in accordance with channel qualities of the plurality of channels, a blocklength of a code used to encode information transmitted over the plurality of channels, and a first BLER of the plurality of channels; estimating, by the device, a second BLER in accordance with the power allocations, the channel qualities, the blocklength, and the symbol rates; and determining, by the device, that a terminating condition is met, and based thereon, allocating, by the device, output powers of the plurality of channels in accordance with the power allocations of the plurality of channels; and transmitting, by the device, over the plurality of channels in accordance with the power allocations. In a first implementation form of the method according to the third aspect, determining the power allocations and the symbol rates comprising: determining, by the device, the symbol rates of the plurality of channels in accordance with a weighted sum of channel capacities of the plurality of channels, and a weighted sum of channel dispersions of the plurality of channels; calculating, by the device, gradients of the symbol rates of the plurality of channels in accordance with power allocations for the plurality of channels; and updating, by the device, the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels. In a second implementation form of the method according to the third aspect or any preceding implementation form of the third aspect, estimating the second BLER comprising: determining, by the device, first symbol rates of the plurality of channels in accordance with the channel qualities of the plurality of channels, the blocklength of the code, and a third BLER of the plurality of channels; determining, by the device, weighting factors associated with the plurality of channels in accordance with a parameter chosen based on a MCS used on the plurality of channels, the first symbol rates, and a ratio of blocklengths of each channel of the plurality of channels and the blocklength of the code; and updating, by the device, the second BLER in accordance with channel capacities of the plurality of channels, channel dispersions of the plurality of channels, and the first symbol rates. According to a fourth aspect, a device is provided. The device comprising: one or more processors; and a non-transitory memory storage comprising instructions that, when executed by the one or more processors, cause the device to: calculate weighting factors of a plurality of channels in accordance with per channel symbol rates of the plurality of channels and per channel qualities of the plurality of channels, wherein a weighting factor of a channel is inversely proportional to a channel quality of the channel;
determine power allocations for the plurality of channels in accordance with a weighted sum of the per channel symbol rates of the plurality of channels, the per channel symbol rates being weighted by the weighting factors; and transmit over the plurality of channels in accordance with the power allocations. In a first implementation form of the device according to the fourth aspect, wherein the instructions further cause the device to: determine symbol rates of the plurality of channels in accordance with the weighted sum of the per channel symbol rates of the plurality of channels; calculate gradients of the symbol rates of the plurality of channels in accordance with the power allocations for the plurality of channels; and update the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels. In a second implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to evaluating
Figure imgf000007_0001
where wi is the weighting factor for channel i, a is a parameter to be chosen based on a coding and modulation scheme (MCS) used and is greater than or equal to i is
Figure imgf000007_0002
a blocklength of a code used for the channel i, n is a blocklength of the code used for the plurality of channels, and Ri is the per channel symbol rate for the channel i. In a third implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to, for each channel, determine the symbol rate for the channel in accordance with a capacity gap of the channel and a dispersion scaling factor of the channel, the capacity gap being a difference between a theoretical capacity of the channel and a corrected capacity of the channel for a practical code with an infinite blocklength used for transmissions over the plurality of channels, and the dispersion scaling factor being proportional to a ratio of a corrected dispersion for the channel for a practical code with a finite blocklength used for transmissions over the plurality of channels to a theoretical dispersion of the channel. In a fourth implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to set initial symbol rates and initial power allocations, and calculate the gradients of the symbol rates in accordance with the initial symbol rates and the initial power allocations. In a fifth implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to combine the initial power allocations with the gradients of the symbol rates and a step size associated with the gradients of the symbol rates. In a sixth implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to project the power allocations onto a hyperplane, the hyperplane being formed in accordance with
Figure imgf000008_0003
In a seventh implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to repeat the symbol rates determining, the gradients of the symbol rates calculating, and the power allocations updating until a completion threshold is met. In an eighth implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to evaluate a weighted sum of channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000008_0001
and ri is a power allocation for the channel i, li is one of a channel gain or a SNR for the channel i, and CAWGN() is a channel capacity of an AWGN channel. In a ninth implementation form of the device according to the fourth aspect or any preceding implementation form of the fourth aspect, wherein the instructions further cause the device to evaluate a weighted sum of approximated channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000008_0002
and ri is a power allocation for the channel i, li is one of a channel gain or SNR for the channel i, and CEESM() is an exponential effective SNR mapping (EESM) approximation of a channel capacity of a channel. According to a fifth aspect, a device is provided. The device comprising: one or more processors; and a non-transitory memory storage comprising instructions that, when executed by the one or more processors, cause the device to: determine a BLER of a plurality of channels in accordance with channel qualities of the plurality of channels, blocklengths of a code used to encode information transmitted over the plurality of channels, and a symbol rate of the plurality of channels; calculate a gradient of the BLER of the plurality of channels; update power allocations for the plurality of channels in accordance with the BLER of the plurality of channels and the gradient of the BLER of the plurality of channels; and transmit over the plurality of channels in accordance with the updated power allocations. In a first implementation form of the device according to the fifth aspect, wherein the instructions further cause the device to estimate the BLER in accordance with the channel qualities of the plurality of channels, the blocklengths of the code used to encode information transmitted over the plurality of channels, and the symbol rate of the plurality of channels. In a second implementation form of the device according to the fifth aspect or any preceding implementation form of the fifth aspect, wherein the instructions further cause the device to set initial power allocations and initial BLER, and calculate the gradient comprising calculating the gradient of the BLER in accordance with the initial BLER and the initial power allocations. In a third implementation form of the device according to the fifth aspect or any preceding implementation form of the fifth aspect, wherein the instructions further cause the device to combine the initial power allocations with the gradient of the BLER and a step size associated with the gradient of the BLER. In a fourth implementation form of the device according to the fifth aspect or any preceding implementation form of the fifth aspect, wherein the instructions further cause the device to project the power allocations onto a hyperplane, the hyperplane being formed in accordance with
Figure imgf000009_0001
An advantage of a preferred embodiment is that the power allocation of parallel channels or MIMO channels is performed by optimizing the symbol rate or the BLER. BRIEF DESCRIPTION OF THE DRAWINGS For a more complete understanding of the present disclosure, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: Figure 1 illustrates an example communications system; Figure 2A illustrates an example MIMO communication system; Figure 2B illustrates a diagram of a communications system with parallel AWGN channels; Figure 3 illustrates a flow diagram of example operations of an iterative technique for estimating the block error rate (BLER) according to example embodiments presented herein; Figure 4A illustrates a flow diagram of high level operations occurring in the allocation of power to parallel channels with consideration being given to the impact of individual channel quality on the decoding performance according to example embodiments presented herein; Figure 4B illustrates a flow diagram of high level operations occurring in the allocation of power to parallel channels according to example embodiments presented herein; Figure 5 illustrates a flow diagram of example operations occurring in a device allocating power for parallel channels while maximizing the symbol rate at a target BLER according to example embodiments presented herein; Figure 6 illustrates a flow diagram of example operations occurring in a device allocating power for parallel channels using symbol rate approximation with infinite blocklength capacity as well as additional approximation with an exponential effective SNR mapping (EESM) according to example embodiments presented herein; Figure 7 illustrates a flow diagram of example operations occurring in a device minimizing the BLER for a given symbol rate according to example embodiments presented herein; Figure 8 illustrates a flow diagram of example operations occurring in a device minimizing the BLER for a given symbol rate utilizing an iterative max-rate technique according to example embodiments presented herein; Figure 9 illustrates an example communication system according to example
embodiments presented herein; Figures 10A and 10B illustrate example devices that may implement the methods and teachings according to this disclosure; and Figure 11 is a block diagram of a computing system that may be used for implementing the devices and methods disclosed herein. DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS The structure and use of disclosed embodiments are discussed in detail below. It should be appreciated, however, that the present disclosure provides many applicable concepts that can be embodied in a wide variety of specific contexts. The specific embodiments discussed are merely illustrative of specific structure and use of embodiments, and do not limit the scope of the disclosure. Figure 1 illustrates an example communications system 100. Communications system 100 includes an access node 105 serving user equipments (UEs), such as UEs 110, and 112. In a first operating mode, communications to and from a UE passes through access node 105. In a second operating mode, communications to and from a UE do not pass through access node 105, however, access node 105 typically allocates resources used by the UE to communicate when specific conditions are met. Transmissions from access node 105 to a UE occur over downlink channels 120, while transmissions from UEs to access node 105 occur over uplink channels 125. Access nodes may also be commonly referred to as Node Bs, evolved Node Bs (eNBs), next generation (NG) Node Bs (gNBs), master eNBs (MeNBs), secondary eNBs (SeNBs), master gNBs (MgNBs), secondary gNBs (SgNBs), network controllers, control nodes, base stations, access points, transmission points (TPs), transmission-reception points (TRPs), cells, carriers, macro cells, femtocells, pico cells, and so on, while UEs may also be commonly referred to as mobile stations, mobiles, terminals, tablets, laptop PCs, users, subscribers, stations, and the like. Access nodes may provide wireless access in accordance with one or more wireless communication protocols, e.g., the Third
Generation Partnership Project (3GPP) long term evolution (LTE), LTE advanced (LTE- A), 5G, 5G LTE, 5G NR, High Speed Packet Access (HSPA), the IEEE 802.11 family of standards, such as 802.11a/b/g/n/ac/ad/ax/ay/be, etc. While it is understood that communications systems may employ multiple access nodes capable of communicating with a number of UEs, only one access node and five UEs are illustrated for simplicity. Figure 2A illustrates an example MIMO communication system 200. Communication system 200 includes an access node 205 with a plurality of transmit antennas, such as transmit antennas 206, 207, and 208. As shown in Figure 2, access node 205 is transmitting to UEs, such as UEs 210, 215, and 220. Each of the UEs includes one or more receive antennas. As an example, UE 210 includes receive antenna 211, while UE 215 includes receive antenna 216 and UE 220 includes receive antenna 221. Traditional power allocation techniques attempt to solve the power allocation problem by maximizing the channel capacity. However, these techniques typically do not consider the tradeoff between data rate and block error rate (BLER). In practice, a commonly occurring situation may involve determining a power allocation strategy that maximizes the data rate for a given target BLER or determining a power allocation strategy that minimizes the BLER for a particular modulation and coding scheme (MCS). Quantifying such types of tradeoffs has become increasingly important with the emerging demand for ultra-reliable low latency communications (URLLC) and massive machine type communications. Unlike in enhanced mobile broadband (eMBB) data services, a much lower BLER is desired in URLLC, for example, URLLC may demand a BLER on the order of about 10-5, while eMBB may only require a BLER on the order of about 10-1.
Understanding the tradeoff between rate and BLER has been enabled by finite blocklength analysis, which provides an approximation that quantizes the relationship between data rate, BLER, and blocklength that is valid for code blocks as short as 100. However, most works are theoretical in nature that assume continuous inputs and do not consider decoding impact. These assumptions have issues when coded modulation and practical channel codes are used. A model for symbol rate that captures the performance of a practical code, such as a turbo code, under discrete coded modulation schemes, e.g., quadrature phase shift keying (QPSK), is expressible as
Figure imgf000012_0001
where W is the channel quality; C(W) is the channel capacity as a function of W for a channel or parallel additive white Guassian noise (AWGN) channels;∆C(W) is the channel capacity gap in the infinite blocklength regime for a practical code as a function of W; V( W) is the channel dispersion as a function of W for a channel; g(W) is the channel dispersion scaling factor in the finite blocklength regime for a practical code as a function of W; n is the blocklength of the code; Q-1() is the inverse of the Q() function, which is the tail distribution function of the standard normal distribution and is defined as
the target BLER.
Figure imgf000012_0002
In the case of a single AWGN channel, the terms C(.) and V(.) may be expressible as
Figure imgf000012_0003
and
Figure imgf000013_0001
where Z is a random variable that follows a zero-mean complex Gaussian distribution with unit variance, 8̅^. ^ are normalized constellation points of an m-ary phase shift keying (m-PSK) or m-ary quadrature amplitude modulation (m-QAM) input with average power W, and E[.] is the expected value function. Figure 2B illustrates a diagram of a communications system 250 with parallel AWGN channels. As shown in Figure 2B, communications system 250 includes parallel AWGN channels 260 that comprise K AWGN channels, e.g., AWGN1265, AWGN2267, and AWGNK 269 (amongst others). Parallel AWGN channels 260 may be decomposed into the K AWGN channels. Each of the K AWGN channels is represented as having a potentially different channel quality, e.g., SNR1266, SNR2268, and SNRK 270 (amongst others). In the case of parallel AWGN channels, W = [W1, ..., W ] where W is a vector. Theoretical results indicate the overall channel capacity and dispersion should be a linear combination of individual components, i.e.,
Figure imgf000013_0002
and
Figure imgf000013_0003
_
where pi are the relative proportions in terms of blocklength for each component channel. For practical codes, such as turbo and LDPC codes, under coded modulation, the parallel channels experience a biased performance towards the subchannel with lower signal to noise ratios (SNRs). In general, a channel with low SNR will have a greater impact on the decoding performance (and hence the communication
performance) than a channel with high SNR. Hence, the SNR of the individual channels should be considered. Although the discussion focuses on channel quality being represented by SNR, other representations are possible, including signal plus interference to noise ratio (SINR), reference signal received power (RSRP), received signal received power, log likelihood ratio (LLR), rank indicator (RI), and so on.
Therefore, the focus on SNR should not be construed as being limiting to the scope of the example embodiments. One technique that is effective in compensating for such codes is to replace the pi terms in Equations (4) and (5) with weighting factors wi, which are expressible as
Figure imgf000013_0004
where a is a parameter to be chosen based on the MCS and ` is greater than or equal to is the blocklength of the code used for the i-th AWGN channel, n is the
Figure imgf000014_0001
blocklength of the code used for the parallel channels, and Ri is the per channel symbol rate under the i-th AWGN channel. The symbol rate model presented in Equation (1) may be tuned to obtain the channel capacity gap∆((W) and the channel dispersion scaling factor g(W). Furthermore, once determined, the channel capacity gap∆((W) and the channel dispersion scaling factor g(W) remain the same for arbitrary combinations of parallel channels with arbitrary blocklengths and BLERs. In summary, given the SNRs Wi , a = 1,… , c of the parallel channels, a target BLER Pe, and blocklengths nk such that å ni = n and i = ni/n, the overall symbol rate may be estimated as
Figure imgf000014_0002
Alternatively, given SNRs, blocklengths, and a fixed rate, it is possible to estimate the BLER. Without the correction for practical codes, estimating the BLER may be performed by manipulating the terms in the normal approximation as
Figure imgf000014_0003
However, in the situation with parallel channels and practical codes and modulation, the channel capacity gap and the channel dispersion scaling factor may be obtained by linearly combining the individual terms with the weighting factors wk's as expressed in Equation (6), which are a function of Rk's expressed in Equation (1), which, is in turn, functions of BLER. According to an example embodiment, an iterative technique for estimating the BLER is presented. The iterative technique starts with an initial BLER that is used to calculate the individual weighting factors. The initial BLER may be any reasonable value for BLER, such as 0.1, for example. The iterative technique continues until a convergence threshold is met, for example. An example of the convergence threshold is when the BLER or symbol rate (or some other optimization objective) between two consecutive iterations changes by less than a specified amount. As an illustrative example, in an iterative gradient search to maximize the symbol rate, the convergence threshold may be set to a small positive value e. Then, when the symbol rate associated with the updated power allocation in the current iteration R(l) and the symbol rate associated with the previous iteration R(l-1) satisfy |R(l) - R(l-1)| / R(l-1) < e, the iterative gradient search may be said to have converged and the search may be terminated. As an alternative example, |R(l) - R(l-1)| / R(l-1) < e' may be used as the convergence condition with an approximation threshold e'. As yet another example, the thresholds for minimizing BLER may be |Pe(l) - Pe (l-1)| / Pe (l-1) < e, or |Pe(l) - Pe (l-1)| < e'BLER. Figure 3 illustrates a flow diagram of example operations 300 of an iterative technique for estimating the BLER. Operations 300 may be indicative of operations occurring in a device, such as an access node, as the device estimates the BLER. The iterative technique for estimating the BLER may be denoted
Figure imgf000015_0001
Inputs for operations 300 include channel SNRs, channel lengths, and symbol rate. Operations 300 begin with initializing variables (block 305). The variables and parameters initialized include an initial BLER t, and parameter a. Example initialized values include: t = 0.1 and a set to a value depending on the MCS. The device calculates the symbol rate (block 307). The device may use Equation (1) to calculate the symbol rate, for example. The symbol rate may be determined in accordance with the initial BLER. The device calculates the weighting factors (block 309). The device may use Equation (6) to calculate the weighting factors, for example. The device optionally updates the parameter a chosen based on the MCS (block 311). The updating of the parameter a based on a standard deviation of the symbol rate, for example. The device updates the BLER (block 313). The updating of the BLER may utilize Equation (8), for example. The device performs a check to determine if a convergence threshold has been met (block 315). Examples of the convergence threshold include a change between consecutive BLER values differing by less than a specified amount, a number of iterations (for example, 5 iterations), and so on. Once convergence is met, the device sets the estimated BLER (block 317). The last updated BLER is set as the estimated BLER, for example. The numerical process performed by operations 300 may be referred to as a function expressible as
Figure imgf000015_0002
(9) In a parallel channel communication system, the channel gains are expressible as l1 ³⋯ ³ lk > 0. The input, expressible as xn, to the parallel channels spans over d channel uses, where xn = ]x1 , , xn] and is a length d vector. The input xn is subject to a total power constraint, i.e.,
Figure imgf000016_0001
The input symbol has been normalized to the unit power, for convenience. Equivalent to the parallel channels, in a MIMO communication system, the channel H may be expressed as { Îℂnr×nt, where the channel gains (i.e., the eigenvalues of {^{) are expressible as l1 ³⋯ ³ lk > 0. The input to the MIMO channel over nc channel uses is expressible as xn^ and is subject to a total power constraint, i.e.,
(10)
Figure imgf000016_0002
where xn^ = [x1 ,… ,xnc] and each xi Îℂnr×1 is a column vector. The input symbol has been normalized to the unit power, for convenience. The channel input-output relation is expressible as
Y = HX + W, (11) where W~CN(0nr, Inr). Under the convention of parallel channels, the coded symbols span over time only, while under the MIMO channel, the symbols span across both space and time. In the remainder of the discussion, the symbol rate is expressed using the parallel channels assumption. For the MIMO channel, the symbol rate would only need to be multiplied by the rank K. Typically, power allocation is formulated as a rate maximization problem, where the symbol rate is the capacity. This is expressible as
Figure imgf000016_0003
where the objective function is the combined rate over all subchannels, and ^^ is the power assignment for the i-th channel. Theoretically, the symbol rate expressed in Equation (12) may be decoupled into a sum of individual symbol rates. In particular, when the symbol rate is represented by capacity, Equation (12) becomes
Figure imgf000016_0004
where wk's are assumed to take on the theoretical values pi's. In the situation where all of the subchannels are being used the same number of times, it is assumed that pi = 1/K. When the channel input symbols are allowed to be continuous, the solution to Equation (13) is well understood as Gaussian water-filling (GWF). Under this setting, the individual capacity has a closed form expression, log^1 + ^^^^^. The optimal power allocation scheme is expressible as
Figure imgf000017_0001
where u is determined by
Figure imgf000017_0006
However, GWF is only a valid solution when a continuous input alphabet is allowed. In situations where coded modulation is considered, mercury water-filling (MWF) provides the solution to Equation (13). Under MWF, the individual capacity in Equation (14) is obtainable from Equation (2) and the power allocation is expressible as
Figure imgf000017_0002
where n is given by the solution to
Figure imgf000017_0003
where MMSE-1(.) is the inverse minimum mean squared error (MMSE) function, and for the case of QPSK and 16-QAM, the MMSE functions are expressible as
Figure imgf000017_0004
respectively. Other than the theoretically optimal schemes GWF and MWF, other straightforward techniques used include equal power (EP) allocation and equal SNR (ES) allocation, which are expressible as
Figure imgf000017_0005
respectively. EP and ES are commonly used due to their simplicity, however, optimality is not guaranteed in general. According to an example embodiment, methods and apparatus for allocating transmit power are provided. The methods and apparatus consider the impact of individual channel quality on the decoding performance. As discussed previously, a channel with low channel quality (e.g., SNR) has greater impact on the decoding performance than a channel with high channel quality. One technique that may be used to consider the impact of channel quality on decoding performance is to utilize weighting factors for the individual channels, where the weighting factors consider the channel quality of the channel to which they are associated. The methods and apparatus also allocate the transmit power over parallel channels in accordance with capacity gaps D( and dispersion scaling factors g of the parallel channels. As discussed previously, the capacity gaps of the parallel channels are the differences between the theoretical capacities of the parallel channels for an ideal code and corrected capacities of the parallel channels for a practical code. In an embodiment, the corrected capacities of the parallel channels are for a practical code with an infinite blocklength. Similarly, the dispersion scaling factors are proportional to a ratio of corrected dispersions of the parallel channels for a practical code to theoretical dispersions of the parallel channels with an ideal code. In an embodiment, the corrected dispersions of the parallel channels are for a practical code with a finite blocklength. In an embodiment, methods and apparatus for maximizing the symbol rate for MIMO or parallel channels are provided. The techniques may be tuned for practical codes, such as turbo and polar codes, under coded modulation with a set of simulated data. The BLER, symbol rate and blocklength tradeoff, as well as code-related behavior, can have an impact on the optimum power allocation techniques. As an example, the objective function to be maximized in Equation (12) becomes Equation (7) when considering practical codes. The corresponding objective function may be re-expressed as
Figure imgf000018_0001
with the observation that each weight
Figure imgf000018_0002
is a function of al
Figure imgf000018_0003
s and because of the coupling of the terms in Equation (6). Moreover, because the terms∆C and g are obtained empirically, no concavity property can be claimed about the objective function of Equation (22). In an embodiment, a simplified model of the symbol rate adopting the weighting factors presented in Equation (6), but only utilizing the capacity is provided. Such a model is expressible as
Figure imgf000019_0001
where
Figure imgf000019_0002
In the model presented as Equation (23), the code specific suboptimality in both the infinite blocklength and finite blocklength aspects, i.e., the capacity gaps D( and the dispersion scaling factors g are omitted. However, the biased behavior under different SNRs of the parallel channels is still captured by the weighting factors of Equation (24). In an embodiment, a gradient based approach is utilized to optimize the symbol rate model. The gradient based approach uses a first-order iterative approach to optimize the symbol rate. As an example, a projected gradient descent technique is used. In projected gradient descent, the gradient is projected onto a hyperplane to constrain the space of the gradient search. The hyperplane may be defined by the power allocation of the parallel channels. As an example, the hyperplane may be defined by
Figure imgf000019_0003
1 while also satisfying ^
Figure imgf000019_0004
Figure 4A illustrates a flow diagram of high level operations 400 occurring in the allocation of power to parallel channels with consideration being given to the impact of individual channel quality on the decoding performance. Operations 400 may be indicative of operations occurring in a device as the device allocates power to parallel channels with consideration being given to the impact of individual channel quality on the decoding performance. The flow diagram shown in Figure 4B presents a high level view of an example allocation of power to parallel channels and may differ from an actual implementation. Operations 400 begin with determining weighting factors (block 405). As discussed previously, when practical codes (such as turbo codes, LDPC codes, and so on) are used in communication, the parallel channels experience decoding performance that is biased towards channels with lower SNRs. Therefore, the weighting factors (such as those expressed in Equation (6)) may be used to compensate for the SNRs of the various channels of the parallel channels. The weighting factors include the consideration that channels with low SNR have greater impact on the decoding performance than channels with high SNR. The device determines power allocations for the parallel channels (block 407). The power allocations may be determined in accordance with a weighted sum of the per channel symbol rates of the parallel channels, where the weighting factors are used to weigh the per channel symbol rates. Detailed discussions of example
embodiment techniques for allocating power are presented below. The device transmits (block 409). The device transmits over the parallel channels with the power setting for each channel being set in accordance with the power allocations (determined in block 407, for example). Figure 4B illustrates a flow diagram of high level operations 450 occurring in the allocation of power to parallel channels. Operations 450 may be indicative of operations occurring in a device as the device allocates power to parallel channels. The flow diagram shown in Figure 4B presents a high level view of an example allocation of power to parallel channels and may differ from an actual implementation. Operations 450 may be an example high level implementation of block 407 of Figure 4A. Operations 450 begin with the device initializing variables and parameters (block 455). The variables and parameters initialized may be used in optimizing the objective functions. The variables and parameters may include gradient step size, initial power allocation, step counter, and so on. The variables and parameters may vary on the objective function being optimized. The device calculates the symbol rate (block 457). As an example, the symbol rate is calculated using Equation (23). The device calculates the symbol rate gradient (block 459). The symbol rate gradient is the rate of change of the symbol rate. The symbol rate gradient may be calculated in accordance with the symbol rate calculated in block 407 and the power allocation, for example. The power allocation is updated (block 461). The power allocation may be updated in accordance with a projection of the gradient projected onto a hyperplane to constrain the space of the gradient search, for example. In an embodiment, the hyperplane constraint is defined by the unit power constraint
Figure imgf000020_0001
) while also satisfying
Figure imgf000020_0002
The device performs a check to determine if a termination condition is met (block 463). Examples of the termination condition includes a specified number of iterations has been performed, the gradient is smaller than a specified threshold, the symbol rate has converged (e.g., successive symbol rate values differ by less than a specified threshold), and so on. If the termination condition is not met, the device increments the step counter (block 465) and returns to block 457 to perform another iteration. If the termination condition has been met, the device allocates power to the parallel channels (block 467). The power allocation to the parallel channels is in accordance with the current iteration's updated power allocation, for example. In an embodiment, a method for power allocation that maximizes the symbol rate for a target BLER is provided. The method utilizes the projected gradient descent technique to iteratively optimize the symbol rate (i.e., the objective function). Figure 5 illustrates a flow diagram of example operations 500 occurring in a device allocating power for parallel channels while maximizing the symbol rate at a target BLER. Operations 500 may be indicative of operations occurring in a device as the device allocates power for parallel channels while maximizing the symbol rate at a target BLER. Inputs include SNRs for the parallel channels, a blocklength of the practical code, and a target BLER (block 505). Operations 500 begin with the device initializing variables and parameters (block 507). The variables and parameters initialized include an initial step size of the gradient search b(1), an initial power allocation value P(0), and an initial value of the step counter T. Example initialized values include: b(1) = 0.1, T = 1; and P(0) = Pinit, where Pinit is any reasonable initial power allocation or a power allocation obtained using other power allocation techniques, such as GWF, MWF, equal power allocation, equal SNR allocation, etc. Other initial values may be used. The device calculates the symbol rate (block 509). The symbol rate may be calculated utilizing Equation (22), for example, and may be calculated in accordance with the SNRs of the parallel channels, the blocklength, the target BLER, as well as the power allocation from the previous iteration (in the case of the initial iteration (i.e., T = 1) the initial power allocation P(0) is used, else P(T-1) is used). The device calculates the gradient (block 511). The gradient G(T) of the symbol rate at T-1 may be determined with respect to the power allocation at T-1, for example. In other words,
Figure imgf000021_0003
The device updates the gradient search step size b(T) (block 513). The update of the gradient search step size may be calculated using the Barzilai-Borwein method, for example. As an example, the gradient search step size is updated as, for example,
Figure imgf000021_0004
where
Figure imgf000021_0001
, and · is the transpose of ·. The device updates the power allocation (block 515). The power allocation is updated without constraint. The power allocation (without constraint), denoted may be
Figure imgf000021_0005
update as, for example,
Figure imgf000021_0002
The device constrains the power allocation (block 517). The power allocation may be constrained by projecting the power allocation (without constraint) onto a hyperspace defined by
Figure imgf000022_0001
while also satisfying
Figure imgf000022_0002
for example. The constrained power allocation is denoted P(T). The device performs a check to determine if the termination condition is met (block 519). Examples of the termination condition include convergence of the symbol rate (e.g., successive symbol rates differ by less than a specified threshold), the gradient meeting a specified threshold, the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 521) and returns to block 509 to perform another iteration. If the termination condition is met, the device allocates power to the parallel channels (block 523). The power of the parallel channels are allocated in accordance with P(T) and the symbol rate is updated in accordance with P(T) to obtain a final symbol rate. The evaluation of Equations (23) and (24) involve evaluating integrals, which may require significant computation resources, especially if real-time performance in computationally restricted devices, such as access nodes or UEs, is needed. Exponential effective SNR mapping (EESM) approximation is a known approximation for channel capacity when the channel has coded modulation inputs. The EESM approximation is widely adopted in practical systems due to its simplicity and ability to closely
approximate the actual channel capacity. An example EESM model approximation for capacity is expressible as
Figure imgf000022_0003
where N is the number of bits per modulation symbol, and a is a modulation specific parameter that is obtained using a common metric (such as by minimizing the squared error between the actual capacity and the approximation over a range of SNRs). As an example, N = 2 for QPSK and N = 4 for 16-QAM. In an embodiment, the (FGHI terms in Equations (23) and (24) are replaced with CEESM (as in Equation (25)) to obtain an approximation of the symbol rate, expressible as
Figure imgf000022_0004
It may be shown that when K = 2 and a = 1, the objective function of Equation (26) is concave in ^^'s, which makes the optimization problem a concave optimization problem, thereby simplifying the optimization process. Operations 500 of Figure 5 illustrate an example power allocation while maximizing the symbol rate utilizing finite blocklength codes. It is possible to use approximation techniques, such as using infinite blocklength codes, EESM approximation, or a combination of both infinite blocklength codes and EESM approximation, to reduce the computational complexity associated with power allocation. Figure 6 illustrates a flow diagram of example operations 500 occurring in a device allocating power for parallel channels using symbol rate approximation with infinite blocklength capacity, as well as additional approximation with EESM. Operations 600 may be indicative of operations occurring in a device as the device allocates power for parallel channels using symbol rate approximation with infinite blocklength codes, as well as additional approximation with EESM. Input includes SNRs for the parallel channels (block 605). Operations 600 begin with the device initializing variables and parameters (block 607). The variables and parameters initialized include an initial step size of the gradient search b(1), an initial power allocation value P(0), and an initial value of the step counter T. Example initialized values include: b(1) = 0.1, T = 1; and P(0) = Pinit. Other initial values may be used. The device calculates the symbol rate (block 609). The symbol rate may be calculated utilizing Equation (23) or (26), for example, and may be calculated in accordance with the SNRs of the parallel channels, as well as the power allocation from the previous iteration (in the case of the initial iteration (i.e., T = 1) the initial power allocation P(0) is used, else P(T-1) is used). The device calculates the gradient (block 611). The gradient G(T) of the symbol rate at T-1 may be determined either numerically or analytically with respect to the power allocation at T-1, for example. In other words,
Figure imgf000023_0001
The device updates the gradient search step size b(T) (block 613). The update of the gradient search step size may be calculated using the Barzilai-Borwein method, for example. As an example, the gradient search step size is updated as, for example,
Figure imgf000023_0002
the transpose of ·. The device updates the power allocation (block 615). The power allocation is updated without constraint. The power allocation (without constraint), denoted , may be
Figure imgf000023_0003
update as, for example,
Figure imgf000024_0002
The device constrains the power allocation (block 617). The power allocation may be constrained by projecting the power allocation (without constraint) onto a hyperspace defined by
Figure imgf000024_0003
while also satisfying
Figure imgf000024_0004
for example. The constrained power allocation is denoted P(T). The device performs a check to determine if the termination condition is met (block 619). Examples of the termination condition include convergence of the symbol rate, the gradient meeting a specified threshold, the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 621) and returns to block 609 to perform another iteration. If the termination condition is met, allocates power to the parallel channels (block 623). The power of the parallel channels are allocated in accordance with P(T) and the symbol rate is updated in accordance with P(T) to obtain a final symbol rate. In an embodiment, methods and apparatus for minimizing the BLER for a fixed MCS are provided. Previously, the symbol rate is used to evaluate the performance of a power allocation scheme. However, for some codes, such as turbo codes, it may be difficult to verify the symbol rate achievable by a particular power allocation scheme for a given BLER. Given a fixed MCS, BLER performance is often significantly easier to evaluate. Referencing back to Equation (9), an optimization problem for minimizing the BLER for a particular symbol rate R is formulated as follows
Figure imgf000024_0001
Figure 7 illustrates a flow diagram of example operations 700 occurring in a device minimizing the BLER for a given symbol rate. Operations 700 may be indicative of operations occurring in a device as the device minimizes the BLER for a given symbol rate. Inputs include SNRs for the parallel channels, a blocklength of the practical code, and a symbol rate (block 705). Operations 700 begin with the device initializing variables and parameters (block 707). The variables and parameters initialized include an initial step size of the gradient search b(1), an initial power allocation value P(0), and an initial value of the step counter T. Example initialized values include: b(1) = 0.1, T = 1; and P(0) = Pinit. Other initial values may be used. The device calculates the BLER (block 709). The BLER may be calculated utilizing Equation (28), for example, and may be calculated in accordance with the SNRs of the parallel channels, the blocklength, the symbol rate, as well as the power allocation from the previous iteration (in the case of the initial iteration (i.e., T = 1) the initial power allocation P(0) is used, else P(T-1) is used). The calculation of BLER using Equation (28) may be performed following operations 300 of Figure 3. The device calculates the gradient (block 711). The gradient G(T) of the BLER at T-1 may be determined with respect to the power allocation at T-1, for example. In other words,
Figure imgf000025_0001
The device updates the gradient search step size b(T) (block 713). The update of the gradient search step size may be calculated using the Barzilai-Borwein method, for example. As an example, the gradient search step size is updated as, for example,
Figure imgf000025_0002
the transpose of ·. The device updates the power allocation (block 715). The power allocation is updated without constraint. The power allocation (without constraint), denoted
Figure imgf000025_0003
, may be update as, for example,
Figure imgf000025_0004
The device constrains the power allocation (block 717). The power allocation may be constrained by projecting the power allocation (without constraint) onto a hyperspace defined by
Figure imgf000025_0006
while also satisfying
Figure imgf000025_0005
for example. The constrained power allocation is denoted P(T). The device performs a check to determine if the termination condition is met (block 719). Examples of the termination condition include convergence of the BLER (e.g., successive BLER values differ by less than a specified threshold), the gradient meeting a specified threshold, the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 721) and returns to block 709 to perform another iteration. If the termination condition is met, the device allocates power to the parallel channels (block 723). The power of the parallel channels are allocated in accordance with P(T). Because calculating the BLER is an iterative numerical process, operations 700 may be computationally intensive when implemented in computationally limited devices. In an embodiment, an iterative max-rate technique for minimizing BLER is provided. The iterative max-rate technique combines fast convergence and low complexity with robust performance. Figure 8 illustrates a flow diagram of example operations 800 occurring in a device minimizing the BLER for a given symbol rate utilizing an iterative max-rate technique. Operations 800 may be indicative of operations occurring in a device as the device minimizes the BLER for a given symbol rate utilizing an iterative max-rate technique. Inputs include SNRs for the parallel channels, a blocklength of the practical code, and a symbol rate (block 805). Operations 800 begin with the device initializing variables and parameters (block 807). The variables and parameters initialized include an initial BLER t(0), and an initial value of the step counter T. Example initialized values include: T = 1; and t (0) = 0.1. Other values for t(0) may be used. The device obtains the power allocation and symbol rate (block 809). The device obtains the power allocation and the symbol rate for the parallel channels at iteration T, for example. The device may use the technique presented in operations 500 of Figure 5 to obtain the power allocation and the symbol rate for iteration T. However, other techniques may be used. The device estimates the BLER (block 811). The device estimates the BLER for iteration T, for example. The estimation of the BLER may be in accordance with the SNRs, blocklength, the symbol rate, and the power allocation. The device performs a check to determine if the termination condition is met (block 813). Examples of the termination condition include convergence of the BLER (e.g., the successive BLER values differ by less than a specified threshold), the number of iterations performed, and so on. If the termination condition is not met, the device increments the step counter T (block 815) and returns to block 809 to perform another iteration. If the termination condition is met, the device allocates power to the parallel channels (block 817). The power of the parallel channels are allocated in accordance with P(T). Figure 9 illustrates an example communication system 900. In general, the system 900 enables multiple wireless or wired users to transmit and receive data and other content. The system 900 may implement one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), or non-orthogonal multiple access (NOMA). In this example, the communication system 900 includes electronic devices (ED) 910a- 910c, radio access networks (RANs) 920a-920b, a core network 930, a public switched telephone network (PSTN) 940, the Internet 950, and other networks 960. While certain numbers of these components or elements are shown in Figure 9, any number of these components or elements may be included in the system 900. The EDs 910a-910c are configured to operate or communicate in the system 900. For example, the EDs 910a-910c are configured to transmit or receive via wireless or wired communication channels. Each ED 910a-910c represents any suitable end user device and may include such devices (or may be referred to) as a user equipment or device (UE), wireless transmit or receive unit (WTRU), mobile station, fixed or mobile subscriber unit, cellular telephone, personal digital assistant (PDA), smartphone, laptop, computer, touchpad, wireless sensor, or consumer electronics device. The RANs 920a-920b here include base stations 970a-970b, respectively. Each base station 970a-970b is configured to wirelessly interface with one or more of the EDs 910a- 910c to enable access to the core network 930, the PSTN 940, the Internet 950, or the other networks 960. For example, the base stations 970a-970b may include (or be) one or more of several well-known devices, such as a base transceiver station (BTS), a Node- B (NodeB), an evolved NodeB (eNodeB), a Next Generation (NG) NodeB (gNB), a Home NodeB, a Home eNodeB, a site controller, an access point (AP), or a wireless router. The EDs 910a-910c are configured to interface and communicate with the Internet 950 and may access the core network 930, the PSTN 940, or the other networks 960. In the embodiment shown in Figure 9, the base station 970a forms part of the RAN 920a, which may include other base stations, elements, or devices. Also, the base station 970b forms part of the RAN 920b, which may include other base stations, elements, or devices. Each base station 970a-970b operates to transmit or receive wireless signals within a particular geographic region or area, sometimes referred to as a“cell.” In some embodiments, multiple-input multiple-output (MIMO) technology may be employed having multiple transceivers for each cell. The base stations 970a-970b communicate with one or more of the EDs 910a-910c over one or more air interfaces 990 using wireless communication links. The air interfaces 990 may utilize any suitable radio access technology. It is contemplated that the system 900 may use multiple channel access functionality, including such schemes as described above. In particular embodiments, the base stations and EDs implement 5G New Radio (NR), LTE, LTE-A, or LTE-B. Of course, other multiple access schemes and wireless protocols may be utilized. The RANs 920a-920b are in communication with the core network 930 to provide the EDs 910a-910c with voice, data, application, Voice over Internet Protocol (VoIP), or other services. Understandably, the RANs 920a-920b or the core network 930 may be in direct or indirect communication with one or more other RANs (not shown). The core network 930 may also serve as a gateway access for other networks (such as the PSTN 940, the Internet 950, and the other networks 960). In addition, some or all of the EDs 910a-910c may include functionality for communicating with different wireless networks over different wireless links using different wireless technologies or protocols. Instead of wireless communication (or in addition thereto), the EDs may communicate via wired communication channels to a service provider or switch (not shown), and to the Internet 950. Although Figure 9 illustrates one example of a communication system, various changes may be made to Figure 9. For example, the communication system 900 could include any number of EDs, base stations, networks, or other components in any suitable configuration. Figures 10A and 10B illustrate example devices that may implement the methods and teachings according to this disclosure. In particular, Figure 10A illustrates an example ED 1010, and Figure 10B illustrates an example base station 1070. These components could be used in the system 900 or in any other suitable system. As shown in Figure 10A, the ED 1010 includes at least one processing unit 1000. The processing unit 1000 implements various processing operations of the ED 1010. For example, the processing unit 1000 could perform signal coding, data processing, power control, input/output processing, or any other functionality enabling the ED 1010 to operate in the system 900. The processing unit 1000 also supports the methods and teachings described in more detail above. Each processing unit 1000 includes any suitable processing or computing device configured to perform one or more operations. Each processing unit 1000 could, for example, include a microprocessor,
microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit. The ED 1010 also includes at least one transceiver 1002. The transceiver 1002 is configured to modulate data or other content for transmission by at least one antenna or NIC (Network Interface Controller) 1004. The transceiver 1002 is also configured to demodulate data or other content received by the at least one antenna 1004. Each transceiver 1002 includes any suitable structure for generating signals for wireless or wired transmission or processing signals received wirelessly or by wire. Each antenna 1004 includes any suitable structure for transmitting or receiving wireless or wired signals. One or multiple transceivers 1002 could be used in the ED 1010, and one or multiple antennas 1004 could be used in the ED 1010. Although shown as a single functional unit, a transceiver 1002 could also be implemented using at least one transmitter and at least one separate receiver. The ED 1010 further includes one or more input/output devices 1006 or interfaces (such as a wired interface to the Internet 950). The input/output devices 1006 facilitate interaction with a user or other devices (network communications) in the network. Each input/output device 1006 includes any suitable structure for providing information to or receiving information from a user, such as a speaker, microphone, keypad, keyboard, display, or touch screen, including network interface communications. In addition, the ED 1010 includes at least one memory 1008. The memory 1008 stores instructions and data used, generated, or collected by the ED 1010. For example, the memory 1008 could store software or firmware instructions executed by the processing unit(s) 1000 and data used to reduce or eliminate interference in incoming signals. Each memory 1008 includes any suitable volatile or non-volatile storage and retrieval device(s). Any suitable type of memory may be used, such as random access memory (RAM), read only memory (ROM), hard disk, optical disc, subscriber identity module (SIM) card, memory stick, secure digital (SD) memory card, and the like. As shown in Figure 10B, the base station 1070 includes at least one processing unit 1050, at least one transceiver 1052, which includes functionality for a transmitter and a receiver, one or more antennas 1056, at least one memory 1058, and one or more input/output devices or interfaces 1066. A scheduler, which would be understood by one skilled in the art, is coupled to the processing unit 1050. The scheduler could be included within or operated separately from the base station 1070. The processing unit 1050 implements various processing operations of the base station 1070, such as signal coding, data processing, power control, input/output processing, or any other functionality. The processing unit 1050 can also support the methods and teachings described in more detail above. Each processing unit 1050 includes any suitable processing or computing device configured to perform one or more operations. Each processing unit 1050 could, for example, include a microprocessor, microcontroller, digital signal processor, field programmable gate array, or application specific integrated circuit. Each transceiver 1052 includes any suitable structure for generating signals for wireless or wired transmission to one or more EDs or other devices. Each transceiver 1052 further includes any suitable structure for processing signals received wirelessly or by wire from one or more EDs or other devices. Although shown combined as a transceiver 1052, a transmitter and a receiver could be separate components. Each antenna 1056 includes any suitable structure for transmitting or receiving wireless or wired signals. While a common antenna 1056 is shown here as being coupled to the transceiver 1052, one or more antennas 1056 could be coupled to the transceiver(s) 1052, allowing separate antennas 1056 to be coupled to the transmitter and the receiver if equipped as separate components. Each memory 1058 includes any suitable volatile or non-volatile storage and retrieval device(s). Each input/output device 1066 facilitates interaction with a user or other devices (network communications) in the network. Each input/output device 1066 includes any suitable structure for providing information to or receiving/providing information from a user, including network interface communications. Figure 11 is a block diagram of a computing system 1100 that may be used for implementing the devices and methods disclosed herein. For example, the computing system can be any entity of UE, access network (AN), mobility management (MM), session management (SM), user plane gateway (UPGW), or access stratum (AS). Specific devices may utilize all of the components shown or only a subset of the components, and levels of integration may vary from device to device. Furthermore, a device may contain multiple instances of a component, such as multiple processing units, processors, memories, transmitters, receivers, etc. The computing system 1100 includes a processing unit 1102. The processing unit includes a central processing unit (CPU) 1114, memory 1108, and may further include a mass storage device 1104, a video adapter 1110, and an I/O interface 1112 connected to a bus 1120. The bus 1120 may be one or more of any type of several bus architectures including a memory bus or memory controller, a peripheral bus, or a video bus. The CPU 1114 may comprise any type of electronic data processor. The memory 1108 may comprise any type of non-transitory system memory such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous DRAM (SDRAM), read-only memory (ROM), or a combination thereof. In an embodiment, the memory 1108 may include ROM for use at boot-up, and DRAM for program and data storage for use while executing programs. The mass storage 1104 may comprise any type of non-transitory storage device configured to store data, programs, and other information and to make the data, programs, and other information accessible via the bus 1120. The mass storage 1104 may comprise, for example, one or more of a solid state drive, hard disk drive, a magnetic disk drive, or an optical disk drive. The video adapter 1110 and the I/O interface 1112 provide interfaces to couple external input and output devices to the processing unit 1102. As illustrated, examples of input and output devices include a display 1118 coupled to the video adapter 1110 and a mouse, keyboard, or printer 1116 coupled to the I/O interface 1112. Other devices may be coupled to the processing unit 1102, and additional or fewer interface cards may be utilized. For example, a serial interface such as Universal Serial Bus (USB) (not shown) may be used to provide an interface for an external device. The processing unit 1102 also includes one or more network interfaces 1106, which may comprise wired links, such as an Ethernet cable, or wireless links to access nodes or different networks. The network interfaces 1106 allow the processing unit 1102 to communicate with remote units via the networks. For example, the network interfaces 1106 may provide wireless communication via one or more transmitters/transmit antennas and one or more receivers/receive antennas. In an embodiment, the processing unit 1102 is coupled to a local-area network 1122 or a wide-area network for data processing and communications with remote devices, such as other processing units, the Internet, or remote storage facilities. It should be appreciated that one or more steps of the embodiment methods provided herein may be performed by corresponding units or modules. For example, a signal may be transmitted by a transmitting unit or a transmitting module. A signal may be received by a receiving unit or a receiving module. A signal may be processed by a processing unit or a processing module. Other steps may be performed by a determining unit or module, a calculating unit or module, an evaluating unit or module, a projecting unit or module, or an updating unit or module. The respective units or modules may be hardware, software, or a combination thereof. For instance, one or more of the units or modules may be an integrated circuit, such as field programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs). Although the present disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the scope of the disclosure as defined by the appended claims.

Claims

WHAT IS CLAIMED IS:
1. A method implemented by a device, the method comprising:
calculating, by the device, weighting factors of a plurality of channels in accordance with per channel symbol rates of the plurality of channels and per channel qualities of the plurality of channels, wherein a weighting factor of a channel is inversely proportional to a channel quality of the channel;
determining, by the device, power allocations for the plurality of channels in accordance with a weighted sum of the per channel symbol rates of the plurality of channels, the per channel symbol rates being weighted by the weighting factors; and transmitting, by the device, over the plurality of channels in accordance with the power allocations.
2. The method of claim 1, determining the power allocations for the plurality of channels comprising:
determining, by the device, symbol rates of the plurality of channels in accordance with the weighted sum of the per channel symbol rates of the plurality of channels;
calculating, by the device, gradients of the symbol rates of the plurality of channels in accordance with the power allocations for the plurality of channels; and updating, by the device, the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels.
3. The method of any one of claims 1-2, determining the weighting factors of the plurality of channels comprising evaluating
Figure imgf000032_0001
where wi is the weighting factor for channel i, a is a parameter to be chosen based on a coding and modulation scheme (MCS) used and is greater than or equal to 0, is
Figure imgf000032_0002
a blocklength of a code used for the channel i, n is a blocklength of the code used for the plurality of channels, and Ri is the per channel symbol rate for the channel i.
4. The method of claim 2, determining the symbol rates of the plurality of channels comprising, for each channel, determining the symbol rate for the channel in accordance with a capacity gap of the channel and a dispersion scaling factor of the channel, the capacity gap being a difference between a theoretical capacity of the channel and a corrected capacity of the channel for a practical code with an infinite blocklength used for transmissions over the plurality of channels, and the dispersion scaling factor being proportional to a ratio of a corrected dispersion for the channel for a practical code with a finite blocklength used for transmissions over the plurality of channels to a theoretical dispersion of the channel.
5. The method of any one of claims 2-4, further comprising setting initial symbol rates and initial power allocations, and calculating the gradients comprising calculating the gradients of the symbol rates in accordance with the initial symbol rates and the initial power allocations.
6. The method of claim 5, updating the power allocations comprising: combining the initial power allocations with the gradients of the symbol rates and a step size associated with the gradients of the symbol rates.
7. The method of claim 6, further comprising projecting the power allocations onto a hyperplane, the hyperplane being formed in accordance with .
8. The method of any one of claims 2-7, further comprising repeating determining the symbol rates, calculating the gradients of the symbol rates, and updating the power allocations until a completion threshold is met.
9. The method of claim 8, the completion threshold comprising at least one of a number of iterations or a convergence threshold.
10. The method of any one of claims 2-9, determining the symbol rates of the plurality of channels comprising: evaluating a weighted sum of channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000033_0001
and ri is a power allocation for the channel i, li is one of a channel gain or a signal to noise ratio (SNR) for the channel i, and CAWGN() is a channel capacity of an AWGN channel.
11. The method of any one of claims 2-9, determining the symbol rates of the plurality of channels comprising: evaluating a weighted sum of approximated channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000034_0001
and ri is a power allocation for the channel i, li is one of a channel gain or signal to noise ratio (SNR) for the channel i, and CEESM() is an exponential effective SNR mapping (EESM) approximation of a channel capacity of a channel.
12. A method implemented by a device, the method comprising:
determining, by the device, a block error rate (BLER) of a plurality of channels in accordance with channel qualities of the plurality of channels, blocklengths of a code used to encode information transmitted over the plurality of channels, and a symbol rate of the plurality of channels;
calculating, by the device, a gradient of the BLER of the plurality of channels; updating, by the device, power allocations for the plurality of channels in accordance with the BLER of the plurality of channels and the gradient of the BLER of the plurality of channels; and
transmitting, by the device, over the plurality of channels in accordance with the updated power allocations.
13. The method of claim 12, determining the BLER of the plurality of channels comprising estimating the BLER in accordance with the channel qualities of the plurality of channels, the blocklengths of the code used to encode information transmitted over the plurality of channels, and the symbol rate of the plurality of channels.
14. The method of any one of claims 12-13, further comprising setting initial power allocations and initial BLER, and calculating the gradient comprising calculating the gradient of the BLER in accordance with the initial BLER and the initial power allocations.
15. The method of any one of claims 12-14, updating the power allocations comprising combining the initial power allocations with the gradient of the BLER and a step size associated with the gradient of the BLER.
16. The method of claim 15, further comprising projecting the power allocations onto a hyperplane, the hyperplane being formed in accordance with .
17. The method of any one of claims 12-16, further comprising repeating determining the BLER, calculating the gradient of the BLER, and updating the power allocations until a completion threshold is met.
18. The method of claim 17, the completion threshold comprising at least one of a number of iterations or a convergence threshold.
19. A method implemented by a device, the method comprising:
determining, by the device, power allocations and symbol rates for a plurality of channels in accordance with channel qualities of the plurality of channels, a blocklength of a code used to encode information transmitted over the plurality of channels, and a first block error rate (BLER) of the plurality of channels;
estimating, by the device, a second BLER in accordance with the power allocations, the channel qualities, the blocklength, and the symbol rates; and
determining, by the device, that a terminating condition is met, and based thereon,
allocating, by the device, output powers of the plurality of channels in accordance with the power allocations of the plurality of channels; and
transmitting, by the device, over the plurality of channels in accordance with the power allocations.
20. The method of claim 19, determining the power allocations and the symbol rates comprising:
determining, by the device, the symbol rates of the plurality of channels in accordance with a weighted sum of channel capacities of the plurality of channels, and a weighted sum of channel dispersions of the plurality of channels;
calculating, by the device, gradients of the symbol rates of the plurality of channels in accordance with power allocations for the plurality of channels; and
updating, by the device, the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels.
21. The method of any one of claims 19-20, estimating the second BLER comprising: determining, by the device, first symbol rates of the plurality of channels in accordance with the channel qualities of the plurality of channels, the blocklength of the code, and a third BLER of the plurality of channels;
determining, by the device, weighting factors associated with the plurality of channels in accordance with a parameter chosen based on a coding and modulation scheme (MCS) used on the plurality of channels, the first symbol rates, and a ratio of blocklengths of each channel of the plurality of channels and the blocklength of the code; and
updating, by the device, the second BLER in accordance with channel capacities of the plurality of channels, channel dispersions of the plurality of channels, and the first symbol rates.
22. A device, comprising:
one or more processors; and
a non-transitory memory storage comprising instructions that, when executed by the one or more processors, cause the device to:
calculate weighting factors of a plurality of channels in accordance with per channel symbol rates of the plurality of channels and per channel qualities of the plurality of channels, wherein a weighting factor of a channel is inversely proportional to a channel quality of the channel;
determine power allocations for the plurality of channels in accordance with a weighted sum of the per channel symbol rates of the plurality of channels, the per channel symbol rates being weighted by the weighting factors; and
transmit over the plurality of channels in accordance with the power allocations.
23. The device of claim 22, wherein the instructions further cause the device to: determine symbol rates of the plurality of channels in accordance with the weighted sum of the per channel symbol rates of the plurality of channels;
calculate gradients of the symbol rates of the plurality of channels in accordance with the power allocations for the plurality of channels; and
update the power allocations for the plurality of channels in accordance with the symbol rates of the plurality of channels and the gradients of the symbol rates of the plurality of channels.
24. The device of any one of claims 22-23, wherein the instructions further cause the device to evaluating
Figure imgf000036_0001
where wi is the weighting factor for channel i, a is a parameter to be chosen based on a coding and modulation scheme (MCS) used and is greater than or equal to 0, i
Figure imgf000036_0002
is a blocklength of a code used for the channel i, n is a blocklength of the code used for the plurality of channels, and Ri is the per channel symbol rate for the channel i.
25. The device of claim 23, wherein the instructions further cause the device to, for each channel, determine the symbol rate for the channel in accordance with a capacity gap of the channel and a dispersion scaling factor of the channel, the capacity gap being a difference between a theoretical capacity of the channel and a corrected capacity of the channel for a practical code with an infinite blocklength used for transmissions over the plurality of channels, and the dispersion scaling factor being proportional to a ratio of a corrected dispersion for the channel for a practical code with a finite blocklength used for transmissions over the plurality of channels to a theoretical dispersion of the channel.
26. The device of claim 23, wherein the instructions further cause the device to set initial symbol rates and initial power allocations, and calculate the gradients of the symbol rates in accordance with the initial symbol rates and the initial power allocations.
27. The device of claim 26, wherein the instructions further cause the device to combine the initial power allocations with the gradients of the symbol rates and a step size associated with the gradients of the symbol rates.
28. The device of claim 27, wherein the instructions further cause the device to project the power allocations onto a hyperplane, the hyperplane being formed in accordance with .
29. The device of any one of claims 22-28, wherein the instructions further cause the device to repeat the symbol rates determining, the gradients of the symbol rates calculating, and the power allocations updating until a completion threshold is met.
30. The device of any one of claims 23-29, wherein the instructions further cause the device to evaluate a weighted sum of channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000037_0001
and ri is a power allocation for the channel i, li is one of a channel gain or a signal to noise ratio (SNR) for the channel i, and CAWGN() is a channel capacity of an AWGN channel.
31. The device of any one of claims 23-29, wherein the instructions further cause the device to evaluate a weighted sum of approximated channel capacities of the plurality of channels, where a weighting factor for channel i of the plurality of channels is expressible as
Figure imgf000037_0002
and ri is a power allocation for the channel i, li is one of a channel gain or signal to noise ratio (SNR) for the channel i, and CEESM() is an exponential effective SNR mapping (EESM) approximation of a channel capacity of a channel.
32. A device, comprising:
one or more processors; and
a non-transitory memory storage comprising instructions that, when executed by the one or more processors, cause the device to:
determine a block error rate (BLER) of a plurality of channels in accordance with channel qualities of the plurality of channels, blocklengths of a code used to encode information transmitted over the plurality of channels, and a symbol rate of the plurality of channels;
calculate a gradient of the BLER of the plurality of channels; update power allocations for the plurality of channels in accordance with the BLER of the plurality of channels and the gradient of the BLER of the plurality of channels; and
transmit over the plurality of channels in accordance with the updated power allocations.
33. The device of claim 32, wherein the instructions further cause the device to estimate the BLER in accordance with the channel qualities of the plurality of channels, the blocklengths of the code used to encode information transmitted over the plurality of channels, and the symbol rate of the plurality of channels.
34. The device of any one of claims 32-33, wherein the instructions further cause the device to set initial power allocations and initial BLER, and calculate the gradient comprising calculating the gradient of the BLER in accordance with the initial BLER and the initial power allocations.
35. The device of any one of claims 32-34, wherein the instructions further cause the device to combine the initial power allocations with the gradient of the BLER and a step size associated with the gradient of the BLER.
36. The device of claim 35, wherein the instructions further cause the device to project the power allocations onto a hyperplane, the hyperplane being formed in accordance with
Figure imgf000038_0001
PCT/US2020/043895 2020-07-28 2020-07-28 Methods and apparatus for power allocation WO2020210845A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2020/043895 WO2020210845A2 (en) 2020-07-28 2020-07-28 Methods and apparatus for power allocation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2020/043895 WO2020210845A2 (en) 2020-07-28 2020-07-28 Methods and apparatus for power allocation

Publications (2)

Publication Number Publication Date
WO2020210845A2 true WO2020210845A2 (en) 2020-10-15
WO2020210845A3 WO2020210845A3 (en) 2021-05-06

Family

ID=72087210

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2020/043895 WO2020210845A2 (en) 2020-07-28 2020-07-28 Methods and apparatus for power allocation

Country Status (1)

Country Link
WO (1) WO2020210845A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390658A (en) * 2020-10-22 2022-04-22 王晋良 Power distribution method and base station in non-orthogonal multiple access system
US11399351B2 (en) * 2020-10-22 2022-07-26 National Tsing Hua University Power allocation method for non-orthogonal multiple access system and base station using the same
CN114390658B (en) * 2020-10-22 2024-06-04 王晋良 Power distribution method and base station in non-orthogonal multiple access system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020107039A2 (en) * 2019-12-20 2020-05-28 Futurewei Technologies, Inc. Methods and apparatus for communications with finite blocklength coded modulation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114390658A (en) * 2020-10-22 2022-04-22 王晋良 Power distribution method and base station in non-orthogonal multiple access system
US11399351B2 (en) * 2020-10-22 2022-07-26 National Tsing Hua University Power allocation method for non-orthogonal multiple access system and base station using the same
CN114390658B (en) * 2020-10-22 2024-06-04 王晋良 Power distribution method and base station in non-orthogonal multiple access system

Also Published As

Publication number Publication date
WO2020210845A3 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
US20200366448A1 (en) System and method for link adaptation for low cost user equipments
CN114006676B (en) Method, device and system for determining transport block size in wireless communication
US11296817B2 (en) Method and network node, for handling link adaption of a channel
EP2801232A1 (en) System and method for selecting operating parameters in a communications system
RU2506720C1 (en) Method and apparatus for controlling uplink power
US10673558B2 (en) Configuring transmission parameters in a cellular system
CN111295911A (en) Multi-user uplink power control with user grouping
Villa et al. Adaptive modulation and coding with hybrid-ARQ for latency-constrained networks
US9509442B2 (en) System and method for apriori decoding
WO2022012609A1 (en) Measurement feedback method and apparatus
WO2020210845A2 (en) Methods and apparatus for power allocation
WO2024021652A1 (en) Wireless communication method and device, and storage medium
CN114257331A (en) Scheduling method, device and storage medium of satellite communication system
US11864158B2 (en) Distributed method for allocating transmission resources to D2D terminals in a cellular access network
Falconetti et al. Distributed uplink macro diversity for cooperating base stations
WO2015169361A1 (en) A method to save energy for mobile terminals in wireless network
KR101670599B1 (en) Hybrid Receiver based on System Level Simulation in Backhaul System
CN113286320A (en) Method and device for adjusting CCE aggregation level of control channel unit
WO2012107306A1 (en) Method for increasing quality of signals received by at least one destination device among a plurality
WO2020107039A2 (en) Methods and apparatus for communications with finite blocklength coded modulation
CN113037442B (en) Method and device for adjusting CCE aggregation level of control channel unit
KR102310972B1 (en) Apparatus and method for beamforming with consideration of interference channel in wireless communication system
Li et al. A Unified Non-CQI-based AMC Scheme for 5G NR Downlink and Uplink Transmissions
CN115706608A (en) Communication method and communication device
Ahmad et al. Robust channel quality indicator reporting for multi-carrier and multi-user systems

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20757080

Country of ref document: EP

Kind code of ref document: A2