  In this paper, we propose an accurate visible light indoor localization
system for a smartphone using the existing commercial light-emitting diode
(LED) luminaries. The proposed technique, called geometrical optics positioning
algorithm (GOPA), uses spatial color code landmarks alongside angle of arrival
(AOA)-based geometrical algorithm on smartphones to locate the device, and
reserves LED's time-frequency domain modulation to increase the throughput of
the visible light network broadcast from the same luminaries infrastructure.
GOPA algorithm is developed with practical considerations such as flexible hand
gesture and handshake, and it enables both positioning robustness and on-device
processing. By introducing the idea of virtual plane, field of view (FOV) issue
of AOA-based positioning systems is addressed in GOPA. The embedded
accelerometer and front-facing camera of the smartphone are used at the
receiver side to measure the smartphone inclination and acquire the image.
Experimental results show robust two-dimensional ($2$-D) and three-dimensional
($3$-D) positioning. The experimental mean positioning error for $2$-D
positioning is $0.54$ cm, in case one ignoring the tilt. The experimental mean
positioning errors for $3$-D positioning are respectively $1.24$ cm, $1.85$ cm,
and $6.02$ cm for ideal non-tilted and non-oriented, non-tilted but orientated,
and both tilted and orientated scenarios.
