Skip to content

Advertisement

  • Research
  • Open Access

Jointly optimized multiple Reed-Muller codes for wireless half-duplex coded-cooperative network with joint decoding

EURASIP Journal on Wireless Communications and Networking20152015:115

https://doi.org/10.1186/s13638-015-0334-1

Received: 6 May 2014

Accepted: 17 March 2015

Published: 22 April 2015

Abstract

In this paper, we present a novel technique to use Reed-Muller (RM) codes for the wireless half-duplex coded-cooperative network. Plotkin’s construction allows RM codes to be used in a coded-cooperative scheme. To improve the cooperation provided by the relay in a coded-cooperative scheme, a design criterion and an efficient algorithm to achieve the design objective are also suggested. Moreover, union bounds for average error probability are determined, for both the cooperative and the non-cooperative schemes based on RM codes in the Rayleigh fading channel. To generalize the proposed RM coded-cooperative scheme, we examined different RM codes at the source and at the relay. At the destination, soft decision maximum likelihood decoding (SD-MLD) and majority logic decoding are used. Theoretical analysis and Monte-Carlo simulations show that the proposed RM coded-cooperative scheme clearly outperforms the RM non-cooperative scheme.

Keywords

  • Average error probability
  • Coded-cooperative diversity
  • Joint multi-RM code design
  • Joint decoding
  • Majority logic decoding
  • Maximum likelihood decoding
  • Plotkin’s construction
  • Partial encoding
  • Reed-Muller codes

1 Introduction

In modern wireless communications, one of the most important aspects is to reduce the channel impairments over the signal propagation. The signal is distorted in a number of ways as it propagates through a wireless channel. Many phenomena like reflection, diffraction, and scattering are responsible for the loss of quality of service (QoS) [1]. Various diversity techniques such as time, frequency, polarization, and space are suggested in the literature to improve the quality of a wireless channel [1]. However, spatial diversity has proven to be the most effective diversity technique to combat the channel effects [2-4]. Unfortunately, many mobile communication devices are not capable to exploit this spatial diversity due to the constraints such as power, size, and hardware complexity. However, novel ideas such as the three-terminal communication [5] and the user cooperation to provide uplink diversity via single antenna sharing [6-8] provide suitable alternative and allow the mobile devices to take advantages of the spatial diversity.

The idea of coded-cooperative diversity was first introduced in [9]. In order to achieve the coded-cooperative diversity, many distributed coding schemes have been reported in the literature such as the convolutional codes [10,11], distributed space-time coding [12,13], distributed low-density parity-check codes (D-LDPC) [14,15] and distributed turbo codes (DTC) [16,17] and more recently the polar codes [18,19]. However, the BER performance of binary turbo and the LDPC codes largely depends on the information block size, the longer the better and vice versa, whereas for the short non-binary turbo and LDPC codes, reasonable performances under the iterative decoding are reported in [20,21]. In many existing and emerging applications (such as device-to-device and sensor networks), it is possible to have scenarios, which may transmit small information block size. Thus, it provides one of the many motivations for our work to develop such a coded-cooperative scheme, which may be useful particularly for applications having small information block size and require low encoding and decoding complexity. For any communication system, there is and always will be a trade-off between the complexity and performance as suggested in [22].

In this paper, we present a novel coded-cooperative scheme based on Reed-Muller (RM) codes [23,24]. The recursive algebraic structure of RM codes makes them different and in many ways superior over other linear block codes. RM codes have low encoding and decoding complexity which is a desirable feature in most of the practical applications [25]. Their algebraic structure and construction allows them to be used as suitable channel codes in a coded-cooperative communication system. There are various methods already suggested in the literature about the recursive construction of RM codes [26]. However, in order to use RM codes in a coded-cooperative diversity scheme, we use Plotkin’s construction [27]. In a coded-cooperative scheme, the source and the relay terminal jointly contribute to build good codes at the destination. The code is good at the destination as it is superior in its decoding properties as compared to the code transmitted at the source without any coded cooperation. To get the maximum coding gains from this joint construction, a joint decoding scheme is established at the destination. The relay plays a vital role in the code construction at the destination and a good code design at the relay can greatly improve the overall performance of the coded-cooperative scheme. Based on this fact, we also propose an efficient algorithm to design a good code at the relay. In [28,29], Plotkin’s construction is used in conjunction with the superposition coding for cooperative broadcasting in wireless networks. In superposition coding [30], two modulated subcode sequences, produced by the two coordinated and independent sources, are combined at the antenna of the receiver (also referred as over the air mixing [31]). The received modulated signals from the two cooperative broadcasting sources are added over the field of real numbers (or depending on the signal constellation used). That scheme also showed promising BER performance gains; however, the scheme proposed in this paper is entirely different from the former in many ways. Firstly, we use Plotkin’s construction to construct a new code at the destination, and binary addition of unmodulated codewords takes place at the relay instead of real number addition as suggested in [28,29]. Secondly, there is only one source in our scheme, and there is no over the air mixing, whereas in [28,29], two independent source nodes broadcast their information to the destination node and over the air mixing is performed.

This paper is organized as follows: Section 2 presents a generalized three-terminal-based coded-cooperative network and gives the channel description. In Section 3, preliminaries related to the RM codes and Plotkin’s construction are presented. Section 4 presents the encoding scheme for RM coded-cooperative and non-cooperative networks. In Section 5, the code design for the single-relay coded cooperation is presented. Performance analysis for RM-code-based cooperative and non-cooperative schemes over the Rayleigh fading channel is presented in Section 6. Section 7 presents various Monte-Carlo simulations and shows the significance of the proposed RM coded-cooperative scheme. Section 8 presents the conclusion of the article.

2 Three-terminal-based coded-cooperative communication model

A generalized three-terminal-based coded-cooperative scheme [5] is shown in Figure 1.
Figure 1
Figure 1

General system model for three-terminal-based coded-cooperative scheme.

It comprises three communication terminals or nodes such as the source S, the relay R, and the destination D. All these terminals have single antenna to transmit and receive, and they communicate with each other in half-duplex mode. The complete end-to-end transmission of an information sequence takes two time slots. During the first time slot, the source S encodes the message bits using the code C 1 and modulates binary codeword using the binary phase shift keying (BPSK) modulation. The BPSK-modulated signal \( {\mathbf{x}}^s=\left[{x}_1^s,{x}_2^s,\dots, {x}_L^s\right] \) is a vector of length L and is broadcasted to the relay and the destination, where each entry in x s is \( {x}_l^s\in \left\{-1,+1\right\},\ l=1,2,\dots, L \). The received signal vector y 1 at the relay is given as:
$$ {\mathbf{y}}_1={\mathbf{h}}_{s,r}{\mathbf{x}}^s+{\mathbf{n}}_{s,r} $$
(1)
where n s,r  = [n s,r(1), n s,r(2), …, n s,r(L)] is a vector of complex additive Gaussian noise with each component n s,r(j), (j = 1, 2, …, L) is a zero-mean complex Gaussian random variable (RV) with independent real and imaginary components of variance N 0/2, and h s,r  = [h s,r(1), h s,r(2), …, h s,r(L)] is a channel fading coefficient vector whose entries h s,r(j), (j = 1, 2, …, L) are independent and identically distributed (i.i.d.) complex Gaussian random variables with zero-mean and 0.5 variance per dimension. In the case of the fast Rayleigh fading, the fading coefficients change independently over the transmission of every symbol \( {x}_l^s \), whereas in the case of the slow Rayleigh fading, the fading coefficients remain constant for the whole frame x s and change independently over transmission of every next frame. The signal received at the destination y 2 during the first time slot is given as:
$$ {\mathbf{y}}_2={\mathbf{h}}_{s,d}{\mathbf{x}}^s+{\mathbf{n}}_{s,d} $$
(2)
where h s,d is a channel fading coefficient vector and n s,d is a Gaussian noise vector which are defined similarly as h s,r and n s,r , respectively.

During the second time slot, the recovered information bits at the relay node (received in the first time slot), are re-encoded using the code C 2. After BPSK modulation of the binary codeword, the relay transmits its signal \( {\mathbf{x}}^r=\left[{x}_1^r,{x}_2^r,\dots, {x}_L^r\right] \) to the destination node, where x r is a vector of length L and each entry in x r is \( {x}_l^r\in\ \left\{-1,+1\right\},\ l=1,2,\dots, L \). The transmission of x r to the destination during the second time slot is represented with a dashed line as shown in Figure 1.

The signal received y 3 at the destination during the second time slot is modeled as:
$$ {\mathbf{y}}_3={\mathbf{h}}_{r,d}{\mathbf{x}}^r+{\mathbf{n}}_{r,d} $$
(3)
where h r,d is a channel fading coefficient vector and n r,d is a Gaussian noise vector which are defined similarly as h s,r and n s,r . Finally, the overall received signal y at the destination is modeled as follows:
$$ \mathbf{y}=\left|{\mathbf{y}}_2\right|{\mathbf{y}}_3\Big| $$
(4)
where ‘|’ represents the concatenation of the two signals received during the first and the second time slots. This signal y is passed to the decoder to recover the information sequence generated at the source.

3 Fundamentals of RM codes

RM codes belong to a family of linear block codes, which have very nice mathematical properties. Before we discuss the motivation of this paper, let us present some preliminaries related to the RM codes and Plotkin’s construction. Mathematically, RM codes are best described using Boolean function as follows:

‘The r th order binary RM code (r, m) of block length n = 2 m , for 0 ≤ r ≤ m, is the set of all vectors f, where f(α 1, α 2, …, α m ) is a Boolean function which is a polynomial of degree at most r’ [26], where m and r are any positive integer. The binary r th order (r, m) code has the dimension k given as:
$$ k=1+\left(\begin{array}{c}\hfill m\hfill \\ {}\hfill 1\hfill \end{array}\right)+\left(\begin{array}{c}\hfill m\hfill \\ {}\hfill 2\hfill \end{array}\right)+\dots +\left(\begin{array}{c}\hfill m\hfill \\ {}\hfill r\hfill \end{array}\right) $$
(5)
and the minimum Hamming distance is d = 2 m − r . RM codes can be constructed in different ways such as algebraically, m-fold Kronecker product or by Plotkin’s construction [25-27,32]. However, Plotkin’s construction provides the motivation for utilizing RM codes in the coded-cooperative diversity scheme. RM codes of length 2 m + 1 can be obtained via RM codes of length 2 m using Plotkin’s construction. Let C 1(n, k 1, d 1) = (r + 1, m) and C 2(n, k 2, d 2) = (r, m) be the two RM codes, where n is the codeword length, k 1 and k 2, are the dimensions, and d 1 and d 2 are the minimum Hamming distances of the codes C 1 and C 2 respectively. Then, according to Plotkin’s construction, we get a new RM code such as, \( {\tilde{C}}_3\left(\tilde{N},\tilde{k},{d}_3\right)=\mathcal{R}\left(r+1,\kern0.5em m+1\right) \) defined as:
$$ \begin{array}{c}{\tilde{C}}_3=\mathcal{R}\left(r+1,\kern0.5em m+1\right)\\ {}=\left\{\left|\mathbf{u}\right|\mathbf{u}+\mathbf{v}\Big|:\kern0.1em \mathbf{u}\in \mathcal{R}\left(r+1,\kern0.1em m\right),\kern0.2em \mathbf{v}\in \mathcal{R}\left(r,\kern0.1em m\right)\kern0.1em \right\}\end{array} $$
(6)
where u,v are the binary codeword vectors, + is an addition over GF(2) field. The new code \( {\tilde{C}}_3 \) has the codeword length Ñ = 2n, dimension \( \tilde{k}={k}_1+{k}_2 \) and the minimum Hamming distance is given as [25]:
$$ {d}_3= \min \left\{\kern0.1em 2{d}_1,\kern0.1em {d}_2\right\} $$
(7)

Plotkin’s construction is also referred to as |u|u + v| construction.

4 RM coded-cooperative and non-cooperative schemes

Based on the coded-cooperative scheme in Section 2, we propose a generalized three-terminal-based RM coded-cooperative scheme as shown in Figure 2.
Figure 2
Figure 2

Generalized RM coded-cooperative scheme.

However, this time, the codes used at the source and at the relay are two distinct RM codes C 1(n, k 1, d 1) = (r + 1, m) and C 2(n, k 2, d 2) = (r, m), respectively. The information sequence m 1 generated at the source takes two time slots to be recovered at the destination. During the first time slot, k 1 message bits are encoded using the (r + 1, m) code, and the resultant codeword vector u of length n = 2 m is then BPSK-modulated. The modulated signal x s is broadcasted simultaneously to the relay and the destination nodes. The relay decodes the received signal y 1 to recover the information sequence transmitted at the source. The recovered information sequence \( {\tilde{\mathbf{m}}}_1=\left[{\tilde{m}}_1,{\tilde{m}}_2,\dots, {\tilde{m}}_{k_1}\right] \) may or may not be error free, depending on the S-R link.

During the second time slot, the relay performs partial encoding using (r, m) code and selects only k 2 message bits out of k 1 recovered message bits, where k 2 < k 1. The term partial indicates that not all the recovered k 1 message bits are re-encoded at the relay, thus encoding complexity is significantly reduced at the relay terminal. The selection criteria of k 2 message bits is explained in Section 5 and has significant impact on the overall performance of the RM coded-cooperative scheme. The selected k 2 information bits are then encoded using (r, m) code to produce the codeword v of the length n = 2 m . In the next step, the direct sum of two codewords ũ and v is determined, i.e., |ũ + v| where ũ is a recovered codeword at the relay, ũ may or may not equal to u depending on the S-R link condition. However, for notational simplicity, we assume ũ = u in the rest of the paper unless specified. This direct sum is BPSK-modulated as x r and transmitted to the destination node during the second time slot as shown with a dashed line in Figure 3.
Figure 3
Figure 3

End-to-end RM encoding and decoding in a coded-cooperative scheme with reference to time.

At the destination node, the signals transmitted at the source and at the relay during the first and second time slots, respectively, are concatenated as in (4). The demodulated codeword |u|u + v| at the destination belongs to a new code C 3 which is jointly constructed by the source and the relay nodes. Moreover, \( {C}_3\subseteq {\tilde{C}}_3=\mathcal{R}\left(r+1,\kern0.5em m+1\right) \) due to the fact that the message bits m 2 encoded at the relay are the function of the message bits \( {\tilde{\mathbf{m}}}_1 \) recovered at the relay, i.e., \( {\mathbf{m}}_2\left({\tilde{\mathbf{m}}}_1\right) \). In other words, message bits at the relay m 2 are not independent or generated randomly, they are in fact subset of \( {\tilde{\mathbf{m}}}_1 \). If m 2 is the function of \( {\tilde{\mathbf{m}}}_1 \), then the code C 2 generated at the relay is also a function of the code generated at the source C 1 i.e., C 2(C 1). Then, the jointly constructed code C 3 at destination is given as:
$$ {C}_3=\left|{C}_1\right|{C}_1+{C}_2\left({C}_1\right)\Big| $$
(8)
where C 3 has the codeword length N = 2n and the minimum Hamming distance is d 3 ≥ min{2d 1, d 2}, for RM codes particularly d 3 = min{2d 1, d 2} as given in (7). Since \( {\mathbf{m}}_2\left({\tilde{\mathbf{m}}}_1\right) \), therefore we have all possible codewords at the destination equal to \( {2}^{k_1} \) instead of \( {2}^{k_1+{k}_2} \) as \( {2}^{k_2} \) codewords are expurgated. The codeword obtained at the destination due to joint construction of the source and the relay is given as:
$$ \left|\mathbf{u}\right|\mathbf{u}+\mathbf{v}\left|=\right|\underset{1^{\mathrm{st}\ }\mathrm{part}}{\underbrace{u_1,{u}_2,\dots, {u}_n}}\left|\overset{2^{\mathrm{nd}}\ \mathrm{part}}{\overbrace{{\left(u+v\right)}_1,{\left(u+v\right)}_2\dots, {\left(u+v\right)}_n}}\right| $$
(9)

The first part in (9) is in fact a codeword generated at the source, and the second part is a codeword generated at the relay. The second part provides additional redundancy, which is exploited by the joint decoding at the destination. The word ‘joint’ here refers to the fact that the signals received from the source y 2 and the relay y 3 during different time slots are jointly decoded as a single received vector y = |y 2|y 3|. The code rate of the overall distributed code is \( {R}_c^0={k}_1/2n \).

Due to the rich algebraic structure of the RM codes, there are several decoding methods already reported in the literature. Majority decoding was the first algorithm proposed for RM codes. Recursive algorithms and multistage decoding algorithms are discussed in [33,34]. A simplified algorithm for soft-decision decoding of RM codes is suggested in [35]. RM codes of longer lengths can be decomposed to the constituent codes and sub-optimal techniques can be used for the decoding, with less complexity [25]. However, in this paper, we use the majority logic decoding and soft decision maximum likelihood decoding (SD-MLD) with an assumption of perfect channel state information (CSI) known at the destination. For joint SD-MLD, the decision metric used is given as:
$$ \zeta \left(\mathbf{y},\mathbf{x}\right)={\left\Vert \left|{\mathbf{y}}_2\left|{\mathbf{y}}_3\right|-\left|{\mathbf{h}}_{s,d}{\mathbf{x}}^s\right|{\mathbf{h}}_{r,d}{\mathbf{x}}^r\right|\right\Vert}_F $$
(10)
where .  F represents the Frobenius norm. The joint decoding (majority logic or SD-MLD) of the overall concatenated received signal y = |y 2|y 3| results in the information sequence \( \tilde{\mathbf{m}} \) of length \( \tilde{k}={k}_1+{k}_2 \) as follows:
$$ \begin{array}{l}\tilde{\mathbf{m}}=\left|{\tilde{\mathbf{m}}}_1\right|{\tilde{\mathbf{m}}}_2\Big|\\ {}\tilde{\mathbf{m}}=\left|\underset{1^{\mathrm{st}}\ \mathrm{part}}{\underbrace{{\tilde{m}}_1,{\tilde{m}}_2,\dots, {\tilde{m}}_{k_1}}}\right|\overset{2^{\mathrm{nd}}\ \mathrm{part}}{\overbrace{{\tilde{m}}_{k_1+1},\dots, {\tilde{m}}_{k_2}}}\Big|\end{array} $$
(11)
where we are interested only in the first part \( {\tilde{\mathbf{m}}}_1 \), which is in fact the original message transmitted at the source.
In order to show the effect of cooperative diversity, and a suitable benchmark to the proposed RM coded-cooperative scheme, we consider a non-cooperative RM-code-based transmission scheme as shown in Figure 4.
Figure 4
Figure 4

Non-cooperative RM transmission scheme.

In a non-cooperative scheme, both the source and the relay units assumed in the coded-cooperative scheme are considered to be a single source unit, i.e., the source employs two encoders C 1 = (r + 1, m) and C 2 = (r, m); information bit selection for encoding by the C 2 = (r, m) encoder is similar to the coded-cooperative scheme, explained in the next section. The direct sum of the two codewords u + v generated by each encoder is then concatenated with the codeword u generated by the first encoder C 1 = (r + 1, m) by an additional block constructing the |u|u + v| codeword, which is then modulated and sent to the destination.

5 Code design for partial encoding at the relay

In this section, we suggest a design criterion to select k 2 message bits out of k 1 recovered message bits at the relay. An efficient algorithm to achieve the design criterion is also proposed. The codeword |u|u + v| C 3 of minimum Hamming distance d 3 = min{2d 1, d 2} may occur at the destination due to the following worst case scenario that is when a codeword of minimum Hamming distance d 1 is generated at the source, i.e., wt(u) = 2 m − r − 1 = d 1 (where wt is the Hamming weight), and at the relay, the all-zero codeword, i.e., v = 0 wt(v) = 0 is generated (where 0 bold style is the all-zero codeword vector). Consequently, the weight of the codeword |u|u + v| constructed at the destination is:
$$ {d}_3=\mathrm{wt}\left(\left|\mathbf{u}\Big|\mathbf{u}+\mathbf{v}\right|\right)=\mathrm{wt}\left(\left|\mathbf{u}\Big|\mathbf{u}\right|\right)=2{d}_1 $$
(12)

Therefore, to avoid this worst case also referred to as the first worst case scenario hereafter, we propose a design criterion as follows:

‘Select a subset C 3 of \( {\tilde{C}}_3=\mathcal{R}\left(r+1,\kern0.5em m+1\right) \) code at the destination with as few as possible codewords of minimum Hamming distance d 3 = 2 m − r .

In order to meet the design criterion, the code at the relay must be designed in such a way that it avoids the worst case scenario. Let us first define some nomenclature before we present design steps of the proposed algorithm to achieve the design objective.
  1. i.

    The first worst case scenario is defined as an event when the codeword generated at the source achieves minimum Hamming weight, i.e., wt(u) = d 1 and at the relay, the all-zero codeword, i.e., v = 0 wt(v) = 0 is obtained. Let K 1 represent the number of occurrences for the first worst case scenario.

     
  2. ii.

    The second worst case scenario is defined as an event in which the codeword of minimum Hamming distance \( {d}_3^{1\mathrm{s}\mathrm{t}}={d}_3 \) is obtained at the destination, due to the joint encoding of the source and the relay nodes. Let K 2 represent the number of occurrences for the second worst case scenario, where K 2 = K b is also referred to as the error coefficient of any linear block code.

     
  3. iii.

    Similarly, the third worst case scenario is defined as an event in which the codeword of Hamming distance \( {d}_3^{2\mathrm{n}\mathrm{d}} \) just greater than the \( {d}_3^{1\mathrm{s}\mathrm{t}} \) is obtained at the destination, due to the joint encoding of the source and the relay nodes, where \( {d}_3^{1\mathrm{s}\mathrm{t}}<{d}_3^{2\mathrm{n}\mathrm{d}}<\dots <{d}_3^{N\mathrm{t}\mathrm{h}} \), and \( {d}_3^{N\mathrm{t}\mathrm{h}} \) is the maximum Hamming distance of a codeword. Let K 3 represent the number of occurrences for the third worst case scenario.

     
  4. iv.

    |Ω| represents the cardinality of any set Ω.

     
  5. v.

    a → b represents that the selection of quantity a results in the quantity b.

     
The design steps of the proposed algorithm are as follows:
  1. 1)

    Determine A = {m κ }, which is a set of all message blocks that result in the codewords of minimum Hamming distance d 1 at the source, where κ = 1, 2, …, K b , and ϑ = |A|.

     
  2. 2)
    Determine B = {λ g }, which is a set of unique combinations \( {\boldsymbol{\uplambda}}_g=\left[{\lambda}_1,{\lambda}_2,\dots, {\lambda}_{k_2}\right] \), where g = 1, 2, …, S and each λ g is a vector of length k 2, S = |B| and is determined as:
    $$ S=\left(\begin{array}{c}\hfill {k}_1\hfill \\ {}\hfill {k}_2\hfill \end{array}\right)=\frac{k_1!}{k_2!\left({k}_1-{k}_2\right)!} $$
    (13)
     
  3. 3)

    Determine the first worst case scenarios K 1, m κ  A and λ g  B by keeping each unique combination λ g intermediately fixed at the relay.

     
  4. 4)

    Select λ g  → min(K 1) and store it in the set C. If |C| = 1, then go to step 9 else proceed to step 5.

     
  5. 5)

    Determine the second worst case scenarios K 2, m κ  A and λ g  C by keeping each unique combination λ g intermediately fixed at the relay.

     
  6. 6)

    Select λ g  → min(K 2) and store it in the set D. If |D| = 1, then go to step 9 else proceed to step 7.

     
  7. 7)

    Determine the third worst case scenarios K 3, m κ  A and λ g  D by keeping each unique combination λ g intermediately fixed at the relay.

     
  8. 8)

    Select λ g  → min(K 3) and store it in the set E. If |E| = 1, then go to step 9 else arbitrarily choose any unique combination λ g  E and proceed to step 9.

     
  9. 9)

    The optimum combination λ o  = λ g is selected. End of the algorithm.

     

Finally, the optimum combination λ o is fixed at the relay, and only the k 2 information bits defined by λ o are further encoded using (r, m) code to get the codeword v.

The algorithm is efficient in a way that it does not require all the message blocks \( {2}^{k_1} \) generated at the source to be considered for the algorithm search. Only the \( \vartheta <<{2}^{k_1} \) number of message blocks, which results in codewords of minimum Hamming distance d 1 at the source is considered in the design of an algorithm. The total number of elementary operations (additions and multiplications) Θ if the algorithm converges at step 6 is as follows:
$$ \Theta =S\vartheta \left[2n\left({k}_1+{k}_2\right)+N-2\right] $$
(14)
where Θ shows that the complexity to determine the optimal combination λ o increases with an increase in the dimension of the codes, i.e., k 1 and k 2 used at the source and at the relay, respectively, and with the codeword block length n. It should be noted that if algorithm converges at step four, then the complexity of the algorithm is obviously less than Θ and increases if algorithm does not converge at step 6. The straightforward proof of (14) is given in the Appendix section.

For a better understanding of the proposed algorithm, we present the following illustrative example.

5.1 Example 1

Consider a RM coded-cooperative scheme in which the source employs C 1(n 1 = 16, k 1 = 11, d 1 = 4) = (2, 4) code and the relay employs C 2(n 2 = 16, k 2 = 5, d 2 = 8) = (1, 4) code, and their joint coded cooperation results in a new code \( {C}_3\subseteq {\tilde{C}}_3=\mathcal{R}\left(2,\kern0.5em 5\right) \) at the destination. The source can encode k 1 = 11 message bits, and the relay can encode only k 2 = 5 message bits out of k 1 = 11 message bits (recovered at the relay). The selection procedure of k 2 = 5 out of k 1 = 11 message bits according to the proposed algorithm is explained as follows.

In the first step, we determine A = {m κ } i.e., the set of all message blocks which result in the codewords of minimum Hamming distance d 1 = 4 at the source. For (2, 4) code, ϑ = |A| = 140, this parameter can be determined using computer simulations or by using the generalized formula in [26]. Then, according to step 2, we have S = 462 unique combinations λ g  = [λ 1, λ 2, …, λ 5] using (13) in which 5 bit positions can be chosen out of total 11 bit positions. Let these unique combinations be stored in B = {λ g }.. In the third step, K 1 is determined λ g B and the minimum number of the first worst cases is observed to be min(K 1) = 4. In the fourth step, the unique combinations which resulted in min(K 1) = 4 cases, i.e., λ g  → min(K 1) are stored in C as shown in Table 1.
Table 1

Pool ‘ C ’, unique combinations out of 462 combinations, which result in least number of K 1 and K 2 cases \( {C}_3\subseteq \left\{{\tilde{C}}_3\right\} \)

Serial number

Pool ‘ C

K 1

K 2

Sequence of bit positions

1

6,7,8,9,10

4

30

2

6,7,8,9,11

4

24

3

6,7,810,11

4

20

4

6,7,9,10,11

4

36

5

6,8,9,10,11

4

24

6

7,8,9,10,11

4

24

The cardinality of the set C is |C| = 6. Since, |C| > 1 we proceed to step 5. In the fifth step, K 2 is determined λ g C by keeping each λ g intermediately fixed at the relay and transmitting all m κ A. The unique combination λ g  → min(K 2) = 20 also shown in Table 1 is stored in the set D, where |D| = 1, therefore, we proceed to step 9, and the optimum combination λ o is chosen as λ o  = λ g  = {6, 7, 8, 10, 11} → min(K 2) = 20 and the algorithm search is terminated.

6 Average error probability

6.1 AWGN channel

In this section, we present the performance analysis of the designed code C 3 under the SD-MLD and over an AWGN channel. The union bound estimate of error probability per information bit P b (E) for any binary linear code with code rate R c and dimension k using SD-MLD is given as [36]:
$$ {P}_b(E)\le {\displaystyle \sum_{i=2}^{2^k}Q\left(\sqrt{2{R}_c{w}_i{\gamma}_b}\right)} $$
(15-a)
where γ b is the signal-to-noise ratio (SNR) per information bit Q(.) is a Gaussian Q function, and w i is a Hamming weight of a codeword. For probability of bit error P b , we substitute P b (E) in the following equation:
$$ {P}_b={\displaystyle \sum_{w={d}_{\min}}^N\frac{A_w}{k}{P}_b(E)} $$
(15-b)
where N is a codeword length, A w is a weight enumerating factor and usually determined via exhaustive computer search. However, for RM codes, A w can also be determined analytically as suggested in [26].
As an example, we present the performance analysis of the designed code \( {C}_3\subseteq {\tilde{C}}_3=\mathcal{R}\left(2,\kern0.5em 5\right) \), which is joint constructed by (2, 4) and (1, 4) codes. To compute P b , we first determine the weight distribution of the code C 3 via exhaustive computer search and is given as follows:
$$ \begin{array}{l}{A}_0=1,{A}_8=20,{A}_{12}=416,{A}_{16}=1,174,\\ {}{A}_{20}=416,{A}_{24}=20,{A}_{32}=1\end{array} $$
Thus, a probability of bit error P b for the code C 3 using (15-b) is given as:
$$ {P}_b=\frac{1}{k}\left(\begin{array}{c}20Q\left(\sqrt{2{R}_c{w}_8\frac{E_b}{N_0}}\right)+416Q\left(\sqrt{2{R}_c{w}_{12}\frac{E_b}{N_0}}\right)+1,174Q\left(\sqrt{2{R}_c{w}_{16}\frac{E_b}{N_0}}\right)\\ {}+416Q\left(\sqrt{2{R}_c{w}_{20}\frac{E_b}{N_0}}\right)+20Q\left(\sqrt{2{R}_c{w}_{24}\frac{E_b}{N_0}}\right)+Q\left(\sqrt{2{R}_c{w}_{32}\frac{E_b}{N_0}}\right)\end{array}\right) $$
(16)
The bound in (16) is plotted in Figure 5 along with the numerical simulation results for the code \( {C}_3\subseteq\ {\tilde{C}}_3=\mathcal{R}\left(2,\kern0.5em 5\right) \), both results are in close agreement to each other particularly at high SNR. The BER performances of some of the well-known RM codes such as (2, 4), (2, 5) and (3, 7) [25] are also shown in Figure 5. The idea is to show the performance of the proposed code with reference to the existing well-known RM codes in the literature. However, the code rate is not uniform except for the (2, 5) and (3, 7) codes, i.e., R c  = 1/2, and it will not be fair to compare the BER performances of other codes with different rates. However, the code (3, 7) with the highest d min and information length k outperforms all the other codes; moreover, this result is intuitive as seen from (15-a) and (15-b).
Figure 5
Figure 5

SD-MLD, BER performances of (2, 4), \( {C}_3\subset {\tilde{C}}_3=\mathcal{R}\left(2,5\right) \), (2, 5), and (3, 7) [25] over an AWGN channel.

6.2 Rayleigh fading channel

In this section, we present average error probability bounds for the RM-based non-cooperative and coded-cooperative schemes over the fast Rayleigh fading channel. At first, we consider a non-cooperative scheme, and using the techniques outlined in the available literature [10,36], the unconditional error probability is as follows:
$$ {P}_b(E)=\frac{1}{\pi }{\displaystyle \underset{0}{\overset{\pi /2}{\int }}}{\left(1+\frac{{\overline{\gamma}}_{SD}}{{ \sin}^2\phi}\right)}^{-\mathrm{wt}\left(\left|\mathbf{u}\Big|\mathbf{u}+\mathbf{v}\right|\right)}d\phi $$
(17)
The integral in (17) can be determined using available computer packages. Then, to determine the average error probability P b , we substitute P b (E) in (15-b). For a proposed RM coded-cooperative scheme, the unconditional error probability is as follows:
$$ \begin{array}{l}{P}_b(E)=\frac{1}{\pi }{\displaystyle \underset{0}{\overset{\pi /2}{\int }}}{\left(1+\frac{{\overline{\gamma}}_{SD}}{2{ \sin}^2\phi}\right)}^{-{w}_1}{\left(1+\frac{{\overline{\gamma}}_{RD}}{2{ \sin}^2\phi}\right)}^{-{w}_2}d\phi \\ {}\end{array} $$
(18)
The upper bound can easily be obtained by assuming sin 2 ϕ = 1 and is given as:
$$ {P}_b(E)\le \frac{1}{2}{\left(\frac{1}{1+{\overline{\gamma}}_{SD}}\right)}^{wt\left(\mathbf{u}\right)}{\left(\frac{1}{1+{\overline{\gamma}}_{RD}}\right)}^{wt\left(\mathbf{u}+\mathbf{v}\right)} $$
(19)

From (18), it can be seen that the diversity order of the coded-cooperative scheme is equal to the Hamming weight w = w 1 + w 2, which is similar to the diversity order of the non-cooperative scheme. Moreover, in the case of the fast Rayleigh fading if γ RD  = γ SD , then the BER performances of the coded-cooperative and non-cooperative schemes are identical. In the fast Rayleigh fading, the relay node can provide extra benefit only if γ RD  > γ SD . However, in the case of the slow Rayleigh fading, the true significance of the relay node (or coded cooperation), i.e., the spatial diversity, is observed even if γ RD  = γ SD , and the scenarios such as γ RD  > γ SD can be beneficial but not mandatory. These facts are also supported with the help of Monte-Carlo simulations presented in the next section.

7 Simulation results and observations

For the simulations, we consider two different cases to generalize our proposed RM coded-cooperative scheme and the code design algorithm at the relay. In the first case, (2, 4) and (1, 4) codes are considered for encoding, and in the second case, we use (2, 5) and (1, 5) codes for the encoding. The Rayleigh fading channel is considered among all the communication nodes with perfect CSI known at all corresponding receivers. All transmitting nodes transmit at an equal power, and BPSK modulation is used for the transmission of a codeword over radio frequency (RF) channel. BER simulations are reported in terms of SNR per information bit, defined as γ SD /R c , where γ SD is the SNR per code bit between the S-D link and R c is the code rate at which the source encodes message bits.

7.1 Case I

The first case employs C 1 = (2, 4), and C 2 = (1, 4) codes for encoding. In the case of coded cooperation, C 1 = (2, 4) code is used at the source and C 2 = (1, 4) code is used at the relay, and they jointly construct a new code C 3 at the destination, where \( {C}_3\subseteq {\tilde{C}}_3=\mathcal{R}\left(2,\kern0.5em 5\right) \). The source encodes k 1 = 11 message bits, and the relay encodes only k 2 = 5 bits, which are selected from k 1 bits (decoded at the relay). The optimum bit selection rule was determined in Example 1, i.e., λ o  = {6, 7, 8, 10, 11}. The code rate at the source is R c  = 11/16, and the code rate of the overall distributed code is \( {R}_c^0=11/32 \). For case I, the source node of non-cooperative scheme consists of two encoders C 1 = (2, 4) and C 2 = (1, 4). The information bit selection for encoding by the second encoder C 2 = (1, 4) is similar to the coded-cooperative scheme. The direct sum of the two codewords u + v generated by each encoder is determined and then concatenated with the codeword u(2, 4) resulting in the codeword |u|u + v| C 3, which is then BPSK-modulated and sent to the destination. Both coded-cooperative and non-cooperative schemes are compared under the condition of an equal rate (11/32) for a fair comparison. BER performance simulations for case I are presented for six different scenarios.

For the first scenario, we compare the BER performances of RM coded-cooperative and non-cooperative schemes over the fast Rayleigh fading channel. Ideal S-R link γ SR  = ∞ is assumed, and SD-MLD is used at the destination. From Figure 6, it is noticed that the coded-cooperative diversity scheme does not provide any additional BER performance gains over the non-cooperative scheme if relay has no or 0-dB gain relative to the source, i.e., γ SD  = γ RD , which should not be surprising since it is a known fact for a fast Rayleigh fading channel [10] also shown in (17) and (19). The coded-cooperative scheme outperforms the non-cooperative scheme only when γ RD  = γ SD  + 3 dB. The theoretical and simulated performance of the designed code C 3 validate each other.
Figure 6
Figure 6

SD-MLD, RM coded-cooperative and direct schemes over a fast Rayleigh fading channel with (2, 4) and (1, 4) codes.

The first scenario (with the fast Rayleigh fading channel) shows only one side of the picture and does not give insight to the concept of path diversity due to the relay node. Therefore, to show the effect of path diversity due to the relay node, we now present a second scenario, which assumes a slow Rayleigh fading channel among all the communication nodes. The BER performances of RM coded-cooperative and non-cooperative schemes are shown in Figure 7 over the slow Rayleigh fading channel and SD-MLD decoding at the destination. It is observed that the RM coded-cooperative scheme with γ SR  = ∞, γ SD  = γ RD outperforms the non-cooperative scheme with a coding gain margin of more than 10 dB at BER ≈ 10−5, which improves further when γ RD  = γ SD  + 10 dB. This is where the true capability of the coded-cooperative system comes into display, and merely constructing a good code at the destination is not enough to combat the channel fading. It is due to these joint construction and the joint decoding features of the coded-cooperative scheme, which make it superior over the non-cooperative alternatives.
Figure 7
Figure 7

SD-MLD, RM coded-cooperative and direct schemes over a slow Rayleigh fading channel with (2, 4) and (1, 4) codes.

The third scenario is the continuity of the second scenario with the difference that the majority logic decoding is used at the destination. The BER performances of RM coded-cooperative and non-cooperative schemes over a slow Rayleigh fading channel are shown in Figure 8, where the RM coded-cooperative scheme with γ SR  = ∞, γ SD  = γ RD provides a coding gain of more than 5 dB at BER ≈ 10−3, which improves further when γ RD  = γ SD  + 10 dB.
Figure 8
Figure 8

Majority logic decoding, RM coded-cooperative and direct schemes over a slow Rayleigh fading channel with (2, 4) and (1, 4) codes.

In the fourth scenario, we present the effectiveness of the proposed algorithm for code design at the relay. Therefore, we present the comparison between the two RM coded-cooperative schemes: in one scheme, the code at the relay is designed according to the proposed design criterion, whereas in the other scheme, the code at the relay is randomly selected; in other words, it is not necessary that it avoids the worst case scenarios. Moreover, in both of the schemes, we assume γ RD  = γ SD and joint SD-MLD is used at the destination and the channel is fast Rayleigh fading. It is shown in Figure 9, that the optimally designed relay provides 1.2-dB gain at BER ≈ 10−5 as compared to the randomly designed relay. The loss in the BER performance of randomly designed relay is obvious since the coded-cooperative scheme does not achieve full diversity.
Figure 9
Figure 9

SD-MLD, optimally designed relay vs. randomly designed relay over a fast Rayleigh fading channel.

The fifth scenario is the most practical one for this case. In this scenario, we assume that the S-R link is non-ideal γ SR  ≠ ∞ and γ SD  = γ RD . Studies have shown that when the cooperation between the source and the relay decrease, maybe due to the noisy S-R link, the overall BER performance of a coded-cooperative scheme approaches the BER performance of a non-cooperative scheme [10,37]. However, in most of the practical scenarios, the coded-cooperative scheme outperforms its non-cooperative counterparts in terms of energy consumption, coverage, and outage probability [38]. From Figure 10, it can be seen that at γ SR  = 8 dB, the relay is in outage, and hence, the overall BER performance of the cooperative system is significantly degraded.
Figure 10
Figure 10

Effect of S-R channel on the overall BER performance of RM coded-cooperative scheme.

This degradation is due to the uncontrolled error propagation at the relay. The most common remedy to control this error propagation is the utilization of cyclic redundancy check (CRC) at the relay as suggested in [10]. Based on the CRC, the relay decides whether to participate in the cooperation or not; however, error control at the relay is beyond the scope of this paper, and interested reader is referred to [39]. It is observed that at γ SR  = 15 dB the performance of the coded-cooperative scheme significantly improves and approaches the performance of the coded-cooperative scheme with ideal S-R link, i.e., γ SR  = ∞.

Finally, for the sixth scenario, we examine the performance of proposed coded-cooperative scheme and non-cooperative scheme based on the power consumed to achieve the same BER. The best scheme is the one that consumes less power to achieve the same BER; this type of analysis for cooperative and non-cooperative systems is also presented in [40]. Figure 11 shows a power consumption comparison between the coded-cooperative scheme and the non-cooperative scheme.
Figure 11
Figure 11

SD-MLD, power comparison of RM coded-cooperative and non-cooperative schemes over a slow Rayleigh fading channel.

The source transmission power P s is used as a proxy to the SNR per bit γ SD and changed independently. In Figure 11, BER curves are plotted for different levels of relay transmission power P r  = 14, 16.8, and 19 dBm. It is observed that to achieve BER ≈ 10−3 the non-cooperative scheme consumes P total = P s  = 56.2 mW, where P total is the total transmission power and the coded-cooperative scheme consumed only P total = P s  + P r  = 28.2 mW, where P s  = 3.1 mW, P r  = 25.1 mW. Moreover, under a total power constraint, i.e., P total = 56.2 mW, the coded-cooperative scheme achieves BER ≈ 1.4 × 10−4. The results clearly show that the coded-cooperative scheme outperforms the non-cooperative scheme based on power consumption. Further, it is observed that the overall BER performance of the coded-cooperative scheme improves when P r is increased at the relay even if the P s is kept fixed.

7.2 Case II

In this case, the two codes used for encoding are C 1 = (2, 5) and C 2 = (1, 5). For RM coded-cooperative scheme C 1 = (2, 5) code is used at the source and C 2 = (1, 5) code is used at the relay, and at the destination, they jointly construct a new code C 3, where \( {C}_3\subseteq {\tilde{C}}_3=\mathcal{R}\left(2,\kern0.5em 6\right) \). The source terminal encodes k 1 = 16 message bits, and the relay encodes k 2 = 6 message bits, which are in fact chosen according to the proposed design criterion. It is observed during the search for an optimum combination λ o that there are two combinations λ 1 and λ 2 in D, which result in equal number of K 2 worst cases where D is:
$$ D=\left\{\begin{array}{l}{\boldsymbol{\uplambda}}_1=\left(7,8,9,11,13,14\right)\\ {}{\boldsymbol{\uplambda}}_2=\left(6,8,9,11,13,14\right)\end{array}\right. $$
(20)

Since |D| > 1, therefore we proceed to step 7 of the design algorithm. In the seventh step, we observed that again the two combinations λ 1 and λ 2 result in equal and minimum number of K 3 worst cases. Consequently, |E| = 2 > 1 therefore, we select arbitrarily λ 1 as the optimum combination, i.e., λ o  = λ 1. The code rate at the source is R c  = 1/2, and the overall code rate of the coded-cooperative scheme is \( {R}_c^0=1/4 \).

For case II, the non-cooperative scheme consists of two encoders C 1 = (2, 5) and C 2 = (1, 5) at the source node, and the optimum bit selection rule for the second encoder is λ o  = λ 1 also shown in (20). The direct sum of two codewords generated by the two encoders is determined as u + v, and concatenated with the codeword u generated by the first encoder C 1 = (2, 5), to construct a codeword |u|u + v|, which is then BPSK-modulated and sent to the destination. Both cooperative and non-cooperative schemes are compared under the condition of an equal rate (1/4) for a fair comparison. For case II, we consider only one scenario that is the BER performance comparison of RM coded-cooperative and non-cooperative scheme over the slow Rayleigh fading channel with the assumptions such as γ SR  = ∞, γ SD  = γ RD , and γ RD  = γ SD  + 10 dB as shown in Figure 12, where the coded-cooperative scheme outperforms the non-cooperative scheme with a margin of more than 10 dB at BER ≈ 10−5.
Figure 12
Figure 12

SD-MLD, RM coded-cooperative and direct schemes over a slow Rayleigh fading channel with (2, 5) and (1, 5) codes.

8 Conclusions

We presented a novel RM coded-cooperative diversity scheme for half-duplex wireless relay networks. The RM coded-cooperative scheme clearly outperforms the RM non-cooperative scheme, and comprehensive BER performance gains are observed for the SD-MLD (≥10 dB) and for the majority logic decoding (≥5 dB) relative to the non-cooperative schemes in Rayleigh fading channels.

The BER performance gains achieved are due to the following factors. At first, it is the joint construction of two channel codes such as (r + 1, m) code (of small minimum Hamming distance d 1) used at the source and (r, m) code used at the relay to construct a (r + 1, m + 1) code (of large minimum Hamming distance d 3) at the destination. The second factor is the design criterion and an efficient algorithm to ensure that the jointly constructed code C 3 has the better weight distribution among all the possible subcodes of the code \( {\tilde{C}}_3 \). Thirdly, the joint decoding of the two signals received in two different time slots, transmitted at the source and the relay, provides additional coding gain. Finally, it is the path diversity provided by the relay node that contributes to improve the overall BER performance of the RM coded-cooperative scheme. The performance gains achieved due to the RM coded-cooperative scheme are shown with the help of numerical simulations and validated with the theoretical bounds.

In this paper, we presented only two RM codes at the source. However, the proposed methodology of coded cooperation can be extended in general to other longer length and higher order RM codes as well as to any other family of binary linear block codes. The proposed encoding scheme and code design algorithm at the relay can easily be extended to the multi-relay/user and multi-hop systems; we leave this as our future research work. Moreover, further work is required in performing the sub-optimum decoding of the jointly constructed code particularly of longer lengths.

Declarations

Acknowledgements

The authors are thankful to the editor and the anonymous reviewers for their technical comments and suggestions to improve the overall quality of this manuscript

Authors’ Affiliations

(1)
College of Electronic and Information Engineering, Nanjing University of Aeronautics and Astronautics, Nanjing, People’s Republic of China
(2)
School of Engineering, University of KwaZulu Natal, Durban, South Africa
(3)
College of Telecommunication and Information Engineering, Nanjing University of Posts and Telecommunications, Nanjing, People’s Republic of China

References

  1. TS Rappaport, Wireless Communications: Principles and Practice, vol. 2 (Prentice Hall PTR, New Jersey, 1996)Google Scholar
  2. S Alamouti, A simple transmit diversity technique for wireless communications. IEEE J Sel. Area. Comm. 16(8), 1451–1458 (1998)View ArticleGoogle Scholar
  3. V Tarokh, N Seshadri, AR Calderbank, Space-time codes for high data rate wireless communication: performance criterion and code construction. IEEE Trans. Inform. Theor. 44(2), 744–765 (1998)MATHMathSciNetView ArticleGoogle Scholar
  4. V Tarokh, H Jafarkhani, AR Calderbank, Space-time block codes from orthogonal designs. IEEE Trans. Inform. Theor. 45(5), 1456–1467 (1999)MATHMathSciNetView ArticleGoogle Scholar
  5. EC Van Der Meulen, Three-Terminal Communication Channels. Advances in Applied Probability, 1971, pp. 120–154Google Scholar
  6. JN Laneman, GW Wornell, DN Tse. An efficient protocol for realizing cooperative diversity in wireless networks. In Proceedings of 2001 IEEE International Symposium on Information Theory (IEEE, Washington, DC, 2001), p. 294Google Scholar
  7. A Sendonaris, E Erkip, B Aazhang, User cooperation diversity. Part I. System description. IEEE Trans. Comm. 51(11), 1927–1938 (2003)View ArticleGoogle Scholar
  8. A Sendonaris, E Erkip, B Aazhang, User cooperation diversity. Part II. Implementation aspects and performance analysis. IEEE Trans. Comm. 51(11), 1939–1948 (2003)View ArticleGoogle Scholar
  9. TE Hunter, A Nosratinia, Cooperation diversity through coding. in Proceedings of the 2002 IEEE International Symposium on Information Theory (IEEE, Lausanne, Switzerland, 2002), p. 220Google Scholar
  10. TE Hunter, A Nosratinia, Diversity through coded cooperation. IEEE Trans. Wireless Comm. 5(2), 283–289 (2006)MathSciNetView ArticleGoogle Scholar
  11. A Stefanov, E Erkip, Cooperative coding for wireless networks. IEEE Trans. Comm. 52(9), 1470–1476 (2004)View ArticleGoogle Scholar
  12. S Yiu, R Schober, L Lampe, Distributed space-time block coding. IEEE Trans. Comm. 54(7), 1195–1206 (2006)View ArticleGoogle Scholar
  13. Y Li, X-G Xia. Full diversity distributed space-time trellis codes for asynchronous cooperative communications. in Proceedings of the IEEE International Symposium on Information Theory, ISIT 2005 (IEEE, Adelaide, SA, 2005), pp. 911–915Google Scholar
  14. A Chakrabarti, A De Baynast, A Sabharwal, B Aazhang, Low density parity check codes for the relay channel. IEEE J. Sel Area. Comm. 25(2), 280–291 (2007)View ArticleGoogle Scholar
  15. J Hu, TM Duman, Low density parity check codes over wireless relay channels. IEEE Trans. Wireless Comm. 6(9), 3384–3394 (2007)View ArticleGoogle Scholar
  16. B Zhao, MC Valenti, Distributed turbo coded diversity for relay channel. Electron. Lett. 39(10), 786–787 (2003)View ArticleGoogle Scholar
  17. MC Valenti, B Zhao. Distributed turbo codes: towards the capacity of the relay channel. in 58th IEEE Vehicular Technology Conference, 2003. VTC 2003-Fall, vol. 1, (IEEE, Orlando, FL, USA, 2003), pp. 322–326Google Scholar
  18. R Blasco-Serrano, R Thobaben, M Andersson, V Rathi, M Skoglund, Polar codes for cooperative relaying. IEEE Trans. Comm. 60(11), 3263–3273 (2012)View ArticleGoogle Scholar
  19. Q Zhan, M Du, Y Wang, F Zhou, Half-Duplex relay systems based on polar codes. IET Comm. 8(4), 433-440 (2014)Google Scholar
  20. G Liva, E Paolini, B Matuz, S Scalise, M Chiani, Short turbo codes over high order fields. IEEE Trans. Comm. 61(6), 2201–2211 (2013)View ArticleGoogle Scholar
  21. C Poulliat, M Fossorier, D Declercq, Design of regular (2, d/sub c/)-LDPC codes over GF (q) using their binary images. IEEE Trans. Comm. 56(10), 1626–1635 (2008)View ArticleGoogle Scholar
  22. DJ Costello, GD Forney Jr, Channel coding: the road to channel capacity. Proc. IEEE 95(6), 1150–1177 (2007)View ArticleGoogle Scholar
  23. DE Muller, Application of Boolean algebra to switching circuit design and to error detection. Electron. Comput. Trans. IRE Professional Group 3, 6–12 (1954)View ArticleGoogle Scholar
  24. I Reed, A class of multiple-error-correcting codes and the decoding scheme. Inform. Theor. Trans. IRE Professional Group 4(4), 38–49 (1954)View ArticleGoogle Scholar
  25. L Shu, S Lin, DJ Costello, Error Control Coding: Pearson Education India, 2004Google Scholar
  26. FJ MacWilliams, NJA Sloane, The Theory of Error-Correcting Codes, vol. 16 (Elsevier, 1977).Google Scholar
  27. M Plotkin, Binary codes with specified minimum distance. Inform. Theor. IRE Trans. 6(4), 445–450 (1960)MathSciNetView ArticleGoogle Scholar
  28. R Morelos-Zaragoza. On iterative decoding of two-level superposition codes for cooperative broadcasting based on QPSK and 4-PAM constellations. In Military Communications Conference, 2010-MILCOM 2010 (IEEE, San Jose, CA, 2010), pp. 2369–2374Google Scholar
  29. R Morelos-Zaragoza, A Plotkin-Alamouti Superposition Coding Scheme for Cooperative Broadcasting in Wireless Networks, 2009. arXiv preprint arXiv:0901.2270Google Scholar
  30. T Cover, Broadcast channels. IEEE Trans. Inform. Theor. 18(1), 2–14 (1972)MATHMathSciNetView ArticleGoogle Scholar
  31. P Bergmans, TM Cover, Cooperative broadcasting. IEEE Trans. Inform. Theor. 20(3), 317–324 (1974)MATHMathSciNetView ArticleGoogle Scholar
  32. NJ Sloane, D Whitehead, New family of single-error correcting codes. IEEE Trans. Inform. Theor 16(6), 717–719 (1970)MATHMathSciNetView ArticleGoogle Scholar
  33. I Dumer, Recursive decoding and its performance for low-rate Reed-Muller codes. IEEE Trans. Inform. Theor. 50(5), 811–823 (2004)MATHMathSciNetView ArticleGoogle Scholar
  34. I Dumer, K Shabunov, Recursive error correction for general Reed–Muller codes. Discrete Appl. Math. 154(2), 253–269 (2006)MATHMathSciNetView ArticleGoogle Scholar
  35. I Dumer, Soft-decision decoding of Reed-Muller codes: a simplified algorithm. IEEE Trans. Inform. Theor. 52(3), 954–963 (2006)MATHMathSciNetView ArticleGoogle Scholar
  36. MK Simon, M-SAlouini. Digital Communication over Fading Channels, vol. 95 (John Wiley & Sons, 2005)Google Scholar
  37. M Janani, A Hedayat, TE Hunter, A Nosratinia, Coded cooperation in wireless communications: space-time transmission and iterative decoding. IEEE Trans. Signal Process. 52(2), 362–371 (2004)MathSciNetView ArticleGoogle Scholar
  38. JN Laneman, DN Tse, GW Wornell, Cooperative diversity in wireless networks: efficient protocols and outage behavior. IEEE Trans Inform. Theor 50(12), 3062–3080 (2004)MATHMathSciNetView ArticleGoogle Scholar
  39. T Van Nguyen, A Nosratinia, D Divsalar, Bilayer protograph codes for half-duplex relay channels. IEEE Trans. Wireless Comm. 12(5), 1969–1977 (2013)View ArticleGoogle Scholar
  40. M Patrick, S Ashutosh, A Behnaam, On building a cooperative communication system: testbed implementation and first results. EURASIP Journal on Wireless Communications and Networking. Hindawi Publishing Corporation (2009). doi:10.1155/2009/972739Google Scholar

Copyright

© Ejaz et al.; licensee Springer. 2015

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

Advertisement