New design of optical zero correlation zone codes in quasi-synchronous VLC CDMA systems

Direct-sequence optical code division multiple access technology is one efficient and simple way to reduce the multiple access interferences that existed in visible light communication system due to its ease implementation by simply turning the light-emitting diodes (LEDs) on and off. To overcome the multi-path effect and non-perfect clock impairment, an optical zero correlation zone code set is proposed in visible light communication quasi-synchronous optical code division multiple access system. Bit error rate performance is evaluated while taking into account the effects of phase-induced intensity noise, shot noise, and thermal noise. Based on the proposed optical zero correlation zone codes, the multiple access interference and phase-induced intensity noise can be eliminated finally; therefore, a better bit error rate can be obtained.


Introduction
In recent years, visible light communication (VLC) has become one attractable technology because of its advantages of eye-safe, electromagnetic-interference free, license-free, high signal-to-noise ratio (SNR), and high security [1][2][3]. Compared to fiber-optic communication, VLC has lower cost because VLC utilizes the existing luminaire infrastructure realized by white light-emitting diodes (LEDs), which is expected to serve nearly 75% of all illumination by the year 2030 [4].
Shadowing, multi-path, and inter symbol interference (ISI) are the main interference that existed in VLC. For the system with simultaneous multiple users, the multiple access interference (MAI) and phase-induced intensity noise (PIIN) deteriorate the system performance significantly [5]. To reduce those impairments, many technologies have been proposed. Optical code division multiple access (OCDMA) technology is one of the technologies used in VLC, which has attracted much attention [6,7]. By utilizing OCDMA schemes, asynchronous transmission with low latency access and soft capacity is allowed and network argument is simplified. Among various OCDMA forms, direct-sequence OCDMA (DS-OCDMA) is of most interest for indoor VLC system due to its ease of implementation by simply turning the LEDs on and off. In DS-OCDMA system, the MAI and PIIN are the main performance-degrading factors [8]. The PIIN and the MAI can be decreased or eliminated by adopting good optical code sets.
A good code set is defined as it has the maximal number of codes, maximal weight, minimal length, and the best auto-correlation and cross-correlation properties. Based on these criteria, lots of codes have been generated. Random optical codes (ROCs) [9] are easy to be generated at the expense of little performance degradation when a large number of active users is considered and can be easily adapted to the requirement of bit error rate (BER) when the number of users varies. Optical orthogonal codes (OOCs) [10] are considered to improve the narrowband interference rejection capability and the number of simultaneous users supported. Balanced incomplete block design (BIBD) codes [11] are used to have a large constellation size and a high bit rate for each user, which further provide flexible and unequal data rates to users. Zero cross-correlation (ZCC) codes [12,13] do not have overlapping of bit '1'; therefore, they eliminate MAI and suppress PIIN of perfect synchronous OCDMA system.
Most of the existing codes only considered the crosscorrelation value at an in-phase shift; therefore, they are appropriate to synchronous VLC CDMA (VLC-S-CDMA) systems. However, due to the multi-path propagation or non-perfect clock, there will always be a slight delay. Similar to quasi-synchronous CDMA (QS-CDMA) systems, VLC-QS-CDMA systems need to be considered for some special applications. In this case, the ISI induced by multi-path propagation needs to be considered. In this paper, a new design of code set is proposed for VLC-QS-CDMA systems with ideal correlation properties in the zero correlation zone (ZCZ). Based on the proposed codes, the MAI and PIIN noise can be eliminated finally.
The rest of this paper is organized as follows. The preliminaries are described in Section 2. The construction method of the optical zero correlation zone (OZCZ) code set is presented in Section 3 together with the derivation of the correlation properties. The system performance is analyzed in Section 4. The numerical results are addressed in Section 5, together with some discussions. Finally, the conclusions are drawn in Section 6.

Preliminaries
Let a = (a (1), a (2), …, a (L)) and b = (b (1), b (2), …, b (L)) denote two {0,1} sequences of length L, the periodic correlation function between a and b is given as follows: where the addition i + τ is performed modulo L. The correlation function becomes auto-correlation function (ACF) when a = b, or cross-correlation function (CCF) otherwise.

Zero cross-correlation (ZCC) codes
For a code set S with K codes, each has length L, S = {s 1 ,s 2 ,…,s K }, s i (j)∈{0,1} 0 < i ≤ K,0 < j ≤ L. The code set is called ZCC code set if the correlation functions satisfy (2), where w denotes the weight of the code, which is the number of '1' in the code.
There are many constructions of ZCC codes, such as concatenation of identity matrix [13] and code transformation [12]. ZCC codes can reduce the PIIN and consequently suppress MAI at the fixed phase shift.

Optical zero correlation zone (OZCZ) codes
For a code set S with K codes, each has length L, S = {s 1 ,s 2 ,…,s K }, s i (j)∈{0,1} 0 < i ≤ K,0 < j ≤ L. The code set is called OZCZ codes if the correlation functions satisfy (3), where Z denotes the length of ZCZ.

Construction and correlation properties of the proposed code set
For synchronous VLC systems, the adopted codes have to be orthogonal to eliminate the PIIN and MAI among different users. Due to the multi-path propagation and non-perfect clock, small time delay always exists which means the system actually is quasi-synchronous. A new code set we called OZCZ code set is generated in this section.
The proposed OZCZ code set is described in a K × L matrix with K rows and L columns. Each row can be assigned to a different user as the unique signature code with length L. Apart from the weight w, a special parameter Z denoting the ZCZ length is needed.
Without loss of generality, given K = 2, and Z = 1, w = 1, we describe the steps as follows, Step 1: We construct a K × K identity matrix, Step 2: We continue the construction by inserting Z columns of zeros behind each column, The new code set has following correlation properties: The correlation values satisfy (3), so it is an OZCZ code set with L = wK (Z + 1).
Step 3: If w and Z keep unchanged while K is changed to K + 1, a new code set can be obtained by where [A] is composed of the original setC K w,Z , [B] consists of (K,w (Z + 1)) zero matrix, [C] consists of (1,L) zeros, and [D] consists of w replication of matrix (1, 0 Z ) where 0 Z consists of Z zeros. The code length changed to L′ = w (K + 1) (Z + 1). For the constructed code set C K+1 w,Z , the correlation properties are discussed as follows. From the construction of (5), it is easy to be proved that the above K rows still keep ZCZ properties. We only need to prove that the last row has ZCZ properties with the above K rows.
Let p i and p K+1 denote i-th and (K + 1)-th row of C K+1 w , Z , 1 ≤ i ≤ K, due to the former L values of p K+1 and the latter w (Z + 1) values of p i (1 ≤ i ≤ K) are zeros, the properties can be derived as (7). It is proved that the new code set is still an OZCZ code set.
Step 4: If K and Z keep unchanged while w is changed to w + 1, a new code set can be generated by the following steps: firstly, we need to find the basic matrix C K 1,Z , then do concatenation operations between C w;Z K and Based on the above steps, the code length is changed to L′ = K (w + 1) (Z + 1).
For the constructed code set C K w+1,Z , when τ is in ZCZ, the concatenation of the last term in C K w,Z and the first term in C K 1,Z can be regarded as the cyclic format of C K w,Z . And the latter components in C K 1,Z and the former components in C K w,Z can be regarded as the cyclic format of C K 1,Z . Based on the correlation properties of C K w,Z and the correlation properties of C K 1,Z . Let p i and p j denote i-th and j-th row of C K w+1,Z , the properties can be derived as follows, It is proved that the new code set is still an OZCZ code set.
We mentioned that a good code set is defined as one that has the maximal number of codes K, maximal weight w, minimal code length L, and the best autocorrelation and cross-correlation properties. These parameters are interacted. The bound of the number of codes is determined by the length, weight of the codes, and the correlation values [14]. According to the correlation properties of codes, the bounds are different. For OOCs, they have K ≤ L (L − 1)/w/(w − 1). For ZCC codes, they have K ≤ L/w. For OZCZ, it is special due to the ZCZ in which the cross-correlation values are zeros. Assuming the maximal number is K and the ZCZ length is Z, we can obtain K (Z + 1) different ZCC codes by cyclicly shifting each code Z times. According to the bound of ZCC codes, we have K (Z + 1) ≤ L/w. Then, we get the bound of OZCZ as K ≤ L/w/(Z + 1), which verifies that our construction of OZCZ codes is optimal.

Performance analysis
The applied LED-based VLC system model with multiple active users is presented in Figure 1. The source data of each transmitter is first encoded by nonreturn-to-zero (NRZ) encoder and then modulated by an on-off keying (OOK) modulator, spread by the assigned OZCZ code, and digital-to-analog (D/A) converted by an arbitrary waveform generator. After that, proper DC bias is performed to generate the appropriate signal for transmission by the white LED transmitter. The channel model for VLC mainly consists of line-of-sight (LOS) link and non-LOS (NLOS) link. For simplicity of analysis, we only consider the LOS link in this paper. After passing through the optical channel, optical signals are received and converted to an electric signal by a photodiode (PD). A real-time oscilloscope (RTO) is utilized to amplify, capture, and analog-to-digital (A/D) convert the electrical signal. Notice that the received signal includes both the signal from the desired user and the signals from all of the other active users (which actually are considered as MAI). The following receiving process performs in the exactly opposite way to the transmitting process. The signals are first despread by OZCZ correlator to identify the desired user and eliminate multiple access interference (MAI), and then demodulated and decoded to recover the original transmitted messages.
For incoherent spectral coding, the LED broadband spectrum is sliced into wavelengths. Every active user can occupy the sliced wavelengths. According to the description of system model and the proposed OZCZ code set, a unique code from the same OZCZ code set is assigned to each user, and each bit '1' of the adopted OZCZ code picks a wavelength. To analyze the system, the following conditions are assumed: (1)There are K active transmitter/receiver pairs. (2)Each user is assumed with equal transmitted power and equal received power.
Based on the above assumptions, the transmitted optical signal can be written as where s k (t) denotes the signal of the k-th transmitter, where P 0 denotes the power of source pulse, d k (t) is the binary data sequence of k-th user, c k (t) is the proposed OZCZ code waveform assigned to the k-th user with length L (number of chips or slots), T c is the chip time interval, and T = LT c is the symbol period. c k (t) that can be written as where P Tc (t) is a unit rectangular pulse of duration T c , c k (i)∈{0,1}, and c k (i) = c k (i + L) for all k and i. For LED-OCDMA system, PIIN, shot noise, and thermal noise mainly dominate the performance if broadband light sources with flat power spectral density (PSD) are considered. PIIN noise is generated at the PD output when incoherent light fields are mixed and incident upon a PD. To suppress it, the value of cross-correlation should be kept as small as possible [15]. For OOC codes with in-phase cross-correlation λ, PIIN is suppressed by using two correlators and one calculator where two correlators calculate cross-correlation value θ a,b (0) and complementary cross-correlation value θ ā,b (0), the calcu- . For ZCC codes, due to the ideal in-phase crosscorrelation, PIIN is suppressed directly by one correlator. In our system, the correlation properties of OZCZ code set show that there is no overlapping of '1' between any users in the ZCZ. Therefore, PIIN can be suppressed directly by one correlator.
With the assumption of spatial coherence at the detector, the variance of the PD current can be expressed as  K b : Boltzmann's constant; T n : absolute receiver noise temperature; R L : receiver load resistor. In this equation, the first item describes the shot noise and the second item represents the thermal noise. To simplify the analysis, Gaussian approximation is used in our proposed system. The PSD of the received optical signals can be written as where P sr : the effective power of a broadband source at the receiver; d k : the binary data bit of the k-th user, d k ∈{0,1}; K: the number of active users; L: the OZCZ code length; u (v): the unit step function; Let G (v) be the single sideband PSD of the source at l-th receiver during one bit period, and then, Due to d k ∈{0,1}, the photocurrent varies with the transmitted data and w/L because the intensity is modulated by the optical signal, which is spread by the OZCZ code with w ones and (L − w) zeros. It can be computed as where ℜ: the responsivity of the PD, computed by ℜ = ηe/hv 0 ; η: the quantum efficiency; h: denotes the Planck constant.
Assuming the probability of data bit for each user is 1/2, the average SNR is According to the construction of the proposed code set, we have L = wK (Z + 1). The average SNR becomes Note that K denotes the maximal number of active users, which means once the code set is constructed, the number of active users cannot exceed K.
Since NRZ-OOK is employed as modulation scheme, BER can be computed by [16].

Numerical results and discussions
For the ZCC code set proposed in [12], the authors only considered the noise generated at in-phase delay path. If non-in-phase path delay needs to be considered, we have (21).
For convenience of comparison, we only consider that the time delay does not exceed the ZCZ length. In our proposed quasi-synchronized system, the photocurrent is constant if we adopt the proposed OZCZ code set as the signature codes. It is difficult to decide the photocurrent if we adopt the ZCC code set, but we can compute the average photocurrent by (22). The average SNR then becomes (22).   Table 1 lists the parameters used in the calculation of numerical result. Figures 2, 3, 4, and 5 show the BER performance of the system with different parameters. Figure 2 shows the BERs of system adopting OZCZ code set with Z = 2 and w = 3. The received power P sr is varied for K = 4,8, and 12. From the figure, it shows that a larger number of active users needs bigger P sr . Figure 3 shows the BERs of system adopting OZCZ code set with K = 4 and w = 3. The received power P sr is varied for Z = 2,4, and 6. From the figure, it shows that larger ZCZ length needs bigger P sr . Figure 4 shows the BERs of system adopting OZCZ code set with P sr = −9dBm and w = 4. K is varied for Z = 0,1, and 2. In the simulation, when the number of active users is bigger than the code size of OZCZ, the code will be reassigned to users that will generate interference and deteriorate the BER performance. From the figure, we can see the BER of the case Z = 0 decays less than those of cases Z = 1 and Z = 2. That is because the OZCZ code with smaller ZCZ length can support more active users than OZCZ code with larger ZCZ length. Figure 5 compares the BERs between system adopting OZCZ code set and system adopting ZCC code set. The results are calculated for time delays within ZCZ length Z = 3. For ZCC code set, only in-phase cross-correlation is zero. For OZCZ code set, all of the cross-correlations within the ZCZ are zeros. Therefore, the system adopting OZCZ code set performs better than that adopting ZCC code set, which verifies the theoretical analysis of the performance, presented in Section 4.

Conclusions
The correlation properties of multiple access codes dominate the performance of OCDMA systems. In this paper, a construction method of the OZCZ code set is proposed. The correlation properties have been proved and discussed. The performance of the VLC-QS-CDMA system adopting the proposed OZCZ code set has been analyzed taking into account effects of the intensity, shot, and thermal noise. The BER performance of this system is comparing with that adopting ZCC code sets. The numerical results of performance analysis show that the new code set can eliminate intensity noise completely and improve the system performance when path delay is considered.