Unless otherwise indicated herein, the materials described herein are not prior art to the claims in the present application and are not admitted to be prior art by inclusion in this section.
Beamforming is a signal processing technique used for directional signal transmission. There are different variants of beamforming including analog, digital, and hybrid beamforming, two-dimensional beamforming, three-dimensional beamforming (as used in multiple input multiple output (MIMO)), and the like. Beamforming may be used to achieve spatial selectivity in different wireless communication standards including 5G and IEEE 802.11 ac and beyond.
The subject matter claimed in the present disclosure is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some embodiments described in the present disclosure may be practiced.
In some embodiments, a base station (BS) may be configured for beamforming estimation in a massive multiple input multiple output (mMIMO) radio access network (RAN) (mMIMO-RAN). The BS may comprise a processing device and a transceiver. The processing device may be configured to compute, at the base station, a precoder based on jointly maximizing the signal with respect to noise and minimizing an interference with respect to the noise using an approximate decoder. The processing device may be configured to compute, at the base station, the precoder based on a power constraint. The processing device may be configured to generate, at the base station, the precoder for precoding a downlink signal for transmission from the base station to a user equipment (UE). The transceiver may be configured to transmit a DL signal from the base station to the UE.
In some embodiments, a computer-readable storage medium may include computer executable instructions. The computer readable instructions, when executed by one or more processors, may cause a BS in an mMIMO-RAN to compute, at the base station, a precoder based on jointly maximizing the signal with respect to noise and minimizing an interference with respect to the noise using an approximate decoder; compute, at the base station, the precoder based on a power constraint; generate, at the base station, the precoder for precoding a downlink signal for transmission from the BS to a user equipment (UE).
In some embodiments, a method for beamforming estimation in an mMIMO-RAN) may comprise: computing, at a base station, a precoder based on jointly maximizing the signal with respect to noise and minimizing an interference with respect to the noise using an approximate decoder; computing, at the base station, the precoder based on a power constraint; and generating, at the base station, the precoder for precoding a downlink signal for transmission from the BS to a user equipment (UE).
In some embodiments, a base station in an mMIMO-RAN) may comprise: a processing device operable to: compute a precoder based on jointly maximizing a signal with respect to noise and minimizing an interference with respect to the noise; compute the precoder based on a power constraint using block coordinate descent; and generate the precoder for precoding a downlink (DL) signal for transmission from the base station to a user equipment (UE); and a transceiver operable to transmit the DL signal to the UE.
In some embodiments, a computer-readable storage medium may include computer executable instructions. The computer readable instructions, when executed by one or more processors, may cause a BS in an mMIMO-RAN to compute a precoder based on jointly maximizing a signal with respect to noise and minimizing an interference with respect to the noise; compute the precoder based on a power constraint using block coordinate descent; and generate the precoder for precoding a downlink (DL) signal for transmission from the base station to a user equipment (UE).
In some embodiments, a method for a base station in an mMIMO-RAN may comprise computing, at the base station, a precoder based on jointly maximizing a signal with respect to noise and minimizing an interference with respect to the noise; computing, at the base station, the precoder based on a power constraint using block coordinate descent; and generating, at the base station, the precoder for precoding a downlink (DL) signal for transmission from the base station to a user equipment (UE).
The objects and advantages of the embodiments will be realized and achieved at least by the elements, features, and combinations particularly pointed out in the claims.
Both the foregoing general description and the following detailed description are given as examples and are explanatory and are not restrictive of the invention, as claimed.
Example embodiments will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
Beamforming is a signal processing technique used for directional signal transmission. Directional signal transmission may be used to direct patterns of constructive and destructive interference so that user equipment (UE) may receive enhancements in received signals because of the increase in spatial diversity.
In multi-user multiple-input multiple-output (MU-MIMO) networks (e.g., mMIMO, downlink (DL) and uplink (UL) beamforming and beamforming weight estimation may be used with a zero-forcing algorithm. Zero Forcing (ZF) refers to a class of methods that attempt to “zero out” the inter-user interference in MU-MIMO situations. Zero Forcing may be used to provide the solution to the following optimization:
in which W may be the precoder matrix, H may be the channel matrix, and I is the identity matrix. Several variants of ZF may be used based on the definition of the channel matrix, H.
Another variant of ZF is Regularized ZF (RZF) which may be used to provide the solution to the following optimization:
in which r is a regularization parameter that may be selected based on various parameters such as the signal to noise ratio (SNR), the number of user equipment (UE), the number of antennas (transmit antennas and/or receiving antennas), and the like.
RZF and ZF have similar complexity because RZF and ZF may be solved using analytical expressions that reduce to solving a linear system of equations, although RZF may perform better than ZF provided based on the selection of r. The dependence of r on the complexity may not be trivial and may include factors such as number of users and the SNR. Additionally, RZF may not account for power constraints which may not provide power distributions across different PA that are balanced. Power distribution may depend on the choice of the parameter r and the distribution of users. Typically as r increases in value and the number of groups increase in value (i.e., smaller number of layers), the power distribution may be more balanced across different power amplifiers (as measured by variance, or the like) but increasing r and increasing the number of groups may negatively affect the throughput.
It may be desirable to have an approach that has a comparable complexity to ZF/RZF but may maximize the power transmitted through the antennas without sacrificing spatial diversity. One way to attempt to achieve this is to set up optimization that is similar to ZF/RZF with the constraint:
where N is the number of power amplifiers. However, this typically does not give much performance improvement because the additional power is not properly directed to the UEs. For instance, a scheme known as maximum ratio transmission (MRT) may provide an increased uniformity of power distribution but with a throughput that may be about 25% lower. In addition the closed form of ZF/RZF is lost when MRT is used.
Disclosed herein are systems, devices, and methods for using power constraints in beamforming estimation without a significant increase in complexity. The disclosure herein differs from ZF (which attempts to “zero-out” interference, e.g., maximizing the SINR without considering the SNR which may degrade the signal) while the present disclosure reduces interference to a selected level while considering other factors that affect the performance of the system. These factors may include: (i) balancing the SNR and signal to interference plus noise ratio (SINR), (ii) basing power constraints on the power amplifiers because each power amplifier may have a distinct maximum power, (iii) reducing interference for weak UEs, and (iv) adapting to small changes in channel conditions by using iteration.
In addition, disclosed herein are systems, devices, and methods for using power constraints in beamforming estimation to compute a precoder using one or more of stochastic gradient descent, block coordinate descent, iteration, parallelization, or the like.
Embodiments of the present disclosure will be explained with reference to the accompanying drawings.
As illustrated in
In an example, for a line of sight situation,
In contrast, in another line of sight situation,
In some embodiments, a channel, H, may be frequency insensitive when H is available on a coarse scale. The minimum granularity, in some wireless standards, is 2 resource blocks (RBs), which is comprised of 12 subcarriers and 14 orthogonal frequency division multiplexing (OFDM) symbols. Consequently, the matrix W is shared by at least 168 different channels (i.e., 12×14=168 channels).
In some embodiments, as illustrated in
In some embodiments, the communication system 300, 400 may be designed to (i) be robust against estimation errors, and (ii) design the precoding matrix within a selected period of time (e.g., one slot). The precoder is designed to be robust against estimation errors because the channel, H, may be estimated at the UE (e.g., 418) and the BS but may not be measured exactly. The precoder, when designed within one slot, may result in 550 precoders within 500 μs for a worst case scenario.
Channel diagonalization may be accomplished through two different techniques: (a) open loop, and (b) closed loop. For open loop channel diagonalization, the precoder, W, may be designed at the UE. In this technique, the BS sends refined pilot signals (e.g., channel state information (CSI) reference signal (RS) (CSI-RS) based on synchronization signal block (SSB)) and the UE computes the precoder based on its channel estimate. The UE obtains the channel estimate using type 1 feedback in single user mode or type 2 feedback in multi-user mode. This open loop approach creates nulls (i.e., narrow beams) during transmission to separate data streams (e.g., transmitted using beams 320a, 320b, 320c, 320d, 320e, 320f, 320g, and 320h). One example of this open loop approach is in a dual-polarized 64 transmit antenna (64T) system with 4 UEs and 8 layers. The center antennas consume more power compared to the other antennas in this open loop approach.
In some embodiments, for closed loop diagonalization, the precoder, W, may be designed based on channel estimates available at the BS and specific constraints. In the closed loop approach, the superposition of the transmit (TX) and receive (RX) beams may be narrow. One example of the closed loop approach uses the Zero-Forcing (ZF) algorithm.
In some embodiments, the communication system 500 may have a cell coverage 504 that may include a near coverage area 506 and an edge coverage area 508. The near coverage area 506 may be closer in proximity to the BS 502 as compared to the edge coverage area 508. The BS 502, when configured for beamforming estimation and actuation as disclosed herein, may enhance network capacity for UEs in the near coverage area 506 relative to the network capacity for the near coverage area 506 when the BS 502 is not configured for beamforming estimation and actuation as disclosed herein.
Alternatively, or additionally, the BS 502, when configured for beamforming estimation and actuation as disclosed herein, may enhance network coverage for UEs in the edge coverage area 508 relative to the network coverage for the edge coverage area 508 when the BS 502 is not configured for beamforming estimation and actuation as disclosed herein. Alternatively, or additionally, the BS 502 may be configured to reduce a radio power dissipation amount when configured for beamforming estimation and actuation as compared to the power dissipation amount when not configured for beamforming estimation and actuation as disclosed herein.
In some embodiments, as illustrated in
In some embodiments, the communication system 700 may include a system of devices that may be configured to communicate with one another via a wired or wireline connection. For example, a wired connection in the communication system 700 may include one or more Ethernet cables, one or more fiber-optic cables, and/or other similar wired communication mediums. Alternatively, or additionally, the communication system 700 may include a system of devices that may be configured to communicate via one or more wireless connections. For example, the communication system 700 may include one or more devices configured to transmit and/or receive radio waves, microwaves, ultrasonic waves, optical waves, electromagnetic induction, and/or similar wireless communications. Alternatively, or additionally, the communication system 700 may include combinations of wireless and/or wired connections. In these and other embodiments, the communication system 700 may include one or more devices that may be configured to obtain a baseband signal, perform one or more operations to the baseband signal to generate a modified baseband signal, and transmit the modified baseband signal, such as to one or more loads.
In some embodiments, the communication system 700 may include one or more communication channels that may communicatively couple systems and/or devices included in the communication system 700. For example, the transceiver 716 may be communicatively coupled to the device 714.
In some embodiments, the transceiver 716 may be configured to obtain a baseband signal. For example, as described herein, the transceiver 716 may be configured to generate a baseband signal and/or receive a baseband signal from another device. In some embodiments, the transceiver 716 may be configured to transmit the baseband signal. For example, upon obtaining the baseband signal, the transceiver 716 may be configured to transmit the baseband signal to a separate device, such as the device 714. Alternatively, or additionally, the transceiver 716 may be configured to modify, condition, and/or transform the baseband signal in advance of transmitting the baseband signal. For example, the transceiver 716 may include a quadrature up-converter and/or a digital to analog converter (DAC) that may be configured to modify the baseband signal. Alternatively, or additionally, the transceiver 716 may include a direct radio frequency (RF) sampling converter that may be configured to modify the baseband signal.
In some embodiments, the digital transmitter 702 may be configured to obtain a baseband signal via connection 710. In some embodiments, the digital transmitter 702 may be configured to up-convert the baseband signal. For example, the digital transmitter 702 may include a quadrature up-converter to apply to the baseband signal. In some embodiments, the digital transmitter 702 may include an integrated digital to analog converter (DAC). The DAC may convert the baseband signal to an analog signal, or a continuous time signal. In some embodiments, the DAC architecture may include a direct RF sampling DAC. In some embodiments, the DAC may be a separate element from the digital transmitter 702.
In some embodiments, the transceiver 716 may include one or more subcomponents that may be used in preparing the baseband signal and/or transmitting the baseband signal. For example, the transceiver 716 may include an RF front end (e.g., in a wireless environment) which may include a power amplifier (PA), a digital transmitter (e.g., 702), a digital front end, an Institute of Electrical and Electronics Engineers (IEEE) 1588v2 device, a Long-Term Evolution (LTE) physical layer (L-PHY), an (S-plane) device, a management plane (M-plane) device, an Ethernet media access control (MAC)/personal communications service (PCS), a resource controller/scheduler, and the like. In some embodiments, a radio (e.g., a radio frequency circuit 704) of the transceiver 716 may be synchronized with the resource controller via the S-plane device, which may contribute to high-accuracy timing with respect to a reference clock.
In some embodiments, the transceiver 716 may be configured to obtain the baseband signal for transmission. For example, the transceiver 716 may receive the baseband signal from a separate device, such as a signal generator. For example, the baseband signal may come from a transducer configured to convert a variable into an electrical signal, such as an audio signal output of a microphone picking up a speaker's voice. Alternatively, or additionally, the transceiver 716 may be configured to generate a baseband signal for transmission. In these and other embodiments, the transceiver 716 may be configured to transmit the baseband signal to another device, such as the device 714.
In some embodiments, the device 716 may be configured to receive a transmission from the transceiver 716. For example, the transceiver 716 may be configured to transmit a baseband signal to the device 714.
In some embodiments, the radio frequency circuit 704 may be configured to transmit the digital signal received from the digital transmitter 702. In some embodiments, the radio frequency circuit 704 may be configured to transmit the digital signal to the device 714 and/or the digital receiver 706. In some embodiments, the digital receiver 718 may be configured to receive a digital signal from the RF circuit and/or send a digital signal to the processing device 708.
In some embodiments, the processing device 708 may be a standalone device or system, as illustrated. Alternatively, or additionally, the processing device 708 may be a component of another device and/or system. For example, in some embodiments, the processing device 708 may be included in the transceiver 716. In instances in which the processing device 708 is a standalone device or system, the processing device 708 may be configured to communicate with additional devices and/or systems remote from the processing device 708, such as the transceiver 716 and/or the device 714. For example, the processing device 708 may be configured to send and/or receive transmissions from the transceiver 716 and/or the device 714. In some embodiments, the processing device 708 may be combined with other elements of the communication system 700.
In some embodiments, the processing device 708 (e.g., at a base station) may be configured to obtain a channel estimate for a wireless device, such as a UE. The channel estimate may be obtained using any suitable reference signal that provides a suitable channel estimate, such as a sounding reference signal (SRS) that may be transmitted from a wireless device, such as a UE. When time division duplexing (TDD) is used, an SRS may be adequate to provide a BS with a channel estimate because channel reciprocity may be established between the BS and the UE in the TDD case.
In some embodiments, the processing device 708 may be configured to compute (e.g., at a base station) a first power level adjustment for a downlink signal for transmission to a wireless device such as a UE. The first power level adjustment may be computed using the channel estimate obtained from the wireless device such as the UE (e.g., as obtained using the SRS).
In some embodiments, the first power level adjustment for the downlink signal may be computed using a precoding matrix, W, that may be used for beamforming. The precoding matrix, W, may correspond to a decoding matrix D at the receiving wireless device (e.g., a UE) that may be used in decoding messages received at the wireless device that have been precoded using the matrix, W.
In some embodiments, the DL signal may be generated based on a number of inputs including one or more of: (i) a number of downlink layers (e.g., for a component carrier), (ii) a number of transmit antenna elements, (iii) a number of receive antenna elements, (iv) a polarization, (v) a number of antenna ports, or the like. In one example, the number of downlink layers may be any suitable value greater than or equal to 1 and less than or equal to 64. In one example, the number of downlink layers may be at least 8. In one example, the number of transmit antenna elements may be any suitable number greater than or equal to 2 and less than or equal to 128. In one example, the number of transmit antenna elements may be at least 32. In one example, the number of receive antenna elements may be any suitable number greater than or equal to 2 and less than or equal to 16. In one example, the number of receive antenna elements may be at least 32. In one example, the number of antenna ports may be any suitable number greater than or equal to 2 and less than or equal to 64. In other examples, the number of downlink layers, transmit antenna elements, receive antenna elements, and antenna ports may be any suitable number that may be supported in the network (e.g., a massive MIMO network).
In some embodiments, the precoding matrix, W, may be jointly optimized with D. To jointly optimize over W and D, a measure of signal-to-noise ratio may be used, including one or more of: a signal to interference plus noise ratio (SINR), an interference plus noise to signal (INSR) ratio, a signal to noise ratio (SNR), the like, or a combination thereof. In another example, a measure of power distribution across antennas may be used to jointly optimize over W and D.
In some embodiments, the precoding matrix, W, and the decoding matrix, D, may be jointly computed using the objective function:
where: (i) H is a matrix for the channel with each row of the matrix H corresponding to a user i and each column of row i of the matrix H corresponding to the jth layer of the user i, (ii) I is the identity matrix, (iii) λ0 and λ1 are regularization parameters, and (iv) D=blkdiag(Di) has a block diagonal structure,
where k=1, . . . , N and e′k is the transpose of a unit row basis vector.
In some embodiments, when a power constraint is not used for jointly optimizing the precoding matrix, W, and the decoding matrix, , the Lagrangian may be computed as:
In some embodiments, the gradients may be computed as:
In some embodiments, the (partial) Hessians may be computed as:
In some embodiments, iterations of Newton's method with projection may be computed as shown below:
In this algorithm: (i) the number of layers, , may be defined for each UE, (ii) Hm×n may be the channel matrix for m transmit antennas and n UEs, (iii) r may be the power constraint for each of the m antennas, (iv) Wn×l may be the precoder matrix for n UEs with each UE having layers, (v) t is an iteration counter, (vi) “′” is the partial derivative with respect to the particular matrix (e.g., H′ is the partial derivative of the Lagrangian function with respect to W (for ∇WL) or the partial derivative of the Lagrangian function with respect to D (for ∇DL), (vii) [ν]i indicates concatenation in row vector form, (viii) HWW† is the transposed partial Hessian and HDD† is the transposed partial Hessian, and (ix) η is the step size.
In some embodiments, one may also consider the following variation of the objective function:
where projection is used to subject the objective function to the equality constraints.
In some embodiments, Zero Forcing (ZF) may be a class of algorithms that do not adjust for noise or decoding procedure at the UE. In one embodiment, a ZF algorithm may be computed using the objective function:
For a matrix having dimensions of m×n (with m>n), ZF may be computed with a computational complexity of 2m{circumflex over ( )}3 operations. This computation may not be a minimum energy solution because the computation may not be constrained by power. That is, the computation may not use all of the power amplifiers (i.e., there may not be a unique solution when H is a fat matrix, or H has fewer rows than columns). When HH′ is invertible, a particular minima may be the right inverse of H: W=H′(HH′){circumflex over ( )}{−1}. The right inverse may also be viewed as the solution to the following constrained minimum energy problem:
which provides an objective function that adjusts for the total energy consumed by the power amplifiers and provides a unique solution.
In some embodiments, a ZF algorithm may be a reduced order ZF algorithm. In this case, when the number of receive antennas may be larger than the number of layers, ZF may be performed on a restricted subspace in the (row) span of the channel to save on computational complexity and gain on performance. In one example, the principal directions may be used to reduce the dimension of the channel as computed in the objective function:
where D is the ZF decoder, and the channel for each UE is replaced by its top Li dominant modes using singular value decomposition (SVD). More specifically, when D=[D1, D2, . . . , Dk) and H=[H1, . . . , Hk), the ZF decoder may be computed as:
By setting Dr=[[D1r, . . . , Dkr], we may obtain the result, Wr=H′Dr′(DrHH′D′r)−1.
In some embodiments, the ZF algorithm may have a complex multiplies (cMAC) computed as: (nm)(m+1)/2+2 m3+nm2 for a total cMAC of 1.5 nm2+2 m3, wherein the first term is the cMAC for computing HH′, the second term is the cMAC for computing the inverse (HH′)−1, and the third term is the cMAC for computing the final product.
For example, with m=16 and n=64, the cMAC may be computed as: [(1.5*(64)*162)+(2*163)]=33000 complex multiplications (which may be computed as approximately 105 real multiplications if defining 3MACs=1cMAC). For a 0.5 ms signal at 200 MHz having 550 RBs, the cMAC may be carried out This may be carried out 550 times. In some examples, the power consumed may be equivalent to about 110 cMAC (which may be equivalent to an 18 modulator actuator). Because the algorithm may be active once every frame, (i.e., once every 20 slots), the power consumed may be 1/20th of the power that would be consumed by an 18 modulator actuator.
In some embodiments, the reduced-order ZF algorithm may have a cMAC computed as: nm2+m2+nm2, for a total cMAC of 3 nm2. The first term may be computed using Cholesky decomposition via gram Schmidt orthogonalization (i.e., QR decomposition) to compute H=RQ; the second term may be computed by setting F=HW and solving for FR′=H′; and the third term may be computed using HW=F. The computation for the reduced-order ZF algorithm is less efficient than other alternative computations.
In some embodiments, the reduced-order ZF algorithm may have a cMAC computed as: nm2+nm2=2 nm2. The first term may be the cMAC for solving for factor S so that S′H′HS=I; and the second term may be the cMAC for setting W=H′S′S.
In some embodiments, the reduced-order ZF algorithm may be further enhanced and may have a cMAC computed as: 1.5 nm2+m3. The first term includes the cMAC for computing the upper triangular matrix and the cMAC for multiplying the triangular inverse, and the second term includes the cMAC for inverting the upper triangular matrix. In an example, the cost may be about 29,000 cMACs, and similar computations provide a value of 100 units in power-adjusted terms. Thus, this approach has a smaller cMAC compared to the ZF algorithm.
In some embodiments, the enhanced reduced-order ZF algorithm may include computing the right inverse (HW=I) without an explicit computation of the Cholesky decomposition. In one example, the right inverse may be computed using a Gram-Schmidt operation to compute HW_1 as a lower triangular matrix with is on the diagonal.
The computation may be include the definition:
where W=[W1 . . . Wm] and H′=[H1 . . . Hm], where each Hi may be a column (that is, H′ may be the conjugate transpose of the matrix H).
In some embodiments, the precoder, {tilde over (W)}, may be calculated so that H{tilde over (W)}=I in which one such equation may be solved for each frequency and time resource (e.g., each resource element). The computation may include two operations: (i) calculate W so that HW is an upper triangular (m×m) matrix with 1s on the diagonal, and (ii) calculate the inverse of HWP=I and set {tilde over (W)}=WP.
In some embodiments, W may be computed iteratively on a column by column basis. For the initial column set, H1, W1 may be computed as shown:
where n may be the number of power amplifiers such that |H1|2=h′11h11+h′12h12+ . . . +h′1nh1n. Linear combinations of the columns of the H′ matrix and the columns of the W matrix (e.g., Wi) may be defined such that: Fk=Hk−W1c1,k— . . . — Wk-1ck-1,k in which cij may be constants. For example, F2 may be computed such that F2=H2−W1c12, and when setting H′1 W2=0, the constant c12 may be computed as H′1H2. W2 may be set as W2=F2/H2′F2 and further iterations of F may be computed recursively using Wi=Fi/Hi′Fi. A truncated computation of Fk may be calculated using:
Based on these definitions, it may be verified that cik=Hi′Fki−1 (based on H′iWi=I). By setting Wk=Fk/Hk′Fk an upper triangular matrix may be computed with 1s along the diagonal.
In some embodiments, HW may be computed as an upper triangular matrix using MatLab code as follows:
In some embodiments, the cMAC may be higher. For instance, multiplying the quadrature amplitude modulation (QAM) symbols with the beamforming matrix may use at least 64*L multiplications per RE. In the specific example, of the reduced ZF algorithm, L=m, which uses 64*16*550*12*14*2000=190 cMAC/sec or 550 units/s in power adjusted terms. In a downlink scenario, the reduced ZF algorithm may operate during the entire transmission and thus actuation may consume energy of at least 1000× compared to that for the ZF algorithm.
In some embodiments, the processing device 708 may be configured to compute (e.g., at the BS) a second power level adjustment for the DL signal for transmission to the wireless device (e.g., a UE). In one example, the second power level adjustment may be computed by adjusting the first power level adjustment based on an antenna power constraint. In some examples, the processing device 708 may be configured to precode (e.g., at a BS), using the second power level adjustment, a DL signal for transmission to a device 714 (e.g., a UE). In some examples, the transceiver 716 may be configured to transmit the DL signal to the device 714 (e.g., a UE).
In some embodiments, the device 714 (e.g., a UE) may be configured for beamforming estimation. The device 714 may be configured to receive a downlink signal having a precoded message from a transceiver 716 (e.g., at a base station). In one example, the device 714 may comprise a processing device. The processing device may be configured to obtain a channel estimate. The channel estimate may be obtained using a reference signal including one or more of channel state information reference signal (CSI-RS), demodulation reference signal (DM-RS), phase tracking reference signal (PTRS), sounding reference signal (SRS), or the like. The channel estimate may be transmitted from the device 714 to the transceiver 716 (e.g., at a base station) using an SRS.
In some embodiments, the processing device may be configured to generate a decoder (e.g., D) by: (i) initializing the decoder using the channel estimate, and (ii) adjusting the decoder to decode the precoded message, wherein the precoded message received at the device 714 was precoded based on an antenna power constraint (e.g., using MMSE). The processing device may be configured to decode the precoded message using the decoder. The decoder may be further initialized using zero forcing applied to a precoding matrix subject to the constraint to minimize noise as measured by a ratio including one or more of: a signal to interference plus noise ratio (SINR), an interference plus noise to signal (INSR) ratio, a signal to noise ratio (SNR), or the like.
In some embodiments, a different computational methodology may be used, such as minimum mean square error (MMSE) to adjust the first power level based on the antenna power constraint. In some examples, a class of precoders may be defined as W={tilde over (W)}diag (pij), where pij are real scalars that indicate the adjustment in the power level for the jth layer of the ith user. The matrix,
In some embodiments, a precoder may be defined as W=[Wi] in the loop of a communication model. The received signal at user, i, may be computed as:
where: (i) xi=(xii)∈(channel)Li may be the intended message for user, i, having Li layers, (ii) Zi may be the sum of inter-cell interference and thermal noise at user i, and (iii) Hi may be the true channel.
In some embodiments, the BS may compute the received signal at user, i, as:
where Δi=Hi−Ĥi is the channel estimation error (based on the premise that the channel may be learned using reference signals that are independent of the message, xj). For example, the SRS may be used to provide the BS with a channel estimate independently of the message, xj. Defining as the precoder for the layer of user i and for its decoder, the estimated symbol at user i for layer l may be computed as:
In some embodiments, assuming the UE has a perfect knowledge of the channel (because of higher and more detailed resolution of the downlink pilots), the decoder may be defined such that DilHi=1. Thus, after re-arrangement, the estimated symbol at user i at layer l may be computed as:
where the Ni may be defined as DilHiΣr,j≠i Wjrxjr+DilΔi Σj,r Wjrxjr+DilZi.
Assuming that |xil|=1, the bound on the interference plus noise to signal (INSR) ratio may be computed as:
such that the bound on the INSR ratio may be used to determine power re-allocation in beamforming.
In some embodiments, Wil may be computed as √{square root over (pil)}Vil in which Vil may be computed using ZF (e.g., ZF, reduced-order ZF, reduced-order ZF that has been enhanced as disclosed herein, or the like). Alternatively, or in addition, the decoder may be fixed such that Di=(HiWi)†. For a total of M UEs, the INSR may be minimized using the objective function:
In some embodiments, the signal received at the ith user may be defined using Yi=Hi Σj Wjxj+Zi and the estimated vector for the ith user may be computed as:
Such that the signal to interference plus noise ratio (SINR) may be computed as:
In some embodiments, a power constraint may be used to adjust the power level by maximizing an SINR for an ith user using the objective function:
In some embodiments, the decoder may not be present explicitly in the objective function. That is, the derivative may be computed with respect to the decoder in terms of the precoder, and with each subsequent update, the precoder may be updated without updating the decoder. This method of computing the precoder without explicitly including the decoder in the objective function may provide performance that is similar to the performance achieved by the objective function that includes an explicit decoder in the objective function. However, the method of computing the precoder without explicitly including the decoder in the objective function may have a computational speed that is about 10× faster than including the decoder in the objective function because there are fewer variables and constraints.
In some embodiments, MMSE may be implemented using a precoder, Wi, and decoder, Di, pair as defined:
The power scalars may be provided in a matrix, Pi, as defined:
where Pi is a diagonal matrix. For each UE, the matrices Di+, Wi+ may be computed using ZF and the power scalars, e.g., pi's may be computed using convex optimization (e.g., a geometric program). The power adjustment may be computed based on the MMSE objective function with respect to the power scalars, instead of the full precoder/decoder matrix pair.
In some embodiments, a coverage-based MMSE may be used to increase a wireless coverage area relative to a baseline wireless coverage area in which ZF is used without MMSE. In some embodiments, a coverage-based MMSE may include a worst-case MMSE using ZF decoding to compute a power level adjustment to increase a wireless coverage area relative to a baseline wireless coverage area in which ZF is used. Assuming there are K users in each group, defining the ith UE's decoder in row form as Di=[Di1; Di2; . . . ; DiL], and defining the precoder in column form as Wi=[Wi1, . . . , WiL], the power constraint (i.e., minimizep1, . . . , pKt) may be used to compute a power level adjustment (based on the premise that the UE is using a ZF decoder such that DiHiWi=I) such that:
The worst-case MMSE using ZF decoding allows for an enhancement of the SINR per UE. Some or all of the UEs may have the same QAM, which increases the service quality for the worst-case UE compared to the service quality for the worst-case UE when worst-case MMSE using ZF decoding is not used, but may not allow for an increase in throughput by the same comparison. For example, the worst-case MMSE using ZF decoding may be anti-water-filling where more power goes to the lowest-quality channels (e.g., as determined using SRS) and less power goes to the highest-quality channels (e.g., as determined using SRS).
In some embodiments, a throughput-based MMSE may be used to increase average throughput level relative to a baseline throughput level in which ZF is used without MMSE. In one example, throughput-based MMSE may include an average MMSE with ZF decoding may be used to compute a power level adjustment to increase average throughput level relative to a baseline throughput level in which ZF is used. In this example, the same QAM may be maintained across layers corresponding to the same UE, but different UEs may use different QAMs. This example is water filling in which power is provided to channels based on increasing the average throughput. Assuming there are K users in each group, defining the ith UE's decoder in row form as Di=[Di1; Di2; . . . ; DiL], and defining the precoder in column form as Wi=[Wi1, . . . , WiL], the power constraint (i.e., minimizep1, . . . , pKΣi log ti) may be used to compute a power level adjustment (based on the premise that the UE is using a ZF decoder so that DiHiWi=I) such that:
The computational complexity for average MMSE with ZF decoding may be applied in a first operation (i.e., ZF) and a second stage (i.e., average MMSE) with respect to a small number of variables (i.e., the number of variables may be the same as the number of UEs in each group, which may be e.g., 3-4 UEs per group). Consequently, least squares or a different Newton-based method may compute the power adjustment using a reduced computational complexity relative to other methods.
In some embodiments, a robust MMSE may include a robust average MMSE with ZF decoding that may be used to compute a power level adjustment to: (i) increase average throughput level relative to a baseline throughput level in which ZF is used without MMSE, and (ii) to increase the robustness of the average throughput level relative to a baseline throughput level in which ZF is used without MMSE. In this example, as was the case for average MMSE with ZF decoding, the same QAM may be maintained across layers corresponding to the same UE, but different UEs may use different QAMs. Assuming there are K users in each group, defining the ith UE's decoder in row form as Di=[Di1; Di2, . . . ; DiL], and defining the precoder in column form as Wi=[Wi1, . . . , WiL], the power constraint (i.e., minimizep1, . . . , pKΣi log ti) may be used to compute a power level adjustment (based on the premise that the UE is using a ZF decoder so that DiHiWi=I) subject to the constraints that:
The robust-average case MMSE with ZF decoding may differ from average MMSE with ZF decoding by using a channel estimation error term (e.g., λi) used to compute a power adjustment that may be allow for an increased average throughput level in the presence of channel estimation errors compared to the average throughput level when average MMSE with ZF decoding is used. The robust average MMSE with ZF decoding may have a computational complexity that is similar to the computational complexity for average MMSE with ZF decoding.
In some embodiments, the computational complexity for computing the pre-coder matrix at the BS may be enhanced without a reduction in performance. In this example, the pre-coder matrix, W, may be computed without explicitly basing the computation on decoding procedures at the UE by approximating the decoding procedures at the UE (e.g., using stochastic gradient descent or some other predictive technique). The objective function may be based on a power constraint without terms directed to the decoding procedures at the UE. The performance may be configured to increase the average performance and the worst-case performance by weighing the SINR and SNR without explicitly including the SINR or SNR in the objective function. The objective function may also be constrained by power constraints arising from the number of power amplifiers by using stochastic gradient descent.
Compared to a computation of the precoding matrix that is based explicitly on decoding procedures at the UE, the performance may be 3-5% worse but with an increased computational speed. That is, approximating gradient descent using stochastic gradient descent may increase the computational speed without a substantial reduction in performance. In one example, when implemented on an 8-core CPU, the computational complexity was comparable to the computational complexity for ZF. In another example, for a power distribution of RZF on a 100 MHz band with 4 groups and 32 UEs and 64 Tx (dual polarized arranged in one 4×8 panel with 16 layers per resource element transmitted), and for which each user had 4 antennas, received 2 layers of data, and received around 25 MHz of the spectrum, and thus for which the worst-case scenario provided 128 instances of precoding design (e.g., based on 16 layers and 64 antennas), precoding design was performed in less than 0.5 ms, or the duration of one slot.
In another example, the addition of iteration may provide another increase in computation speed by using the previous iteration precoder as an input. The performance may be similar to the performance without iteration but the inclusion of iteration provides faster convergence and may allow the precoding design to be configured to adapt to changes in channel conditions with reduced computational complexity and computation time.
In some embodiments, a processor at a base station may be configured to compute an approximated decoder at a UE. An approximated decoder may be computed using any suitable predictive technique such as supervised machine learning. In one example, an approximate decoder may be computed based on one or more of: training a model based on a dataset, and using the model to generate an approximated decoder for a UE based on parameters associated with the UE (e.g., number layers, number of receive antennas, a reference signal). The model may be based on one or more of an artificial neural network, a decision tree, a support vector machine, regression analysis, Bayesian networks, a Gaussian process, a genetic algorithm, the like, or a combination thereof.
In another example, the processor may be configured to compute the precoder based on jointly maximizing the signal with respect to noise and minimizing an interference with respect to the noise using the approximated decoder. The signal may be jointly maximized while jointly minimizing the interference by using a weight for the signal and a weight for the interference as an additional constraint for an objective function.
In another example, the processor may be configured to compute the precoder based on a power constraint. The power constraint may be formulated as shown:
In another example, the processor may be configured to generate the precoder for precoding a downlink signal for transmission from the BS to a user equipment (UE).
In some embodiments, the signal may be jointly maximized using a signal to noise ratio constraint, and the interference may be jointly minimized using a signal to interference plus noise ratio (SINR) constraint. In some examples, neither the SNR nor the SINR may be present in the objective function. That is, the objective function may be:
where Di* is the approximated decoder. In some embodiments, the precoder may be compute based on the power constraint (i.e., the third expression shown above) using stochastic gradient descent.
In some embodiments, stochastic gradient descent may provide an approximation of the values for the precoder or other parameters (e.g., the decoder). In one example, an approximate gradient (e.g., for the precoder) may be computed using a gradient at a sample, w (e.g., W=w−η(∇Q(w)), where η is the step size and Q is the gradient. As shown, stochastic gradient descent may be used to compute the precoder using the following:
In some embodiments, the precoder may be calculated using an iterative process. An example of an algorithm for computing the precoder using an iterative process may be:
In some embodiments, the computational complexity for computing the pre-coder matrix at the BS may be enhanced without a reduction in performance using other methods. In this example, the pre-coder matrix, W, may be computed without explicitly basing the computation on decoding procedures at the UE by approximating the decoding procedures at the UE. The objective function may also be constrained by power constraints arising from the number of power amplifiers.
In another example, the processor may be configured to compute the precoder based on jointly maximizing the signal with respect to noise and minimizing an interference with respect to the noise using the approximated decoder. The signal may be jointly maximized while jointly minimizing the interference.
In another example, the processor may be configured to compute the precoder based on a power constraint using block coordinate descent. In another example, the processor may be configured to generate the precoder for precoding a downlink signal for transmission from the BS to a user equipment (UE).
In some embodiments, the signal may be jointly maximized using a signal to noise ratio constraint, and the interference may be jointly minimized using a signal to interference plus noise ratio (SINR) constraint. In some examples, neither the SNR nor the SINR may be present in the objective function. That is, the objective function may be:
In some embodiments, block coordinate descent may provide an approximation of the values for the precoder or other parameters. As shown, block coordinate descent may be used to compute the precoder using the following:
In some embodiments, the precoder may be calculated using parallelization. In some embodiments, random sampling may be used to compute the precoder asynchronously. An example of an algorithm for computing the precoder using parallelization and/or random sampling may be:
In some embodiments, the precoder may be projected to a boundary based on the power constraint. A local optimum may be computed on the boundary. In some embodiments, the precoder may be computed using iteration. An example of an algorithm for computing the precoder using an iterative process and/or projection may be:
In some embodiments, the base station may be operable to perform a joint configuration with the UE.
The blocks used in block coordinate descent may be each row of antenna ports in the precoder matrix. For example, for 16 layers and 64 antenna ports the precoding matrix may be a 64×16 precoding matrix. Each of the 64 rows may be connected to an antenna port that may have 16 coefficients.
In some embodiments, the blocks used in block coordinate descent may include any suitable number of antenna ports. For example, for 16 layers and 64 antenna ports, more than one row of the precoding matrix may be used for block coordinate descent. That is, 2 rows may be used for block coordinate descent (which may provide 32 separate blocks, or 4 rows (which may provide 16 separate blocks), or 8 rows (which may provide 8 separate blocks), or the like.
In some embodiments, with parallel block coordinate descent, a block may be a row of a precoder matrix corresponding to an antenna port, with many blocks being processed in parallel. That is, a first block may correspond to a first row of a precoder matrix that may correspond to a first antenna port and a second block may correspond to a second row of a precoder matrix that may correspond to a second antenna port. The first block and the second block may be processed in parallel instead of being processed sequentially. Any suitable number of blocks may be processed in parallel.
In some embodiments, a performance difference between block coordinate descent and/or parallel block coordinate descent compared to ground truth may be about 2 to 3 dB. In other embodiments, a performance difference between block coordinate descent and/or parallel block coordinate descent and zero forcing may be about 6 dB. In some embodiments, parallel block coordinate descent may facilitate a performance enhancement in a field programmable gate array (FPGA).
Modifications, additions, or omissions may be made to the communication system 700 without departing from the scope of the present disclosure. For example, in some embodiments, the processing device 708 may be included with the transceiver 716. Alternatively, or additionally, the communication system 700 may include any number of other components that may not be explicitly illustrated or described.
In some embodiments, as illustrated in
In some embodiments, a communication system 800 may be configured to receive bits, as shown at 802, process the bits, and transmit the processed bits to a device. The bits 802 may be received for coding and modulation operations, as shown in block 804. The coding and modulation operations may include one or more of error correction code (ECC) coding, quadrature amplitude modulation (QAM), layer mapping, resource element mapping, or the like. Alternatively, or in addition, the processed bits may be precoded and digitally beamformed, as shown in block 806. The processed bits may undergo numerous operations 808 including one or more of orthogonal frequency division multiplexing (OFDM) modulation, processed at a digital front end, converted to analog using a digital to analog converter (DAC), and amplified at one or more power amplifier (PAs) before transmission from one or more antennas 810, 812 on the communication channel, H. Alternatively, or in addition, an analog beamformer (i.e., a phase shifter) may process the analog signal received from the PAs before transmission.
In some embodiments, the UE may receive a signal, y, on the communication channel, H, and form an estimate x=Dy of the transmitted QAM symbols and pass the estimate to an error correction code (ECC) decoder to provide bits, as shown at 832. The signal received at the one or more antennas 816, 820 may further include additive noise (e.g., 822, 824) introduced by each channel. The signal may be demodulated and converted to digital using an analog to digital converter (ADC). The resulting signal may be decoded, using a decoder, D, as shown in block 826. The decoded signal may be processed further, as shown in block 828, and detected and decoded as shown in block 830 to provide estimated bits, as shown in block 832.
In some embodiments, the low-rate feedback path 838 may contain quantized channel state information (CSI) related information that may be reported back to the BS by the receiving device, as generated at block 834. The quantized CSI-related information may be channel quality indicator (CQI), precoding matrix index (PMI), or the like, as used in codebook-based CSI. The low-rate feedback path 838 may provide a weight update 840 that the precoder, W, at block 806 may be used in beamforming. That is, the intended messages may be weighed by a weight, w, that is provided using the low-rate feedback path 838.
In some embodiments, the decoded message, x, may be computed as: DHWs+Dn, where D is the decoding operation, H is the communication channel, W is the precoding operation, s is the message intended for the UE, and n is the additive Gaussian noise introduced by the communication channel H.
In some embodiments, the linear transmission model described herein may provide a model for a fixed time and frequency resource (i.e., a particular resource element (RE). The linear transmission model may be further indexed by the number of REs available during one transmission. Thus, the communication channel, , may be defined by: (i) transmit antenna mi and receive antenna ri, (ii) n, the Gaussian noise introduced into the communication channel, (iii) the number of subcarriers, q, and (iv) f, the number of OFDM symbols used in one transmission. That is, there may be one communication channel for each RE in the resource grid.
In some embodiments, as illustrated in
In some embodiments, the channels may be correlated but are not necessarily identical. The channels may differ for various reasons including: (i) propagation physics (e.g., variations with respect to center frequency causing different phase shifts at different frequencies), (ii) multi-path effects (e.g., frequency selective channel gain), (iii) Doppler effects (e.g., time selective channel gain), or (iv) the stochastic effects (channel models that are cluster based in which each geometric ray is replaced by a cluster of random rays whose statistics may be driven by geometry).
In at least some embodiments, only the data part of the channel may be modeled. Additionally or alternatively, the non-data parts of the channel (e.g. synchronization signals and CSI-RS) may also be modeled.
In some embodiments, as illustrated in
In other embodiments, data may be transmitted on the PDSCH, as in block 1010. The data may be transmitted using a number of transmission modes including: (i) transmission mode 1 (1 TX), as in block 1014, (ii) transmit diversity (TxD), as in block 1016, (iii) spatial multiplexing large delay cyclic delay diversity (SM LD CDD), as in block 1018, (iv) spatial multiplexing no cyclic delay diversity (SM No CDD), as in block 1020, and (v) UE Specific transmission mode, as in block 1022, or the like.
In some embodiments, the synchronization signals may be generated, as in block 1024. The sequences for the CRS may be generated, as in block 1026. The control channels and the data channels may carry signals that may be scrambled, as in block 1028a for a PHICH, or as in block 1028b for a PBCH, PDCCH, PCFICH, or as in block 1028c for a 1 TX transmission mode, or as in block 1028d for a TxD transmission mode, or as in block 1028e for an SM LD CDD transmission mode, or as in block 1028f for an SM No CDD transmission mode, or as in block 1028g for a UE-specific transmission mode. For a PDSCH channel used with a UE specific transmission mode, a demodulation reference signal (DM-RS) may be generated as in block 1030. Alternatively, or in addition, a channel state information reference signal (CSI-RS) may be generated as in block 1032.
In some embodiments, after signal generation, sequence generation, scrambling, or reference signal generation for each particular case, the resulting digital signal may be QAM modulated, as in block 1034a to 1034k. For particular transmission modes (e.g., SM LD CDD, SM No CDD, and UE specific) layer mapping may further process the digital signal as in block 1036a-1036c. The digital signal may also be mapped to resource elements, as in block 1038. Additionally, IQ compression and/or IQ decompression may be used, as in block 1040 and block 1042.
In some embodiments, the digital signal may be further mapped to layers, as in blocks 1044a to 1044d. The signal may be precoded based on the particular channel and transmission mode. That is: (i) transmit diversity precoding may be used for the PHICH, the PBCH, the PDCCH, and the PCFICH, as in blocks 1046a and 1046b, (ii) transmission mode 1 precoding may be used for the PDSCH used in a transmission mode 1, as in block 1048, (iii) transmit diversity precoding may be used for the PDSCH used in a transmit diversity transmission mode, as in block 1046c, (v) SM LD CDD precoding may be used for the PDSCH used in an SM LD CDD transmission mode, as in block 1050, and (vi) SM No CDD precoding may be used for the PDSCH used in an SM No CDD transmission mode, as in block 1052. Precoding and beamforming may also be used when a UE-specific transmission mode is used for a PDSCH, as in block 1054. Beamforming by itself may be used with a CSI-RS, as in block 1056. In some examples, an optional broadcast beam 1058 may be used for common channels or signals (e.g., PSS, SSS, CRS, PHICH, PBCH, PDCCH, PCFICH, non-UE specific PDSCH, or the like).
In some embodiments, the digital signal may be orthogonal frequency divisional multiplex (OFDM) modulated using an iFFT to generate an OFDM signal in digital form, as in block 1060. A cyclic prefix (CP) may be added into the guard intervals between the OFDM symbols. The OFDM signal may drive a digital to analog converter (ADC) to generate an analog signal, as in block 1062. The analog signal may undergo analog beamforming, as in block 1064. The analog signal may be transmitted over the air after up-conversion to a higher frequency and amplification by a power amplifier to be received by a receiver, such as a UE.
In some embodiments, as illustrated in
In some embodiments, as illustrated in
In some embodiments, the multipath properties of the transmission paths between a base station and a UE may be used to map a channel from a first set of antennas at a first frequency to a second set of antennas at a second frequency. As illustrated in
In some embodiments, a neural network 1300 may be used to map the channel as illustrated in
An example of channel mapping based on the number of selected antennas in the first set of antennas and the achievable spectral efficiency (bits per second (bps) per Hertz (Hz)) is provided in
In contrast, the channel mapping method, as shown in triplicate, shows that the achievable spectral efficiency increases exponentially to an asymptote as the number of antennas in the first set of antennas increases. That is, for the channel mapping method, the average achievable spectral efficiency is: for one antenna, about 0.7 bps/Hz; for 2 antennas, about 1.3 bps/Hz; for 3 antennas, about 3.2 bps/Hz; for 4 antennas, about 4.2 bps/Hz; for 8 antennas, about 4.6 bps/Hz; for 16 antennas, about 4.6 bps/Hz; and for 32 antennas, about 4.6 bps/Hz. The channel mapping method approaches the upper bound, which assumes perfect channel knowledge.
The method 1500 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as is run on a computer system or a dedicated machine), or a combination of both, which processing logic may be included in the processing device 708 of
The method 1500 may begin at block 1505 where the processing logic may obtain, at a BS, a channel estimate for a UE. The channel estimate may be received from the UE using an SRS.
At block 1510, the processing logic may compute, at the BS, a first power level adjustment for a downlink (DL) signal for transmission to the UE. In some embodiments, the first power level adjustment may be computed using the channel estimate for the UE. In some embodiments, the first power level adjustment may be further computed using zero forcing to minimize noise and maximize signal as measured by a ratio.
At block 1515, the processing logic may compute, at the BS, a second power level adjustment for the DL signal for transmission to the UE. In some embodiments, the second power level adjustment may be computed by adjusting the first power level adjustment based on an antenna power constraint. In some embodiments, the second power level may be computed using MMSE.
At block 1520, the processing logic may precode, at the BS, using the second power level adjustment, the DL signal for transmission to the UE.
Modifications, additions, or omissions may be made to the method 1500 without departing from the scope of the present disclosure. For example, in some embodiments, the method 1500 may include any number of other components that may not be explicitly illustrated or described.
The method 1600 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as is run on a computer system or a dedicated machine), or a combination of both, which processing logic may be included in the processing device 708 of
The method 1600 may begin at block 1605 where the processing logic may obtain, at the UE, a channel estimate for the UE. In some embodiments, the channel estimate may be obtained or based on a reference signal. The channel estimate may be transmitted to the BS using the SRS.
At block 1610, the processing logic may generate, at the UE, a decoder by initializing the decoder using the channel estimate and adjusting the decoder to decode the precoded message. In some embodiments, the precoded message may be precoded based on an antenna power constraint (e.g., using MMSE). In some embodiments, the decoder may be initialized using zero forcing to minimize noise and maximize signal as measured by a ratio.
At block 1615, the processing logic may decode, at the UE, the precoded message using the decoder.
Modifications, additions, or omissions may be made to the method 1600 without departing from the scope of the present disclosure. For example, in some embodiments, the method 1600 may include any number of other components that may not be explicitly illustrated or described.
The method 1700 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as is run on a computer system or a dedicated machine), or a combination of both, which processing logic may be included in the processing device 708 of
The method 1700 may begin at block 1705 where the processing logic may initialize a precoder using zero-forcing based on a channel estimate. In some embodiments, the processing logic may initialize the precoder based on one or more of a number of downlink layers for a component carrier, a number of UEs, a number of transmit antenna elements, a number of receive antenna elements, a number of resource blocks available for beamforming, an error parameter, or a regularization parameter.
At block 1710, the processing logic may adjust the precoder based on jointly maximizing the signal with respect to the noise and minimizing the interference with respect to the noise. In some embodiments, the SINR may be jointly optimized with the SNR. In some embodiments, the processing logic may jointly maximize the signal with respect to noise using a signal-to-noise ratio (SNR) constraint and minimize the interference with respect to noise using a signal-to-interference-plus-noise ratio (SINR) constraint.
At block 1715, the processing logic may adjust the precoder based on a power constraint using minimum mean square error (MMSE). In some embodiments, the processing logic may project the decoder into a set of decoders associated with the set of power constrained precoders. In some embodiments, the processing logic may adjust the precoder based on a power constraint using gradient descent.
At block 1720, the processing logic may generate the precoder for precoding a downlink signal for transmission from the BS to a user equipment (UE).
In some embodiments, the processing logic may generate the precoder based on a precoding gradient and a precoding partial Hessian. In some embodiments, the processing logic may generate the decoder based on a decoding gradient and a decoding partial Hessian. In some embodiments, the processing logic may generate the precoder using minimum mean square error (MMSE) and an interference-plus-noise-to-signal ratio (INSR) constraint or an SNR constraint. In some embodiments, the processing logic may generate the precoder based on one or more of a number of downlink layers for a component carrier, a total number of UEs, a total number of transmit antenna elements, a total number of receive antenna elements, a total number of resource blocks (RBs) available for beamforming, an error parameter, or a regularization parameter.
In some embodiments, the processing logic may initialize a decoder using a channel estimate and the precoder. In some embodiments, the processing logic may generate the decoder based on a decoding gradient and a decoding partial Hessian. In some embodiments, the processing logic may project the decoder into a set of decoders associated with the set of power constrained precoders.
Modifications, additions, or omissions may be made to the method 1700 without departing from the scope of the present disclosure. For example, in some embodiments, the method 1700 may include any number of other components that may not be explicitly illustrated or described.
The method 1800 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as is run on a computer system or a dedicated machine), or a combination of both, which processing logic may be included in the processing device 708 of
The method 1800 may begin at block 1805 where the processing logic may compute the precoder based on jointly maximizing the signal with respect to the noise and minimizing the interference with respect to the noise. In some embodiments, the SINR may be jointly optimized with the SNR. In some embodiments, the processing logic may jointly maximize the signal with respect to noise using a signal-to-noise ratio (SNR) constraint and minimize the interference with respect to noise using a signal-to-interference-plus-noise ratio (SINR) constraint.
At block 1810, the processing logic may compute the precoder based on a power constraint. In some embodiments, the processing logic may compute the precoder based on a power constraint using stochastic gradient descent. In some embodiments, the processing logic may compute the precoder using iteration. In some embodiments, the processing logic may compute the precoder using iteration based on a channel condition change.
At block 1815, the processing logic may generate the precoder for precoding a downlink signal for transmission from the BS to a user equipment (UE). In some embodiments, the DL signal may be based on one or more of a number of downlink layers for a component carrier, a number of transmit antenna elements, a number of receive antenna elements, a polarization, or a number of antenna ports.
In some embodiments, the processing logic may compute, at the base station, the approximate decoder based on the UE.
The method 1900 may be performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software (such as is run on a computer system or a dedicated machine), or a combination of both, which processing logic may be included in the processing device 708 of
The method 1900 may begin at block 1905 where the processing logic may compute a precoder based on jointly maximizing a signal with respect to noise and minimizing an interference with respect to the noise. In some embodiments, the SINR may be jointly optimized with the SNR. In some embodiments, the processing logic may jointly maximize the signal with respect to noise using a signal-to-noise ratio (SNR) constraint and minimize the interference with respect to noise using a signal-to-interference-plus-noise ratio (SINR) constraint.
At block 1910, the processing logic may compute the precoder based on a power constraint using block coordinate descent. The one or more blocks used in block coordinate descent may be connected to one or more antenna ports.
At block 1915, the processing logic may generate the precoder for precoding a downlink (DL) signal for transmission from the base station to a user equipment (UE). In some embodiments, the DL signal may be based on one or more of a number of downlink layers for a component carrier, a number of transmit antenna elements, a number of receive antenna elements, a polarization, or a number of antenna ports.
In some embodiments, the processing logic may project to a boundary based on the power constraint. In some embodiments, the processing logic may compute a local optimum on the boundary.
In some embodiments, the processing logic may compute the precoder using iteration. In some embodiments, the processing logic may compute the precoder using parallelization. In some embodiments, the processing logic may compute the precoder asynchronously. In some embodiments, the processing logic may perform a joint configuration with the UE.
For simplicity of explanation, methods and/or process flows described herein are depicted and described as a series of acts. However, acts in accordance with this disclosure may occur in various orders and/or concurrently, and with other acts not presented and described herein. Further, not all illustrated acts may be used to implement the methods in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the methods may alternatively be represented as a series of interrelated states via a state diagram or events. Additionally, the methods disclosed in this specification are capable of being stored on an article of manufacture, such as a non-transitory computer-readable medium, to facilitate transporting and transferring such methods to computing devices. The term article of manufacture, as used herein, is intended to encompass a computer program accessible from any computer-readable device or storage media. Although illustrated as discrete blocks, various blocks may be divided into additional blocks, combined into fewer blocks, or eliminated, depending on the desired implementation.
The example computing device 2000 includes a processing device (e.g., a processor) 2002, a main memory 2004 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 2006 (e.g., flash memory, static random access memory (SRAM)) and a data storage device 2016, which communicate with each other via a bus 2008.
Processing device 2002 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device 2002 may include a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processing device 2002 may also include one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 2002 is configured to execute instructions 2026 for performing the operations and steps discussed herein.
The computing device 2000 may further include a network interface device 2022 which may communicate with a network 2018. The computing device 2000 also may include a display device 2010 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 2012 (e.g., a keyboard), a cursor control device 2014 (e.g., a mouse) and a signal generation device 2020 (e.g., a speaker). In at least one embodiment, the display device 2010, the alphanumeric input device 2012, and the cursor control device 2014 may be combined into a single component or device (e.g., an LCD touch screen).
The data storage device 2016 may include a computer-readable storage medium 2024 on which is stored one or more sets of instructions 2026 embodying any one or more of the methods or functions described herein. The instructions 2026 may also reside, completely or at least partially, within the main memory 2004 and/or within the processing device 2002 during execution thereof by the computing device 2000, the main memory 2004 and the processing device 2002 also constituting computer-readable media. The instructions may further be transmitted or received over a network 2018 via the network interface device 2022.
While the computer-readable storage medium 2024 is shown in an example embodiment to be a single medium, the term “computer-readable storage medium” may include a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” may also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methods of the present disclosure. The term “computer-readable storage medium” may accordingly be taken to include, but not be limited to, solid-state memories, optical media and magnetic media.
The following provide examples of the performance characteristics according to embodiments of the present disclosure.
As illustrated in
As illustrated in
As illustrated in
As illustrated in
For 4 groups, each UE had 4 antennas and received about 25 MHz of spectrum within the 100 MHz band. The power distribution has been equalized compared to the RZF 4-Grup case in Example 1 because more power was transmitted from each antenna and the PAs operated more efficiently. The power distribution shows that each of the transmitting antennas were operating at greater than 80% capacity (e.g., antennas numbered 1 to 64). Furthermore, quite a few of the transmitting antennas were operating at greater than about 90% capacity (e.g., antennas numbered about 40 to 64). Consequently, the power distribution across the transmitting antennas was enhanced compared to the 4-group RZF case and the 8-group RZF case. Nonetheless, the throughput was about 25% less than RZF, although the throughput was similar to ZF.
As illustrated in
For 4 groups, each UE had 4 antennas and received about 25 MHz of spectrum within the 100 MHz band. The power distribution was very close to uniform compared to the 4-group RZF case, the 8-group RZF case, and the 4-group MRT case. The power distribution shows that each of the transmitting antennas were operating at about 100% capacity (e.g., antennas numbered 1 to 64). Furthermore, the throughput was about 14% higher than RZF.
As illustrated in
As shown, ZF had the worst throughput relative to the other cases at about 2500 Mbps. MRT also had relatively low throughput at about 2600 Mbps that was comparable to the ZF case. RZF had a throughput that was higher relative to ZF and MRT depending on the regularization factor. The MMSE case had the highest throughput at about 4100 Mbps. Therefore, the MMSE case had an enhanced throughput compared to the ZF, RZF, and MRT cases.
The SINR for 8 groups of 3-4 users was measured for an average case and a worst case. The SINR was defined as:
For each UE, the SINR was computed for its worst layer (because of QAM constraints) and for its average (inverse) worst case layer SINR per group. That is, the average (inverse) worst-layer SINR per group was computed as:
The worst-case (inverse) worst-layer SINR per group was computed as:
As shown in Table I, worst-case MMSE with ZF (computed using AIWSINR/WIWSINR) performed worse compared to the ZF as computed using the average (inverse) worst-layer (i.e., AIWSINR) but performed better compared to the ZF as computed using the worst-case (inverse) worst-layer (i.e., WIWSINR). For example, for one group, the AIWSINR/WIWSINR for the worst-case MMSE with ZF was −27.8781 dB which was worse than the corresponding value for ZF as computed using AIWSINR (i.e., −30.7475 dB). For the same group, the AIWSINR/WIWSINR for the worst-case (inverse) MMSE with ZF was −27.8781 dB which was better than the corresponding value for ZF as computed using WIWSINR (i.e., −23.4957 dB). It may be noted that the AIWSNINR and WIWSINR for the worst-case (inverse) MMSE with ZF provide the same results.
In contrast, the AIWSINR for the average MMSE with ZF was better than ZF (as measured using AIWSINR). For example, the AIWSINR for the average MMSE with ZF was measured to be −32.0941 dB for one group and for the corresponding ZF group, the AIWSINR was measured to be −30.7475. Generally, the results across groups for MMSE with ZF were up to 2 dB better than the results across groups for ZF with respect to AIWSINR.
Furthermore, the WIWSINR for the average MMSE with ZF was better than ZF (as measured using WIWSINR). For example, the WIWSINR for the average MMSE with ZF was measured to be −23.8877 dB for one group and for the corresponding ZF group, the WIWSINR was measured to be −23.4957. Generally, the results across groups for MMSE with ZF were slightly better than the results across groups for ZF with respect to WIWSINR.
As shown in Table II, without channel estimation errors, the AIWSINR for the worst-case MMSE with ZF was better compared to the AIWSINR for the ZF as was established in the previous Table I. In contrast, when 10% channel estimation errors were inserted, the AIWSINR for the worst-case MMSE with ZF was worse than the AIWSINR for the ZF. For example, the AIWSINR for the worst case MMSE with ZF was −17.9563 for one group, and, for the corresponding group in the ZF, the AIWSINR was −25.5473. Thus, the worst-case scenario with ZF was not robust compared to ZF when channel estimation errors were inserted into the testing.
As shown in Table II, when 10% channel estimation errors were inserted, the AIWSINR for the robust average MMSE with ZF was slightly worse than the AIWSINR for the ZF but better than the AIWSINR for the worst-case MMSE with ZF. For example, the AIWSINR for the robust average MMSE with ZF was −26.0898 for one group, and, for the corresponding group in the ZF, the AIWSINR was slightly better at −26.1046. However, when compared to the worst-case MMSE with ZF, the AIWSINR for the robust average MMSE with ZF (−26.0898) was better than the AIWSINR for the worst-case MMSE with ZF (18.4151).
In these tests, the performance characteristics of MU-MIMO network were compared between MMSE with ZF and regularized ZF, ZF, and SU-MIMO. A 100 MHz band was assumed to be distributed roughly equally among a certain number of groups (4 and 5 in our examples). The number of groups was decided by the scheduler (along with the assignment of users to the groups) to maximize performance.
For Case 1 the comparison was performed based on the following properties of the MU-MIMO network.
As shown in
For Case 2, the comparison was performed based on the following properties of the MU-MIMO network.
As shown in
In some embodiments, the different components, modules, engines, and services described herein may be implemented as objects or processes that execute on a computing system (e.g., as separate threads). While some of the systems and methods described herein are generally described as being implemented in software (stored on and/or executed by hardware), specific hardware implementations or a combination of software and specific hardware implementations are also possible and contemplated.
Terms used herein and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including, but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes, but is not limited to,” etc.).
Additionally, if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to embodiments containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations.
In addition, even if a specific number of an introduced claim recitation is explicitly recited, it is understood that such recitation should be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” or “one or more of A, B, and C, etc.” is used, in general such a construction is intended to include A alone, B alone, C alone, A and B together, A and C together, B and C together, or A, B, and C together, etc. For example, the use of the term “and/or” is intended to be construed in this manner.
Further, any disjunctive word or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B” should be understood to include the possibilities of “A” or “B” or “A and B.”
Additionally, the use of the terms “first,” “second,” “third,” etc., are not necessarily used herein to connote a specific order or number of elements. Generally, the terms “first,” “second,” “third,” etc., are used to distinguish between different elements as generic identifiers. Absence a showing that the terms “first,” “second,” “third,” etc., connote a specific order, these terms should not be understood to connote a specific order. Furthermore, absence a showing that the terms “first,” “second,” “third,” etc., connote a specific number of elements, these terms should not be understood to connote a specific number of elements. For example, a first widget may be described as having a first side and a second widget may be described as having a second side. The use of the term “second side” with respect to the second widget may be to distinguish such side of the second widget from the “first side” of the first widget and not to connote that the second widget has two sides.
All examples and conditional language recited herein are intended for pedagogical objects to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions. Although embodiments of the present disclosure have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the present disclosure.
This application claims the benefit of U.S. Provisional Application No. 63/487,256, filed Feb. 27, 2023, the disclosure of which is incorporated herein by reference in its entirety. The embodiments discussed in the present disclosure are related to beamforming estimation.
Number | Date | Country | |
---|---|---|---|
63487256 | Feb 2023 | US |