Precoding, also known as digital beamforming, consists in using an antenna array to transmit one or multiple spatially directive signals simultaneously. Every antenna of the transmit array emits a different signal, designed in the digital domain according to some optimization criteria. Thus, precoding is particularly desirable for spatial multiplexing, where we want to transmit a superposition of signals, each with a separate directivity (i.e., each directed to a different receiver, located in different geographical positions). The transmit signal is matched to the multipath propagation (i.e., the channel) so that the multipath components that reach the intended user-equipments (UEs) add constructively, while they add destructively for the non-intended UEs. Precoding thus exploits transmit diversity by properly weighting the information stream. This is done essentially by choosing the directivity (beamforming), i.e., aligning the transmit beam towards the intended UE, and choosing the transmit power (power allocation). In particular, it is also possible to allocate power and phases separately per frequency band, such as subcarriers. In essence, precoding is a particular strategy chosen at the transmitter to convey information to one or multiple receivers.
If is the vector containing the transmit signals for the K UEs, then is the precoded transmit vector, where M is the number of transmit an.tennas and is the precoding matrix.
The matrix can be designed according to various optimization criteria. For example, one main difference is represented by statistical and coherent precoding. In statistical precoding, the transmitter utilizes only statistical knowledge of the channel, typically represented by the channel covariance matrix. The emitted signals are aligned along the strongest eigendirections of the channel covariance matrix, which can be obtained with little system overhead and cost, given its rather long-term validity. The channel covariance though does not carry any information regarding the phase of the channels and thus with statistical precoding the transmit streams do not add-up constructively. Whereas, to perform coherent precoding, the transmitter requires an estimate of the instantaneous channel realization, in order to properly design the transmit signal in the digital domain such that they coherently combine in the wireless medium. Acquiring such information is costly and, in practical systems, the channel estimates are corrupted by noise (e.g., thermal noise, pilot contamination, hardware impairments, etc.), which impacts negatively the performance of the system.
Another main difference is represented by schemes that attempt to maximize the receive power at the UEs as opposed to interference-rejection schemes. Probably the best example of the former category is maximum ratio transmission (MRT). In this case, the matrix tries to match each single-UE channel separately. The columns of take the form of the normalized conjugate transpose of the channels from the transmitter to each UE. The goal is to maximize the received power at each UE, without taking into consideration the multiuser interference. The useful term, i.e., the channel of the intended UE, is enhanced by the coherent combination of the “matched filter” operation, whereas the interfering terms, i.e., the channels of the non-intended UEs, are incoherently added. Zero-forcing (ZF) focuses instead on nullifying multiuser interference. The precoding matrix in this case inverts the effect of the channel, by compensating every multipath’s attenuation and phase shift. The objective is to deliver to each UE an interference-free signal, by designing transmit beams focused in the direction of the UEs and with minimal side lobes. The precoding matrix is thus proportional to the (pseudo) inverse of the channel matrix. It can be shown that ZF achieves higher per-UE throughput with respect to MRT in interference-limited scenarios. Whereas, MRT is more robust against impairments in the channel estimates, since the interference suppression capabilities of ZF are greatly affected by an imperfect channel inversion.
Optimal choices of the precoding matrix are known in literature for many scenarios, although they are generally difficult to transform into closed-form expressions. This happens because often the optimal precoder is the solution of difficult non-convex optimization problems, especially in multiuser settings. For this reason, the precoding matrices may be chosen as simpler suboptimal solutions of more complex problems, or even according to heuristics.