Precoding is a generalization of beamforming to support multi-stream (or multi-layer) transmission in multi-antenna wireless communications. In conventional single-stream beamforming, the same signal is emitted from each of the transmit antennas with appropriate weighting (phase and gain) such that the signal power is maximized at the receiver output. When the receiver has multiple antennas, single-stream beamforming cannot simultaneously maximize the signal level at all of the receive antennas.[1] In order to maximize the throughput in multiple receive antenna systems, multi-stream transmission is generally required.
In point-to-point systems, precoding means that multiple data streams are emitted from the transmit antennas with independent and appropriate weightings such that the link throughput is maximized at the receiver output. In multi-user MIMO, the data streams are intended for different users (known as SDMA) and some measure of the total throughput (e.g., the sum performance or max-min fairness) is maximized. In point-to-point systems, some of the benefits of precoding can be realized without requiring channel state information at the transmitter, while such information is essential to handle the inter-user interference in multi-user systems.[2] Precoding in the downlink of cellular networks, known as network MIMO or coordinated multipoint (CoMP), is a generalized form of multi-user MIMO that can be analyzed by the same mathematical techniques.[3]
Precoding is a technique that exploits transmit diversity by weighting the information stream, i.e. the transmitter sends the coded information to the receiver to achieve pre-knowledge of the channel. The receiver is a simple detector, such as a matched filter, and does not have to know the channel state information. This technique will reduce the corrupted effect of the communication channel.
For example, you are sending the information
s
h
n
r=sh+n
The receiver will have to know the information about
h
n
n
h
h
Let us call the predicted channel
hest
{s\overhest
r=\left(
h | |
hest |
\right)s+n
If your prediction is perfect,
hest=h
r=s+n
To prevent a potential misunderstanding here, precoding does not cancel out the impact of the channel, but it aligns the vector containing the transmit symbols (i.e. transmit vector) with the eigenvector(s) of the channel. In simple terms, it transforms the transmit symbols' vector in such a way that the vector reaches the receiver in the strongest form that is possible in the given channel.
Why do they call it "coding"? It is a preprocessing technique that performs transmit diversity and it is similar to equalization, but the main difference is that you have to optimize the precoder with a decoder. Channel equalization aims to minimize channel errors, but the precoder aims to minimize the error in the receiver output.[4]
In point-to-point multiple-input multiple-output (MIMO) systems, a transmitter equipped with multiple antennas communicates with a receiver that has multiple antennas. Most classic precoding results assume narrowband, slowly fading channels, meaning that the channel for a certain period of time can be described by a single channel matrix which does not change faster. In practice, such channels can be achieved, for example, through OFDM. The precoding strategy that maximizes the throughput, called channel capacity, depends on the channel state information available in the system.
If the receiver knows the channel matrix and the transmitter has statistical information, eigenbeamforming is known to achieve the MIMO channel capacity.[5] In this approach, the transmitter emits multiple streams in eigendirections of the channel covariance matrix.
If the channel matrix is completely known, singular value decomposition (SVD) precoding is known to achieve the MIMO channel capacity.[6] In this approach, the channel matrix is diagonalized by taking an SVD and removing the two unitary matrices through pre- and post-multiplication at the transmitter and receiver, respectively. Then, one data stream per singular value can be transmitted (with appropriate power loading) without creating any interference whatsoever.
In multi-user MIMO, a multi-antenna transmitter communicates simultaneously with multiple user's receiver (each having one or multiple antennas). This is known as space-division multiple access (SDMA). From an implementation perspective, precoding algorithms for SDMA systems can be sub-divided into linear and nonlinear precoding types. The capacity achieving algorithms are nonlinear,[7] but linear precoding approaches usually achieve reasonable performance with much lower complexity. Linear precoding strategies include maximum ratio transmission (MRT),[8] zero-forcing (ZF) precoding,[9] and transmit Wiener precoding.[9] There are also precoding strategies tailored for low-rate feedback of channel state information, for example random beamforming.[10] Nonlinear precoding is designed based on the concept of dirty paper coding (DPC), which shows that any known interference at the transmitter can be subtracted without the penalty of radio resources if the optimal precoding scheme can be applied on the transmit signal.[7]
While performance maximization has a clear interpretation in point-to-point MIMO, a multi-user system cannot simultaneously maximize the performance for all users. This can be viewed as a multi-objective optimization problem where each objective corresponds to maximization of the capacity of one of the users.[3] The usual way to simplify this problem is to select a system utility function; for example, the weighted sum capacity where the weights correspond to the system's subjective user priorities. Furthermore, there might be more users than data streams, requiring a scheduling algorithm to decide which users to serve at a given time instant.
This suboptimal approach cannot achieve the weighted sum rate, but it can still maximize the weighted sum performance (or some other metric of achievable rates under linear precoding). The optimal linear precoding does not have any closed-form expression, but it takes the form of a weighted MMSE precoding for single-antenna receivers.[3] The precoding weights for a given user are selected to maximize a ratio between the signal gain at this user and the interference generated at other users (with some weights) plus noise. Thus, precoding can be interpreted as finding the optimal balance between achieving strong signal gain and limiting inter-user interference.[11]
Finding the optimal weighted MMSE precoding is difficult, leading to approximate approaches where the weights are selected heuristically. A common approach is to concentrate on either the numerator or the denominator of the mentioned ratio; that is, maximum ratio transmission (MRT)[8] and zero-forcing (ZF)[12] precoding. MRT only maximizes the signal gain at the intended user. MRT is close-to-optimal in noise-limited systems, where the inter-user interference is negligible compared to the noise. ZF precoding aims at nulling the inter-user interference, at the expense of losing some signal gain. ZF precoding can achieve a performance close to the sum capacity when the number of users is large or the system is interference-limited (i.e., the noise is weak compared to the interference). A balance between MRT and ZF is obtained by the so-called regularized zero-forcing[13] (also known as signal-to-leakage-and-interference ratio (SLNR) beamforming[14] and transmit Wiener filtering[9]) All of these heuristic approaches can also be applied to receivers that have multiple antennas.[9] [13] [14]
Also for multiuser MIMO system setup, another approach has been used to reformulate the weighted sum rate optimization problem to a weighted sum MSE problem with additional optimization MSE weights for each symbol in.[15] However, still this work is not able to solve this problem optimally (i.e., its solution is suboptimal). On the other hand, duality approach also considered in [16] and [17] to get sub-optimal solution for weighted sum rate optimization.
Note that the optimal linear precoding can be computed using monotonic optimization algorithms,[18] [19] but the computational complexity scales exponentially fast with the number of users. These algorithms are therefore only useful for benchmarking in small systems.
In practice, the channel state information is limited at the transmitter due to estimation errors and quantization. Inaccurate channel knowledge may result in significant loss of system throughput, as the interference between the multiplexed streams cannot be completely controlled. In closed-loop systems, the feedback capabilities decide which precoding strategies are feasible. Each receiver can either feedback a quantized version of its complete channel knowledge or focus on certain critical performance indicators (e.g., the channel gain).
If the complete channel knowledge is fed back with good accuracy, then one can use strategies designed for having full channel knowledge with minor performance degradation. Zero-forcing precoding may even achieve the full multiplexing gain, but only provided that the accuracy of the channel feedback increases linearly with signal-to-noise ratio (in dB).[12] Quantization and feedback of channel state information is based on vector quantization, and codebooks based on Grassmannian line packing have shown good performance.[20]
Other precoding strategies have been developed for the case with very low channel feedback rates. Random beamforming[10] (or opportunistic beamforming[21]) was proposed as a simple way of achieving good performance that scales like the sum capacity when the number of receivers is large. In this suboptimal strategy, a set of beamforming directions are selected randomly and users feed back a few bits to tell the transmitter which beam gives the best performance and what rate they can support using it. When the number of users is large, it is likely that each random beamforming weight will provide good performance for some user.
In spatially correlated environments, the long-term channel statistics can be combined with low-rate feedback to perform multi-user precoding.[22] As spatially correlated statistics contain much directional information, it is only necessary for users to feed back their current channel gain to achieve reasonable channel knowledge. As the beamforming weights are selected from the statistics, and not randomly, this approach outperforms random beamforming under strong spatial correlation.[23]
In multiuser MIMO systems where the number of users are higher than the number of transmit antennas, a multiuser diversity can be achieved by performing user scheduling before applying zero-forcing beamforming. Multiuser diversity is a form of selection diversity among users, the base station can schedule its transmission to those users with favorable channel fading conditions to improve the system throughput. In order to achieve multiuser diversity and apply zero-forcing precoding, the CSI of all users are required at the base station. However, the amount of overall feedback information increases with the number of users. Therefore, it is important to perform a user selection at the receiver to determine the users which feed back their quantized CSI to the transmitter based on a pre-defined threshold. [24]
Dirty paper coding is a coding technique that pre-cancels known interference without power penalty. Only the transmitter needs to know this interference, but full channel state information is required everywhere to achieve the weighted sum capacity.[7] This category includes Costa precoding,[25] Tomlinson-Harashima precoding[26] [27] and the vector perturbation technique.[28]
See main article: MIMO.
The standard narrowband, slowly fading channel model for point-to-point (single-user) MIMO communication is described in the page on MIMO communication.
Consider a downlink multi-user MIMO system where a base station with
N
K
k
N x 1
hk
i
i
yk=
H | |
h | |
k |
x+nk, k=1,2,\ldots,K
x
N x 1
yk
nk
Under linear precoding, the transmitted vector signal is
x=
K | |
\sum | |
i=1 |
wisi,
si
wi
N x 1
k
rm{SINR}k=
| |||||||||||||||
|
2 | |
\sigma | |
k |
k
log2(1+rm{SINR}k)
K | |
\sum | |
i=1 |
2 | |
\|w | |
i\| |
\leqP
P
A common performance metric in multi-user systems is the weighted sum rate
\underset{\{wk\}:\sumi
2 | |
\|w | |
i\| |
\leqP}{maximize
ak
wrm{W-MMSE
q1,\ldots,qK
K | |
\sum | |
i=1 |
qi=P
pi
The suboptimal MRT approach removes the channel inversion and only selects
MRT | |
w | |
k |
=\sqrt{pk}
hk | |
\|hk\| |
,
Hw | |
h | |
i |
ZF | |
k=0 |
ZF | |
rm{SINR} | |
k |
=
| ||||||||||
|
.
For comparison purposes, it is instructive to compare the downlink results with the corresponding uplink MIMO channel where the same single-antenna users transmit to the same base station, having
N
y=
K | |
\sum | |
k=1 |
hk\sqrt{qk}sk+n
sk
k
qk
y
n
N x 1
hk
N x 1
N
k
uplink | |
rm{SINR} | |
k |
=
| |||||||||||||||
|
vk
vrm{MMSE
Observe that the coefficients
q1,\ldots,qK
The precoding strategies described above was based on having perfect channel state information at the transmitter. However, in real systems, receivers can only feed back quantized information that is described by a limited number of bits. If the same precoding strategies are applied, but now based on inaccurate channel information, additional interference appears. This is an example on limited feedback precoding.
The received signal in multi-user MIMO with limited feedback precoding is mathematically described as
yk=
H | |
h | |
k |
K | |
\sum | |
i=1 |
\hat{w
\hat{w
wi
ei
yk=
H | |
h | |
k |
K | |
\sum | |
i=1 |
wisi+
H | |
h | |
k |
K | |
\sum | |
i=1 |
eisi+nk, k=1,2,\ldots,K
where
H | |
h | |
k |
\sumieisi
k