Channel coding and time-diversity for optical wireless links

: Atmospheric turbulence can cause a signiﬁcant performance degradation in free space optical communication systems. An efﬁcient solution could be to exploit the temporal diversity to improve the performance of the transmission link. Depending on the tolerable delay latency, we can beneﬁt from some degree of time diversity that we can exploit by employing channel coding and interleaving. In this paper, we investigate the efﬁciency of several channel coding techniques for different time diversity orders and turbulence conditions. We show that a simple convolutional code is a suitable choice in most cases as it makes a good compromise between decoding complexity and performance. We also study the receiver performance when the channel is estimated based on some training symbols.


Introduction
Free space optics (FSO) is a promising solution for the need to very high data rate point-topoint communication [1].In an FSO system, the information-bearing laser beam is projected to the optical receiver along a line-of-sight.FSO has numerous advantages over radio-frequency (RF) technology [2,3,4] such as very high optical bandwidth, high transmission security, and interference immunity.FSO systems have attracted considerable attention since a few years for a variety of applications and markets, e.g. last mile connectivity, optical-fiber backup, entreprise connectivity, etc. [5].
Regarding the implementation of an FSO link, however, we are faced to several practical problems.First, the stringent line-of-sight requirement necessitates careful pointing and probably some tracking mechanisms at the receiver [6,7].Another important problem is the susceptibility of the optical link to weather conditions.In fact, aerosol scattering effects caused by rain, snow, and fog, can reduce the link range due to the propagation loss in non-clear atmosphere [8].Even in clear sky conditions, inhomogeneities in the temperature and pressure of the atmosphere caused by solar heating and wind, lead to the variations of the air refractive index along the transmission path.The atmospheric turbulence, also called scintillation, causes random fluctuations in both the amplitude and the phase of the received signal, what we call channel fading.This leads to an increase in the link error probability.A comprehensive survey of optical-propagation effects can be found in [9].
In this paper, we assume that the transmitter and the receiver are perfectly aligned, and do not consider effects such as building sway.Also, we neglect the atmospheric losses associated with visibility, and focus on mitigating the channel fading arising from scintillation.
In general, channel coding (also called error correcting coding) is used to increase the robustness of a communication system against noise and interference [10].However, it is well known that channel coding is not sufficient to mitigate channel fading efficiently.More efficient solutions are diversity techniques, e.g. in space, time, or frequency (wavelength).In its simplest form, spatial diversity consists in aperture averaging when the receiver lens aperture is larger than the fading correlation length [9,11].Even with a relatively small lens, we can benefit from some aperture averaging in practice, especially in the case of strong turbulence [11,12].Better scintillation reduction is obtained by using multiple lenses at the receiver and/or multiple beams at the transmitter [13,14].Also, wavelength division multiplexing allows to benefit from frequency diversity.Here, we consider the case where, due to complexity or cost reduction, we work with a monochromatic laser, a single beam at the transmitter, and a single lens at the receiver.Also, we assume that we cannot benefit from any aperture averaging and the only possible diversity source is time diversity.The assumption of the absence of other sources of diversity permits to study the effect of time diversity alone.So, considering burst-mode data transmission, when the data frame length is large, compared to the channel coherence interval, we can exploit this time diversity by employing channel coding and interleaving.The data frame length equals, in fact, the interleaver depth used at the transmitter.Note that, by channel coherence interval, we mean the channel coherence time normalized by the symbol duration.The degree of time diversity equals the ratio of the frame length chosen for data transmission to the channel coherence interval.Note that, we can potentially benefit from such degree of time diversity but, in general, we may not attain full diversity just by performing channel coding and interleaving.Meanwhile, we also benefit from some channel coding gain.That is why we use the term potential time diversity order (PTDO).
Our aim in this work is to evaluate the performance improvement by time diversity in weak, moderate, and strong turbulence regimes.For this purpose, we consider four well-known channel coding methods, usually employed in optical communication systems: convolutional codes, Reed-Solomon (RS) codes, concatenated convolutional and RS (CCRS) codes, and turbo-codes (TC).We consider a realistic statistical channel model that is recently proposed for optical wireless systems, i.e., the gamma-gamma (ΓΓ) model [9].Also, we consider the frozen channel model over the duration of several consecutive symbols [15].This is also known as the blockfading model.We will compare the system performance in terms of the average bit error rate (BER) for the different coding solutions and take a close look at the efficiency brought by time diversity with channel coding and interleaving.
Note that a similar study is presented in [16], where the channel is modelled as uncorrelated ergodic.In other words, the channel coherence time can be considered to correspond to a single symbol duration.One may also consider the results in [16] as corresponding to the case of an infinite interleaver depth.In practice, however, channel time variations are not so fast and the interleaver depth can not be infinite either.As a result, we can benefit from far less time diversity; that is what we consider in this work, in contrast to the work in [16].The results in [16] can, in fact, be considered as lower bounds on the system performance.
We consider the on-off keying (OOK) modulation.For optimal signal detection that we consider, we need the channel knowledge at the receiver.So, at a first step, we consider perfect channel knowledge at the receiver, and at a second step, we consider the case where the channel fading coefficients are estimated at the receiver based on some training (pilot) symbols.
The remainder of the paper is organized as follows.In Section 2, we present our modelling assumptions concerning the transmitter, channel, and the receiver.In Section 3, we describe the soft symbol detection at the receiver.We also explain the need to channel knowledge, as well as the channel estimation based on some training symbols.A brief review of the different coding solutions that we consider in this work is presented in Section 4. Numerical results are provided in Section 5 to compare the system performance for different coding solutions and under different conditions of turbulence and time diversity.Finally, Section 6 concludes the paper.

System model
The general system block diagram is given in Fig. 1.Each of the three main blocks of "Transmitter," "Channel," and "Receiver" are described in the following.

Transmitter
The equiprobable binary data bits b from the information source are passed through the channel encoder.The encoded bits are then interleaved before being converted to symbols (the modulation block) and transmitted through the channel.We consider pseudo-random interleaving in this work by which the encoded bits are permuted in a random manner (but known at the receiver).Better results can be obtained by optimizing the interleaver with respect to the channel time variations, however.By performing channel coding and interleaving, we can benefit from some degree of channel time diversity, which depends on the channel coherence interval and the frame length chosen for data transmission.
For the sake of implementation simplicity, we consider intensity modulation with direct detection (IM/DD), as it is used in most current optical communication systems.Also, we consider the most commonly used intensity modulation technique, that is, the non-return to zero (NRZ) OOK.So, the presence of an impulse of duration T s represents a binary bit 1 (On state), whereas the absence of signal for the same duration represents a binary bit 0 (Off state).

Channel
The main impediment introduced by the channel that we consider here, is the scintillation.We consider the time variations according to the theoretical block-fading model, where the channel fade remains constant during a block (corresponding to the channel coherence interval) and changes to a new independent value from one block to next.In other words, channel fades are assumed to be independent and identically distributed (IID).
Several statistical models have been proposed so far for scintillation [17,18,19,20].Owing to its simplicity, the log-normal distribution is the most widely used, although its applicability is mainly restricted to weak turbulence conditions [17,20].On the contrary, the negative expo-  [20].Here, we use the ΓΓ model that suitably describes both strong and weak turbulence regimes.By this model, the intensity fluctuation h induced by scintillation is modeled as a process in which small-scale (diffractive) intensity fluctuations are multiplicatively modulated by large-scale (refractive) fluctuations [19].Let us denote by h x and h y the large-and small-scale irradiance fluctuations, respectively.h x and h y are assumed to be statistically independent and described by a gamma distribution.Based on these assumptions, the intensity fluctuation h = h x h y has a ΓΓ distribution with the probability density function (PDF) as follows [9].
Here, α and β are the effective numbers of large-and small-scale eddies of the scattering environment, respectively, and K α (x) is the modified Bessel function of the second kind and order α.Assuming plane wave propagation that is valid for relatively long-range applications, as well as turbulent eddies of zero inner scale, these parameters can be directly related to the atmospheric conditions [9,20]: where σ 2 x and σ 2 y denote the variances of h x and h y , respectively, and χ 2 = 1.23C 2 n k 7/6 L 11/6 is the Rytov variance.Here, k = 2π/λ is the wave number with λ the wavelength, and L is the link distance.Also, C 2 n stands for the index of refraction structure parameter.

Receiver
At the receiver, after signal detection (the demodulator block) and de-interleaving, channel decoding is performed (see Fig. 1).The demodulation is performed based on the received signal light intensity.The electrical signal after the optical/electrical conversion is: where I is the received signal light intensity, I a is the remaining ambient light intensity after frequency and spatial filtering [21], and η is the optical/electrical conversion efficiency.Also, n is the sum of thermal, dark, and shot noise.We assume that the ambient light can be almost perfectly cancelled [22].So, after the cancellation of the ambient light, the received signal before demodulation is: We suppose that the receiver is thermal noise limited, and consider n as a zero-mean Gaussian additive noise of variance σ 2 n , independent of the signal I. Let T s denote the symbol duration and N 0 the noise unilateral power spectral density.Taking into account the low-pass filtering of bandwidth 1/2T s after photo-detection, the noise variance equals σ 2 n = N 0 /2T s .We further consider the received signal intensity I as the product of I 0 , the emitted light intensity, and h, the channel atmospheric turbulence with the PDF given in (1): The demodulator provides at its output logarithmic likelihood ratios (LLR) on the transmitted bits instead of hard values 0 or 1 (see Section 3 for more details).In other words, we perform soft signal detection.As we will explain in Section 4, in most cases, we perform soft-input softoutput (SISO) channel decoding, because as it is well known, soft decoding provides a better performance, compared to hard-decoding [10].In such a case, the LLRs at the output of the demodulator are fed to the channel decoder, which in turn, provides LLRs on the information data bits at its output.

Soft detection of OOK symbols
The demodulation is done on the received signal r.Without loss of generality, let us assume η = 1.Also, let us replace I 0 by s that we consider as the transmitted symbol; it takes the values s 0 or s 1 , corresponding to a transmitted bit 0 or 1, respectively.In our case of OOK modulation, s 0 = 0 (Off) and s 1 = 1 (On).At the receiver, we can make two hypotheses on the corresponding transmitted symbol: The decision we make in favor of H 0 or H 1 is based on the maximum a posteriori (MAP) criterion.Having assumed a Gaussian distribution for n, the conditional PDF of the received signal is: The MAP symbol detector provides the detected symbol ŝ [10]: where P(s) is the probability mass function of s.As we assumed equiprobable bits, (9) reduces to: ŝ = arg max s P(r|s).(10) To obtain ŝ, we calculate the likelihood ratio (LR) as follows.
If LR > 1, we make the decision ŝ = s 1 , and ŝ = s 0 otherwise.We can also use the LLR for decision making: In the case of hard signal detection, we provide ŝ at the detector output.

Channel knowledge at the receiver
As we notice from (12), we need to know the instantaneous channel fading h for either soft or hard signal detection.In our performance analysis that we present in Section 5, we firstly suppose that the receiver is provided with the perfect channel state information (CSI).The perfect CSI, however, is rarely available at the receiver.In practice, some training (pilot) symbols are usually sent from the transmitter, based on which the receiver estimates the channel fading.By this approach, known as pilot symbol assisted modulation (PSAM), we reserve some positions in each frame for the transmission of pilots.As we consider the block-fading channel model in this work, we allocate M P On-state OOK pilot symbols per fading block [23].As an example, we have shown the pilot insertion in Fig. 2 for the case of two channel fades per frames of N F symbols.The loss in the transmission rate due to pilot insertion is then M P /(M + M P ), where M denotes the number of data symbols corresponding to a fading block.In practice, pilots are rather distributed among data symbols [24].However, as we consider the frozen channel model, the position of pilots in a block has no importance here.If we denote by r i , i = 1, ••• , M P , the received symbol corresponding to the ith pilot symbol in a given fading block, the corresponding maximum likelihood channel estimate ĥ is:

Review of channel coding and decoding techniques
In this section, we present the four channel coding techniques that we consider in this work, i.e., convolutional, RS, CCRS, and TC.As they are rather classical and well-known, we only present a brief review of them.

Convolutional codes
Convolutional codes are powerful error correcting codes usually used in digital communication systems.We consider recursive systematic convolutional (RSC) codes of constraint length K and denote the coding rate by R c .At the receiver, we perform soft decoding based on SOVA (soft-output Viterbi algorithm) [25], which takes at its input the LLRs on the transmitted bits (coming from the demodulator) and provides at its output LLRs on the transmitted information bits.

Reed-Solomon codes
RS codes belong to the family of linear block codes and are usually used in data transmission systems submitted to burst errors such as satellite communications.We consider an RS encoder taking k data symbols of t bits each at input, and provides n = 2 t − 1 output symbols, by adding n − k parity symbols to them.We denote it by RS(n, k).We consider here hard RS decoding which is used in most systems.

Concatenated convolutional and RS codes (CCRS)
Convolutional codes are efficient specially when errors caused by the communication channels are statistically independent.For the FSO channel, however, we are subject to burst errors due to fading.A more efficient coding scheme can be obtained by concatenating convolutional and RS codes as shown in Fig.  Broadcasting -Satellite) standard [26].Encoded data by the outer (RS) code are first interleaved by an outer interleaver Π before passing to the inner (convolutional) encoder.The resulting bits are then permuted by the inner (channel) interleaver (the block Π in Fig. 1) before being mapped to symbols.The inner interleaving and modulation are done according to the block diagram of Fig. 1.At the receiver, after soft symbol detection and channel (inner) de-interleaving (see Fig. 1), we first perform SISO decoding of the inner (convolutional) code based on SOVA, as shown in Fig. 3. Next, after outer de-interleaving, we perform hard decoding of the outer (RS) code.

Turbo-codes
Turbo-codes are powerful codes that can provide performances close to the Shannon limit [27].
We consider the parallel concatenation of two identical RSC codes, as shown in Fig. 4. For each information bit b k , at the encoder output we get the systematic bit c 1k as well as two parity bits c 2k and c 3k , provided by the two RSC encoders.The overall coding rate R c is then 1/3.Notice that this corresponds to the "Channel Encoder" block in Fig. 1.
In contrast to our previous work [28], here, in order to perform a fair comparison between different channel codes, we set the channel coding rate R c to 1/2 for all coding schemes, as we will explain in the next section.For this purpose, we puncture the turbo encoder output bits.Puncturing is done on the parity bits, i.e., the output bits c 2k and c 3k in Fig. 4, and all systematic bits are kept.A special attention should be devoted to the design of the outer interleaver Π .We perform a homogeneous puncturing [29], through the use of a so-called odd-even interleaver [30] that ensures that each information bit has exactly one of its parity bits.In other words, punctured bits are evenly spread among c 2k and c 3k parity bits.As a result, the error correction capability of the code is uniformly distributed over all information bits.
Turbo decoding, on the other hand, consists in decoding the two RSC codes in an iterative (turbo) manner, by using two SISO decoders exchanging extrinsic LLRs between them (see [27] for more details).Again we consider SOVA-based SISO decoding.At the first iteration, we set the LLRs corresponding to punctured bits to zero.

Numerical results
In this section, we present some simulation results to compare the performances of the proposed coding schemes under different conditions of turbulence.The system performance is evaluated in terms of BER as a function of signal-to-noise ratio (SNR).We consider the electrical SNR in the form of E b /N 0 , where E b is the averaged received energy per information bit.We consider communication by burst, where frames of N F OOK modulated symbols are transmitted through the channel.Also, the inner (channel) interleaver is pseudo-random and of depth N F .Note that for the case of RSC or turbo coding, N F includes the trellis termination bits.In the following, we provide details on the other simulation parameters.Note that, as we use OOK modulation, we may interchangeably use the words 'bit' and 'symbol.'

Coding schemes
To do a fair comparison of the performances of different coding schemes, we set the R c to 1/2 for all coding schemes.We chose this rate for simplicity as it corresponds to the coding rate for the CCRS and RSC schemes that we consider here.As the convolutional code, we mainly consider the RSC code (1, 15/17) of constraint length K = 4. Numbers 15 and 17 represent the code polynomial generators in octal.As the RS code, we use the code RS(255, 127) of rate R c = 127/255 ≈ 0.5, for which t = 8.For the case of CCRS coding, we use the RSC code (1,133/171) of K = 7 as the inner code and RS(255, 239) as the outer code.We have R c ≈ 0.46, close enough to 0.5.This scheme corresponds to that proposed in the DVB-S standard-2004 [26].After RS coding, we perform pseudo-random outer interleaving of depth N F /2 before convolutional coding (Π in Fig. 3).Note that, in contrast to the scheme proposed in [26], we do not consider the shortened code RS(204, 188,t = 8) nor the special cyclic byte-wise outer interleaving.In fact, in DVB-S, the special outer interleaver tries to benefit from the channel time diversity, whereas the inner interleaver tries rather to benefit from the frequency diversity with the OFDM scheme used.Lastly, for the TC case, we consider the parallel concatenation of two identical RSC codes (1, 15/17) with the puncturing pattern as explained in Subsection 4.4 to obtain R c = 0.5.Only two iterations are processed for turbo-decoding.In fact, for the punctured TC and at the presence of channel turbulence, we obtain negligible performance improvement with more iterations.
For the sake of brevity, in what follows, we will refer to these four coding schemes as RSC4 (with reference to K), RS, CCRS, and TC, respectively.Also, the minimum frame size that we consider in our simulations is N F = 4080, because it is the minimum N F for the case of CCRS coding: At the RS encoder output we have 255 × 8 = 2040 coded bits, then, after RSC encoding of rate 1/2, we obtain 4080 coded bits (excluding trellis termination).

Turbulence modelling
As we explained in Section 2, we consider the block-fading model for channel time variations.Also, fade statistics are considered according to the ΓΓ model with the parameters α and β , given by ( 2) and (3), respectively.We consider three typical cases of weak, moderate, and relatively strong turbulence conditions for which we set χ to 0.2, 1, and 3, respectively, as suggested in [16].Although in general, there may be no direct relationship between the turbulence strength and the channel time correlation, we consider three channel coherence times of 1ms, 100μs, and 20μs, for the cases of weak, moderate, and strong turbulence regimes, respectively.We will later explain that the results that we present remain general, as they mainly depend on the potential time diversity order.

Weak turbulence conditions
Let us first consider the case of χ = 0.2 that results in α = 51.9 and β = 49.1.We set the data rate to R = 1 Gbps that corresponds to the symbol duration T s = 1ns.Also, we consider the typical channel coherence time of τ c = 1ms for this case that means that the channel varies over blocks of N c = τ c /T s = 10 6 symbols, according to our block-fading channel model.First consider the frames of length N F = 4080 for which we cannot benefit from any time diversity.To see the efficiency of different codes (in the sense of coding gain), we have presented in Fig. 5 the curves of BER versus E b /N 0 for different coding schemes, as well as for the case where no channel coding is performed.We can see that the RS code is not really efficient.This poor performance is principally due to hard decoding [31].However, the three other codes provide interesting and almost identical performance improvements.For instance, at BER=  10 −5 , compared to the no-coding case, we obtain a gain of 0.6 dB and 3 dB in SNR by using the RS and RSC4, respectively, and a gain of 3.4 dB for CCRS, and TC.For the sake of comparison, we have also shown the BER curve for the (1, 133/171) RSC code that we note by RSC7.We note that its performance is almost the same as that of CCRS scheme.
In the present case, in order to obtain a potential time diversity order (PTDO) of 2, we have to set the frame length N F to about 2 × 10 6 symbols, which corresponds to a delay-latency of 2ms.The corresponding performance curves are shown in Fig. 6.Since without coding, we cannot benefit from this diversity, we obtain the same performance for the no-coding case as in Fig. 5.We notice a considerable performance gain by performing channel coding.For instance, at BER= 10 −5 , compared to the no-coding case, we have an SNR gain of 1.8 dB, 4.4 dB, 5 dB, 5.2 dB and 5.4 dB, by using RS, RSC4, TC, RSC7 and CCRS, respectively.Notice that we cannot explain the slopes of the BER curves as we cannot distinctly dissociate diversity and coding gains.The best performance is obtained for CCRS, that is principally due to the use of RSC7 code in its structure, the performances of RSC7 and CCRS being almost identical.However, the decoding complexity of RSC7 is much higher that RSC4, as it grows exponentially with K.The decoding complexity of TC, on the other hand, is almost 4 times that of RSC4, as we perform only two decoding iterations.
Given the results of Figs. 5 and 6, we see that a good compromise between performance and complexity is achieved by using RSC4.So, we recommend the RSC4 scheme as the suitable solution for relatively weak turbulence conditions.

Moderate turbulence conditions
For this case, we consider χ = 1 that results in α = 4.39 and β = 2.56.We set the data rate to R = 200 Mbps that corresponds to T s = 5ns.The reason of considering a lower data rate compared to the previous case is that, in practice, lower transmission rates are used in the case of stronger turbulence.We consider the typical channel coherence time of τ c = 100μs for this case.So, the channel will change over blocks of N c = τ c /T s = 20000 symbols.If we benefit from no time diversity, all coding schemes have poor performances, close to the no-coding case (results are not presented).That is quite logical, because for the frames undergoing a severe fading, channel coding alone is not efficient.If, for instance, we want to benefit from a PTDO of 2 in this case, we have to set the frame length to about 40000 symbols.This will impose a delay-latency of 200μs.The corresponding performance curves are shown in Fig. 7.The curve representing the no-coding case can also be regarded as that with no diversity.We have only shown the BER curves for RSC4 and TC for which we notice a considerable performance improvement.For instance, at BER=10 −5 , we have a gain of about 6.6 dB and 5.3 dB in SNR, by using RSC4 and TC, respectively.The simple RS code is not efficient at all under moderate turbulence conditions.In fact, frames experiencing a locally severe fading have an important impact on the average BER.For those frames, the RS code does not provide any improvement.Also, the performances of CCRS and RSC7 are almost equivalent to that of RSC4.
To benefit from a PTDO of 4, we have to set the frame length to about 80000 symbols and undergo a delay-latency of 400μs.The corresponding curves in Fig. 7 show that, at BER=10 −5 , we obtain substantial gains of about 18.1 dB and 19 dB in SNR, by using RSC4 and TC, respectively.Notice that, TC now outperforms RSC4, in contrast to the case of PTDO=2.This can be explained by the fact that puncturing the turbo-code is particularly penalizing for those blocks undergoing a relatively severe fade.With a larger PTDO, fading is averaged more and such severe local fades occur much less frequently.So, TC finds its error correcting superiority over the simple convolutional code.

Strong turbulence conditions
For this case, we set χ = 3 that results in α = 5.49 and β = 1.12 in the ΓΓ channel model.We consider the data rate of R = 100 Mbps that corresponds to the symbol duration T s = 10ns, and the channel coherence time of τ c = 20μs.According to our block-fading channel model, the channel changes over blocks of N c = τ c /T s = 2000 symbols.We consider three cases of symbol-frame-lengths of about 4000, 8000, and 16000 symbols, where, respectively, we have a PTDO of about 2, 4, and 8, and a delay-latency of about 40μs, 80μs, and 160μs.Results are shown in Fig. 8, where only the cases of no-coding, RSC4, and TC are shown.Again, the BER curve for the case of no-coding is practically equivalent to the case of coding with no diversity.We exclude the case of simple RS encoding, as we noticed previously that it is not efficient.Also, the CCRS scheme has practically no interest as its performance is very close to that of RSC4.We notice that RSC4 is particularly efficient; the performance improvements at BER=10 −5 with respect to the no-coding case are about 8.4 dB, 35.8 dB, and 50.2 dB, for PTDO of 2, 4, and 8, respectively.A similar behavior is observed for TC with respect to RSC4: it outperforms RSC4 for PTDO of 4 and 8.
Given the results of Figs. 7 and 8, we recommend the use of a simple convolutional code for moderate to strong turbulence conditions: Although for higher PTDO we achieve a larger gain by using the TC scheme, globally, the convolutional code appears to be more adequate as it makes a good compromise between performance and decoding complexity.

Discussion on the diversity gain
The improvement in the receiver performance does not depend only on PTDO, but also on the coding rate R c and the interleaver design.
It is important to note that the presented results are valid for pseudo-random interleaving.For this reason, when PTDO=2, we do not attain an effective diversity of 2 and the slopes of the corresponding BER curves are not twice as those of no-diversity.We could instead consider perfect interleaving to benefit from almost full potential diversity: For PTDO=2, i.e., two channel fades h 1 and h 2 per frame, and convolutional coding, perfect interleaving can be done by simply sending the systematic bits on h 1 and the redundant bits on h 2 , for example.However, the reason we considered pseudo-random interleaving with the block-fading channel model is that the results represent better the real case: In practice, channel varies continuously in time and interleaving cannot be perfect.On such a channel, any interleaving can benefit only partly from time diversity.For faster channel time variations (equivalent to a larger PTDO in our theoretical model), we can benefit more from time diversity.This is in accordance with what we observed from Figs. 7 and 8.
The channel coding rate R c is also an important parameter.As we set R c to 1/2 for all coding schemes, by increasing PTDO, we do not benefit from full diversity and we can only approach an effective diversity order of 1/R c = 2.For PTDO> 2, more considerable performance improvements are obtained for lower R c .This can be verified by referring to our previous work (Reference [28]), where we have considered a rate 1/3 turbo-code.Assuming perfect interleaving, to benefit from almost full potential diversity, we should set R c to 1/PTDO.Note that, by reducing R c , we reduce the information transmission rate as well.Then, there will be a compromise between the link margin and the information transmission rate.

Case of pilot-based channel estimation
Up to now, we have assumed that we have perfect CSI available at the receiver.It is interesting to study the receiver performance in a practical system where the channel is estimated based on some training pilots.Here, we are particularly interested to see the sensitivity of a given coding scheme to the channel estimation errors.For this purpose, for each coding scheme, we set the SNR to that results in BER=10 −5 in the case of perfect channel knowledge.We then evaluate the BER for different number of pilot symbols.Remember from Subsection 3.1 that corresponding to each fading block of M data symbols, we transmit M P pilot symbols.
Fig. 9 shows the BER curves versus M P for the two cases of weak and strong turbulence conditions and the two coding schemes RSC4 and TC.For both cases, the PTDO is set to 2. We notice that, for the case of weak turbulence, TC is more sensitive to channel estimation errors than RSC4.Nevertheless, the interesting point is that, only few pilot symbols are sufficient to provide results close to the perfect channel knowledge case.In other words, we undergo a negligible loss in the data rate due to the transmission of training symbols.
For the case of strong turbulence, we notice that by setting M P = 2, we are already quite close to the perfect-CSI case (results are shown only for TC).As a matter of fact, for the strong turbulence case, the average SNR to obtain a given BER is much higher than that for the weak turbulence regime (82.4 dB instead of 10.45 dB at BER=10 −5 ).So, for those frames experiencing a locally low fade, the channel is almost perfectly estimated.For locally severe fades, on the other hand, we are likely to lose the entire frame, irrespective of the quality of channel estimation.
It is interesting to compare the results of Fig. 9 to those already presented in a previous work (Reference [28], Fig. 3): we note that the RSC4 code is less sensitive to channel estimation errors than RSC7, which is quite reasonable.Also, the punctured (rate 1/2) turbo-code is less sensitive to estimation errors than the rate 1/3 turbo-code.

Conclusions and discussion
For an FSO transmission link submitted to different turbulence conditions, we performed a comparative study of the performances of different channel coding techniques, employed under the presence or not of time diversity.We showed that RS coding alone is not robust against (even weak) channel turbulence.For relatively weak turbulence, convolutional and turbo codes have almost identical performances and provide interesting performance improvements.Under moderate to strong turbulence conditions, these codes are quite efficient provided that we can benefit from some degree of time diversity.The CCRS scheme seems to have little interest in practice due to more decoding complexity and to the fact that its performance is very close to that of a convolutional code alone.Overall, we recommend a convolutional code as the suitable choice regarding the decoding complexity and the obtained performance.Lastly, we showed that a sufficient channel estimation precision is obtained by dedicating a very small percentage of the data rate to the transmission of pilot symbols.
To exploit the potential time diversity, channel coding should be done together with symbol interleaving.The interleaver depth should be as large as possible to bring a good diversity order.This, however, implies some delay latency and, more importantly, may require a large memory at the receiver that can not be adequate for a practical implementation of the system.In our study, we considered smaller channel coherence times for stronger turbulence conditions.However, the general results remain exploitable and the only factor to modify is the implied latency in signal transmission.In fact, since we considered the average BER as the performance evaluation criterion, results have little dependence on the actual frame length N F , and the important factor is the potential diversity order.We have verified that, for the same potential diversity order, that is, the same ratio of N F to the channel coherence interval, the presented performance Finally, notice that in our previous work [28], we had considered a rate 1/3 turbo-code and compared its performance notably with rate 1/2 convolutional codes.The turbo-code had then much better performances than those presented in the present paper.The reason is that, a lower rate code can average more efficiently over the channel fades.To perform a fair comparison between different channel codes it is essential to use the same coding rate for all coding schemes, as we did in this paper.

Fig. 2 .
Fig. 2. Pilot insertion for channel estimation purpose; example of two fading blocks per frame of N F symbols, N F = 2(M + M P ).