 Research
 Open Access
Joint interference cancellation and relay selection algorithms based on greedy techniques for cooperative DSCDMA systems
 Jiaqi Gu^{1}Email author and
 Rodrigo C. de Lamare^{1, 2}
https://doi.org/10.1186/s136380160556x
© Gu and de Lamare. 2016
 Received: 3 July 2015
 Accepted: 8 February 2016
 Published: 24 February 2016
Abstract
In this work, we propose interference cancellation techniques and a multirelay selection algorithm based on greedy methods for the uplink of cooperative directsequence codedivision multiple access (DSCDMA) systems. We first devise lowcost listbased successive interference cancellation (GLSIC) and parallel interference cancellation (GLPIC) algorithms with RAKE receivers as the frontend that can approach the maximum likelihood detector performance and be used at both the relays and the destination of cooperative systems. Unlike prior art, the proposed GLSIC and GLPIC algorithms exploit the Euclidean distance between users of interest and the potential nearest constellation point with a chosen threshold in order to build an effective list of detection candidates. A low complexity multirelay selection algorithm based on greedy techniques that can approach the performance of an exhaustive search is also proposed. A crosslayer design strategy that brings together the proposed multiuser detection algorithms, and the greedy relay selection is then developed along with an analysis of the proposed techniques. Simulations show an excellent bit error rate performance of the proposed detection and relay selection algorithms as compared to existing techniques.
Keywords
 DSCDMA networks
 Cooperative systems
 Relay selection
 Greedy algorithms
 SIC detection
 PIC detection
1 Introduction
Multipath fading is a major constraint that seriously limits the performance of wireless communications. Indeed, severe fading has a detrimental effect on the received signals and can lead to a degradation of the transmission of information and the reliability of the network. Cooperative diversity is a technique that has been widely considered in recent years [1] as an effective tool to deal with this problem. Several cooperative schemes have been proposed in the literature [2–4], and among the most effective ones are amplifyandforward (AF) and decodeandforward (DF) [4]. For an AF protocol, relays cooperate and amplify the received signals with a given transmit power amplifying their own noise. With the DF protocol, relays decode the received signals and then forward the reencoded message to the destination. Consequently, better performance and lower power consumption can be obtained when appropriate decoding and relay selection strategies are applied.
1.1 Prior and related work
Directsequence codedivision multiple access (DSCDMA) systems are a multiple access technique that can be incorporated with cooperative systems in ad hoc and sensor networks [5–7]. Due to the multiple access interference (MAI) effect that arises from nonorthogonal received waveforms and narrowband interfering signals, the system performance may be adversely affected. To deal with this issue, multiuser detection (MUD) techniques have been developed [8] as an effective approach to suppress MAI. The optimal detector, known as maximum likelihood (ML) detector, has been proposed in [9]. However, this method is infeasible for ad hoc and sensor networks considering its computational complexity. Motivated by this fact, several suboptimal strategies have been developed: the linear detector [10], the successive interference cancellation (SIC) [11], the parallel interference cancellation (PIC) [12], and the minimum meansquare error (MMSE) decision feedback detector [13]. A key challenge is how to design interference cancellation techniques with low cost and near ML performance. Moreover, such interference cancellation algorithms should be suitable to cooperative relaying systems and feasible for deployment at the relays and small devices.
In cooperative relaying systems, different strategies that utilize multiple relays have been recently introduced in [14–18]. Among these approaches, a greedy algorithm is an effective way to approach the global optimal solution. Greedy algorithms are important mathematical techniques that follow the approach of obtaining a locally optimal solution to complex problems with low cost in a stepbystep manner. Decisions at each step in the greedy process are made to provide the largest benefit based on improving the local state without considering the global situation. Greedy algorithms may fail to achieve the globally optimal choice as they do not execute all procedures exhaustively; however, they are still useful as they usually present a lower cost and can provide acceptable approximations. Greedy algorithms have been widely applied in sparse approximation [19], internet routing [20], and arithmetic coding [21]. In [19], orthogonal matching pursuit (OMP) and basis pursuit (BP) are two major greedy approaches that are used to approximate an arbitrary input signal with the nearoptimal linear combination of various elements from a redundant dictionary. In [20], greedy routing is mentioned as a routing strategy where messages are simply forwarded to the node that is closest to the destination. In order to reduce the computational complexity and improve the overall speed of arithmetic coding, a greedy renormalization step that contains greedy thresholding and greedy outputting is proposed and analyzed in [21]. In relayassisted systems, greedy algorithms are used in [16, 17] to search for the best set of relays; however, with insufficient numbers of combinations considered, a significant performance loss is experienced as compared to an exhaustive search.
1.2 Contributions
This work presents costeffective interference cancellation algorithms and multirelay selection algorithms for cooperative DSCDMA systems. The proposed interference cancellation algorithms do not require matrix inversions and rely on the RAKE receiver as the frontend. A crosslayer optimization approach that jointly considers the proposed interference cancellation and relay selection algorithms for ad hoc and sensor networks is also proposed. The proposed techniques are not limited to DSCDMA systems and could also be applied to multiantenna and multicarrier systems. Crosslayer designs that integrate different layers of the network have been employed in prior work [22, 23] to guarantee the quality of service and help increase the capacity, reliability, and coverage of systems. However, MUD techniques with relay selection in cooperative relaying systems have not been discussed widely in the literature. In [3, 24], an MMSEMUD technique has been applied to cooperative systems, where the results indicate that the transmissions are more resistant to MAI and obtain a significant performance gain when compared with a single direct transmission. However, extra costs are introduced, as matrix inversions are required when an MMSE filter is deployed.

We propose a lowcost greedy listbased successive interference cancellation (GLSIC) multiuser detection method that can be applied at both the relays and the destination of wireless systems.

We also develop a lowcost greedy listbased parallel interference cancellation (GLPIC) strategy which employs RAKE receivers as the frontend and can approach the ML detector performance.

We present a lowcomplexity multirelay selection algorithm based on greedy techniques that can approach the performance of an exhaustive search.

An analysis of the computational complexity, the greedy relay selection method, and the crosslayer design is presented.

A crosslayer design that incorporates the optimization of the proposed GLSIC and GLPIC techniques, and the improved greedy multirelay selection algorithm for the uplink of a cooperative DSCDMA system is developed and evaluated.
The rest of this paper is organized as follows. In Section 2, the system model is described. In Section 3, the GLSIC multiuser detection method is presented. In Section 4, the GLPIC multiuser detection method is then developed. In Section 5, the relay selection strategy is proposed. In Section 6, the computational complexity and the greedy relay selection process are analyzed. In Section 7, the crosslayer design is explained. In Section 8, simulation results are presented and discussed. Finally, conclusions are drawn in Section 9.
Notation: in this paper, we use boldface upper and boldface lower fonts to denote matrices and vectors, respectively. (.)^{ T } and (.)^{ H } represent the transpose and Hermitian transpose, respectively. (.)^{−1} stands for the matrix inversion, E[.] denotes the expected value, ∣.∣ indicates the norm of a scalar, and ∥.∥ implies the norm of a vector.
2 Cooperative DSCDMA system model
where \(a_{r_{l}d}^{k}\) is the amplitude for source (user) k from the lth relay to the destination, \(\textbf {h}_{r_{l}d,k}\) is the L _{ p }×1 channel vector for user k from the lth relay to the destination, n _{ rd } is the M×1 zero mean complex Gaussian noise with variance σ ^{2}, and \(\hat {b}_{r_{l}d,k}\) is the decoded symbol at the output of relay l after using the DF protocol.
The matrix A _{ k }(i) is an (L+1)×(L+1) diagonal matrix of amplitudes for user k, \(\textbf {b}_{k}(i)=[b_{k},\hat {b}_{r_{1}d,k},\hat {b}_{r_{2}d,k},\ldots \hat {b}_{r_{L}d,k}]^{T}\) is an (L+1)×1 vector for user k that contains the transmitted symbol at the source and the detected symbols at the output of each relay, and n(i) is a 2M×1 noise vector.
3 Proposed GLSIC multiuser detection
In this section, we detail the GLSIC multiuser detector that can be applied in the uplink of a cooperative system. The GLSIC detector uses the RAKE receiver as the frontend, so that the matrix inversion required by the MMSE filter can be avoided. The GLSIC detector exploits the Euclidean distance between the users of interest and their nearest constellation points, with multiple ordering at each stage; all possible lists of tentative decisions for each user are generated. When seeking appropriate candidates, a greedylike technique is performed to build each list and all possible estimates within the list are examined when unreliable users are detected. Unlike prior work which employs the concept of Euclidean distance with multiple feedback SIC (MFSIC) [25], GLSIC does not require matrix inversions and jointly considers multiple numbers of users, constellation constraints, and reordering at each detection stage to obtain an improvement in detection performance.
3.1 Proposed GLSIC design
where \(\phantom {\dot {i}\!}\textbf {y}_{\text {sr}_{l}}(i)\) represents the received signal from the source to the lth relay, u _{ k }(i) stands for the soft output of the ith symbol for user k, and w _{ k } denotes the RAKE receiver that corresponds to a filter matched to the effective signature at the receiver. After that, we order all users according to a decreasing power level and organize them into a K×1 vector t _{ a }. We choose the first n entries [t _{ a }(1),t _{ a }(2),…,t _{ a }(n)] which denote users k _{1},k _{2},…,k _{ n }; the reliability of each of the n users is examined by the corresponding Euclidean distance between the desired user and its nearest constellation point c as explained next.
where the italic font \(\boldsymbol {h}_{\text {sr}_{l},\textbf {t}_{a}(t)}(i) = a_{\text {sr}_{l}}^{\textbf {t}_{a}(t)}\textbf {S}_{\textbf {t}_{a}(t)}(i)\textbf {h}_{\text {sr}_{l},\textbf {t}_{a}(t)}(i)\) stands for the desired user’s channel vector associated with the link between the source and the lth relay and \(\phantom {\dot {i}\!}\textbf {y}_{\text {sr}_{l},s}\) is the received signal from the source to the lth relay at the sth (s=1,2,…,K/n) cancellation stage. The process is then repeated with another set of n users being selected from the remaining users at the following stage, and this algorithm changes to the unreliable mode when unreliable users are detected. Additionally, since the interference created by the previous users with the strongest power has been mitigated, improved estimates are obtained by reordering the remaining users.
At this point, \(N_{c}^{n_{q}}\) combinations of candidates for n _{ q } users are generated. The detection tree is then split into \(N_{c}^{n_{q}}\) branches. After this processing, (12) is applied with its corresponding combination to ensure that the interference caused by the n detected users is mitigated. Following that, \(N_{c}^{n_{q}}\) numbers of updated \(\phantom {\dot {i}\!}\textbf {y}_{\text {sr}_{l}}(i)\) are generated, we reorder the remaining users at each cancellation stage and compute a conventional SIC with RAKE receivers for each branch.

\(\textbf {s}_{\text {pre}}(i)=[\hat {b}_{\textbf {t}_{a}(1)}(i),\hat {b}_{\textbf {t}_{a}(2)}(i),\ldots ]^{T}\) stands for the previous stages detected reliable symbols,

\(\textbf {s}_{p}(i)=[\hat {b}_{\textbf {t}_{p}(1)}(i), \hat {b}_{\textbf {t}_{p}(2)}(i),\ldots,\hat {b}_{\textbf {t}_{p}(n_{p})}(i)]^{T}\) is a n _{ p }×1 vector that denotes the current stage reliable symbols detected directly from slicer Q(·) when (13) occurs,

\(\textbf {s}^{j}_{q}(i)=[c_{\textbf {t}_{q}(1)}^{m},c_{\textbf {t}_{q}(2)}^{m},\ldots,c_{\textbf {t}_{q}(n_{q})}^{m}]^{T}, j\in [1,2,\ldots,N_{c}^{n_{q}}]\) is a n _{ q }×1 vector that contains the detected symbols deemed unreliable at the current stage as in (14), each entry of this vector is allocated a value from the constellation point set C; therefore, since each entry goes through all possible constellation points, with n _{ q } users contained in \(\textbf {s}^{j}_{q}(i)\), \(N_{c}^{n_{q}}\) combinations need to be considered and examined. j is the index number from all \(N_{c}^{n_{q}}\) combinations of \(\textbf {s}^{j}_{q}(i)\).

\(\textbf {s}^{j}_{\text {next}}(i)=[\ldots,\hat {b}_{\textbf {t}'(1)}^{\textbf {s}^{j}_{q}}(i),\ldots,\hat {b}_{\textbf {t}'(n)}^{\textbf {s}^{j}_{q}}(i)]^{T}\) includes the corresponding detected symbols in the following stages after the jth combination of s _{ q }(i) is allocated to the unreliable user vector t _{ q },

t ^{′} is a n×1 vector that contains the users from the last stage.
Similarly, (12) is then applied and a conventional SIC with different orderings at each cancellation stage is performed via each branch.

\(\textbf {s}_{\text {pre}}(i)=[\hat {b}_{\textbf {t}_{a}(1)}(i),\hat {b}_{\textbf {t}_{a}(2)}(i),\ldots ]^{T}\) are the reliable symbols that are detected from previous stages,

\(\textbf {s}_{b}^{j}(i)=[c_{\textbf {t}_{b}(1)}^{m},c_{\textbf {t}_{b}(2)}^{m},\ldots,c_{\textbf {t}_{b}(n)}^{m}]^{T}, j\in [1,2,\ldots,{N_{c}^{n}}]\) is a n×1 vector that represents the number of users n which are regarded as unreliable at the current stage as shown by (18), each entry of \(\textbf {s}_{b}^{j}\) is assigned a value from the constellation point set C.

The vector \(\textbf {s}^{j}_{\text {next}}(i)=[\ldots,\hat {b}_{\textbf {t}'(1)}^{\textbf {s}_{b}^{j}}(i),\ldots,\hat {b}_{\textbf {t}'(n)}^{\textbf {s}_{b}^{j}}(i)]^{T}\) contains the corresponding detected symbols in the following stages after the jth combination of s _{ b }(i) is allocated to all unreliable users.
where \(\textbf {H}_{\text {sr}_{l}}(i)= \left [\begin {array}{c c c c} \boldsymbol {h}_{\text {sr}_{l},1} & \ \ \boldsymbol {h}_{\text {sr}_{l},2} &\ldots & \ \ \boldsymbol {h}_{\text {sr}_{l},K} \end {array}\right ]\) is an M×K channel matrix for all users from the source to the lth relay, \(\boldsymbol {h}_{\text {sr}_{l},k}=a_{\text {sr}_{l}}^{k}\textbf {S}_{k}(i)\textbf {h}_{\text {sr}_{l},k}(i)\) denotes a M×1 vector for user k from the source to the lth relay.
Clearly, GLSIC is a SIC receiver that is split at stage s into \(N_{c}^{n_{q}}\) parallel SIC receivers (branches) where s is the first stage having unreliable users. The best branch is decided at the end using the ML criterion (minimum residual energy). The optimum performance occurs when we examine the reliability for all users. However, in this work, once unreliable users are detected at stage s, for the following s+1, s+2,…, K/n stages, we process users directly through the conventional SIC detector to avoid further split of the detection tree as this would bring high complexity when large number of users are considered. Nevertheless, the performance gain can be compensated when increasing the number of users n that we considered per each stage.
The proposed GLSIC algorithm is detailed in Algorithm 1.
3.2 GLSIC with multibranch processing

\(\textbf {O}_{l_{1}}=[K,1,2,\ldots,K2,K1]\),

\(\textbf {O}_{l_{2}}=[K1,K,1,\ldots,K3,K2]\),

⋮

\(\textbf {O}_{l_{K1}}=[2,3,4,\ldots,K,1]\),

\(\textbf {O}_{l_{K}}=[K,K1,K2,\ldots,2,1]\)(reverse order).
 1.Obtain the best candidate branch \(\textbf {b}^{O_{l_{\text {base}}}}(i)\) among all K+1 (O included) parallel branches according to the ML rule:$$ \textbf{b}^{O_{l_{\text{base}}}}(i)= {\text{arg}} \min_{\substack{0\leq b\leq K}}\parallel \textbf{y}_{\text{sr}_{l}}(i)\textbf{H}_{\text{sr}_{l}}\textbf{b}^{O_{l_{b}}}(i)\parallel^{2} $$(22)
 2.
Reexamine the detected symbol for user k (k=1,2,…,K) by fixing the detected results of all other unexamined users in \(\textbf {b}^{O_{l_{\text {base}}}}(i)\).
 3.
Replace the kth user’s detection result \(\hat b_{k}\) in \(\textbf {b}^{O_{l_{\text {base}}}}(i)\) by its corresponding detected values from all other K branches \(\textbf {b}^{O_{l_{b}}}(i)\), \((l_{b}\neq l_{\text {base}}, \textbf {O}=\textbf {O}_{l_{0}})\phantom {\dot {i}\!}\) with the same index, the combination with the minimum Euclidean distance is selected through the ML rule and the improved estimate of user k is saved and kept.
 4.
The same process is then repeated with the next user in \(\textbf {b}^{O_{l_{\text {base}}}}(i)\) until all users in \(\textbf {b}^{O_{l_{\text {base}}}}(i)\) are examined.
The proposed modified ML selection technique is shown in Algorithm 2.
4 Proposed GLPIC multiuser detection
As shown in Fig. 2, for the kth user, the reliability of its soft estimates is determined by the Euclidean distance between u _{ k }(i) and its nearest constellation points c.
where \(\hat {b}_{\textbf {t}_{a}(t)}(i)\) denotes the detected symbol for the t _{ a }(t)th user.
where \(\textbf {t}_{p}\cap \textbf {t}_{q}=\varnothing \) and t _{ p }∪t _{ q }=t _{ b }.

\(\textbf {s}_{a} \ = \ [\hat {b}_{\textbf {t}_{a}(1)},\hat {b}_{\textbf {t}_{a}(2)},\ldots,\hat {b}_{\textbf {t}_{a}(n_{a})}]^{T}\) is a n _{ a }×1 vector that contains the detected values for the n _{ a } reliable users,

\(\textbf {s}_{p}=[\hat {b}_{\textbf {t}_{p}(1)},\hat {b}_{\textbf {t}_{p}(2)},\ldots,\hat {b}_{\textbf {t}_{p}(n_{p})}]^{T}\) is a n _{ p }×1 vector that represents n _{ p } unreliable users that are detected by the slicer Q(·) directly,

\(\textbf {s}^{j}_{q}=[c_{\textbf {t}_{q}(1)}^{m},c_{\textbf {t}_{q}(2)}^{m},\ldots,c_{\textbf {t}_{q}(n_{q})}^{m}]^{T}\) is a n _{ q }×1 tentative candidate combination vector. Each entry of the vector is allocated a value from the constellation point set C, and all possible \(N_{c}^{n_{q}}\) combinations need to be considered and examined.
The tradeoff between performance and complexity is highly related to the modulation type and the number (n _{ q }) of users we choose from t _{ b }. Additionally, the threshold we set at the initial stage is also a key factor that could affect the quality of detection.
where \(\hat {b}_{j}^{\text {opt}}=\hat {b}_{j}^{(i1)}\) denotes the detected symbol for user j that is used as the input (i=2) for the first PIC iteration, \(\hat {b}_{k}^{i}\) denotes the detected value for user k at the ith PIC iteration, \(\phantom {\dot {i}\!}\textbf {H}_{\text {sr}_{l},j}\) stands for the channel matrices for the jth user from the source to the lth relay, \(\textbf {w}_{\text {sr}_{l},k}^{H}\) represents the RAKE receiver for user k from the source to the lth relay, and \(\hat {b}_{j}^{i1}\) is the detected value for user j that comes from the (i−1)th PIC iteration. Normally, the conventional PIC is performed in a multiiteration way, where for each iteration, PIC simultaneously subtracts off the interference for each user produced by the remaining ones. The MAI generated by other users is reconstructed based on the tentative decisions from the previous iteration. Therefore, the accuracy of the first iteration would highly affect the PIC performance as error propagation occurs when incorrect information imports. In this case, with the help of the GLPIC algorithm, the detection performance is improved. The key novelty is that GLPIC employs more reliable estimates by exploiting prior knowledge of the constellation points. The proposed GLPIC algorithm is detailed in Algorithm 3.
5 Proposed greedy multirelay selection method
where q represents the index number for an arbitrary user, Ω _{ r } denotes a possible combination set (r≤L(L+1)/2) of any number of selected relays, \({\mathrm {{SINR}_{\Omega _{r(q)}}}}\) represents the SINR for user q in set Ω _{ r }, and min \(({\mathrm {{SINR}_{\Omega _{r(q)}}}}) = {\mathrm {{SINR}_{\Omega _{r}}}}\) means that the SINR for relay set Ω _{ r } is equal to the minimum SINR for a single user in set Ω _{ r }. Ω _{best} is the best relay set that provides the highest SINR.
Clearly, we can also consider the SINR for different relay combinations after applying convention SIC, conventional PIC, linear MMSE, or even the proposed detectors. However, RAKE receiver can bring the lowest complexity.
5.1 Standard greedy relay selection algorithm
and move to the third stage by removing the current poorest link and repeating the above process. The algorithm stops either when S I N R _{ cur }<S I N R _{ pre } or when there is only one relay left. The selection is performed once at the beginning of each packet transmission.
5.2 Proposed greedy relay selection algorithm
 1.
Initially, a set Ω _{ A } that includes all L relays is generated and its corresponding SINR is calculated, denoted by S I N R _{ pre }.
 2.
For the second stage, we calculate the SINR for L combination sets with each dropping one of the relays from Ω _{ A }. After that, we choose the combination set with the highest SINR for this stage, recorded as S I N R _{ cur }.
 3.
Compare S I N R _{ cur } with the previous stage S I N R _{ pre }, if (36) is true, we save this corresponding relay combination as Ω _{cur} at this stage. Meanwhile, we update the S I N R _{ pre } as in (37).
 4.
After moving to the third stage, we drop relays in turn again from Ω _{cur} obtained in stage two. L−1 new combination sets are generated, we then select the set with the highest SINR and repeat the above process in the following stages until either S I N R _{ cur }<S I N R _{ pre } or there is only one relay left.
This proposed greedy selection method considers the combination effect of the channel condition so that additional useful sets are examined. When compared with the standard greedy relay selection method, the previous stage decision is more accurate and the global optimum can be approached more closely. Furthermore, its complexity is less than L(L+1)/2, which is much lower than the exhaustive search. Similarly, the whole process is performed only once before each packet and only needs to be repeated when the channels change. The proposed greedy multirelay selection algorithm is depicted in Algorithm 4.
Finally, it should also be noticed that relay selection can be also operated at the sourcerelay part as this is a twophase process. However, in the current manuscript, we only consider the relay selection that occurs during the relaydestination links for the purpose of simplicity.
6 Analysis of the proposed algorithms
In this section, we analyze the computational complexity required by the proposed and existing interference cancellation algorithms and the proposed greedy relay selection method.
6.1 Computational complexity

Total number of users K.

The number of multipath channel components L _{ p }.

The number of constellation points N _{ c } that correspond to the modulation type.

The parameter M which corresponds to the length of the receive filters, where M=N+L _{ p }−1 and N is the spreading gain.
Specifically, in the GLSIC algorithm, n refers to the number of users we considered per each stage, and in the GLPIC algorithm, n _{ q } represents the number of unreliable users that need to be reexamined in the second processing stage. The required flops are considered both in the case of real and complex matrix operations. It is worth noting that, in real arithmetic, a multiplication followed by an addition requires two flops while for the complex numbers, eight flops are required when an addition is executed after a multiplication. As a result, it can be approximated that the complexity of a complex matrix multiplication is four times of its real counterpart.
Computational complexity of existing and proposed MUD algorithms
Algorithms  Computational complexity (flops) 

Matched filter  \(M(4{L_{p}^{2}}+4{KL}_{p}2L_{p}+6K)2K\) 
Conventional SIC  \(M(4{L_{p}^{2}}+4{KL}_{p}2L_{p} +18K12)4K+2\) 
Conventional PIC  \(M(4{L_{p}^{2}}+4{KL}_{p}2L_{p}+10K+4K^{2})4K\) 
Linear MMSE receiver  \(8M^{3}+M^{2}(16K8)+M(4{L_{p}^{2}}+4{KL}_{p}2L_{p}+4K+4)2K\) 
Proposed GLSIC  \(M(4{L_{p}^{2}}+4{KL}_{p}2L_{p}+6K) 2K+{N_{c}^{n}}(20MK8Mn+4M2K+2n2) \) 
Proposed GLPIC  \(M(4{L_{p}^{2}}+4{KL}_{p}2L_{p} +10K+4K^{2})4K+N_{c}^{n_{q}}(8MK+8M2)\) 
Standard likelihood (ML) detector  \(M(4{L_{p}^{2}}+4{KL}_{p}2L_{p}2K)+{N_{c}^{K}}(8MK+8M2)\) 
For each case shown in Table 1, the upper bound of the complexity is given by the standard ML detector, where it explores all possible combinations of the detected results and chooses the one with the minimum Euclidean distance. However, when a large number of users need to be considered, an exponential complexity growth would limit its application in practical utilization. In contrast, with careful control of the number of unreliable users n and n _{ q } being reexamined in both proposed algorithms, a substantial complexity saving is achieved. Additionally, our proposed greedy listbased algorithms offer a clear complexity advantage over the linear MMSE receiver as they adopt the RAKE receiver as the frontend, so that the cubic complexity can be avoided. Another feature to highlight is that although our proposed algorithms have a complexity slightly higher than the matched filter, the conventional SIC, and the conventional PIC, they exhibit significant performance gains over existing techniques.
6.2 Greedy relay selection analysis
In fact, the idea behind the proposed algorithm is to choose relay combinations in a greedy fashion. At each stage, we select the set of relays with the highest SINR and the previous stage result always affects the following stage set of relays candidates. Then, we subtract off the contribution brought by each of the remaining relays and iterate on the residual. After several stages, the algorithm is able to identify the optimum relay set. To this end, we propose the following proposition.
Proposition.
Proof.
7 Proposed crosslayer design
In this section, we present and analyze a crosslayer design strategy that combines the proposed MUD techniques with the proposed greedy multirelay selection algorithm for the uplink of the cooperative DSCDMA networks. This approach jointly considers the performance optimization across different layers of the network, since inappropriate data detection and estimation that are executed at the lower physical layer can spread incorrect information to the data and link layer where relay selection strategy performs, causing the loss of useful information and degradation of the overall system performance. In this case, when improved data detection is obtained at the physical layer, together with an effective relay selection, a better system performance can be achieved.
As stated in previous sections, the system operates in two phases, where for the first phase, the proposed MUD techniques are applied and processed at each of the relays with a DF protocol; after the detection process, the proposed greedy multirelay selection algorithm is then performed to seek the optimum relay combination. In the second phase, the chosen relays take part in the transmission in order to forward the information to the destination. After all the data are received at the destination, the proposed MUD algorithms are applied to recover the transmitted data.
where b ^{ j } stands for the jth candidate list generated after applying the GLSIC/GLPIC algorithms at the destination, s denotes stage index in the relay selection process, Ω ^{ s } represents the selected relay combination at the stage s, \({\text {SINR}}_{\Omega _{i(k)}^{s}}\) is the SINR for the kth user in the ith relay combination at stage s, and Ω ^{opt} is the optimum relay combination obtained through the proposed greedy relay selection method. The crosslayer optimization in (38) is a nonconvex optimization problem due to the discrete nature of the joint detection and relay selection problems. We propose to solve it in two stages using the proposed greedy detection and relay selection algorithms.

The accuracy of \(\hat {b}_{r_{l}d,k}\) directly controls the regenerated signals y _{rd} received at the destination via the physical layer as can be verified from (4); hence, it further affects the decisions \(\hat {b}_{k}\) made at the end as (5) computes.

Improper detection of \(\hat {b}_{r_{l}d,k}\) can cause the error propagation spreads in the second phase.
Consequently, in the second phase, the proposed greedy relay selection strategy is performed at the data and link layer; the selection takes into account the physical layer characteristics as appropriate detection result coming from the lower physical layer can prevent error propagation spreading into the upper data and link layer. In contrast, it also considers the features of the channel combinations so that poor channels can be avoided.
The proposed crosslayer design is detailed in Algorithm 5.
8 Simulations
In this section, a simulation study of the proposed multiuser detectors and the lowcost greedy multirelay selection method is carried out. The DSCDMA network uses randomly generated spreading codes of length N=32 and N=16; it also employs L _{ p }=3 independent paths with the power profile [0,−3,−6 dB] for the transmission link. The corresponding channel coefficients are taken as complex Gaussian variables and normalized to ensure the average power is unity over the packet. Note that due to fading, there are variations over the transmission but we employ the total average power to set the signaltonoise ratio (SNR). We assume perfectly known channels at the receiver. Equal power allocation is employed during the transmission. The grey area in the GLSIC and GLPIC algorithm is determined by the threshold where d _{th}=0.25. We consider packets with 1000 BPSK symbols and average the curves over 300 trials. For the purpose of simplicity, n=2 users are considered in the GLSIC scheme at each stage and for the GLPIC strategy, a threeiteration PIC process is adopted. The SNR is defined as \({\text {SNR}}={\sigma _{b}^{2}} / \sigma ^{2}\), where \({\sigma _{b}^{2}}\) corresponds to the signal power and σ ^{2} is the noise power. The following simulations are compared and analyzed in both noncooperative and cooperative scenarios.
In conclusion, in every scenario, the proposed SIC and PIC algorithms perform better than the standard SIC or PIC. In the literatures, a method of standard SIC receivers with forward error coding (FEC) has been introduced and can perform very well. However, it has also been showed that without FEC, standard SIC receivers can show performance degradation in certain situations (low SNR, highly loaded systems, etc.). As a result, the proposed SIC and PIC receivers have the advantage of considering lists of potential candidates for detection, which can significantly improve the performance as compared to standard SIC/PIC receivers. We have limited our studies to uncoded scenarios but we acknowledge that the performance of GLSIC and GLPIC can be further improved with FEC.
9 Conclusions
In this work, we have presented the GLSIC and GLPIC interference cancellation algorithms, which can approach the ML performance at a much lower cost than competing techniques. We have also proposed a greedy multirelay selection algorithms that outperforms existing greedy algorithms and obtains a performance close to an exhaustive search. A novel crosslayer design strategy that incorporates GLSIC or GLPIC, and a greedy multirelay selection algorithm for the uplink of cooperative DSCDMA systems has been also presented. This approach effectively reduces the error propagation generated at the relays, avoiding the poorest relaydestination link while requiring a low complexity. Simulation results demonstrate that the performance of the proposed crosslayer design is superior to existing techniques, can approach an interferencefree scenario, and be applied to other wireless systems.
Declarations
Acknowledgements
This work is funded by the ESII consortium under task 26 for lowcost wireless ad hoc and sensor networks.
Part of this work has been presented at the European Signal Processing Conference (EUSIPCO), 2014 and the International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2014, respectively.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License(http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 JG Proakis, Digital communications, 4th edn (McGrawHill, Inc, New York, 2011).Google Scholar
 A Sendonaris, E Erkip, B Aazhang, User cooperation diversity—parts I and II. IEEE Trans. Commun.51(11), 1927–1948 (2003).View ArticleGoogle Scholar
 L Venturino, X Wang, M Lops, Multiuser detection for cooperative networks and performance analysis. IEEE Trans. Signal Process.54(9), 3315–3329 (2006).View ArticleGoogle Scholar
 JN Laneman, GW Wornell, Cooperative diversity in wireless networks: efficient protocols and outage behaviour. IEEE Trans. Inf. Theory. 50(12), 3062–3080 (2004).View ArticleMathSciNetMATHGoogle Scholar
 L Bai, L Zhao, Z Liao, A novel cooperation scheme in wireless sensor networks. IEEE Wirel. Commun. Netw. Conf., 1889–1893 (2008).Google Scholar
 MR Souryal, BR Vojcic, RL Pickholtz, Adaptive modulation in ad hoc DS/CDMA packet radio networks. IEEE Trans. Commun.54(4), 714–725 (2006).View ArticleGoogle Scholar
 M Levorato, S Tomasin, M Zorzi, Cooperative spatial multiplexing for ad hoc networks with hybrid ARQ: system design and performance analysis. IEEE Trans. Commun.56(9), 1545–1555 (2008).View ArticleGoogle Scholar
 S Verdu, Multiuser detection (Cambridge, New York, 1998).MATHGoogle Scholar
 S Verdu, Minimum probability of error for asynchronous gaussian multipleaccess channels. IEEE Trans. Inform. Theory. IT32(1), 85–96 (1986).View ArticleMathSciNetGoogle Scholar
 R Lupas, S Verdu, Linear multiuser detectors for synchronous codedivision multipleaccess channels. IEEE Trans. Inform. Theory. 35(1), 123–136 (1989).View ArticleMathSciNetMATHGoogle Scholar
 P Patel, J Holtzman, Analysis of a simple successive interference cancellation scheme in DS/CDMA systems. IEEE J. Select. Areas Commun.12(5), 796–807 (1994).View ArticleGoogle Scholar
 MK Varanasi, B Aazhang, Multistage detection in asynchronous codedivision multipleaccess communications. IEEE Trans. Commun.38(4), 509–519 (1990).View ArticleGoogle Scholar
 RC de Lamare, R SampaioNeto, Minimum meansquared error iterative successive parallel arbitrated decision feedback detectors for DSCDMA systems. IEEE Trans. Commun.56(5), 778–789 (2008).View ArticleMathSciNetGoogle Scholar
 Y Jing, H Jafarkhani, Single and multiple relay selection schemes and their achievable diversity orders. IEEE Trans. Wireless Commun.8(3), 1084–1098 (2009).View ArticleGoogle Scholar
 P Clarke, RC de Lamare, Transmit diversity and relay selection algorithms for multirelay cooperative MIMO systems. IEEE Trans. Veh. Technol. 61(3), 1084–1098 (2012).View ArticleGoogle Scholar
 M Ding, S Liu, H Luo, W Chen, MMSE based greedy antenna selection scheme for AF MIMO relay systems. IEEE Signal Process. Lett. 17(5), 433–436 (2010).View ArticleGoogle Scholar
 S Song, W Chen, MMSE based greedy eigenmode selection for AF MIMO relay channels. IEEE Globecom, 3628–3632 (2012).Google Scholar
 S Talwar, Y Jing, S Shahbazpanahi, Joint relay selection and power allocation for twoway relay networks. IEEE Signal Process. Lett. 18(2), 91–94 (2011).View ArticleGoogle Scholar
 J Tropp, Greedy is good: algorithmic results for sparse approximation. IEEE Trans. Inf. Theory. 50(10), 2231–2242 (2004).View ArticleMathSciNetMATHGoogle Scholar
 R Flury, SV Pemmaraju, R Wattenhofer, Greedy routing with bounded stretch. IEEE Infocom, 1737–1745 (2009).Google Scholar
 Y Jia, E Yang, D He, S Chan, A greedy renormalization method for arithmetic coding. IEEE Trans. Commun.55(8), 1494–503 (2007).View ArticleGoogle Scholar
 RC de Lamare, Joint iterative power allocation and linear interference suppression algorithms for cooperative DSCDMA networks. IET Commun.6(13), 1930–1942 (2012).View ArticleGoogle Scholar
 W Chen, L Dai, KB Letaief, Z Cao, A unified crosslayer framework for resource allocation in cooperative networks. IEEE Trans. Wirel. Commun.7(8), 3000–3012 (2008).View ArticleGoogle Scholar
 Y Cao, B Vojcic, in IEEE Wirel. Commun. Netw. Conf. MMSE multiuser detection for cooperative diversity CDMA systems, (2004), pp. 42–47.Google Scholar
 P Li, RC de Lamare, Multiple feedback successive interference cancellation detection for multiuser MIMO systems. IEEE Trans. Wirel. Commun.10(8), 2434–2439 (2011).View ArticleGoogle Scholar
 P Li, RC de Lamare, R Fa, Multifeedback successive interference cancellation with multibranch processing for MIMO systems. Veh. Technol. Conf. VTC Spring, 1–5 (2011).Google Scholar