Precoding: Difference between revisions

Content deleted Content added
mNo edit summary
Badly/inappropriately written section with accuracy issues, taken almost verbatim from a discussion on a web forum.
Tag: section blanking
 
(11 intermediate revisions by 9 users not shown)
Line 4:
 
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 [[space-division multiple access|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.<ref name=gesbert>D. Gesbert, M. Kountouris, R.W. Heath Jr., C.-B. Chae, and T. Sälzer, [https://dx.doi.org/10.1109/MSP.2007.904815 Shifting the MIMO Paradigm], IEEE Signal Processing Magazine, vol. 24, no. 5, pp. 36-46, 2007.</ref> 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.<ref name=fnt2013>E. Björnson and E. Jorswieck, [http://kth.diva-portal.org/smash/get/diva2:608533/FULLTEXT01 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.</ref>
 
==Precoding in Simple Words ==
Precoding is a technique which 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 <math>s</math>
and it will pass through the channel, <math>h</math>,
and add Gaussian noise, <math>n</math>.
The received signal at the receiver front-end will be <math>r = sh + n</math>;
 
The receiver will have to know the information about <math>h</math> and <math>n</math>. It will suppress the effect of <math>n</math> by increasing SNR, but what about <math>h</math>? It needs information about the channel, <math>h</math>, 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 <math>h_{\text{est}}</math>
and for a system with precoder the information will be coded: <math>{s \over h_{\text{est}}}</math>. The received signal will be <math>r = \left(\frac{h}{h_{\text{est}}}\right) s + n</math>.
 
If your prediction is perfect, <math>h_{\text{est}} = h</math> and <math>r = s + n</math> 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.<ref>http://www.edaboard.com/thread130479.html</ref>
 
==Precoding for Point-to-Point MIMO Systems ==
Line 35 ⟶ 16:
==Precoding for Multi-user MIMO Systems==
 
In [[multi-user MIMO]], a multi-antenna transmitter communicates simultaneously with multiple receiversuser'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,<ref name=weingarten>H. Weingarten, Y. Steinberg, and S. Shamai, [http://www.stanford.edu/class/ee360/suppRead/read1/WeingartenSteinbergShamai2006.pdf The capacity region of the Gaussian multiple-input multiple-output broadcast channel] {{webarchive|url=https://web.archive.org/web/20121023102937/http://www.stanford.edu/class/ee360/suppRead/read1/WeingartenSteinbergShamai2006.pdf |date=2012-10-23 }}, IEEE Transactions on Information Theory, vol. 52, no. 9, pp. 3936–3964, 2006.</ref> but linear precoding approaches usually achieve reasonable performance with much lower complexity. Linear precoding strategies include maximum ratio transmission (MRT),<ref name=lo>T. Lo, [https://dx.doi.org/10.1109/26.795811 Maximum ratio transmission], IEEE Transactions on Communications, vol. 47, no. 10, pp. 1458–1461, 1999.</ref> [[Zero-forcing precoding|zero-forcing]] (ZF) precoding,<ref name=joham>M. Joham, W. Utschick, and J. Nossek, [https://dx.doi.org/10.1109/TSP.2005.850331 Linear transmit processing in MIMO communications systems], IEEE Transactions on Signal Processing, vol. 53, no. 8, pp. 2700–2712, 2005.</ref> and transmit Wiener precoding.<ref name=joham/> There are also precoding strategies tailored for low-rate [[feedback]] of [[channel state information]], for example random beamforming.<ref name=sharif>M. Sharif and B. Hassibi, [http://iss.bu.edu/sharif/mimobc-final.pdf On the Capacity of MIMO Broadcast Channels With Partial Side Information], IEEE Transactions on Information Theory, vol. 51, no. 2, pp. 506-522, 2005.</ref> 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.<ref name=weingarten/>
 
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.<ref name=fnt2013/> 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.
Line 48 ⟶ 29:
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.<ref>T. E. Bogale and L. Vandendorpe, [https://dx.doi.org/10.1109/TSP.2011.2179538 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.</ref> 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 <ref>T. E. Bogale and L. Vandendorpe, [https://dx.doi.org/10.1109/ICASSP.2012.6288607 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.</ref> and <ref>T. E. Bogale and L. Vandendorpe, [https://dx.doi.org/10.1109/TSP.2013.2272554 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.</ref> to get sub-optimal solution for weighted sum rate optimization.
 
Note that the optimal linear precoding can be computed using monotonic optimization algorithms,<ref>W. Utschick and J. Brehmer, [https://dx.doi.org/10.1109/TSP.2011.2182343 Monotonic optimization framework for coordinated beamforming in multicell networks], IEEE Transactions on Signal Processing, vol. 60, no. 4, pp. 1899–1909, 2012.</ref><ref>E. Björnson, G. Zheng, M. Bengtsson, and B. Ottersten, [https://arxiv.org/pdfabs/1104.5240v45240 Robust monotonic optimization framework for multicell MISO systems], IEEE Transactions on Signal Processing, vol. 60, no. 5, pp. 2508–2523, 2012.</ref> 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).<ref name=jindal/> Quantization and feedback of channel state information is based on [[vector quantization]], and codebooks based on Grassmannian line packing have shown good performance.<ref name=dlove2>D.J. Love, R.W. Heath, and T. Strohmer, [https://dx.doi.org/10.1109/TIT.2003.817466 Grassmannian Beamforming for Multiple-Input Multiple-Output Wireless Systems], IEEE Transactions on Information Theory, vol. 49, no. 10, pp. 2735–2747, 2003.</ref>
Line 63 ⟶ 44:
 
===DPC or DPC-like nonlinear precoding===
[[Dirty paper coding (DPC)|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.<ref name=weingarten/> This category includes Costa precoding,<ref>M. Costa, [https://dx.doi.org/10.1109/TIT.1983.1056659 Writing on dirty paper], IEEE Transactions on Information Theory, vol. 29, no. 3, pp. 439–441, 1983</ref> Tomlinson-Harashima precoding<ref>M. Tomlinson, [https://dx.doi.org/10.1049/el:19710089 New automatic equalizer employing modulo arithmetic], Electronics Letters, vol. 7, no. 5, pp. 138–139, 1971</ref><ref>H. Harashima and H. Miyakawa, [httphttps://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1091221 Matched-transmission technique for channels with intersymbol interference], IEEE Transactions on Communications, vol. 20, no. 4, pp. 774–780, 1972</ref> and the vector perturbation technique.<ref>B. M. Hochwald, C. B. Peel, and A. L. Swindlehurst, [https://dx.doi.org/10.1109/TCOMM.2005.843995 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</ref>
 
==Mathematical Description==
Line 102 ⟶ 83:
:<math>\textrm{SINR}^{\mathrm{uplink}}_k = \frac{q_k|\mathbf{h}_k^H\mathbf{v}_k|^2}{\sigma_k^2+\sum_{i \neq k} q_i |\mathbf{h}_i^H\mathbf{v}_k|^2}</math>
where <math>\mathbf{v}_k</math> 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:
:<math>\mathbf{v}^{\textrm{MMSE}}_k = \frac{(\sigma_k^2 \mathbf{I} + \sum_{i \neq k} q_i \mathbf{h}_i \mathbf{h}_i^H )^{-1} \mathbf{h}_k}{\|(\sigma_k^2 \mathbf{I} + \sum_{i \neq k} q_i \mathbf{h}_i \mathbf{h}_i^H )^{-1} \mathbf{h}_k\|} </math>
 
Observe that the coefficients <math>q_1,\ldots,q_K</math> 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.<ref>M. Schubert and H. Boche, [https://dx.doi.org/10.1109/TVT.2003.819629 Solution of the multiuser downlink beamforming problem with individual SINR constraints], IEEE Transactions on Vehicular Technology, vol. 53, no. 1, pp. 18-28, 2004.</ref><ref>A. Wiesel, Y.C. Eldar, S. Shamai, [https://dx.doi.org/10.1109/TSP.2005.861073 Linear precoding via conic optimization for fixed MIMO receivers], IEEE Transactions on Signal Processing, vol. 54, no. 1, pp. 161-176, 2006.</ref> As the downlink precoding problem usually is more difficult to solve, it often useful to first solve the corresponding uplink problem.
 
==== Limited feedback precoding ====