## 3 Results and Discussion  
### Simulation Results and Discussion  
Firstly, we evaluated the communication and positioning performances of the multi-user VLCP system under different numbers of users. Here the length (L) of Walsh-Hadamard code was fixed at 32 and the number (U) of users was set as 8, 12, and 16, respectively. We estimated the BER and positioning error at each testing point, where the positioning error was defined as the Euclidean distance between real position and estimated position. Figures 4 and 5 show the surface diagram of BER and positioning error, respectively. We can see that BER and positioning error estimated in the center area of the receiving plane were much lower than in the corner area. This is because the PD in the center area can receive a larger optical power from all LEDs compared to the PD in the corner area. In addition, both BER and positioning error rose rapidly with the increase of user numbers because all the users equally shared the output power of LEDs, according to Equation (2). When the user number increased, the power assigned to each user decreased, leading to a lower signal to noise ratio (SNR). Even so, most testing points had BER within a forward error correction (FEC) citation of \(3.8\times 10^{-3}\) and positioning error less than 10 cm. We calculated the cumulative distribution function (CDF) value of BER and positioning error estimated in the whole receiving plane. Figure 6 shows that more than 96%, 85%, and 7  
Then, we investigated the performance of the eight-user VLCP system when adopting the Walsh-Hadamard code with lengths of 16, 32, and 64, respectively. The surface diagram of BER and positioning error are displayed in Figures 7 and 8, respectively, and the CDF of BER and positioning error are shown in Figure 9. The figures show that the measured BER of 87%, 96%, and 100% of testing points were lower than 3.8 \(\times\) 10\({}^{-3}\) and the measured positionings of 59%, 85%, and 95% of testing points were less than 5 cm when the length of the spreading code was 16, 32, and 64, respectively. In addition, we found that the BER and positioning error can be significantly reduced by using a Walsh-Hadamard code with a longer length. This is because the AWGN is spread by the Walsh-Hadamard code according to Equation (9) when we decoded the signal. Thus, the code with a longer length can equalize much AWGN, leading to higher SNR, and consequently, lower BER and positioning error. Additionally, with the increased length of Walsh-Hadamard code, the number of spreading codes in one set can be increased. Thus, the system can support more users simultaneously. However the longer length of spreading code will lower the data rate when the sampling rate of transmission signal is fixed. Therefore, when designing the multi-user VLCP system, it is necessary to choose a suitable length of spreading code according to the required supporting user number, data rate, and positioning accuracy.  
Figure 5: Surface diagram of positioning error estimated at all testing points when the user number is (**a**) 8 users, (**b**) 12 users, and (**c**) 16 users.  
Figure 6: CDF of (**a**) BER and (**b**) positioning error estimated in the whole receiving plane when the multi-user VLCP system supports different numbers of users.