1 Introduction
1.1 Prior and related work
1.2 Contributions
-
We propose a low-cost greedy list-based successive interference cancellation (GL-SIC) multi-user detection method that can be applied at both the relays and the destination of wireless systems.
-
We also develop a low-cost greedy list-based parallel interference cancellation (GL-PIC) strategy which employs RAKE receivers as the front-end and can approach the ML detector performance.
-
We present a low-complexity multi-relay 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 cross-layer design is presented.
-
A cross-layer design that incorporates the optimization of the proposed GL-SIC and GL-PIC techniques, and the improved greedy multi-relay selection algorithm for the uplink of a cooperative DS-CDMA system is developed and evaluated.
2 Cooperative DS-CDMA system model
3 Proposed GL-SIC multi-user detection
3.1 Proposed GL-SIC design
-
\(\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 j-th 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.
-
\(\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 j-th combination of s b (i) is allocated to all unreliable users.
3.2 GL-SIC with multi-branch processing
-
\(\textbf {O}_{l_{1}}=[K,1,2,\ldots,K-2,K-1]\),
-
\(\textbf {O}_{l_{2}}=[K-1,K,1,\ldots,K-3,K-2]\),
-
⋮
-
\(\textbf {O}_{l_{K-1}}=[2,3,4,\ldots,K,1]\),
-
\(\textbf {O}_{l_{K}}=[K,K-1,K-2,\ldots,2,1]\)(reverse order).
4 Proposed GL-PIC multi-user detection
-
\(\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.
5 Proposed greedy multi-relay selection method
5.1 Standard greedy relay selection algorithm
5.2 Proposed greedy relay selection algorithm
6 Analysis of the proposed algorithms
6.1 Computational complexity
-
Total number of users K.
-
The number of multi-path 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.
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} +18K-12)-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}(16K-8)+M(4{L_{p}^{2}}+4{KL}_{p}-2L_{p}+4K+4)-2K\)
|
Proposed GL-SIC |
\(M(4{L_{p}^{2}}+4{KL}_{p}-2L_{p}+6K) -2K+{N_{c}^{n}}(20MK-8Mn+4M-2K+2n-2) \)
|
Proposed GL-PIC |
\(M(4{L_{p}^{2}}+4{KL}_{p}-2L_{p} +10K+4K^{2})-4K+N_{c}^{n_{q}}(8MK+8M-2)\)
|
Standard likelihood (ML) detector |
\(M(4{L_{p}^{2}}+4{KL}_{p}-2L_{p}-2K)+{N_{c}^{K}}(8MK+8M-2)\)
|
6.2 Greedy relay selection analysis
7 Proposed cross-layer design
-
Improper detection of \(\hat {b}_{r_{l}d,k}\) can cause the error propagation spreads in the second phase.