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.
Notes
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].
Advertisement
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.
×
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 C1 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 xs is \( {x}_l^s\in \left\{-1,+1\right\},\ l=1,2,\dots, L \). The received signal vector y1 at the relay is given as:
where ns,r = [ns,r(1), ns,r(2), …, ns,r(L)] is a vector of complex additive Gaussian noise with each component ns,r(j), (j = 1, 2, …, L) is a zero-mean complex Gaussian random variable (RV) with independent real and imaginary components of variance N0/2, and hs,r = [hs,r(1), hs,r(2), …, hs,r(L)] is a channel fading coefficient vector whose entries hs,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 xs and change independently over transmission of every next frame. The signal received at the destination y2 during the first time slot is given as:
where hs,d is a channel fading coefficient vector and ns,d is a Gaussian noise vector which are defined similarly as hs,r and ns,r, respectively.
Advertisement
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 C2. 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 xr is a vector of length L and each entry in xr is \( {x}_l^r\in\ \left\{-1,+1\right\},\ l=1,2,\dots, L \). The transmission of xr to the destination during the second time slot is represented with a dashed line as shown in Figure 1.
The signal received y3 at the destination during the second time slot is modeled as:
where hr,d is a channel fading coefficient vector and nr,d is a Gaussian noise vector which are defined similarly as hs,r and ns,r. Finally, the overall received signal y at the destination is modeled as follows:
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 rth order binary RM code ℛ(r, m) of block length n = 2m, 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 rth order ℛ(r, m) code has the dimension k given as:
and the minimum Hamming distance is d = 2m − 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 2m + 1 can be obtained via RM codes of length 2m using Plotkin’s construction. Let C1(n, k1, d1) = ℛ(r + 1, m) and C2(n, k2, d2) = ℛ(r, m) be the two RM codes, where n is the codeword length, k1 and k2, are the dimensions, and d1 and d2 are the minimum Hamming distances of the codes C1 and C2 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:
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]:
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 C1(n, k1, d1) = ℛ(r + 1, m) and C2(n, k2, d2) = ℛ(r, m), respectively. The information sequence m1 generated at the source takes two time slots to be recovered at the destination. During the first time slot, k1 message bits are encoded using the ℛ(r + 1, m) code, and the resultant codeword vector u of length n = 2m is then BPSK-modulated. The modulated signal xs is broadcasted simultaneously to the relay and the destination nodes. The relay decodes the received signal y1 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 k2 message bits out of k1 recovered message bits, where k2 < k1. The term partial indicates that not all the recovered k1 message bits are re-encoded at the relay, thus encoding complexity is significantly reduced at the relay terminal. The selection criteria of k2 message bits is explained in Section 5 and has significant impact on the overall performance of the RM coded-cooperative scheme. The selected k2 information bits are then encoded using ℛ(r, m) code to produce the codeword v of the length n = 2m. 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 xr 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 C3 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 m2 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 m2 are not independent or generated randomly, they are in fact subset of \( {\tilde{\mathbf{m}}}_1 \). If m2 is the function of \( {\tilde{\mathbf{m}}}_1 \), then the code C2 generated at the relay is also a function of the code generated at the source C1 i.e., C2(C1). Then, the jointly constructed code C3 at destination is given as:
where C3 has the codeword length N = 2n and the minimum Hamming distance is d3 ≥ min{2d1, d2}, for RM codes particularly d3 = min{2d1, d2} 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:
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 y2 and the relay y3 during different time slots are jointly decoded as a single received vector y = |y2|y3|. 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:
where ‖. ‖F represents the Frobenius norm. The joint decoding (majority logic or SD-MLD) of the overall concatenated received signal y = |y2|y3| results in the information sequence \( \tilde{\mathbf{m}} \) of length \( \tilde{k}={k}_1+{k}_2 \) as follows:
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 C1 = ℛ(r + 1, m) and C2 = ℛ(r, m); information bit selection for encoding by the C2 = ℛ(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 C1 = ℛ(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 k2 message bits out of k1 recovered message bits at the relay. An efficient algorithm to achieve the design criterion is also proposed. The codeword |u|u + v| ∈ C3 of minimum Hamming distance d3 = min{2d1, d2} may occur at the destination due to the following worst case scenario that is when a codeword of minimum Hamming distance d1 is generated at the source, i.e., wt(u) = 2m − r − 1 = d1 (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:
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 C3 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 d3 = 2m − 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) = d1 and at the relay, the all-zero codeword, i.e., v = 0 ⇒ wt(v) = 0 is obtained. Let K1 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 K2 represent the number of occurrences for the second worst case scenario, where K2 = Kb 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 K3 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 d1 at the source, where κ = 1, 2, …, Kb, 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 k2,S = |B| and is determined as:
Determine the first worst case scenarios K1, ∀ mκ ∈ A and ∀ λg ∈ B by keeping each unique combination λg intermediately fixed at the relay.
4)
Select λg → min(K1) 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 K2, ∀ mκ ∈ A and ∀ λg ∈ C by keeping each unique combination λg intermediately fixed at the relay.
6)
Select λg → min(K2) 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 K3, ∀ mκ ∈ A and ∀ λg ∈ D by keeping each unique combination λg intermediately fixed at the relay.
8)
Select λg → min(K3) 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 k2 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 d1 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:
where Θ shows that the complexity to determine the optimal combination λo increases with an increase in the dimension of the codes, i.e., k1 and k2 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 C1(n1 = 16, k1 = 11, d1 = 4) = ℛ(2, 4) code and the relay employs C2(n2 = 16, k2 = 5, d2 = 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 k1 = 11 message bits, and the relay can encode only k2 = 5 message bits out of k1 = 11 message bits (recovered at the relay). The selection procedure of k2 = 5 out of k1 = 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 d1 = 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, K1 is determined ∀ λg ∈ B and the minimum number of the first worst cases is observed to be min(K1) = 4. In the fourth step, the unique combinations which resulted in min(K1) = 4 cases, i.e., λg → min(K1) are stored in C as shown in Table 1.
Table 1
Pool ‘C ’, unique combinations out of 462 combinations, which result in least number ofK1andK2cases\( {C}_3\subseteq \left\{{\tilde{C}}_3\right\} \)
Serial number
Pool ‘C’
K1
K2
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, K2 is determined ∀ λg ∈ C by keeping each λg intermediately fixed at the relay and transmitting all mκ ∈ A. The unique combination λg → min(K2) = 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(K2) = 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 C3 under the SD-MLD and over an AWGN channel. The union bound estimate of error probability per information bit Pb(E) for any binary linear code with code rate Rc and dimension k using SD-MLD is given as [36]:
where γb is the signal-to-noise ratio (SNR) per information bit Q(.) is a Gaussian Q function, and wi is a Hamming weight of a codeword. For probability of bit error Pb, we substitute Pb(E) in the following equation:
where N is a codeword length, Aw is a weight enumerating factor and usually determined via exhaustive computer search. However, for RM codes, Aw 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 Pb, we first determine the weight distribution of the code C3 via exhaustive computer search and is given as follows:
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., Rc = 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 dmin and information length k outperforms all the other codes; moreover, this result is intuitive as seen from (15-a) and (15-b).
×
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:
The integral in (17) can be determined using available computer packages. Then, to determine the average error probability Pb, we substitute Pb(E) in (15-b). For a proposed RM coded-cooperative scheme, the unconditional error probability is as follows:
From (18), it can be seen that the diversity order of the coded-cooperative scheme is equal to the Hamming weight w = w1 + w2, 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/Rc, where γSD is the SNR per code bit between the S-D link and Rc is the code rate at which the source encodes message bits.
7.1 Case I
The first case employs C1 = ℛ(2, 4), and C2 = ℛ(1, 4) codes for encoding. In the case of coded cooperation, C1 = ℛ(2, 4) code is used at the source and C2 = ℛ(1, 4) code is used at the relay, and they jointly construct a new code C3 at the destination, where \( {C}_3\subseteq {\tilde{C}}_3=\mathcal{R}\left(2,\kern0.5em 5\right) \). The source encodes k1 = 11 message bits, and the relay encodes only k2 = 5 bits, which are selected from k1 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 Rc = 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 C1 = ℛ(2, 4) and C2 = ℛ(1, 4). The information bit selection for encoding by the second encoder C2 = ℛ(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| ∈ C3, 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 C3 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 Ps 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 Pr = 14, 16.8, and 19 dBm. It is observed that to achieve BER ≈ 10−3 the non-cooperative scheme consumes Ptotal = Ps = 56.2 mW, where Ptotal is the total transmission power and the coded-cooperative scheme consumed only Ptotal = Ps + Pr = 28.2 mW, where Ps = 3.1 mW, Pr = 25.1 mW. Moreover, under a total power constraint, i.e., Ptotal = 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 Pr is increased at the relay even if the Ps is kept fixed.
7.2 Case II
In this case, the two codes used for encoding are C1 = ℛ(2, 5) and C2 = ℛ(1, 5). For RM coded-cooperative scheme C1 = ℛ(2, 5) code is used at the source and C2 = ℛ(1, 5) code is used at the relay, and at the destination, they jointly construct a new code C3, where \( {C}_3\subseteq {\tilde{C}}_3=\mathcal{R}\left(2,\kern0.5em 6\right) \). The source terminal encodes k1 = 16 message bits, and the relay encodes k2 = 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 K2 worst cases where D is:
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 K3 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 Rc = 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 C1 = ℛ(2, 5) and C2 = ℛ(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 C1 = ℛ(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 d1) 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 d3) at the destination. The second factor is the design criterion and an efficient algorithm to ensure that the jointly constructed code C3 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
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0), which permits use, duplication, adaptation, distribution, and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Competing interests
The authors declare that they have no competing interests.
To encode one message of block length k1 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 d1 at the source, the number of elementary operations becomes:
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:
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 Sϑ(N − 1). Finally, the total number of elementary operations is given as: