Adaptive Kalman Tracking for Indoor Visible Light Positioning
Yusuf Eroglu Fatih Erden Ismail Guvenc







Adaptive Kalman Tracking for Indoor Visible Light Positioning
    Yusuf Said Eroglu, Fatih Erden, and Ismail Guvenc

Department of Electrical and Computer Engineering, North Carolina State University, Raleigh, NC

Email: {yeroglu, ferden, iguvenc}@ncsu.edu
This work is supported in part by NSF CNS award 1422062.

    December 30, 2023
============================================================================================================================================================================================================================================================


Visible light communication (VLC) utilizes light-emitting diodes (LEDs) to transmit wireless data. A VLC network can also be used to localize mobile users in indoor environments, where the global positioning system (GPS) signals are weak. However, the line-of-sight (LOS) links of mobile VLC devices can be blocked easily, which decreases the accuracy of localization. In this paper, we study tracking a VLC user when the availability of VLC access point (AP) link changes over the user's route. We propose a localization method for a single available AP and use known estimation methods when a larger number of APs are available. Tracking mobile users with Kalman filter can increase the accuracy of the positioning, but the generic Kalman filter does not consider instant changes in the measurement method. In order to include this information in the position estimation, we implement an adaptive Kalman filter by modifying the filter parameters based on the availability of APs to the user. Simulation results show that the implemented method decreases the root-mean-square error (RMSE) of the localization down to 30%-50% of the original estimation. 



Adaptive Kalman filter, light-fidelity (Li-Fi), localization, optical wireless communications (OWC), visible light communications (VLC).




§ INTRODUCTION


There is an increasing demand for indoor positioning and navigation systems due to the proliferation of location-based services. The global positioning system (GPS) does not work well in indoor environments because of the strong signal attenuation. Dedicated indoor localization systems can help to provide accurate location information needed for these services at the expense of deployment and operation costs. Several indoor positioning systems have been proposed using different wireless technologies, including radio frequency identification (RFID), infrared (IR), and wireless local area network (WLAN). =-1

Another alternative method for indoor localization is visible light positioning (VLP), which has lately received attention <cit.>. The energy-efficient light-emitting diodes (LEDs) are replacing older light sources such as incandescent or fluorescent bulbs. Besides energy efficiency, LEDs can conveniently offer many new applications such as visible light communication (VLC) and positioning. VLC provides an additional wireless communication spectrum which is wide and unregulated and can complement radio frequency (RF) on providing wireless connectivity. Since visible light does not penetrate walls, the inherent physical security makes VLC a good candidate for military applications. Other advantages of the VLC are the energy efficiency due to using the same signal for illumination and communication, the absence of radio interference, and high spectral reuse <cit.>. As VLC starts to serve users for communication purposes, an inherent application would be to use it for indoor positioning. VLP can provide very accurate localization with a root-mean-square error (RMSE) below 5 cm when a sufficient number of LEDs are available to the user <cit.>. =-1

VLP accuracy may suffer from the insufficient number of visible light access points (APs) or LEDs. To enhance the accuracy of the VLP, Kalman filters (KFs) can be used <cit.>. The KF predicts the user location based on previous locations and combines the predictions with the actual measurements to cancel out the negative effects of instantaneous bad measurements. It can track the user efficiently in case the localization method itself fails to do so. However, in many applications, the estimation methods and/or parameters change frequently. To incorporate these changes into the KF, adaptive estimation can be used <cit.>. The main advantage of the adaptive technique is its weaker reliance on the a priori statistical information. An adaptive filter formulation tackles the problem of imperfect a priori information and provides a significant improvement in performance over the fixed filter through the filter learning process <cit.>. It has been used for improving the accuracy of GPS <cit.>, and for tracking mobile Wi-Fi users with intermittent link availability <cit.>. =-1

The VLC signal highly depends on line-of-sight (LOS) link, and when the LOS links are blocked or misaligned <cit.>, some of the APs may not be available to the user for some time. The varying number of available APs requires the device to use different localization methods with different expected accuracies over the route. Therefore, the implementation of an adaptive KF is crucial for efficient tracking of the VLC users, which have not been addressed in the literature. In this paper, we implement an adaptive KF for VLC user tracking while the number of accessible APs varies with the user position. We propose a localization method for the case with a single available AP and adapt existing techniques with adaptive KF framework for the cases with multiple available APs. We assume each AP can be blocked with a random probability, and decide certain estimation models based on the resulting layout of available APs. We propose a heuristic method to weight each layout model according to their expected estimation accuracy and use these in the adaptive filter. We track the user over a random waypoint (RWP) route with conventional and adaptive KFs. The results show that the adaptive filter provides a significant increase in the localization accuracy compared to the conventional filter. =-1

The rest of this paper is organized as follows. Section <ref> presents the channel model, AP architectures with different LED configurations, and AP layout models considered in the study. Section <ref> introduces the localization methods for different number of APs. Section <ref> describes the KF-based VLC user tracking. Section <ref> presents the simulation results, and Section <ref> concludes the paper.

Notations: I is the identity matrix, diag(x) is the diagonal matrix with diagonal entries x.The transpose operation is denoted by (·)^T. The Gaussian distribution with zero-mean and covariance matrix C is shown as 𝒩(0, C), the uniform distribution between a and b is shown as 𝒰(a, b), and the Euclidean norm is shown as ·.






§ VLP SYSTEM MODEL



 §.§ Optical Channel Model

We consider a scenario with multiple APs that communicate with a VLC receiver. Each AP has multiple co-located LEDs with different orientations as illustrated in Fig. <ref>. The th LED that is located on the kth AP, without loss of generality, can be defined with three parameters as = {[],[],}, where [] = [r_^( x), r_^( y), r_^( z)]^ T∈^3×1 is the location of the LED,  [] = [q_^( x), q_^( y), q_^( z)]^ T∈^3×1 is the orientation of the LED, and  is the parameter that specifies the directionality of the light source based on Lambertian pattern <cit.>. Similarly, the receiver is modeled as = {[],[],, }, where []∈^3×1 is the location of the photo-diode (PD), []∈^3×1 is the orientation of the PD,  is the area of the PD in cm^2, and  is the semi-angle field of view (FOV) of the PD. All orientation vectors are unit vectors.


The LOS component of the channel impulse response between the source  and the receiver  is given by <cit.>

    h_(t; , )   =+1/2πcos^() cos()/^2
       ×[/]
    [/π/2][t-]
     ,

where  is the angle between [] and the incidence vector, which is the vector from the transmitter LED to the receiver PD, and  is the angle between [] and the incidence vector.  is the length of the incidence vector, which is given as [] - []. The propagation delay is given as =/, where  is the speed of light. [·] denotes the Dirac function, and [·] denotes the rectangle function which takes the value 1 for |x| ≤ 1, and 0 otherwise.

While [/] in (<ref>) implies that the receiver can detect the light only when  is less than , [/(π/2)] ensures that the location of the receiver is in the FOV of the source. The terms in (<ref>) can be obtained as

    cos()=[]^ T([] - [])/,

and 

    cos()=-[]^ T([] - []  )/ .






 §.§ AP Architectures

This subsection explains the AP architectures considered for the simulations in this manuscript. We consider APs with multiple co-located LEDs that have different orientations as examined in <cit.>. These angle diversity APs provide advantages for communication purposes such as space division <cit.>, and localization purposes such as better angular resolution <cit.>. 

Some of the example AP architectures are illustrated in Fig. <ref>. Fig. <ref> shows the AP with three LEDs. The LEDs are vertically tilted with α degree from the center orientation of the AP. For APs with four to seven LEDs, we use the architecture in Fig. <ref>, where one LED is in the middle, and other LEDs surround it with again α degree vertical tilt, and they are separated from each other with equal degrees on the horizontal plane. For APs with more than seven LEDs, LED configuration in Fig. <ref> is used, where there is a single LED in the middle, six LEDs surround it in the first layer with α degree vertical tilt, and the rest of the LEDs surround them in the second layer with an additional β degree vertical tilt. Again, the LEDs on any layer are separated from each other with equal degrees, except for the AP with eight LEDs where there is a single LED on the second layer. 




 §.§ AP Layout Models
 
Without loss of generality, we consider a square room with four APs located at the corners of the room at the ceiling height. The APs are oriented so that they face the center of the room, with 45^∘ separation from all three walls. Each AP has multiple co-located LEDs with different orientations, as shown in Fig. <ref>. As the user moves around the room, some of the APs might be blocked due to intervening objects, change in the receiver orientation <cit.>, or the limited FOV of the PD. The receiver then localizes itself using the signal that it receives from all the available APs. 



As some of the APs are blocked, or not in the FOV, we can consider six different layout models for the accessible APs, as shown in Fig. <ref>. We refer to the layout with no available APs as Model-0. In this case, localization relies solely on the prediction from the previous location estimates. Model-1 refers to the layout where there is only one available AP. In this case, localization is performed as described in Section <ref>. For other models, there are multiple available APs, and the hybrid localization method <cit.>, which is described in Section <ref>, is used. 





§ LOCALIZATION METHODS AND AP AVAILABILITY
 
In this section, we first describe the localization method for multiple available APs, and then for a single available AP. =-1



 §.§ Multiple APs
 
There are many localization methods that consider multiple APs <cit.>. In this paper, we use the hybrid localization method proposed in <cit.>. The method is named the hybrid localization because it uses both the angle-of-arrival (AOA) and the received signal strength (RSS) information. In this method, RSS information from the LEDs modeled as in (<ref>) are fed to a maximum likelihood (ML) estimator. The iterative solution starts with an initial point, which is assumed to be the result of the AOA-based localization <cit.>. The hybrid localization provides high accuracy, especially when a large number of APs and LEDs are available.



 §.§ Single AP
 
When there is only a single AP available at a given time, neither ML estimation nor AOA-based localization works. In this case, we use the AOA information from the single AP to estimate the location of the receiver. In most indoor applications, the mobile receiver is either on a hand-held device or placed on a desk, and the AP is located higher than the receiver. By assuming a constant height for the receiver, and using the AOA information, the user location can be estimated by finding the intersection of a vector and a plane. Assume that the available AP is the kth AP, and the estimated AOA information from the kth AP is p_k = [p_k^(x), p_k^(y), p_k^(z)], which is a unit vector that points in the direction from the AP to the receiver. The height of the receiver is denoted by ν. Then, the estimated location of the user is the intersection of the vector p_k and the horizontal plane defined by the height ν, which is given as

    r_R' = r_ - p_k(ν - r_^(z))/p_k^(z),

where 

r_ is the location of the available AP, and r_^(z) is the height of it. The term p_k can be estimated by a weighted average of the orientation vectors of the LEDs on the AP <cit.>. The normalized AOA estimation vector can therefore be written as



    p_k = p̃_k/p̃_k ,  where  p̃_k = ∑_n = 1^N h_q_,

where h_ is the signal strength received from the nth LED, and N is the number of LEDs on the kth AP.



§ TRACKING THE MOBILE VLC USER
 
In this section, we present the conventional and the adaptive KF models, and techniques for tracking a mobile VLC user.



 §.§ Conventional Kalman Filter
 
The KF is a Bayesian filter that can track a user by exploiting the prior location information. Let (x_t, y_t, z_t) denote the location estimate of a VLC user at time t, and (V_t^x, V_t^y, V_t^z) denote the velocity of the user in (x, y, z) coordinates at time t. Then, the state vector containing the KF prediction for user location and velocity at time instant t can be written as

    [[   x_t;   y_t;   z_t; V_t^x; V_t^y; V_t^z ]]_x̂_t=[   1   0   0 Δ t   0   0;   0   1   0   0 Δ t   0;   0   0   1   0   0 Δ t;   0   0   0   1   0   0;   0   0   0   0   1   0;   0   0   0   0   0   1 ]_B[ [   x_t-1;   y_t-1;   z_t-1; V_t-1^x; V_t-1^y; V_t-1^z ]]_x_t-1+[ [   e^x;   e^y;   e^z; e^V_x; e^V_y; e^V_z ]]_e_x,

where B is the state transition matrix, Δ t is the time difference between two states, x_t-1 is the estimation from previous state, and e_ x∼𝒩(0, E_ x) is the prediction error vector. Moreover, let (z_t^x, z_t^y, z_t^z) denote the observation of the user at time step t before applying the KF. Then, the observation equation can be written as


    [ [ z_t^x; z_t^y; z_t^z ]]_z_t^ obs  =  [ 1 0 0 0 0 0; 0 1 0 0 0 0; 0 0 1 0 0 0 ]_C[ [   x_t;   y_t;   z_t; V_t^x; V_t^y; V_t^z ]]_x̂_t + [ [ v^x; v^y; v^z ]]_v ,

where v∼𝒩(0, E_ v) is the observation error. The term z_t^ obs is only a temporal estimate. At time t, we also get measurement values for x_t, y_t, and z_t, and they form our measurement vector z_t^ meas. Then we calculate our final estimate using

    x_t = x̂_t + K_t (z_t^ meas - z_t^ obs) ,

where K_t is the Kalman gain. The Kalman gain is a matrix that provides a balance between the prediction from previous steps and the measurement from localization at the current step. It can be iteratively calculated at each step by

    P_t = BP_t'B^T + E_ x, 
       K_t = P_tC^T(CP_tC^T + E_ v)^-1, 
       P_t+1' = (I - K_tC)P_t ,

where E_ x is the constant covariance matrix of e_ x and can be modeled as diag(σ_x^2) assuming the errors of the parameters are independent and of similar amplitude. The E_ v is the covariance matrix of v and can be modeled as diag(σ_ v^2), and P is an error covariance matrix which is updated twice in an iteration. In the next subsection, we discuss the adaptive KF. 




 §.§ Adaptive Filtering

The conventional KF assumes that we do not have information about the accuracy of the measurement at each state, and it keeps track of the estimated error in the covariance matrix P. However, the number of available APs and hence, the localization method might change at any time, and we can use such information to improve the tracking performance with adaptive filtering. Since we have classified the arrangement of the available APs under six models (see Fig. <ref>), we can represent the adaptive filter as follows.  
The KF is implemented for each model as explained in Section <ref>, with the difference that E_ v in (<ref>) is replaced with E_ v^j. The E_ v^j is a 3×3 model-dependent covariance matrix  and can be expressed as follows

    E_ v^j =  diag(σ_ v^2/η(j))  ,

where σ_ v^2 is the variance of the error in the location observation, and η(j) is the adjustment parameter for the jth localization model. For models with high accuracy, we expect η(j) to be high, which causes the diagonals of E_ v^j to be low. This will result in a K_t matrix with higher entries on the diagonal in (<ref>), implying that a low measurement error is expected. For example, η(5) should be high due to the expected high accuracy of Model-5, and η(1) should be low due to the low accuracy of Model-1. Similarly, η(0) should be set to a very small positive number to account for the high measurement error in Model-0. Note that by using a diagonal E_ v^j, we assume the estimation errors in different directions are uncorrelated as considered in the conventional KF model. 

Next, a final estimate for the state x_t as in (<ref>), and a covariance state P_t+1' as in (<ref>) are obtained. Based on different covariance matrices E_ v^j in (<ref>), the corresponding x_t and P_t+1' can be written as follows:

    x_t = x̃_t^(j)   and  P_t+1' = P̃_t+1'^(j) ,

where x̃_t^(j) is the state estimate and, P̃_t+1'^(j) is the state covariance matrix for Model-j at time t.




 §.§ Coefficients of the Adaptive Filter

Calculation of E_ v^j for the adaptive KF is studied in <cit.> and <cit.>. However, these studies do not assume certain estimation models as we do in this study. Instead, they calculate the optimal E_ v^j or E_ x^j matrices at each filter state with up-to-date parameters. Moreover, the ML estimation used in these studies has high computational complexity and may not be computed in real time without high computing power. Our problem differentiates from these studies by simplifying the adapting conditions to six distinct models unique to indoor VLC scenarios. We also simplify the problem of finding E_ v^j to finding coefficients η(j) in (<ref>) by assuming the estimation errors in different directions are uncorrelated. 


While determining the coefficients η(j), a good strategy would be to assign higher weights to models with lower localization errors. To examine this, we have simulated the mean localization error for each AP layout model in Fig. <ref>. The mean errors are calculated by averaging the localization errors for different receiver locations. The results are presented in Fig. <ref> for each model with a different number of LEDs on each AP and simulation parameters in Table <ref>. Model-0 is not included as this model does not provide any location estimation and relies only on prediction. The models with a higher number of accessible APs provide a lower error as expected. The only exception is that Model-1 performs better than Model-2 for the 3-LED case. This is because the ML estimation in <cit.> needs a large number of LEDs and APs to perform properly. While comparing the models with two available APs, we see that Model-3 performs better than Model-2. The reason for that is having both APs side by side in Model-2 may cause a bias in the estimation, i.e., the user can be estimated to be closer to the APs than the actual location. All models perform better when the number of LEDs on APs are higher, with a few exception data points. 

A similar problem with distinct layout models is studied in <cit.> for occupancy counting. In this study, the authors heuristically choose the coefficients such that each model has half the coefficient of the model with the next higher accuracy. Using a similar approach, we choose the coefficients of our model as follows:

    η(0) = 1/32,   η(1) = 1/16,   η(2) = 1/8, 
    η(3) = 1/4,   η(4) = 1/2,   η(5) = 1.

The coefficient of the Model-5 is set to the highest value 1 because all the APs are available to the user in this model. Besides, setting η(5) to 1 provides a fair comparison with the conventional KF. 

Since the coefficients in (<ref>) do not depend on the exact expected error of the models, we will refer to them as the fixed coefficients in the rest of the paper. 

The fixed coefficients in (<ref>) do not use all the information about how accurate each model is. Since we know the expected errors for each model, we can use this information to calculate better η(j) coefficients. With this purpose, we propose a heuristic method, where the coefficient of each model is inversely proportional to the expected error of the model. Let ω(j, N) denote the mean location error for model j and N LEDs per AP and η̃(j, N) denote the coefficient η(j) for N-LED case. Then, we have

    η̃(j, N) = ω(5, N)/ω(j, N).

Note that using (<ref>), we get η̃(5, N)=1 for all N. 


In Fig. <ref>, we observe that the expected errors saturate as the number of LEDs increase. We can consider these saturation errors as the lower bound of each model. Therefore, as a third option, we can evaluate each model at the best performance and determine the adaptive coefficients as 


    η_∞(j) = η̃(j, ∞).

In the simulations, we will find the coefficients using (<ref>), (<ref>), and (<ref>), separately, and compare their performances to investigate the sensitivity of adaptive KF to different coefficients. The coefficients in (<ref>) and (<ref>) are calculated using the data given in Fig. <ref>. 





§ NUMERICAL RESULTS




In the simulations, we assume that a user walks along a random waypoint path. The user starts walking from one side of the room and visits the randomly chosen waypoints. The height of the waypoints is also random with 𝒰(0.7 m, 1.1 m). The waypoints are chosen so that the turn angle cannot exceed 90^∘. If this condition is not satisfied, the waypoint is randomly selected again until it is satisfied. The path ends at the maximum length of 30 m, or when new waypoint selection is not possible. The user speed is 0.1 m per time step, and therefore the VLC user's location is estimated at each 0.1 m. Other simulation parameters are provided in Table <ref>. The simulations are repeated for 2000 routes and average results are provided. =-1



The APs are assumed to be blocked with a random probability at each time instant. This is a scenario where the available APs change frequently (e.g., due to random receiver orientation <cit.>) and is chosen to show at what extent the adaptive filter can improve the accuracy. Fig. <ref> shows the RMSE for localization over the path for increasing probability of each AP being blocked. There are seven LEDs on each AP with the configuration shown in Fig. <ref>. The solid line shows the RMSE for unfiltered localization, the dashed line shows the RMSE for the localization with the conventional KF, and the dotted lines show the RMSE with the adaptive KF. 

For the results in Fig. <ref>, the layout model is decided based on the available APs at each time step as shown in Fig. <ref>. When the blocking probability is equal to zero, the layout model is always Model-5. In this case, the conventional and adaptive filters are identical, and they do not provide a visible improvement on the accuracy over the unfiltered localization. The reason for that is, the error is already low, and it is not necessarily Gaussian distributed, so the KF does not necessarily provide improvement. When the blocking probabilities increase, the RMSE increases too. In this case, the conventional KF improves accuracy significantly. The adaptive KF reduces the RMSE even more by utilizing the layout model information. Using the heuristic in (<ref>) or (<ref>) provides additional gain compared to using fixed coefficients. The coefficients in (<ref>) are η̃(j,7), which considers the mean error for 7-LED case. These coefficients yield lower error than η_∞(j), which shows that the proposed heuristic utilizes the expected error information accurately. =-1



Fig. <ref> shows the RMSE for varying number of LEDs per AP. The receiver is again assumed to move along the random waypoint path, and the blocking probability of any AP is 0.25. When the number of LEDs increases, the RMSE steadily decreases due to larger number of measurements that can be used in the hybrid localization. The only exception is the 8-LED case, where there is a single LED at the outermost layer (see Fig. <ref>), which might be causing bias in the estimation. This is also visible in Fig. <ref> for Model-2 to Model-4, where the 8-LED case performs worse than the 7-LED case. In Fig. <ref>, we see that the adaptive KF provides a significant improvement over the conventional KF for any number of LEDs. Moreover, with the adaptive KF, the RMSE saturates faster for increasing number of LEDs compared to using the conventional KF. 

Therefore, the adaptive KF provides higher accuracy with lower number of LEDs, removing the need for high number of LEDs to achieve higher accuracies. Overall, the RMSE of adaptive KF is about 30% to 50% of unfiltered localization RMSE for any number of LEDs. Using the coefficients η̃(j,N) provides the least RMSE in general. As N goes to 20, η̃(j,N) and η_∞(j) becomes identical, and they yield the same RMSE. 





§ CONCLUSION
 
In this study, we propose the use of adaptive KF for multi-element VLP systems with intermittent AP availability. The VLP heavily relies on LOS links, in whose absence, an AP could be completely inaccessible. Localization accuracy may suffer from the frequent changes in the availability of APs to the user. The adaptive KF takes this into account and makes a final estimation considering the different AP layout models, localization methods, and their expected accuracies. To evaluate the adaptive KF, we consider a scenario where APs can be randomly blocked, and choose our localization methods depending on the layout of the accessible APs. We use simulations to decide the localization accuracy in each layout model, and as a heuristic, we choose the adaptive coefficient of each model inversely related to their expected localization error. The simulation results show that the adaptive implementation improves the performance of the KF significantly and yields much lower RMSE in all scenarios. =-1




IEEEtran 

