# Enhanced Gain Difference Power Allocation for NOMA-Based Visible Light Communications
## 3 Proposed Power Allocation Scheme
### Allocation Principle Formulation
The computational complexity of GRPA is comparable to the proposed algorithm, which can be estimated as \(O(IK^{2})\) due to the calculation of \(\mu_{i,k}\), as shown in (7). The calculation process of NGDPA is similar to that of GRPA, with a required computational complexity of \(O(IK^{2})\). As described in [25], the computational complexity of MFPA can be approximately expressed as \(O(IK)\) in this paper. In summary, the proposed algorithm, in comparison to MFPA, exhibits slightly increased computational complexity. However, with the advancements in computing power, this additional complexity can be easily handled. Furthermore, the computational complexity of the proposed algorithm aligns with that of the GRPA and NGDPA methods. ```
1:Number of LEDs I, Number of PDs J, Number of users K
2:Compute channel gains \(h_{j,k}\) and sort decoding order in ascending order based on \(h_{k}\)
3:for i=1 to I do
4:for k=1 to K do
5: Calculate \(b_{i,k}\) based on (10)
6:endfor
7:for i=1 to I do
8:for k=1 to K do
9: Calculate \(\alpha_{i,k}\) based on (11)
10:if\(k=K\)then
11:\(\mu_{i,k}=\prod\limits_{q=1}^{K}\left(1-\alpha_{i,q}\right)\)
12:else
13:if\(k=1\)then
14:\(\mu_{i,k}=\alpha_{i,k}\)
15:else
16:\(\mu_{i,k}=\prod\limits_{q=1}^{k-1}\left(1-\alpha_{i,q}\right)\alpha_{i,k}\)
17:endif
18:endif
19:endfor
20:endfor

Figure 2: Block diagram of a MIMO-VLC system with the proposed power allocation scheme. In NOMA-VLC systems with multiple LEDs, decoding is arranged based on the aggregate channel gains from all LEDs to mitigate interference among users. Specifically, the user with the poorer channel condition would be assigned more power in the SIC decoding schemes [11]. For simplicity, within the same LED, the power allocation factor for \(U_{k}\) can be equivalently represented as \(\mu_{k}\), and the equivalent channel gain can be expressed as \(h_{k}=\sum\limits_{j=1}^{I}h_{ij,k}\). The channel gains of users can be arranged in ascending order, given as

\[h_{1}\leq\ldots\leq h_{k}\leq\ldots\leq h_{K}, \tag{12}\]

where the first and last users are regarded as the weakest and strongest, respectively. Therefore, to ensure the quality of the edge user, the decoding order follows an increasing order of the channel gains. Therefore, the power allocated to each user can be ordered as

\[\mu_{1}\geq\ldots\geq\mu_{k}\geq\ldots\geq\mu_{K}. \tag{13}\]

When SIC is used, the residual interference from users of superior decoding order can be regarded as noise. According to (2), the interference and noise at \(U_{k}\) are represented as

\[N_{k}=\underbrace{\kappa\sum_{u=1}^{k-1}h_{k}^{2}P_{u}}_{\text{residual interference}}+\underbrace{\sum_{v=k+1}^{K}h_{k}^{2}P_{v}}_{\text{SIC interference}}+\sigma_{noise}^{2}, \tag{14}\]

where \(\kappa\) is a constant factor denoting the degree of residual interference, which falls within the range [0,1]. A smaller value of \(\kappa\) indicates a better decoding performance for SIC. When \(\kappa\) is equal to 0, this represents perfect decoding of the user information with no residual. When \(\kappa\) is not equal to 0, this signifies imperfect decoding of the user information with some residual remaining. For \(P_{k}=\mu_{k}P_{t}\), the signal-to-interference-plus-noise ratio (SINR) for \(U_{k}\) can be expressed by

\[\gamma_{k}=\frac{\left(h_{k}\mu_{k}\right)^{2}}{\kappa\sum_{p=1}^{k-1}\left(h_ {k}\mu_{p}\right)^{2}+\sum_{v=k+1}^{K}\left(h_{k}\mu_{v}\right)^{2}+\sigma^{2 }},\quad 1\leq k\leq K, \tag{15}\]

where \(\sigma^{2}=\sigma_{noise}^{2}/P_{t}\). Therefore, the corresponding achievable rate for \(U_{k}\) can be derived as

\[R_{k}= \begin{cases}\frac{\beta}{2}\text{log}_{2}\Bigg{(}1+\frac{\left(h_{k} \mu_{k}\right)^{2}}{\kappa\sum_{p=1}^{k-1}\left(h_{k}\mu_{p}\right)^{2}+\sum_ {v=k+1}^{K}\left(h_{k}\mu_{v}\right)^{2}+\sigma^{2}}\Bigg{)},&1\leq k<K\\ \frac{\beta}{2}\text{log}_{2}\Bigg{(}1+\frac{\left(h_{k}\mu_{k}\right)^{2}}{ \kappa\sum_{p=1}^{k-1}\left(h_{k}\mu_{p}\right)^{2}+\sigma^{2}}\Bigg{)},&k=K \end{cases} , \tag{16}\]

where \(B\) is the modulation bandwidth.