## 4 Enabling Technologies for FSO Communication
### Adaptive Transmission
#### 4.4.1 Overview  
Two important parameters that characterize turbulence-induced fading are \(d_{0}\), the correlation length of intensity fluctuations, and \(\tau_{0}\), the correlation time of intensity fluctuations. These parameters are defined respectively as [47; 211; 212]. \[d_{0} \approx\sqrt{\lambda L}. \tag{37a}\] \[\tau_{0} =\frac{d_{0}}{u\perp}. \tag{37b}\]  
where \(u\perp\) denotes the component of the wind velocity vector perpendicular to the direction of propagation. When the Rx aperture \(D_{0}\) exceeds the correlation length \(d_{0}\), turbulence-induced fading can be significantly mitigated through aperture averaging [211]. However, due to limitations on Rx size, it is not always feasible to ensure that the Rx aperture is much larger than the turbulent correlation length (i.e., \(D_{0}>d_{0}\)). In scenarios where \(D_{0}<d_{0}\), aperture averaging loses its effectiveness, necessitating alternative methods to counteract intensity fluctuations [150; 211; 212]. These methods are categorized into two main types: spatial-domain techniques, which involve diversity detection using multiple Rxs, and time-domain techniques, which adaptively optimize the decision threshold based on the maximum likelihood criterion. In temporal-domain techniques, a single Rx is employed. If the Rx knows the marginal fading distribution but lacks information about both the temporal fading correlation and the instantaneous fading state, a maximum-likelihood symbol-by-symbol detection technique can be utilized. Conversely, when the Rx is aware of the joint temporal fading distribution but not the instantaneous fading state, it can apply a maximum-likelihood sequence detection (MLSD) technique to counteract turbulence-induced fading. Spatial-domain techniques necessitate at least two Rxs to capture signal light from various positions or angles. To optimize diversity reception gain, the Rxs should be positioned as far apart as possible to ensure that turbulence-induced fading remains uncorrelated between them. However, in practice, it may not always be feasible to place the Rxs at such a distance. Although MLSD offers an optimal solution, it involves complex multidimensional integration and has a computational complexity that increases exponentially with the length of the transmitted bit sequence. To simplify MLSD, suboptimal implementations such as per-survivor processing (PSP) are often preferred in practice [186; 212]. However, for BER below \(10^{-6}\), both MLSD and PSP require an electrical SNR exceeding 20 dB, even in weak turbulence conditions. Such high signal powers are impractical for many applications, necessitating the development of novel modulation techniques for IM/DD FSO systems. In response, various coding approaches have been proposed, including coded OFDM [186], coded MIMO [213], and rateless coding [214; 215]. The core idea behind the coded-OFDM method is to reduce the symbol rate through the use of OFDM. When combined with interleaving and low-density parity-check (LDPC) codes, this technique achieves high resilience to the deep fades characteristic of turbulent channels. However, OFDM is more susceptible to phase noise and has a comparatively high PAPR, necessitating meticulous design to maximize its benefits and mitigate its drawbacks. Given that OFDM in IM/DD systems may lack power efficiency, SSB clipped and unclipped OFDM schemes can be employed to enhance power efficiency [186]. In a coded-MIMO approach, multiple optical sources and detectors are utilized, based on either repetition MIMO concepts or Space-Time Coding, along with LDPC codes, to enhance resistance to AT [213]. Temporally correlated stochastic channels can benefit from rateless codes, which are ECC with adjustable rates to accommodate varying channel quality. Examples of such codes include punctured codes and fountain codes, with Raptor codes being a specific instance. Punctured codes vary the rate by dropping parity bits, thereby increasing the effective code rate.