 Research
 Open Access
 Published:
Bufferaided distributed spacetime coding schemes and algorithms for cooperative DSCDMA systems
EURASIP Journal on Wireless Communications and Networking volume 2016, Article number: 257 (2016)
Abstract
In this work, we propose bufferaided distributed spacetime coding (DSTC) schemes and relay selection algorithms for cooperative directsequence codedivision multiple access (DSCDMA) systems. We first devise a relay pair selection algorithm that can exploit all possible relay pairs and then select the optimum set of relays among both the sourcerelay phase and the relaydestination phase according to the signaltointerferenceplusnoise ratio (SINR) criterion. Multiple relays equipped with dynamic buffers are then introduced in the network, which allows the relays to store data received from the sources and wait until the most appropriate time for transmission. A greedy relay pair selection algorithm is then developed to reduce the high cost brought by the exhaustive search that is required when a large number of relays are involved in the transmission. The proposed techniques effectively improve the quality of the transmission with an acceptable delay as the buffer size is adjustable. An analysis of the computational complexity of the proposed algorithms and the delay and a study of the greedy algorithm are then carried out. Simulation results show that the proposed dynamic bufferaided DSTC schemes and algorithms outperform prior art.
Introduction
The everincreasing demand for performance and reliability in wireless communications has encouraged the development of numerous innovative techniques. Among them, cooperative diversity is one of the key techniques that has been considered in recent years [1–4] as an effective tool to improving transmission performance and system reliability. Several cooperative schemes have been proposed [5–7], and among the most effective ones are amplifyandforward (AF), decodeandforward (DF) [7–9] and various distributed spacetime coding (DSTC) technique [10–14]. For an AF protocol, relays cooperate and amplify the received signals with a given transmit power. With the DF protocol, relays decode the received signals and then forward the reencoded message to the destination. DSTC schemes exploit spatial and temporal transmit diversity by using a set of distributed antennas. With DSTC, multiple redundant copies of data are sent to the receiver to improve the quality and reliability of data transmission. Applying DSTC at the relays provides multiple processed signal copies to compensate for the fading and noise, helping to achieve the attainable diversity and coding gains so that the interference can be more effectively mitigated. As a result, better performance can be achieved when appropriate signal processing and relay selection strategies are applied.
Prior and related work
In cooperative relaying systems, different strategies that employ multiple relays have been recently introduced in [15–20]. The aim of relay selection is to find the optimum relay so that the signal can be transmitted and received with increased reliability. Recently, a new cooperative scheme with relays equipped with buffers has been introduced and analyzed in [21–24]. The main purpose is to select the best link according to a given criterion. In [21], a brief introduction to bufferaided relaying protocols for different networks is described and some practical challenges are discussed. A further study of the throughput and diversity gain of the bufferaided system has been subsequently introduced in [22]. In [23], a new selection technique that is able to achieve the full diversity gain by selecting the strongest available link in every time slot is detailed. In [24], a maxmax relay selection (MMRS) scheme for halfduplex relays with buffers is proposed. In particular, relays with the optimum sourcerelay links and relaydestination links are chosen and controlled for transmission and reception, respectively.
Contributions
In this work, we propose bufferaided DSTC schemes and relay pair algorithms for cooperative directsequence codedivision multiple access (DSCDMA) systems. Specifically, in the proposed cooperative DSCDMA systems, a relay pair selection algorithm (exhaustive/greedy) that selects the optimum set of relays automatically according to the signaltointerferenceplusnoise ratio (SINR) criterion is performed at the initial stage. In particular, for the exhaustive search, all possible relay pairs are examined and compared, while for the proposed greedy relay pair selection, a reduced number of relay pairs are evaluated. Therefore, a link combination associated with the optimum relay group is then selected, which determines if the corresponding buffers are ready for either transmission or reception. After that, the transmission for the cooperative DSCDMA system begins. In particular, the direct transmission for the first phase takes place between the source and the selected relay combination when the buffers are in the reception mode. On the other hand, when the corresponding buffers are switched to the transmission mode, the DSTC is performed for each user from the selected relay combination to the destination during the second phase. With dynamic buffers equipped at each of the relays, the proposed bufferaided schemes take advantage of the high storage capacity where multiple blocks of data can be stored so that the most appropriate ones can be selected at a suitable time instant. The key advantage of introducing the dynamic buffers in the system is their ability to store multiple blocks of data according to a chosen criterion so that the most appropriate ones can be selected at a suitable time instant with the highest efficiency. Furthermore, when referring to cooperative DSCDMA systems, the problem of multiple access interference (MAI) that arises from nonorthogonal received waveforms in DSCDMA systems needs to be faced. However, the use of buffers and the application of relay selections can effectively help in the interference mitigation by allowing transmissions performed over better conditioned channels.
The contributions of this paper are summarized as follows:

We propose a bufferaided DSTC scheme that is able to store enough data packets in the corresponding buffer entries according to different criteria so that more appropriate symbols can be selected in a suitable time instant.

We propose a relay selection algorithm that chooses a relay pair rather than a single relay as the DSTC transmission needs the cooperation of a pair of antennas. The proposed algorithm selects the target relay pair in order to forward the data, which effectively helps with the interference cancelation in the cooperative DSCDMA systems as better transmission conditions are adopted through the proposed selections.

A greedy relay pair selection technique is then introduced to reduce the high cost brought by the exhaustive search that is required when a large number of relays are involved in the transmission.

We propose a dynamic approach so that the buffer size is adjustable according to different situations.

An analysis of the computational complexity, the average delay, and the greedy algorithm are also presented.
The rest of this paper is organized as follows. In Section 2, the system model is described. In Section 3, the dynamic bufferaided cooperative DSTC schemes are explained. In Section 4, the greedy relay pair selection strategy is proposed. In Section 5, the dynamic buffer design is given and explained. The computational complexity is studied, and the analysis of the delay and the greedy algorithm are then developed in Section 6. In Section 7, simulation results are presented and discussed. Finally, conclusions are drawn in Section 8.
DSTC cooperative DSCDMA system model
We consider the uplink of a synchronous DSCDMA system with K users, L relays equipped with finitesize buffers capable of storing J packets, and N chips per symbol that experiences channels with flat fading. The system is equipped with a cooperative protocol at each relay, and we assume that the transmit data are organized in packets comprising P symbols. The received signals are filtered by a matched filter and sampled at chip rate to obtain sufficient statistics. As shown in Fig. 1, the whole transmission is divided into two phases. In the first phase, the source transmits the data to each of the relay over two consecutive time instants, and the decoded data over two time slots, \(\hat {b}_{r_{l}d,k}(2i1)\) and \(\hat {b}_{r_{l}d,k}(2i)\), is stored at relay l and is prepared to send data to the destination. A DSTC scheme is then employed at the following phase, where the corresponding 2×2 Alamouti [25–27] detected symbol matrix over relay m and relay n for user k among two consecutive time instants is given by
Consequently, the received signal for user k from relays m and n to the destination over two consecutive time slots yields the 2N×1 received vectors described by
where \(\mathbf {h}_{r_{l}d}^{k}=a_{r_{l}d}^{k}\mathbf {s}_{k} h_{r_{l}d,k}\) denotes an N×1 effective signature vector for user k from the lth relay to the destination with m,n∈[1,2,…,L]. The quantity \(a_{r_{l}d}^{k}\) represents the kth user’s amplitude from the lth relay to the destination, s _{ k }=[s _{ k }(1),s _{ k }(2),…s _{ k }(N)]^{T} is the N×1 signature sequence for user k, and \(h_{r_{l}d,k}\) are the complex channel fading coefficients for user k from the lth relay to the destination. The N×1 noise vectors n(2i−1) and n(2i) contain samples of zero mean complex Gaussian noise with variance σ ^{2}, \(\hat {b}_{r_{l}d,k}(2i1)\), and \(\hat {b}_{r_{l}d,k}(2i)\) are the decoded symbols at the output of relay l after using a cooperative protocol at time instants (2i−1) and (2i), respectively. Equivalently, Eqs. (2) and (3) can be rewritten as
where \(\mathbf {y}_{r_{m,n}d}=\left [\mathbf {y}^{T}_{r_{m,n}d}(2i1),(\mathbf {y}^{*}_{r_{m,n}d}(2i))^{T} \right ]^{T}\) represents the received signal from relays m and n over two time instants. The 2N×2 Alamouti matrix with the effective signatures for user k is given by
the 2×1 vector \(\mathbf {b}_{r_{m,n}d,k}=\left [\hat {b}_{r_{m}d,k}(2i1), \hat {b}_{r_{n}d,k}(2i)\right ]^{T}\) is the processed vector when the DF protocol is employed at relays m and n at the corresponding time instant, and \(\mathbf {n}_{r_{m,n}d}=\left [ \mathbf {n}(2i1)^{T}, (\mathbf {n}^{*}(2i))^{T} \right ]^{T}\) is the noise vector that contains samples of zero mean complex Gaussian noise with variance σ ^{2}.
At the destination, various MUD schemes can be employed. For linear MUD, the detected symbols can be obtained as given by
where \(\mathbf {w}^{k}_{r_{m,n}d}\) is the receive filter for user k at the destination.
Similarly, the maximum likelihood (ML) detection method can also be applied at the destination. The ML detector solves the following problem
and the symbols obtained by the ML algorithm when the Alamouti scheme is used are computed as given by
Consequently, after testing all possible symbols for ML detection, the most likely symbols are selected. This scheme groups the relays into different pairs, and a more reliable transmission can be achieved if proper relay pair selection is performed.
Proposed bufferaided cooperative DSTC scheme
In this section, we present a bufferaided cooperative DSTC scheme, where each relay is equipped with a buffer so that the processed data can be stored and the buffer can wait until the channel pair associated with the best performance is selected (Fig. 2). Consequently, processed data are stored at the corresponding buffer entries and then reencoded when the appropriate time interval comes. Specifically, the buffer with size J can store up to J packets of data and can either forward or wait for the best time instant to send data. This method effectively improves the quality of the transmission, where it guarantees that the most suitable signal is selected from the buffer entries and sent to the destination with a higher reliability.
The algorithm begins with a SINR calculation for all possible channel combinations. In the case of the Alamouti code, every two relays are combined into a group and all possible lists of corresponding channel pairs are considered. Thus, when referring to the SINR for a specific relay pair, the signal transmitted or received by other relays are seen as interference. The corresponding SINR is then calculated and recorded as follows:
where \(\rho _{s_{k}r_{l}}=\mathbf {h}_{s_{k}r_{l}}^{H} \mathbf {h}_{s_{k}r_{l}}\) is the correlation coefficient of the desired user k between the source and relay l, and \(\rho _{r_{l}d}^{k}=(\mathbf {h}_{r_{l}d}^{k})^{H} \mathbf {h}_{r_{l}d}^{k}\) is the correlation coefficient for user k from relay l to the destination. \(\mathbf {h}_{s_{k}r_{l}}=a_{s_{k}r_{l}}\mathbf {s}_{k}h_{s_{k}r_{l}}\) is the channel vector from user k to relay l. In Eq. (9), \(\text {SINR}_{sr_{m,n}}\) denotes the SINR for the combined paths from all users to relay m and relay n, \(\mathbf {w}_{s_{k}r_{l}}\) is the detector used at the relays. When the RAKE receiver is adopted at the corresponding relay, \(\mathbf {w}_{s_{k}r_{l}}\) is expressed as
and similarly, if the linear minimum mean square error (MMSE) receiver [28] is employed at the relays, \(\mathbf {w}_{s_{k}r_{l}}\) is equal to
and \(\mathbf {h}_{s_{k}r_{l}}=a_{s_{k}r_{l}}\mathbf {s}_{k} h_{s_{k}r_{l}}\) is the effective signature vector from user k to the relay l. Similarly, in Eq. (10), \(\text {SINR}_{r_{m,n}d}\) represents the SINR for the combined paths from relay m and relay n to the destination. The receiver filter \(\mathbf {w}_{r_{l}d}^{k}\) is employed by the detector used at the destination. When the RAKE receiver is adopted at the destination, \(\mathbf {w}_{r_{l}d}^{k}\) is expressed as
Similarly, if the linear MMSE receiver is employed at the relays, \(\mathbf {w}_{r_{l}d}^{k}\) is equal to
The above equations correspond to a cooperative system under the assumption that signals from all users are transmitted to selected relays m and n. Both RAKE and MMSE receivers are considered here for the purpose of complexity, and it should be mentioned that other detectors [29] can also be used. We then sort all these SINR values in a decreasing order and select the one with the highest SINR as given by
where SINR _{ p,q } denotes the highest SINR associated with the relay p and relay q. After the highest SINR corresponding to the combined paths is selected, two different situations need to be considered as follows.
Sourcerelay link
If the highest SINR belongs to the sourcerelay link, then the signal sent to the target relays p and q over two time instants is given by
The received signal is then processed by the detectors as the DF protocol is adopted. Therefore, the decoded symbols that are stored and sent to the destination from the lth relay are obtained as
and
where Q(·) denotes the slicer. After that, the buffers are switched to the reception mode, and the decoded symbol is consequently stored in the corresponding buffer entries. Clearly, these operations are performed when the corresponding buffer entries are not full; otherwise, the second highest SINR is chosen as given by
where SINR _{ u,v } denotes the second highest SINR associated with the updated relay pair Ω _{ u,v }. \(\{ \mathrm {SINR_{sr_{m,n}}}, \mathrm {SINR_{r_{m,n}d}}\} \setminus \mathrm { SINR^{pre}_{p,q}}\) denotes a complementary set where we drop the \(\mathrm {SINR^{pre}_{p,q}}\) from the link SINR set \(\{ \mathrm {SINR_{sr_{m,n}}}, \mathrm { SINR_{r_{m,n}d}}\}\). Consequently, the above process repeats in the following time instants.
Relaydestination link
If the highest SINR is selected from the relaydestination link, in the following two consecutive time instants, the buffers are switched to transmission mode and the decoded symbol for user k is reencoded with the Alamouti matrix as in Eq. (1) so that DSTC is performed from the selected relays p and q to the destination as given by
The received signal is then processed by the detectors at the destination. Clearly, the above operation is conducted under the condition that the corresponding buffer entries are not empty; otherwise, the second highest SINR is chosen according to Eqs. (20) and (21) and the above process is repeated.
It is worth noting that for the purpose of simplicity, the above technique employed fixedsize buffers at the relays so that the transmission delay can be controlled with accurate estimation. The key advantage of the proposed scheme is its ability to select the most appropriate symbols before they are forwarded to the next phase. In practice, the performance highly depends on the buffer size J, the number of users K, and the accuracy of the detection at the relays. The proposed bufferaided cooperative DSTC scheme is detailed in Table 1.
Greedy relay pair selection technique
In this section, a greedy relay pair selection algorithm is introduced. For this relay selection problem, the exhaustive search of all possible relay pairs is the optimum way to obtain the best performance. However, the major problem that prevents us from applying this method when a large number of relays involved in the transmission is its considerable computational complexity. When L relays (L/2 relay pairs if L is an even number) participate in the transmission, a cost of L(L−1) link combinations is required as both sourcerelay links and relaydestination links need to be considered. Consequently, this fact motivates us to seek alternative approaches that can achieve a good balance between performance and complexity.
We propose a greedy relay pair selection algorithm that can approach the global optimum with a reduced computational complexity. The algorithm starts with a single link selection where we examine the SINR for each of the links as given by
where \(\text {SINR}_{sr_{p}}\) and \(\text {SINR}_{r_{p}d}\) denote the SINR from the source to an arbitrary relay p and from relay p to the destination, respectively. We then select the link with the highest SINR, and its associated relay q is recorded as the base relay and given by
Consequently, all possible relay pairs involved with base relay q are listed as Ω _{ p,q }, where p∈[1,L],p≠q. The SINR for these (L−1) relay pairs are then calculated as in Eqs. (9) and (10). After that, the optimum relay pair Ω _{ n,q } is chosen according to Eq. (15) and the algorithm begins if the corresponding buffers are available for either transmission or reception.
Transmission mode
When the buffers are switched to the transmission mode, a buffer space check is conducted firstly to ensure the corresponding buffers are not empty. We then have
and
where \(\Omega ^{\text {buffer}}_{n}\) and \(\Omega ^{\text {buffer}}_{q}\) represents the buffer n and the buffer q associated with the relay pair Ω _{ n,q }. In this situation, the DSTC scheme is performed afterwards as in Eqs. (22) and (23) through the selected relay pair. Conversely, empty buffer entries indicate that the selected relay pair is not capable of forwarding the data to the destination. In this case, we drop this relay pair, select another relay pair among the remaining (L−2) candidate pairs with the highest SINR as given by
The algorithm then repeats the new selected relay pair Ω _{ m,q }. Otherwise, if all possible relay pairs Ω _{ p,q } (p≠n,q,p∈[1,L]) are not available, we then reset the base relay associated with the second highest SINR as described by
where \(\left \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}} \right \} \setminus \mathrm {SINR^{pre}_{q}}\) denotes a complementary set where we drop the \(\mathrm {SINR^{pre}_{q}}\) from the link SINR set \(\left \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}} \right \}\). After this selection process, a new relay pair is chosen and the transmission procedure repeats as above according to the buffer status.
Reception mode
When the buffers are switched to reception mode, similarly, a buffer space check is performed initially to ensure there is enough space for storing the processed data, namely,
and
where U represents a full buffer set. In this case, if the buffers are not full, then, the sources send the data to the selected relay pair Ω _{ n,q } over two time instants according to Eqs. (16) and (17). Otherwise, the algorithm reselects a new relay pair as in Eqs. (29), (30), and (31).
In summary, the relay pair selection algorithm solves a combinatorial problem using exhaustive searches by comparing the SINR of all links and combinations. Alternatively, a lowcomplexity algorithm (for example, the proposed greedy algorithm) could be used to reduce the computational complexity of the pair selection task.
The greedy relay pair selection algorithm is show in Table 2.
Proposed dynamic buffer scheme
The size J of the buffers also plays a key role in the performance of the system, which improves with the increase of the size as buffers with greater size allow more data packets to be stored. In this case, extra degrees of freedom in the system or choices for data transmission are available. Hence, in this section, we release the limitation on the size of the buffer to further explore the additional advantage brought by dynamic buffer design where the buffer size can vary according to different criteria such as the input SNR and the channel condition. When considering the input SNR, larger buffer space is required when the transmission is operated in low SNR region so that the most proper data can be selected among a greater number of candidates. On the other hand, in the high SNR region, a small buffer size is employed as most of the processed symbols are appropriate when compared with the situation in the low SNR region. In this work, we assume that the buffer size J is inversely proportional to the input SNR, namely, with the increase of the SNR, the buffer size decreases automatically. The algorithm for calculating the buffer size J is detailed in Table 3.
The buffer size can be determined by the current selected channel pair condition. In particular, we set a threshold γ that denotes the channel power, if the current selected channel power is under γ, the buffer size increases as more candidates need to be saved in order to select the best symbol, on the contrary, if the current selected channel pair power exceeds γ, we decrease the buffer size as there is a high possibility that the transmission is not significantly affected. The approach based on the channel power for varying the buffer can be summarized in Table 4.
Analysis of the proposed algorithms
In this section, we analyze the computational complexity required by the proposed relay pair selection algorithm, the problem of the average delay brought by the proposed schemes and algorithms, followed by the discussion of the proposed greedy algorithm.
Computational complexity
The proposed greedy relay pair selection method considers the combination effect of the channel condition so that the DSTC algorithm can be applied with a collection of relays. When compared with the exhaustive search that lists all possible subsets of relay pairs, less than L(L−1) types of link combinations (associated with the corresponding L(L−1)/2 relay pairs) are examined as the proposed method explores the link combination when both single relay and relay pair are involved. For the greedy relay selection strategy, the proposed scheme explores a moderate to large number of relay pairs at each stage; however, the algorithm stops when the corresponding entries satisfy the current system requirement (transmission mode or reception mode); in this case, the maximum number of relay pair that we have to examine is (L−1)+(L−2)+…+1=L(L−1)/2. On the other hand, when considering the exhaustive search, the total number of relay pairs that must be verified is \({C_{L}^{2}}=L(L1)/2\). It should be mentioned that when calculating the associated SINR, we have to double the number of calculation flops as we have to consider and compare both the SINR for sourcerelay links and relaydestination links. The detailed computational complexity is listed in Table 5. When comparing these two algorithms, the proposed greedy relay pair selection algorithm is an order of magnitude less costly. The complexity of channel estimation and receive filter computation are also listed in Table 5. It can been seen that, when a large number of relays participate in the transmission, with a careful control of the buffer size J, a good balance of complexity and performance is achieved.
Average delay analysis
The improvement of the performance brought by the bufferaided relays comes at the expense of the transmission delay. Hence, it is of great importance to investigate the performancedelay tradeoff of the proposed bufferaided DSTC schemes [30]. In this subsection, we analyze the average delay of the proposed schemes and algorithms.
We assume that the source always has data to transmit and the delay is mostly caused by the buffers that equip the relays. Let T(i) and Q(i) denote the delay of packets of M symbols transmitted by the source and the queue length at time instant i for DSTC schemes, respectively.
According to Little’s law [31], the average delay, which is also the average time that packets are stored in the corresponding buffer, is given by
where Q=E[Q(i)] represents the average queue length at the relay buffer and R _{ a } (in packets/slot) is the average arrival rate into the queue.
In this analysis, we assume both the source and relay transmit at a constant instantaneous rate R (R=1 packets/slot=M symbols/slot) when they are selected for transmission and the transmission is operated with one packet of M symbols per time slot. We also for simplicity define the error probability for the sourcerelay link and relaydestination link as P _{ sr } and P _{ rd } (P=P _{ sr }=P _{ rd }), respectively. For a buffer with size J (J packets are stored in the buffer), the average queue length is described by [30]
where \(P_{G_{j}}\) represents the buffer state probability that has been explained in [30]; \(P_{G_{J}}=P_{\text {full}}\) denotes the probability when the buffer is full. Similarly, we then define \(P_{G_{0}}=P_{\text {empty}}\) as the probability for the empty buffer. Therefore, the average arrival rate into the buffer can be calculated as
Similarly, the average departure rate from the buffer is given by
Consequently, the above equations can be further derived as
Clearly, the above results demonstrate that the transmission delay is linear with the buffer size.
Apart from that, the DSTC scheme will introduce further delay. For the DSTC scheme, the relay pair needs to wait an extra time slot for the second packet to arrive. Then, the relay pair can transmit the packets to the destination using DSTC scheme. In other words, the DSTC scheme takes two time slots to transmit two packets, and as a result, it brings extra delay obviously [32–34]. Meanwhile, the relay pair selection processing also brings delay. For both exhaustive and greedy selections, they need to calculate the best relay pair from the candidates pool. This processing need extra computation time until the best relay pair is selected.
Greedy relay selection analysis
The proposed greedy relay pair selection method is a stepwise forward selection algorithm, where we optimize the selection based on the SINR criterion at each stage. We begin the process with a single link selection where we examine the SINR for each of the links and choose the link with the highest SINR. The associated relay is then selected and the candidate relay pair is generated by adding the remaining relays, respectively. The optimum relay pair is subsequently selected according to the SINR criterion. Since buffers are equipped at each relay, it is possible that the corresponding relay pair entries are not available for either transmission or reception. In this case, the candidate relay pair from the first step with the second highest SINR is then chosen. Clearly, if all remaining candidate relay pairs are not selected due to the unavailability of the associated buffers, we reset the base relay and newly generated relay pairs are grouped in the second stage by adding other relays, respectively. Obviously, the number of all possible relay pair candidates at each stage is reduced gradually as the discarded relay pair from previous stages will not appear in the current stage. Hence, the relay pairs grouped at each step are presented as follows:
where \({\Omega _{i}^{s}}\) denotes the ith relay pair at the sth stage. Clearly, the maximum number of relay pairs that we have to consider for all L−1 stages is (L−1)+(L−2)+…+1=L(L−1)/2, since this algorithm stops when selected relay pair with its associated buffers are available, the associated complexity for the proposed greedy relay selection strategy is less than L(L−1)/2.
Compared with the exhaustive search, which is considered as the optimum relay selection method, the number of relay pairs examined for the processing is given by
The total number of relay combinations can then be calculated as \({C_{L}^{2}}=L(L1)/2\), where each term \({C_{m}^{n}}=\frac {m(m1)\ldots (mn+1)}{n!}\) represents the number of combinations that we choose, i.e., n elements from m elements (m≥n).
Because the number of relay pairs that we have to consider for the greedy algorithm is less than exhaustive search, the proposed greedy algorithm provides a much lower cost in terms of flops and running time when compared with the exhaustive search. In fact, the idea behind the proposed algorithm is to choose relay pairs in a greedy fashion. At each stage, we select the set of relays with the highest SINR. Then we consider the availability of the buffers, if the corresponding buffer entries do not satisfy the system mode, we reselect the relay pair in the following stages. After several stages, the algorithm is able to identify the optimum (or a near optimum) relay set that can satisfy the current transmission. To this end, we state the following proposition.
Proposition 1
The proposed greedy algorithm achieves an SINR that is upper bounded as follows:
Proof
We investigate the upper bound by comparing the proposed algorithm and the exhaustive search at the first stage. At stage 1, since \(\Omega _{\text {greedy}}^{s}\) is a candidate subset of the exhaustive search, we have
where \(\Omega _{\mathrm {exhaustive(i)}}^{1}\) represents the ith relay pair selected at the 1st stage of the exhaustive relay selection method.
Assuming both strategies select the same relay pair and the greedy algorithm is conducted at stage s, we have
this situation again leads to the equality that \(\text {SINR}_{\mathrm {\Omega _{greedy}^{s}}}=\text {SINR}_{\mathrm { \Omega _{exhaustive}^{1}}}\). In contrast, if the exhaustive search chooses another relay set that belongs to \(\{ \Omega _{\mathrm {exhautive(i)}}^{1}, i\in [1,{C_{L}^{2}}] \}\) that provides a higher SINR, clearly, \(\Omega _{\text {greedy}}^{s} \neq \Omega _{\mathrm { exhaustive}}^{1}\), we can then obtain the inequality that \(\text {SINR}_{\Omega _{\text {greedy}}^{s}} \leq \mathrm { SINR}_{\Omega _{\text {exhaustive}}^{1}}\). □
Simulations
In this section, a simulation study of the proposed bufferaided DSTC techniques for cooperative systems is carried out. The DSCDMA network uses randomly generated spreading codes of length N=16. The corresponding channel coefficients are modeled as uniformly random variables and are normalized to ensure the mean signal value over all transmissions is unity for all analyzed techniques. We assume perfectly known channels at the receivers and we also present an example with channel estimation. Equal power allocation is employed. We consider packets with 1000 BPSK symbols and step size d=2 when evaluating the dynamic schemes. We consider fixed bufferaided exhaustive/greedy (FBAE/FBAG) relay pair selection strategies (RPS) and dynamic bufferaided exhaustive/greedy (DBAE/DBAG) RPS.
In order to verify that the fixed bufferaided relay pair DSTC cooperative scheme contributes to the performance gain, we compare the performance between the situations of the transmission with fixedsize buffers and without buffers in Fig. 3. The first example shown in Fig. 3a illustrates the performance comparison between the proposed bufferaided DSTC transmission with different RPS and DSTC transmission with different RPS and no buffers when better decoding techniques are adopted. The system has three users and six relays; perfect decoding is assumed at each relay and the matched filter is adopted at the destination. Specifically, for the no relay selection (RS) DSTC technique, all relays participate in the DSTC transmission (every two consecutive relays are working in pairs). Similarly, for the non bufferaided schemes, the RPS process only occurs during the second phase (relaydestination), where the random selection algorithm chooses an arbitrary relay pair, the proposed greedy algorithm chooses two relays associated with two optimum relaydestination links and the exhaustive relay pair schemes examines all possible relay pairs and selects the one with the highest SINR. In contrast, the proposed bufferaided scheme automatically selects the relay pair over both sourcerelay links and relaydestination links. Moreover, with the help of the buffers, the most appropriate data are sent and better overall system performance can be achieved. As for different decoding methods, we have also evaluated the BER performance when the ML detector is applied at the destination and the result shows that the ML detector significantly outperforms the simple RAKE receiver. Additionally, we have also included a simulation curve when DSTC is not employed in the second phase transmission; the results show that the DSTC scenarios achieve higher diversity gain when compared with the uncoded system. Apart from that, the performance for a singleuser bufferaided exhaustive RPS DSTC is presented here for comparison purposes. Consequently, the results reveal that our proposed bufferaided strategies (J=6) perform better than the one without buffers. In particular, Fig. 3 a also illustrates that our proposed bufferaided schemes can approach the singleuser bound very closely.
Another example depicted in Fig. 3 b compares the proposed bufferaided DSTC transmission with different RPS and nonbufferaided DSTC transmission with different RPS. In this scenario, we apply the linear MMSE receiver at each of the relay and the RAKE at the destination in an uplink cooperative scenario with three users, six relays, and buffer size J=6. Similarly, the system gain brought by the use of the ML detector at the destination and the performance bounds for a singleuser bufferaided exhaustive RPS DSTC are presented for comparison purposes. The results also indicate that the proposed bufferaided DSTC strategies (J=6) have higher diversity gain when compared with the ones without employed DSTC schemes during the relaydestination phase. Furthermore, the BER performance curves of our greedy RPS algorithm approaches the exhaustive RPS, while keeping the complexity reasonably low for practical use.
In the second example, we compare the proposed bufferaided DSTC transmission with different RPS strategies and DSTC transmission with RPS and no buffers with channel estimation. The results are shown in Fig. 4. In this scenario, we apply the linear MMSE receiver at each of the relay and the RAKE at the destination in an uplink cooperative scenario with three users, six relays, and buffer size J=6. Clearly, it can been seen that, due to the introduction of channel estimation, the performance for all algorithms are slightly degraded when compared with the assumption of perfect CSI. However, our proposed bufferaided strategies (J=6) still perform better than the one without buffers.
The third example illustrates the performance comparison for the fixed bufferaided design in Fig. 5 a and dynamic bufferaided design in Fig. 5 b in a cooperative DSTC system with different RPS. The overall network has three users and six relays; the linear MMSE receiver is applied at each relay, and the RAKE receiver is adopted at the destination. For dynamic algorithms, the buffer size J decreases when approaching a higher SNR region. In both figures, the bufferaided exhaustive RPS algorithm performs better than the greedy one. When we compare the two figures in Fig. 5, the dynamic buffer techniques are more flexible than the fixed buffer ones as they explore the most suitable buffer size for the current transmission according to a given criterion. In this case, there is a greater possibility to select the most appropriate data when the transmission is operated in poor condition as more candidates are stored in the buffer space. On the other hand, the transmission delay can be avoided when the outer condition improves as most of the candidates are appropriate. Simulation results verify these points and indicate that the DBAE/DBAG RPS outperform the FBAE/FBAG (J=8) RPS and the advantage increases when adopting the singleuser case. Furthermore, it can also be seen that the BER performance curves of the greedy relay pair selection algorithm [35] approaches the exhaustive search, while keeping the complexity reasonably low for practical utilization.
The fourth example compares the FBAE/FBAG RPS scheme in Fig. 6 a and the DBAE/DBAG RPS strategy in Fig. 6 b in a DSTC cooperative system, where we apply the linear MMSE receiver at each of the relay and the RAKE receiver at the destination in an uplink cooperative scenario with three users, six relays, and fixed buffer size J=8. Similarly, the performance for a singleuser bufferaided exhaustive RPS DSTC is presented for comparison purposes. In both figures, the bufferaided exhaustive search RPS algorithm performs better than the greedy one. The average dynamic buffer size J is highly dependant on the threshold γ and the step size d, clearly, and with careful control on these parameters, better performance can be achieved. The simulation results also indicate that our proposed dynamic design performs better than the fixed buffer size ones when we apply the same relay selection method, as depictedl in Fig. 6.
The algorithms are then assessed in terms of the BER versus buffer size J in Fig. 7 with a fixed SNR = 15 dB. In this scenario, we assume perfect decoding at the relays as accurate detection at relays would highly influence the following transmission and apply the RAKE at the destination. The results indicate that the overall BER degrades as the size of the buffer increases. It also shows that with larger buffer sizes, the system experiences diminishing returns in performance. In this case, a good balance between the transmission delay and the buffer size can be obtained when the buffer size is carefully considered.
In the last part, we demonstrate the influence of the dynamic buffer size on the average delay. We examine via simulations the proposed algorithms by measuring the average delay in packets versus the packet size in symbols in Fig. 8. This figure presents the average delay for different algorithms, when a certain number of symbols (that form packets) are transmitted. For the average delay, we measure the number of extra packets that are employed when compared with transmitted symbols. There exists a linear relation between the average delay and transmitted symbols, as outlined in the delay analysis. This is because for each certain number of transmitted packets, the average delay is similar. As a result, when the transmitted symbols increase with a fixed numbers of packets, the average delay also increases with a similar numbers of packets. Therefore, with the increase of transmitted packet size, the average delay increases together. When we compare the proposed algorithms, the dynamic buffer size reduces the average delay. In particular, the proposed multiuser buffer–aided greedy DSTC algorithm with dynamic buffer scheme has the lowest delay, followed by the greedy DSTC algorithm and the exhaustive DSTC algorithm with and without the dynamic buffer scheme.
Conclusions
In this work, we have presented a dynamic bufferaided DSTC scheme for cooperative DSCDMA systems with different relay pair selection techniques. With the help of the dynamic buffers, this approach effectively improves the transmission performance and help to achieve a good balance between bit error rate (BER) and delay. We have developed algorithms for relaypair selection based on an exhaustive search and on a greedy approach. A dynamic buffer design has also been devised to improve the performance of bufferaided schemes. Simulation results show that the performance of the proposed scheme and algorithms can offer good gains as compared to previously reported techniques.
References
 1
JG Proakis, Digital Communications, 4th edn. (McGrawHill, Inc, New York, 2011).
 2
SS Ikki, MH Ahmed, Performance analysis of incremental–relaying cooperative–diversity networks over rayleigh fading channels. IET Commun.5(3), 337–349 (2011).
 3
S Wei, Diversity–multiplexing tradeoff of asynchronous cooperative diversity in wireless networks. IEEE Trans. Inf. Theory.53(11), 4150–4172 (2007).
 4
SS Ikki, MH Ahmed, Performance analysis of cooperative diversity with incrementalbestrelay technique over rayleigh fading channels. IEEE Trans. Commun.59(8), 2152–2161 (2011).
 5
A Sendonaris, E Erkip, B Aazhang, User cooperation diversity—parts I and II. IEEE Trans. Commun.51(11), 1927–1948 (2003).
 6
L Venturino, X Wang, M Lops, Multiuser detection for cooperative networks and performance analysis. IEEE Trans. Signal Process.54(9), 3315–3329 (2006).
 7
JN Laneman, GW Wornell, Cooperative diversity in wireless networks: efficient protocols and outage behaviour. IEEE Trans. Inf. Theory. 50(12), 3062–3080 (2004).
 8
A Kalantari, E SoleimaniNasab, M Ardebilipour, in 2011 19th Iranian Conference on Electrical Engineering. Performance analysis of best selection DF relay networks over Nakagamin fading channels (Tehran, 2011), pp. 1–1.
 9
E SoleimaniNasab, M Ardebilipour, A Kalantari, Performance analysis of selective df relay networks over nakagamin and nakagamiq fading channels. Wirel. Commun. Mob. Comput.14(16), 1564–1581 (2014).
 10
JN Laneman, GW Wornell, Distributed spacetime coded protocols for exploiting cooperative diversity in wireless networks. IEEE Trans. Inf. Theory. 49(10), 2415–2425 (2003).
 11
S Yiu, R Schober, L Lampe, Distributed spacetime block coding. IEEE Trans. Wirel. Commun.54(7), 1195–1206 (2006).
 12
RC de Lamare, R SampaioNeto, Blind adaptive MIMO receivers for spacetime blockcoded DSCDMA systems in multipath channels using the constant modulus criterion. IEEE Trans. Commun.58(1), 21–27 (2010).
 13
Y Jing, B Hassibi, Distributed spacetime coding in wireless relay networks. IEEE Trans. Wirel. Commun.5(12), 3524–3536 (2006).
 14
T Peng, RC de Lamare, A Schmeink, in 2012 International Symposium on Wireless Communication Systems (ISWCS). Adaptive distributed spacetime coding for cooperative MIMO relaying systems (Paris, 2012), pp. 611–615.
 15
Y Jing, H Jafarkhani, Single and multiple relay selection schemes and their achievable diversity orders. IEEE Trans. Wirel. Commun.8(3), 1084–1098 (2009).
 16
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).
 17
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).
 18
J Gu, RC de Lamare, in 2014 22nd European Signal Processing Conference (EUSIPCO). Joint sic and multirelay selection algorithms for cooperative DSCDMA systems (Lisbon, 2014), pp. 556–560.
 19
T Peng, RC de Lamare, A Schmeink, Adaptive distributed spacetime coding based on adjustable code matrices for cooperative MIMO relaying systems. IEEE Trans. Commun.61(7), 2692–2703 (2013).
 20
J Gu, RC de Lamare, J Wireless Com Network (2016). 59: (2016).
 21
N Zlatanov, A Ikhlef, T Islam, R Schober, Bufferaided cooperative communications: opportunities and challenges. IEEE Commun. Mag.52(4), 146–153 (2014).
 22
N Zlatanov, R Schober, P Popovski, in Global Telecommunications Conference (GLOBECOM 2011). Throughput and diversity gain of bufferaided relaying (IEEEHouston, 2011), pp. 1–6.
 23
I Krikidis, T Charalambous, J Thompson, Bufferaided relay selection for cooperative diversity systems without delay constraints. IEEE Trans. Wirel. Commun.11(5), 1592–1967 (2012).
 24
A Ikhlef, DS Michalopoulos, R Schober, Maxmax relay selection for relays with buffers. IEEE Trans. Wirel. Commun.11(5), 1124–1135 (2012).
 25
SM Alamouti, A simple transmit diversity technique for wireless communications. IEEE J. Sel. Areas Commun.16(8), 1451–1458 (1998).
 26
CW Tan, AR Calderbank, Multiuser detection of alamouti signals. IEEE Trans. Commun.57(7), 2080–2089 (2009).
 27
H Liu, Signal Processing Applications in CDMA Communications, 1st edn. (Artech House, Inc, Norwood, 2000).
 28
RC de Lamare, R SampaioNeto, Adaptive reducedrank processing based on joint and iterative interpolation, decimation, and filtering. IEEE Trans. Signal Process.57(7), 2503–2514 (2009).
 29
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).
 30
T Islam, RS A Iklef, V Bhargava, Diversity and delay analysis of bufferaided bicmofdm relaying. IEEE Trans. Wirel. Commun.12(11), 5506–5519 (2013).
 31
DP Bertsekas, RG Gallager, Data Networks, 2nd edn. (PrenticeHall, Inc, Englewood Cliffs, 1991).
 32
M Bouanen, W Ajib, H Boujemaa, in 2011 7th International Wireless Communications and Mobile Computing Conference. Throughput and delay analysis of truncated cooperative ARQ protocols using DSTC (Istanbul, 2011), pp. 731–736.
 33
Y Gong, KB Letaief, Performance evaluation and analysis of spacetime coding in unequalized multipath fading links. IEEE Trans. Commun.48(11), 1778–1782 (2000).
 34
Z Sheng, Z Ding, KK Leung, in Global Telecommunications Conference, 2009. GLOBECOM 2009. Transmission delay analysis with finite coding length in wireless cooperative networks (Honolulu, 2009), pp. 1–6.
 35
J Gu, RC de Lamare, in 2014 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). Joint parallel interference cancellation and relay selection algorithms based on greedy techniques for cooperative DSCDMA systems (Florence, 2014), pp. 2754–2758.
Acknowledgements
This work is funded by the ESII consortium under task 26 for lowcost wireless ad hoc and sensor networks.
Competing interests
The authors declare that they have no competing interests.
Author information
Rights and permissions
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.
About this article
Cite this article
Gu, J., de Lamare, R.C. Bufferaided distributed spacetime coding schemes and algorithms for cooperative DSCDMA systems. J Wireless Com Network 2016, 257 (2016) doi:10.1186/s1363801607528
Received:
Accepted:
Published:
Keywords
 DSCDMA networks
 Cooperative systems
 Relay selection
 Greedy algorithms
 Space time coding
 Dynamic buffer