Recently, with the great demands for indoor location-based services, using the indoor positioning systems (IPSs) has
been a subject of growing interest. The traditional global positioning system (GPS)
[1], owing to its limited positioning accuracy, cannot be used in indoor
settings. Meanwhile, due to the effect of multipath fading and non-line-of-sight (NLoS) conditions, the radio
frequency (RF)-based IPS [2] is difficult to achieve the high-accurate
positioning. However, the IPS based on visible light communication (VLC)
[3]–[6], namely, the
“light positioning system (LPS) [7],” has attracted great
attention and is considered as one of the most attractive solutions for its special advantages of high positioning
accuracy, no RF interference, etc. In [8], based on the
received-signal-strength (RSS) from at least three ceiling-mounted LED beacons, a 3-D LPS with less than 0.4 m
positioning errors is verified. In addition, the authors in [9] propose
an LPS based on angle-of-arrival (AOA) algorithm with a corner-cube photo-receiver, which achieves 5 cm mean error
with three ceiling-mounted LED beacons. In [10], a LPS based on a mobile
camera is proposed, which achieve a decimeter-level accuracy with five ceiling-mounted LED beacons. However, in these
LPSs, multiple LED beacons are necessary in one positioning process, which would make the LPSs disabled when the LED
beacons are not enough.
To solve this problem, we introduce a novel single LED beacon-based 3-D indoor positioning scheme by employing only
off-the-shelf devices (a PD, an image sensor, and a gyroscope), which have been integrated in most of commercial
available smartphones. Based on this configuration, 3-D positioning can be achieved by using the RSS/AOA-based hybrid
positioning algorithm within two application scenarios which are the ceiling-mounted and the wall-mounted LED (the LED
could be mounted on the wall in some scenarios such as stairs, corridors, and so on). The performance of our scheme is
investigated by experiment and the results show that 7.3 cm and 67.2 cm mean positioning errors are achieved in the
ceiling and the wall LED cases respectively.
The contributions of this work can be specified as follows. First, we propose a novel single LED beacon-based LPS to
overcome the problem of multiple LED beacons involved in one positioning process. Second, compared to the single LED
beacon-based LPS [11], no complicated structure but only the
off-the-shelf devices are utilized in this scheme. Moreover, these devices have been integrated in most of commercial
available smartphones, which makes our scheme be easily compatible with most of mobile terminals. Third, unlike the
image sensor-based LPS [10], image sensor in our scheme is only used to
estimate the AOA bearing from the LED beacon not to demodulate the beacon signal. By reason of only signal frequency
detection, only one image is required in one positioning process. Therefore, the image processing is relative simple.
Finally, according to the location of the LED beacon mounted in practice, the performance in two scenarios of the
ceiling-mounted and the wall-mounted LED are investigated by experiment.
2.1. System Model
Fig. 1 illustrates the proposed scheme model. Here, the radiant
intensity of a LED can be assumed to follow a Lambertian radiation pattern due to its large beam divergence
[12]. The line-of-sight (LoS) channel gain can be given by
[13]
\begin{equation}
H= \left\lbrace \begin{array}{ll}\frac{(m + 1)A}{2\pi d^2}{{\cos }^m(\phi)}{\cos (\psi\;)}{T_s(\psi\;)}{G(\psi\;)},
& 0 \leq \psi < \Psi _C\\
0,& \psi \geq \Psi _C, \end{array} \right.
\end{equation}
View Source
\begin{equation}
H= \left\lbrace \begin{array}{ll}\frac{(m + 1)A}{2\pi d^2}{{\cos }^m(\phi)}{\cos (\psi\;)}{T_s(\psi\;)}{G(\psi\;)},
& 0 \leq \psi < \Psi _C\\
0,& \psi \geq \Psi _C, \end{array} \right.
\end{equation}
where the parameters are as follows. m is the Lambertian order and defined as:
m=\frac{-ln2}{ln(cos(\Phi _{1/2}))}, where
\Phi _{1/2} is the semi-angle at half illuminance of a LED. A is the area of an optical detector. d is the distance between a transmitter and a receiver.
T_s(\psi \;) is the gain of an optical filter,
and G(\psi \;) is the gain of an optical
concentrator. \phi is the irradiant angle,
\psi\; is the incident angle, and
\Psi _C is the field-of-view of the receiver.
The 3-D locations of the LED and the receiver are assume to be {\mathbf
l}_t=(x_t, y_t, z_t)^{T} and {\mathbf
l}_r=(x_r, y_r, z_r)^{T}, respectively, and their normal vectors are denoted as
{\mathbf n}_t and {\mathbf n}_r, which can be defined as
\begin{eqnarray}
{\mathbf n}_t &=& (\cos (\alpha _t)\sin (\theta _t), \sin (\alpha _t)\sin (\theta _t), \cos (\theta _t))^{T}\\
{\mathbf n}_r &=& (\cos (\alpha _r)\sin (\theta _r), \sin (\alpha _r)\sin (\theta _r), \cos (\theta _r))^{T}
\end{eqnarray}
View Source
\begin{eqnarray}
{\mathbf n}_t &=& (\cos (\alpha _t)\sin (\theta _t), \sin (\alpha _t)\sin (\theta _t), \cos (\theta _t))^{T}\\
{\mathbf n}_r &=& (\cos (\alpha _r)\sin (\theta _r), \sin (\alpha _r)\sin (\theta _r), \cos (\theta _r))^{T}
\end{eqnarray}
where \alpha _t and
\alpha _r are the azimuth angles of the LED
and the receiver respectively, which are defined as the angles between the
x-axis and the orthogonal projections of the normal vectors of the LED and the receiver
to the xy-plane. \theta _t and
\theta _r present the polar angles of the LED and the receiver respectively, which are
defined as the angles between the z-axis and
the normal vectors of the LED and the receiver. Moreover, \alpha _t
and \theta _t are
determined by the location of the LED while \alpha _r and \theta _r are determined
by the measurements of a gyroscope in the receiver.
Meanwhile, the irradiant angle and the incident angle are given by [14]
\begin{eqnarray}
\cos (\phi) &=& {{\mathbf n}_t}\cdot {\frac{{{\mathbf l}_r}-{{\mathbf l}_t}}{d}}\\
\cos (\psi \;) &=& {{\mathbf n}_r}\cdot {\frac{{{\mathbf l}_t}-{{\mathbf l}_r}}{d}}.
\end{eqnarray}
View Source
\begin{eqnarray}
\cos (\phi) &=& {{\mathbf n}_t}\cdot {\frac{{{\mathbf l}_r}-{{\mathbf l}_t}}{d}}\\
\cos (\psi \;) &=& {{\mathbf n}_r}\cdot {\frac{{{\mathbf l}_t}-{{\mathbf l}_r}}{d}}.
\end{eqnarray}
For the case of the ceiling LED, \alpha
_t=0^\circ and \theta _t=180^\circ, and therefore, \cos (\phi)={(z_t-z_r)}/{d}, and for the case of the wall LED, if we assume LED's normal vector towards the positive
direction of the y-axis of the room,
\alpha _t=90^\circ and \theta _t=90^\circ, so \cos (\phi)={(y_t-y_r)}/{d}.
When the emitted optical power P_{ot} is
received by the receiver, the incident optical power from LoS path P_{or}
can be given by P_{or}=P_{ot}H, and the corresponding electrical power P_{er} is given by P_{er}=R({\lambda }P_{or})^2, where R is the equivalent
impedance of the receiver, and \lambda is the
optical detector responsivity. In our system, there are no optical filter and concentrator, and therefore, we can get
\begin{equation}
P_{er}= \frac{c}{d^4}{{\cos }^{2m}(\phi)}{{\cos }^2(\psi \;)}
\end{equation}
View Source
\begin{equation}
P_{er}= \frac{c}{d^4}{{\cos }^{2m}(\phi)}{{\cos }^2(\psi \;)}
\end{equation}
where c is a
constant and defined as
\begin{equation}
c=\frac{R{{\lambda }^2}{P_{ot}}^2{A^2}(m+1)^2}{4{\pi ^2}}.
\end{equation}
View Source
\begin{equation}
c=\frac{R{{\lambda }^2}{P_{ot}}^2{A^2}(m+1)^2}{4{\pi ^2}}.
\end{equation}
In practical system, the total incident optical power P_{total}
contains the ambient light power P_{bg}
, the incident optical power from LoS path
P_{or} and NLoS path P_{NLoS}. In general, only P_{or} is
used for positioning in LPS, while P_{NLoS}
and P_{bg} are both viewed as noise power.
The total noise variance can be given as
\begin{equation}
N={\sigma ^2_{shot}}+{\sigma ^2_{thermal}}+R({\lambda }P_{NLoS})^2
\end{equation}
View Source
\begin{equation}
N={\sigma ^2_{shot}}+{\sigma ^2_{thermal}}+R({\lambda }P_{NLoS})^2
\end{equation}
where \sigma ^2_{shot} is the shot noise variance which is depended on
P_{total}, and \sigma ^2_{thermal} is the thermal noise variance which is depended on the receiver's parameters. \sigma ^2_{shot},
\sigma ^2_{thermal}, and P_{NLoS} are all described detailedly in [13]. The
signal-to-noise (SNR) due to LoS path can be defined as
\begin{equation}
SNR=10\log _{10} \left(\frac{P_{er}}{N}\right).
\end{equation}
View Source
\begin{equation}
SNR=10\log _{10} \left(\frac{P_{er}}{N}\right).
\end{equation}
2.2. AOA Estimation
By using an image sensor and a gyroscope, the AOA bearing from the LED beacon can be estimated. Here, AOA involves
the incident light azimuth angle \alpha _p,
which is defined as the angle between the x
-axis and the orthogonal projection of incident light to the xy-plane, and the incident light polar angle \theta _p
which presents the angle between the z
-axis and incident light. In addition, two frames are used as reference, which are room
frame of reference (x, y, z)^T and receiver
frame of reference (x^{\prime }, y^{\prime }, z^{\prime })^T. If the room coordinates of the LED and the image sensor are presented as (x_t, y_t, z_t)^T and (x_{r1}, y_{r1}, z_{r1})^T respectively, and the receiver
coordinates of the LED projection center on the image are (x_I, y_I,
z_I)^T, we can get
\begin{equation}
(x_t, y_t, z_t)^T={\mathbf R}\times {k(x_I, y_I, z_I)^T}+(x_{r1}, y_{r1}, z_{r1})^T.
\end{equation}
View Source
\begin{equation}
(x_t, y_t, z_t)^T={\mathbf R}\times {k(x_I, y_I, z_I)^T}+(x_{r1}, y_{r1}, z_{r1})^T.
\end{equation}
Subsequently
\begin{equation}
(x_t-x_{r1}, y_t-y_{r1}, z_t-z_{r1})^T={\mathbf R}\times {k(x_I, y_I, z_I)^T},
\end{equation}
View Source
\begin{equation}
(x_t-x_{r1}, y_t-y_{r1}, z_t-z_{r1})^T={\mathbf R}\times {k(x_I, y_I, z_I)^T},
\end{equation}
where k is a scale
factor of the receiver coordinates of the LED and its projection to the image. {\mathbf R} is a 3
\times 3 rotation matrix which is given by
\begin{equation}
{\mathbf R}= \left[ \begin{array}{ccc}\cos (\rho) & \sin (\rho) & 0\\
-\sin (\rho) & \cos (\rho) & 0\\
0&0&1 \end{array} \right] \left[ \begin{array}{ccc}\cos (\eta) & 0 & -\sin (\eta)\\
0&1&0\\
\sin (\eta) & 0 & \cos (\eta) \end{array} \right] \left[ \begin{array}{ccc}1&0&0\\
0 & \cos (\delta) & \sin (\delta)\\
0 & -\sin (\delta) & \cos (\delta) \end{array} \right]
\end{equation}
View Source
\begin{equation}
{\mathbf R}= \left[ \begin{array}{ccc}\cos (\rho) & \sin (\rho) & 0\\
-\sin (\rho) & \cos (\rho) & 0\\
0&0&1 \end{array} \right] \left[ \begin{array}{ccc}\cos (\eta) & 0 & -\sin (\eta)\\
0&1&0\\
\sin (\eta) & 0 & \cos (\eta) \end{array} \right] \left[ \begin{array}{ccc}1&0&0\\
0 & \cos (\delta) & \sin (\delta)\\
0 & -\sin (\delta) & \cos (\delta) \end{array} \right]
\end{equation}
where \delta,
\eta, and \rho are the receiver's pitch angle, roll angle, and yaw
angle which are all measured by a gyroscope in the receiver. From (12)
, the receiver's azimuth angle \alpha _r and polar angle \theta _r
defined in (2) and
(3) can be determined by
\begin{equation}
\left\lbrace \begin{array}{l}\alpha _r=\tan ^{-1} \left({\frac{\tan (\delta) \;+ \;\sin (\eta)\tan (\rho)}{\tan
(\delta)\tan (\rho)\; -\; \sin (\eta)}}\right)\\
\theta _r=\cos ^{-1}(\cos (\eta)\cos (\rho)). \end{array}\right.
\end{equation}
View Source
\begin{equation}
\left\lbrace \begin{array}{l}\alpha _r=\tan ^{-1} \left({\frac{\tan (\delta) \;+ \;\sin (\eta)\tan (\rho)}{\tan
(\delta)\tan (\rho)\; -\; \sin (\eta)}}\right)\\
\theta _r=\cos ^{-1}(\cos (\eta)\cos (\rho)). \end{array}\right.
\end{equation}
Therefore, from the geometric relationship of the LED beacon and the image sensor, the azimuth angle \alpha _p and the polar angle \theta _p of the incident light can be defined as
\begin{equation}
\left\lbrace \begin{array}{l}\alpha _p=\tan ^{-1} \left(\frac{x_{t}\,-\,x_{r1}}{y_{t}-y_{r1}}\right)\\
\theta _p=\tan ^{-1} \left(\frac{\sqrt{(x_{t}\,-\,x_{r1})^2\,+\,(y_{t}-y_{r1})^2}}{(z_{t}\,-\,z_{r1})^2}\right).\\
\end{array} \right.
\end{equation}
View Source
\begin{equation}
\left\lbrace \begin{array}{l}\alpha _p=\tan ^{-1} \left(\frac{x_{t}\,-\,x_{r1}}{y_{t}-y_{r1}}\right)\\
\theta _p=\tan ^{-1} \left(\frac{\sqrt{(x_{t}\,-\,x_{r1})^2\,+\,(y_{t}-y_{r1})^2}}{(z_{t}\,-\,z_{r1})^2}\right).\\
\end{array} \right.
\end{equation}
Substituting (11) and
(12) into (14), the
angles \alpha _p and \theta _p can be estimated.
In addition, the coordinates of the LED projection center in the image can be determined by the following steps.
Firstly, the image captured by the image sensor is grayed. Secondly, the image is filtered by a binary OTSU
filter [15]. Lastly, the image is blurred and the LED projection center
is determined by means of averaging all points in the projection of the LED beacon. Moreover, the gyroscope accuracy
is also discussed. In general, the accuracy of the raw gyroscope outputs is quite low on account of its serious zero
drift effect. However, after compensation and calibration, this effect can be suppressed effectively and the accuracy
can be improved greatly. According to our experiment results, the maximum angle error measured by the gyroscope in
iPhone 6 is about 2^\circ. Besides, the
distance between the lens and imager in the image sensor z_I is an important parameter, which is used to estimate the AOA bearing, and it would change with the
distance between the object and lens, but fortunately, it deviates only
0.7\% when the distance from the object to lens changes from 1 m to infinity
[10]. Moreover, the distance between LED and receiver is only several meters,
so it's reasonable to assume z_I to be a
constant for positioning. Based on known locations of the LED beacon and the image sensor (the front facing camera of
iPhone 6 is used in this paper), z_I is set
with 1230 pixels.
2.3. RSS/AOA-Based Hybrid 3-D Positioning Algorithm
In addition, by using the RSS/AOA-based hybrid positioning algorithm, 3-D positioning can be achieved. The schematic
of the positioning algorithm is illustrated in Fig. 2. Here, the
coordinates of the LED and the receiver are still assumed to be {\mathbf
l}_t=(x_t, y_t, z_t)^T and {\mathbf
l}_{r}=(x_r, y_r, z_r)^T, respectively which indicate their center coordinates. In the
receiver, an image sensor and a PD are assumed to be deployed on the positions of {\mathbf l}_{r1}=(x_{r1}, y_{r1}, z_{r1})^T and
{\mathbf l}_{r2}=(x_{r2}, y_{r2}, z_{r2})^T.
Although the image sensor and the PD can be deployed on any positions of the receiver, the relationships of their
positions and the receiver center should be known in advance. As shown in Fig. 2
, d_1 and d_2 are defined as the distances from the image sensor and the
PD to the receiver center, \omega _1 is the
angle between the receiver's axis and the line through the receiver center as well the image sensor, and
\omega _2 is the angle between the
receiver's axis and the line through the receiver center as well the PD, the relationships of {\mathbf l}_{r1},
{\mathbf l}_{r2}, and {\mathbf l}_{t}
can be given as
\begin{equation}
\left\lbrace \begin{array}{l}{\mathbf l}_{r1}={\mathbf l}_{r}+{d_1(\cos ({\alpha _r}+{\omega _1})\sin (\theta _r),\sin
({\alpha _r}+{\omega _1})\sin (\theta _r),\cos (\theta _r))^T} \\
{\mathbf l}_{r2}={\mathbf l}_{r}+{d_2(\cos ({\alpha _r}+{\omega _2})\sin (\theta _r),\sin ({\alpha _r}+{\omega _2})\sin
(\theta _r),\cos (\theta _r))^T}.\\
\end{array} \right.
\end{equation}
View Source
\begin{equation}
\left\lbrace \begin{array}{l}{\mathbf l}_{r1}={\mathbf l}_{r}+{d_1(\cos ({\alpha _r}+{\omega _1})\sin (\theta _r),\sin
({\alpha _r}+{\omega _1})\sin (\theta _r),\cos (\theta _r))^T} \\
{\mathbf l}_{r2}={\mathbf l}_{r}+{d_2(\cos ({\alpha _r}+{\omega _2})\sin (\theta _r),\sin ({\alpha _r}+{\omega _2})\sin
(\theta _r),\cos (\theta _r))^T}.\\
\end{array} \right.
\end{equation}
From the measured RSS on the position {\mathbf l}_{r2}, we can get
\begin{equation}
\left\lbrace \begin{array}{l}P_{er}={\frac{c}{d^4}}{{\cos ^{2m}(\phi)}{\cos ^2(\psi \;)}} \\
d=\sqrt{{(x_{r2}-x_{t})^2+(y_{r2}-y_{t})^2+(z_{r2}-z_{t})^2}}.\\
\end{array} \right.
\end{equation}
View Source
\begin{equation}
\left\lbrace \begin{array}{l}P_{er}={\frac{c}{d^4}}{{\cos ^{2m}(\phi)}{\cos ^2(\psi \;)}} \\
d=\sqrt{{(x_{r2}-x_{t})^2+(y_{r2}-y_{t})^2+(z_{r2}-z_{t})^2}}.\\
\end{array} \right.
\end{equation}
Based on the estimated AOA bearing (the azimuth angle \alpha _{p}
and the polar angle \theta _{p}, as shown in Fig. 2), we can get
\begin{equation}
\left\lbrace \begin{array}{l}\tan (\alpha _{p})=\frac{x_{t}\,-\,x_{r1}}{y_{t}\,-\,y_{r1}}\\
\tan (\theta _{p})=\frac{\sqrt{(x_{t}\,-\,x_{r1})^2\;+\;(y_{t}\,-\,y_{r1})^2}}{(z_{t}\,-\,z_{r1})^2}.\\
\end{array} \right.
\end{equation}
View Source
\begin{equation}
\left\lbrace \begin{array}{l}\tan (\alpha _{p})=\frac{x_{t}\,-\,x_{r1}}{y_{t}\,-\,y_{r1}}\\
\tan (\theta _{p})=\frac{\sqrt{(x_{t}\,-\,x_{r1})^2\;+\;(y_{t}\,-\,y_{r1})^2}}{(z_{t}\,-\,z_{r1})^2}.\\
\end{array} \right.
\end{equation}
Moreover, the locations of the LED beacon and the image sensor follow as
\begin{equation}
\left\lbrace \begin{array}{l}x_{r1} > x_t, y_{r1}>y_t, 0 < \alpha _p\leq {\frac{\pi }{2}}\\
x_{r1}<x_t, y_{r1}>y_t, {\frac{\pi }{2}}<\alpha _p\leq \pi \\
x_{r1}<x_t, y_{r1}<y_t, \pi <\alpha _p\leq {\frac{3\pi }{2}}\\
x_{r1}>x_t, y_{r1}<y_t, {\frac{3\pi }{2}}<\alpha _p\leq {2\pi }.\\
\end{array} \right.
\end{equation}
View Source
\begin{equation}
\left\lbrace \begin{array}{l}x_{r1} > x_t, y_{r1}>y_t, 0 < \alpha _p\leq {\frac{\pi }{2}}\\
x_{r1}<x_t, y_{r1}>y_t, {\frac{\pi }{2}}<\alpha _p\leq \pi \\
x_{r1}<x_t, y_{r1}<y_t, \pi <\alpha _p\leq {\frac{3\pi }{2}}\\
x_{r1}>x_t, y_{r1}<y_t, {\frac{3\pi }{2}}<\alpha _p\leq {2\pi }.\\
\end{array} \right.
\end{equation}
Based on (15)–(18), the receiver's 3-D position coordinates can be estimated.
Note that our scheme is not limited in the application of one LED beacon, and it still works in multiple LED beacons
case. By using the RF carrier allocation technology [16], different LED
projections in the image can be distinguished by means of the image sensor's rolling shutter effect
[10] and the mixed beacon signals from different LED beacons can be extracted,
respectively, by using a PD, a fast fourier transform (FFT) module, and the corresponding filters in the receiver.
Moreover, every LED beacon can determine one 3-D location of the receiver, thus the positioning can be achieved by an
optimization process trying to minimize the linear mean square (LMS) error [8]
.
SECTION 3.
Experimental Setup and Results
In the following, we design an experiment for evaluating this scheme performance. We use a Cree Xlamp XM-L LED with
the semi-angle at half illuminance of 62.5^\circ (m=0.897) to be mounted on
the ceiling and the wall in a 1 m \times 1 m
\times 3 m model (due to space symmetry, this
model can be extended to be 2 m \times 2 m
\times 3 m). As for transmitter, 200-kHz
signals generated by a FPGA evaluation board (KC705), are used to modulate the LED and the driven current is injected
by a bias-tee circuit. According to the reference [14], the transmitted
signals should contain the LED's information of ID, 3-D location, orientation, emitted optical power, and
Lambertian order. In practical system, these signals can be generated and managed by a control center. If a new LED
with a different type is mounted or the location of one LED is changed, we just need to update the signal beacons in
the control center. Moreover, owing to low data rate and simple demodulation, on-off keying (OOK) modulation is
selected as modulation format. In the receiver, we assume 25 reference points to be evenly distributed on the
xy-plane in the model. Around each point, a PD
(Thorlabs PDA100A silicon photodetector with 100 mm^2 active area and 0.62 A/W peak response) and an image sensor (the front facing camera of iPhone 6) are
deployed on the positions of {\mathbf l}_{r1}
(\omega _1=0^\circ, d_1=5 cm) and
{\mathbf l}_{r2} (\omega _2=180^\circ
, d_2=5 cm),
respectively. The iPhone 6 is horizontal to the xy-plane and its compass direction is always towards the negative direction of the y-axis (the positive direction of the x-axis is 243
^\circ from north while the compass direction
of iPhone 6 is 152^\circ from north).
Therefore, we can determine the pitch angle, roll angle, and yaw angle to be 0^\circ, 0^\circ
, and −91^\circ. The optical signals are received by the PD and the corresponding RSS is measured by a RF spectrum
analyzer (in practical system, RSS can be obtained by an FFT module in smartphone). Meanwhile, by using image
processing and the gyroscope measurements, the AOA bearing can be estimated. At last, with all measurement results,
the 3-D position of receiver is determined by using the RSS/AOA-based hybrid positioning algorithm.
Moreover, the influence of ambient light is tested in the daytime for evaluating its effect on positioning results.
The PD is firstly deployed on the location below the LED with 2-m height. Then, the LED is lighted and the receiver
output power is measured with about −47.2 dBm. Next, the LED is turned off, and about −80 dBm output power
is obtained. From these results, we can get the influence of ambient light in our experiment is so slight that it can
be neglected. Besides, the parameter c in
(7) is also determined. In general, only the optical flux is given in
the datasheet of a commercial available LED while its emitted optical power is not included. But the PD used in our
experiment, is relative to its responsivity with unit of A/W rather than A/lux. Therefore, c cannot be directly obtained from the datasheet. To solve
this problem, according to [8], we fix the vertical distance between the LED
beacon and the receiver in the room center. The normal vectors of the LED and the receiver are parallel to each other.
Finally, we move the receiver towards the positive direction of the x
-axis and measure the received signal powers on different positions. Fitting the
measurements with the function of (c\,{\cos (\phi)}^{2(m+1)})/d^4
, we can get c=0.76\times 10^{-4}.
3.1. Performance of the AOA Estimation
The performance of the image sensor-based AOA estimation is investigated by experiment in the cases of the
ceiling-mounted and the wall-mounted LED, respectively. In the following part of this paper, the projection center of
the LED beacon on the xy-plane is assumed to
be the origin of room frame. Moreover, the vertical distance between the LED beacon and the receiver is set to 2 m.
The error distribution of the azimuth angle \alpha _p is firstly depicted in Fig. 3. As shown in
Fig. 3(a) (the case of the ceiling-mounted LED), a great error is found on
the origin of coordinates. The reason is that, as the smartphone is just deployed on the position below the LED, due
to the mismatch between the real and assumed LED positions, a small center deviation of the LED projection in the
image maybe induce a great estimation error of \alpha _p. If the error on the origin is neglected, the mean error is only 3.1^\circ. Moreover, as shown in
Fig. 3(b) (the case of the wall-mounted LED), the greater errors are achieved on the positions near the
x-axis (here, we still assume the LED's
normal vector towards the positive direction of the y-axis). This is because as the smartphone gets close to the wall, the irradiant angle gets close to 90
^\circ, and therefore, the LoS light becomes
weaker. Meanwhile, the NLoS light reflected by the ceiling gets stronger, which would affect the estimation of the LED
projection center in the image dramatically so that the greater errors are found near the wall. This time, the mean
error is 19.5^\circ. The estimation error of
the polar angle \theta _p is also
investigated and the results are shown in Tables I and
II. As observed, when the LED beacon is mounted on the ceiling, the relative
small estimation errors can be achieved, and only 0.9^\circ mean error is achieved. However, when the LED beacon is mounted on the wall, the estimation errors
become greater due to the influence of the NLoS light reflected by the ceiling. At this time, the mean error becomes
3.8^\circ.
3.2. Performance of the Proposed Positioning Scheme
In this section, the performance in terms of positioning error is evaluated with the ceiling-mounted and the
wall-mounted LED. Here, the positioning error is defined as the Euclidean distance between the estimated position and
the real position. In our scheme, positioning error is mostly influenced by the AOA (\alpha _p and
\theta _p) estimation error, the RSS measurement error, and the errors of the
receiver's azimuth angle \alpha _r and
polar angle \theta _r. Because the errors of
\alpha _r and \theta _r are irrelevant to the measurement positions, the
impacts of the AOA and RSS on positioning error at different positions are investigated in the following. First,
according to the real positions of the LED beacon and the receiver (the PD or the image sensor), the theoretical
values of RSS and AOA can be easily obtained by using the estimation methods of RSS and AOA which are introduced in
Section 2. Then, the theoretical RSS and the estimated AOA are substituted into
the RSS/AOA-based hybrid positioning algorithm. The positioning error distribution is depicted in
Fig. 4. From Fig. 4(a) (the
case of the ceiling-mounted LED), 12 cm maximum positioning error and 2.1 cm minimum one are achieved on the positions
of (0.8 m, 0.8 m) and (0 m, 0.2 m), respectively. The average positioning error is 5.8 cm. Moreover, compared to the
results in Fig. 3(a), although a great estimations error of
\alpha _p is achieved on the origin of
coordinates, the positioning error on this position is insensitive to the error of \alpha _p. Contrastively, as observed in
Fig. 4(b) (the case of the wall-mounted LED), 2.15 m maximum
positioning error and 1.4 cm minimum one are achieved on the positions of (0.8 m, 0.1 m) and (0.2 m, 0.5 m)
respectively. The average positioning error is 57.6 cm.
Furthermore, the positioning error induced by RSS is also investigated. Similarly, the theoretical AOA and the
measured RSS are substituted into the hybrid positioning algorithm. By reason of RSS easily influenced by the NLoS
light, we assume two applications in the case of the ceiling-mounted LED, which are the LED mounted on the center of
ceiling (the room size is 4 m \times 6 m
\times 3 m) and the LED mounted on the edge of
ceiling (the LED is 1 m away from the wall). The positioning error results of the ceiling center-mounted LED is
presented in Fig. 5(a). A 22 cm maximum positioning error and 0.1 cm
minimum one are achieved on the positions of (0.8 m, 0.8 m) and (0 m, 0.6 m), respectively. The average positioning
error is 6.8 cm. Besides, it is easily got that, the positioning errors on the x-axis are greater than the ones on the y-axis. These can be attributed to that, the position on the
x-axis is nearer to the wall than the
symmetrical position on the y-axis, which
makes the receiver suffer from more influences of the NLoS light along the positive direction of the x-axis, hence achieving the greater positioning errors.
Meanwhile, the positioning error results of the ceiling edge-mounted LED is presented in
Fig. 5(c). Comparatively, 40 cm maximum positioning error and 7.9 cm
minimum one are achieved on the positions of (0.8 m, 0.8 m) and (0 m, 0.4 m), respectively, while 19.5 cm average
positioning error is achieved. In addition, the positioning error in the case of the wall-mounted LED is shown in
Fig. 5(c). The LED's normal vector is still towards the positive
direction of the y-axis, and the greater
errors are found on the positions near the x
-axis. These errors are not only contributed by the influence of the NLoS light but by the weak incident light strength
as well.
The overall positioning error results are shown in Fig. 6. It is easily
got that, when the LED is deployed in the center of ceiling, 16.2 cm maximum positioning error and 2.1 cm minimum one
are achieved on the positions of (0.8 m, 0.8 m) and (0 m, 0.2 m) respectively, and 7.3 cm average positioning error is
obtained. However, when the LED is mounted on the edge of ceiling, the maximum and minimum positioning error become
33.4 cm and 8.5 cm respectively, and the average error is 19.1 cm. That indicates the NLoS light would influence the
scheme performance greatly, especially, when the receiver gets close to the wall. In addition, when the LED is mounted
on the wall, the worst performance is achieved. As observed in Fig. 6(c),
the average positioning error increases to 67.2 cm. Therefore, from the experimental results, we can find the
performance with the ceiling-mounted LED is better than the one with the wall-mounted case. Moreover, due to the
influence of the NLoS light, the performance at the edge of room is worse than the one in the center of room.
In the following, the impact of the receiver tilting on our scheme is discussed. This impact can be divided into two
aspects. One is the impact on RSS estimation, and the other is the one on AOA estimation. First, the former is
discussed. Due to the receiver (the PD) tilting, the incident angle
\psi\; in (1) is changed. That makes the
channel model inaccurate, so great positioning errors are achieved. In order to improve the channel accuracy, the
incident angle can be compensated based on the gyroscope measurements. Moreover, the high channel accuracy in the case
of the PD tilting has been demonstrated [11],
[12], [16]. Therefore, if the
influence of the NLoS light is neglected, the receiver tilting would have little influence on RSS estimation. In
addition, as for the impact on AOA estimation, the receiver tilting has little influence on the determination of the
projection center of the LED beacon to the image. Meanwhile, the gyroscope accuracy has no selectivity to the receiver
tilting angle. Therefore, the receiver tilting has also little influence on AOA estimation. Therefore, if the
influence of the NLoS light is neglected, the performance in the case of the receiver tilting would be similar with
the one in the case of the receiver horizontal.
At last, the complexity of our scheme is discussed. Due to the use of a PD, an image sensor, and a gyroscope in our
receiver, the hardware complexity would be higher than other LPSs. However, our scheme is designed to be applied for
smartphones and these devices have been integrated in most of commercial available smartphones, so the hardware
complexity can be neglected. With respect to the software complexity, only one image captured by the image sensor in
our scheme is necessary in one positioning process no matter how many the beacon signal is, and therefore, the image
processing would be more simple than the image sensor-based LPS [10]. In
addition, the power consumption can be reduced by combining with the inertial navigation system (INS). That is, our
scheme only provide the target's original coordinates and calibration for INS.