# Visible Light Communication Based Positioning Using Color Sensor

Siu-Wai Ho, Chung Shue Chen

► To cite this version:

Siu-Wai Ho, Chung Shue Chen. Visible Light Communication Based Positioning Using Color Sensor. 2023 IEEE 8th Optoelectronics Global Conference (OGC), Sep 2023, Shenzhen, China. pp.20-24, 10.1109/OGC59456.2023.10314661. hal-05367398

HAL Id: hal-05367398

https://hal.science/hal-05367398v1

Submitted on 15 Nov 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Visible Light Communication Based Positioning
Using Color Sensor

Siu-Wai Ho* and Chung Shue Chen†

*Teletraffic Research Centre, University of Adelaide, Adelaide, SA 5005, Australia

†Nokia Bell Labs, Paris-Saclay, 91300 Massy, France

Email: siuwai.ho@adelaide.edu.au, chung_shue.chen@nokia-bell-labs.com

***Abstract***—Based on light-emitting diode (LED) lighting and recent advances in visible light communication (VLC), we propose a new visible light-based localization scheme that uses a grid color-coding principle to develop a highly accurate localization system. By measuring the light received through the projected area on the color-coded film (for light filtering) and comparing it with a predefined color code, the system can determine the 2-dimensional position of the receiver relative to an LED, i.e., the reference point (RP). It is worth noting that the proposed solution has the following attractive features and differs from existing systems: (i) it uses only one photodiode (PD) on the user device for localization, and (ii) it can provide highly accurate indoor localization with centimeter resolution. Interesting applications include localization for unmanned ground vehicles (UGVs), advanced warehousing and logistics. Since PD or light sensor can have a response time of about 25 ms or even faster, one can also expect low latency in localization, which is especially suitable for supporting mobile users and new location-based services. Simulation results have shown that an average positioning error of less than 10 centimeters is achievable under suitable conditions.

***Index Terms***—VLC based localization, indoor positioning system, color sensor enabled scheme, high accuracy, low system cost.

## I. INTRODUCTION

Localization and positioning play an important role in many modern systems. Applications include mobile user tracking, unmanned ground vehicle (UGV) navigation, intelligent transport system (ITS), augmented reality (AR), industrial automation, smart cities and the Internet-of-Things (IoT). In this work, we present a color sensor enabled visible light communication (VLC) based indoor localization considering UGV in industrial IoT work environment or modern warehouse for logistics and tracking, despite the fact that the idea can be also suitable for some systems or different use scenarios. Discussion of positioning systems and location based services (LBS) can be found in [1] and references therein, for intelligent devices, automated robots, and future ICT industry.

There are methods using radio frequency (RF), Wi-Fi and Bluetooth for indoor localization [2]. Other includes infrared (IR), radio-frequency identification (RFID), ultrasound, ultra-wideband communication (UWB), magnetic field and inertial measurement, simultaneous localization and mapping (SLAM), etc. They have various advantages and disadvantages. For example, Bluetooth proximity-based schemes have low cost and low power consumption but the localization accuracy is often of a few meters.

*(Corresponding author: Chung Shue Chen)*

On the other hand, during recent years, VLC based indoor positioning [3] have gained much attention due to two key reasons: (i) there is a strong demand for highly accurate but low-cost and eco-friendly solution, and (ii) there is the global trend of light-emitting diode (LED) based lighting in replacing fluorescent or traditional lamps since LED lighting is much more energy efficient and has long life expectancy. The LED lighting is by default for illumination but indeed we can reuse it for localization (dual use) or even for data transmission purpose<fnref n="1" />. Benefited by the wide proliferation of LED lighting and also the recent emerging development of visible light communications (VLC), visible light positioning (VLP) is ready for commercial deployment and development [4]–[6].

In this paper, we will focus on a new scheme of visible light based indoor localization enabled by color sensor and the light detection. The basic design is to use a practical thin transparent filter film that is colored in a specific way. By using a light sensor to detect the LED light passing through the colored film, the receiver can determine the incidence angle of the LED light, which is used to estimate the location. Note that a recent discussion of how to detect the incident angle of light ranging from X-ray to visible light using pixelated color conversion via lithographically patterned perovskite nanocrystal arrays has been experimented in [7], in which the nanocrystal detectors are arranged as a light-field sensor that can convert light from different directions to highly accurate luminescence signals of various colors for possible sensing or detection.

The rest of this paper is organized as follows. Section II describes the system design. Section III shows the simulation setup and results. Finally, Section IV contains some concluding remarks.

## II. SYSTEM AND DESIGN

Our proposed scheme uses only one light sensor (at the user device) and one LED to determine the 2-dimensional coordinates of the device. It uses the principle of color coding to enable user localization, capable of cm-level accuracy or even higher. Note that since common light sensor or PD has response time at about 25 ms or even faster, one can expect low

<footnote n="1">¹LED can be modulated at high frequency for data transmission applications. Besides, when the light switches on and off at high frequency, human eyes cannot detect the fast change.</footnote>
<figure><img src="image_2.png" /><figcaption>Fig. 1. A point-size PD on the left for detecting received light is installed in an example user device on the right, with a color-coded film (shown as a yellow grid) placed over the PD.</figcaption></figure>

latency in the localization, which can be particularly relevant for UGV application and mobile users.

In the following, we explain the design and its mechanism. Consider there is one LED. Without loss of generality, we assume the LED is a square light emitting plate with width equal to W millimeters (mm). The LED is required to be within the line of sight (LoS) of the receiver. The LED will broadcast its position coordinates information by VLC through some beacons. The UGV or user device has a light sensor (PD) which is a point source and equipped with a grid color-coded film, see Fig. 1. Consider the film is printed with a set of colored dots, see Fig. 2, which is to filter light shined on it. Note that the projection of the above LED on the film when being captured by the PD is also a square (we call it as the projected area or a block) and will reach the light sensitive area accordingly. For example, the sensitive area of a conventional light sensor can be 0.6 mm × 0.6 mm [8], which is a tiny point.

As shown in Fig. 2, when the LED light shines on the film, a projected area (block) on the film is produced. Note that the projected area would appear at different location on the film, depending on the position of the user in relative to that of the LED or the light incidence angle from the LED, see Fig. 3, which explains the geometry and also how we can thus determine the relative coordinate of the user compared to the position of the LED. Assume that the film is parallel to the ceiling where the LED is installed. Let $v$ be the width of the projected area. By similar triangles, we have:

$$v/W = Z/h, \qquad (1)$$

where $h$ and $Z$ are the heights, such that $v = (W \times Z)/h$. For example, given a LED with $W = 45$ mm, $h = 3$ meters and $Z = 10$ mm due to the film, it is easy to determine that $v = 0.15$ mm.

For user localization, we want to color the dots on the film so that for each projected area on the film, the light sensor receives a distinct color through the film. This color is given by the sum of the light passing through the dots of the projected area. Note that the receiver needs not detect the pattern of colored dots or measure light from individual dots. The requirement is that the sum of the light received

<figure><img src="image_3.png" /><figcaption>Fig. 2. A printed color-coded film (Top View). The user device consists of a point-size PD and a color-coded filter film with a predefined color dot pattern (each dot is to be filled by a color). Note that the projected area (block) on the film is in a sliding window, changing from one position to another, due to the position of the device relative to the LED.</figcaption></figure>

through the dots in each projected area should be distinct. To be precise, it is to say that what we are concerned about the coloring in each projected area is only the multiset$^2$ [9] of colored dots but not the exact pattern of these dots in the block$^3$. The multiset of colors of the dots in each projected area should be different.

Let $K$ be the number of possible colors for all the dots. For example, one can consider $K = 4$ by a laser printer or $K = 6$ $K = 12$ by an inkjet printer [10]. Note that the typical dots per inch (DPI) for a conventional laser printer is from 600 to 2400, while an inkjet printer typically supports DPI from 300 to 720. The distance between two neighboring dots on the film, denoted by $d$ in Fig. 2, depends on the DPI setting. Let $N$ be the number of dots inside the projected area on the film. We have $N = (v/d)^2$. Since $v = (W \times Z)/h$,

$$N = (v/d)^2 = \left( \frac{(W \times Z)/h}{d} \right)^2 = \left( \frac{W \times Z}{h \times d} \right)^2. \quad (2)$$

To justify the above scheme, we need to evaluate how many different multisets can be produced by the projected area (which has $N$ dots) and determine whether it suffices to identify each projected area (block). According to [11], the number of different multisets that can be produced by the projected area is expressible as:

$$C(K, N) = \frac{(K + N - 1)!}{N! \times (K - 1)!}, \qquad (3)$$

where ‘!’ is the factorial function. Suppose the film is printed with 1200 DPI so that $d = 0.02117$ mm [10]. So, $v/d = 0.15/0.02117 \approx 7$ while $N = (v/d)^2 = 49$. Consider $K = 6$, We have $C(6, 49) = 3.48 \times 10^6$. Note that today's conventional

<footnote>$^2$A multiset in mathematics is a generalization of a set and is a collection of unordered elements. For example, $\{1,1,2\}$, $\{1,2,1\}$, and $\{2,1,1\}$ are the same multiple set because they have the same number of ‘1’s and the same number of ‘2’s.</footnote>

<footnote>$^3$If you want to detect the exact pattern of colored dots or the light intensity through each dot, the receiver cannot be a simple light sensor but a camera. It may have a low sampling rate and be expensive.</footnote>
<figure><img src="image_4.png" /><figcaption>Fig. 3. The system diagram and localization method (Side View). The width of the projected area is denoted by $v$. Note that the picture is not to scale.</figcaption></figure>

<figure><img src="image_5.png" /><figcaption>Fig. 4. Procedure of the localization.</figcaption></figure>

light sensor can be equipped with 16-bit ADC [8], which can distinguish a total of $2.81 \times 10^{14}$ different colors. We can therefore expect that it can distinguish $C(6, 49)$ different color multisets since $2.81 \times 10^{14}$ is much larger than $3.48 \times 10^6$.

Consider the angle of view (AoV) of the light sensor is 60° [8]. Then the length of the film, denoted by $L$, is equal to $2 \times (Z \tan(\theta)) = 2 \times (10 \tan(60°)) = 34.6$ mm. The number of possible positions of the projected area on the film is given by $(L/d)^2$, i.e., $(34.6/0.02117)^2 = 2.67 \times 10^6$, which is less than $C(K, N) = 3.48 \times 10^6$. Therefore, it is possible to color the dots on the film such that each projected area has different color multisets for different received light incidence angle. Note that in practice we can also increase $C(K, N)$ by using a larger $K$ (i.e., more colors to choose for each dot) or by a larger $N$ (i.e., a higher DPI value).

Regarding the possible localization accuracy, we can use the following relationship to estimate by similar triangles according to Fig. 3:

$$D/x = Z/h, \qquad (4)$$

such that $x = (h/Z) \times D$. Using differentiation to estimate the maximum error, we have $\Delta x = (h/Z) \times (\Delta D)$, where $\Delta D$ is the limit that the light sensor can tell whether the projected area has changed or not. In our system, $\Delta D \le d$. If $h = 3$ meters, $Z = 10$ mm and $d = 0.02117$ mm, we have $\Delta x = 6.35$ mm. Therefore, estimation error to the distance $x$ can be less than 1 cm.

We describe the procedure of the localization, which consists of the following steps depicted in Fig. 4:

1) The light sensor measures the received light passing through the projected area on the film.

2) We map the received light to its grid color coding location that we applied to the film, using a look-up table

(which indeed is a predefined codebook) and according to the VLC light propagation channel model [4].

3) We can determine the incidence angle of the light since $D$ is determined after identifying the projected area in Step 2. Note that $\tan \phi = D/Z = x/h$, where $Z$ is predefined due to the user device.

4) We can determine the light sensor's $x$-coordinate relative to the LED and similarly its relative $y$-coordinate. Finally, we can determine the user's absolute position according to the LED's coordinates. (Note that $x = h \tan(\phi)$, where $h$ is the LED's height; here, we consider $h$ is fixed and known in modern warehouse for the UGV, where the LED's $(x, y, z)$ coordinates can be simply broadcast by the LED using VLC. Therefore, the user device's absolute coordinates can be determined.)

### III. SIMULATION AND RESULTS

We simulate the system by considering a room of width, length and height at 4.5 meter × 4.5 meter × 3 meter, with an LED plate of area 45 cm × 45 cm located in the center of the ceiling. The user is a mobile device equipped with a 16-bit color sensor (PD) [8]. The position of the user is randomly drawn on the room floor following a uniform distribution. We assume the height between the LED and the UGV is known (or fixed) due to the use case. Consider the distance between the LED and the user is given by $d$ (in meters). The channel gain of a LoS optical wireless channel [12] is given by

$$G_{\text{LOS}} = \frac{(m + 1)A}{2\pi d^2} \cos^m(\phi) \cos^M(\psi), \qquad (5)$$

where $\phi$ is the irradiance angle with respect to the transmitter's normal, $\psi$ is the incidence angle with respect to the receiver's normal, the Lambertian parameters of the LED and PD are
<figure><img src="image_6.png" /><figcaption>Fig. 5. Grid color-coded film (Film 1) for the visible light based localization.</figcaption></figure>

given by $m = \frac{-\log(2)}{\log(\cos(\phi_{1/2}))}$ and $M = \frac{-\log(2)}{\log(\cos(\psi_{1/2}))}$, where $\phi_{1/2}$ and $\psi_{1/2}$ are the half-power angles of irradiance and incidence of LED and PD respectively, A is the effective area of the light sensor, and we assume no concentrator is used at the receiver.

The optical flux of the LED is assumed to be 5000 lumens (lm) and has half power angle equal to $\pi/6$ rad [13], while the half angle of view of the light sensor is given by $\pi/3$ rad [8]. We assume that the received power from the LoS is dominant, thus (5) will be used to calculate the received power.<fnref n="4" /> Typical channel coefficients are in the order of $10^{-6}$. It is known that the received signal is often affected by shot noise<fnref n="5" />, which includes quantum effects and dark current, and thermal noise<fnref n="6" /> at the receiver. We assume the total noise variance is given by $\sigma_{\text{noise}}^2 = \sigma_{\text{shot}}^2 + \sigma_{\text{thermal}}^2$ and will employ the experimental model derived by [15] and consider various signal-to-noise ratio (SNR) settings for studying the localization performance accuracy during our simulation study. Fig. 5 shows our employed grid color-coded film, which filters light shined on it. We will also consider another color-coded film for a comparative study later.

The simulation result for positioning errors as a function of the received signal's SNR is shown in Fig. 6. The cumulative distribution function (CDF) plot of positioning error is obtained by running a simulation of 30,000 times with random noise. The positioning error of each estimate is calculated by its Euclidean distance against the true position. In [16], their positioning algorithm is simulated at an average SNR of 30 dB. Here, we would consider several various SNR settings, ranging from 25 dB to 45 dB. Simulation results show that the average positioning errors are 1.64, 2.53, 5.62 and 10.83 cm, under SNR at 45, 38, 31 and 25 dB, respectively, while the positioning errors at 95%-percentile are 4.22 5.37, 11.84, and 23.33 cm, respectively.

Figs. 7 and 8 show the positioning errors in different regions

<figure><img src="image_7.png" /><figcaption>Fig. 6. The average positioning errors (under Film 1) are 1.64, 2.53, 5.62 and 10.83 cm with the SNR at 45, 38, 31 and 25 dB, respectively.</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>Fig. 7. Histogram of positioning errors (under Film 1) in the central 50%-area of the room (width and length at 4.5 m × 4.5 m) with the average SNR at 31 dB.</figcaption></figure>

of the room when the average SNR is fixed at 31 dB. The average positioning error is 3.62 cm when the receiver is in the central 50%-area of the room, whereas the average error increases to 7.57 cm when the receiver is in the outer 50%-area of the room. This is because the received signal power is lower when the user is away from the center.

In our system, a color-coded film is used as a filter. and the receiver's coordinates are determined by the location of the projected area on the film. If the system has noise, different ways of coloring the film can produce different performance. To demonstrate, we use another color-coded film, shown in Fig. 9, for a comparative study. Although the films in Figs. 5 and 9 are different, different projected areas on the films have different average colors. The CDF of the positioning error is shown in Fig. 10. For SNR at 45, 38, 31, and 25 dB, the average positioning errors are 2.34, 3.55, 7.57, and 15.05 cm,

<footnote n="4">⁴To determine the non-LoS received power, one can use [14] to calculate.</footnote>

<footnote n="5">⁵It is the fluctuation due to incident optical power consisting of the desired signals and ambient light.</footnote>

<footnote n="6">⁶It is the fluctuation due to the random motion of electrons.</footnote>
<figure><img src="image_9.png" /><figcaption>Fig. 8. Histogram of positioning errors (under Film 1) in the outer 50%-area of the room (width and length at 4.5 m × 4.5 m) with the average SNR at 31 dB.</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>Fig. 9. Another color-coded film (Film 2) is used for a comparative study.</figcaption></figure>

respectively, and the positioning errors at the 95% percentile are 4.89, 7.51, 16.98, and 33.55 cm, respectively. This second film (Film 2) has a worse performance compared to the first one (Film 1). Therefore, how to optimize the color distribution on a film is an interesting research question.

## IV. CONCLUSION

It is challenging to build a positioning system that is accurate, simple and efficient. In this paper, a novel visible light-based localization scheme is proposed. It reuses existing LED lighting facilities and determines the 2-dimensional position of a user by using only one PD at the receiver. Based on the existing technology and standard of VLC, the LED can transmit some basic reference information (embedded in the illuminating light) such as its coordinates and identity to the receiver. This reduces the receiver cost and the overall system cost. Simulation results show that the average positioning error is less than 10 centimeters. Future work includes possible extension to user positioning in three-dimensional case, optimization of film color coding design for positioning accuracy and experimental study.

<figure><img src="image_11.png" /><figcaption>Fig. 10. The average positioning errors (under Film 2) are 2.34, 3.55, 7.57 and 15.05 cm, under SNR at 45, 38, 31 and 25 dB, respectively.</figcaption></figure>

## ACKNOWLEDGMENT

A part of this work was carried out at LINCS (www.lincs.fr). Besides, we would like to thank E. de Panafieu, A. Purkayastha and many colleagues for their great support and discussions.

## REFERENCES

[1] F. Zafari, A. Gkelias, and K. K. Leung, "A survey of indoor localization systems and technologies," *IEEE Commun. Surveys Tuts.*, 2019.

[2] A. Kushki, K. N. Plataniotis, and A. N. Venetsanopoulos, *WLAN Positioning Systems: Principles and Applications in Location-Based Services*. Cambridge University Press, 2012.

[3] J. Luo, L. Fan, and H. Li, "Indoor positioning systems based on visible light communication: State of the art," *IEEE Commun. Surveys Tuts.*, vol. 19, no. 4, pp. 2871-2893, 2017.

[4] S. Dimitrov and H. Haas, *Principles of LED Light Communications: Towards Networked Li-Fi*. Cambridge University Press, 2015.

[5] A. M. Rahman, T. Li, and Y. Wang, "Recent advances in indoor localization via visible lights: A survey," *Sensors*, vol. 20, no. 5, 2020.

[6] T. Rexhausen, C. S. Chen, and F. Pianese, "Indoor localization using multi-color fingerprinting," in *IEEE International Conference on E-health Networking, Application & Services*, 2021, pp. 1-6.

[7] L. Yi, B. Hou, H. Zhao, and X. Liu, "X-ray-to-visible light-field detection through pixelated colour conversion," *Nature*, 2023.

[8] Color Sensor ROHM BH1745NUC. [Online]. Available: http://www.rohm.com/products/sensors-mems/color-sensor-ics/bh1749nuc-product

[9] Multiset. [Online]. Available: encyclopediaofmath.org/wiki/Multiset

[10] DPI. [Online]. Available: https://en.wikipedia.org/wiki/Dots_per_inch

[11] R. A. Brualdi, *Introductory Combinatorics*. Prentice Hall, 2010.

[12] T. Komine and M. Nakagawa, "Fundamental analysis for visible-light communication system using LED lights," *IEEE Trans. on Consumer Electronics*, vol. 50, no. 1, pp. 100-107, 2004.

[13] *RS Array Series*, Bridgelux BXRA-56C5300-H-00. [Online]. Available: http://www.leds.de/out/media/Bridgelux.pdf

[14] M. B. Kjærgaard and C. V. Munk, "Hyperbolic location fingerprinting: A calibration-free solution for handling differences in signal strength," in *IEEE Intl. Conf. on Pervasive Comput. and Commun. (PerCom)*, 2008.

[15] M. Yasir, S.-W. Ho, and B. N. Vellambi, "Indoor positioning system using visible light and accelerometer," *Journal of Lightw. Technol.*, 2014.

[16] W. Zhang and M. Kavehrad, "A 2-D indoor localization system based on visible light LED," in *IEEE Photonics Society Summer Topical Meeting Series*, 2012.