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. 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. 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.
Precoding in Simple Words
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 and it will pass through the channel, , and add Gaussian noise, . The received signal at the receiver front-end will be ;
The receiver will have to know the information about and . It will suppress the effect of by increasing SNR, but what about ? It needs information about the channel, , and this will increase the complexity. The receiver (mobile units) has to be simple for many reasons like cost or size of mobile unit. So, the transmitter (the base station) will do the hard work and predict the channel.
Let us call the predicted channel and for a system with precoder the information will be coded: . The received signal will be .
If your prediction is perfect, and and it turns out to be the detection problem in Gaussian channels which is simple.
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.
Precoding for Point-to-Point MIMO Systems
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.
Statistical channel state information
If the receiver knows the channel matrix and the transmitter has statistical information, eigenbeamforming is known to achieve the MIMO channel capacity. In this approach, the transmitter emits multiple streams in eigendirections of the channel covariance matrix.
Full channel state information
If the channel matrix is completely known, singular value decomposition (SVD) precoding is known to achieve the MIMO channel capacity. 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.
Precoding for Multi-user MIMO Systems
In multi-user MIMO, a multi-antenna transmitter communicates simultaneously with multiple receivers (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, but linear precoding approaches usually achieve reasonable performance with much lower complexity. Linear precoding strategies include maximum ratio transmission (MRT), zero-forcing (ZF) precoding, and transmit Wiener precoding. There are also precoding strategies tailored for low-rate feedback of channel state information, for example random beamforming. 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.
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. 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.
Linear precoding with full channel state information
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. 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.
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) and zero-forcing (ZF) 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 (also known as signal-to-leakage-and-interference ratio (SLNR) beamforming and transmit Wiener filtering) All of these heuristic approaches can also be applied to receivers that have multiple antennas.
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. 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  and  to get sub-optimal solution for weighted sum rate optimization.
Note that the optimal linear precoding can be computed using monotonic optimization algorithms, but the computational complexity scales exponentially fast with the number of users. These algorithms are therefore only useful for benchmarking in small systems.
Linear precoding with limited channel state information
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 that 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). Quantization and feedback of channel state information is based on vector quantization, and codebooks based on Grassmannian line packing have shown good performance.
Other precoding strategies have been developed for the case with very low channel feedback rates. Random beamforming (or opportunistic beamforming) 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. 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.
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. 
DPC or DPC-like nonlinear precoding
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. This category includes Costa precoding, Tomlinson-Harashima precoding and the vector perturbation technique.
Description of Point-to-Point MIMO
The standard narrowband, slowly fading channel model for point-to-point (single-user) MIMO communication is described in the page on MIMO communication.
Description of Multi-user MIMO
Consider a downlink multi-user MIMO system where a base station with transmit antennas and single-antenna users. The channel to user is described by the vector of channel coefficients and its th element describes the channel response between the th transmit antenna and the receive antenna. The input-output relationship can be described as
where is the transmitted vector signal, is the received signal, and is the zero-mean unit-variance noise.
Under linear precoding, the transmitted vector signal is
where is the (normalized) data symbol and is the linear precoding vector. The signal-to-interference-and-noise ratio (SINR) at user becomes
where is the noise variance for channel to user and the corresponding achievable information rate is bits per channel use. The transmission is limited by power constraints. This can, for example, be a total power constraint where is the power limit.
A common performance metric in multi-user systems is the weighted sum rate
for some positive weights that represent the user priority. The weighted sum rate is maximized by weighted MMSE precoding that selects
for some positive coefficients (related to the user weights) that satisfy and is the optimal power allocation.
The suboptimal MRT approach removes the channel inversion and only selects
while the suboptimal ZF precoding makes sure that for all i ≠ k and thus the interference can be removed in the SINR expression:
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 receive antennas. The input-output relationship can be described as
where is the transmitted symbol for user , is the transmit power for this symbol, and are the vector of received signals and noise respectively, is the vector of channel coefficients. If the base station uses linear receive filters to combine the received signals on the antennas, the SINR for the data stream from user becomes
where is the unit-norm receive filter for this user. Compared with the downlink case, the only difference in the SINR expressions is that the indices are switched in the interference term. Remarkably, the optimal receive filters are the same as the weighted MMSE precoding vectors, up to a scaling factor:
Observe that the coefficients that was used in the weighted MMSE precoding are not exactly the optimal power coefficients in the uplink (that maximize the weighted sum rate) except under certain conditions. This important relationship between downlink precoding and uplink receive filtering is known as the uplink-downlink duality. As the downlink precoding problem usually is more difficult to solve, it often useful to first solve the corresponding uplink problem.
Limited feedback precoding
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
In this case, the beamforming vectors are distorted as , where is the optimal vector and is the error vector caused by inaccurate channel state information. The received signal can be rewritten as
where is the additional interference at user according to the limited feedback precoding. To reduce this interference, higher accuracy in the channel information feedback is required, which in turn reduces the throughput in the uplink.
- Channel state information
- Cooperative diversity
- Space–time code
- Space–time trellis code
- Spatial multiplexing
- Zero-forcing precoding
- ^ G.J. Foschini and M.J. Gans, On limits of wireless communications in a fading environment when using multiple antennas, Wireless Personal Communications, vol. 6, no. 3, pp. 311–335, 1998.
- ^ D. Gesbert, M. Kountouris, R.W. Heath Jr., C.-B. Chae, and T. Sälzer, Shifting the MIMO Paradigm, IEEE Signal Processing Magazine, vol. 24, no. 5, pp. 36-46, 2007.
- ^ a b c E. Björnson and E. Jorswieck, Optimal Resource Allocation in Coordinated Multi-Cell Systems, Foundations and Trends in Communications and Information Theory, vol. 9, no. 2-3, pp. 113-381, 2013.
- ^ "What exactly is precoding and what does it do?".
- ^ D. Love, R. Heath, V. Lau, D. Gesbert, B. Rao and M. Andrews, An overview of limited feedback in wireless communication systems, IEEE Journal on Selected Areas Communications, vol. 26, no. 8, pp. 1341–1365, 2008.
- ^ E. Telatar, Capacity of multiantenna Gaussian channels Archived 2011-07-07 at the Wayback Machine, European Transactions on Telecommunications, vol. 10, no. 6, pp. 585-595, 1999.
- ^ a b c H. Weingarten, Y. Steinberg, and S. Shamai, The capacity region of the Gaussian multiple-input multiple-output broadcast channel Archived 2012-10-23 at the Wayback Machine, IEEE Transactions on Information Theory, vol. 52, no. 9, pp. 3936–3964, 2006.
- ^ a b T. Lo, Maximum ratio transmission, IEEE Transactions on Communications, vol. 47, no. 10, pp. 1458–1461, 1999.
- ^ a b c d M. Joham, W. Utschick, and J. Nossek, Linear transmit processing in MIMO communications systems, IEEE Transactions on Signal Processing, vol. 53, no. 8, pp. 2700–2712, 2005.
- ^ a b M. Sharif and B. Hassibi, On the Capacity of MIMO Broadcast Channels With Partial Side Information, IEEE Transactions on Information Theory, vol. 51, no. 2, pp. 506-522, 2005.
- ^ a b E. Björnson, R. Zakhour, D. Gesbert, B. Ottersten, Cooperative Multicell Precoding: Rate Region Characterization and Distributed Strategies with Instantaneous and Statistical CSI, IEEE Transactions on Signal Processing, vol. 58, no. 8, pp. 4298-4310, 2010.
- ^ a b N. Jindal, MIMO Broadcast Channels with Finite Rate Feedback, IEEE Transactions on Information Theory, vol. 52, no. 11, pp. 5045–5059, 2006.
- ^ a b B. C. B. Peel, B. M. Hochwald, and A. L. Swindlehurst, A vector-perturbation technique for near-capacity multiantenna multi-user communication - Part I: channel inversion and regularization, IEEE Transactions on Communications, vol. 53, no. 1, pp. 195–202, 2005.
- ^ a b M. Sadek, A. Tarighat, and A. Sayed, A leakage-based precoding scheme for downlink multi-user MIMO channels, IEEE Transactions on Wireless Communications, vol. 6, no. 5, pp. 1711–1721, 2007.
- ^ T. E. Bogale and L. Vandendorpe, Weighted sum rate optimization for downlink multiuser MIMO coordinated base station systems: Centralized and distributed algorithms IEEE Trans. Signal Process., vol. 60, no. 4, pp. 1876 – 1889, Dec. 2011.
- ^ T. E. Bogale and L. Vandendorpe, Weighted sum rate optimization for downlink multiuser MIMO systems with per antenna power constraint:Downlink-uplink duality approach IEEE International Conference On Acoustics, Speech and Signal Processing (ICASSP), Kyoto, Japan, 25 – 30 Mar. 2012, pp. 3245 – 3248.
- ^ T. E. Bogale and L. Vandendorpe, Linear transceiver design for downlink multiuser MIMO systems: Downlink-interference duality approach, IEEE Trans. Sig. Process., vol. 61, no. 19, pp. 4686 – 4700, Oct. 2013.
- ^ W. Utschick and J. Brehmer, Monotonic optimization framework for coordinated beamforming in multicell networks, IEEE Transactions on Signal Processing, vol. 60, no. 4, pp. 1899–1909, 2012.
- ^ E. Björnson, G. Zheng, M. Bengtsson, and B. Ottersten, Robust monotonic optimization framework for multicell MISO systems, IEEE Transactions on Signal Processing, vol. 60, no. 5, pp. 2508–2523, 2012.
- ^ D.J. Love, R.W. Heath, and T. Strohmer, Grassmannian Beamforming for Multiple-Input Multiple-Output Wireless Systems, IEEE Transactions on Information Theory, vol. 49, no. 10, pp. 2735–2747, 2003.
- ^ P. Viswanath, D. N. C. Tse, Member, and R. Laroia, Opportunistic Beamforming Using Dumb Antennas, IEEE Transactions on Information Theory, vol. 48, no. 6, pp. 1277–1294, 2002.
- ^ D. Hammarwall, M. Bengtsson, and B. Ottersten, Utilizing the spatial information provided by channel norm feedback in SDMA systems, IEEE Transactions on Signal Processing, vol. 56, no. 7, pp. 3278–3293, 2008
- ^ E. Björnson, D. Hammarwall, B. Ottersten, Exploiting Quantized Channel Norm Feedback through Conditional Statistics in Arbitrarily Correlated MIMO Systems, IEEE Transactions on Signal Processing, vol. 57, no. 10, pp. 4027-4041, 2009
- ^ B. Özbek, D. Le Ruyet, Feedback strategies for wireless communication, Springer-Verlag New York, U.S.A, December 2014.
- ^ M. Costa, Writing on dirty paper, IEEE Transactions on Information Theory, vol. 29, no. 3, pp. 439–441, 1983
- ^ M. Tomlinson, New automatic equalizer employing modulo arithmetic, Electronics Letters, vol. 7, no. 5, pp. 138–139, 1971
- ^ H. Harashima and H. Miyakawa, Matched-transmission technique for channels with intersymbol interference, IEEE Transactions on Communications, vol. 20, no. 4, pp. 774–780, 1972
- ^ B. M. Hochwald, C. B. Peel, and A. L. Swindlehurst, A vector-perturbation technique for near-capacity multiantenna multi-user communication - Part II: Perturbation, IEEE Transactions on Communications, vol. 53, no. 1, pp. 537–544, 2005
- ^ M. Schubert and H. Boche, Solution of the multiuser downlink beamforming problem with individual SINR constraints, IEEE Transactions on Vehicular Technology, vol. 53, no. 1, pp. 18-28, 2004.
- ^ A. Wiesel, Y.C. Eldar, S. Shamai, Linear precoding via conic optimization for fixed MIMO receivers, IEEE Transactions on Signal Processing, vol. 54, no. 1, pp. 161-176, 2006.