## 4 Precoding Schemes
### Precoding Schemes for VLC  
To the best of our knowledge, the first work that considers precoding for optical wireless communications is [154]. In this sense, the achievable data rates for MIMO optical wireless communications are analyzed in [32; 155]. These works provide the fundamentals of the implementation of MIMO techniques in the optical domain. In [155], it is shown that assuming a 5 m \(\times\)5 m\(\times\)3 m room, the maximum delay between LoS components corresponds to 10 nsec. That is, the non-LoS component can be neglected for a transmission bandwidth up to 100 MHz for this scenario, and therefore, the small-scale effects do not generate uncorrelated channel responses, as usually occurs in RF systems. However, the performance of a MIMO optical link is penalized by the correlation among the channel responses. This issue is one of the main drawbacks for implementing precoding techniques in VLC systems. It is worthy noticing that the use of precoding techniques is not considered in these works, i.e., [32; 155]. Furthermore, in this survey, we focus on linear precoding schemes and their comparison with DPC [151; 156]. Recall that DPC achieves the capacity by completely canceling the interference in a non-causal manner, which is subject to a huge computational complexity, so that its implementation cannot be considered in a realistic VLC system.  
Each optical AP generates a linear combination of the symbols intended to the \(K\) users considered in the implementation of a precoding scheme. This condition can be easily checked in (20). As a consequence, the symbols intended to user \(k\) are received for the optical APs \(1,\ldots,l-1,l+1,\ldots L\), even if the channel between user \(k\) and optical AP  
Figure 18: Exact, upper and lower capacity bounds for amplitude constrained Gaussian channels.  
is blocked. Therefore, the use of precoding schemes may be considered as an effective technique for overcoming the shadowing and blocking effects. In this sense, for precoding schemes, the transmission of \(K\) independent symbols simultaneously is subject to obtain a full rank channel matrix (see (22)), i.e., \(\text{rank}(\widehat{\mathbf{H}})=K\). It is worth recalling that increasing the number of optical APs for a fixed number of users may contribute to satisfy this condition.  
The performance of precoding schemes for overcoming the blocking and shadowing effects is analyzed in [157]. In such a way, the authors propose an alternative precoding scheme for minimizing the effects of the blocked channels. The use of ADRs combined with max-min SINR precoding is proposed in [158]. It is shown that ADRs are useful for avoiding the blocking effects. Furthermore, blocking effects have a direct impact on the estimation of CSI, which is required for implementing precoding schemes. Robust precoding schemes considering partial, outdated or stale CSI are proposed in [140; 157; 158; 159]. However, the implementation of precoding schemes in VLC systems subject to blocking and shadowing effects is still and open issue, as described in Section 6. In the following, we describe the implementation of distinct precoding schemes for VLC.