Indoor visible light positioning system based on cooperative localization

Abstract. Visible light communication, as a promising future wireless communication technology, has been considered as an attractive solution for indoor positioning systems. An indoor visible light positioning system based on cooperative localization is proposed to support illumination and positioning simultaneously. By cooperation among agents, the positioning system can work in a harsh environment, where a two-light-emitting diodes positioning scheme is proposed as an example specifically. The Bayesian framework and factor graph are introduced to describe the location problems, while the sum-product algorithm is adopted to deal with the positioning process and determine the receivers’ location. Moreover, simulations are carried out to demonstrate that the proposed system can achieve centimeter-scale positioning accuracy, and the feasibility is also verified.


Introduction
Location-based services have the potential to be beneficial for public service, wireless networks, numerous applications, and so on, due to the development of accurate positioning technologies.Recently, 1 visible light communication (VLC) as a future wireless communication technology has been extensively researched, 2 which has many advantages such as dimmable illuminance, 3 inherent security, and widely available spectrum.Due to the ubiquitous infrastructure and confined communication range, VLC can be suitably applied to indoor positioning systems. 4Moreover, suffering less affection from multipath effects and interference from other wireless devices, VLC-based systems are expected to provide better positioning accuracy than radio-wave solutions.Furthermore, VLC does not create any electromagnetic interference, and therefore, it is suitable to be deployed inside electromagnetic restricted environments, such as in the mine and hospital scenarios. 5here are many positioning algorithms applied to VLCbased positioning systems. 6Triangulation is one of the most widely used algorithm for indoor localization systems in consideration of both accuracy and implementation cost. 7y measuring the distances from multiple reference anchors, the agents' location can be estimated with the help of the geometric properties of the triangle, where the light-emitting diodes (LEDs) work as anchors and the receivers act as agents in VLC systems.Distance measurement can be mathematically calculated using received signal strength (RSS), time of arrival, and/or time difference of arrival.Benefit from the less multipath effects on VLC, RSS can be properly exploited as the signal metric.In the literature, 8 an RSSbased indoor positioning algorithm is proposed to estimate agent's locations by analytically solving the equations with the characterization of the Lambertian pattern.Moreover, a dimensionality reduction algorithm based on the received signal intensity is investigated to eliminate the dead zone of positioning. 9Usually in the two-dimensional (2-D) case, at least three anchors are needed to achieve positioning.However, triangulation positioning algorithm may fail in harsh environments.For example, if only two LED signals can be detected due to obstacles blocking, the agent cannot trilaterate its position solely based on the limited information.
Cooperative localization is a practical and effective way to address this problem. 10,11As an emerging paradigm, cooperative localization has received extensive interest from the navigation and wireless communication. 12In cooperative localization, agents not only communicate with anchors, but also exchange information with other agents.By obtaining information from both anchors and other agents within communication range, cooperative localization can deal with the problem in harsh environments with limited information, and offer better accuracy and coverage.Furthermore, there is no need for all agents to be within communication range of multiple anchors, thus high-density anchor deployments or long-range anchor transmissions are no longer required.
In this paper, a VLC-based indoor positioning system based on cooperative localization is proposed to support illumination and positioning simultaneously.With the help of information sharing between receivers, the proposed positioning system can determine the location cooperatively even in harsh environments and improve the localization range.Specifically, a two-LEDs positioning scheme is illustrated as an example, where each receiver can only detects signals from two LEDs.The proposed positioning algorithm adopts the Bayesian framework for cooperative localization.The factor graph and sum-product algorithm are applied for the positioning process. 13,14Moreover, simulations are carried out to verify the feasibility, which demonstrate that the proposed system can achieve accurate positioning in harsh environments.The remainder of this paper is organized as follows.Section 2 presents a system model of VLC-based positioning system, where the VLC channel model is introduced, and the positioning model in 2-D case is also discussed.In Sec. 3, the proposed positioning system based on cooperative localization, as well as the positioning algorithm is introduced.In Sec. 4, the numerical simulation results that evaluate the performance of the proposed methods are presented.Finally, conclusions are drawn in Sec. 5.

System Model
In this section, an indoor positioning system based on RSS is introduced briefly.By estimating the distances from the agent to multiple anchors, the agent's location can be calculated.The VLC channel model is investigated first, and the 2-D case is also provided.

Channel Model
Because of the availability of line-of-sight (LOS) channels for most indoor environments in VLC systems, it is considered that RSS-based methods for VLC systems could deliver a good performance.As shown in Fig. 1, the radiation of the LEDs follows a Lambertian radiation pattern, 15 the channel gain H in the LOS environment can be represented by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 1 ; 6 3 ; 4 6 0 H ¼ where d is the distance between the transmitter and receiver, φ and θ are the angle of irradiance and incidence relative to the normal direction, respectively.Transmitter radiant intensity R 0 ðφÞ and effective signal collection area A eff ðθÞ are given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 2 ; 6 3 ; E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 3 ; 6 3 ; 3 2 3 A eff ðθÞ ¼ A cos θ; where A is the detector physical area, the order m can be given as m ¼ − ln 2∕ lnðcos φ 1∕2 Þ, in which φ 1∕2 is defined as the half-power angle of LED.
For the sake of simplicity, first-order Lambertian pattern is considered in this paper, i.e., m ¼ 1, which is the most common case for the general illumination LEDs.The angle between the receiver's normal and the vertical is zero.Therefore, the receiver optical power P r can be given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 4 ; 3 2 6 ; 6 9 7 where P t and N σ denote the average transmitted optical power and the channel noise power, respectively.

Localization in Two-Dimensional Case
Without loss of generality, this section presents the 2-D case in the VLC positioning system.The trilateration method is utilized, and at least three RSS signals are required to calculate the receiver's coordinates.The LEDs are fixed at the same height from the ground and individually modulated by their location information.The coordinates of the i'th LED are defined as ðx i ; y i Þ, while the coordinates of the receiver are unknown and denoted by ðx; yÞ.Assuming each LED broadcasts the coordinates to the receiver via VLC, the receiver can detect the received optical power from each LED.The received power P r;i from i'th LED can be given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 5 ; 3 2 6 ; 4 7 5 P r;i ¼ P t A πd 2 cos φ cos θ where h represents the height of receiver, which is known in 2-D case.For computational convenience, it can be simplified as ; t e m p : i n t r a l i n k -; e 0 0 6 ; 3 2 6 ; 3 7 1 Based on the measurements in Eq. ( 6), the least squares (LS) estimator is adopted to solve the nonlinear and nonconvex LS problem, i.e., E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 7 ; 3 2 6 ; 2 8 6 ðx; ŷÞ ¼ arg min where N is the number of LEDs that is used to estimate the location ðx; ŷÞ of the receiver.This nonlinear least square can be viewed as an optimization problem where the objective is to minimize the sum of the error square. 16n approximation solution of this problem is using linear least square to obtain a closed-form solution.The estimated position can be calculated from Eq. ( 6) by solving the matrix Ax ¼ b with E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 0 8 ; 3 2 6 ; 1 2 9 where x is the location of the receiver.Thus, the estimated location x ¼ ðx; ŷÞ is given by x ¼ ðA T AÞ −1 A T b.The positioning error is affected by the accuracies of the range measurements and the number of anchors.Figure 2 shows an example of 2-D localization, where the receiver obtained three RSS measurements from different LEDs.
In the above-mentioned method, at least three reference LEDs are needed to estimate the receiver's location for an acceptable error.Therefore, to obtain sufficient information for the accurate localization, it necessitates either a high density of LEDs or high illumination intensity, which are undesirable for both cost-and power-constrained networks.Additionally, the independence of different receivers impairs the robustness of the system.Worst of all, the receiver may be unable to detect enough signals from LEDs due to obstacles or insufficient amount of LEDs, leading to the failure of the receiver localization.Therefore, it is necessary to come up with the solutions to achieve high accuracy in harsh environments with limited infrastructure requirements.

Proposed Positioning Method
In this section, a visible light positioning method is proposed to address the challenges by cooperatively determining their location, where the agents share information with each other.The factor graph is introduced to graphically represent the model.Moreover, the sum-product algorithm for cooperative localization is derived to solve the problem.

Cooperative Localization
Cooperative localization, in which agents help each other to determine their locations, is a breakthrough technology to improve the accuracy and reliability of position information. 17Especially in harsh environments where geographic positioning fails, cooperation among agents can enable agents to be localized.
Figure 3 depicts a simple model of the cooperative localization with two agents.Using only estimated distances with respect to the anchors (LEDs 1 and 2, LEDs 3 and 4) and agents (receivers 1 and 2) are unable to determine their individual positions without ambiguity.However, when the agents communicate directly with each other (as shown by the red arrow) they can cooperate to find their positions.In general, cooperative localization can dramatically increase localization performance in terms of both accuracy and coverage.

Measurement Models
In this section, a general Bayesian framework for cooperative localization is developed in heterogeneous VLC positioning system.
In the first phase of localization, the signal metrics are estimated to measure the distances.In our system, when the receiver collects the measured RSS, the estimated distance z between the LEDs and the receiver can be obtained according to Eq. ( 6), i.e., E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 0 ; 3 2 6 ; 3 5 4 The locations of LEDs are assumed to be known.The location information of i'th LED is written as t i and the location information of j'th receiver is denoted as r j .Therefore, the likelihood function for the location of VLC receiver can be expressed as pðz i→j jt i ; r j Þ, when the j'th receiver detects the RSS of i'th LED.Assuming the channel noise follows the additive Gaussian noise distribution N σ ∼ N ð0; σ 2 Þ, according to Eq. ( 4), the likelihood function is then given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 1 ; 6 3 ; 7 1 9 pðz i→j jt i ; r j Þ ¼ where l ¼ kt i − r j k.
The posteriori distribution function can be represented by following Bayes formula, i.e., E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 2 ; 6 3 ; 6 4 1 pðt i ; r j jz i→j Þ ¼ where pðt i ; r j Þ denotes the prior information of the locations, and the denominator pðz i→j Þ can be regarded as a normalization factor that does not depend on the locations r j .
In the second phase, positioning information are exchanged between receivers in the range.Furthermore, the distances between the receivers can be acquired through signal metrics among receivers.There are a variety of methods to achieve interagents communication, such as ultrawide bandwidth transmission, radio frequency, VLC, and so on.The likelihood function for the location between VLC receivers has a similar format, and can be expressed as pðz i Ã →j jr i ; r j Þ, when the j'th receiver detects the signal metric from the i'th receiver.
In the third phase, measurements are aggregated and used as inputs to a localization algorithm.The location of the receivers can be estimated based on the maximum a posteriori (MAP) methods.Because the locations of LEDs t i are known, only the receivers' locations are served as variables of the MAP estimator.The MAP estimation can be given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 3 ; 6 3 ; 3 8 6 rMAP ¼ arg max r p rjz ðrjzÞ; (13)   where r ¼ fr 1 ; r 2 ; : : : ; r N g represents the set of receivers' location and z denotes the estimated distances set.The joint probability distribution p rjz ðrjzÞ can be factorized to the product of probability distribution for the location of every receiver.The objective of the proposed scheme is to solve this Bayesian estimation problem and determine the location of each receiver.

Factor Graph and Sum-Product Algorithm
One of the practical algorithms for cooperative localization is derived by formulating the problem as a factor graph and applying the sum-product algorithm.
Factor graphs provide an intuitive framework to represent and calculate the marginal of a function with multivariate, which expresses the global function as the product of local functions or factors fð•Þ.In a factor graph, for every factor, a factor vertex is drawn as a square and labeled as "f", while for every variable X, a variable vertex is drawn as a circle and labeled as "X".When a variable X appears in a factor fð•Þ, i.e., fðXÞ, an edge is used to connect the vertices X and f.The factor graph illustrates the relation between the global function and shared local functions, thus can be utilized to derive the desired localization algorithm.
A factor graph is described in the specific situation as shown in Fig. 3.The receiver 1 only uses the estimated distance with respect to the LEDs 1 and 2, while the receiver 2 detects the signal metrics from LEDs 3 and 4.Moreover, the receivers 1 and 2 communicate and share information directly.The joint probability distribution p rjz ðrjzÞ is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 4 ; 3 2 6 ; 6 7 5 p rjz ðrjzÞ ¼ pðr 1 ;r 2 ;t 1 ;t 2 ;t 3 ;t 4 jz 1→1 ;z 2→1 ;z 3→2 ;z 4→2 ;z where pðr 1 Þ and pðr 2 Þ are the prior distribution of the receivers' location, and are assumed to be predetermined within the uniform distribution.Figure 4 depicts the factor graph that represents joint probability distribution.The locations of the receivers 1 and 2 are represented by variable vertices X 1 and X 2 , respectively.The likelihood functions of r 1 are represented by the adjacent factor vertices f 1 and f 2 , while the likelihood functions of r 2 are represented by the factor vertices f 5 and f 6 .The probability distributions between receivers are given by the factor vertices f 3 and f 4 that connect mutually variable vertex X 1 and X 2 .
The sum-product algorithm can be performed for enabling parts of the marginal function of the joint probability distribution to be computed locally.The sum-product algorithm operates by computing messages inside the vertices and sending those messages over the edges.
Two types of messages are described.When a message is transmitted from a variable vertex to a factor vertex, it is denoted as outgoing messages μ X→f ð•Þ, while that from a factor vertex to a variable vertex denoted as incoming messages μ f→X ð•Þ.Each message is a function of the associated variable.
Given a factor fðx 1 ; : : : ; x D Þ, a update rule is followed.The incoming messages over edge X i is given by E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 5 ; 3 2 6 ; 2 9 9 For equality vertices, it can be shown that an outgoing message is simply the point-wise product of the incoming messages E Q -T A R G E T ; t e m p : i n t r a l i n k -; e 0 1 6 ; 3 2 6 ; 2 2 8 where the message is normalized, such that incoming and outgoing messages passed over the corresponding edge incident to variable vertex X i .
The sum-product algorithm for localization is shown in Algorithm.1, where N is the number of receivers and L is the number of iterations.It is noted that for each location variable r i , messages flow and broadcast over each edge in fixed direction.By iteratively calculating, sending, and updating, the message passing terminates until termination criteria are met.
Applying the theoretical sum-product algorithm to cooperative localization, the marginal posterior distribution of each receiver can be calculated by the most recent outgoing message.The sum-product algorithm thus provides an efficient and distributed way to calculate all the desired location distributions simultaneously.In conclusion, through cooperation localization with sum-product algorithm, both receivers can self-localize.
Indeed, to achieve the cooperative localization, the cooperative localization is required and the factor graph is introduced, where the two-way communication increases the localization duration of the system, while the proposed sum-product algorithm to deal with the positioning process costs the computational complexity of the system.

Simulation Result
The simulation environment is deployed in an empty room, where the length, width, and height are set to 4, 4, and 3 m, respectively.Four LEDs with the positioning information are fixed horizontally on the ceiling, all of which have an identical half-power angle of 60 deg and emitting light intensity of 680 lm.The receivers are assumed at 1-m height from the ground, and the direction is vertically upward.Detector physical area is 1 cm 2 and its sensitivity is 1 A∕W.For convenience, the communication between receivers is also utilizing VLC, which has the consistent parameters and could simplify the simulation model.
Figure 5 illustrates a particular realization of the cooperative localization with 10 times simulation.The 4 red dots represent the LEDs, the 20 blue circles are the true positions of receivers, and the 20 green dots are the estimated positions of the receivers.The gray line denotes the location error, which connects the estimated location and the true location of each receiver.Each receiver can only connect with two neighboring LEDs, but is able to communicate with the other receiver.It can be seen that the receivers can be localized accurately by cooperation without ambiguity.
Figure 6 shows the root mean square error (RMSE) of positioning error under the different signal-to-noise ratio (SNR), where SNR represents the ratio of the received optical power and noise power.For reference, both the simulated position accuracy of the proposed cooperative localization method and the theoretical bound of the conventional trilateral positioning method are included in Fig. 6.It can be seen that there is a dramatic decrease of RMSE of positioning error.Specifically, the RMSE is below 0.16 m when SNR ≥ 20 dB, and it decreases to below 0.02 m at SNR ¼ 40 dB.Moreover, the RMSE of the proposed method approached the theoretical bound of the conventional trilateral positioning method when the SNR was above 30 dB even with two anchors for localization for each receiver.Based on the results, it is verified that the proposed cooperative localization algorithm is able to provide centimeter-scale accuracy, Algorithm 1 Cooperative localization algorithm based on sum-product algorithm.

Conclusions
Cooperation among receivers has the potential to improve localization performance and address the problem in a harsh environment.In this paper, an indoor visible light positioning system based on cooperative localization is proposed.A factor graph is utilized to illustrate the model of cooperative localization, and the sum-product algorithm is adopted for positioning process.According to the simulation results, the proposed system cooperatively determines the receivers' positions and provides centimeter-scale positioning accuracy.

Fig. 1
Fig.1System parameters of optical wireless channel for the VLC system.

Fig. 4
Fig.4The factor graph that represents joint probability distribution.

Fig. 5 A
Fig.5A particular realization of the cooperative localization with 10 times simulation.(The red dots represent the LEDs, while the blue circles and the green dots are the true positions and estimated positions of the receivers, respectively.) Fang Yang received his BSE and PhD degrees in electronic engineering from Tsinghua University, Beijing, China, in 2005 and 2009, respectively.Currently, he is working as an associate professor in the Department of Electronics Engineering, Tsinghua University.His research interests lie in the fields of channel coding, channel estimation, interference cancellation, and signal processing techniques for communication system, especially in power line communication, visible light communication, and digital television terrestrial broadcasting.He received the IEEE Scott Helt Memorial Award (best paper award in IEEE Transactions in Broadcasting) in 2015.He currently serves as an associate editor for the IEEE Access.The RMSE of positioning error under the different SNRs.