The Utilization of Artificial Neural Network Equalizer in Optical Camera Communications †

In this paper, we propose and validate an artificial neural network-based equalizer for the constant power 4-level pulse amplitude modulation in an optical camera communications system. We introduce new terminology to measure the quality of the communications link in terms of the number of row pixels per symbol Npps, which allows a fair comparison considering the progress made in the development of the current image sensors in terms of the frame rates and the resolutions of each frame. Using the proposed equalizer, we experimentally demonstrate a non-flickering system using a single light-emitting diode (LED) with Npps of 20 and 30 pixels/symbol for the unequalized and equalized systems, respectively. Potential transmission rates of up to 18.6 and 24.4 kbps are achieved with and without the equalization, respectively. The quality of the received signal is assessed using the eye-diagram opening and its linearity and the bit error rate performance. An acceptable bit error rate (below the forward error correction limit) and an improvement of ~66% in the eye linearity are achieved using a single LED and a typical commercial camera with equalization.


Introduction
Optical camera communication (OCC) systems, which are part of the optical wireless communications (OWC), leverage the use of off-the-shelf conventional, complementary metal-oxide-semiconductor (CMOS) image sensors (ISs) and standard light-emitting diodes (LEDs) as the receiver (Rx) and the transmitter (Tx), respectively.
The camera-based Rxs can capture intensity-modulated light signals from a range of LED light sources (i.e., traffic lights, advertising boards, signage, display screens, vehicle head, and taillights, streetlights, etc.). The OCC technology together with the visible and infrared light transmission could be used in different low data rate R b applications, such as the Internet of Things (IoT) (e.g., as part of the fifth-generation wireless and beyond), motion capturing [1], intelligent transportation systems [2], indoor localization, security, virtual reality, and advertising [3]. OOC comprises a plurality of pixels (i.e., photodetectors (PDs)), where the signal strength of each pixel depends on the intensity of incident light [4]. Each pixel can detect signals at different wavelengths over the visible range, e.g., red, green, and blue (RGB), hence offering parallel detection capabilities and an adaptive field of view (FoV) feature. In addition, the transmitted information from many light sources, different directions, and locations via the line-of-sight (LOS) [5,6], non-LOS, and/or a combination of both paths [7] can be captured using a single-pixel or a pixel-array IS-based Rx. Thus resulting in a higher signal-to-noise ratio, improved mobility, and flexibility over a linkspan up to hundreds of meters [8].
On the contrary, the IS requires a higher sampling duration and lower number of quantization levels compared with the PDs due to the light integration time (known as the exposure time T exp ), and the built-in analog to digital converter circuit [9]. The sequentialreadout nature of CMOS IS-based Rx allows each pixel-row to capture the incident light at a different time, thus resulting in the so-called rolling shutter (RS) effect [9]. Note that, the performance of VLC with IS-based Rx is limited mainly by the camera capabilities, i.e., the frame rate R f , T exp , and FoV. As a result, in OCC, the transmission bandwidth is rather low and limited to a few tens of kHz compared to the PD-based VLC systems. Although, low data should not be seen as a problem considering that there are many applications where low R b is not critical at all (i.e., IoT, etc.). However, in OCC, lower R b may result in the flickering effect at the Tx [10,11]. In IEEE 802.15.7m standard [12], different schemes have been proposed for OCC to mitigate flickering and to increase R b [13]. For example, in [14], an optical orthogonal frequency division multiplexing VLC with a special IS-based Rx with a built-in PD-array was used to achieve a very high R b of 55 Mbps. However, the fabrication process of the IS was too complex and, therefore, not commercially available. In [15,16], under-sampled frequency and phase shift on-off keying (OOK) modulation schemes were proposed to mitigate flickering in OCC with low R b . In [17], Manchester coding was proposed to alleviate flickering in the RS mode, where it was shown that link performance in terms of R b deteriorated with the transmission range [8,17].
Moreover, an OCC link with the under-sampled pulse amplitude modulation (PAM) with subcarriers was experimentally demonstrated with the increase R b to 250 bps [18,19]. In addition, a multilevel-intensity modulation scheme for RS-based OCC with the frame rate R f of 30 fps was proposed in [20] with R b of 10 kbps over a link range of up to 2 m. Furthermore, a parallel transmission VLC system with color-shift-keying (i.e., different colors RGB-LEDs) was reported in [21] with an overall R b of 5.2 kbps. In [22], the concept of parallel transmission was demonstrated over a range of up to 60 m and with R b of 150 bps. Whereas a 16 × 16 array µLED and a high-speed camera with R f of 960 fps and using R b of 122.88 kb/s was reported in [23].
In OCC systems, equalization methods can also be deployed to compensate for spatial and temporal induced dispersion. In [24], an OOK VLC (a single LED) and camera-based Rx with a dual equalization scheme to compensate for both spatial and temporal dispersion were reported with increased R b up to 14.37 kb/s. The artificial neural network (ANN) architecture has also been proposed for post-equalization to combat non-linear impairments in OWC [25,26]. The use of an ANN-based equalizer is one of the remarkable solutions adapted in PD-based OWCs, wherein the ANN act as the universal classifiers [27]. In [25], a 170 Mb/s OOK VLC link using an LED with a modulation bandwidth of 4.5 MHz and the ANN-based equalizer at the Tx was reported, where the superiority of ANN equalizers in mitigating intersymbol interference (ISI) was demonstrated compared with other equalization techniques. Note, in OCC with the ANN-based equalizer, the network needs to be trained once for a range of T exp with the data being stored in a look-up table within the camera.
In [28], the variable transparent amplitude shape code (VTASC) scheme was experimentally evaluated for device-to-device (D2D) (i.e., smartphones) communications in the form of high-density modulation (HDM) with the ANN assisted demodulator. R b of 2.66 Mbps over a 20 cm long transmission link was achieved. Note, the concept of D2D is one form of the multiple-input multiple-output system, where every pixel is transmitted and detected. Similarly, to allow transmission and reception of information under bad weather conditions, a convolution neural network (CNN)-based OCC was proposed in [29]. The CNN was used for classification and recognition of LED patterns and to decode the transmitted data streams even under an unclear state, where LED patterns are not visible to the camera due to blocking of the transmission path and/or weather conditions. In [30], an OCC link with an ANN-based decoder was reported to mitigate the gap-time effect between two adjacent frames, where OOK was transmitted using an RGB-LED with R b of 47 kb/s. In [4], an OCC link using a single LED source and Manchester line code with the non-return to zero formats was reported with R b of 14 kb/s. In this work, the aim is to establish a flickering-free OCC system with improved R b using a single LED and an ANNs-based equalizer. The key contributions extended from our previous work [31] are:

•
Comprehensive and systematical investigation of the applicability of CP-PAM for the LED-and camera-based VLC. • Development of a practical CP-PAM OCC prototype with a single Luxeon Rebel white LED (SR-01-WC310) and an IS (Thorlabs DCC1645C) as the Tx and the Rx, respectively. • Development of an efficient signal extraction algorithm for the RS-based OCC system. • Implementation of an ANN-based equalizer at the Rx to enhance the system performance.

•
Development of an experimental test-bed for the proposed system and evaluating it in terms of the Tx's frequency, eye diagrams, and the bit error rate (BER) with and without the ANNs-based equalizer. • Proposing a new measurement metric for assessing the quality of the communications link in terms of the number of row pixels/symbol.
The remainder of the paper is organized as follows. Section 2 introduces the proposed CP PAM scheme, whereas Section 3 outlines the ANN equalizer model for IS-based OCC. The experimental setup is described in Section 4. Results and discussion are presented in Section 5. Finally, conclusions are given in Section 6.

Constant Power-PAM in RS-Based OCC System
The OCC system is mainly composed of a light source-based Tx with normalized length (diameter) represented in L, and a camera-based Rx, which is modeled using a single convex lens with a focal length f. The transmission speed in the RS-based OCC system is defined by the amount of the information that can be captured by an image at the distance d, which depends on the acquired number of samples (i.e., pixel rows) and is given by [32]: where FoV is the angular field of view. Note that the acquired N row is incorporated with the sampling frequency of the IS, known as the rolling rate of IS, F s (i.e., the frequency at which the row pixels are sampled at the image plane).
Therefore, the maximum frequency of the transmitted signal is limited F s 2 according to Nyquist's theorem. The F s value depends on the pixel clock and T exp (i.e., the time that every sample (pixel) of the IS is exposed to the light). Note, T exp acts as a moving-average filter [10,33] with the frequency resolution given by: F s is defined in terms of the bandwidth of the transmitted signal f Tx and the number of received pixels per symbol, N pps , which is given by: Note, (i) N pps varies with the payload P bit ; and (ii) the maximum transmission distance is proportional to both ∆ f and the size (diameter) of the light source. Higher T exp results in increased signal intensity levels, and, therefore, higher signal-to-noise-ratio (SNR) at the cost of reduced Rx bandwidth. With reference to Equations (1)-(3), a communications link can be established at low R f but with flickering, which is due to the variation in the mean value of light intensity during a time period larger than the optical bandwidth of the human eye. This may occur provided there are many consecutive symbols with the same logical state.
The flicker index is a relative measure of the cyclic variation in the output of various sources at given frequencies [34,35]. It considers the waveform of the light output and its amplitude, which can be determined by dividing the area above the line of average light output by the total area under the light output curve for a single curve, see Figure 1, and is given by: symbols with the same logical state. The flicker index is a relative measure of the cyclic variation in the output of various sources at given frequencies [34,35]. It considers the waveform of the light output and its amplitude, which can be determined by dividing the area above the line of average light output by the total area under the light output curve for a single curve, see Figure 1, and is given by: The flicker index has a range of 0 to 1.0, with 0 representing the steady light output level. Area 2 may be close to zero provided the light output varies as periodic spikes, thus leading to a flickering index close to 1. Higher values indicate an increased possibility of noticeable flickering.
To mitigate flickering, CP-PAM can be adopted to equalize the mean intensity value of all symbols, i.e., [18]. In CP-PAM, each PAM symbol is temporally divided into two equal chips, (i) the 1st chip for the intensity of the PAM symbol ; and (ii) the 2nd chip for the stabilization level, i.e., 2 − , see Figure 2. For example, a symbol with a level of "2" will be stabilized in the following chip with another symbol with a level of "1" to ensure performance equality, as clarified in Table 1.  The flicker index has a range of 0 to 1.0, with 0 representing the steady light output level. Area 2 may be close to zero provided the light output varies as periodic spikes, thus leading to a flickering index close to 1. Higher values indicate an increased possibility of noticeable flickering.
To mitigate flickering, CP-PAM can be adopted to equalize the mean intensity value of all symbols, i.e., I ave [18]. In CP-PAM, each PAM symbol is temporally divided into two equal chips, (i) the 1st chip for the intensity of the PAM symbol I S ; and (ii) the 2nd chip for the stabilization level, i.e., 2I ave − I S , see Figure 2. For example, a symbol with a level of "2" will be stabilized in the following chip with another symbol with a level of "1" to ensure performance equality, as clarified in Table 1.  It is also noted that considering the Rb efficiency of CP 4-PAM is reduced by half due to the stabilization level (also used for error detection), the CP N-PAM offers a higher coding efficiency compared with Manchester coding [17].

ANN Equalizer
In RS-based OCC systems, the IS sampling process limits the available bandwidth and results in ISI at higher data rates, thus impacting the performance of the communications link. The ability to detect the slow rise-time symbol may be impacted by the existence of the transition between different illumination levels. Equalization is one option that is being adopted to mitigate the ISI. Note, the ISI is predicted by the training filter coefficients based on a training sequence. Alternatively, the ISI can be viewed as a classification problem, where class decision boundaries are created to classify symbols based on training [4]. Hence, determining the optimal threshold boundaries in a practical channel can be seen as a nonlinear process, and consequently, the ANN-based equalizer with the adaptive algorithm can be employed to mitigate ISI and, therefore, increase the data rate. Unlike other communication systems, OCC training of the ANN network is carried out only once for a specific exposure time with the data being stored with a lookup table [25,26].
An ANN is an interconnected network of processing elements (neurons). It comprises of two distinct stages: (i) The training phase, where the ANN estimates an input-output map between the received and training data to determine the weighted input from each neuron. The weighted values are updated in each training iteration until either the required performance is achieved, or the entire training set is used; and (ii) the operation phase, where the ANN is deployed without the knowledge of the dataset under test. The multilayer perceptron (MLP) is a popular ANN architecture, which has been demonstrated with high effectiveness in signal equalization [36]. It offers the ability to map any non-linear input-output sequence, provided there are sufficient neurons in the hidden layer(s), and the SNR is sufficiently high. It is also noted that considering the R b efficiency of CP 4-PAM is reduced by half due to the stabilization level (also used for error detection), the CP N-PAM offers a higher coding efficiency compared with Manchester coding [17].

ANN Equalizer
In RS-based OCC systems, the IS sampling process limits the available bandwidth and results in ISI at higher data rates, thus impacting the performance of the communications link. The ability to detect the slow rise-time symbol may be impacted by the existence of the transition between different illumination levels. Equalization is one option that is being adopted to mitigate the ISI. Note, the ISI is predicted by the training filter coefficients based on a training sequence. Alternatively, the ISI can be viewed as a classification problem, where class decision boundaries are created to classify symbols based on training [4]. Hence, determining the optimal threshold boundaries in a practical channel can be seen as a nonlinear process, and consequently, the ANN-based equalizer with the adaptive algorithm can be employed to mitigate ISI and, therefore, increase the data rate. Unlike other communication systems, OCC training of the ANN network is carried out only once for a specific exposure time with the data being stored with a look-up table [25,26].
An ANN is an interconnected network of processing elements (neurons). It comprises of two distinct stages: (i) The training phase, where the ANN estimates an input-output map between the received and training data to determine the weighted input from each neuron. The weighted values are updated in each training iteration until either the required performance is achieved, or the entire training set is used; and (ii) the operation phase, where the ANN is deployed without the knowledge of the dataset under test. The multilayer perceptron (MLP) is a popular ANN architecture, which has been demonstrated with high effectiveness in signal equalization [36]. It offers the ability to map any non-linear input-output sequence, provided there are sufficient neurons in the hidden layer(s), and the SNR is sufficiently high.
The MLP structure consists of at least three layers; (i) a single input layer x; (ii) (M − 1) hidden layers; and (iii) a single output layer y. The input layer (also called the observation vector) has the same structure as a conventional linear equalizer for sequential equalization, where N is the number of neurons, and m is the layer number. This is illustrated in Figure 3, where weights w The MLP structure consists of at least three layers; (i) a single input layer x; (ii) ( − 1 ) hidden layers; and (iii) a single output layer y. The input layer (also called the observation vector) has the same structure as a conventional linear equalizer for sequential equalization, i.e., it is a tapped delay line o ( where N is the number of neurons, and m is the layer number. This is illustrated in Figure  3, where weights ( ) relate the nth input to the kth neuron. Each neuron can be biased with a value C (m) , which is in turn scaled by a threshold factor ( ) . as given by [25]: The output of each layer is usually connected to each of the neurons in the next layer, i.e., a fully connected mode, therefore, using the observation vector ( ) for the mth layer and the × connection matrix between layers and − 1, the output is given in the vector form by: where ( ) and ( ) are given by: Considering the × 1 input vector, × 1 output vector, ( ) = and ( ) = , the following observation vector ( ) is given by: Therefore, The output o (m) k of the kth neuron is mapped via a non-linear activation function f (.) as given by [25]: The output of each layer is usually connected to each of the neurons in the next layer, i.e., a fully connected mode, therefore, using the observation vector o (m) for the mth layer and the N m × N m−1 connection matrix between layers m and m − 1, the output is given in the vector form by: where W (m) and v (m) are given by: Considering the N 0 × 1 input vector, N M × 1 output vector, o (0) = x and o (M) = y, the following observation vector o (m) is given by: Therefore, . . .
MLP will record its trained information in w kn (m) and in the threshold factors v n (m) , since C (m) is given as a constant for all layers (i.e., set as C (m) = 1, m = 1, 2, . . . , M). Resilient back-propagation (RBP) is a supervised back-propagation (BP) training method, which updates the weights to converge more rapidly than the standard BP training technique [26]. with different weight coefficients. The RBP adjusts the MLP weights to reduce the error cost function E n as given by [25]: where d k and y k are the ideal and actual received symbols, respectively. It should be noted that, for the training sequence, d is known. Each iteration of the RBP algorithm has a dynamic step size, which varies based on the magnitude of the gradient descent of E k .

Experimental Setup
The schematic block diagram of the proposed OCC system is shown in Figure 4a. A pseudorandom binary sequence (PRBS) with a length of 2 16 -1 bits was generated using MATLAB, which was then up-sampled with n samp of 50 and modulated using CP-PAM. Based on the output labels provided for 4-PAM, see Table 1, mapping of the data to the corresponding symbols was carried out. The PRBS s(t) was divided into sub-sequences with effective symbols per packet with lengths of P bit -symbols, which depends on the transmitter bandwidth f Tx . Each subsequence was encoded with a pre-and post-amble to form a Qth Tx packet, where Qth represents the packet number and each packet consists of 3-symbol pre-amble [1.5 1.
MLP will record its trained information in ( ) and in the threshold factors ( ) , since ( ) is given as a constant for all layers (i.e., set as ( ) = 1, = 1, 2, … , ). Resilient back-propagation (RBP) is a supervised back-propagation (BP) training method, which updates the weights to converge more rapidly than the standard BP training technique [26]. Figure 3 depicts a single neuron for the case where the layers are interconnected with different weight coefficients. The RBP adjusts the MLP weights to reduce the error cost function as given by [25]: where and are the ideal and actual received symbols, respectively. It should be noted that, for the training sequence, d is known. Each iteration of the RBP algorithm has a dynamic step size, which varies based on the magnitude of the gradient descent of .

Experimental Setup
The schematic block diagram of the proposed OCC system is shown in Figure 4a. A pseudorandom binary sequence (PRBS) with a length of 2 -1 bits was generated using MATLAB, which was then up-sampled with of 50 and modulated using CP-PAM. Based on the output labels provided for 4-PAM, see Table 1, mapping of the data to the corresponding symbols was carried out. The PRBS s(t) was divided into sub-sequences with effective symbols per packet with lengths of Pbit-symbols, which depends on the transmitter bandwidth . Each subsequence was encoded with a pre-and post-amble to form a Qth Tx packet, where Qth represents the packet number and each packet consists of 3-symbol pre-amble [1.5 1.  The symbols in the overhead signal (i.e., pre-amble and post-amble) were chosen to ensure constant average optical power when compared with the payload. The signal was then sequentially uploaded onto an arbitrary wave generator (AWG, AFG3252C, 240 MHz bandwidth), see Figure 4b. The uploading process was done through the generation of Qth Tx packet at different , the output of which was used for intensity modulation of The symbols in the overhead signal (i.e., pre-amble and post-amble) were chosen to ensure constant average optical power when compared with the payload. The signal was then sequentially uploaded onto an arbitrary wave generator (AWG, AFG3252C, 240 MHz bandwidth), see Figure 4b. The uploading process was done through the generation of Qth Tx packet at different f Tx , the output of which was used for intensity modulation of a Luxeon Rebel LED (SR-01-WC310) with a peak wavelength at 630 nm. Note, a linewidth of 118 nm was used for transmission of the modulated light over a short LoS free-space channel (i.e., 50 cm).
At the Rx, a diffuser was used to scatter the light over the capturing area of the IS (Thorlabs DCC1645C RS) with a standard T exp of 2 ms was adopted in this study. The observed frames P Q U×V×3 at the output of the camera were processed off-line in MATLAB using both Algorithms 1 and 2. In Algorithm 1, the data set z i Q was retrieved by accumulating the intensities for all pixels in each row. The received signal was then normalized to remove the DC by capturing 20 frames with no signal, see Figure 5a,b. • Monochrome to grayscale frame conversion is applied by calibrating RGB components R × , × , and × together over c, resulting × . 4

Algorithm 1 Signal Extraction Algorithm
• Accumulate intensities for all pixels at each row z = (z ) where z = ∑ × . 5 • Estimate the averaged DC value ̅ by repeating previous steps on × × . 6 • Calibrate z with respect to the averaged DC value = / ̅ 7 • Find the frame with full packet inclusion using Algorithm 2

8
• Resample with respect to the packet length 9 • Locate the start of each packet in the frame

10
• Synchronize both Tx and Rx signal using a correlation algorithm

12
• return signal 13 end Next, to ensure that a full packet was captured by the IS, Algorithm 2 was applied to select the optimum frame (i.e., including both pre-and post-ambles) for each Qth Tx packet per , in which 10 × × × are captured at Qth Tx packet to maintain the synchronization between both the Tx and the Rx.
A resampling process was then applied to resize the signal length based on the packet size observed in pixels. Next, a correlation algorithm was used to maintain the synchronization between the transmitted Qth Tx packet and received signals, where a filtered version of was simulated based on the encoded Qth packet using a moving average filter. Note, the window size of the filter was set to since it provided an optimal match compared with the observed signal. Next, in the vector form was applied to an MLP equalizer using an array of tapped-delay lines as previously described. The MLP used here included single input, hidden, and output layers. All the key system parameters are listed in Table 2.
Next, to ensure that a full packet was captured by the IS, Algorithm 2 was applied to select the optimum frame (i.e., including both pre-and post-ambles) for each Qth Tx packet per f Tx , in which 10 × P Q U×V×3 are captured at Qth Tx packet to maintain the synchronization between both the Tx and the Rx.
A resampling process was then applied to resize the signal length based on the packet size observed in pixels. Next, a correlation algorithm was used to maintain the synchronization between the transmitted Qth Tx packet and received z Q cal signals, where a filtered version of z Q cal was simulated based on the encoded Qth packet using a moving average filter. Note, the window size of the filter was set to n samp since it provided an optimal match compared with the observed signal. Next, z cal in the vector form was applied to an MLP equalizer using an array of tapped-delay lines as previously described.
The MLP used here included single input, hidden, and output layers. All the key system parameters are listed in Table 2.
then sequentially uploaded onto an arbitrary wave generator (AWG, AFG3252C, 240 MHz bandwidth), see Figure 4b. The uploading process was done through the generation of Qth Tx packet at different Tx , the output of which was used for intensity modulation of a Luxeon Rebel LED (SR-01-WC310) with a peak wavelength at 630 nm. Note, a linewidth of 118 nm was used for transmission of the modulated light over a short LoS free-space channel (i.e., 50 cm). At the Rx, a diffuser was used to scatter the light over the capturing area of the IS (Thorlabs DCC1645C RS) with a standard Texp of 2 ms was adopted in this study. The observed frames × × 3 at the output of the camera were processed off-line in MATLAB using both Algorithms 1 and 2. In Algorithm 1, the data set z was retrieved by accumulating the intensities for all pixels in each row. The received signal was then normalized to remove the DC by capturing 20 frames with no signal, see Figure 5a,b.

Results and Discussion
The experimental work was focused on deploying an MLP-based equalization to mitigate the ISI due to the limited modulation bandwidth of the CMOS IS-based Rx. The measured and simulated CIS for T exp of 2 ms are highlighted in Figure 6, showing that the obtained IS bandwidth (i.e., a 3 dB point) was 250 Hz. It is also noted that the mismatch between the measured and simulated response was caused by aliasing due to the limited sampling frequency of the IS and utilization of image compression techniques [38]. The CP 4-PAM encoded signal was then generated at a different bandwidth f Tx of up to 1520 Hz. obtained IS bandwidth (i.e., a 3 dB point) was 250 Hz. It is also noted that the mismatch between the measured and simulated response was caused by aliasing due to the limited sampling frequency of the IS and utilization of image compression techniques [38]. The CP 4-PAM encoded signal was then generated at a different bandwidth Tx of up to 1520 Hz. The captured frames at the Rx are processed with Pbit of up to 70 symbols per packet. Figure 7 illustrates examples of the captured frames and the processed signals for Pbit of 5, 10, 15, 20, 50, and 70, i.e., Tx 220, 320, 420, 520, 1120, and 1520 Hz, respectively. Note, the width of the received Qth packet and the recorded Fs are 666 pixels and 13.31 kHz, respectively, based on the demodulated signal, see Figure 7. Increasing Tx decreases the The captured frames at the Rx are processed with P bit of up to 70 symbols per packet. Figure 7 illustrates examples of the captured frames and the processed signals for P bit of 5,10,15,20,50, and 70, i.e., f Tx 220, 320, 420, 520, 1120, and 1520 Hz, respectively. Note, the width of the received Qth packet and the recorded F s are 666 pixels and 13.31 kHz, respectively, based on the demodulated signal, see Figure 7. Increasing f Tx decreases the number of received pixels for each CP 4-PAM symbol, thus, reducing the quality of data transmission. The number of pixels utilized for each CP 4-PAM symbol is indicated in Table 3. For the link with the ANN-based equalizer deployed at the Rx side, the quality of the received signal was measured using the eye diagrams and the BER performance. As illustrated in the eye diagrams, see Figure 8, the eye-openings indicate the impact of the ISI on the received signal. Note, (i) the threshold levels can be differentiated for P bit of 5 and 20 symbols, see Figure 8a,b, respectively, but not for P bit of 50 and 70 symbols as in see Figure 8c,d, respectively; (ii) the five levels are shown in the eye diagrams, where one of the levels represents the packet overhead designed to maintain the same average power for CP 4-PAM; and (iii) the overhead level is removed at the Rx side using Algorithm 1.     An example of transmitted and received signals with and without equalizer for of 8.7 pixels per symbol is illustrated in Figure 9. The equalized signal at the Rx side sho a significant improvement in reducing the impact of the ISI on the received signal w minimal signal distortions.
The eye linearity of the received signals is measured based on the average amplit levels is given by [39]: where , , and are the average amplitude levels. An example of transmitted and received signals with and without equalizer for N pps of 8.7 pixels per symbol is illustrated in Figure 9. The equalized signal at the Rx side shows a significant improvement in reducing the impact of the ISI on the received signal with minimal signal distortions.
The eye linearity of the received signals is measured based on the average amplitude levels is given by [39]: where V up , V mid , and V low are the average amplitude levels. Figure 10 shows the eye linearity of the received signals with respect to N pps for the link with and without ANN equalizer and for T exp of 2 ms. Note, we have used N pps , i.e., new terminology for a fair comparison considering the progress made in the development of ISs. As shown, for the link with no equalizer, the eye linearity increases with N pps reaching a maximum level of 0.6 at N pps of~26, beyond which it drops linearly with rapidly N pps . However, with the ANN equalizer, the eye linearity is improved significantly for both the test and trained cases reaching the optimal linearization of almost 1 at N pps of 18 and remaining constant beyond N pps > 18 (i.e., being independent of N pps ). Thus, the ANN equalizer show an improvement of~66% in the eye linearity for N pps > 18 pixels/symbol (i.e., f Tx < 920 Hz) for both training and testing sets.
An example of transmitted and received signals with and without equalizer for pps of 8.7 pixels per symbol is illustrated in Figure 9. The equalized signal at the Rx side shows a significant improvement in reducing the impact of the ISI on the received signal with minimal signal distortions.
The eye linearity of the received signals is measured based on the average amplitude levels is given by [39]: Eye linearity = min( up , mid , low ) max( up , mid , low ) , (15) where up , mid , and low are the average amplitude levels.  Figure 10 shows the eye linearity of the received signals with respect to pps for the link with and without ANN equalizer and for Texp of 2 ms. Note, we have used pps , i.e., new terminology for a fair comparison considering the progress made in the development of ISs. As shown, for the link with no equalizer, the eye linearity increases with pps reaching a maximum level of 0.6 at pps of ~26, beyond which it drops linearly with rapidly pps . However, with the ANN equalizer, the eye linearity is improved significantly for both the test and trained cases reaching the optimal linearization of almost 1 at pps of 18 and remaining constant beyond pps > 18 (i.e., being independent of pps ). Thus, the ANN equalizer show an improvement of ~66% in the eye linearity for pps > 18 pixels/symbol (i.e., Tx < 920 Hz) for both training and testing sets.  Figure 10 shows the eye linearity of the received signals with respect to pps for the link with and without ANN equalizer and for Texp of 2 ms. Note, we have used pps , i.e., new terminology for a fair comparison considering the progress made in the development of ISs. As shown, for the link with no equalizer, the eye linearity increases with pps reaching a maximum level of 0.6 at pps of ~26, beyond which it drops linearly with rapidly pps . However, with the ANN equalizer, the eye linearity is improved significantly for both the test and trained cases reaching the optimal linearization of almost 1 at pps of 18 and remaining constant beyond pps > 18 (i.e., being independent of pps ). Thus, the ANN equalizer show an improvement of ~66% in the eye linearity for pps > 18 pixels/symbol (i.e., Tx < 920 Hz) for both training and testing sets. Next, we measured the BER as a function of pps for the link with and without ANN equalizer, as illustrated in Figure 11. In addition, shown is the forward error correction (FEC) BER limit line of 3.8 × 10 −3 . Note, at the FEC limit the pps value is reduced from 30 to 20 for pixels per symbol for the links without and with the ANN equalizer, respectively, Figure 10. The eye linearity against N pps for the proposed system with and without equalization and for T exp of 2 ms. Next, we measured the BER as a function of N pps for the link with and without ANN equalizer, as illustrated in Figure 11. In addition, shown is the forward error correction (FEC) BER limit line of 3.8 × 10 −3 . Note, at the FEC limit the N pps value is reduced from 30 to 20 for pixels per symbol for the links without and with the ANN equalizer, respectively, compared with the test plot. Thus, the effective R b (i.e., no post-and pre-ambles) is estimated by: where V represents the pixel row.
where represents the pixel row. The effective at the FEC limit for the case with and without the ANN equalizer with a range of IS resolutions is indicated in Table 4. It demonstrates with the ANN equalizer Rb of 24.4 and 12.2 kbps for Rf of 60, and 30 fps, respectively, can be achieved compared with the case of no equalizer with Rb of 18.6, and 9.3 kbps for Rf of 60, and 30 fps, respectively.

Conclusions
We proposed an ANN-based equalization technique for a CP 4-PAM based OCC system. An experimental setup was developed to demonstrate non-flickering communications using a single light-emitting diode with a transmission rate of Rb of 24.4 kbps. The quality of received signals was measured based on the eye-diagram opening, eye linearity, and the BER. We demonstrated the ability to mitigate the intersymbol interference and hence to transmit a signal with an acceptable BER (below the FEC limit) for pps of 20, and 30 for unequalized and equalized systems, respectively. An improvement of ~66% in the eye linearity was achieved using a single LED, and a typical commercial camera with equalization technique was achieved. The limitation of the Figure 11. The BER measurements as a function of N pps for the proposed system with and without equalization and for T exp of 2 ms.