1 Introduction

The increasing demand on more efficiency and more coverage results in efficient use of radio frequency (RF) communication spectrum. Over the recent years the number of devices accessing wireless networks has significantly increased and the data traffic is also increased. On the other hand, wireless data traffic is also increased with high online social media trends. The other factors from this point are security, interference, health security and power inefficiency. All of these factors, give rise to some alternative solutions or some tools to accommodate additional capacity in future communication systems.

One of the most effective alternatives today is the use of light emitting diode based visible light as an environmentally friendly and energy efficient technology that attracts the attention of the latest influential academic and industrial researchers [1]. Providing wide spectrum, high efficiency and low electromagnetic interference, VLC is as a promising solution for 5G and beyond wireless communication systems. VLC with the light emitting diodes (LEDs) used as wireless access points and modulated at high speeds invisible to the human eye, is based on the dual use of LEDs for lighting and communication purposes [1]. VLC is emerging as an alternative short-range broadband wireless communication technology that will grow even more with the latest standardization efforts [2]. Leveraging large unregulated frequency sources, VLC is considered a challenging candidate to complete RF wireless communication facing the spectrum famine problem [3]. VLC can provide high-speed network Access for the Internet of Things, virtual reality and other applications. In the VLC system, in practice, direct detection (IM/DD) density modulation is generally used for filling and the sample optical signals obtained after the electrical signals are modulated according to the optical density of the LED are converted into electrical signals proportional to the photodiode (PD) [1].

In literature, due to the use of positive and real signals in optical communications, there is limited modulation techniques. Thus, in this area, the modifications in single-carrier systems use only pulse-position modulation (PPM) techniques and on–off keying (OOK). However, such communication methods were not able to reach high bandwidth efficiencies and high data rates [2]. Many studies in this field create flicker due to the fact that OOK, PPM and similar modulation types cannot provide constant light flux. This causes large switching currents due to the continuous on–off operations of the system while it may pose a danger to human health and when modulating the data in the system. Therefore, it is explained in [4, 5] that the constant light flux decreases negatively.

The flickering effect of light is considered as the main performance criterion in lighting. The spectral distribution of the flickering effect is induced by a light stimulator that fluctuates over time and causes the impression of imbalance in the visual sense, and it is mostly caused by the modulation technique used in the physical layer (PHY) during data transmission in VLC systems.

The flickering effect of the light is due to the modulation techniques used in VLC systems causing variations on the average transmitted power and in this case, the fluctuation effect on the brightness of the LEDs, as stated above. For this reason, the application of restrictions to modulation techniques appears as a necessity to provide constant average power [4]. Modulation techniques that reduce the flickering effect are an important subject that needs to be researched and developed in the field of VLC.

The IEEE 802.15.7 standard supports some dimming and flicker reduction methods designed in VLC systems. Each PHY mode includes coding mechanisms to achieve DC stabilization by preventing the flicker effect and forward error correction induced by the transmitted data. In this case, run length limited (RLL) line codes are used to prevent long broadcasts of 1’s and 0’s that potentially cause flickering [5].

In addition, Color Shift Keying (CSK) is a solution to this situation which takes place in IEEE 802.15.7 standard. CSK is the visible light communication intensity modulation scheme that transmits data that cannot be detected by the color changes emitted by RGB (Red Green Blue) LEDs. In VLC systems, CSK is often used as the multiple light source modulation scheme which uses red, green and blue LEDs and it modulates the information signal with the intensity of RGB rays [6]. Because the power envelope of the transmitted signals is fixed with CSK, the possibility of complications in human health, related to the fluctuations in light intensity, is reduced. Since the typical CSK is designed to operate at signaling speeds exceeding 1 MHz, the effect of flux and color vibration on human health is insignificant [7]. CSK uses 4, 8, and 16 level CSK signal constellations for communication at speeds up to 96 Mbps, as it is located at the current PHY III level with the IEEE 802.15.7 standard.

Today, there is a growing literature on VLC. Specially, it is recommended to use CSK for high data rate transmission in the IEEE802.15.7 standard [6]. CSK is a technology capable of achieving high optical clock speeds (MHz) and ensures that the average optical power and average optical color emitted between the CSK multiple light sources during communication are constant. There is no tremor (flicker) problem due to amplitude changes. In addition, CSK has a complex transmitter and receiver design and this may cause color shift. Achieving the transmitted signals by minimizing the disruptions in system performance is a channel equalization problem. OFDM offers easy channel equalization. In IM/DD based VLC systems, OFDM is an interesting scheme and has been extensively researched as it can effectively resist inter-symbol interference (ISI) while improving spectral efficiency [8]. In OFDM-based systems, since the signal can be processed both in the frequency domain and in the time domain, channel equalizers can also be designed in both the frequency domain [3, 8] and the time domain [4, 5].

Even though there are many coding techniques in OFDM-based systems, Convolutional Coding (CC), classical Turbo coding (Turbo Coding, TC) and double binary Turbo coding (Double Binary Turbo Coding, DBTC) techniques are preferred due to their high performance [9,10,11,12,13]. This study is the first study in the literature in which DBTC encoder is used in M-ary CSK-OFDM system (M-CSK-OFDM). Although there are few studies on the channel coded M-CSK-OFDM system in the literature [3, 14, 15], as far as the authors know, there is no study examining the DBTC coding technique on the M-CSK-OFDM system. Therefore, it is suggested to use the combined DBTC method and M-CSK modulation technique to increase the performance of M-level CSK (M-CSK) OFDM systems in this study. In M-CSK OFDM systems, computer simulation studies are performed to compare the performances of combined Reed Solomon and the Convolutional Coding (RS–CC) and classical TC with DBTC.

The rest of the paper is organized as follows. In Sect. 2, the M-CSK OFDM system model for VLC is detailed. In Sect. 3, we present the detailed Dual Binary Turbo Encoder and Decoder Structure used in this study. Simulation results are given in Sect. 4 and we finally conclude in Sect. 5.

2 M-CSK-OFDM System Model

The baseband transmitter receiver block diagram of the M-CSK-OFDM system for VLC is given in Fig. 1.

Fig. 1
figure 1

System model of M-CSK-OFDM for VLC

Randomly generated binary information bits on the transmitter side of the M-CSK-OFDM system given in Fig. 1 are encoded by one of the channel coding techniques. In this study, the channel encoders are compared with using classical TC, RS–CC and DBTC as the encoder. The obtained data at the channel encoder output are modulated by the CSK modulator and each symbol determined by \((\mathrm{x},\mathrm{ y})\) chromatic coordinates is mapped to M-level CSK symbols in the color space standard defined by the CIE 1931 International Commission on Lighting [6]. The CIE 1931 color space chromaticity diagram represents the chromaticity values of all colors visible to the human eye with \(\mathrm{x}\) and \(\mathrm{y}\). Next, the chromaticity values \((\mathrm{x},\mathrm{ y})\) are converted into intensity values \(\left[{\mathrm{P}}_{\mathrm{r}}, {\mathrm{P}}_{\mathrm{g}}, {\mathrm{P}}_{\mathrm{b}}\right]\) to drive RGB LEDs according to the conversion rule:

$$x={P}_{r}\bullet {X}_{I}+{P}_{g}\bullet {X}_{J}+{P}_{b}\bullet {X}_{K}$$
(1)
$$y={P}_{r}\bullet {Y}_{I}+{P}_{g}\bullet {Y}_{J}+{P}_{b}\bullet {Y}_{K}$$
(2)
$${P}_{T}={P}_{r}+{P}_{g}+{P}_{b}$$
(3)

where (\({\mathrm{X}}_{\mathrm{I}}\), \({\mathrm{Y}}_{\mathrm{I}}\)), (\({\mathrm{X}}_{\mathrm{J}}\), \({\mathrm{Y}}_{\mathrm{J}}\)) and (\({\mathrm{X}}_{\mathrm{K}}\), \({\mathrm{Y}}_{\mathrm{K}}\)) are the chromaticity values of the three corners corresponding to the colors red (band I), green (band J) and blue (band K). \({\mathrm{P}}_{\mathrm{T}}\) is the total density that can be obtained from the average symbol energy \({\mathrm{E}}_{\mathrm{s}}\) or the average bit energy \({\mathrm{E}}_{\mathrm{b}}\). The obtained intensity forms a 3D symbol \({\mathrm{S}}_{\mathrm{l}}=\left[{\mathrm{P}}_{\mathrm{r}}, {\mathrm{ P}}_{\mathrm{g}}, {\mathrm{P}}_{\mathrm{b}}\right] \left(0\le \mathrm{l}\le \mathrm{M}-1\right)\) in the signal space, like the RGB intensity space. After matching the subcarrier for each color with the modulated data obtained at the output of the CSK modulator, time domain samples are obtained by subjecting them to inverse fast Fourier transform in the IFFT block. Then, periodic prefixes are added to the samples in the time domain in the CP adding block to obtain OFDM symbol packets for each color. Since the intensity modulation/direct detection (IM/DD) method is used for information transmission in VLC systems, the signal to be sent over the LEDs must be real-valued and also positive.

OFDM signals obtained at the CP insertion block output are parsed into their real and imaginary parts in the Real/Imaginary separator block. Then, since the obtained OFDM signals are real but bipolar signals, it is sufficient for the IM/DD method to make the information signals sent to each component using DC level with positive values as seen from the block diagram. In this paper, the DC level is determined such that the smallest value of the OFDM information signals sent is zero. The obtained real positive OFDM signals are transmitted over the multipath optical channel through RGB LEDs and collected by photo diodes at the receiver side and are distorted with additive white Gaussian noise (AWGN). At the receiver side, after correcting the distorted data in both frequency or time domain by appropriate channel equalizer techniques, the reverse of the operations on the transmitter side is done. At the FFT output, after optical/electrical conversion by photo detectors, the estimates of the three color intensity components. \(\widehat{\mathrm{S}}=\left[\widehat{{\mathrm{P}}_{\mathrm{r}}}, \widehat{{\mathrm{P}}_{\mathrm{g}}}, \widehat{{\mathrm{P}}_{\mathrm{b}}}\right]\) are demodulated in the 3D signal space according to the minimum Euclidean distance. The resulting \(\overline{\mathrm{S} }\) estimate can be derived as in (4):

$$\overline{S }=arg\underset{{S}_{l}\in A}{\mathrm{min}}\Vert \widehat{S}-{S}_{l}\Vert$$
(4)

Here, \(\mathrm{A}\) shows the alphabet of M-level CSK symbols in the 3D signal space. Hence, the binary output bits can be regained from \(\overline{\mathrm{S} }\) by reverse mapping. After decoding the demodulated data in the CSK De-Mapping block with the help of the channel decoder, desired performance criteria such as bit error rate (BER) can be calculated.

3 Channel Coding

Turbo codes, presented by Berrou et al. in 1993, provide one of the most powerful forward error correction channel coding techniques and optimum performance approaching the Shannon limit. In recent years, researchers have shown that double binary Turbo codes can provide many advantages over conventional single binary Turbo codes [16]. This Turbo encoder has replaced classical Turbo encoders in communication standards such as Digital Video Broadcasting Standard for Return Channel via Satellite (DVB-RCS) and IEEE 802.16 (WiMAX).

3.1 Double Binary Turbo Coding

DBTC system is shown in Fig. 2 where \({S}_{1}\), \({S}_{2}\) and \({S}_{3}\) are shift registers.

Fig. 2
figure 2

The DBTC system [12]

As can be seen from Fig. 2, unlike the classical Turbo encoder structure [16, 17], the encoding is done over two input bits. Tail bits which are used in the classic Turbo encoder to initialize the encoder, are not used in the DBTC encoder. The data string to be encoded is entered twice in the cyclic sequential systematic overlay (CRSC) encoder. First, the normal data string enters into the encoder when the switch is in position 1. In the second, when the switch is in position 2, the interleaved data string is entered into the encoder. The encoder is fed by the block of \(\mathrm{M}\) pairs made up of \(\mathrm{K}=2\mathrm{M}\) bits.

First, the encoder is initialized to zero and encoded with the normal data string to \(\mathrm{i }= 0, \dots ,\mathrm{ M}-1\). The data string is encoded once to obtain the final state \({\mathrm{S}}_{\mathrm{M}}^{0}\). Then, the cyclical state (circulation state) \({\mathrm{S}}_{\mathrm{C}}\) value is calculated as in the following equation:

$${\mathrm{S}}_{\mathrm{C}}={\langle \mathrm{I}+{\mathrm{G}}^{\mathrm{M}}\rangle }^{-1}{\mathrm{S}}_{\mathrm{M}}^{0}$$
(5)

where \(I\), is the identity matrix and \({G}^{M}\) is the generator matrix of the used code. The correlation between \({S}_{C}\) and \({S}_{M}^{0}\) is shown in Table 1 for \(M\) values. Then, the cycle status \({S}_{C1}\) is found from Table 1 by using the final state of the encoder and the number of binary data pairs \(M\) value. The data string is encoded again by turning the encoder to the \({S}_{C1}\) state and this initial encoding is called \({C}_{1}\) encoding.

Table 1 Cycle state conformity table

Secondly, the encoder is set to zero again and the cyclic state \({\mathrm{S}}_{\mathrm{C}2}\) found after precoding as in encoder \({\mathrm{C}}_{1}\) encoding is coded with the interleaved data string with \(\mathrm{j }= 0, \dots ,\mathrm{ M}-1\). Similarly, the cycle status \({\mathrm{S}}_{\mathrm{C}2}\) is found from Table 1 by using the last state of the encoder and the \(\mathrm{M}\) value. By turning the encoder into \({\mathrm{S}}_{\mathrm{C}2}\) state, the interleaved data is encoded again and the encoded data string is obtained. This second encoding is called \({\mathrm{C}}_{2}\) encoding.

To perform the coding process of the data string, two cycle states consisting of one conversion state for each component encoder are determined and the data string is encoded 4 times. For each data pair, the encoded codeword contains the input pair (A and B) two systematic bits and four bits for the normal and interleaved data stream, respectively, (\({\mathrm{Y}}_{1}\), \({\mathrm{W}}_{1}\),\({\mathrm{Y}}_{2}\) and \({\mathrm{W}}_{2}\)). Coded codeword is formed as A, B, \({\mathrm{Y}}_{1}\), \({\mathrm{W}}_{1}\), \({\mathrm{Y}}_{2}\), \({\mathrm{W}}_{2}\).

3.2 Double Binary Turbo Decoding

Double Binary Turbo Decoder structure is shown below in Fig. 3. Systematic information is the channel value of information symbols \({\mathrm{d}}_{\mathrm{w}}=\left\{00, 01, 10, 11\right\}\). Parity 1 and Parity 2 are the channel values of the encoder parity output bits. \({\mathrm{L}}_{\mathrm{i}}\left({\widehat{\mathrm{d}}}_{\mathrm{w}}\right)\) is the logarithmic likelihood ratio (LLR) of the posterior probability (APP) for \(\mathrm{i}=1, 2, 3\). \({\mathrm{L}}_{\mathrm{i}}^{\mathrm{e}}\left({\widehat{\mathrm{d}}}_{\mathrm{w}}\right)\) is the extrinsic information.

Fig. 3
figure 3

Double Binary Turbo de-coding architecture [13]

In the Turbo decoder, the sequential input bits are split into information and parity bits along the trellis multiplexer. Soft input Soft Output (SISO) information generated by the decoder, parity bits and a priori information are used in decoding. Decoder outputs are compared with the previous decoding outputs. This decoding process is then repeated to increase the reliability of the decoder outputs. After a few iterations, the final values are determined by soft decision.

In this work, the Max-Log-MAP algorithm was used for the dual Turbo decoder due to its low computational complexity, high efficiency and low power consumption [18]. Temporary information mapping for feedback was done according to [19]. For \(i=1, 2, 3\), \({\mathrm{L}}_{\mathrm{i}}\left({\widehat{\mathrm{d}}}_{\mathrm{w}}\right)\) is the logarithmic likelihood ratio of the posterior probability and \({\mathrm{L}}_{\mathrm{i}}^{\mathrm{e}}\left({\widehat{\mathrm{d}}}_{\mathrm{w}}\right)\) is the temporary information.

First, according to the decoder rule, the logarithm of the branch transition probability is calculated as in the following equation:

$${\overline{\gamma }}_{w}^{i}\left({S}_{w-1}, {S}_{w}\right)=\mathrm{ln}{\gamma }_{w}^{i}\left({S}_{w-1}, {S}_{w}\right)=\mathrm{ln}p\left({y}_{w}|{d}_{w}\right)p\left({d}_{w}\right)$$
(6)

where \({S}_{w}\), is the encoder status at time w; \({y}_{w}\) is the received symbol and \({d}_{w}\) represents the information symbol. This equation can be rewritten as follows [20]:

$$\begin{aligned} \overline{\gamma }_{w} \left( {S_{w - 1} , S_{w} } \right) & = \frac{1}{2}L_{C} \left[ {y_{w}^{s,I} x_{w}^{s,I} \left( i \right) + y_{w}^{s,Q} x_{w}^{s,Q} \left( i \right)} \right] + \ln p\left( {d_{w} } \right) + W \\ & = \frac{1}{2}L_{C} \left[ {y_{w}^{p,I} x_{w}^{p,I} \left( {i, S_{w - 1} , S_{w} } \right) + y_{w}^{p,Q} x_{w}^{p,Q} \left( {i, S_{w - 1} , S_{w} } \right)} \right] \\ \end{aligned}$$
(7)

where \({\text{y}}_{{\text{w}}}^{{{\text{s}},{\text{I}}}}\), \({\text{y}}_{{\text{w}}}^{{{\text{s}},{\text{Q}}}}\), \({\text{y}}_{{\text{w}}}^{{{\text{p}},{\text{I}}}}\) and \({\text{y}}_{{\text{w}}}^{{{\text{p}},{\text{Q}}}}\) are received systematic and parity values sent along I and Q channels, respectively. Here, \({\mathrm{x}}_{\mathrm{w}}^{\mathrm{s},\mathrm{I}}\left(\mathrm{i}\right)\), \({\mathrm{x}}_{\mathrm{w}}^{\mathrm{s},\mathrm{Q}}\left(\mathrm{i}\right)\), \({\mathrm{x}}_{\mathrm{w}}^{\mathrm{p},\mathrm{I}}\left(\mathrm{i}, {\mathrm{S}}_{\mathrm{w}-1}, {\mathrm{S}}_{\mathrm{w}}\right)\) and \({\mathrm{x}}_{\mathrm{w}}^{\mathrm{p},\mathrm{Q}}\left(\mathrm{i}, {\mathrm{S}}_{\mathrm{w}-1}, {\mathrm{S}}_{\mathrm{w}}\right)\) are quadratic phase shift keying (QPSK) signal indicates the bits of the code word mapped to the constellation diagram and W is the constant. For the use of double binary Turbo code in QPSK, the odd indices of the coded data string are sent from the I channel and the even indices from the Q channel.

Then, the values of \({\alpha }_{w}({S}_{w})\) and \({\beta }_{w}({S}_{w})\) values obtained by recursion are calculated, then the MAX-function is used.

$${\overline{\alpha }}_{w}\left( {S}_{w}\right)\approx \underset{{S}_{w-1}}{\mathrm{max}}\left[{\overline{\gamma }}_{w}\left({S}_{w-1}, {S}_{w}\right)+{\overline{\alpha }}_{w-1}({S}_{w-1})\right]$$
(8)
$${\overline{\beta }}_{w-1}\left( {S}_{w-1}\right)\approx \underset{{S}_{w}}{\mathrm{max}}\left[{\overline{\gamma }}_{w}\left({S}_{w-1}, {S}_{w}\right)+{\overline{\beta }}_{w}({S}_{w})\right]$$
(9)

For \(i=1, 2, 3\), the LLR values are calculated form (10):

$${L}_{i}\left({d}_{w}\right)=ln\frac{\sum_{{d}_{w}=i}^{\left({S}_{w-1}, {S}_{w}\right)}{\gamma }_{w}^{i}\left({S}_{w-1}, {S}_{w}\right){\alpha }_{w-1}({S}_{w-1}){\beta }_{w}({S}_{w})}{\sum_{{d}_{w}=0}^{\left({S}_{w-1}, {S}_{w}\right)}{\gamma }_{w}^{0}\left({S}_{w-1}, {S}_{w}\right){\alpha }_{w-1}({S}_{w-1}){\beta }_{w}({S}_{w})}$$
(10)

and the temporary information can also be calculated as in the equation given below:

$${L}_{i}^{e}\left({\widehat{d}}_{w}\right)=ln\frac{\sum_{{d}_{w}=i}^{\left({S}_{w-1}, {S}_{w}\right)}{\gamma }_{w}^{i(e)}\left({S}_{w-1}, {S}_{w}\right){\alpha }_{w-1}({S}_{w-1}){\beta }_{w}({S}_{w})}{\sum_{{d}_{w}=0}^{\left({S}_{w-1}, {S}_{w}\right)}{\gamma }_{w}^{0(e)}\left({S}_{w-1}, {S}_{w}\right){\alpha }_{w-1}({S}_{w-1}){\beta }_{w}({S}_{w})}$$
(11)

The \({L}_{i}^{e}\left({\widehat{d}}_{w}\right)\) value of SISO decoder 1 is the a priori information of SISO decoder 2. The decoding in SISO decoder 2 is performed by the same method as in SISO decoder 1. Likewise, the \({L}_{i}^{e}\left({\widehat{d}}_{w}\right)\) value of SISO 2 is the apriori information of SISO 1. After decoding iterations, soft decisons are made according to the following equation:

$$\hat{d}_{w} = \left\{ {\begin{array}{*{20}l} {01L\left( {\hat{d}_{w} } \right) = L_{1} \left( {\hat{d}_{w} } \right)\quad and\quad L_{1} \left( {\hat{d}_{w} } \right)} \hfill & { > 0\quad ise,} \hfill \\ {10L\left( {\hat{d}_{w} } \right) = L_{2} \left( {\hat{d}_{w} } \right)\quad and\quad L_{2} \left( {\hat{d}_{w} } \right)} \hfill & { > 0\quad ise,} \hfill \\ {11L\left( {\hat{d}_{w} } \right) = L_{3} \left( {\hat{d}_{w} } \right)\quad and\quad L_{3} \left( {\hat{d}_{w} } \right)} \hfill & { > 0\quad ise,} \hfill \\ {00di\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{g} erdurumlar} \hfill & {} \hfill \\ \end{array} } \right.$$
(12)

where \(L\left({\widehat{d}}_{w}\right)=max\left({L}_{1}\left({\widehat{d}}_{w}\right), {L}_{2}\left({\widehat{d}}_{w}\right), {L}_{3}\left({\widehat{d}}_{w}\right)\right)\).

4 Computer Simulation Studies

We present the Monte-Carlo results here in three parts: First part includes AWGN channel simulations, second part includes single tap optical LOS channel simulations using the indoor multi-path optical channel impulse response values which are measured in [21] in Table 2, and the third part includes multi-path optical channel simulations from Table 2. Un-coded M-CSK-OFDM, 1/3 classical TC coded, RS–CC coded and DBTC coded M-CSK-OFDM system performances are compared in all simulation results for 48 sub-carrier and 64-point FFT process.

Table 2 5-tap optical channel impulse pesponses [21]

The RS–CC encoder, which is used in comparisons, consists of Reed-Solomon, block interleaver and Convolutional Coding combination. Data packets are prepared as shown in IEEE 802.16-2004 [22] Standard. For each sub-data packets, 1912 bits of the 2047 bit Pseudo Noise (PN) sequence are taken as data and first encoded with Reed-Solomon coding (255, 239, GF 28) in accordance with the standard [22]. The data passed through the block interleaver is subject to Convolutional Coding (CC) at 1/3 ratio and encoding is done [22]. The encoded data is then passed through CSK mapping and transformed into any desired modulation order (M-CSK, M = 4, 8, 16). In this study, 64-point IFFT process is applied to the 64-bit frequency domain OFDM signal, which is created by leaving 48 sub-carriers, 4 pilots and 12 bits within the safety margin for the production of the OFDM signal. The last 1/4 part (16 bits) of the obtained 64-bit time domain OFDM signal is added to the beginning as a cyclic prefix (CP) to create an RS–CC coded M-CSK-OFDM symbol consisting of 80 bits. At receiver, after OFDM-demodulation and CSK reverse mapping, the received data is decoded using the soft output Viterbi algorithm (SOVA) in the channel decoder. In decision mechanism block, the decoded data are decided and the required performance results are compared.

In the double binary Turbo encoder shown in Fig. 1, the 2880 bit data string is divided into two and passed through the encoder input, and the encoded data sequence is obtained. The obtained encoded data string is passed through CSK mapping and transformed into any desired signal form. OFDM is generated from the CSK mapped data as in any other RS–CC encoder. In the receiver structure, after OFDM-demodulation and CSK reverse mapping, the received data is decoded using the Max-Log-MAP algorithm in the double binary Turbo decoder in Fig. 2. Then, the decoded data are decided and the desired performance comparisons are evaluated.

In simulation studies, Bit Error Rate (BER) performance criteria are used to compare the performance of encoders. The obtained performances by using 5 iterations in double binary and classical Turbo decoders are examined.

4.1 AWGN Channel Simulation Results

In the first part of the study, BER-SNR performances of un-coded OFDM using 4-CSK, 8-CSK and 16-CSK modulation, 1/3 RS–CC, classical TC and DBTC coded OFDM systems over AWGN channel are compared. Simulations are obtained over 10,000 Monte-Carlo run using 1000 symbol package of the related methods.

Figure 4a shows the comparison of the BER-SNR performances of the un-coded OFDM, RS–CC and classical TC coded OFDM methods in the AWGN channel for 4-CSK modulation. Figure 4b investigates the comparison of the BER-SNR performances of the un-coded OFDM, RS–CC and DBTC coded OFDM methods. Figure 4c evaluates the comparison of the BER-SNR performances of the un-coded OFDM, RS–CC, classical TC and DBTC coded OFDM methods.

Fig. 4
figure 4

BER-SNR performance results over 4-CSK-OFDM AWGN channel; a un-coded OFDM, RS–CC and classical TC-OFDM systems, b un-coded OFDM, RS–CC and DBTC-OFDM systems, c BER-SNR comparisons for both (a) and (b)

Figure 4a shows the 4-CSK modulation performance results. It is seen that the classical TC encoder at 1E-3 BER provides approximately 5 dB coding gain from the un-coded BER performance in the first iteration. Approximately 1.8 dB of iteration gain is obtained between the first iteration and the second iteration. As the number of iterations increases, the iteration gain continues to increase by decreasing. After the fourth iteration, the increase in performance is now negligible. When classical RS–CC coder performance is examined, it is seen that RS–CC has better success than the first iteration of classical Turbo coder. Figure 4b shows the comparison of the BER-SNR performances of the un-coded OFDM, RS–CC and DBTC coded OFDM methods in the AWGN channel for 4-CSK. When the BER-SNR performances for the 4-CSK modulation given in Fig. 4b are examined, it is seen that the DBTC encoder at the 1E-3 BER provides approximately 5.8 dB coding gain from the un-coded BER performance in the first iteration. Approximately 1.8 dB of iteration gain is obtained between the first iteration and the second iteration. As the number of iterations increases, the iteration gain continues to increase by decreasing. After the fourth iteration, the increase in performance has now become negligible. When classical RS–CC has better performance than double binary turbo coder for SNR < 13 dB. As the SNR value increases (for SNR > 13 dB), lower performance is obtained with RS–CC than the first and subsequent iterations of the double binary Turbo encoder.

The comparison of BER-SNR performances of un-coded OFDM, RS–CC, classical TC and DBTC coded OFDM methods in AWGN channel for 4-CSK modulation are compared in Fig. 4c. These results are evaluated for four iterations due to the best performances obtained in the previous results. Figure 4c shows the comparison of 4-CSK modulation performances of RS–CC, classical TC and DBTC encoders. Here, it is seen that the 4-CSK-OFDM system using DBTC encoding provides approximately 1 dB SNR gain to conventional TC for the 1E-5 BER level, as well as 3 dB to RS–CC and 9.5 dB SNR enhancement, to the un-coded 4-CSK-OFDM system at 1E-3 BER level. In addition, it is seen that DBTC provides more coding gain than classical Turbo coder in all iterations.

Since the best performances with channel encoders were obtained in the fourth iteration, the fourth iteration results are given in the next comparisons.

Figure 5 demonstrates the BER-SNR comparison of the un-coded OFDM, RS–CC, classical TC and DBTC coded OFDM methods for the AWGN channel using 8-CSK modulation.

Fig. 5
figure 5

BER vs. SNR results over 8-CSK-OFDM AWGN channel

Figure 5 illustrates the BER-SNR results of the un-coded OFDM, RS–CC, classical TC and DBTC coded OFDM methods in the AWGN channel for 8-CSK modulation. It is noticed that 8-CSK-OFDM system using DBTC coding provides nearly 1 dB SNR gain to conventional TC for 1E-3 BER level, 3 dB to RS–CC and 8 dB to 8-CSK-OFDM system without coding. In addition, it is seen that DBTC provides more coding gain than classical Turbo coder in all iterations.

Figure 6 depicts the comparison of the BER-SNR achievements of the un-coded OFDM, RS–CC, classical TC and DBTC coded OFDM methods in the AWGN channel for 16-CSK modulation.

Fig. 6
figure 6

BER vs. SNR performances over 16-CSK-OFDM AWGN channel

Figure 6 demonstrates the comparison of BER-SNR performances of the un-coded OFDM, RS–CC, classical TC and DBTC coded OFDM methods in AWGN channel for 16-CSK. When Fig. 6, which depicted the comparison of 16-CSK examined, it is noticed that 16-CSK-OFDM system using DBTC coding provides 1.2 dB SNR gain to conventional TC for 1E-3 BER and 3 dB to RS–CC and finally 8.5 dB to un-coded 16-CSK-OFDM system. Besides, it is seen that DBTC gives some coding gain than classical Turbo coder in all iterations.

4.2 Single-path Optical LOS Channel Simulation Results

In the second part of the section, only single tap has the impulse response value of the indoor multipath optical channel impulse response values given in Table 2 in order to perform flat fading optical LOS channel simulations. In the given simulations, BER-SNR performances of un-coded OFDM using 4-CSK, 8-CSK and 16-CSK modulation, 1/3 RS–CC, classical TC and DBTC coded OFDM systems over single-tap optical LOS channel are compared. Simulations are obtained over 10,000 Monte-Carlo cycles using 1000 symbol package of related methods.

Figure 7 depicts the comparison of BER-SNR performances of un-coded OFDM, RS–CC, classical TC and DBTC coded OFDM methods in single-tap optical LOS channel for 4-CSK modulation.

Fig. 7
figure 7

BER-SNR performance analysis for single-tap optical LOS channel with 4-CSK

When Fig. 7 showing the performances of 4-CSK modulation is examined, it is observed that similar results and gains are acquired with the AWGN channel. This can be explained by the fact that the transmitter and receiver can see each other and are very close to each other in a flat fading LOS channel environment [21].

Figure 8 demonstrates the BER-SNR performances of un-coded OFDM and RS-CC and classical TC and DBTC coded OFDM methods in single-tap optical LOS channel for 8-CSK modulation.

Fig. 8
figure 8

BER-SNR performance analysis for single-tap optical LOS channel for 8-CSK-OFDM system

Investigating the achievements of 8-CSK modulation in Fig. 8, it is understood that similar results and gains are acquired with the AWGN channel.

Figure 9 illustrates the comparison of BER-SNR performances in single-tap LOS channel for 16-CSK modulation using the aforementioned techniques.

Fig. 9
figure 9

BER-SNR performance analysis for single-tap optical LOS channel for 16-CSK-OFDM system

Evaluating the accomplishments of 16-CSK modulation in Fig. 9, it is perceived that similar results and gains are obtained with the AWGN channel.

4.3 Multipath Optical LOS Channel Simulation Results

In this section of the simulation studies, we used indoor multipath optical channel impulse response measurement values which take part in Table 2. In simulation studies, BER-SNR performances of un-coded OFDM, 1/3 RS–CC, classical TC and DBTC encoded OFDM systems employing 4-CSK, 8-CSK, and 16-CSK modulations and the results are compared over the multipath optical channel. Frequency domain equalizer (FDE) is used in the receiver after the FFT process to equalize the multipath optical channel. Simulations are obtained over 10,000 Monte Carlo run using 1000 symbol package of the related methods.

In Fig. 10, BER-SNR performance results of the un-coded OFDM-FDE, RS–CC, classical TC and DBTC coded OFDM-FDE methods in the multipath optical channel for 4-CSK modulation is illustrated.

Fig. 10
figure 10

BER-SNR performance analysis for multi-path optical channel for 4-CSK-OFDM-FDE system

When Fig. 10, which shows the performance of the channel encoders considered in this study, is examined, it is understood that for the 1E-3 BER value, approximately 14 dB better performance than the un-coded performance, nearly 10 dB better performance than the RS–CC encoder and about 1 dB better performance than the conventional TC encoder with the proposed DBTC encoder.

Figure 11 demonstrates the performances of the un-coded OFDM-FDE, RS–CC, classical TC and DBTC coded OFDM-FDE methods in the multipath optical channel for 8-CSK modulated data.

Fig. 11
figure 11

BER-SNR performance analysis for Multi-path optical channel for 8-CSK-OFDM-FDE system

When Fig. 11, which illustrates the performances of the channel encoders considered in this study, is examined, for the 1E-3 BER value, it is approximately 14 dB from the un-coded performance with the proposed DBTC encoder, approximately 9 dB from the performance of the RS–CC encoder and approximately from the performance of the classical TC encoder. It is understood that 1.5 dB better performance has been achieved.

Figure 12 depicts the comparison of the BER performances of the un-coded OFDM-FDE, RS–CC, TC and DBTC coded OFDM-FDE methods in the multipath optical channel for 16-CSK modulation.

Fig. 12
figure 12

BER-SNR performance analysis for Multi-path optical channel for 16-CSK-OFDM system

When Fig. 12, which presents the performance of the channel encoders considered in this study, is examined, it is approximately 14 dB from the un-coded performance with the proposed DBTC encoder, about 8.5 dB from the performance of the RS–CC encoder and approximately from the performance of the classical TC encoder for the 1E-3 BER value. It is understood that 1.2 dB better performance is obtained.

5 Conclusions

In this study, it is suggested to combine DBTC technique with CSK modulation without flicker problem as a solution to the flicker problem of VLC systems. It is verified that the proposed DBTC coded M-CSK-OFDM transmission systems for VLC channels in this paper. The proposed DBTC coded M-CSK-OFDM, TC coded M-CSK-OFDM, RS–CC coded M-CSK-OFDM and un-coded M-CSK-OFDM communication systems were compared employing BER-SNR achievement benchmark over AWGN channel, single-path optical LOS channel and multi-path optical channel simulations. From the computer simulation results, it is observed that the acquired performance in case of using DBTC in M-CSK OFDM systems is better than the obtained performance with other encoders. From the obtained results it is noticed that the DBTC encoder provides significant encoding gain. The BER achievements, obtaining approximately 5.5 dB more SNR gain than RS–CC, and approximately 14 dB more gain than un-coded OFDM for 10–3 BER level emerged as the contribution of this study. The obtained performances with this proposed method show that DBTC encoders can be used in new generation wireless communication systems. Especially in the embedded transmitter–receiver design where spectrum efficiency, low complexity and low received signal powers are required, double binary Turbo encoders can be used comfortably without compromising performance.