# Zero-forcing precoding

Zero-forcing (or null-steering) precoding is a method of spatial signal processing by which a multiple antenna transmitter can null the multiuser interference in a multi-user MIMO wireless communication system. When the channel state information is perfectly known at the transmitter, the zero-forcing precoder is given by the pseudo-inverse of the channel matrix. Zero-forcing has been used in LTE mobile networks.

## Mathematical description

In a multiple antenna downlink system which comprises $N_{t}$ transmit antenna access points and $K$ single receive antenna users, such that $K\leq N_{t}$, the received signal of user $k$ is described as
    $y_{k}=\mathbf {h} _{k}^{T}\mathbf {x} +n_{k},\quad k=1,2,\ldots ,K$
where $\mathbf {x} =\sum _{i=1}^{K}{\sqrt {P_{i}}}s_{i}\mathbf {w} _{i}$ is the $N_{t}\times 1$ vector of transmitted symbols, $n_{k}$ is the noise signal, $\mathbf {h} _{k}$ is the $N_{t}\times 1$ channel vector and $\mathbf {w} _{i}$ is some $N_{t}\times 1$ linear precoding vector. Here $(\cdot )^{T}$ is the matrix transpose, ${\sqrt {P_{i}}}$ is the square root of transmit power, and $s_{i}$ is the message signal with zero mean and variance $\mathbf {E} (|s_{i}|^{2})=1$.
The above signal model can be more compactly re-written as
    $\mathbf {y} =\mathbf {H} ^{T}\mathbf {W} \mathbf {D} \mathbf {s} +\mathbf {n} .$
where
    $\mathbf {y}$ is the $K\times 1$ received signal vector,
    $\mathbf {H} =[\mathbf {h} _{1},\ldots ,\mathbf {h} _{K}]$ is $N_{t}\times K$ channel matrix,
    $\mathbf {W} =[\mathbf {w} _{1},\ldots ,\mathbf {w} _{K}]$ is the $N_{t}\times K$ precoding matrix,
    $\mathbf {D} =\mathrm {diag} ({\sqrt {P_{1}}},\ldots ,{\sqrt {P_{K}}})$ is a $K\times K$ diagonal power matrix, and
    $\mathbf {s} =[s_{1},\ldots ,s_{K}]^{T}$ is the $K\times 1$ transmit signal.
A zero-forcing precoder is defined as a precoder where $\mathbf {w} _{i}$ intended for user $i$ is orthogonal to every channel vector $\mathbf {h} _{j}$ associated with users $j$ where $j\neq i$. That is,
    $\mathbf {w} _{i}\perp \mathbf {h} _{j}\quad \mathrm {if} \quad i\neq j.$
Thus the interference caused by the signal meant for one user is effectively nullified for rest of the users via zero-forcing precoder.
From the fact that each beam generated by zero-forcing precoder is orthogonal to all the other user channel vectors, one can rewrite the received signal as
    $y_{k}=\mathbf {h} _{k}^{T}\sum _{i=1}^{K}{\sqrt {P_{i}}}s_{i}\mathbf {w} _{i}+n_{k}=\mathbf {h} _{k}^{T}\mathbf {w} _{k}{\sqrt {P_{k}}}s_{k}+n_{k},\quad k=1,2,\ldots ,K$
The orthogonality condition can be expressed in matrix form as
    $\mathbf {H} ^{T}\mathbf {W} =\mathbf {Q}$
where $\mathbf {Q}$ is some $K\times K$ diagonal matrix. Typically, $\mathbf {Q}$ is selected to be an identity matrix. This makes $\mathbf {W}$ the right Moore-Penrose pseudo-inverse of $\mathbf {H} ^{T}$ given by
    $\mathbf {W} =\left(\mathbf {H} ^{T}\right)^{+}=\mathbf {H} (\mathbf {H} ^{T}\mathbf {H} )^{-1}$
Given this zero-forcing precoder design, the received signal at each user is decoupled from each other as
    $y_{k}={\sqrt {P_{k}}}s_{k}+n_{k},\quad k=1,2,\ldots ,K.$

## Quantify the feedback amount

Quantify the amount of the feedback resource required to maintain at least a given throughput performance gap between zero-forcing with perfect feedback and with limited feedback, i.e.,
    $\Delta R=R_{ZF}-R_{FB}\leq \log _{2}g$ .
Jindal showed that the required feedback bits of a spatially uncorrelated channel should be scaled according to SNR of the downlink channel, which is given by:
    $B=(M-1)\log _{2}\rho _{b,m}-(M-1)\log _{2}(g-1)$
where M is the number of transmit antennas and $\rho _{b,m}$ is the SNR of the downlink channel.
To feed back B bits though the uplink channel, the throughput performance of the uplink channel should be larger than or equal to 'B'
    $b_{FB}\log _{2}(1+\rho _{FB})\geq B$
where $b=\Omega _{FB}T_{FB}$ is the feedback resource consisted of multiplying the feedback frequency resource and the frequency temporal resource subsequently and $\rho _{FB}$ is SNR of the feedback channel. Then, the required feedback resource to satisfy $\Delta R\leq \log _{2}g$ is
    $b_{FB}\geq {\frac {B}{\log _{2}(1+\rho _{FB})}}={\frac {(M-1)\log _{2}\rho _{b,m}-(M-1)\log _{2}(g-1)}{\log _{2}(1+\rho _{FB})}}$.
Note that differently from the feedback bits case, the required feedback resource is a function of both downlink and uplink channel conditions. It is reasonable to include the uplink channel status in the calculation of the feedback resource since the uplink channel status determines the capacity, i.e., bits/second per unit frequency band (Hz), of the feedback link. Consider a case when SNR of the downlink and uplink are proportion such that $\rho _{b,m}/\rho _{FB})=C_{up,dn}$ is constant and both SNRs are sufficiently high. Then, the feedback resource will be only proportional to the number of transmit antennas
    $b_{FB,min}^{*}=\lim _{\rho _{FB}\to \infty }{\frac {(M-1)\log _{2}\rho _{b,m}-(M-1)\log _{2}(g-1)}{\log _{2}(1+\rho _{FB})}}=M-1$.
It follows from the above equation that the feedback resource ($b_{FB}$) is not necessary to scale according to SNR of the downlink channel, which is almost contradict to the case of the feedback bits. One, hence, sees that the whole systematic analysis can reverse the facts resulted from each reductioned situation.

## Performance

If the transmitter knows the downlink channel state information (CSI) perfectly, ZF-precoding can achieve almost the system capacity when the number of users is large. On the other hand, with limited channel state information at the transmitter (CSIT) the performance of ZF-precoding decreases depending on the accuracy of CSIT. ZF-precoding requires the significant feedback overhead with respect to signal-to-noise-ratio (SNR) so as to achieve the full multiplexing gain. Inaccurate CSIT results in the significant throughput loss because of residual multiuser interferences. Multiuser interferences remain since they can not be nulled with beams generated by imperfect CSIT.