Keywords

1 Introduction

Positioning technique refers to realize objection positioning by using a variety of techniques such as wireless communication, navigation positioning, etc. With the development of wireless network, there is more and more demand for wireless location. Location-Based Service (LBS) is attracting more and more attention from the industry because of its great application value. Currently indoor positioning with high accuracy and reliable real-time performance is in urgent need and has become one of the most exciting features of the next generation wireless systems [1, 2]. Users can find out the targets quickly by indoor positioning, and realize indoor navigation. The common positioning technology is the Global Position System (GPS) technology so far. However, in the indoor environment such as superstore, underground parking, etc, due to the multipath fading and disturbances from other radio sources lead to large positioning error in traditional radio positioning like GPS. The use of Ultra-Wide Band (UWB) [3], Radio Frequency Identification (RFID), infrared, ultrasonic, wireless LAN and Bluetooth technology to achieve indoor positioning is being explored [4,5,6]. These techniques determine the relative position between the moving targets and the fixed units, and then calculate the actual position of the target. However, due to the high requirements for the application of environmental conditions and the need to add additional devices, increasing location cost, applications of these technologies have been restricted to different degrees. And even worse these methods are easy to be disturbed. Some positioning technology based on RF cannot use in the electromagnetic sensitive environment.

Visible Light Communication (VLC) is a way of communication that uses visible light as information carrier to transmit optical signal in the air without wired channels. It has obvious advantages in electromagnetic radiation, spectrum resources, energy loss and safety [7,8,9,10]. Based on the above advantages of VLC, it is considered an effective choice to apply it to indoor positioning.

White LED lights not only have the advantages of low working voltage, long life and miniaturization, but also have the characteristics of high speed modulation and short response time. Besides, LED has been widely used, which means visible light positioning based on LED can be easy to extend, so that the application of LED extends from the lighting area to the communication field [11, 12]. VLC with the light source of white LED (light emitting diode) as a green communication way, become a new research area of concern.

Many indoor positioning technologies based on VLC have been proposed. A hybrid location method based on an improved time difference of arrival (TDOA) algorithm and weighted centroid localization algorithm is proposed to further improve the accuracy and robustness of indoor visible light location technology [13]. Zhang, etc. studied the precision performance of the location algorithm based on received signal intensity (RSS) [14]. A novel smart phone-based indoor localization algorithm by deeply combining wireless signals and images was proposed, which leads to improving the localization performance [15]. However, it is often difficult to apply these positioning methods in practical applications because of the intensity distribution, attenuation loss of the signal and high complexity of algorithms.

This paper presents a design scheme of indoor positioning system based on VLC. This scheme uses STM32 as core controllers. By using time division multiplexing (TDM) technology, the controller in transmitter controls LED light sources. Distances from each LED to the positioning point are estimated by the luminescence intensity of the plurality of LED lights received by photodiode receivers of the system. Then the location estimation is realized based on Trilateration Localization Algorithm.

2 Indoor Positioning System Model

2.1 Experimental Platform for Indoor VLC Positioning System

A schematic diagram of experimental platform of the indoor VLC positioning system designed in this paper is shown in Fig. 1. The system is composed of two parts: transmitter and receiver, The transmitter includes white LED light source and corresponding signal processing unit, while the receiver is made of photoelectric detector and corresponding signal processing unit. It can provide concurrent indoor positioning and illumination. Size of this experimental space is 120 cm * 120 cm * 120 cm. The three dimensions coordinate system was established on a corner of the cube as the original point. 3 high power of 5 W white LED lights are fixed to the top of the space as light sources, forming a isosceles triangle layout. The plane x = 0 of the space is open, and the rest planes are closed. The light signal emitted from a modulated white LED, carrying LED’s position information, is received by photodiode sensor placed at the bottom of the space through a VLC channel, and then the position of the sensor is estimated based on the received signal’s attributes such as amplitude.

Fig. 1.
figure 1

Schematic diagram of experimental platform for indoor VLC positioning system

2.2 Trilateration Algorithms

Trilateration is the basis of localization techniques, which is a primary building blocks of many complicated localization systems. If three points locations \( ({\text{x}}_{1} ,{\text{y}}_{1} ,{\text{z}}_{1} ) \), \( ({\text{x}}_{2} ,{\text{y}}_{2} ,{\text{z}}_{2} ) \), \( ({\text{x}}_{3} ,{\text{y}}_{3} ,{\text{z}}_{3} ) \) and distances presented by \( {\text{d}}_{1} \), \( {\text{d}}_{2} \), \( {\text{d}}_{3} \) between the unknown point and these three points are given, one can uniquely determine the coordinates \( ({\text{x}}_{0} ,{\text{y}}_{0} ,{\text{z}}_{0} ) \) of the unknown points. According to the Pythagorean theorem, we get the calculating formulas of x0, y0 and z0 as following:

$$ \left\{ {\begin{array}{*{20}c} {(x_{1} - x_{0} )^{2} + (y_{1} - y_{0} )^{2} + (z_{1} - z_{0} )^{2} = d_{1}^{2} } \\ {(x_{2} - x_{0} )^{2} + (y_{2} - y_{0} )^{2} + (z_{2} - z_{0} )^{2} = d_{2}^{2} } \\ {(x_{3} - x_{0} )^{2} + (y_{3} - y_{0} )^{2} + (z_{3} - z_{0} )^{2} = d_{3}^{2} } \\ \end{array} } \right. $$
(1)

\( ({\text{x}}_{1} ,{\text{y}}_{1} ,{\text{z}}_{1} ) \), \( ({\text{x}}_{2} ,{\text{y}}_{2} ,{\text{z}}_{2} ) \), \( ({\text{x}}_{3} ,{\text{y}}_{3} ,{\text{z}}_{3} ) \) are the coordinates of three LED lights in the experimental system respectively. Since the LED lights are all placed on the top of the experimental platform and the unknown points are placed at the bottom of the platform, we can get \( {\text{z}}_{1} = {\text{z}}_{2} = {\text{z}}_{3} = {\text{H}} \) (H is the height of the experiment space, the value is 120 cm), \( {\text{z}}_{0} = 0 \). In this condition, the solution of formula (1) is obtained, and the results are as follows:

$$ {\text{X}} = \left( {{\text{A}}^{\text{T}} {\text{A}}} \right)^{ - 1} {\text{A}}^{\text{T}} {\text{B}} $$
(2)

Here,

$$ {\text{X}} = \left[ {\begin{array}{*{20}c} {x_{0} } \\ {y_{0} } \\ \end{array} } \right] $$
(3)
$$ {\text{A}} = \left[ {\begin{array}{*{20}c} {x_{2} - x_{1} } & {y_{2} - y_{1} } \\ {x_{3} - x_{1} } & {y_{3} - y_{1} } \\ {x_{3} - x_{2} } & {y_{3} - y_{2} } \\ \end{array} } \right] $$
(4)
$$ {\text{B}} = \left[ {\begin{array}{*{20}c} {(d_{1}^{2} - d_{2}^{2} + x_{2}^{2} + y_{2}^{2} - x_{1}^{2} - y_{1}^{2} )/2 } \\ {(d_{1}^{2} - d_{3}^{2} + x_{3}^{2} + y_{3}^{2} - x_{1}^{2} - y_{1}^{2} )/2} \\ {(d_{2}^{2} - d_{3}^{2} + x_{3}^{2} + y_{3}^{2} - x_{2}^{2} - y_{2}^{2} )/2} \\ \end{array} } \right] $$
(5)

Therefore, as long as the three LED lights are distributed in a triangular form and not on a straight line, the unknown point coordinates \( {\text{x}}_{0} \) and \( {\text{y}}_{0} \) have the only solution.

2.3 Positioning Principle

The circuit structure of this indoor VLC positioning system consists of white LED light sources, photoelectric receiver and corresponding signal processing unit as shown in Fig. 2. The transmitter mainly consists of the main controller based on STM32, three white light LED lights and the corresponding driving circuit. The receiver mainly consists of silicon photodiodes, filter amplifier circuit, main controller based on STM32 and LCD circuit. In order to avoid confusion when receiver is receiving multiple LED light signals at the same time, the system sends signals to the three LED lights at different time separately.

Fig. 2.
figure 2

Indoor VLC positioning system structure diagram

The width of visible spectrum that VCL uses is quite large, so single data channel can have high bandwidth or it can contain more channels for parallel transmission. In that case the speed of data transmission can increase significantly to the peak of several hundred MB/s [16]. And the modulation rate of LED is incredibly high so that the human eye cannot sense it flashing at all, which means it can be used both in communication and lightning. When the frequency of the transmission signal is greater than 60 Hz, the white light LED does not appear obvious scintillation phenomenon, which guarantees the basic lighting. The receiver is placed on the point to be measured in the bottom. It receives the light signals from LED1, LED2 and LED3, and converts light intensity information to the corresponding electrical information by the silicon photodiodes on the receiving device. The smaller the distance between light sources and the receiver, the greater the intensity of light, the greater the electrical level and the converse is also true. We use \( {\text{d}}_{1} \), \( {\text{d}}_{2} \), \( {\text{d}}_{3} \) to represent distances between the receiver and LED1, LED2, LED3 respectively. And they can be derived from the electrical levels measured by the receiver according to the relationship between distance and electrical level. Then the coordinates of the points to be measured are calculated by formula (2), and the positioning function is realized.

3 Implementation

3.1 Data Encoding and Decoding

We use 3 I/O interfaces of MCU to control the 3 LED lights in the transmitting device separately. In the mode of time division multiplexing, we can use 3 ports to send data in rotation by software programming [17], which can avoid the mutual interference of signals from different light sources. In order to enable the receiver to identify and receive data correctly, we set a ID number to each light source to solve problems of signal recognition of the receiver. Data information send by different LED lights contain their own ID information. The data transferred includes starting code, ID code, ID negative code, ending code. The starting code consists of a high level and a low level, which lasts 250 μs in total. The ending code is a low level signal, lasting 150 μs. The negative code is to improve the accuracy and reliability of the information transmission.

The silicon photodiodes in the receiving device detect light signals and convert the light signals to the electrical signal which will be filtered and amplified by circuit and then input to the main controller based on STM32. The controller captures the starting code according to the format of the data transmission protocol until the end code is captured, which indicates that a set of data is received successfully. If ID code and ID negative code captured in the process are not match, the acquisition will be given up and the next acquisition will begin.

3.2 Relationship Between Electrical Level V and Distance D

According to the principle of positioning mentioned above, it is necessary to get the distance between the light sources and the point to be measured. In the design scheme proposed in this paper, the level value \( {\text{v}}_{1} \), \( {\text{v}}_{2} \), \( {\text{v}}_{3} \) generated in the condition that receiver is individually irradiated by LED1, LED2 and LED3 can be obtained from the data captured by the receiver. If we can determine the function relation of the electrical level and the distance between light sources and receiver, \( {\text{d}}_{1} \), \( {\text{d}}_{2} \), \( {\text{d}}_{3} \) can be derived from \( {\text{v}}_{1} \), \( {\text{v}}_{2} \), \( {\text{v}}_{3} \). In order to get the function relation, we divide the lower plane of the experimental space along the X axis and the Y axis in 5 cm as the unit, thus the lower plane is divided into 576 squares with the size of 5 cm * 5 cm, forming 480 intersection points. We choose 30 of these points to measure. The data to be measured at each test point includes the level value \( {\text{v}}_{1} \) generated in the condition that receiver is individually irradiated by LED1, the level value \( {\text{v}}_{2} \) at LED2 irradiation, and the level \( {\text{v}}_{3} \) at LED3 irradiation. 10 sets of data were measured at each point, and the data were averaged and recorded. Since the coordinates of measured points and each LED are known, \( {\text{d}}_{1} \), \( {\text{d}}_{2} \), \( {\text{d}}_{3} \) can be calculated according to the Pythagorean theorem. The measurement results are showed in Fig. 3. It can be seen from (a) (b) (c) that the measured data show a relatively consistent trend of variation, no matter the receiver was irradiated by which LED. Compared to LED1 and LED3, the corresponding voltage values of the same distance under the LED2 lighting are higher because LED2 is closer to the open plane of the space and voltage values are influenced by the natural light. The three sets of measurement data are analyzed and processed, and the relationship of the level V and the distance between points to be measured and light source D is obtained, which is shown in Fig. 3(d).

Fig. 3.
figure 3

Relation of electrical levels V and distances D between light sources and the receiver

4 Test and Results

A coordinate system is set up in accordance with Fig. 1, and the coordinates of LED1, LED2, LED3 are respectively (100, 20, 120), (20, 60, 120), (100, 100, 120). 15 points in different regions of the lower plane are tested in this paper, and the coordinates of the measured points are displayed on the LCD. The test results are shown in Table 1, where x and y are the actual coordinates of the test points; \( {\text{x}}_{0} \) and \( {\text{y}}_{0} \) are the measured values. \( \Delta {\text{x}} = \left| {{\text{x}}_{0} - {\text{x}}} \right| \), which are the absolute measurement errors of the abscissa of the test points; \( \Delta {\text{y}} = \left| {{\text{y}}_{0} - {\text{y}}} \right| \), which are the absolute measurement errors of the longitudinal coordinate of the test points.

Table 1. The results of 15 test-points

The results show the following:

  1. (a)

    Compared with the test points near the surrounding area, the location accuracy of the test points near the center of the space is higher, and the positioning error of the system reaches the centimeter level.

  2. (b)

    The positioning accuracy of 6 test points is within 5 cm and the distances from these points to the center point of the bottom are not more than 30 cm. The minimum of absolute error is 3.4 cm.

  3. (c)

    The positioning accuracy of 5 test points is more than 6 cm and the distances from these points to the center point of the bottom are more than 40 cm. The maximum of absolute error is 9.5 cm.

  4. (d)

    The measurement errors of points near the space corner or near the opening are relatively large.

5 Conclusions and Future Research

Visible Light Communication can both be used for lightning and communication, and it has the advantages of high transmission speed, high security, no electromagnetic interference and so forth. A set of indoor VLC positioning system based on high power white LED lights is designed in this paper. The positioning system has a simple positioning principle, low complexity of deployment and easy to be realized which provides an effective solution for indoor positioning. The positioning principle of the system is expounded and analyzed firstly. And then the hardware structure of the whole positioning system is designed. Thirdly the realization of encoding and decoding during communication is introduced in detail, and the indoor localization is realized finally. Experimental data shows that in the experimental space of size of 120 cm * 120 cm * 120 cm, the indoor positioning error of the system is less than 10 cm, and the error of partial area is less than 5 cm.

The measurement errors of points near the space corner or near the opening plane are relatively large because luminescence intensity received by points near the opening plane was affected by the outdoor light and luminescence intensity near the corner was affected by light interference and reflection. We should notice that the indoor positioning system proposed in this paper was tested in an ideal condition with less obstacle and weak diffuse. The movement were slow or even static, and the experimental space is small. In fact, the indoor environment is full with a lot of obstacle which the diffuse reflection is strong and movements’ speeds are uncertain. These complex environment factors should be considered in future research.