1. Introduction
Optical wireless communication (OWC) has recently become a congruent complement of radio-frequency (RF) technologies due to its vast unregulated spectrum, as well as the dense formation of lighting infrastructures in both indoor and outdoor scenarios [
1]. It has introduced a new venture for the Internet of Things (IoT) by increasing connectivity options. The optical spectrum is entirely cost-free and is a significant option to assist RF in handling the massive data traffic envisaged for the future.
Optical camera communication (OCC) is a subsystem of OWC that uses visible or infrared light to communicate with a camera sensor [
1]. Complementary metal-oxide-semiconductor (CMOS) cameras integrated into smartphones or mobile robots have become very common in recent years, making OCC immensely promising. Current commercial light-emitting diodes (LEDs) offer low costs, a low power consumption, high efficiency, and are established almost everywhere. Exploiting cameras to receive data sent from LED transmitters adds a significant dimension in the area of OWC systems. Accordingly, IEEE has developed a task group regarding OCC, called IEEE 802.15.7m [
2]. OCC is a directional technology that provides the users with a high level of security. Moreover, due to the nature of camera pixels, an OCC system is less affected by interference than any other OWC technologies. These characteristics open up possibilities for the system’s usability in a variety of applications, including vehicle-to-vehicle and vehicle-to-infrastructure (V2X) communications [
3,
4] digital signage, augmented reality (AR), and location-based services (LBS) [
5,
6,
7].
However, several challenges have been observed while communicating using image sensors. First, cameras cannot detect LEDs blinking at a high frequency [
8]. Second, very low frequencies lead to flickering observed by the human eyes, which is prohibited. Third, conventional cameras offer low sampling rates, resulting in a low-rate data reception. Fourth, synchronization between the LED modulation frequency and the camera shutter speed is also an important challenge for OCC. Without proper synchronization, the bit-error rate (BER) increases. Although OCC is very stable in terms of changing the communication distance, the limited angle-of-view (AOV) leads to the system not exploiting the full LED coverage area. Moreover, an image should appear in several pixels to decode the information sent from the LED. Therefore, the fifth reason that significantly affects OCC performance accounts to the pixel edge length.
Different methods can be employed to improve OCC performance. Deep-learning-based algorithms can be utilized to increase the data rate and communication distance. A convolutional neural network was proposed in [
2] in conjunction with OCC to receive data in outdoor environments. Communication in these scenarios is affected by sunlight and bad weather conditions (fog, rain, or snow). Computer vision techniques can also be utilized for accurate LED pattern classification and recognition to increase the signal-to-interference-plus-noise ratio (SINR), communication distance, and data rate for OCC. In recent times, red/green/blue (RGB) LEDs are used in OCC to improve the performance. Deep learning is a significant option to design the transceiver for RGB-LED-based communications [
9]; however, this technique faces some limitations, such as its computation expensiveness and configuration complexities.
Researchers have been investigating how to enhance the OCC performance for years. Enhancement of the signal performance of mobile-phone-based OCC using histogram equalization was reported in Reference [
10]. An improved decoding method for OCC for vehicular applications using high-speed cameras was presented in Reference [
11]. Recently, researchers have been exploring how to increase the maximum communication distance and data rate by introducing new modulation schemes. In Reference [
12], a combination of modulation schemes has been proposed to achieve an improved data rate. On the other hand, RGB LEDs are utilized to enhance the communication distance for OCC [
13].
Nonetheless, to the best of our knowledge, no researchers have briefly examined the OCC performance emphasizing on the effects of the LED and camera parameters. In this study, we provide a comprehensive discussion of these parameters that affect OCC performance. We emphasize cameras using the rolling shutter technique, as these types are very popular, cost-effective, and widely available. Our main contributions in this paper are summarized as follows:
We briefly explore the role of LED and camera parameters in determining OCC performance. Variations in these parameters lead to our insights on variations in the OCC performance. We focus on key issues related to the quality of service, including data-rate enhancement, SINR improvement, increasing the communication distance, and decreasing BER.
We present a channel model for OCC based on Lambertian radiant intensity [
14]. The channel model is also used as the basis for our analysis of pixel SINR.
We provide a theoretical representation of OCC users’ satisfaction.
We conducted a short survey of existing modulation schemes and categorize them according to communication distance and data-rate characteristics in order to enable us to select the appropriate scheme for a specific application.
We present simulation results (including the outage probability analysis for OCC) that demonstrate which values of the parameters are optimal to achieve the required OCC output for performance improvement.
The remainder of this paper is organized as follows.
Section 2 provides an overview of the OCC data decoding principle and system parameters that include the OCC channel model and representation of pixel SINR. In
Section 3, we outline the analysis of parameters that determine the performance of an OCC system.
Section 4 presents a short survey of existing techniques to modulate the OCC transmitter. An analysis of the OCC user satisfaction is presented in
Section 5. Simulation results involving OCC performance variations regarding changing LED and camera parameters are evaluated in
Section 6. Finally, a brief summary of our work and possible future research are provided in
Section 7.
3. OCC Performance Improvement
The performance of an OCC system depends on the characteristics of the transmitter and the parameters of the camera. This section discusses the effects of these parameters and their appropriate selection based on service requirements and scenarios. In particular, we consider rolling-shutter based cameras for our analysis.
3.1. Focal Length and Pixel Edge Length
The focal length indicates how much of a scene is captured by a camera. The relationship between
and the distance behind the lens at which the focused image is formed
can be expressed according to the Newtonian form of the lens law
where
is the focal length of the camera. The object, i.e., the LED light source, needs to be focused appropriately to avoid any kind of image distortion.
The area of the projected image depends on the focal length and the pixel edge length of the image sensor as expressed in
where
is the pixel edge length and
is the effective area of the light source exposed to illumination.
It can be noticed that a large focal length effectively contributes to high-distance communication. Here, it is worth mentioning that
signifies the size of the image sensor per pixel. The focal length determines the total AOV of the camera. From
Figure 3, the AOV can be measured horizontally, vertically, or diagonally. The AOV of a camera with sensor dimensions of
can be expressed as
where
represent the vertical, horizontal, and diagonal AOVs, respectively.
To increase the communication distance, the entire coverage area of the camera should be correspondingly increased. The total area of the camera coverage is illustrated in
Figure 3 and can be represented as
where
is the distance between the center of the image sensor and the coverage area. The coverage area is very important in OCC as it determines how much of the area can be utilized to set the LED for data transmission.
3.2. Strip Configurations
The LED transmitter has two states: ON and OFF. These result in dark and bright strips in the LED image onto the rolling shutter image sensors depicted in
Figure 4. In the course of image-processing, the number of strips and the width of the strips are employed to recover data streams. The number of strips varies proportionally with the size of the LED.
However, the width of the strips depends strictly on the ON and OFF frequencies of the LED. Different frequencies result in different strip widths. The width of the bright and dark strips can be theoretically expressed as
where
signifies the time needed to read-out a single pixel of the image, and
indicate the ON and OFF frequencies of the LED light source, respectively. It can be noticed that high-speed cameras with high read-out architectures can provide an excellent communication speed (e.g., 55 Mbps [
22]).
3.3. Camera Sampling Rate and Shutter Speed
The performance of OCC is greatly influenced by the sampling rate of the camera. High-frame-rate cameras contribute to high-data-rate communication. However, the majority of the currently available commercial cameras have low frame rates, which led researchers to introduce some undersampling techniques to communicate with these low-frame-rate cameras [
8,
23]. Recalling Equation (6), it can be noted that the frame rate has a significant effect on the overall SINR and channel capacity. Using high-frame-rate cameras leads to higher data rates. This is because using the on-off keying (OOK) scheme requires the sampling rate to be at least double the LED flickering frequency to satisfy the Nyquist criterion [
15]. For the undersampled frequency-shift OOK (UFSOOK), the modulation frequency is a multiple of the frame rate. Therefore, high data rates can be achieved for the same multiples using cameras with high frame rates.
The shutter speed indicates the length of time for which a frame is exposed to light. The shutter speed plays an important role in OCC. A low shutter speed leads to blurring as the LED switches at a high speed. This increases the BER significantly. The shutter speed should be more than twice the frame rate for secure communication. Moreover, the shutter speed should be synchronized with the LED flickering rate as the synchronization establishes how many bits are transmitted during one exposure. As shown in
Figure 5, the total number of detectable bits during one exposure is
. We assume that every pixel of the image sensor is exposed to light for the same amount of time. The opaque portions represent the closed periods of the camera shutter. For simplicity, we consider that the on and off periods of the camera shutter are the same and the total number of exposures per second is m. After synchronization, the number of detectable transmitted bits per exposure can be represented as
where
denotes the time of a single exposure for a particular frame, and
indicates the shutter speed.
The exposure time also affects the power received by the image sensor. Data decoding depends on the brightness level of the strips. The exposure time determines how much signal power will be allocated to each pixel. When the exposure time is increased, a higher intensity of light will illuminate the pixels, eventually increasing the signal strength. However, as the image is binarized, a short exposure time will increase the signal strength of the pixels containing the projected image of the LED as compared to the other pixels that result in LED detection with reduced complexity. In addition, longer exposure time will also increase the noise elements. On the contrary, there is a minimum received signal power below which the data cannot be decoded. The number of strips corresponding to that power is analyzed in the next section. Therefore, the exposure time should be set to a certain limit as if the signal strength of the pixels remains beyond the minimum extent.
3.4. LED Size
The LED size significantly determines the communication distance. The number of strips is reduced when the LED is too small. The number of strips for a circular-shaped LED can be expressed as
For the OCC system, there is a minimum number of strips below which the data bits cannot be extracted. The full LED does not need to appear inside the image sensor. The minimum area that should appear depends on the LED size. As shown in
Figure 6, the minimum area and the corresponding number of strips considering a circular LED can be expressed as
where
represent the LED radius and the minimum portion of it that should appear inside the image sensor, respectively. It is worth noting here that a low
decreases the overall received power of the image sensor that can contribute to an increase in the BER.
3.5. MIMO Functionality
Each pixel in an image sensor acts as a photodetector. Due to the nature of the imaging lens, optical signals coming from different directions are imaged in different locations onto the image sensor, which can be utilized as a multiple optical signals receiver. This particularly facilitates the utilization of multiple-input multiple output (MIMO) functionalities in OCC. An OCC-MIMO system is depicted in
Figure 7. As illustrated, an array of LEDs can transmit signals simultaneously. As long as the LEDs are positioned inside the AOV of the camera, the projected LED images can be spatially separated from each other. The pixels in the projected images for each LED can be considered as groups that are then separately extracted using image processing and computer vision algorithms.
The performance of an OCC system can be improved significantly using MIMO functionalities. MIMO enhances data rates through spatial multiplexing and provides multiple access conveniences [
15]. Luo et al. [
13] demonstrated that the communication distance can be significantly increased by employing MIMO using RGB LEDs. Furthermore, by introducing spatial redundancy, the BER can be minimized to a great extent.
An OCC-MIMO tandem is exploited to reduce interference. The images of the LED transmitter, neighboring light sources, and other noise elements are projected at different pixels that are separated afterward, resulting in an excellent SINR for OCC.
6. Performance Evaluation
This section presents the simulation results on the OCC performance using different values of LED and the camera parameters. Some parameters were kept unchanged, as in
Table 2, throughout the simulations. It is worth noting that any variation in the luminaire characteristics will change the simulation results. All the simulations were performed in MATLAB.
As discussed in
Section 3.3, the maximum number of detectable bits depends on the modulation frequency and shutter speed of the camera.
Figure 8 shows how the number of detectable bits varies with camera exposure time for different LED modulation frequencies. The simulation was performed assuming a communication distance of 2 m between the camera and the LED. The exposure time should be controlled to avoid unexpected motion blurs that lead to increased BERs. A high exposure time also contributes to the increase in the projection of noise elements onto the image sensor that affects the overall SINR. Subsequently, variations in SINR affects the BER performance. Recalling Equation (6), it can be seen that the image distortion factor (
) has an immediate impact on the SINR. The SINR variations for OCC with increasing
for different values of
are illustrated in
Figure 9. The effective
, and
were considered as 26 mm,
and 5 cm, respectively. The distance
was set at 2 m and was kept throughout it. At
the LED appears in the center of the image sensor. With increasing
at a certain point, the projected image of the LED occupies an area corresponding to the minimum number of strips. Note that a significant drop in SINR can be seen in
Figure 9. This is because only a part of the LED appears inside the image sensor as the horizontal distance is increased. The OCC achieves an excellent SINR when the full LED appears inside the image sensor. It can be noted that the SINR decreases with higher values of
. For
an SINR of approximately 18 dB is reduced when
is increased from 0.1 to 0.4. Hence, lower values of
show significant SINR improvement. The SINR performance can also be improved using cameras with high pixel densities. This is because the spatial separation of the interfering element from the image sensor is facilitated with high-resolution cameras.
The LED size has a profound impact on OCC performance. A large LED will occupy a high amount of pixels inside the image sensor resulting in a large number of strips. Consequently, the maximum communication distance will be comparatively high. The size of the strips depends on the read-out time and the LED modulation frequency. As discussed in
Section 3, the minimum number of strips below which the camera cannot extract the information of the projected image depends on the LED size and the focal length of the camera.
Figure 10 shows the number of pixels occupied by the projected image inside the image sensor at different distances from the LED to the camera with different LED sizes and a constant effective focal length of 26 mm. We kept
and
was varied during performing the simulation to keep the LED at the center. In addition, the LED flickering rate was set to 1.5 kHz resulting in 70 pixels to construct one strip. The minimum number of strips corresponds to the maximum communication distance, which also depends on the focal length.
Figure 11 illustrates how the maximum communication distance varies with respect to the LED size and the effective focal length. It can be seen that the maximum communication distance can be enhanced using larger LEDs. Compared to an LED size of 1 cm, the communication-distance improvement of 2.5 and 4 times can be noticed for LEDs with 5 cm and 10 cm, respectively. Both simulations in
Figure 10 and
Figure 11 were performed at a constant noise spectral density of
. It is worth stating that effective communication will be achieved if the LED is clearly focused on the camera; otherwise, it will result in a significant increase in the BER. Moreover, there is a minimum SINR below which data bits cannot be decoded.
Figure 12 illustrates the outage probability for OCC for different AOVs of the camera. The effective focal length and LED radius were the same for the second simulation. It can be seen that the probability of outage increases as the AOV is reduced. In addition, the outage probability increases as the LOS distance between the LED and the camera increases. Therefore, it can be outlined that the outage probability can be improved by increasing the camera AOV, which can be achieved by enhancing the resolution of the image sensor.
The capacity of an OCC system significantly depends on the camera parameters. Increasing the camera sampling rate can improve the OCC capacity to a considerable extent. The cumulative distribution function (CDF) of the theoretical data-rate limit for different camera sampling rates is depicted in
Figure 13. The simulation was performed for different Euclidean distances between the LED and the camera that are ranged from 0.5 m to 5 m. The CDF is zero at distances higher than approximately 4.472 m. As shown in
Figure 13, the data rate performance is significantly improved with higher frame rates. In case of a sampling rate in the range of a few kfps, the OCC capacity of up to several Mbps can be achieved. Moreover, it can be noted that the variation in OCC capacity is not considerably severe (16–28 kbps at 30 fps) with increasing communication distance.
As discussed in
Section 5, user satisfaction with OCC depends on the service types and requirements. A user making a voice call requires a lower data rate compared to a user engaged in a video call. However, a user who uses OCC for LBS requires a good SINR rather than a high data rate.
Figure 14 illustrates the variations in the user satisfaction factor with respect to SINR, evaluated in terms of different data rates. This evaluation is generalized with a satisfaction factor above 0.5 considered as good and a factor above 0.8 as excellent.