3.1 New method of user grouping
The socalled GSIC implies that the users are divided into different groups following some principle and the users in a group are considered as a whole, which can also be considered a virtual user. After sorting the groups (virtual users), the virtual users can be sequentially demodulated and the intergroup interference can be removed.
To divide the users into multiple groups, this paper proposes a new method of user grouping based on the equivalent path loss of each user. The users in different groups follow the principle of NOMA, using GSIC to remove the intergroup interference, while the users in the same group follow the principle of SDMA. Therefore, two factors are considered during user grouping:

(i)
The number of users in each group: Since the users in the same group follow the principle of SDMA, there should be fewer users in each group than the number of APs, i.e., \(\mathrm {U}_{\mathrm {k}}<L\), which ensures that the users in each group can be demodulated in parallel.

(ii)
The equivalent pass loss of per user: In a singlecell massive MIMONOMA system, users can be divided into different groups according to their path loss to the base station. Motivated by this, we propose a new method of user grouping in a cellfree massive MIMONOMA system. Since users are served by all APs, user grouping can be implemented considering the equivalent path loss to all APs of each user. In other words, users with identical equivalent path loss are divided into a group. The equivalent path loss of \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\) to all APs is defined as follows:
$$\begin{aligned} \lambda _{m,k}=\frac{1}{\sum _{l=1}^{L} \beta _{l, m, k}}(m=1,2, \cdots , M, k=1,2, \cdots , K), \end{aligned}$$
(3)
where \(\beta _{l, m, k}\) is the largescale channel gain of \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\). The equivalent path loss of users in different groups should satisfy the following equation:
$$\begin{aligned} \lambda _{m, k}<\lambda _{m^{\prime }, k^{\prime }}\left( m<m^{\prime }\right) . \end{aligned}$$
(4)
We present an example of equivalent path loss contours for five APs in Fig. 1, where users with equal equivalent pass loss are in the same contour.
3.2 Uplink data transmission
In the uplink transmission, user messages are simultaneously transmitted to all APs. The received signal at the lth AP can be expressed as
$$\begin{aligned} {\mathbf {f}}=\sum _{m=1}^{M} \sum _{k=1}^{\mathrm {U}_{k}} {\mathbf {h}}_{m, k} w_{m, k} x_{m, k}+{\mathbf {v}}, \end{aligned}$$
(5)
where \({\mathbf {h}}_{m, k}\) is the channel gain vector between \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\) and the lth AP, \(w_{m, k}\) and \(x_{m, k}\) are the transmit power coefficient and transmit signal of \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\), respectively. In addition, \({\mathbf {v}}\) is the noise vector with each element following \(\mathcal {CN}(0,\sigma _{m,k}^2 )\). To derive the uplink achievable sum rate formula, we rewrite the received signal at the lth AP in the form of a matrix:
$$\begin{aligned} {\mathbf {f}}=\sum _{m=1}^{M} {\mathbf {H}}_{m} {\mathbf {W}}_{m} {\mathbf {X}}_{m}+{\mathbf {v}}, \end{aligned}$$
(6)
with
$$\begin{aligned}&{\mathbf {H}}_{m}=\left[ {\mathbf {h}}_{m, 1}, \cdots , {\mathbf {h}}_{m, \mathrm {U}_{\mathrm {k}}}\right] , \end{aligned}$$
(7)
$$\begin{aligned}&{\mathbf {W}}_{m}={\text {diag}}\left\{ w_{m, 1}, \cdots , w_{m, \mathrm {U}_{\mathrm {k}}}\right\} , \end{aligned}$$
(8)
$$\begin{aligned}&{\mathbf {X}}_{m}=\left[ x_{m, 1}, \cdots , x_{m, \mathrm {U}_{k}}\right] ^{T}, \end{aligned}$$
(9)
where \({\mathbf {H}}_{m}\) and \({\mathbf {W}}_{m}\) are the channel gain matrix and transmit power coefficient matrix of the mth group, respectively. \({\mathbf {X}}_{m}\) is the transmit signal of users in the mth group.
3.3 Analysis of achievable sum rate
Considering the powerdomain NOMA, the order of demodulation is determined by the signal strength, and the users with higher power are prioritized. Therefore, in the cellfree massive MIMONOMA system based on GSIC, since the equivalent path loss in the first group is the smallest, we first detect the user signals in the first group. Before the user signals in the second group are decoded, all user signals in the first group will be removed, and so on, until the user signals in all groups are demodulated. The comparison between the new framework of GSICNOMA and the tradition SICNOMA based on user clustering is shown in Fig. 2.
Regarding different groups, in the new framework, most of the intergroup interference can be removed using GSIC. However, because of error propagation and the interference from undemodulated groups, some intergroup interference remains for the current demodulated group. Therefore, at the CPU, all user signals in the mth group can be expressed as
$$\begin{aligned} \hat{{\mathbf {x}}}_{m}=&\underbrace{{\mathbf {E}}_{\mathrm {m}}^{H} {\mathbf {H}}_{m} {\mathbf {W}}_{m} {\mathbf {x}}_{m}}_{\text{[Desired } \text{ Signal] } } \!+\! \underbrace{{\mathbf {E}}_{\mathrm {m}}^{H} \sum \nolimits _{i=m+1}^{M} {\mathbf {H}}_{i} {\mathbf {W}}_{i} {\mathbf {x}}_{i}}_{{\begin{array}{c} \text{[Intergroup } \\ \text{ Interference } \text{ after } \text{ GSIC] } \end{array}}}\nonumber \\\quad&+\underbrace{{\mathbf {E}}_{\mathrm {m}}^{H} \sum \nolimits _{j=1}^{m1} {\mathbf {H}}_{j} {\mathbf {W}}_{j} \varvec{\Sigma }_{j} {\mathbf {x}}_{j}}_{{\begin{array}{c} \text{[Error } \text{ Propagation } \\ \text{ caused } \text{ by } \text{ Imperfect } \text{ GSIC] } \end{array}}}+\underbrace{{\mathbf {E}}_{\mathrm {m}}^{H} {\mathbf {v}}}_{\text{[Noise] } }, \end{aligned}$$
(10)
where \({\mathbf {E}}_{m}\) is the equalizer at the CPU for the users in the mth group. \(\varvec{\Sigma }_{j}\) is a diagonal matrix and represents the interference of the jth group due to error propagation, which can be written as
$$\begin{aligned} \varvec{\Sigma }_{j}={\text {diag}}\left\{ \sqrt{\varepsilon _{j, 1}}, \cdots , \sqrt{\varepsilon _{j, \mathrm {U}_{j}}}\right\} , \end{aligned}$$
(11)
In the new framework, different users in each group are distinguished by their respective equalizer \({\mathbf {E}}_{m}\). In addition to the intergroup interference, interference among different users within a group remains, so the signal of \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\) can be expressed as
$$\begin{aligned} \hat{x}_{{m,k}} & = \underbrace {{\left[ {{\mathbf{E}}_{m} } \right]_{{:,k}}^{H} \left[ {{\mathbf{H}}_{m} } \right]_{{:,k}} w_{{m,k}} x_{{m,k}} }}_{{{\text{ Desired Signal }}}} + \underbrace {{\left[ {{\mathbf{E}}_{m} } \right]_{{:,k}}^{H} \sum\nolimits_{{i = m + 1}}^{M} {{\mathbf{H}}_{i} } {\mathbf{W}}_{i} {\mathbf{x}}_{i} }}_{{\begin{array}{*{20}c} {[{\text{Inter  group}}} \\ {{\text{ Interference after GSIC}}]} \\ \end{array} }} \\ & \quad + \;\underbrace {{\left[ {{\mathbf{E}}_{m} } \right]_{{:,k}}^{H} {\mathbf{v}}}}_{{{\text{ Noise }}}} + \underbrace {{\left[ {{\mathbf{E}}_{m} } \right]_{{:,k}}^{H} \sum\nolimits_{{j = 1}}^{{m  1}} {{\mathbf{H}}_{j} } {\mathbf{W}}_{j} \Sigma _{j} {\mathbf{x}}_{j} }}_{{\begin{array}{*{20}c} {[{\text{Error Propagation }}} \\ {{\text{ caused by Imperfect GSIC}}]} \\ \end{array} }}\quad + \underbrace {{\left[ {{\mathbf{E}}_{m} } \right]_{{:,k}}^{H} \sum\nolimits_{{k^{\prime } \ne k}}^{{{\text{U}}_{{\text{k}}} }} {\left[ {{\mathbf{H}}_{m} } \right]_{{:,k^{\prime } }} } w_{{m,k^{\prime } }} x_{{m,k^{\prime } }} }}_{{{\text{ Intra  group Interference }}}}, \\ \end{aligned} ,$$
(12)
where \(\left[ {\mathbf {E}}_{m}\right] _{:, k}\) is the kth column of matrix \({\mathbf {E}}_{m}\), which is the equalizer of \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\).
To facilitate the power control constraints in the next subsection, using (12), an achievable sum rate for \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\) can be expressed as follows [10]:
$$\begin{aligned} R_{m, k}&= \log \left( 1+{\text {SINR}}_{m, k}\right) \end{aligned}$$
(13)
$$= \log \left( {1 + P_{d} /\left( {\sum\limits_{{i = 1}}^{3} {P_{{I_{i} }} } + \sigma _{{m,k}}^{2} } \right)} \right),$$
(14)
where \({\text {SINR}}_{m, k}\) is the signal to interferenceplusnoise ratio (SINR) of \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\), which reflects the performance of users. \(P_{d}\) and \(P_{I_{i}}(\mathrm {i}=1,2,3)\) are the powers of the desired signal and interference signals, respectively, which can be expressed as follows:
$$\begin{aligned}&P_{d}=\left \left[ {\mathbf {E}}_{m}\right] _{:, k}^{H}\left[ {\mathbf {H}}_{m}\right] _{:, k} w_{m, k}\right ^{2}, \end{aligned}$$
(15a)
$$\begin{aligned}&P_{I_{1}}=\left[ {\mathbf {E}}_{m}\right] _{:, k}^{H} \sum _{i=m+1}^{M} {\mathbf {H}}_{i} {\mathbf {W}}_{i} {\mathbf {W}}_{i}^{H} {\mathbf {H}}_{i}^{H}\left[ {\mathbf {E}}_{m}\right] _{:, k}, \end{aligned}$$
(15b)
$$\begin{aligned}&P_{I_{2}}=\left[ {\mathbf {E}}_{m}\right] _{:, k}^{H} \sum _{j=1}^{m1} {\mathbf {H}}_{j} {\mathbf {W}}_{j} \varvec{\Sigma }_{j} \varvec{\Sigma }_{j}^{H} {\mathbf {W}}_{j}^{H} {\mathbf {H}}_{j}^{H}\left[ {\mathbf {E}}_{m}\right] _{:, k}, \end{aligned}$$
(15c)
$$\begin{aligned}&P_{I_{3}}=\sum _{k^{\prime }=1, k^{\prime } \ne k}^{\mathrm {U}_{\mathrm {k}}}\left \left[ {\mathbf {E}}_{m}\right] _{:, k}^{H}\left[ {\mathbf {H}}_{m}\right] _{:, k^{\prime }} w_{m, k^{\prime }}\right ^{2}, \end{aligned}$$
(15d)
By calculating the achievable sum rate of each user, the achievable sum rate of the uplink cellfree massive MIMONOMA system based on GSIC can be written as
$$\begin{aligned} R=\sum _{m=1}^{M} \sum _{k=1}^{\mathrm {U}_{\mathrm {k}}} R_{m, k}= \sum _{m=1}^{M} \sum _{k=1}^{\mathrm {U}_{\mathrm {k}}} \log \left( 1+{\text {SINR}}_{m, k}\right) , \end{aligned}$$
(16)
3.4 Power control scheme
Much attention has been given to energyefficient communication in future wireless communication, so the total power consumption of the system is worth studying. In this paper, we optimize the power control scheme, which is subject to the QoS per user and maximum transmission power limit. Therefore, in the cellfree massive MIMONOMA system, the optimization formula of the total power consumption is
$$\begin{aligned} \mathbf {P1}: \min _{\left\{ w_{m, k}\right\} ,\left\{ {\mathbf {E}}_{m}\right\} }:&~ \sum _{m=1}^{M} \sum _{k=1}^{\mathrm {U}_{\mathrm {k}}} w_{m, k}^{2} \end{aligned}$$
(17)
$$\begin{aligned} \text { s.t. }&~ \log _{2}\left( 1+\mathrm {SINR}_{m, k}\right) \ge R_{m, k}, \end{aligned}$$
(18)
$$\begin{aligned}&~ w_{m, k}^{2} \le P_{\max } , \end{aligned}$$
(19)
where \(R_{m, k}\) and \(P_{\max }\) are the minimum transmission rate and maximum transmission power of \(\mathrm {UE}_{\mathrm {m}, \mathrm {k}}\), respectively. Since the first constraint in the optimization is nonconvex, problem (\(\mathbf {P1}\)) is nonconvex.
To simplify the nonconvex optimization problem (\(\mathbf {P1}\)), we use the relationship between the equalizer and the transmit power. To maximize the SINR per user, in [8], the best linear equalizer is the minimum mean square error (MMSE) equalizer. Therefore, we use the MMSE equalizer to demodulate the user signals in the mth group, which can be expressed as
$$\begin{aligned}&{\mathbf {E}}_{m}=\left( {\mathbf {H}}_{m} {\mathbf {W}}_{m} {\mathbf {W}}_{m}^{H} {\mathbf {H}}_{m}^{H}+\sum \nolimits _{i=m+1}^{M} {\mathbf {H}}_{i} {\mathbf {W}}_{i} {\mathbf {W}}_{i}^{H} {\mathbf {H}}_{i}^{H}\right. \nonumber \\&\quad \quad \left. +\sum \nolimits _{j=1}^{m1} {\mathbf {H}}_{j} {\mathbf {W}}_{j} \varvec{\Sigma }_{j} \varvec{\Sigma }_{j}^{H} {\mathbf {W}}_{j}^{H} {\mathbf {H}}_{j}^{H}+\sigma _{m, k}^{2} {\mathbf {I}}\right) ^{1} {\mathbf {H}}_{m} {\mathbf {W}}_{m} \end{aligned}$$
(20)
By substituting (20) into \({\text {SINR}}_{m, k}\) in (13), we can rewrite \({\text {SINR}}_{m, k}\) as
$$\begin{aligned}&{\text {SINR}}_{m, k}=\left[ {\mathbf {H}}_{m}\right] _{:, k}^{H}\left( \sum _{k^{\prime }=1, k^{\prime } \ne k}^{U_{k}}\left[ {\mathbf {H}}_{m}\right] _{:, k^{\prime }}^{H}\left[ {\mathbf {H}}_{m}\right] _{:, k^{\prime }} w_{m, k^{\prime }}^{2} +\sum _{i=m+1}^{M} {\mathbf {H}}_{i} {\mathbf {W}}_{i} {\mathbf {W}}_{i}^{H} {\mathbf {H}}_{i}^{H}\right. \nonumber \\&\quad \quad \quad \quad \quad \left. +\sum _{j=1}^{m1} {\mathbf {H}}_{j} {\mathbf {W}}_{j} \varvec{\Sigma }_{j} \varvec{\Sigma }_{j}^{H} {\mathbf {W}}_{j}^{H} {\mathbf {H}}_{j}^{H}+\sigma _{v}^{2} {\mathbf {I}}\right) ^{1}\left[ {\mathbf {H}}_{m}\right] _{:, k} w_{m, k}^{2} \end{aligned}$$
(21)
Therefore, the original nonconvex optimization problem (\(\mathbf {P1}\)) is transformed into
$$\begin{aligned} \mathbf {P2}: \min _{\left\{ w_{m, k}\right\} }:&~ \sum _{m=1}^{M} \sum _{k=1}^{\mathrm {U}_{\mathrm {k}}} w_{m, k}^{2} \end{aligned}$$
(22)
$$\begin{aligned} \text{ s.t. }&~ \log _{2}\left( 1+\mathrm {SINR}_{m, k}\right) \ge R_{m, k}, \end{aligned}$$
(23)
$$\begin{aligned}&~ w_{m, k}^{2} \le P_{\max } , \end{aligned}$$
(24)
After the transformation, the original joint power control and equalizer optimization problem is transformed to a pure power control problem. To obtain the optimal power control scheme, by invoking the contradiction in Remark 1, the best transmit power per user can be expressed as (25).
$$\begin{aligned} w_{m, k}^{2}&=\left( 2^{R_{m, k}}1\right) /\left( \left[ {\mathbf {H}}_{m}\right] _{:, k}^{H}\left( \sum _{k^{\prime }=1, k^{\prime } \ne k}^{U_{k}}\left[ {\mathbf {H}}_{m}\right] _{:, k^{\prime }}^{H}\left[ {\mathbf {H}}_{m}\right] _{:, k^{\prime }} w_{m, k^{\prime }}^{2}\right. \right. \nonumber \\&\quad \left. \left. +\sum _{i=m+1}^{M} {\mathbf {H}}_{i} {\mathbf {W}}_{i} {\mathbf {W}}_{i}^{H} {\mathbf {H}}_{i}^{H}+\sum _{j=1}^{m1} {\mathbf {H}}_{j} {\mathbf {W}}_{j} \varvec{\Sigma }_{j} \varvec{\Sigma }_{j}^{H} {\mathbf {W}}_{j}^{H} {\mathbf {H}}_{j}^{H}+\sigma _{v}^{2} {\mathbf {I}}\right) ^{1}\left[ {\mathbf {H}}_{m}\right] _{:, k}\right) \end{aligned}$$
(25)
Equation (25) shows that the optimal transmit powers of different users interact. Therefore, we use a parallel iteration method to achieve the best power control scheme. The socalled parallel iteration refers to obtaining the minimum power consumption of the system through multiple internal iterations and external iterations. Internal iteration refers to user iteration within a group. In the case of fixed intergroup interference, the internal user power within a group is updated according to (25). External iteration is the user iteration between all groups. After all groups complete an internal iteration, an external iteration is performed to determine whether the total power consumption of the system has converged. If it converges, the total power consumption of the system is considered the lowest at this time. The detailed procedure is summarized in Algorithm 1.
As long as the initial transmit power is feasible, the transmit power per user decreases when the number of iterations increases, which implies that the total power consumption of the system will converge to a stationary point [9]. The total computational complexity for Algorithm 1 is \(\sum _{m=1}^{M}(3 M+2 m4){\mathcal {O}} (L^{3})\).
Remark 1
First, a new function \({\mathfrak {R}}_{n, l}\left( w_{n, l}^{2}\right)\) is defined to indicate the effect of current user’s transmit power \(w_{n, l}^{2}\) on \({\text {SINR}}_{m, k}\). As the user’s transmit power \(w_{n, l}^{2}\) increases, the value of function \({\mathfrak {R}}_{n, l}\left( w_{n, l}^{2}\right)\) decreases.
$$\begin{aligned} {\mathfrak {R}}_{n, l}\left( w_{n, l}^{2}\right) ={\text {SINR}}_{m, k}(m, k) \ne (n, l) \end{aligned}$$
(26)
Suppose \(\left\{ {\tilde{w}}_{m, k}^{2}\right\}\) is the optimal solution of (\(\mathbf {P2}\)), then any element \(\left\{ {\tilde{w}}_{m, e}^{2}\right\}\)in the set satisfies the following inequality:
$$\begin{aligned} {\text {SINR}}_{m, e}\left( {\tilde{w}}_{m, e}^{2}\right) >2^{R_{m, e}}1 \end{aligned}$$
(27)
Introducing a new user’s transmit power \({\widehat{w}}_{m, e}^{2}\) satisfies:
$$\begin{aligned} {\widehat{w}}_{m, e}^{2}&=\left( 2^{R_{m, e}}1\right) /\left( \left[ {\mathbf {H}}_{m}\right] _{:, e}^{H}\left( \sum _{k^{\prime }=1, k^{\prime } \ne k}^{U_{k}}\left[ {\mathbf {H}}_{m}\right] _{:, k^{\prime }}^{H}\left[ {\mathbf {H}}_{m}\right] _{:, k^{\prime }} {\tilde{w}}_{m, k'}^{2}\right. \right. \nonumber \\ \quad&\left. \left. +\sum _{i=m+1}^{M} {\mathbf {H}}_{i} {\mathbf {W}}_{i} {\mathbf {W}}_{i}^{H} {\mathbf {H}}_{i}^{H}+\sum _{j=1}^{m1} {\mathbf {H}}_{j} {\mathbf {W}}_{j} \varvec{\Sigma }_{j} \varvec{\Sigma }_{j}^{H} {\mathbf {W}}_{j}^{H} {\mathbf {H}}_{j}^{H}+\sigma _{v}^{2} {\mathbf {I}}\right) ^{1}\left[ {\mathbf {H}}_{m}\right] _{:, e}\right) <{\tilde{w}}_{m, e}^{2} \end{aligned}$$
(28)
We can verify that \({\widehat{w}}_{m, k}^{2}\) also satisfies the constraints in (\(\mathbf {P2}\)):
$$\begin{aligned} {\text {SINR}}_{m, e}\left( {\widehat{w}}_{m, e}^{2}\right) \ge 2^{R_{m, e}}1 \end{aligned}$$
(29)
$$\begin{aligned} {\widehat{w}}_{m, k}^{2}<{\tilde{w}}_{m, k}^{2}\le P_{\max } \end{aligned}$$
(30)
In addition, as \({\mathfrak {R}}_{n, l}\left( w_{n, l}^{2}\right)\) is a monotonically decreasing function, \({\widehat{w}}_{m, k}^{2}\) also satisfies the QoS:
$$\begin{aligned} {\text {SINR}}_{n, l}={\mathfrak {R}}_{n, l}\left( {{\widehat{w}}}_{m, k}^{2}\right) >{\mathfrak {R}}_{n, l}\left( {{\tilde{w}}}_{m, k}^{2}\right) \ge 2^{R_{n, l}}1,(m, k) \ne (n, l) \end{aligned}$$
(31)
The above explanation contradicts with the fact that \(\left\{ {\tilde{w}}_{m, k}^{2}\right\}\) is the optimal solution of (\(\mathbf {P2}\)). Therefore, (25) is proved.