# Belief propagation-based joint iterative algorithm for detection and decoding in asynchronous CDMA satellite systems

- Na Gu
^{1}Email author, - Sheng Wu
^{1}, - Linling Kuang
^{2}, - Zuyao Ni
^{3}and - Jianhua Lu
^{1}

**2013**:234

https://doi.org/10.1186/1687-1499-2013-234

© Gu et al.; licensee Springer. 2013

**Received: **14 June 2013

**Accepted: **17 September 2013

**Published: **23 September 2013

## Abstract

As the geostationary orbit (GEO) is congested in the commercial Ku band, the adjacent satellites will receive the interference from small aperture terminals which have a wide field of view. To reduce the interference toward the adjacent satellites, code division multiple access (CDMA) with spread spectrum needs to be adopted in the satellite communications on-the-move system. However, the mutual interference between CDMA users leads to the performance loss, which is not acceptable for the power-sensitive small aperture terminals, and the computation complexity is still an intractable problem when the conventional iterative minimum mean square error (MMSE) scheme is employed to suppress the multiple access interference (MAI) in satellite systems especially that is coded by low-density parity-check (LDPC) code. Moreover, the long transmission delays of different users caused by the long transmission distance require the robustness of the interference suppression for the asynchronous case. In this paper, a joint chip-level algorithm for CDMA multiuser detection and LDPC decoding with a new and simple iterative structure based on belief propagation (BP) for satellite systems is developed, which integrates the iterations of multiuser detection and the iterations of LDPC decoding with factor graphs. Through analysis and simulations, it is verified that the proposed algorithm is robust to the asynchronous CDMA satellite system, and with the similar iterative complexity, the performance of the proposed algorithm outperforms that of the conventional iterative MMSE scheme in the asynchronous CDMA satellite system.

## Keywords

## 1 Introduction

Currently, the geostationary orbit (GEO) is extremely congested in the commercial Ku band with only a 2° spacing between the satellites. Small aperture terminals have a wide field of view and consequently will transmit a significant amount of power toward adjacent satellites, causing the interference at these satellites to increase, which is a main constraint for the development of the satellite communications on-the-move system. In order to limit the interference to neighboring satellites, International Telecommunication Union (ITU) has imposed strict limits on the off-axis emissions from the satellite terminal [1]. As the current satellite communications on-the-move systems are always developed on the higher frequency bands, e.g., Ku and Ka bands, which also provide larger bandwidth. Code division multiple access (CDMA) with spread spectrum is a necessary choice to reduce the interference toward the adjacent satellites. However, the multiuser CDMA system is always interference-limited, and the transmit power of the terminal needs to be increased for higher performance, which leads to the increase of the interference. This is also not acceptable for the power-sensitive small aperture terminals. Moreover, the transmission distance is always very long in satellite systems, which causes different and long transmission delays of different CDMA users. In the satellite communication system, the maximum transmission delay may be several milliseconds. Just as the assumption in [2], the inter-symbol interference (ISI) is always not considered in the CDMA satellite system, in which the power of the main path is much higher than that of the multipath components. Therefore, the satellite communications on-the-move system with CDMA can be seen as a typical asynchronous CDMA system with the transmission delays which are the integer multiples of chip, in which the orthogonality of different CDMA users’ spreading codes is destroyed and the robustness of the interference suppression for the asynchronous case is necessary.

In order to suppress the multiple access interference (MAI) in CDMA systems, multiuser detection (MUD) needs to be adopted. An important class of the practical multiuser detectors is based on linear detection, for instance, decorrelator (a.k.a. zero-forcing equalizer), linear minimum mean square error (MMSE) detector, and so on [3, 4]. In [5–7], an iterative MMSE detection algorithm for the coded CDMA system was presented, which feeds the extrinsic information of the decoder back to the iterative MMSE detector. Thus, a turbo processing framework for iterative detection and decoding was derived. In recent years, a more in-depth review about turbo equalization was given in [8]. However, when iterative decoding is adopted, the total latency of the decoder and detection increases with the iterative times of the detection, which means more computation complexity and more processing time, increasing the difficulty of engineering implementation. The belief propagation (BP)-based algorithms [9–11] are known as another class of promising approaches to detection, which were recently used in MIMO and ISI channels [12, 13]. For direct-spread CDMA systems, Kabashima [14] has introduced a tractable BP-based multiuser detection algorithm, which can be operated in a practical time scale by utilizing the central limit theorem. In [15] and [16], Montanari and Tse analyzed the performance of the BP-based CDMA detection and proved that the multiuser detection algorithm based on BP is asymptotically optimal for sparse CDMA systems with Gaussian noise. An extended analysis in [17] shows that the optimality of BP-based detection in the large-system limit is a unique advantage of sparsely spread CDMA systems, which is in contrast to the wisdom for low-density parity-check (LDPC) codes and the success of iterative decoding techniques. Also, some theoretical conclusions about the CDMA channel are obtained. However, in these studies, the BP-based CDMA iterative detection and the iterative decoding are recognized as two individual modules. Even for the joint processing, they are jointly processed only through the extrinsic information from the decoder just as the conventional joint detection and decoding structure, e.g, the iterative MMSE scheme [8] which is verified to be optimal. The iterative complexity of this conventional joint structure is still an intractable problem. Moreover, in the conventional iterative MMSE scheme, only the extrinsic information from the decoder without that from the previous iteration of the detection is employed to update the probabilistic information for detection, which induces the performance loss of joint detection and decoding.

In this paper, a joint chip-level iterative algorithm for the asynchronous LDPC-coded CDMA satellite system is proposed. Currently, LDPC codes are widely adopted [18, 19] in middle-rate (e.g., 1 Mbps) satellite communications on-the-move systems. LDPC code can easily be cast into factor graphs, and these factor graphs turn out to have cycles, leading to iterative decoding algorithms. In order to utilize the iterative structure of the LDPC decoder, we construct a global factor graph with only a global iteration, which naturally integrates the iterations of LDPC decoding and the iterations of BP-based detection.

The internal iterations of the LDPC decoder are proposed to be incorporated into the global iterations of the BP-based detector, which means the iterations of decoding are performed along with the iterative detection rather than independently performed. The modification on the iterative structure effectively simplifies the iterative structure and reduces the total iterative complexity, which is the most significant difference compared with the joint structure in [8] and [17]. By appropriately introducing the central limit theorem, the computation complexity of the derived algorithm is proportional to the square of the number of users. Furthermore, the messages of the previous detection iteration from the other users are also adopted in the message updating based on BP during every global iteration, which are more accurate about the semantics of the factor graph compared with that in [8], leading to the performance gain. It is verified that the proposed algorithm can achieve an attractive performance compared with the conventional joint detection and decoding scheme based on turbo iterative structure [8]. Practically, the satellite CDMA systems are always asynchronous due to the long transmission delays. Therefore, in this paper, through analysis and simulation, it is verified that the proposed algorithm is also robust to the asynchronous CDMA satellite system.

The rest of this paper is structured as follows: In Section 2, a system model for the asynchronous satellite CDMA system is formulated. In Section 3, the joint iterative algorithm for CDMA multiuser detection and LDPC decoding is investigated. In Section 4, the bit error rate (BER) performance is evaluated through numerical simulations and compared with that of the conventional iterative MMSE algorithm [8]. Finally, conclusions are given in Section 5.

### 1.1 Notations

Lowercase letters (e.g., *x*) denote scalars, bold lowercase letters (e.g., **x**) denote column vectors, and bold uppercase letters (e.g., **X**) denote matrices. The superscript *T* and *‡* denote the transpose operation and conjugate transpose operation, respectively. The symbol **I** denotes an identity matrix.

## 2 System description

*K*users. Each user’s signal is spreaded by random binary spreading sequences or gold sequences with different transmission delays. The spreading factor is

*N*. The transmitted signal of the

*k*th user at the chip rate in a baseband discrete time model representation is

*k*denotes the user index,

*g*

_{ k }[

*n*] represents the effective signature sequence of user

*k*, and 0≤

*d*

_{ k }<

*N*is the transmission delay (mod

*N*) of user

*k*in chip periods. $\left\{{\stackrel{~}{x}}_{k}\left[l\right]\right\}$ is the BPSK mapped symbols of the

*k*th user from a finite set of alphabets {±1}, which is obtained by mapping the interleaved LDPC-encoded symbols $\left\{{\stackrel{~}{c}}_{k}\left[l\right]\right\}$ to BPSK symbols. As is shown in Figure 1, the input signal of LDPC encoder, which is called the information bits, is marked as {

*b*

_{ k }[

*t*];

*t*=1,2,…,

*T*}, where

*T*is the number of information bits per user per frame. Also, the output of the LDPC encoder, which is called the coded symbols, is marked as {

*c*

_{ k }[

*l*];

*l*=1,2,…,

*L*}, where

*L*is the number of symbols per user per frame after LDPC is encoded.

*s*

_{ k }[ 1],

*s*

_{ k }[ 2],…,

*s*

_{ k }[

*L*

_{ c }];

*s*

_{ k }[

*m*]=±1} is the preassigned spreading code of the

*k*th user;

*L*

_{ c }is the code length. As the spreading factor is

*N*, there are

*N*chips per symbol. The signature waveform of the

*k*th user is defined as

where {*h*_{
k
}[ *n*]} denotes the effective channel impulse response (IR) between the users and the receiver sampled at the chip interval.

*K*users with an additive white Gaussian noise. In this paper, firstly, we assume that the signal power of each user is completely controlled at equal energy and then we extend the simulation to distributed power constraints. In the perfect power control case, the received signal is

where *ω*[ *n*] is an additive Gaussian noise with zero mean and the variance *σ*^{2}.

By now, the received signal *y*[ *n*] in the asynchronous case is given, which is a mixture of different users with different transmission delays. In fact, the synchronous CDMA system can be seen as a special case with the transmission delays *d*_{
k
}=0,(*k*=1,2,…,*K*). In the receiver of the asynchronous case, a timing and synchronization module can be applied to obtain the corresponding propagation delay *d*_{
k
} of the *k* th user, which can only be used for the alignment of the user *k*’s spreading sequence. However, the interferences from the other users are still not aligned with the user *k*’s signal, and the orthogonality of different users’ spreading sequences is destroyed. Therefore, the asynchronization between different users is always established. In order to investigate the robustness of the proposed algorithm in the asynchronous satellite CDMA system, the asynchronous CDMA system model is applied throughout the article.

## 3 Joint iterative algorithm for detection and decoding

In this section, we present the joint chip-level iterative algorithm for CDMA multiuser detection and LDPC decoding. Firstly, the joint probability distribution of the information bits from all users is represented as the factor graph. The messages passed in the joint iterative algorithm are derived. Then, the performance advantage of the proposed algorithm is discussed. Finally, the iterative complexity of the proposed algorithm is compared with that of the conventional MMSE algorithm [8], which is also referred to as the iterative MMSE algorithm in the following discussion.

### 3.1 The factor graph representation of the CDMA system

*K*users may be expressed as

*N*chip intervals after multiplied by each user’s spreading sequence at the satellite, and at the single chip interval, the columns of it can be expressed as

**b**denotes the vector of the corresponding information bits {

*b*

_{ k }[

*t*]}(

*k*=1,2,…,

*K*),

**c**denotes the vector of the corresponding coded symbols {

*c*

_{ k }[

*l*]}(

*k*=1,2,…,

*K*), and $\stackrel{~}{\mathbf{x}}$ denotes the vector of the mapped symbols before spreading $\left\{{\stackrel{~}{\mathbf{x}}}_{k}\left[\phantom{\rule{0.3em}{0ex}}l\right]\right\}(k=1,2,\dots ,K)$. $\mathbf{X}\in {\mathcal{R}}^{K\times N}$ is obtained by only spreading the mapped symbols at the

*l*th interval ${\stackrel{~}{\mathbf{x}}}_{k}\left[\phantom{\rule{0.3em}{0ex}}l\right]$ by the spreading factor

*N*respectively without the effect of multiplying the spreading sequences in the transmitter.

**x**[

*n*] denotes the

*n*th column vector of it, which is expressed as

*K*=2, for simplification, is shown in Figure 2. The four kinds of nodes are discerned in the factor graph as follow.

- 1.
The nodes on the top represent

*p*(*c*_{ i }[*l*]|*b*_{ i }[*t*]),*i*=1,2,…,*K*, the relation between the information bits and coded symbols transmitted from each user.

- 2.
The nodes in the middle represent $p\left({\stackrel{~}{x}}_{i}\right[\phantom{\rule{0.3em}{0ex}}l\left]\left|{c}_{i}\left[\phantom{\rule{0.3em}{0ex}}l\right]\right.\right)$,

*i*=1,2,…,*K*, the relation between the coded symbols and the mapped symbols transmitted from each user before spreading. We will perform the BP algorithm on these nodes to de-map the mapped symbols to the coded symbols or map the coded symbols to the mapped symbols. - 3.
The bottom-second nodes represent $p\left({x}_{i}\right[\phantom{\rule{0.3em}{0ex}}n\left]\left|{\stackrel{~}{x}}_{i}\left[\phantom{\rule{0.3em}{0ex}}l\right]\right.\right)$,

*i*=1,2,…,*K*, the relation between the mapped symbols before spreading and chips after spreading. We will perform the product of every*N*chips’ likelihood probability on this node to complete the accumulation of the despreading after multiplied by each user’s spreading sequence, where*N*is the spreading factor. - 4.
Finally, the bottom-most nodes represent the function $p\left(\stackrel{~}{\mathbf{Y}}|\mathbf{X},\stackrel{~}{\mathbf{H}}\right)$, the relation between the transmitted chips and the received symbols after multiplied by each user’s spreading sequences. Since the satellite channel is assumed memoryless, $p\left(\stackrel{~}{\mathbf{Y}}|\mathbf{X},\stackrel{~}{\mathbf{H}}\right)$ is factored as $\prod _{1\le n\le \mathit{\text{NL}}}p\left(\stackrel{~}{\mathbf{y}}\left[\phantom{\rule{0.3em}{0ex}}n\right]\left|\mathbf{x}\right[\phantom{\rule{0.3em}{0ex}}n],\stackrel{~}{\mathbf{H}}[\phantom{\rule{0.3em}{0ex}}n]\right)$.

*g*

_{i,n}(

**x**[

*n*]), which is the transition probability between ${\stackrel{~}{y}}_{i}\left[\phantom{\rule{0.3em}{0ex}}n\right]$ and

**x**[

*n*] only including the effect of multiplying each user’s spreading sequence in the receiver without cumulation. In the proposed algorithnm, the despreading is performed in two steps: the multiplication and accumulation, instead of the correlation calculation. The cumulation is done to complete the despreading during updating the message from

*x*

_{ i }to ${\stackrel{~}{x}}_{i}$. Here, the transition probability function is expressed as

*x*

_{ j }[

*n*] which incorporates the effect of multiplying the spreading sequences

*s*

_{ i }[

*n*−

*d*

_{ i }] in the receiver with the effective signature sequences from the transmitter for the asynchronous case without the sum over

*n*, expressed as

where *N* is the spreading factor and *h*_{
j
} [ *n*] represents the effective channel IR of the *j* th user. As the satellite channel is always stable, slowly time-varying, and non-multipath, it is always easy to be obtained in the receiver. Therefore, it is assumed to be known in the receiver just as the assumption in [2]. *s*_{
i
} [ *n*] and *s*_{
j
} [ *n*] represent the respective spreading sequences for the *i* th and *j* th users, and *d*_{
i
} and *d*_{
j
} denote the transmission delay (mod *N*) of the user *i* and the user *j*, respectively.

### 3.2 Message passing of the joint iterative algorithm on the factor graph

*x*

_{ i }[

*n*] to the observation node ${\stackrel{~}{y}}_{j}\left[\phantom{\rule{0.3em}{0ex}}n\right]$ at the

*t*th iteration and ${\mu}_{{\stackrel{~}{y}}_{j}\left[n\right]\to {x}_{i}\left[n\right]}^{t}\left({x}_{i}\left[\phantom{\rule{0.3em}{0ex}}n\right]\right)$ denote the message in the opposite direction. Let ${\mu}_{{\stackrel{~}{x}}_{i}\left[l\right]\to {x}_{i}\left[n\right]}^{t}$ denote the message sent from the node before spreading to that after spreading at the

*t*th iteration and ${\mu}_{{x}_{i}\left[l\right]\to {\stackrel{~}{x}}_{i}\left[n\right]}^{t}$ denote the message in the opposite direction. $\mathcal{N}\left(v\right)$ denotes the set of neighbors of a given node

*v*. Thus, the message computations performed at variable and observation nodes are, respectively,

where ${\mu}_{{\stackrel{~}{x}}_{i}\left[l\right]\to {x}_{i}\left[n\right]}^{t}\left({x}_{i}\right[\phantom{\rule{0.3em}{0ex}}n\left]\right)$ is defined by the extrinsic probability mass function (pmf) ${\mu}_{\text{dec}\to {\stackrel{~}{x}}_{i}\left[l\right]}^{t}\left({\stackrel{~}{x}}_{i}\right[\phantom{\rule{0.3em}{0ex}}l\left]\right)$ fed from the decoder.

The extrinsic information from the decoder ${\mu}_{\text{dec}\to {\stackrel{~}{x}}_{i}\left[l\right]}^{t}\left({\stackrel{~}{x}}_{i}\right[\phantom{\rule{0.3em}{0ex}}l\left]\right)$ and the messages obtained at the previous iteration ${\mu}_{{\stackrel{~}{y}}_{j}\left[n\right]\to {x}_{i}\left[n\right]}^{t-1}\left({x}_{i}\right[\phantom{\rule{0.3em}{0ex}}n\left]\right)$ are involved in the computation (9). This is different from the conventional iterative MMSE algorithm [8], in which only the extrinsic information from the decoder is involved. Obviously, the proposed algorithm based on the semantics of the factor graph is more accurate than the conventional algorithm, so the performance of the proposed algorithm should outperform that of the conventional iterative MMSE algorithm, which will be shown by the following simulation.

where ${\text{mean}}_{{\stackrel{~}{y}}_{j}\left[n\right]}^{t}={\stackrel{~}{y}}_{j}\left[\phantom{\rule{0.3em}{0ex}}n\right]-\sum _{p}{\stackrel{~}{h}}_{j,p}\left[\phantom{\rule{0.3em}{0ex}}n\right]{\widehat{m}}_{{x}_{p}\left[n\right]\to {\stackrel{~}{y}}_{j}\left[n\right]}^{t}$ and ${\text{var}}_{{\stackrel{~}{y}}_{j}\left[n\right]}^{t}=\sum _{p}{\left|{\stackrel{~}{h}}_{j,i}\right|}^{2}{\widehat{v}}_{{x}_{p}\left[n\right]\to {\stackrel{~}{y}}_{j}\left[n\right]}^{t}+{\sigma}^{2}$.

*x*

_{ i }[

*n*] at the

*t*th iteration is approximately expressed as

in which the calculation of ${\text{mean}}_{{\stackrel{~}{y}}_{j}\left[n\right]\to {x}_{i}\left[n\right]}^{t}$ and ${\text{var}}_{{\stackrel{~}{y}}_{j}\left[n\right]\to {x}_{i}\left[n\right]}^{t}$ is simple linear operation.

*x*

_{ i }[

*n*] which is shown as follows.

*x*

_{ i }[

*n*]) are usually mapped into the log-likelihood ratios (LLRs); thus, the multiplication in (24) can be turned into summation. For the channel decoding, the message ${\mu}_{{\stackrel{~}{x}}_{i}\left[l\right]\to \text{dec}}^{t}\left({\stackrel{~}{x}}_{i}\left[\phantom{\rule{0.3em}{0ex}}l\right]\right)$ is also finally mapped into the LLRs of the coded symbols that are corresponding to the symbol ${\stackrel{~}{x}}_{i}\left[\phantom{\rule{0.3em}{0ex}}l\right]$.

where ${\chi}_{i}^{1}$ and ${\chi}_{i}^{0}$ denote the subset of all the symbols with the corresponding information bit 1 and 0, respectively. According to the LLRs, the information bits of the *i* th user are decoded, and the extrinsic information for the next iteration ${\mu}_{\text{dec}\to {\stackrel{~}{x}}_{i}\left[l\right]}^{t+1}\left({\stackrel{~}{x}}_{i}\right[\phantom{\rule{0.3em}{0ex}}l\left]\right)$ is fed from the decoder, which is spreaded again yielding ${\mu}_{{\stackrel{~}{x}}_{i}\left[l\right]\to {x}_{i}\left[n\right]}^{t+1}\left({x}_{i}\left[n\right]\right)$ to the variable nodes *x*_{
i
}[*n*].

The BP-based algorithm can be carried out with different schedules due to the presence of cycles in the considered factor graph. The proposed algorithm adopts flooding schedule, which is suitable to be implemented in parallel. The messages are flooded from each node sets as described above, and the flooding scheme requires the least number of computations. Thus, the messages passed in the factor graph are formalized in Algorithm 1, in which in order to utilize the iterative structure of LDPC decoding, we extend the internal iterations in decoder to the global ones described above, namely one internal iteration per global iteration.

### 3.3 Iterative complexity analysis of the joint iterative algorithm

*I*times global iterations are performed, the internal iterations in the LDPC decoder are incorporated into the global ones (Figure 3a), forming one global iteration. Meanwhile, for the iterative MMSE algorithm,

*R*iterations of the LDPC decoder are done during one iteration of the MMSE detection. Totally,

*J*iterations in the iterative MMSE algorithm are performed (Figure 3b). Thus, in order to achieve similar iterations for LDPC decoding, the relationship

*I*=

*R*×

*J*should be established.

In the following, we discuss the computation complexity per iteration about the decoding and detection, respectively.

#### 3.3.1 LDPC decoding

In the proposed algorithm, the iteration of LDPC decoding is performed through the global iteration for detection. In the conventional iterative MMSE algorithm, the iteration for LDPC decoding is done separately. Both algorithms need to compute the extrinsic LLR for each code bit. Thus, the complexity of LDPC decoder per iteration per user can be regarded as the same. For fair comparison, as we discussed about Figure 3, the relationship *I*=*R*×*J* is established, which means the total number of the iterations for LDPC decoding are the same in both algorithms. Thus, considering the iterative times, the total computation complexity of all the iterations for LDPC decoding is still the same in our following comparison.

#### 3.3.2 Multiuser detection

*x*

_{ i }[

*n*]. The difference between the two algorithms is the computation of ${\xi}_{{x}_{i}\left[n\right]}^{t}$ and ${\zeta}_{{x}_{i}\left[n\right]}^{t}$, which only corresponds to the extrinsic mean and variance of

*x*

_{ i }[

*n*] in the iterative MMSE detection algorithm. However, in the proposed algorithm, not only the extrinsic mean and variance but also the messages obtained in the bottom-most nodes at the previous iteration are involved as it is stated above. The computation complexity of one iteration for multiuser detection in the proposed algorithm involves the following:

- 1.
At the observation nodes ${\stackrel{~}{y}}_{j}\left[\phantom{\rule{0.3em}{0ex}}n\right]$, for

*K*users, the calculations of (19) per chip per iteration include the computation of ${\text{mean}}_{{\stackrel{~}{y}}_{j}\left[n\right]\to {x}_{i}\left[n\right]}^{t}$ and ${\text{var}}_{{\stackrel{~}{y}}_{j}\left[n\right]\to {x}_{i}\left[n\right]}^{t}$ expressed by (17) and (18), which needs*O*(*K*^{2}) operations. - 2.
At the variable nodes

*x*_{ i }[*n*], for*K*users, the calculations of (20) per chip per iteration include the computation of ${\xi}_{{x}_{i}\left[n\right]}^{t}$ and ${\zeta}_{{x}_{i}\left[n\right]}^{t}$ expressed by (21) and (22), which also requires*O*(*K*∗(2*K*+1)) operations.

Thus, the computation complexity of the proposed algorithm is *O*(*K*^{2}) for *K* users per chip per iteration. Compared with the iterative MMSE algorithm in Section II-E of [8], which needs *O*(*K*×*K*^{3}) per chip per iteration for *K* users, the proposed algorithm becomes more attractive in CDMA satellite systems with the number of users increasing. From the perspective of iterative times, with the similar iterative times *I*=*R*×*J*, the total complexity of the proposed algorithm is still less than that of the conventional iterative MMSE algorithm.

## 4 Simulation results

In the simulation, we assume that the number of users is *K*=6, and the spreading factor is *N*=16. Thus, for the satellite communications on-the-move system with a middle rate (e.g., 1 Mbps), this means the occupied bandwidth is nearly 20 MHz, and the spectrum density is reduced by about 13 dB. The spreading sequences are derived from gold sequences. The average performance over all users in the asynchronous case is considered. In the simulation, an LDPC encoder of code rate, rate=1/2, was used as the error control code. The LDPC block length was set to be *L*=1,024. We assume that the receiver knows the spreading sequences exactly and each user’s propagation delay can be acquired through the timing and synchronization module. The following simulation is done in the asynchronous case.

*E*

_{ b }/

*N*

_{0}with the increase of the iterative times. When the iterative times increases to more than 30, the performance improvement is quite lower, which means the performance of the proposed algorithm becomes more stable.

*R*=10 and

*J*=2 in the conventional iterative MMSE algorithm, which is shown by the curve (6Users-MMSE(Iter2)-DEC(Iter10)) in Figure 5. For more fair comparison, as it is discussed in Section 3.3, we assume the iterative times of the proposed algorithm

*I*=20, as shown by (6Users-Joint(Iter20)). In Figure 5, the simulation results are also compared with the performance of the single-user case (SU-DEC(Iter20)) in which there are only 20 iterations of LDPC decoder and no detection. In order to compare these two algorithms more specifically, Figure 6 shows the simulation results of the case

*R*=10,

*J*=5,

*I*=50, shown by the curves (6Users-MMSE(Iter5)-DEC(Iter10)),(6Users-Joint(Iter50)), and the case

*R*=25,

*J*=2,

*I*=50, shown by the curves (6Users-MMSE(Iter2)-DEC(Iter25)),(6Users-Joint(Iter50)) which are also compared with the single-user performance (SU-DEC(Iter50)). As we discussed in Section 3.3, in these settings about

*I*,

*J*,and

*R*, the relationship

*I*=

*R*×

*J*is established, which ensures that the total iterative times of decoding are the same in both algorithms. Thus, the computation complexity about LDPC decoding is the same in our comparison, and the total computation complexity of the proposed algorithm is still lower than that of the iterative MMSE algorithm, which is also discussed and compared in Section 3.3.

Figure 5 shows that after a total of 20 iterations, the performance of the proposed algorithm outperforms that of the conventional iterative MMSE algorithm by 2 dB, and the performance is about 0.5 dB away from that of the single-user case. Figure 6 shows that after a total of 50 iterations, the performance of the proposed algorithm outperforms that of the conventional iterative MMSE algorithm by at least 1 dB, and the performance is less than 0.5 dB away from that of the single-user case. When the iterative times are fewer, the performance improvement of the proposed algorithm is more significant. On the other hand, the curve (6Users-Joint(Iter10)) in Figure 5 shows that in order to achieve the similar performance, the proposed algorithm needs less than half of the iterative times compared with the conventional iterative MMSE algorithm.

*E*

_{ b }/

*N*

_{0}, which are shown by the curves (6Users-Joint (3 dB)),(6Users-Joint (3.3 dB)) and (6Users-MMSE (3 dB)),(6Users-MMSE (3.5 dB)), it can be seen that at the same

*E*

_{ b }/

*N*

_{0}, the BER of the proposed algorithm becomes stable after fewer iterations, which means the convergence of the proposed algorithm outperforms that of the conventional iterative MMSE algorithm. The curves (6Users-MMSE (3.8 dB)) and (6Users-MMSE (4 dB)) show that the BER performance of the iterative MMSE algorithm becomes stable at the higher

*E*

_{ b }/

*N*

_{0}after more iterations, and it further indicates that the convergence rate is much lower than the proposed algorithm.

*K*/

*N*=5/8,3/4,and 7/8 when

*N*=16 is simulated, and the results are displayed in Figure 9. It is indicated that when the loading factor is 7/8, which is shown by the curves

*K*=14, the performance of the proposed algorithm fails to converge. Moreover, the BER performance of the proposed algorithm in the case of

*K*/

*N*=1/2,5/8,3/4,and 7/8 is shown in Figure 10. It is also shown that when the loading factor is under 3/4, the performance of the proposed algorithm can converge well. While in the case of the loading factor

*K*/

*N*=7/8 which is higher than 3/4, the BER performance deteriorates. Through Figures 9 and 10, it is concluded that there is a range of the loading factor for the application of the proposed algorithm. For example, in the simulation assumption of

*N*=16, when the loading factor is not higher than 3/4, the proposed algorithm can converge to be stable.

## 5 Conclusion

The main contribution of this paper is the derivation of the joint chip-level iterative algorithm for CDMA multiuser detection and LDPC decoding for the asynchronous satellite communications on-the-move system in which the suppression of the MAI is essential. In particular, we formulate a factor graph over which all information bits from all users are detected and decoded through the joint iteration. In order to utilize the iterative structure of the LDPC decoder, we naturally integrate the internal iteration of the LDPC decoder and the iteration of the CDMA multiuser detection through the factor graph, becoming one global iteration. Additionally, not only the extrinsic information from the decoder but also that from the previous iteration of the detection is employed. The numerical simulations show that the performance of the proposed algorithm outperforms that of the iterative MMSE algorithm at least 1 dB after a total of 50 iterations and approaches the single-user performance by less than 0.5 dB. When the iterative times are fewer, the performance gains of the proposed algorithm become more significant. On the other hand, in order to achieve the similar performance, the proposed algorithm needs less than half of the iterative times compared with the conventional iterative MMSE algorithm, which means a reduction of almost half of the joint detection and decoding latency and lower complexity for CDMA satellite systems, more suitable for engineering implementation.

## Declarations

### Acknowledgements

This work was supported by Co-innovation Laboratory of Aerospace Broadband Network Technology and the National Nature Science Foundation of China under grant numbers 61021001, 61132002.

## Authors’ Affiliations

## References

- Weerackody V, Gonzalez L: Mobile small aperture satellite terminals for military communications.
*Commun. Mag. IEEE*2007, 45(10):70-75.View ArticleGoogle Scholar - Ghotbi M, Soleymani M: Multiuser detection of DS-CDMA signals using partial parallel interference cancellation in satellite communications.
*Selected Areas Commun. IEEE J*2004, 22(3):584-593. 10.1109/JSAC.2004.823442View ArticleGoogle Scholar - Verdú S:
*Multiuser Detection*. Cambridge: Cambridge University Press; 1998.MATHGoogle Scholar - Proakis JG:
*Digital Communications*. New York: McGraw-Hill; 2000.MATHGoogle Scholar - Wang X, Poor H: Iterative (turbo) soft interference cancellation and decoding for coded CDMA.
*Commun. IEEE Trans*1999, 47(7):1046-1061. 10.1109/26.774855View ArticleGoogle Scholar - El Gamal H, Geraniotis E: Iterative multiuser detection for coded CDMA signals in AWGN and fading channels.
*Selected Areas Commun. IEEE J*2000, 18: 30-41.View ArticleGoogle Scholar - Tüchler M, Koetter R: A Singer, Turbo equalization: principles and new results.
*Commun. IEEE Trans*2002, 50(5):754-767. 10.1109/TCOMM.2002.1006557View ArticleGoogle Scholar - Tüchler M: A Singer, Turbo equalization: an overview.
*Inf. Theory, IEEE Trans*2011, 57(2):920-952.View ArticleGoogle Scholar - Pearl J:
*Probabilistic Reasoning in Intelligent Systems: Network of Plausible Inference*. San Francisco: Morgan Kaufmann; 1988.MATHGoogle Scholar - Wymeersch H:
*Iterative Receiver Design*. Cambridge: Cambridge University Press; 2007.View ArticleGoogle Scholar - Guo Q, Ping L: LMMSE turbo equalization based on factor graphs.
*Selected Areas Commun. IEEE J*2008, 26(2):311-319.View ArticleGoogle Scholar - Som P, Datta T, Srinidhi N, Chockalingam A, Rajan B: Low-complexity detection in large-dimension MIMO-ISI channels using graphical models.
*Selected Topics Signal Process. IEEE J*2011, 5(8):1497-1511.View ArticleGoogle Scholar - Colavolpe G, Fertonani D, Piemontese A: SISO detection over linear channels with linear complexity in the number of interferers.
*Selected Topics Signal Process. IEEE J*2011, 5(8):1475-1485.View ArticleGoogle Scholar - Kabashima Y: A CDMA multiuser detection algorithm on the basis of belief propagation.
*J. Phys. A: Math. Gen*2003, 36: 43. 10.1088/0305-4470/36/1/304View ArticleMathSciNetMATHGoogle Scholar - Montanari A, Tse D:
*Analysis of belief propagation for non-linear problems: the example of CDMA (or: how to prove Tanaka’s formula). IEEE Information Theory Workshop, 2006. ITW ’06, Punta del Este, March 2006*. Piscataway: IEEE; 2006.Google Scholar - Montanari A, Tse D, Prabhakar B: Belief propagation-based multi-user detection. In
*Proceedings of the Forty-Third Allerton Conference on Communication, Control, and Computing*. Monticello: ; 28–30 September 2005.Google Scholar - Guo D, Wang CC: Multiuser detection of sparsely spread CDMA.
*Selected Areas Commun. IEEE J*2008, 26(3):421-431.View ArticleGoogle Scholar - Olivier FJ: An LDPC error control strategy for low earth orbit satellite communication link applications. MScEng thesis, University of Stellenbosch, 2009Google Scholar
- Pei Y, Liu C, Feng H, Shi Y: An LDPC-based physical layer solution in satellite interactive system.
*Commun. Comput. Inf. Sci*2011, 163: 425-430. 10.1007/978-3-642-25002-6_60View ArticleGoogle Scholar - Weerackody V, Gonzalez L:
*Performance of satellite communications on the move systems in the presence of antenna pointing errors. IEEE Military Communications Conference, 2006, Washington, DC, October 2006*. Piscataway: IEEE; 2006.Google Scholar - Kschischang F, Frey B, Loeliger HA: Factor graphs and the sum-product algorithm.
*Inf. Theory IEEE Trans*2001, 47(2):498-519. 10.1109/18.910572MathSciNetView ArticleMATHGoogle Scholar - Loeliger J, Dauwels HA, Hu J, Korl S, Ping L, Kschischang F: The factor graph approach to model-based signal processing.
*Proc. IEEE*2007, 95(6):1295-1322.View ArticleGoogle Scholar - McEliece R, MacKay D, Cheng JF: Turbo decoding as an instance of Pearl’s “belief propagation” algorithm.
*Selected Areas Commun. IEEE J*1998, 16(2):140-152. 10.1109/49.661103View ArticleGoogle Scholar - MacKay DJC: Good error-correcting codes based on very sparse matrices.
*IEEE Trans. Inf. Theory*2003, 45(2):399-431.MathSciNetView ArticleMATHGoogle Scholar - Bishop CM:
*Pattern Recognition and Machine Learning*. New York: Springer; 2006.MATHGoogle Scholar - Chen J, Dholakia A, Eleftheriou E, Fossorier M, Hu XY: Reduced-complexity decoding of LDPC codes.
*Commun. IEEE Trans*2005, 53(8):1288-1299. 10.1109/TCOMM.2005.852852View ArticleGoogle Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.