Example embodiments may relate to systems, methods and/or computer programs for performing low complexity precoding for downlink transmissions from a plurality of access point antennas to one or more user equipment.
Massive multiple-input multiple output (mMIMO) is a key physical layer wireless technology for 5G communication standards and beyond. In the downlink, precoding schemes for mMIMO that eliminate or suppress interference, such as zero-forcing or regularized zero-forcing schemes, can allow simultaneous communication to multiple users over shared frequency resources with high spectral efficiency. In wireless environments with rich scattering, these precoding schemes generally result in homogenous power profiles, meaning that the transmitted signal on each transmit chain has approximately the same power level (i.e., substantially uniform transmit power over transmit chains). However, in many other wireless environments commonly encountered in practice, these precoding schemes lead to heterogeneous power profiles in which the transmitted signals on different transmit chains can have very different power levels. To comply with maximum power constraints per transmit chain, it is then necessary to apply a common power backoff to all transmit chains, determined by the power of the worst-case transmit chain. This power backoff causes a reduction in communication range that is proportional to the heterogeneity in power profile. The heterogeneity in power profile is even more pronounced in the case of distributed mMIMO, which employs a collection of geographically separated access points (APs) each with a plurality of AP antennas that jointly serve multiple user equipment (UEs), each UE having one or more UE antennas. Because the transmit AP antennas are geographically separated, power profiles for distributed mMIMO are even more heterogeneous, and using traditional ZF precoding is far from optimal.
It is known that high complexity zero-forcing precoding algorithms using, for example, second-order cone programming can design precoders that suppress interference between users and have a homogeneous power profile. These algorithms could in principle allow a mMIMO system to avoid the range reduction associated with heterogeneous power profiles, but they are too complex to use in practice. For practical implementation, there is a desire for a low-complexity zero-forcing precoding algorithm that can approach the performance of these high-complexity approaches.
The scope of protection sought for various embodiments of the invention is set out by the independent claims. The embodiments and features, if any, described in this specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.
According to a first aspect, there is described an apparatus comprising: at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to at least perform operations comprising: receiving downlink channel estimates between a plurality of access point (AP) antennas of one or more APs and a plurality of user equipment (UE) antennas of one or more UEs of a communication system; iteratively updating a set of power allocation weights for the AP antennas using an estimated power allocation associated with each AP antenna extracted from a precoder, the precoder computed based on the received channel estimates and a previous set of power allocation weights, until a stopping criterion is reached; and outputting data representative of a precoder computed from the received channel estimates and the updated set of power allocation weights.
In some example embodiments, the apparatus further caused to perform operations comprising: applying the data representative of the output precoder for precoding communication data for transmission to one or more UE via one or more of the AP antennas; and transmitting the precoded communication data to one or more corresponding access points, APs, for transmission to the one or more UE via the corresponding AP antennas.
In some example embodiments, the apparatus further caused to perform operations comprising: transmitting, to each AP, data representative of precoder information associated with the AP antennas of said each AP extracted from the data representative of the output precoder, wherein said each AP is configured to apply the corresponding precoder information for precoding communication data for transmission via the corresponding AP antennas of said each AP to one or more corresponding UE antennas associated with one or more UEs.
In some example embodiments, iteratively updating further comprising: for each of one or more iterations, computing a precoder based on the set of power allocation weights and the received channel estimates; extracting an estimated power allocation associated with each AP antenna from the computed precoder; and updating the set of power allocation weights for the AP antennas based on applying the estimated power allocation associated with each AP antenna to the corresponding power allocation weight for that AP antenna from the set of power allocation weights.
In some example embodiments, updating the set of power allocation weights for the AP antennas further comprising: updating, for each of the AP antennas, the corresponding power allocation weight of said each AP antenna from the set of power allocation weights based on multiplying the corresponding power allocation weight by the inverse of the square root of the estimated power allocation of said AP antenna.
In some example embodiments, the estimated power allocation associated with each AP antenna is the square of a norm of the corresponding row of a precoder matrix of the precoder.
In some example embodiments, determining whether the stopping criterion is reached is based on at least one of: a maximum number of iterations is reached; when an improvement in a maximum estimated power allocation over all AP antennas is below a power threshold; determining convergence of each power allocation weight of the updated set of power allocations; determining whether a difference between each power allocation weight of the updated set of power allocation weights and the corresponding power allocation weight of the previous set of power allocation weights meets one or more thresholds.
In some example embodiments, the precoder comprises at least one from the group of: a zero-forcing precoder; a regularized zero-forcing precoder; a minimum mean squared error precoder; any other suitable multiple-input multiple-output based precoder; and/or combinations thereof, modifications thereto.
In some example embodiments, the set of power allocation weights is an M dimensional vector w=(w1, . . . , wM)T∈+M×1, where M is the number of AP antennas of one or more APs, the downlink received channel estimates between the M AP antennas and a number of K UE antennas of one or more UEs is represented by G∈M×K and iteratively updating the set of power allocation weights, w, further comprising:
where the (n-1)-th power allocation weights are denoted wn−1=(w1[n−1], . . . , wm[n−1])T∈+M×1, wm[n−1]∈+ is the m-th weight of the (n-1)-th set of power allocation weights, wn−1, and the (n-1)-th extracted estimated power allocation for the m-th AP antenna is the square of ∥
In some example embodiments, outputting data representative of a precoder further comprising outputting data representative of a precoder based on at least one of:
In some example embodiments, outputting data representative of the precoder further comprising outputting data representative of a ZF precoder based on Q(w)=WG*(GTWG*)−1, where W∈+M×M is a diagonal matrix with the elements of w on the diagonal.
In some example embodiments, initializing the set of power allocation weights, w, further comprising performing at least one of:
In some example embodiments, the communication system is an orthogonal frequency division multiplexing, OFDM, system, the OFDM system comprising a set of subcarriers, and where iteratively updating the set of power allocation weights and outputting further comprising:
In some example embodiments, iteratively updating the set of power allocation weights of the AP antennas associated with a first and a second subcarrier in the set of subcarriers further comprising computing the precoder for the first subcarrier in the set of subcarriers and the second subcarrier in the set of subcarriers, wherein the set of power allocation weights of the AP antennas for the second subcarrier are initialised based on the precoder computed for the first subcarrier in the set of subcarriers.
In some example embodiments, iteratively updating the set of power allocation weights of the AP antennas associated with each subcarrier in the set of subcarriers further comprising computing the precoder for each of the subcarriers in the set of subcarriers successively in order of increasing or decreasing subcarrier index, wherein the set of power allocation weights of the AP antennas for subcarrier index l is wn(l) and initialising the set of power allocation weights of the AP antennas for subcarrier index l to w0(l)=wn(l−1) when successively computing precoders for increasing subcarrier index or to w0(l)=wn(l+1) when successively computing precoders for decreasing subcarrier index.
In some example embodiments, one or more of a plurality of AP antennas of the one or more APs have different power constraints, and the set of power allocation weights is an M dimensional vector w=(w1, . . . , wm)T∈+M×1, where M is the number of AP antennas, the downlink received channel estimates between the M AP antennas and a number of K UE antennas of one or more UEs represented by G∈M×K and iteratively updating the set of power allocation weights, w, further comprising:
In some example embodiments, the communication system is an OFDM system with a set of subcarriers S, one or more of a plurality of AP antennas of the one or more APs have different power constraints, and the set of power allocation weights is an M dimensional vector w=(w1, . . . , wM)T∈+M, where M is the number of AP antennas of the one or more APs, the downlink received channel estimates for each subcarrier l∈S between the M AP antennas and a number of K UE antennas of one or more UEs is represented by G(l)∈M×K, and iteratively updating the set of power allocation weights, w, further comprising:
is the square root of the total transmit power for AP antenna m incorporating contributions for all subcarriers l∈S, where qm(l)(wn−1) is the mth row of the precoder matrix Q(l)(w) for subcarrier l∈S; and
In some example embodiments, the plurality of AP antennas of the one or more APs are part of a cell-free massive multi-input multiple-output communication network; or the plurality of AP antennas of the one or more APs are part of a cellular communication network.
According to a second aspect, there is described a computer-implemented method comprising: receiving downlink channel estimates between a plurality of access point, AP, antennas of one or more APs and a plurality of user equipment, UE, antennas of one or more UEs of a communication system; iteratively updating a set of power allocation weights for the AP antennas using an estimated power allocation associated with each AP antenna extracted from a precoder, the precoder computed based on the received channel estimates and a previous set of power allocation weights, until a stopping criterion is reached; and outputting data representative of a precoder computed from the received channel estimates and the updated set of power allocation weights.
In some embodiments, the computer-implemented method of the second aspect further comprising one or more operations, steps, features and/or aspects according to the first aspect of any preceding apparatus definition.
According to a third aspect, there is described an apparatus, comprising means for: receiving downlink channel estimates between a plurality of access point, AP, antennas of one or more APs and a plurality of user equipment, UE, antennas of one or more UEs of a communication system; iteratively updating a set of power allocation weights for the AP antennas using an estimated power allocation associated with each AP antenna extracted from a precoder, the precoder computed based on the received channel estimates and a previous set of power allocation weights, until a stopping criterion is reached; and outputting data representative of a precoder computed from the received channel estimates and the updated set of power allocation weights.
In some embodiments, the apparatus of the second aspect further comprising one or more operations, steps, features and/or aspects according to the first aspect of any preceding apparatus definition.
According to a fourth aspect, there is provided a computer program product comprising a set of instructions which, when executed on an apparatus, is configured to cause the apparatus to carry out the computer-implemented method of any preceding method definition.
According to a fifth aspect, there is provided a non-transitory computer readable medium comprising program instructions stored thereon for performing a method, comprising: receiving downlink channel estimates between a plurality of access point, AP, antennas of one or more APs and a plurality of user equipment, UE, antennas of one or more UEs of a communication system; iteratively updating a set of power allocation weights for the AP antennas using an estimated power allocation associated with each AP antenna extracted from a precoder, the precoder computed based on the received channel estimates and a previous set of power allocation weights, until a stopping criterion is reached; and outputting data representative of a precoder computed from the received channel estimates and the updated set of power allocation weights.
The program instructions of the fifth aspect may also perform operations, steps, functionality according to any preceding method or apparatus definition of the first, second, third or fourth aspects.
In a sixth aspect, this specification describes a computer-readable medium (such as a non-transitory computer-readable medium) comprising program instructions stored thereon for performing (at least) any preceding method or apparatus definition as described with reference to any of the first, second, third, fourth, and/or fifth aspects.
Example embodiments will now be described by way of non-limiting example, with reference to the accompanying drawings, in which:
The scope of protection sought for various embodiments of the invention is set out by the claims. The embodiments and features, if any, described in the specification that do not fall under the scope of the independent claims are to be interpreted as examples useful for understanding various embodiments of the invention.
In the description and drawings, like reference numerals refer to like elements throughout.
In this example, the mMIMO system 100 is “cell-free” because it does not divide coverage area into cells as in a traditional cellular system, rather, the entire coverage area is served by a number M of the plurality of AP antennas 103a-103m, where M>1. There may be a number K of UE antennas 105a-105k, which in this example means there also are K UEs 104a-104j that are served simultaneously by the M AP antennas 103a-103m. Typically M»K. In this case, in the downlink, each of the K UE antennas 105a-105k of the UEs 104a-104j receives communication data from the M AP antennas 103a-103m over M corresponding communication channels for each of the K UE antennas 105a-105k. For example, the APs 102a-102n are configured to jointly beamform the communication data to the multiple UEs 104a-104j using the same communications resource (e.g. time-frequency resource). In this example, all the APs 102a-102n are connected to a network element 106.
The network element 106 may be configured to receiving communication data for transmission over the downlink channels to each of the UEs 104a-104j. Prior to downlink transmission, the network element 106 may be further configured to pre-process the communication data for each UE for, without limitation, for example precoding and/or power control coordination for the beamforming. The pre-processed communication data is sent to each of the APs 102a-102n for beamforming and transmitting, via their corresponding AP antennas 103a-103m to the corresponding UE antennas 105a-105k of one or more of the UEs 104a-104j that are meant to receive the communication data. The precoding may use MIMO processing techniques to minimize or suppress interference between the communication data transmitted to each UE 104a and the communication data transmitted to each other UE 104b of the MIMO system 100. The MIMO processing techniques may include, without limitation, for example interference suppression precoding, zero-forcing (ZF) precoding, minimum mean squared error (MMSE) precoding, or optimal linear precoding or any other suitable MIMO precoding technique and the like. Alternatively or additionally, each of the APs 102a-102n may include some or at least all of the functionality of network element 106 for pre-processing the corresponding communication data for UEs 104a-104j that are served by that AP.
In this example, the MIMO system 100 is a cellular system because the coverage area is divided into cells 101a-101n. Although an AP 102a only serves UEs 104a-104b within the cell 101a, transmissions from other APs 102b-102n to other UEs 104j in adjacent cells 101b-101n may be received by UEs 104a-104b in cell 101a. In essence, each UE 104a-104j may each be subject to transmissions from a number M of the plurality of AP antennas 103a-103m, where M>1. There may be a number K UE antennas 105a-105k for the UEs 104a-104j, which are served by APs 102a or 102d and which receive interference transmissions from some of the M AP antennas 103a-103m from other cells 101b-101n. Typically M»K. In this case, each of the UEs 104a-104b receives via the corresponding UE antennas 105a-105b communication data from the AP antennas 103a of AP 102a over corresponding communication channels, but also may receive transmissions from other APs 102b-102n to other UEs 104c in other cells 101b-101n from the other AP antennas 103b-103m as interference. In this example, each of the APs 102a-102n may be connected to a network element 106. Alternatively or additionally, the functionality of network element 106 may be a component of each of the APs 102a-102n or one or more of the APs 102a-102n.
The network element 106 may be configured to receive communication data for each of the UEs 104a-104j. The network element 106 may be further configured to pre-process the communication data for each UE for, without limitation, for example precoding and/or power control coordination. For example, the precoding may be based on MIMO techniques as described with reference to
In this example, the AP 102 is connected to network element 106, which may be configured for receiving communication data for each of the UEs 104a-104j and pre-processing the communication data for each UE as described with reference to
For either mMIMO system 100, MIMO system 110, or MIMO system 120 of
For the mMIMO, cellular MIMO and MIMO systems 110, 110, and/or 120 of
where, G is an M×K channel matrix of complex channel estimates between the M AP antennas and the K UE antennas, gk∈M×1 is an M×1 channel vector of complex channel estimates between the M antennas and the k-th UE antenna, for 1≤k≤K, and
The mMIMO systems 100 or MIMO system 110 or 120 of
In operation 202, receiving downlink channel estimates between a plurality of AP antennas 103a-103m of one or more APs and a plurality of UE antennas of one or more UEs in a communication system. For example, there may be M AP antennas 103a-103m and K UE antennas. As described with reference to
In operation 204, iteratively updating a set of power allocation weights for the AP antennas of the one or more APs using an estimated power allocation extracted from a precoder, where the precoder is computed in each iteration based on the received downlink channel estimates and a previous set of power allocation weights of the previous iteration, until a stopping criterion is reached.
For example, the stopping criterion may include, without limitation, one or more of the following: a maximum number of iterations; the reduction in maximum power allocation in the current iteration compared with the maximum power allocation in the previous iteration is below a predetermined threshold or reaches a predetermined threshold; convergence of the set of power allocation weights; the difference between each power allocation weight of the current iteration and the corresponding previous power allocation weight of the previous iteration reaches a predetermined threshold; and/or any other stopping criterion suitable for determining the best set of power allocation weights for use in computing the precoder.
The set of power allocation weights are configured to steer the estimated power allocation towards an optimal power allocation for the AP antennas, or to minimise a power objective, or towards a particular desired or target power allocation. Thus, the precoder resulting from the set of power allocation weights is configured to meet the particular desired or target power allocation or power constraints for each AP antenna and/or AP and the like.
In operation 206, once the stopping criterion has been reached, outputting data representative of a precoder computed from the received channel estimates and the updated set of power allocation weights.
The updated set of power allocation weights may be the final set of power allocation weights output from the final iteration. Alternatively, the updated set of power allocation weights may be an i-th updated set of power allocation weights from the i-th iteration that results in a precoder that has the lowest dominant power allocation, where the dominant power allocation is the power allocation of the antenna with the highest power allocation. Alternatively or additionally, the updated set of power allocation weights may be an i-th updated set of power allocation weights from the i-th iteration that results in a precoder that has the lowest dominant power allocation below a target dominant power allocation threshold or the like. In another example, the iterative operation 204 may also keep track of the best set of power allocation weights that result in a precoder achieving a smallest dominant power allocation over all iterations, and then use the best set of power allocation weights when computing the precoder for output. The best set of power allocation weights is the set of power allocation weights that result in a precoder that achieves the smallest dominant power allocation. In another example, the iterative operation 204 may further include, after each i-th iteration, determining or testing whether the resulting i-th precoder computed from the i-th updated set of power allocation weights has a lower or substantially lower dominant power allocation compared to a current best precoder/current best set of power allocation weights from a previous iteration. If the i-th precoder has a lower or substantially lower dominant power allocation than the current best precoder, then the current best precoder and current best set of power allocation weights are replaced with the updated i-th precoder and updated i-th set of power allocation weights.
The precoder may be based on one or more MIMO precoders such as, without limitation, for example an interference suppressing precoder, a zero forcing (ZF) precoder, a regularised ZF precoder, a MMSE precoder, and/or any other type of MIMO precoder that may be computed from a set of power allocation weights and a received channel estimates, combinations thereto, modifications thereof, and/or as the application demands.
In operation 212, receiving downlink channel estimates between a plurality of AP antennas 103a-103m of one or more APs and a plurality of UE antennas 105a-105k of one or more UEs in a communication system. For example, there may be M AP antennas 103a-103m and K UE antennas. The received downlink channel estimates between the plurality of AP antennas 103a-103m and the plurality of UE antennas 104a-104b may be represented by a channel estimate matrix G.
In operation 214, initialising a set of power allocation weights for the AP antennas of the one or more APs. The set of power allocation weights may be denoted by w=(w1, . . . , wM)T∈+M×1, where + denotes the set of positive real numbers, where wm is the power allocation weight for the m-th AP antenna of the one or more APs for 1≤m≤M. For example, each of the power allocation weights, wm, of the set of power allocation weights, w, may be set to 1 or any other suitable value >0 for 1≤m≤M. For example, initializing the set of power allocation weights, w, to an initial set of power allocation weights, w0∈+M. In another example, each of the power allocation weight elements, wm, of the set of power allocation weights, w, may be set to wm=1/∥
Operations 216, 218, 220 and 222 are configured to perform an iterative updating, for each n-th iteration, of a set of power allocation weights, wn, for the n-th iteration in relation the AP antennas of the one or more APs using an estimated power allocation extracted from a n-th precoder computed in the n-th iteration, for 1≤n≤N. In the n-th iteration, the n-th precoder is computed based on the received downlink channel estimates, G, and a previous set of power allocation weights wn−1 of the previous (n-1)-th iteration, until a stopping criterion is reached.
For example, for the n-th iteration computing the n-th or updated set of power allocation weights based on wn=Ω(wn−1), where:
and where the (n-1)-th set of power allocation weights is denoted wn−1=(w1[n−1], . . . , wM[n−1])T∈+M×1, where wm[n−1]∈+ is the m-th weight of the (n-1)-th set of power allocation weights, w1−1, the (n-1)-th extracted estimated power allocation for the m-th AP antenna may be based on the square of the norm(
In the above, the function norm(
For example, the function norm(x) of a vector x may be any type of suitable norm of x including, without limitation, for example 2-norm/Euclidean norm, p-norm, absolute value norm, composite norm (e.g. max(norm(x), τ), where τ∈+, semi-norm, and/or any other suitable type of norm, combinations thereto, modifications thereto and/or as the application demands. For example, the vector x may be
For each of one or more iterations, 1≤n≤N, where N is the maximum number of iterations, the following operations of the iterative process 210 may be performed:
In operation 216, computing an (n-1)-th precoder Q(wn−1) based on the received downlink channel estimates, G, and a previous set of power allocation weights wn−1 of the previous (n-1)-th iteration. In the first iteration, when n=1, the previous set of power allocation weights are the initialised set of power allocation weights w0 from operation 214.
In operation 218, extracting an estimated power allocation associated with each AP antenna from the computed (n-1)-th precoder. For example, when the (n-1)-th extracted estimated power allocation for the m-th AP antenna is the square of norm(
In operation 220, updating a set of power allocation weights, wn, for the n-th iteration in relation to the AP antennas of the one or more APs based on applying the (n-1)-th estimated power allocation associated with each m-th AP antenna to the corresponding (n-1)-th power allocation weight, wm[n−1], for the m-th AP antenna from the (n-1)-th set of power allocation weights wn−1. For example, updating, for each of the M AP antennas, the corresponding power allocation weight, wm[n], of said m-th AP antenna for the set of power allocation weights, wn, based on multiplying the corresponding previous (n-1)-th power allocation weight, wm[n−1], of the m-th AP antenna by the inverse of the square root of the (n-1)-th estimated power allocation of said m-th AP antenna, for 1≤m≤M.
For example, the 2-norm of
and where the (n-1)-th set of power allocation weights is denoted as wn−1=(w1[n−1], . . . , wM[n−1])T∈+M×1, where wm[n−1]∈+ is the m-th weight of the (n-1)-th set of power allocation weights, wn−1. The (n-1)-th extracted estimated power allocation for the m-th AP antenna is the square of ∥
In operation 222, determining whether one or more stopping condition(s) or criteria have been achieved. If the stopping criteria/condition(s) has been achieved, then proceed to operation 224, otherwise, proceed to operation 216 for the next iteration, where n=n+1.
For example, the stopping criteria/condition(s) may be based on one or more of previously calculated set of power allocation weights such as wn and wn−1, previously estimated power allocations such as ∥
In operation 226, once the stopping criterion/criteria has been reached, outputting data representative of a precoder computed from the received channel estimates and the best updated set of power allocation weights. As described with reference to
The precoder (e.g. Q(w)) in the iterative processing method 200 and/or 210 may be based on a ZF precoder, MMSE precoder and/or any other interference suppression precoder and the like. For example, the precoder matrix Q(w) may be derived or calculated based on computing a combination of the downlink received channel estimates, G, and a set of power allocation weights, w. As an example of such a combination, the precoder matrix Q(w) may be a ZF precoder based on Q(w)=WG*(GTWG*)−1, where W∈+M×M is a diagonal matrix with the elements of the set of power allocation weights w on the diagonal. Although the ZF precoder is described herein, this is by way of example only and the invention is not so limited, it is to be appreciated by the skilled person that the precoder matrix Q(w) may be based on any other type of MIMO precoder that includes a combination of downlink received channel estimates, G, and a set of power allocation weights, w, such as, without limitation, for example the MMSE precoder, a regularised-ZF precoder (e.g. Q(w)=WG*(GTWG*+δ1)−1, where δ is a regularising factor), and/or any other suitable MIMO type precoder, combinations thereof, modifications thereto, as herein described, and/or as the application demands.
The iterative processing method 210 may be further modified when one or more of a plurality of APs 102a-102n associated with AP antennas of the plurality of AP antennas 103a-103m have different power constraints. The corresponding operations 216-222 of iterative processing method 210 may be further modified for iteratively updating the set of power allocation weights, w, based on for each of one or more iterations, 1≤n≤N, where N is a maximum number of iterations, updating the n-th set of power allocation weights by computing wn=Ω(wn−1), where:
and where the (n−1)-th set of power allocation weights is denoted wn−1=(w1[n−1], . . . , wM[n−1])T∈+M×1, wm[n−1]∈+ the m-th weight of the (n−1)-th set of power allocation weights, wn−1, Pm2 is the power constraint on the m-th transmit chain, where
In operation 232, applying the data representative of the output precoder (e.g. output from operations 206 or 224 of
In operation 234, transmitting the precoded communication data to one or more corresponding APs 102a-102n for transmission via the corresponding AP antennas 103a-103m to the corresponding UE antennas 105a-105k of the one or more UEs 104a-104j.
In operation 242, transmitting, to each AP, data representative of precoder information associated with the AP antennas 103a-103m of each AP, the precoder information extracted from data representative of the output precoder (e.g., the precoder output from operations 206 or 224 of
For example, the precoder information may be the precoder coefficients associated with each AP antenna, which may be extracted from the output precoder or precoder matrix. As an example, an m-th set of precoder coefficients for the m-th AP antenna may be extracted from the m-th row of an output precoder matrix Q(w). Thus, transmitting, to each AP for 1≤m≤M, data representative of the m-th set of precoder coefficients to the AP 102a associated with the m-th AP antenna. Depending on the number of AP antennas an AP has, each AP may receive one or more sets of precoder coefficients corresponding to the AP antennas of that AP. Once received, each AP 102a is configured to apply the corresponding associated precoder coefficients for precoding communications data for transmission via the AP antennas of the AP to the corresponding UE antennas of one or more UEs 104a-104j.
In operation 252, receiving updated downlink channel estimates, G, between one or more of the M AP antennas 103a-103m of one or more APs 102a-102n and one or more of the K UE antennas 105a-105k of the UEs 104a-104j. All of the downlink channel estimates, G, may be updated for the downlink channels between the M AP antennas 103a-103m of one or more APs 102a-102n and the K UE antennas 105a-105k of the UEs 104a-104j. Alternatively or additionally, some of the downlink channel estimates, G, may be updated for the downlink channels between the MAP antennas 103a-103m of one or more APs 102a-102n and the K UE antennas 105a-105k of the UEs 104a-104j. The updates for the downlink channel estimates, G, may be generated/estimated according to a periodic or aperiodic schedule depending on the type of wireless communication standard and/or system that is being used.
In operation 254, iteratively updating the set of power allocation weights and the precoder based on using the updated channel estimate matrix, G, using iterative processing methods 200 and/or 210, combinations thereof, modifications thereto and/or as herein described with reference to
Referring to
In an example, rather than computing all the precoders for all the subcarriers for all the AP antennas at once, precoders for some subcarriers may be computed based on precoders already computed and output for other subcarriers. The iterative processes 200 and/or 210 may be further modified, when iteratively updating the set of power allocation weights of the AP antennas associated with a first and a second subcarrier in the set of subcarriers, to first iteratively compute the precoder for the first subcarrier in the set of subcarriers and then iteratively compute the precoder for the second subcarrier in the set of subcarriers, where the set of power allocation weights of the AP antennas for the second subcarrier are initialised based on the precoder computed for the first subcarrier in the set of subcarriers.
As another example, in each iteration, the precoder for each of the subcarriers in the set of subcarriers may be successively computed in order of increasing or decreasing subcarrier index, where the set of power allocation weights of the AP antennas for subcarrier index l is wn(l) and initialising the set of power allocation weights of the AP antennas for subcarrier index l to w0(l)=wn(l−1) when successively computing precoders for increasing subcarrier index or to w0(l)=wn(l+1) when successively computing precoders for decreasing subcarrier index.
In process block 301, receiving at a central processing unit of a network element 106 the channel estimate matrix G for the downlink channels between the M AP antennas 103a-103m of the one or more APs 102a-102n and the K UE antennas 105a-105k of the one or more UEs 104a-104j.
In process block 302, initializing the set of power allocation weights, w, to an initial set of power allocation weights, w0=(1, . . . , 1)T or wm=1 for all m. As described with reference to operation 214 of
In process block 303, computing the n-th updated set of power allocation weights, wn, based on wn=Ω(wn−1), where the mapping
Ω: [0, ∞)M→[0, +°)M,
is defined by
and where
In process block 304, determining whether a stopping condition/criterion (or stopping conditions/criteria) has been reached, for example, by computing f(wn−1)=max∥
In process block 305, increment n, i.e. n←n+1, and proceed to block 303 for computing the (n+1)-th set of power allocation weights.
In process block 306, select a precoder Q(wn−1), for 1≤n≤N and apply the selected precoder Q(wn−1), to communication data for transmission via the M AP antennas to the corresponding UE antennas of the one or more UEs 104a-104j. The advantage of selecting precoder Q(wn−1) is because wn−1 and/or Q(wn−1) have already been calculated/computed and verified to be suitable as the stopping criterion has been met based on wn−1 and Q(wn−1), i.e. using g
In process block 307, send or convey the precoded communication data to the corresponding one or more APs of the communication system for transmission via the corresponding MAP antennas to the corresponding UE antennas of the one or more UES 104a-104j. It is to be appreciated that block 307 may be modified based on transmission methods 230 or 240 of
In a cell-free system 100 or a cellular system 110 different AP antennas 103a-103m may have different power constraints. For example, this may be due to different transmission hardware being installed at different locations and/or other environmental factors and/or constraints. So, based on hardware configuration and the like, different transmit chains in the communication system 100 or 110 might have different power constraints. In some embodiments, the mapping Ω(w) can be further modified to take into account these constraints. For example, suppose that the power constraint on transmit chain m (or the m-th antenna) is Pm2. These power constraints for all M AP antennas 103a-103m may be enforced by the mapping:
The blocks 303-305 of the iterative ZF process 300 may be performed using this power constraint mapping Ω(w).
In the OFDM system, the precoder needs to be calculated for each subcarrier or group of subcarriers, and in Ω(w), the estimated power allocations ∥
In this example, the channel matrix on subcarrier l is denoted as G(l)∈M×K, for each subcarrier in a set of subcarriers S. A single weight vector w=(w1, . . . , wM)T∈+M is defined as in the previous examples, and the precoder for each subcarrier l∈S is denoted or computed as Q(l)(w)=WG(l)* (G(l)
The objective function to be minimized in this case is in this case is f(w)=maxrm(w)2, which may form the power objective, where a specific value of the power objective may be a power target. Typically, the iterative methods described herein aim to minimise the power objective with the computational resources available. In this example, the set of power allocation weights can now be updated by the mapping:
ΩS: [0, +∞)M→[0, +∞)M,
defined by
The iterative precoder processing method 310 may include the following process blocks of:
In process block 311, receiving at a central processing unit of a network element 106 the channel estimate matrix G(l) for each subcarrier l∈S for the downlink channels between the MAP antennas of the one or more APs 102a-102n and the K UE antennas 105a-105k of the one or more UEs 104a-104j.
In process block 312, initializing the set of power allocation weights, w, for each of the subcarriers to an initial set of power allocation weights, w0=(1, . . . , 1)T or wm=1 for all m. As described with reference to operation 216 of
In process block 313, computing the n-th updated set of power allocation weights, wn, for each of the subcarriers based on wn=ΩS(wn−1). The values rm(wn−1)2, 1≤m≤M, are also calculated as part of this step and are retained for use in the next step.
In process block 314, determining, for each of the subcarriers, whether a stopping condition/criteria (or stopping conditions/criteria) has been reached, for example, by computing f(wn−1) based on the values rm(wn−1)2 previously computed and determining if f(wn−1) and f(wn−2) are sufficiently close, or if f(wn−1) is sufficiently close to the median of the values rm(wn−1)2, or a maximum number of iterations N is reached. If the stopping criterion/criteria is not met (e.g., No), e.g. n≤N, then proceed to block 315, otherwise (e.g. Yes) proceed to block 316. Alternatively or additionally, one or more other stopping criterions may be applied as described, without limitation, for example in operation 222 of
In process block 315, increment n, i.e. n←n+1, and proceed to block 313 for computing the (n+1)-th set of power allocation weights.
In process block 316, output or return data representative of Q(l)(wn−1) for each l∈S. For example, this may also include selecting a precoder Q(l)(wn−1) for each l∈S, for 1≤n≤N and apply the selected precoders Q(l)(wn−1) for each l∈S, to the communication data for transmission via one or more of the M AP antennas to the corresponding one or more of the K UE antennas of the one or more UEs 104a-104j. The advantage of selecting Q(l)(wn−1) for each l∈S is because wn−1 and/or Q(l)(wn−1) have already been calculated/computed and verified to be suitable as the stopping criterion has been met based on wn−1 and Q(l)(wn−1). As an alternative, block 316 may be further configured to select a precoder matrix based on Q(l)(wn) for each l∈S, as it is expected that wn and Q(l)(wn) should be suitable as well, but this requires additional computation of the precoder matrix Q(l)(wn) for each l∈S. Alternatively or as an option, block 316 may be further configured to select a precoding matrix or precoder of Q(l)(wi) for each l∈S, where wi is the i-th set of power allocation weights for the i-th iteration, 1≤i≤N, that results in a dominant power allocation closest to a power level threshold for the plurality of AP antennas for each l∈S.
In process block 317, send or convey the precoded communication data to the corresponding one or more APs of the communication system for transmission via one or more of the corresponding M AP antennas of the one or more APs to the corresponding one or more UES 104a-104j. It is to be appreciated that block 317 may be modified based on transmission methods 230 or 240 of
Process 310 may be further modified by adjusting the set of subcarriers S when iteratively calculating the power allocation weights, wn. For example, in steps 311-314, a first subset of subcarriers S1⊆S may be used to find the power allocation weights, wn, where in step 316 a second subset of subcarriers S2⊆S is used to compute the final precoder. This may reduce the complexity of the iterations in steps 313-315 by operating on S1, when S1 is configured to be smaller than S2 and/or S. For example, S1={all even subcarriers} may be used in iterations of steps 313-315, then then in step 316, a precoder for S2={all subcarriers} may be computed.
Referring at least to
for 1≤j≤M, after block 303 or 313, if desired, where wm[n]∈+ is the m-th weight of the n-th set of power allocation weights, wn. This could be useful for numerical reasons such as keeping the magnitudes of the elements of w within range of a specific numerical representation.
When using a regularized zero forcing precoder, the functions Ω and ΩS are not invariant to scaling. In this case, it is helpful to initialize each element of w0 with wm[0]=M and to add the normalization
for
block 303 or 313 to ensure that each of the power allocation weights of the n-th set of power allocation weights, wn, always satisfy the condition
This condition is motivated by Lagrangian optimization conditions for a regularized zero forcing precoder design problem. For numerical reasons, it may be beneficial to cap the maximum value of the power allocation weights, for example using the two-step normalization based on:
where C is a constant much larger than the number of AP antennas M. This two-step normalization can also be used with a zero forcing precoder.
While typically the objective f(wn−1) decreases in each iteration of processes 300 or 310, sometimes this may not occur, thus the processes 300 and 310 (and/or processes 200 and 210 of
In a multi-user MIMO setting, one can use various objectives to measure the value of a particular network configuration. The flat ZF precoder described in this example may be advantageous for the goal of maximizing minimum SINR, a goal that emphasizes coverage and fairness.
Names of network elements, protocols, and methods are based on current standards. In other versions or other technologies, the names of these network elements and/or protocols and/or methods may be different, as long as they provide a corresponding functionality. For example, embodiments may be deployed in 2G/3G/4G/5G/6G and beyond networks and/or further generations of 3GPP but also in non-3GPP radio networks such as Wi-Fi.
A memory may be volatile or non-volatile. It may be e.g. a RAM, a SRAM, a flash memory, a FPGA block ram, a DCD, a CD, a USB stick, and a blue ray disk.
If not otherwise stated or otherwise made clear from the context, the statement that two entities are different means that they perform different functions. It does not necessarily mean that they are based on different hardware. That is, each of the entities described in the present description may be based on a different hardware, or some or all of the entities may be based on the same hardware. It does not necessarily mean that they are based on different software. That is, each of the entities described in the present description may be based on different software, or some or all of the entities may be based on the same software. Each of the entities described in the present description may be embodied in the cloud.
Implementations of any of the above described blocks, apparatuses, systems, techniques or methods include, as non-limiting examples, implementations as hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof. Some embodiments may be implemented in the cloud.
It is to be understood that what is described above is what is presently considered the preferred embodiments. However, it should be noted that the description of the preferred embodiments is given by way of example only and that various modifications may be made without departing from the scope as defined by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
20225745 | Aug 2022 | FI | national |
Number | Name | Date | Kind |
---|---|---|---|
20130267266 | Park | Oct 2013 | A1 |
20220103212 | Guo | Mar 2022 | A1 |
20220239350 | Jacobsson | Jul 2022 | A1 |
Number | Date | Country |
---|---|---|
WO 2017003963 | Jan 2017 | WO |
WO 2021238634 | Dec 2021 | WO |
WO 2022124956 | Jun 2022 | WO |
Entry |
---|
Yang, L. et al., “A Near-Optimal Iterative Linear Precoding with Low Complexity for Massive MIMO Systems,” IEEE Communications Letters. vol. 23 No. 6, Jun. 2019, pp. 1105-1108. |
Number | Date | Country | |
---|---|---|---|
20240089874 A1 | Mar 2024 | US |