## 3 ACDM-Based VLP System by Using OPRC  
### System Principle of OPRC-VLP  
The schematic diagram of the ACDM-based VLP system is shown in Figure 1, where multiple LED transmitters are used to locate a PD receiver. Each LED transmitter is assigned a unique OPRC code \(\mathbf{S}_{i}\) of length \(Ls\), serving as its AC signal. This signal is superimposed with a DC bias to generate the VLP signal for the \(i\)-th transmitter. Then, the LED transmitters continuously and periodically emit these VLP signals. As the VLP signal from the \(i\)-th LED reaches the receiver, it incurs a time delay \(\tau_{i}\). Upon reception, we first capture a signal segment of length \(L_{S}\) and then demodulate this segment using the OPRC that matches the transmitted one. This process accurately extracts the received signal strength (RSS) of the \(i\)-th LED transmitter. Once the RSS values of all LED transmitters are obtained, the trilateration algorithm is employed to determine the position of the receiver. We define \(\mathbf{S}_{i}=[S_{i1},\,\ldots,\,S_{LS}]\), where \(S_{i1}\in[-1,\,+1]\), as the OPRC assigned to the \(i\)-th LED. Then, one period of the VLP signal from the \(i\)-th LED can be described as:  
\[\mathbf{T}_{i}(t)=P_{t}(\alpha\mathbf{S}_{i}(t)+1),\,0\leq t<nT_{c}L_{S}, \tag{6}\]  
where \(P_{t}\) is the LED transmit power, \(\alpha\) is the modulation index, and \(T_{c}\) is the duration of one code chip. The VLP signals from different LEDs reach the receiver after experiencing different delays. One period of the received signal can be represented as:  
\[\mathbf{R}(t)=\sum_{i=1}^{N_{\text{LED}}}\beta\delta_{i}\mathbf{T}_{i}(t+\tau_ {i})+N_{\text{AWGN}}(t), \tag{7}\]  
where \(N_{\text{LED}}\) is the number of LEDs, \(\beta\) is the PD responsivity, \(\delta_{i}\) is the channel DC gain of the \(i\)-th VLP signal, and \(N_{\text{AWGN}}\) is additive white Gaussian noise (AWGN), whose variance is given by [35]:  
\[\sigma^{2}=2q\left(\sum_{i=1}^{N_{\text{LED}}}\beta P_{t}\delta_{i}+I_{bg}I_{2 }\right)B+8\pi kT_{k}\eta A_{r}B_{2}\left(\frac{I_{2}}{G}+\frac{2\pi\Gamma}{g_ {m}}\eta A_{r}I_{3}B\right). \tag{8}\]  
Here, \(q\) is the electronic charge, \(I_{bg}\) is the background current, \(I_{2}\) is the noise bandwidth factor, \(B\) is the equivalent noise bandwidth (equal to system bandwidth), \(k\) is the Boltzmann constant, \(T_{k}\) is the absolute temperature, \(\eta\) is the fixed capacitance of the PD per unit area, \(G\) is the open-loop voltage gain, \(\Gamma\) is the FET channel noise factor, \(I_{3}\) is the gate-induced drain leakage, and \(g_{m}\) is the FET transconductance. Figure 1: Schematic diagram of the ACDM-based VLP system using OPRC. To simplify the system, we consider only the line-of-sight (LOS) component of the visible light channel, assuming that the LEDs face downward and the PDs face upward. Based on the Lambertian model in [35], the channel DC gain in Equation (7) can be expressed as:  
\[\delta_{i}=\frac{(m_{l}+1)A_{r}h^{m_{l}+1}g_{f}g_{c}}{2\pi D_{i}^{m_{l}+3}}, \tag{9}\]  
where \(m_{l}\) is the Lambertian order, \(A_{r}\) is the effective receiving area of PD, \(h\) is the vertical distance between each LED and the PD, \(g_{f}\) is the gain of an optical filter, \(g_{c}\) is the gain of an optical concentrator, and \(D_{i}\) is the signal transmission distance from the \(i\)-th LED transmitter to the PD receiver. Next, we sequentially perform cross-correlation operations between the received signal and the OPRC \(S_{i}\) (\(i=1,\ldots,N_{\text{LED}}\)) with different chip offsets \(\tau_{k}=(1,\ldots,L_{S})\) to obtain their respective correlation values, given by:  
\[