## 4 Precoding Schemes
### Introduction to Precoding Schemes  
#### 4.1.1 Fundamentals  
Again, let us consider a scenario comprising \(M\) optical APs and \(K\) users where \(K\leq M\). If \(K\geq M\), a scheduling strategy can be implemented, so that in each transmission resource, either time or frequency, the number of served users is less or equal than the number of optical APs. For the sake of generality, transmission over a flat frequency channel (Single carrier transmission occurs in the flat section of the optical bandwidth and multi-carrier transmission provides a flat frequency channel response at each subcarrier.) is assumed from now on, and therefore, the following derivations can be straightforwardly applied to the time and frequency domains. Besides, notice that the concepts described in this introduction are not specific for VLC, but they can be considered for any MIMO system. The symbols intended to the set of users are given by the vector \(\mathbf{s}= \begin{bmatrix}s^{[1]}&\ldots&s^{[K]}\end{bmatrix} ^{T}\in\mathbb{C }^{K\times 1}\) where \(s^{[k]}\) is the symbol intended to user \(k\). Moreover, the transmitted signal is denoted by \(\mathbf{x}= \begin{bmatrix}x_{1}&\ldots&x_{M}\end{bmatrix} ^{T}\in\mathbb{C}^{M \times 1}\) where \(x_{m}\) is the signal of the optical AP \(m\). For linear precoding schemes, each optical AP composes a linear combination of the symbols intended to the \(K\) users, as seen in Figure 17. That is,  
\[x_{m}=\mathbf{e}_{m}^{T}\Big{(}\mathbf{w}^{[1]}s^{[1]}+\cdots+\mathbf{w}^{[k] }s^{[k]}+\cdots+\mathbf{w}^{[K]}s^{[K]}\Big{)}, \tag{20}\] \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Technique** & **Interference Mitigation** & **LoS-Link Blockage Avoidance** & **Complexity** & **Source** \\ \hline \hline FFR & Yes & No & Low & [109; 110] \\ \hline JT-CoMP & Yes & Yes & High & [117; 118; 119; 120; 121] \\ \hline Pre-defined JT-CoMP & Yes & Yes & Low & [31; 46; 111; 110; 111] \\ \hline Relay-based & No & Yes & High & [125; 126; 127] \\ \hline NOMA & Yes & No & Medium & [48; 105; 128; 129] \\ \hline SDMA & Yes & No & Medium & [130; 131; 132] \\ \hline \hline \end{tabular}
\end{table} 
Table 3: VLC cooperative techniques. where \(\mathbf{w}^{[k]}= \begin{bmatrix}w^{[k]}_{1}&\ldots&w^{[k]}_{M}\end{bmatrix} ^{T}\in \mathbb{C}^{M\times 1}\) is the precoding vector associated to user \(k\) and \(\mathbf{e}_{m}\) is the unit column vector whose \(m\)-th entry is 1. Thus, the signal received at user \(k\) can be written as  
\[y^{[k]}=\underbrace{\mathbf{h}^{[k]}\mathbf{w}^{[k]}\mathbf{s}^{[k]}}_{\text {desired symbol}}+\underbrace{\mathbf{h}^{[k]}\mathbf{r}^{T}\sum_{j=1,\
eq k}^{ K}\mathbf{w}^{[j]}\mathbf{s}^{[j]}}_{\text{interference}}+\underbrace{z^{[k]}_{\text{ noise}}}_{\text{noise}}, \tag{21}\]  
where \(\mathbf{h}^{[k]}= \begin{bmatrix}h^{[k]}_{1}&\ldots&h^{[k]}_{M}\end{bmatrix} ^{T} \in\mathbb{C}^{M\times 1}\) is the channel from the \(M\) optical APs to user \(k\). Denoting the signal received by the \(K\) users as \(\mathbf{y}= \begin{bmatrix}y^{[1]}&\ldots&y^{[K]}\end{bmatrix} ^{T}\in\mathbb{ C}^{K\times 1}\), we can express it in a matrix format as  
\[\mathbf{y} =\bar{\mathbf{H}}\mathbf{x}+\mathbf{z} \tag{22}\] \[=\bar{\mathbf{H}}\mathbf{Ws}+\mathbf{z},\]  
where \(\bar{\mathbf{H}}= \begin{bmatrix}\mathbf{h}^{[1]}&\ldots&\mathbf{h}^{[K]} \end{bmatrix} ^{T}\in\mathbb{C}^{K\times M}\) is the channel matrix, \(\mathbf{W}= \begin{bmatrix}\mathbf{w}^{[1]}&\ldots&\mathbf{w}^{[K]}\end{bmatrix}  \in\mathbb{C}^{M\times K}\) is the precoding matrix and \(\mathbf{z}= \begin{bmatrix}z^{[1]}&\ldots&z^{[K]}\end{bmatrix} ^{T}\in\mathbb{ C}^{K\times 1}\) is the vector containing the noise of the \(K\) users. So far, only the basic system model for precoding schemes has been described. Several criteria can be considered for determining the value of the precoding vectors.