main-content

## Weitere Artikel dieser Ausgabe durch Wischen aufrufen

01.12.2015 | Research | Ausgabe 1/2015 Open Access

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

Zeitschrift:
EURASIP Journal on Wireless Communications and Networking > Ausgabe 1/2015
Autoren:
Saqib Ejaz, Fengfan Yang, Hongjun Xu, Shunwai Zhang
Wichtige Hinweise

## Competing interests

The authors declare that they have no competing interests.

## 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].
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.
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 Ñ = 2 n, 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.
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.
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 = 2 n and the minimum Hamming distance is d 3 ≥ min{2 d 1,  d 2}, for RM codes particularly d 3 = min{2 d 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.
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{2 d 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.
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.

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.

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.

iv.
| Ω| represents the cardinality of any set Ω.

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

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

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

## 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

## Appendix

To encode one message of block length k 1 at the source, the number of multiplication operations performed is $${\varTheta}_s^{\times }={k}_1n$$, where n is the number of columns in the generator matrix employed at the source and at the relay, and the number of addition operations is $${\varTheta}_s^{+}=\left({k}_1-1\right)n$$, hence, the total elementary operations involved in encoding one message block are $${\varTheta}_s^1={\varTheta}_s^{\times }+{\varTheta}_s^{+}=n\left(2{k}_1-1\right)$$. Then, for ϑ message blocks which result in the codewords of minimum Hamming distance d 1 at the source, the number of elementary operations becomes:
$${\varTheta}_{\mathrm{source}}=\vartheta n\left(2{k}_1-1\right)$$
(21)
Similarly, at the relay, the total number of elementary operations to encode ϑ message blocks each of length k 2 is:
$${\varTheta}_{\mathrm{relay}}=\vartheta n\left(2{k}_2-1\right)+\underset{\mathrm{Direct}-\mathrm{Sum}}{\underbrace{\vartheta n}}$$
(22)
where the second part in (22) is due to the direct sum of the two codewords generated at the source and at the relay. Hence, the total number of elementary operations performed for each unique combination λ g intermediately fixed at the relay and ∀  m κ  ∈ A is:
$$\begin{array}{c}{\varTheta}^1=\vartheta n\left(2{k}_1-1\right)+\vartheta n\left(2{k}_2-1\right)+\vartheta n\\ {}=\vartheta n\left[2\left({k}_1+{k}_2\right)-1\right]\end{array}$$
(23)
Thus, for S unique combinations intermediately fixed at the relay and ϑ message blocks, the number of elementary operations is:
$${\varTheta}^S=S\vartheta n\left[2\left({k}_1+{k}_2\right)-1\right]$$
(24)
To determine the Hamming weight of a binary codeword | u| u +  v| of length N, N − 1 additions are performed. Thus, for ϑ message blocks and S unique combinations, the number of addition operations at the destination becomes ( N − 1). Finally, the total number of elementary operations is given as:
$$\varTheta =S\vartheta \left[2n\left({k}_1+{k}_2\right)+N-2\right]$$
(25)
Note: Θ is the number of total elementary operations performed if algorithm converges at step 6 of the design algorithm.

## Competing interests

The authors declare that they have no competing interests.

## Unsere Produktempfehlungen

### Premium-Abo der Gesellschaft für Informatik

Sie erhalten uneingeschränkten Vollzugriff auf alle acht Fachgebiete von Springer Professional und damit auf über 45.000 Fachbücher und ca. 300 Fachzeitschriften.

Literatur
Über diesen Artikel

Zur Ausgabe