## 2 Materials and Methods  
As shown in Figure 1, in the proposed VLC positioning system, RX1 and RX2 are two annular receivers with four evenly distributed PINs, which are installed on the ceiling. People on the ground carry LEDs on their heads to send positioning signal as transmitters. In order to get the 3D location information of people, we adopt the hybrid positioning algorithm by combining the distance with angles. Since the distances and angles are related to the receiving light intensity, we can calculate the distances on the basis of intensity and obtain the angles according to the intensity difference between different PINs. The luminous intensity of LEDs agrees with [PERSON]'s cosine law, and it is assumed that only one Lambert luminous mode exists in an LED chip. Regardless of the air and device refraction, we consider that radiation angle \(\phi\) equals the incidence angle \(\psi\). The received optical power \(P_{r}\) at a receiver in a direct link can be represented in Equation (1) [6; 7; 8; 9]:  
\[P_{r}=\frac{(m+1)A}{2\pi d^{2}}\cdot\frac{n^{2}}{\sin^{2}\!\psi_{c}}\!\cos^{m +1}(\psi)Ts(\psi)P_{t} \tag{1}\]  
where \(m\) represents the Lambertian order; \(d\) is the distance between the LED and the receiver; \(A\) is the physical area of a photodiode; \(n\) is the refractive index of the optical concentrator; \(\psi_{c}\) is the incidence angle of the light with respect to the normal vector of a photodiode; \(Ts(\psi)\) is the gain of the optical filter;and \(P_{t}\) is the average transmitted optical power [10; 11]. All the constants are expressed by formula \(C\) as follows:  
\[C=\frac{(m+1)n^{2}A}{2\pi\sin^{2}\!\psi_{c}}\cdot T_{S}(\psi) \tag{2}\]  
Thus, the received optical power can be described as Equation (3):  
\[P_{r}=\frac{C}{d^{2}}\cdot\cos^{m+1}(\psi)P_{t} \tag{3}\]  
For typical LED bulbs with limited illumination ranges such as \(\pm 60^{\circ}\), we have \(m=1\)[12]. In Figure 1, the radius of the annular receiver's circle is \(r\); the distance between two receivers is \(l\); and the height of the transmitter-receiver plane is \(h\). LED' is the projection of the LED on the ceiling; the distance between LED' and the center of RX1 is \(S_{1}\); the distance between LED' and pin14 is \(S_{2}\). Figure 1 shows that two of the biggest powers are obtained by pin11 and pin14 in RX1, and obtained by pin23 and pin24 in RX2. We can calculate angle \(\beta_{1}\) and \(\beta_{2}\) respectively according to the analog-to-digital conversion (ADC) value in the microcontroller control unit (MCU) in two receivers. The maximum power of receiver1 is \(Num11\), the second value is expressed as \(Num12\), and the third value is \(Num13\). In the same way, receiver2 obtained \(Num21\), \(Num22\) and \(Num23\), respectively. Then \(\beta_{1}\) and \(\beta_{2}\) can be calculated by the following:  
\[\left\{ \begin{array}{l}\beta_{1}=\frac{\pi}{4}\cdot\frac{Num12-Num13}{2 Num11 -Num12-Num13}\\ \beta_{2}=\frac{\pi}{4}\cdot\frac{Num2-Num23}{2 Num21-Num22-Num23}\end{array} \right. \tag{4}\]  
According to Equations (5) and (6), the incidence angle \(\psi_{1}\) of RX1, the distance between RX1 and LED \(d_{1}\) and \(h\) can be worked out. In the same way, the incidence angle \(\psi_{2}\) of RX2 and the distance between RX2 and LED \(d_{2}\) can be obtained. \[S_{2}=\sqrt{\left(\frac{\sin\!\beta_{2}}{\sin\left(\beta_{1}+\beta_{2}\right) }\cdot l\right)^{2}+r^{2}-2 rl\frac{\sin\!\beta_{1}\cdot\sin\!\beta_{2}}{\sin \left(\beta_{1}+\beta_{2}\right)}} \tag{5}\]  
\[\left\{ \begin{array}{l}\psi_{1}=\frac{1}{2}\cdot\arcsin\!\sqrt{\frac{4P_{t} }{C\!P_{t}}\cdot\left\{\left(\frac{\sin\!\beta_{2}}{\sin\left(\beta_{1}+\beta _{2}\right)}\cdot l\right)^{2}+r^{2}-2 rl\frac{\sin\!\beta_{1}\sin\!\beta_{2}}{ \sin\left(\beta_{1}+\beta_{2}\right)}\right\}}\\ d_{1}=\frac{S_{2}}{\sin\!\beta_{1}}\\ h=\frac{S_{2}}{\tan\!\beta_{1}}\end{array} \right. \tag{6}\]  
Figure 1: Schematic of VLC indoor positioning system.