Open Access

Buffer-aided distributed space-time coding schemes and algorithms for cooperative DS-CDMA systems

EURASIP Journal on Wireless Communications and Networking20162016:257

https://doi.org/10.1186/s13638-016-0752-8

Received: 24 May 2016

Accepted: 7 October 2016

Published: 26 October 2016

Abstract

In this work, we propose buffer-aided distributed space-time coding (DSTC) schemes and relay selection algorithms for cooperative direct-sequence code-division multiple access (DS-CDMA) 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 source-relay phase and the relay-destination phase according to the signal-to-interference-plus-noise 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 buffer-aided DSTC schemes and algorithms outperform prior art.

Keywords

DS-CDMA networks Cooperative systems Relay selection Greedy algorithms Space time coding Dynamic buffer

1 Introduction

The ever-increasing 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 [14] as an effective tool to improving transmission performance and system reliability. Several cooperative schemes have been proposed [57], and among the most effective ones are amplify-and-forward (AF), decode-and-forward (DF) [79] and various distributed space-time coding (DSTC) technique [1014]. 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 re-encoded 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.

1.1 Prior and related work

In cooperative relaying systems, different strategies that employ multiple relays have been recently introduced in [1520]. 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 [2124]. The main purpose is to select the best link according to a given criterion. In [21], a brief introduction to buffer-aided relaying protocols for different networks is described and some practical challenges are discussed. A further study of the throughput and diversity gain of the buffer-aided 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 max-max relay selection (MMRS) scheme for half-duplex relays with buffers is proposed. In particular, relays with the optimum source-relay links and relay-destination links are chosen and controlled for transmission and reception, respectively.

1.2 Contributions

In this work, we propose buffer-aided DSTC schemes and relay pair algorithms for cooperative direct-sequence code-division multiple access (DS-CDMA) systems. Specifically, in the proposed cooperative DS-CDMA systems, a relay pair selection algorithm (exhaustive/greedy) that selects the optimum set of relays automatically according to the signal-to-interference-plus-noise 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 DS-CDMA 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 buffer-aided 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 DS-CDMA systems, the problem of multiple access interference (MAI) that arises from nonorthogonal received waveforms in DS-CDMA 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 buffer-aided 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 DS-CDMA 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 buffer-aided 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.

2 DSTC cooperative DS-CDMA system model

We consider the uplink of a synchronous DS-CDMA system with K users, L relays equipped with finite-size 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}(2i-1)\) 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 [2527] detected symbol matrix over relay m and relay n for user k among two consecutive time instants is given by
$$ \mathbf{B}_{k} = \left[\begin{array}{c c} \hat{b}_{r_{m}d,k}(2i-1) & -\hat{b}^{*}_{r_{n}d,k}(2i) \\ \hat{b}_{r_{n}d,k}(2i) & \hat{b}^{*}_{r_{m}d,k}(2i-1) \\ \end{array}\right]. $$
(1)
Fig. 1

Uplink of a cooperative DS-CDMA system

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
$$ {}\mathbf{y}_{r_{m,n}d}(2i-1) \,=\, \mathbf{h}_{r_{m}d}^{k} \hat{b}_{r_{m}d,k}(2i-1)+ \mathbf{h}_{r_{n}d}^{k} \hat{b}_{r_{n}d,k}(2i)+\mathbf{n}(2i-1), $$
(2)
$$ \mathbf{y}_{r_{m,n}d}(2i)= \mathbf{h}_{r_{n}d}^{k} \hat{b}^{*}_{r_{m}d,k}(2i-1)- \mathbf{h}_{r_{m}d}^{k} \hat{b}^{*}_{r_{n}d,k}(2i)+\mathbf{n}(2i), $$
(3)
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}(2i-1)\), 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
$$ \mathbf{y}_{r_{m,n}d}=\mathbf{H}_{r_{m,n}d}^{k} \mathbf{b}_{r_{m,n}d,k}+\mathbf{n}_{r_{m,n}d}, $$
(4)
where \(\mathbf {y}_{r_{m,n}d}=\left [\mathbf {y}^{T}_{r_{m,n}d}(2i-1),(\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
$$ \mathbf{H}_{r_{m,n}d}^{k}=\left[\begin{array}{ll} \mathbf{h}_{r_{m}d}^{k} &\mathbf{h}_{r_{n}d}^{k} \\ \left(\mathbf{h}_{r_{n}d}^{k}\right)^{*} &-\left(\mathbf{h}_{r_{m}d}^{k}\right)^{*} \\ \end{array}\right], $$
(5)

the 2×1 vector \(\mathbf {b}_{r_{m,n}d,k}=\left [\hat {b}_{r_{m}d,k}(2i-1), \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}(2i-1)^{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
$$ \hat{\mathbf{b}}_{r_{m,n}d,k}=Q \left(\left(\mathbf{w}^{k}_{r_{m,n}d}\right)^{H} \mathbf{y}_{r_{m,n}d} \right), $$
(6)

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
$$ \tilde{\mathbf{b}}_{r_{m,n}d,k} = \mathrm{arg \ min} \| \mathbf{y}_{r_{m,n}d}- \mathbf{H}_{r_{m,n}d}^{k} \mathbf{b}_{r_{m,n}d,k} \|^{2}, $$
(7)
and the symbols obtained by the ML algorithm when the Alamouti scheme is used are computed as given by
$$ {\begin{aligned} {}\tilde{b}_{r_{m}d,k}(2i-1)&=\left(\mathbf{h}_{r_{m}d}^{k}\right)^{H} \mathbf{y}_{r_{m,n}d,k}(2i-1)+\left(\mathbf{h}_{r_{n}d}^{k}\right)^{T} \mathbf{y}^{*}_{r_{m,n}d,k}(2i)\\ &=\left(\left(\mathbf{h}_{r_{m}d}^{k}\right)^{H} \mathbf{h}_{r_{m}d}^{k} + \left(\mathbf{h}_{r_{n}d}^{k}\right)^{T} \left(\mathbf{h}_{r_{n}d}^{k}\right)^{*} \right) \hat{b}_{r_{m}d,k}(2i-1)\\ &\quad+ \left(\left(\mathbf{h}_{r_{m}d}^{k}\right)^{H} \mathbf{n}(2i-1) + \left(\mathbf{h}_{r_{n}d}^{k}\right)^{T} \mathbf{n}^{*}(2i) \right),\\ \\ \tilde{b}_{r_{n}d,k}(2i)&=\left(\mathbf{h}_{r_{n}d}^{k}\right)^{H} \mathbf{y}_{r_{m,n}d,k}(2i-1)- \left(\mathbf{h}_{r_{m}d}^{k}\right)^{T} \mathbf{y}^{*}_{r_{m,n}d,k}(2i)\\ &=\left(\left(\mathbf{h}_{r_{n}d}^{k}\right)^{H} \mathbf{h}_{r_{n}d}^{k} + \left(\mathbf{h}_{r_{m}d}^{k}\right)^{T} \left(\mathbf{h}_{r_{m}d}^{k}\right)^{*} \right) \hat{b}_{r_{n}d,k}(2i)\\&\quad + \left(\left(\mathbf{h}_{r_{n}d}^{k}\right)^{H} \mathbf{n}(2i-1) - \left(\mathbf{h}_{r_{m}d}^{k}\right)^{T} \mathbf{n}^{*}(2i) \right).\\ \end{aligned}} $$
(8)

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.

3 Proposed buffer-aided cooperative DSTC scheme

In this section, we present a buffer-aided 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 re-encoded 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.
Fig. 2

Proposed buffer-aided cooperative scheme

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:
$$ {{\begin{aligned} {}\text{SINR}_{sr_{m,n}}=\frac{\sum\limits_{k=1}^{K} \mathbf{w}_{s_{k}r_{m}}^{H} \rho_{s_{k}r_{m}} \mathbf{w}_{s_{k}r_{m}}\! +\! \mathbf{w}_{s_{k}r_{n}}^{H} \rho_{s_{k}r_{n}} \mathbf{w}_{s_{k}r_{n}} }{\sum\limits_{k=1}^{K}\! \sum\limits_{\substack{l=1\\l\neq m,n}}^{L}\! \mathbf{w}_{s_{k}r_{l}}^{H} \rho_{s_{k}r_{l}} \mathbf{w}_{s_{k}r_{l}} \,+\, \sigma^{2}\mathbf{w}_{s_{k}r_{m}}^{H} \mathbf{w}_{s_{k}r_{m}}\! +\! \sigma^{2}\mathbf{w}_{s_{k}r_{n}}^{H} \mathbf{w}_{s_{k}r_{n}}}, \end{aligned}}} $$
(9)
$$ {{\begin{aligned} {}\text{SINR}_{r_{m,n}d}\,=\,\frac{\sum\limits_{k=1}^{K} \left(\!\mathbf{w}_{r_{m}d}^{k}\right)^{H} \!\rho_{r_{m}d}^{k} \mathbf{w}_{r_{m}d}^{k}\,+\,\left(\mathbf{w}_{r_{n}d}^{k}\right)^{H} \!\rho_{r_{n}d}^{k} \mathbf{w}_{r_{n}d}^{k}}{\sum\limits_{k=1}^{K}\! \sum\limits_{\substack{l=1\\l\neq m,n}}^{L}\!\! \!\left(\!\!\mathbf{w}_{r_{l}d}^{k}\right)^{H} \!\!\rho_{r_{l}d}^{k} \mathbf{w}_{r_{l}d}^{k} \,+\, \sigma^{2}\!\left(\mathbf{\!w}_{r_{m}d}^{k}\right)^{H} \!\!\mathbf{w}_{r_{m}d}^{k}\,+\, \sigma^{2}\left(\mathbf{\!w}_{r_{n}d}^{k}\right)^{H} \mathbf{\!w}_{r_{n}d}^{k}}, \end{aligned}}} $$
(10)
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
$$ \mathbf{w}_{s_{k}r_{l}}=\mathbf{h}_{s_{k}r_{l}}, $$
(11)
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
$$ \mathbf{w}_{s_{k}r_{l}}=\left(\sum\limits_{k=1}^{K} \mathbf{h}_{s_{k}r_{l}}\mathbf{h}^{H}_{s_{k}r_{l}}+\sigma^{2} \mathbf{I}\right)^{-1}\mathbf{h}_{s_{k}r_{l}} $$
(12)
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
$$ \mathbf{w}_{r_{l}d}^{k}=\mathbf{h}_{r_{l}d}^{k}. $$
(13)
Similarly, if the linear MMSE receiver is employed at the relays, \(\mathbf {w}_{r_{l}d}^{k}\) is equal to
$$ \mathbf{w}_{r_{l}d}^{k}=\left(\sum\limits_{k=1}^{K} \mathbf{h}_{r_{l}d}^{k}\left(\mathbf{h}_{r_{l}d}^{k}\right)^{H}+\sigma^{2} \mathbf{I}\right)^{-1} \mathbf{h}_{r_{l}d}^{k}. $$
(14)
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
$$ \mathrm{SINR_{p,q}=\text{arg}\max_{\substack{m,n\in[1,2,\ldots,L]}} \left\{ \text{SINR}_{sr_{m,n}},\mathrm{ SINR}_{r_{m,n}d} \right\}}, $$
(15)

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.

3.1 Source-relay link

If the highest SINR belongs to the source-relay link, then the signal sent to the target relays p and q over two time instants is given by
$$ \mathbf{y}_{sr_{l}}(2i-1)=\sum\limits_{k=1}^{K} \mathbf{h}_{s_{k}r_{l}}b_{k}(2i-1)+\mathbf{n}(2i-1), l\in[p,q], $$
(16)
$$ \mathbf{y}_{sr_{l}}(2i)=\sum\limits_{k=1}^{K} \mathbf{h}_{s_{k}r_{l}}b_{k}(2i)+\mathbf{n}(2i),l\in[p,q]. $$
(17)
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
$$ \hat{b}_{r_{l}d,k}(2i-1)=Q\left(\mathbf{w}_{s_{k}r_{l}}^{H}\mathbf{y}_{sr_{l}}(2i-1)\right), $$
(18)
and
$$ \hat{b}_{r_{l}d,k}(2i)=Q\left(\mathbf{w}_{s_{k}r_{l}}^{H}\mathbf{y}_{sr_{l}}(2i)\right), $$
(19)
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
$$ \mathrm{SINR^{pre}_{p,q}}=\mathrm{SINR_{p,q}} $$
(20)
$$ \mathrm{SINR_{u,v}} \in \text{max} \left\{ \mathrm{SINR_{sr_{m,n}}}, \mathrm{SINR_{r_{m,n}d}}\right\} \setminus \mathrm{SINR^{pre}_{p,q}}, $$
(21)

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.

3.2 Relay-destination link

If the highest SINR is selected from the relay-destination link, in the following two consecutive time instants, the buffers are switched to transmission mode and the decoded symbol for user k is re-encoded 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
$$ {}\mathbf{y}_{r_{p,q}d,k}(2i-1)= \mathbf{h}_{r_{p}d}^{k} \hat{b}_{r_{p}d,k}(2i-1)+ \mathbf{h}_{r_{q}d}^{k} \hat{b}_{r_{q}d,k}(2i)+\mathbf{n}(2i-1), $$
(22)
$$ \mathbf{y}_{r_{p,q}d,k}(2i)= \mathbf{h}_{r_{q}d}^{k} \hat{b}^{*}_{r_{p}d,k}(2i-1)- \mathbf{h}_{r_{p}d}^{k} \hat{b}^{*}_{r_{q}d,k}(2i)+\mathbf{n}(2i). $$
(23)

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 fixed-size 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 buffer-aided cooperative DSTC scheme is detailed in Table 1.
Table 1

The proposed buffer-aided cooperative DSTC scheme

% List all possible relay pairs

% Select the combination with the highest SINR

\(\phantom {\dot {i}\!}\mathrm {SINR_{p,q}=max \{ \text {SINR}_{sr_{m,n}},\text {SINR}_{r_{m,n}d} \}}\)

%Source-relay link

if \(\phantom {\dot {i}\!}\mathrm {SINR_{p,q}} \in [\mathrm {SINR_{sr_{m,n}}}], m,n \in [1,L]\)

if the buffers entries are not full

\(\phantom {\dot {i}\!}\mathbf {y}_{sr_{l}}(2i-1)=\sum \limits _{k=1}^{K} \mathbf {h}_{s_{k}r_{l}} b_{k}(2i-1)+\mathbf {n}_{sr_{l}}(2i-1),l\in [p,q],\)

\(\phantom {\dot {i}\!}\mathbf {y}_{sr_{l}}(2i)=\sum \limits _{k=1}^{K} \mathbf {h}_{s_{k}r_{l}} b_{k}(2i)+\mathbf {n}_{sr_{l}}(2i),l\in [p,q].\)

%Apply the detectors at relay n and relay q to obtain

\(\phantom {\dot {i}\!}\hat {b}_{r_{l}d,k}(2i-1)\) and \(\hat {b}_{r_{l}d,k}(2i)\) and store them

in the corresponding buffer entries (l[p,q])

break

else %choose the second highest SINR

\(\phantom {\dot {i}\!}\mathrm {SINR^{pre}_{p,q}}=\mathrm {SINR_{p,q}}\)

\(\phantom {\dot {i}\!}\mathrm {SINR_{p,q}} \in \text {max} \{\mathrm {SINR_{sr_{m,n}}}, \text {SINR}_{\mathrm {r_{m,n}d}} \} \setminus \mathrm {SINR^{pre}_{p,q}}\)

end

else %Relay-destination link

\(\phantom {\dot {i}\!}\mathrm {SINR_{p,q}} \in [\mathrm {SINR_{r_{m,n}d}}], m,n \in [1,L]\)

if the buffers entries are not empty

\(\phantom {\dot {i}\!}\mathbf {y}_{r_{p,q}d,k}(2i-1)= \mathbf {h}_{r_{p}d}^{k} \hat {b}_{r_{p}d,k}(2i-1)+\mathbf {h}_{r_{q}d}^{k} \hat {b}_{r_{q}d,k}(2i)+\mathbf {n}(2i-1),\)

\(\phantom {\dot {i}\!}\mathbf {y}_{r_{p,q}d,k}(2i)=\mathbf {h}_{r_{q}d}^{k} \hat {b}^{*}_{r_{p}d,k}(2i-1)-\mathbf {h}_{r_{p}d}^{k} \hat {b}^{*}_{r_{q}d,k}(2i)+\mathbf {n}(2i).\)

%Apply the detectors/ML at the destination for detection

break

else%choose the second highest SINR

\(\mathrm {SINR^{pre}_{p,q}}=\mathrm {SINR_{p,q}}\)

\(\phantom {\dot {i}\!}\mathrm {SINR_{p,q}} \in \text {max} \{ \mathrm {SINR_{sr_{m,n}}}, \mathrm {SINR_{r_{m,n}d}}\} \setminus \mathrm { SINR^{pre}_{p,q}}\)

end

end

%Re-calculated the SINR for different link combinations and

repeat the above process

4 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 source-relay links and relay-destination 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
$$ \text{SINR}_{sr_{p}}=\frac{\sum\limits_{k=1}^{K} \mathbf{w}_{s_{k}r_{p}}^{H} \rho_{s_{k}r_{p}}\mathbf{w}_{s_{k}r_{p}} }{\sum\limits_{k=1}^{K} \sum\limits_{\substack{l=1\\l\neq p}}^{L} \mathbf{w}_{s_{k}r_{l}}^{H} \rho_{s_{k}r_{l}}\mathbf{w}_{s_{k}r_{l}} + \sigma^{2}\mathbf{w}_{s_{k}r_{p}}^{H} \mathbf{w}_{s_{k}r_{p}}}, $$
(24)
$$ {}\text{SINR}_{r_{p}d}=\!\frac{\sum\limits_{k=1}^{K} \left(\mathbf{w}_{r_{p}d}^{k}\right)^{H} \rho_{r_{p}d}^{k} \mathbf{w}_{r_{p}d}^{k}}{\sum\limits_{k=1}^{K} \sum\limits_{\substack{l=1\\l\neq p}}^{L} \left(\mathbf{w}_{r_{l}d}^{k}\right)^{H} \rho_{r_{l}d}^{k} \mathbf{w}_{r_{l}d}^{k} + \sigma^{2}\left(\mathbf{w}_{r_{p}d}^{k}\right)^{H}\left(\mathbf{w}_{r_{p}d}^{k}\right)}, $$
(25)
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
$$ \mathrm{SINR^{base}_{q}}=\text{arg}\max_{\substack{p\in[1,2,\ldots,L]}} \left\{\mathrm{SINR_{sr_{p}}}, \mathrm{ SINR_{r_{p}d}}\right\}. $$
(26)

Consequently, all possible relay pairs involved with base relay q are listed as Ω p,q , where p[1,L],pq. 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.

4.1 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
$$ \Omega^{\text{buffer}}_{n}\neq\varnothing, \ n\in [1,2,\ldots,L], $$
(27)
and
$$ \Omega^{\text{buffer}}_{q}\neq\varnothing, \ q\in [1,2,\ldots,L], $$
(28)
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
$$ \mathrm{SINR_{m,q}} = \text{arg}\max_{\substack{p\neq n,q\\p \in [1,2,\ldots,L]}} \left\{ \mathrm{SINR_{p,q}} \right\}. $$
(29)
The algorithm then repeats the new selected relay pair Ω m,q . Otherwise, if all possible relay pairs Ω p,q (pn,q,p[1,L]) are not available, we then reset the base relay associated with the second highest SINR as described by
$$ \mathrm{SINR^{pre}_{q}}=\mathrm{SINR^{base}_{q}}, $$
(30)
$$ \mathrm{SINR^{base}_{q}} = \text{max} \left\{\mathrm{SINR_{sr_{p}}}, \mathrm{SINR_{r_{p}d}} \right\} \setminus \mathrm{ SINR^{pre}_{q}}, $$
(31)

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.

4.2 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,
$$ \Omega^{\text{buffer}}_{n}\neq \mathrm{U}, \ n\in [1,2,\ldots,L], $$
(32)
and
$$ \Omega^{\text{buffer}}_{q}\neq \mathrm{U}, \ q\in [1,2,\ldots,L], $$
(33)

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 low-complexity 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.
Table 2

The proposed greedy relay pair selection algorithm

%Choose a single relay with the highest SINR that

corresponds to a specific base relay q

\(\mathrm {SINR^{base}_{q}}=\text {max} \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}}\}, p\in [1,L]\)

For p=1:L % all relay pairs associated with relay q

if p≠q

Ω relaypair=[p,q]

% when the links belong to the source-relay phase

\(\text {SINR}_{sr_{p,q}}=\frac {\sum \limits _{k=1}^{K} \mathbf {w}_{s_{k}r_{p}}^{H} \rho _{s_{k}r_{p}} \mathbf {w}_{s_{k}r_{p}}+\mathbf {w}_{s_{k}r_{q}}^{H} \rho _{s_{k}r_{q}} \mathbf {w}_{s_{k}r_{q}} }{\sum \limits _{k=1}^{K} \sum \limits _{\substack {l=1\\l\neq p,q}}^{L} \mathbf {w}_{s_{k}r_{l}}^{H} \rho _{s_{k}r_{l}} \mathbf {w}_{s_{k}r_{l}} + \sigma ^{2}\mathbf {w}_{s_{k}r_{p}}^{H} \mathbf {w}_{s_{k}r_{p}}+ \sigma ^{2}\mathbf {w}_{s_{k}r_{q}}^{H} \mathbf {w}_{s_{k}r_{q}}},\)

% when the links belong to the relay-destination phase

\(\text {SINR}_{r_{p,q}d}=\frac {\sum \limits _{k=1}^{K} (\mathbf {w}_{r_{p}d}^{k})^{H} \rho _{r_{p}d}^{k} \mathbf {w}_{r_{p}d}^{k}+(\mathbf {w}_{r_{q}d}^{k})^{H} \rho _{r_{q}d}^{k} \mathbf {w}_{r_{q}d}^{k}}{\sum \limits _{k=1}^{K} \sum \limits _{\substack {l=1\\l\neq p,q}}^{L} (\mathbf {w}_{r_{l}d}^{k})^{H} \rho _{r_{l}d}^{k} \mathbf {w}_{r_{l}d}^{k} + \sigma ^{2}(\mathbf {w}_{r_{p}d}^{k})^{H} \mathbf {w}_{r_{p}d}^{k}+ \sigma ^{2}(\mathbf {w}_{r_{q}d}^{k})^{H} \mathbf {w}_{r_{q}d}^{k}},\)

% record each calculated relay pair SINR

end

end

\(\phantom {\dot {i}\!}\mathrm {SINR_{n,q}}= \text {max} \{ \text {SINR}_{sr_{p,q}} \, \ \text {SINR}_{r_{p,q}d} \}\)

if%Reception mode

if the buffers entries are not full

\(\phantom {\dot {i}\!}\mathbf {y}_{sr_{n,q}}(2i-1)=\sum \limits _{k=1}^{K} \mathbf {h}_{s_{k}r_{n,q}} b_{k}(2i-1)+\mathbf {n}(2i-1),\)

\(\mathbf {y}_{sr_{n,q}}(2i)=\sum \limits _{k=1}^{K} \mathbf {h}_{s_{k}r_{n,q}}b_{k}(2i)+\mathbf {n}(2i).\)

%Apply the detectors at relay n and relay q to obtain

\(\phantom {\dot {i}\!}\hat {b}_{r_{n,q}d,k}(2i-1)\) and \(\hat {b}_{r_{n,q}d,k}(2i)\) and store them

in the corresponding buffer entries

else %choose another link with the second highest SINR

\(\phantom {\dot {i}\!}\mathrm {SINR^{pre}_{q}}=\mathrm {SINR^{base}_{q}}\)

\(\phantom {\dot {i}\!}\mathrm {SINR^{base}_{q}} \in \text {max} \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}} \} \setminus \mathrm { SINR^{pre}_{q}}\)

%Repeat the above greedy relay pair selection process

end

else%Transmission mode

if the buffers entries are not empty

\(\phantom {\dot {i}\!}\mathbf {y}_{r_{n,q}d,k}(2i-1)= \mathbf {h}_{r_{n}d}^{k} \hat {b}_{r_{n}d,k}(2i-1)+\mathbf {h}_{r_{q}d}^{k} \hat {b}_{r_{q}d,k}(2i)+\mathbf {n}(2i-1),\)

\(\phantom {\dot {i}\!}\mathbf {y}_{r_{n,q}d,k}(2i)= \mathbf {h}_{r_{q}d}^{k} \hat {b}^{*}_{r_{n}d,k}(2i-1)-\mathbf {h}_{r_{n}d}^{k} \hat {b}^{*}_{r_{q}d,k}(2i)+\mathbf {n}(2i).\)

%Apply the detectors/ML at the destination for detection

else%choose another link with the second highest SINR

\(\phantom {\dot {i}\!}\mathrm {SINR^{pre}_{q}}=\mathrm {SINR^{base}_{q}}\)

\(\phantom {\dot {i}\!}\mathrm {SINR^{base}_{q}} \in \text {max} \{\mathrm {SINR_{sr_{p}}}, \mathrm {SINR_{r_{p}d}} \} \setminus \mathrm { SINR^{pre}_{q}}\)

%Repeat the above greedy relay pair selection process

end

end

%Repeat the above greedy relay pair selection process

5 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.
Table 3

The algorithm to calculate the buffer size J

If SNR cur =SNR pre +d 1

then J cur=J pred 2,

where SNR cur and SNR pre represent the input SNR after and before

increasing its value,

J cur and J pre denote the corresponding buffer size before and after

decreasing its value,

d 1 and d 2 are the step sizes for the SNR and the buffer size, respectively.

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.
Table 4

The algorithm for calculate buffer size J based on the channel power

If \(\min \| h_{s_{k}r_{l}}\|^{2} \leq \gamma \) or \(\min \| h_{r_{l}d}\|^{2} \leq \gamma, \ \ l\in [1,L]\)

J cur=J pre+d 3

else

J cur=J pred 3

end

where d 3 represents the step size when adjusting the buffer size.

6 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.

6.1 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(L-1)/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 source-relay links and relay-destination 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.
Table 5

Computational complexity

Processing

Algorithm

Multiplications

Additions

Relay pair selection

Exhaustive search

7K N L 3

(2K N+K)L 3+2L

  

−7K N L 2

−(2K N+K+2)L 2

Relay pair selection

Greedy search

21K N L 2

6K N L 2+3K L 2

  

−7K N L

−3K LL+1

Channel estimation

Exhaustive search

(2N+1)K L

(2N−1)K L

 

Greedy search

  

Receive filter computation (RAKE)

Exhaustive search

4N J

(4N−2)J

 

Greedy search

  

6.2 Average delay analysis

The improvement of the performance brought by the buffer-aided relays comes at the expense of the transmission delay. Hence, it is of great importance to investigate the performance-delay trade-off of the proposed buffer-aided 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
$$ T=\frac{Q}{R_{a}} \ \ \ \ \mathrm{time \ \ slots,} $$
(34)

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 source-relay link and relay-destination 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]
$$ Q=\sum_{j=0}^{J} jP_{G_{j}}=JP_{G_{J}}, $$
(35)
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
$$ R_{a}=(1-P_{G_{J}})P+P_{G_{0}}P. $$
(36)
Similarly, the average departure rate from the buffer is given by
$$ R_{d}=(1-P_{G_{0}})P+P_{G_{J}}P. $$
(37)
Consequently, the above equations can be further derived as
$$ T=\frac{Q}{R_{a}}=\frac{P_{G_{J}}}{(1-P_{G_{J}})P+P_{G_{0}}P}J \mathrm{\ \ packets/slot}. $$
(38)

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 [3234]. 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.

6.3 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:
$$\begin{array}{ll} \mathrm{Stage \ 1:} &\left\{{\Omega_{1}^{1}}, {\Omega_{2}^{1}},\ldots,\Omega_{L-1}^{1}\right\},\\ \mathrm{Stage \ 2:} &\{{\Omega_{1}^{2}},{\Omega_{2}^{2}},\ldots, \Omega_{L-2}^{2}\},\\ &\vdots \\ \mathrm{Stage \ s:} &\{{\Omega_{1}^{s}},{\Omega_{2}^{s}},\ldots,\Omega_{L-s}^{s}\},\\ &\vdots \\ \mathrm{Stage \ L-1:} &\{{\Omega_{1}^{1}} \},\\ \end{array} $$
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
$$\mathrm{Stage \ 1:} \ \ \left\{{\Omega_{1}^{1}},{\Omega_{2}^{1}},\ldots,\Omega_{\frac {L(L-1)}{2}}^{1}\right\}. $$
The total number of relay combinations can then be calculated as \({C_{L}^{2}}=L(L-1)/2\), where each term \({C_{m}^{n}}=\frac {m(m-1)\ldots (m-n+1)}{n!}\) represents the number of combinations that we choose, i.e., n elements from m elements (mn).

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:
$$ \mathrm{SINR_{\Omega greedy}} \leq \mathrm{SINR_{\Omega exhaustive}} $$
(39)

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
$$ \Omega_{\text{exhaustive}}^{1}=\text{max} \ \left\{ \Omega_{\mathrm{exhautive(i)}}^{1}, i\in\left[1,{C_{L}^{2}}\right] \right\}, $$
(40)
$$ \Omega_{\text{greedy}}^{s} \in \left\{ \Omega_{\mathrm{exhautive(i)}}^{1}, i\in\left[1,{C_{L}^{2}}\right]\right\}, $$
(41)

where \(\Omega _{\mathrm {exhaustive(i)}}^{1}\) represents the i-th 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
$$\begin{aligned} &\Omega_{\text{greedy}}^{s}= \ \{p,q\},\\ &\Omega_{\text{exhaustive}}^{1}= \ \{p,q\},\\ \end{aligned} $$
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}}\). □

7 Simulations

In this section, a simulation study of the proposed buffer-aided DSTC techniques for cooperative systems is carried out. The DS-CDMA 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 buffer-aided exhaustive/greedy (FBAE/FBAG) relay pair selection strategies (RPS) and dynamic buffer-aided exhaustive/greedy (DBAE/DBAG) RPS.

In order to verify that the fixed buffer-aided relay pair DSTC cooperative scheme contributes to the performance gain, we compare the performance between the situations of the transmission with fixed-size buffers and without buffers in Fig. 3. The first example shown in Fig. 3a illustrates the performance comparison between the proposed buffer-aided 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 buffer-aided schemes, the RPS process only occurs during the second phase (relay-destination), where the random selection algorithm chooses an arbitrary relay pair, the proposed greedy algorithm chooses two relays associated with two optimum relay-destination links and the exhaustive relay pair schemes examines all possible relay pairs and selects the one with the highest SINR. In contrast, the proposed buffer-aided scheme automatically selects the relay pair over both source-relay links and relay-destination 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 single-user buffer-aided exhaustive RPS DSTC is presented here for comparison purposes. Consequently, the results reveal that our proposed buffer-aided strategies (J=6) perform better than the one without buffers. In particular, Fig. 3 a also illustrates that our proposed buffer-aided schemes can approach the single-user bound very closely.
Fig. 3

a Performance comparison for buffer-aided scheme and non buffer-aided scheme in cooperative DS-CDMA system with perfect decoding at the relay, RAKE at the destination. b Performance comparison for buffer-aided scheme and non buffer-aided scheme in cooperative DS-CDMA system with MMSE at the relay, RAKE at the destination

Another example depicted in Fig. 3 b compares the proposed buffer-aided DSTC transmission with different RPS and non-buffer-aided 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 single-user buffer-aided exhaustive RPS DSTC are presented for comparison purposes. The results also indicate that the proposed buffer-aided DSTC strategies (J=6) have higher diversity gain when compared with the ones without employed DSTC schemes during the relay-destination 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 buffer-aided 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 buffer-aided strategies (J=6) still perform better than the one without buffers.
Fig. 4

Performance comparison for buffer-aided scheme and non buffer-aided scheme in cooperative DS-CDMA system with MMSE at the relay, RAKE at the destination with channel estimation applied

The third example illustrates the performance comparison for the fixed buffer-aided design in Fig. 5 a and dynamic buffer-aided 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 buffer-aided 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 single-user 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.
Fig. 5

a Performance comparison for fixed buffer design (input SNR criterion). b Performance comparison for dynamic buffer design (input SNR criterion)

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 single-user buffer-aided exhaustive RPS DSTC is presented for comparison purposes. In both figures, the buffer-aided 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.
Fig. 6

a Performance comparison for fixed buffer design (channel power criterion). b Performance comparison for dynamic buffer design (channel power criterion)

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.
Fig. 7

BER versus size of the buffers for uplink cooperative system

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.
Fig. 8

Packet size comparison for uplink cooperative system

8 Conclusions

In this work, we have presented a dynamic buffer-aided DSTC scheme for cooperative DS-CDMA 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 relay-pair selection based on an exhaustive search and on a greedy approach. A dynamic buffer design has also been devised to improve the performance of buffer-aided schemes. Simulation results show that the performance of the proposed scheme and algorithms can offer good gains as compared to previously reported techniques.

Declarations

Acknowledgements

This work is funded by the ESII consortium under task 26 for low-cost wireless ad hoc and sensor networks.

Competing interests

The authors declare that they have no competing interests.

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

(1)
Department of Electronics, University of York
(2)
CETUC

References

  1. JG Proakis, Digital Communications, 4th edn. (McGraw-Hill, Inc, New York, 2011).MATHGoogle Scholar
  2. SS Ikki, MH Ahmed, Performance analysis of incremental–relaying cooperative–diversity networks over rayleigh fading channels. IET Commun.5(3), 337–349 (2011).MathSciNetView ArticleMATHGoogle Scholar
  3. S Wei, Diversity–multiplexing tradeoff of asynchronous cooperative diversity in wireless networks. IEEE Trans. Inf. Theory.53(11), 4150–4172 (2007).MathSciNetView ArticleMATHGoogle Scholar
  4. SS Ikki, MH Ahmed, Performance analysis of cooperative diversity with incremental-best-relay technique over rayleigh fading channels. IEEE Trans. Commun.59(8), 2152–2161 (2011).View ArticleMATHGoogle Scholar
  5. A Sendonaris, E Erkip, B Aazhang, User cooperation diversity—parts I and II. IEEE Trans. Commun.51(11), 1927–1948 (2003).View ArticleGoogle Scholar
  6. L Venturino, X Wang, M Lops, Multi-user detection for cooperative networks and performance analysis. IEEE Trans. Signal Process.54(9), 3315–3329 (2006).View ArticleGoogle Scholar
  7. JN Laneman, GW Wornell, Cooperative diversity in wireless networks: efficient protocols and outage behaviour. IEEE Trans. Inf. Theory. 50(12), 3062–3080 (2004).MathSciNetView ArticleMATHGoogle Scholar
  8. A Kalantari, E Soleimani-Nasab, M Ardebilipour, in 2011 19th Iranian Conference on Electrical Engineering. Performance analysis of best selection DF relay networks over Nakagami-n fading channels (Tehran, 2011), pp. 1–1.Google Scholar
  9. E Soleimani-Nasab, M Ardebilipour, A Kalantari, Performance analysis of selective df relay networks over nakagami-n and nakagami-q fading channels. Wirel. Commun. Mob. Comput.14(16), 1564–1581 (2014).View ArticleGoogle Scholar
  10. JN Laneman, GW Wornell, Distributed space-time coded protocols for exploiting cooperative diversity in wireless networks. IEEE Trans. Inf. Theory. 49(10), 2415–2425 (2003).MathSciNetView ArticleMATHGoogle Scholar
  11. S Yiu, R Schober, L Lampe, Distributed space-time block coding. IEEE Trans. Wirel. Commun.54(7), 1195–1206 (2006).View ArticleGoogle Scholar
  12. RC de Lamare, R Sampaio-Neto, Blind adaptive MIMO receivers for space-time block-coded DS-CDMA systems in multipath channels using the constant modulus criterion. IEEE Trans. Commun.58(1), 21–27 (2010).View ArticleGoogle Scholar
  13. Y Jing, B Hassibi, Distributed space-time coding in wireless relay networks. IEEE Trans. Wirel. Commun.5(12), 3524–3536 (2006).View ArticleGoogle Scholar
  14. T Peng, RC de Lamare, A Schmeink, in 2012 International Symposium on Wireless Communication Systems (ISWCS). Adaptive distributed space-time coding for cooperative MIMO relaying systems (Paris, 2012), pp. 611–615.Google Scholar
  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).View ArticleGoogle Scholar
  16. P Clarke, RC de Lamare, Transmit diversity and relay selection algorithms for multi-relay cooperative MIMO systems. IEEE Trans. Veh. Technol. 61(3), 1084–1098 (2012).View ArticleGoogle Scholar
  17. S Talwar, Y Jing, S Shahbazpanahi, Joint relay selection and power allocation for two-way relay networks. IEEE Signal Process. Lett. 18(2), 91–94 (2011).View ArticleGoogle Scholar
  18. J Gu, RC de Lamare, in 2014 22nd European Signal Processing Conference (EUSIPCO). Joint sic and multi-relay selection algorithms for cooperative DS-CDMA systems (Lisbon, 2014), pp. 556–560.Google Scholar
  19. T Peng, RC de Lamare, A Schmeink, Adaptive distributed space-time coding based on adjustable code matrices for cooperative MIMO relaying systems. IEEE Trans. Commun.61(7), 2692–2703 (2013).View ArticleGoogle Scholar
  20. J Gu, RC de Lamare, J Wireless Com Network (2016). 59: (2016).Google Scholar
  21. N Zlatanov, A Ikhlef, T Islam, R Schober, Buffer-aided cooperative communications: opportunities and challenges. IEEE Commun. Mag.52(4), 146–153 (2014).View ArticleGoogle Scholar
  22. N Zlatanov, R Schober, P Popovski, in Global Telecommunications Conference (GLOBECOM 2011). Throughput and diversity gain of buffer-aided relaying (IEEEHouston, 2011), pp. 1–6.Google Scholar
  23. I Krikidis, T Charalambous, J Thompson, Buffer-aided relay selection for cooperative diversity systems without delay constraints. IEEE Trans. Wirel. Commun.11(5), 1592–1967 (2012).View ArticleGoogle Scholar
  24. A Ikhlef, DS Michalopoulos, R Schober, Max-max relay selection for relays with buffers. IEEE Trans. Wirel. Commun.11(5), 1124–1135 (2012).View ArticleGoogle Scholar
  25. SM Alamouti, A simple transmit diversity technique for wireless communications. IEEE J. Sel. Areas Commun.16(8), 1451–1458 (1998).View ArticleGoogle Scholar
  26. CW Tan, AR Calderbank, Multiuser detection of alamouti signals. IEEE Trans. Commun.57(7), 2080–2089 (2009).View ArticleGoogle Scholar
  27. H Liu, Signal Processing Applications in CDMA Communications, 1st edn. (Artech House, Inc, Norwood, 2000).Google Scholar
  28. RC de Lamare, R Sampaio-Neto, Adaptive reduced-rank processing based on joint and iterative interpolation, decimation, and filtering. IEEE Trans. Signal Process.57(7), 2503–2514 (2009).MathSciNetView ArticleGoogle Scholar
  29. RC de Lamare, R Sampaio-Neto, Minimum mean-squared error iterative successive parallel arbitrated decision feedback detectors for ds-cdma systems. IEEE Trans. Commun.56(5), 778–789 (2008).MathSciNetView ArticleGoogle Scholar
  30. T Islam, RS A Iklef, V Bhargava, Diversity and delay analysis of buffer-aided bicm-ofdm relaying. IEEE Trans. Wirel. Commun.12(11), 5506–5519 (2013).View ArticleGoogle Scholar
  31. DP Bertsekas, RG Gallager, Data Networks, 2nd edn. (Prentice-Hall, Inc, Englewood Cliffs, 1991).MATHGoogle Scholar
  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.Google Scholar
  33. Y Gong, KB Letaief, Performance evaluation and analysis of space-time coding in unequalized multipath fading links. IEEE Trans. Commun.48(11), 1778–1782 (2000).View ArticleGoogle Scholar
  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.Google Scholar
  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 DS-CDMA systems (Florence, 2014), pp. 2754–2758.Google Scholar

Copyright

© The Author(s) 2016