1 Introduction

In Optical Wireless Communication (OWC) system, the optical signal transmitted through a free-space optical channel. The infrared and ultraviolet wavelengths are the most utilized in the OWC channel [1]. However, Visible Light Communication (VLC) is considered an OWC system that uses the visible light spectrum, which is characterized by low attenuation loss [2]. The optical light source and photo-detector are the two important components in the OWC system that utilized to convert the electrical signal to an optical one and vice versa respectively. In the optical and OWC systems, light sources vary from one application to another, where the Light Emitting Diodes (LEDs) and Laser Diodes (LDs) are the most recommended sources. The choice between LED and LD is according to the length of transmission distance as they differ in the levels of transmitted power. Furthermore, The Avalanche Photo Detector (APD) and the PIN photo-detector are mostly recommended with the LD and LED respectively, because each detector has a different receiving sensitivity. The OWC system emerged to overcome the limitations imposed by the nature of radio frequency propagation in wireless communication systems. Other advantages of OWC systems include [3,4,5,6,7,8,9,10,11]:

  • The OWC systems operate in the unlicensed optical spectrum.

  • The bandwidth of the OWC system is continuously improving as a result of the frequent progress of light sources manufacturing technology. Currently, the LEDs and LDs can be providing several gigabits transmission rate per second.

  • The OWC systems use optical components having a small size, inexpensive, low power consumption, and low heat radiation compared to the components used in the traditional wireless communication systems.

  • Immunity to electromagnetic interference.

  • The OWC systems are known as secured systems due to the use of a direct sequence spread spectrum technique. In this technique, the data is spread by the orthogonal sequence over the total available bandwidth. This provides more improvement in communication security, given that the light cannot penetrate objects in its propagation path.

  • The usage of white light LEDs in VLC systems offers high data rate transmission. This achieved by connecting several white light LEDs to each other’s using the existing electrical wiring and line-of-sight components.

The security enhancement of the OWC system depends on the utilized code length. While the code length and code weight are the two factors affecting the transmission rate and system Bit Error Rate (BER) performance, respectively. Further, the Multiple User Interference (MUI) calculation depends on the value of the cross-correlation between the desired user code sequence and the code sequences of the other users. The main contributions of this paper are: (1) designing an OWC system based on a coherent homodyne Optical Code Division Multiple Access (OCDMA) transceiver, (2) designing a new code sequence family with good correlation characteristics to achieve excellent security level, and (3) minimizing the MUI to enhance the system capacity at the optimal BER performance.

The proposed Double Length Modified Prime Code (DL-MPC) family belonging to the MPCs which is discussed in [12,13,14,15,16,17]. The construction of these code families was based on the use of different orthogonal code-words whose number equals one of the prime numbers \(\left\{3, 5, 7, 11, \ldots .\right\}.\) These orthogonal code-words are represented by several time chips that equal to the used prime number \(P\in \left\{3, 5, 7, 11, \ldots .\right\},\) which is called the code word length. One of these time chips is ‘HIGH’ and the other (\(P-1\)) chips are ‘ZERO’. The position of the chip ‘HIGH’ is given by the shift number \(S,\) where \(\mathrm{S}\in \left\{0, 1, 2, \ldots ., (P-1)\right\}.\)For example, when \(P=5\), the available HIGH chip positions are \(0, 1, 2, 3, and\, 4\) and the corresponding generated code words are, hence, \(\left(10000\right), \left(01000\right), \left(00100\right), \left(00010\right),\) and \(\left(00001\right)\), respectively. These code words represent the Prime Code (PC) sequences, where all the other prime code families that used in the OCDMA networks are constructed based on these sequences.

2 DL-MPC construction analysis and correlation results

The construction principles of the DL-MPC based on the existing MPC sequences, were each DL-MPC sequence consists of two parts. The first part is the MPC sequence, while the second one is the DL part, which discussed in the following section. This result leads to \({P}^{2}\) total number of code sequences, where each sequence has a length of \(2{P}^{2}\) chips. In which, each of the first and second parts has a length of P2 chips. After completing the coding table of the DL-MPC sequences, the correlation characteristics are investigated and discussed.

2.1 Code construction analysis

The MPC is a time shifted version of the PC sequences which is generated as follows:

  • Multiply the index represented by Galois Field (GF) with the group number x in Table 1, where \(GF= \left\{0, 1, 2, \ldots ,P-1\right\}\).

    Table 1 DL-MPC sequences when P = 5
  • Reduce the multiplication results by modulo P.

  • The first sequence generated in each group is rotated horizontally \((\mathrm{P}-1)\) times to generate the other \((\mathrm{P}-1)\) sequences in the same group as shown in Table 1.

  • Add the null code word denoted by “X” (i.e., X = “00,000”) as a padded code word to reduce the cross-correlation value between sequences and improve the information security.

  • Use the order of \({2}^{{\varvec{g}}{\varvec{r}}{\varvec{o}}{\varvec{u}}{\varvec{p}}\boldsymbol{ }{\varvec{i}}{\varvec{n}}{\varvec{d}}{\varvec{e}}{\varvec{x}}\boldsymbol{ }{\varvec{m}}{\varvec{o}}{\varvec{d}}\boldsymbol{ }{\varvec{P}}}\) column in each group and rotate it vertically (\(P-1\)) times, see the bold underlined code words in Table 1.

However, Eq. (1) represents the auto- and cross-correlation properties for any pair of codes i and j, where \(i,j \in \left\{0, 1, 2, P-1\right\}\).

$${C}_{ij}=\left\{\begin{array}{lll}2P-1,&\quad if\, i=j\\ 0,&\quad if\, i\, and\, j\, share\, the\, same\, group, i \ne j\\ 1,&\quad if\, i\, and\, j\, are\, from\, different\, groups, i \ne j\end{array}\right.$$
(1)

The auto and cross-correlation values are measured at the shift number that equal to the code length or multiple of the code length. In the case of auto-correlation, the peak value equal to \(2P-1\), which represents the code weight. However, the cross-correlation value comes out to be ‘0’ or ‘1’ in the case where the two different codes fall in the same group or two different groups, respectively. Table 2 illustrates the comparison of the coding parameters between the MPC families such as the code length, code weight, auto and cross-correlation coefficients. This comparison shows that the proposed code has the longer length than the other ones, which tends to enhance communication security. Also, the proposed code and the Weighted MPC (WMPC) have the highest auto-correlation peak value compared to the other codes. For a large value of P, the weight of both DL-MPC and WMPC is large enough in contrast to the new-MPC (n-MPC), Double Padded MPC (DPMPC), and the Enhanced MPC (EMPC). Such large code weight gives better BER performance results.

Table 2 Comparison of MPCs families

2.2 Correlation results

The auto and cross-correlation values of code sequence and between codes respectively are measured at the normalized data bit duration \({T}_{b}/{T}_{c}=L,\) where \(\mathrm{L}\) is the code length, \({T}_{b}\) is the data bit duration and \({T}_{c}\) is the chip time duration. In our results, \(L={2P}^{2}\) which refers to the time shift number 50 when \(P=5\). Figures 1 and 2 illustrate the auto-correlation function of the code sequences \({\mathrm{C}}_{23}\) and \({\mathrm{C}}_{30}\), respectively. The results show that at the shift number 50, the peak value of the auto-correlation function equals to 9.

Fig. 1
figure 1

Auto-correlation values of code sequence C23, P = 5

Fig. 2
figure 2

Auto-correlation values of code sequence C30, P = 5

Figures 3 and 4 show the cross-correlation function between two code sequences in the same group. The results illustrate that the cross-correlation value equals ‘0’ at the shift number 50. While Figs. 5 and 6 show the cross-correlation value between two code sequences from two different groups, where the results illustrate that the cross-correlation value does not exceed ‘1’ at the same shift. For imperfect synchronization, the shift error bounded by two shifts maximum and the cross-correlation value cannot exceed ‘2’.

Fig. 3
figure 3

Cross-correlation values between code sequences in the same group C11 & C13, P = 5

Fig. 4
figure 4

Cross-correlation values between code sequences in the same group C32 & C34, P = 5

Fig. 5
figure 5

Cross-correlation values between code sequences from different groups C10 & C20, P = 5

Fig. 6
figure 6

Cross-correlation values between code sequences from different groups C23 & C40, P = 5

3 The proposed OWC model

The outdoor optical wireless propagation atmospheric channels are known to be naturally complex and dynamic. Such channels can affect the optical beam propagation characteristics, leading to losses in the signal strength and changes in signal properties such as amplitude and phase [18,19,20,21,22]. Therefore, many channel models have been studied in the literature to evaluate the OWC system performance [23,24,25,26,27,28]. In such models, various modulation techniques were introduced to enhance the channel performance. More importantly, this paper utilizes the gamma-gamma turbulence model and the Binary Phase Keying (BPSK) Modulation technique in the presence of the DL-MPC. The effect of the atmospheric, optical, window, pointing, visibility and beam divergence losses are considered in the calculation of the amount of optical power received and in the BER performance.

Figure 7 represents the proposed OWC system model using the coherent homodyne OCDMA transceiver in the presence of the DL-MPC in a multi-users form to share the wireless channel at the same time. In this model, the LD was chosen as a light source to increase the transmission distance and save the system bandwidth. In fact, the BPSK modulation technique is one of the most efficient techniques used in the optical communications systems in terms of BER performance. In this model, the input data bits first encoded by the DL-MPC sequences. The BPSK encoder encodes the OCDMA sequence to generate the electrical in-phase and quadrature-phase (IQ) signals. The light wave passing through the Mach Zehnder Interferometer (MZI) is modulated by the phase of the BPSK signal [29]. Furthermore, all the modulated sequences are transmitted through the wireless channel as shown in Fig. 8. In the desired receiver, the MZI phase demodulator is used to demodulate the received optical signal. Also, the OCDMA decoder is used to decode the output optical sequence from the MZI. Finally, the dual-balanced photo detector is used to remove the direct current and noise components. Then the IQ signal is reliably detected.

Fig. 7
figure 7

The proposed OWC system model

Fig. 8
figure 8

Wireless channel model

4 Link power budget analysis

Various parameters have a significant effect on the receiving power level, which results in the deterioration of the shape and quality of the transmitted signal. Efficient channel models are a very important tool in the link power budget analysis, where such models are typically developed to include the channel environment-related effects. Table 3 defines the system parameters, such parameters commonly utilized in the calculations of the amount of optical power received, \({P}_{r}\), for a given transmitted optical power, \({P}_{t}\).

Table 3 Link Parameters

Based on the parameters listed in Table 3, the received optical power can be expressed by Eq. (2), taking into consideration all losses in the system.

$${P}_{r}={P}_{t}\left({\eta }_{t}{\eta }_{A}\frac{4\pi {A}_{t}}{{\lambda }^{2}}\right){L}_{tp}{L}_{atm}{L}_{pol}{L}_{rp}(\frac{{A}_{t}}{4\pi {d}^{2}}){\eta }_{r}$$
(2)

For a small-scale scattering and large-scale refraction effects, the gamma–gamma channel model is recommended [30, 31]. Meanwhile, the received irradiance, denoted as I, can be expressed as \(I={I}_{X}{I}_{Y},\) where \({I}_{X}\) and \({I}_{Y}\) are the two statistical independent random variables. The \({I}_{X}\) arises from the large-scale turbulence eddies, whereas \({I}_{Y}\) arises from the small scale one. On the other hand, the gamma–gamma irradiance distribution function can be expressed as:

$$P\left(I\right)=\underset{0}{\overset{\infty }{\int }}P(I/{I}_{X})P\left({I}_{X}\right)d{I}_{X}$$
(3)

where \(P(I/{I}_{X})\) is the conditional pdf when \({I}_{X}\) is fixed, and it can be given as:

$$P\left( {I/I_{X} } \right) = \frac{{\beta (\beta I/I_{X} )^{{\beta - 1}} }}{{I_{X} \Gamma \left( \beta \right)}}exp\left( {\frac{{ - \beta I}}{{I_{X} }}} \right)I < 0$$
(4)

By substituting Eq. (4) in Eq. (3), the resultant irradiance distribution function can be expressed as:

$$P\left( I \right) = \frac{{2\left( {\alpha \beta } \right)^{{\left( {\alpha + \beta } \right)/2}} }}{{\Gamma \left( \alpha \right)\Gamma \left( \beta \right)}}I^{{(\alpha + \beta /2) - 1}} K_{{\alpha - \beta }} \left( {2\sqrt {\alpha \beta I} } \right)I < 0 T$$
(5)

where \(\alpha\), \(\beta\), \({K}_{n}(x)\), and \(\Gamma (x)\) refer to the effective number of large-scale eddies, small scale eddies, the modified 2nd kind Bessel function, and gamma function, respectively [2]. Furthermore, \(\alpha\) and \(\beta\) are mainly functions of the normalized intensity variance \({\sigma }_{I}\) and can be expressed as:

$$\alpha ={\left[exp(\frac{0.49{{\sigma }_{l}}^{2}}{{(1+1.11{{\sigma }_{l}}^{12/5})}^{7/6}})\right]}^{-1}$$
(6)
$$\beta ={\left[exp(\frac{0.51{{\sigma }_{l}}^{2}}{{(1+0.69{{\sigma }_{l}}^{12/5})}^{5/6}})\right]}^{-1}$$
(7)

Finally, the scintillation index can be expressed as:

$${{\sigma }_{N}}^{2}=exp\left[exp\left(\frac{0.49{{\sigma }_{l}}^{2}}{{\left(1+1.11{{\sigma }_{l}}^{12/5}\right)}^{7/6}}\right)+exp(\frac{0.51{{\sigma }_{l}}^{2}}{{\left(1+0.69{{\sigma }_{l}}^{12/5}\right)}^{5/6}})\right]-1$$
(8)

Figure 9 shows the gamma–gamma pdf of Eq. (5) for different strength regimes (i.e., weak, moderate, and strong). It also shows that when the irradiance and turbulence increase, the pdf curve spreads out.

Fig. 9
figure 9

Gamma–Gamma pdf versus irradiance for different turbulent

Figure 10 shows the scintillation index variation as a function of the log intensity variance. The results show that as the log intensity variance increases, the scintillation index increases up to a maximum value, which is equal to 1.25. Or, the value falls in the range of 1 and 1.25. When the log intensity variance increases, the scintillation index approaches the saturation turbulence regime, which is due to turbulence fading. Figure 11, however, illustrates the effective numbers of large and small scales eddies values as a function of the log intensity variance. The result indicates that the parameters \(\alpha\) and \(\beta\) decrease as the log intensity variance increases up to a certain value this is equal to 2. After this value, the parameter \(\alpha\) increases and \(\beta\), contrarily, decreases.

Fig. 10
figure 10

Scintillation index versus the log intensity variance

Fig. 11
figure 11

Large- and small-scale eddies versus the log intensity variance

5 Performance analysis and simulation results

The BER and throughput mathematical analysis of the proposed system, in the presence of DL-MPC sequences, is a corner stone in testing the OWC system parameters and the effectiveness of the proposed code. Also, the simulation results are illustrating the variations of the BER performance versus such parameters. Therefore, the following subsections cover the analysis and simulations of the proposed system model using the proposed code.

5.1 BER performance analysis

Throughout the mathematical analysis, it has been assumed that \(N\) is the maximum number of active users out of \({P}^{2}\) total available number of sequences, where P2—N is the remaining inactive number of users. Furthermore, \({\alpha }_{n}, n \in \left\{1, 2, \ldots, {P}^{2}\right\}\) is given as a random variable that is defined as [12, 17]:

$${\alpha }_{n}= \left\{\begin{array}{ll}1,&\quad if\, user\, \#n is\, active \\ 0,&\quad if\, user \#n is\, inactive\end{array}\right.$$
(9)

Thus, \(\sum_{n=1}^{P(P-1)}{\alpha }_{n}=N.\)

Additionally, in the first group, the number of active users can be represented by a random variable\(U\), and \(u\) is the realization variable of \(U\). If user #2 is recommended, then \(U=\sum_{n=1}^{P(P-1)}{\alpha }_{n} ,\) hence, the probability distribution can be expressed as:

$${P}_{U}\left(u\right)=\frac{\left(\begin{array}{c}P\left(P-1\right)\\ N-u\end{array}\right)\left(\begin{array}{c}P-1\\ u-1\end{array}\right)}{\left(\begin{array}{c}P\left(P-1\right)-1\\ N-1\end{array}\right)}$$
(10)

where \(u\in \left\{{u}_{min},{u}_{min+1},\ldots,{u}_{max}\right\},\)umin = max( N + P–P(P-1), 1), and umax = min( N, P). Furthermore, \(l=\left({l}_{0}, {l}_{1}, \ldots,{l}_{M-1}\right)U\) is a random vector which represents the amount of interference, where lz is a random variable representing the number of chips interfering the time slot number z. In addition, the vector \(w = (w_{0} ,{\text{ }}w_{1} , \ldots ,w_{{M - 1}} )^{U}\) is a realization of vector l and U = u. The probability of the random vector l can be expressed as:

$${P}_{l\vdots U}\left({w}_{0}, {w}_{1}, \ldots,{w}_{M-1}\vdots u\right)= \frac{1}{{M}^{N-u}}\frac{(N-u)!}{{w}_{0}{!w}_{1}{!\ldots}_{M-1}!}$$
(11)
$$where \sum_{j=0}^{M-1}{w}_{j}=N-U.$$

For the BPSK modulation scheme the BER can be expressed as:

$${P}_{b}= \frac{M}{2(M-1)}\sum_{u={u}_{min}}^{{u}_{max}}{P}_{E}{.P}_{U}(u)$$
(12)

According to the DL-MPC characteristics, Eq. (12) can be modified and expressed as:

$${P}_{E}\ge \sum_{{w}_{1}=2P}^{N-u}\left(\begin{array}{c}N-u\\ {w}_{1}\end{array}\right)\frac{1}{{M}^{{w}_{1}}}.{\left(1-\frac{1}{M}\right)}^{N-u-{w}_{1}}.\sum_{{w}_{0}=0}^{\mathrm{min}\left({w}_{1}-2P, N-u-{w}_{1}\right)}\left(\begin{array}{c}N-u-{w}_{1}\\ {w}_{0}\end{array}\right)\frac{1}{{\left(M-1\right)}^{{w}_{0}}}$$
$${\left(1-\frac{1}{M-1}\right)}^{N-u-{w}_{0}-{w}_{1}}+ 0.5\sum_{{w}_{1}=2P-1}^{\frac{N-u+2P-1}{2}}\left(\begin{array}{c}N-u\\ {w}_{1}\end{array}\right)\frac{1}{{M}^{{w}_{1}}}{\left(1-\frac{1}{M}\right)}^{N-u-{w}_{1}}$$
$$\left(\begin{array}{c}N-u-{w}_{1}\\ {w}_{1}-2P+1\end{array}\right)\frac{1}{{(M-1)}^{{w}_{1}-2P+1}} *0.5 erfc\left(\sqrt{\frac{1}{\frac{N-1 }{6{P}^{2}}+\frac{1}{{P}_{r}{T}_{b}R}}}\right)$$
(13)

5.2 Throughput analysis

The information rate and system capacity are two of the most important parameters in the performance calculations. Also, the throughput is depending on the user data rate and the number of active users in the network. Assume that \({T}_{M}\) is the M-ary frame time duration, \(L\) is the spreading code sequence length, and each time slot has duration \(\tau\) exactly equal to \(L{T}_{c}\). Hence, for different multimedia services \(\tau\) can be expressed as:

$$\tau = {T}_{C} L=2{T}_{C}{P}^{2}$$
(14)

The throughput \({R}_{DL-MPC}\) for variable chip duration, according to the service provided by the network, can be defined as:

$${R}_{DL-MPC}= \frac{Log(M)}{{T}_{M}}= \frac{Log(M)}{M\tau }= \frac{Log(M)}{2M{P}^{2}{T}_{C}}= \frac{{R}_{C}\mathrm{*}\mathrm{l}\mathrm{o}\mathrm{g}(M)}{2M{P}^{2}}{\psi }_{Dl-MPC}$$
(15)

where \({R}_{C}= \frac{{\psi }_{Dl-MPC}}{{T}_{C}}\) is the chip rate and \({\psi }_{Dl-MPC}\) is a factor that represents the probability of a correctly received bit multiplied by the steady state throughput. The users-throughput product measures the total information rate transmitted by all users in a network. This product denoted by \(N.{R}_{DL-MPC}\), but in practice, the parameters \(M\),\(L\), and \({T}_{c}\) are optimized in terms of maximizing this users-throughput product.

5.3 Simulation results

Figure 12 shows the system BER performance versus the number of active users for the DL-MPC and MPC when P = 11 at different multiplicity M. The results show that the proposed code outperforms the MPC at any number of users N. This is due to a larger weight of the proposed code sequence which increases the amount of power received. Also, this figure shows that at a BER = 10–9 and M = 8, the system that uses the proposed code can accommodate 66 users, but when using the MPC, the system can accommodate 52 users only. Hence, the BER performance becomes better when the system multiplicity increases.

Fig. 12
figure 12

BER performance versus the number of active users when P = 11

The system BER performance versus the transmitted power at N = 110 is illustrated in Fig. 13 for different values of system multiplicity. The results show that the higher transmitted optical power at higher system multiplicity produces an enhanced BER performance. Also, it shows that the system performs better when it uses the DL-MPC compared to the MPC. The system that uses the DL-MPC can achieve the optimum BER performance at 11dBmW for M = 16 and 13dBmW for M = 8 instead of 17dBmW and 19dBmW at the same values of M respectively for the MPC. In addition, for system performance enhancement, the LD is mostly recommended as a light source rather than LED.

Fig. 13
figure 13

BER performance versus the transmitted power when P = 11, d = 100 m, and N = 110

The system BER performance versus the transmission distance d is presented in Fig. 14 when the transmitted power Pt is set to 15 dBm W. Extending the transmission distance increases the transmission loss, which degrades the system performance. Moreover, the increase in system multiplicity gives an advantage of achieving better BER performance. At any transmission distance, the DL-MPC outperforms the MPC. For the purpose of clarification, the BER performance versus the prime number is plotted in Fig. 15, when the transmission power is set to 10 dBm W. The results showed that increasing the prime number improves the system performance. This is because when the prime number increases, the peak of the auto-correlation and optical power received increases. Also, the results show that the system using DL-MPC achieves optimum BER performance when P ≥ 7, but the system that uses the MPC can achieve the same optimum performance when P  > 13.

Fig. 14
figure 14

BER performance versus a transmission distance when P = 11 and Pt = 15dBmw

Fig. 15
figure 15

BER performance versus the prime number P

Figure 16 illustrates the system BER performance versus the chip rate RC for both the proposed DL-MPC and the MPC when the system multiplicity, M = 16 and prime number P = 11. This figure shows that at the same chip duration TC for the two code sequences DL-MPC and MPC, the proposed one outperforms the MPC at any value of the chip rate, while the BER performance is degraded when the chip rate increases. Also, the system that uses the DL-MPC can work with BER below the optimum value 10–9 if the chip rate does not exceed 7.8 Gchip/sec instead of 4.5 Gchip/s for the system that uses the MPC, this due to the difference in code weight between the DL-MPC and the MPC. Taking into consideration the optimum BER performance value and the effect of system multiplicity M, Fig. 17 presents the system throughput users product against the number of active users N in case of using the DL-MPC and the MPC. The results show that at any value of N, the system throughput product decreases as the system multiplicity increases. Moreover, the results illustrate that at M = 8, the throughput product slightly increases as the number of active users N increases. This due to the dependence of N, the code correlation coefficients and the code length L on the prime number P (i. e., N, L are depending on P2 and the system throughput product depends on N/L). Finally, the system throughput product in case of DL-MPC outperforms the product in case of MPC due to the difference in the chip rate illustrated in the previous results in Fig. 16.

Fig. 16
figure 16

BER performance versus the chip rate when P = 11 and M = 16

Fig. 17
figure 17

Users throughput product versus the number of active users

6 Conclusions

This paper introduced the design analysis and the construction of a coherent homodyne BPSK-OCDMA transceiver based on a new spreading code sequence called DL-MPC. This transceiver has been utilized in the OWC system to improve its BER performance, enhancing system security and system throughput. The MUI and all link losses were considered in the BER PERFORMANCE ANALYSIS. The OWC system model, based on the DL-MPC and BPSK coherent homodyne transceiver scheme, has been analyzed. In the BPSK coherent system, the MZI is used to phase modulate the data and demodulate the received signal. The effect of the coding parameters, system multiplicity, number of active users sharing the system, amount of transmitted power, transmission distance and chip rate on the overall system performance, have also been discussed. Moreover, this paper provides a proposed code that gives an efficient correlation characteristic compared to the other existing codes. This code sequence was constructed with a long length and higher weight to enhance communication security and improve the system BER performance respectively. The OWC system that uses the new code can accommodate a larger number of active users at an acceptable BER performance of 10–9. In addition, the system can communicate over 5 km transmission distance at BER performance below the 10–9 BER level when the transmitted power equals 15 dBm. Furthermore, the system BER performance is improved when increasing the prime number, while it degrades when the chip rate increases. The system throughput has been analyzed and simulated based on the new code parameters and the results indicated that the system capacity is enhanced compared to the results of the other codes. Finally, according to the results presented above, the proposed OWC system, based on the DL-MPC, can be utilized for both multimedia and wireless sensor network applications.