0 EURASIP Journal on Wireless Communications and Networking

a SpringerOpen Journal

RESEARCH Open Access

Jointly optimized rate-compatible UEP-LDPC codes for half-duplex co-operative relay networks

Rabiullah Khattak1* and Sara Sandberg2,3

Abstract

This paper addresses the design of low-density parity-check (LDPC) codes for half-duplex co-operative relay networks. Structured rate-compatible codes with unequal error protection (UEP) are designed through joint optimization of the codes for the channels between source and relay and source and destination. The proposed codes clearly outperform simpler LDPC codes which are not optimized for relay channels and puncturing-based rate-compatible LDPC codes, and they show a significant performance improvement over the direct link communication depending on the position of relay. The optimization algorithm for the proposed codes is based on density evolution using the Gaussian approximation and optimal variable node degree distributions are found through iterative linear programming. Interestingly, they anyhow show performance which is almost comparable to the performance of codes optimized through a more complex non-linear optimization algorithm. We analyze the performance of our proposed codes with short, medium and long block lengths, and with low and high rates under realistic assumptions, i.e., imperfect decoding of the codeword at relay and variant signal-to-noise ratio within a single codeword.

Keywords: LDPC code design; Half-duplex relay; Linear programming

1 Introduction

Co-operative relay networks have opened a new research field in wireless communication. They can be used in mobile cellular networks, wireless ad hoc networks, and wireless sensor networks. They provide spatial diversity because the terminals in a relay network form virtual multiple antenna systems. Like multiple antenna systems, relay networks increase channel capacity under the same bandwidth constraints and with no additional power consumption. A simple co-operative relay network is composed of three nodes, source (S), relay (R), and destination (D), as shown in Figure 1. S is transmitting data to D via a direct link (S to D) and a relay link (S to D through R). There are three relay channels in a simple relay network, i.e., the channels between S and D, between S and R, and between R and D. The relay is used to increase the reliability and data rate when the channel between S and D is bad due to fading and interference.

Correspondence: rabiullah.khattak@ltu.se

1 Department of Computer Science, Electrical and Space Engineering, Luleâ

University of Technology, Luleâ 971 87, Sweden

Full list of author information is available at the end of the article

In this paper, we propose low-density parity-check (LDPC) code design for half-duplex relay networks based on rate compatibility and unequal error protection (UEP) capabilities. The code is designed by optimizing the variable node degree distribution using density evolution under Gaussian approximation [1]. We design rate-compatible LDPC codes with UEP using sub-degree distributions both for classes of bits with different protection (denoted by protection classes) and for classes of bits transmitted over different relay channels. Henceforth, the bits transmitted over one specific relay channel will be referred to as belonging to one channel class. The separation of the variable node degree distribution into sub-degree distributions significantly increases the number of design parameters. Therefore, it is important to note that the code design is solved by iterative linear programming (LP), which enables an efficient optimization of the sub-degree distributions. Our code design is based on the design method for UEP-LDPC codes with higher order modulations suggested in [2], which employs iterative LP, and the rate-compatible code structure suggested in [3].

Springer

©2014 Khattakand Sandberg; licensee Springer. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.Org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Relay (i?)

Source (5) Destination (D)

Figure 1 Layout of the nodes in a relay network.

Higher order modulations cause different bits in the codeword to have different signal-to-noise ratios (SNRs) in the same way as relay channels with different channel gains cause different codeword bits to be received with different SNRs. In our design, we use the strategy proposed in [2] to optimize the codes for the case where two different codeword segments experience two different SNRs due to different channel gains of the S to D and the R to D relay channels. That is, our proposed optimization algorithm considers different SNRs of the relay channels in the code design, like in [3].

The performance of the source to relay channel plays an important role in the overall performance of co-operative relay networks [4,5]. It is pointed out in [3] that code extension techniques provide better performance than code puncturing in the source to relay channel. In code extension techniques, optimal codewords can be transmitted over the source to relay channel to get the best performance. In code puncturing techniques, only punctured codewords can be transmitted over the source to relay channel, which results in a certain performance loss. Therefore, we design the rate-compatible LDPC codes for relay networks based on the extension technique.

In [3], LDPC codes for relay networks are designed by finding optimal variable and check node degree distributions using differential evolution, which is a nonlinear code optimization method. In the design proposed here, linear programming is used to find an optimal variable node degree distribution. Our code optimization algorithm requires less computational effort than that of [3] and the performance is anyhow similar to the performance of the codes proposed in [3]. Like in [3], joint optimization of the codes for the source to relay and the source to destination channels is performed, and variant SNR within a single codeword is considered in the design. In [3], it is assumed that the codeword received at the relay from the source is perfectly decoded at the relay. However, in this paper, it is not assumed that the

codeword is perfectly decoded at the relay, which is a more realistic assumption. In [6], the authors have compared two different LDPC coding schemes from [7] and [8] with their proposed puncturing-based rate-compatible LDPC codes. The code design proposed here is different from the designs proposed in [3] and [6] because it provides UEP properties to the code, i.e., more important bits are made more protected by allocating them higher variable node degrees. The coding scheme in [6] has simple code design as it requires the design of only one single-user LDPC. In contrast to the coding scheme in [6], our proposed coding scheme requires the joint design of two codes. However, our proposed code shows better performance than the code proposed in [6] because the code in [6] has performance loss due to puncturing in the co-operative relay network.

Most of the papers in the literature on relay networks consider a theoretical approach of code design. However, we focus on code design with realistic assumptions, such as imperfect decoding of the codeword in the relay terminal, like in [9] and variant SNR within a single codeword, like in [3].

In [9], quasi-cyclic LDPC (QC-LDPC) codes are used in relay networks through repetition coding schemes. In the code design, the SNR is considered invariant within a single codeword. The fact that [9] uses QC-LDPC codes makes them easier to implement and thereby more realistic, but on the other hand, they also get worse performance. Using the same time slots, transmission power, and processing of the codewords in the relay terminal with the decode and forward strategy as in [9], the codes proposed here achieve up to 1.9-dB gain over the QC-LDPC codes depending on the location of the relay with respect to the source and the destination. The better performance is partly due to the rate-compatible coding scheme and partly due to the UEP properties of the code. The rate-compatible coding scheme provides a better trade-off between bit error rate and data rate than the repetition coding scheme. The UEP provides high protection to the codeword bits transmitted over the source to relay channel, which results in a better performance of the important source to relay channel. Also, in contrast to [9], the proposed codes are optimized for each position of the relay. Depending on the location of the relay relative to the source and the destination, the proposed low-rate codes with short, medium and long block lengths show a performance improvement of up to 3.8-dB gain over the direct link communication. The proposed high-rate code with medium block length has a 1.3-dB gain over the direct link communication.

The remainder of this paper is organized as follows. Section 2 presents an overview of the background and the system model of a half-duplex relay network and introduces the LDPC coding scheme. Section 3 gives the details

of the optimization algorithm for the design of rate-compatible LDPC codes with UEP properties for half-duplex relay networks. Section 4 describes the selection of a good check node degree distribution and discusses the simulation results of our proposed code design. The results are also compared to the simulation results for QC-LDPC codes [9] as well as the codes proposed in [3] and [6]. Section 5 concludes this paper.

2 Background and system model

2.1 Half-duplex operation of relay and types of relay

In this paper, the relay is assumed to operate in half-duplex mode. Full-duplex operation of the relay is hard to implement from a practical system point of view because it is difficult to isolate the several orders of magnitude higher transmitted signal from the received signal in the same frequency band. Half-duplex operation is easy to implement by isolating the transmitted and the received signal in time or frequency. We consider time division multiple access (TDMA) using two time slots. In the first time slot t (normalized), known as broadcast mode (BC), S transmits to both R and D. In the second time slot t = 1 — t, known as multiple access mode (MAC), either only R or both R and S transmit to D as shown in Figure 2. In this paper, only R transmits to D in MAC mode.

There exist different types of co-operative relay strategies based on how the received signal is processed by the relay node. The two most common types of co-operative relay strategies are amplify and forward (AF) and decode and forward (DF). The AF relay [10] amplifies the received signal and then retransmits it to the destination. The DF relay first decodes the signal received from the source and then retransmits the decoded signal after re-encoding, either with the same code as used by the source or with a different code. The drawback of the AF relay is that noise is also amplified along with the desired signal. In power limited communication networks, the AF relay is preferred as it performs no decoding and re-encoding of the received signal. The drawback of the DF relay is the large delay due to decoding and re-encoding as compared to the AF relay. However, the DF relay can also be implemented without re-encoding [11]. In this work, the DF relay is considered.

2.2 Relay channel model

Figure 3 shows the relay system model as suggested in [12]. The distance between S and D is normalized to unity. R is located at a distance of d from S and 1 — d from D. The relative distance model in Figure 3 is applied with normalized distance d, where 0 < d < 1. Note that all the half-duplex relay channels are AWGN channels with fixed path loss. The signals received at D and R in BC and MAC modes are as follows:

YR1 = hsR XS1 + nR1 (1)

YD1 = hsDXS1 + nD1 (2)

yD2 = hRDXR2 + nD2. (3)

The signals transmitted by S and R are denoted by3 xSi and XRi, respectively, where i e {1,2} and 1 and 2 stands for BC and MAC modes, respectively. The received signals at R and D are represented by yRi and yDi, respectively. In the above equations, hSR, hSD and Hrd are the channel realizations between {S, R}, {S, D} and {R, D}, respectively. nRi and nDi are AWGN at the R and D receivers with zero means and variance a2 = N0/2 in each dimension. The normalized channel gains of the {S, R}, the {S, D}, and the {R, D} channels are given as

Ysd = \hSD\2 = 1

Ysr = \hsR\2 = 1/dT (4)

YRD = \hRD\2 = 1/(1 — d)T ,

where t is the path loss exponent which normally ranges from 2 to 5 [13]. Furthermore, BPSK modulation and full channel state information (CSI) available at each terminal of the relay network are assumed. In order to fairly compare the relay channel with the direct link, we assume that the sum of the R and S transmit powers in the relay channel is equal to the direct link transmit power of S. Therefore, the following global power constraint is assumed:

tPs1 + tPR < P. (5)

Psi is the source transmit power in BC mode, Pr is the relay transmit power in MAC mode and P is the total system transmit power.

Broadcast Mode

Figure 2 Half-duplex relay network operations in BC and MAC modes

s d r l—d d

Figure 3 Position of the relay (R) relative to the source (S) and the destination (D).

2.3 Coding strategy for half-duplex relays

The proposed relay coding strategy is similar to [3] except that it is assumed that S is silent in MAC mode and perfect decoding of the codeword at R is not assumed. According to this relay coding strategy, a codeword wi of length N1 is transmitted from S to R and D in BC mode, i.e., xS1 = VPS1w1. R decodes the codeword w1 and generates the extra parity bits we of length N2 — N1. D stores W1 (received version of w1) until it receives we from R. Note that we transmitted from R may contain errors if w1 is not decoded correctly at R. In MAC mode S is silent, so only R transmits we to D, i.e., xr2 = ^/pRwe. D concatenates w1 with we to get the extended codeword w2 = we] of length N2 belonging to the extended code C2. w2 is then decoded at D to recover the original information. From (2) and (3), it follows that the signals received at D in BC and MAC modes can be expressed respectively as

YD1 = hSD^/PS1w1 + nD1 (6)

yD2 = hRD^/Pgwe + nD2. (7)

2.4 Brief introduction to LDPC codes

LDPC are classified as linear block codes. They are described by parity check equations and are represented by a sparse parity-check matrix H. LDPC codes are decoded by a message passing algorithm [14]. The decoding complexity increases linearly with codeword length and also depends on the sparseness of H. The parity-check matrix can be represented in graphical form by a bipartite graph, called Tanner graph [15]. The operation of the message passing algorithm is readily explained using a Tanner graph. The two types of nodes in the Tanner graph are variable nodes and check nodes, which correspond to codeword bits and parity-check equations, respectively. The number of variable nodes (codeword bits) is denoted by n and the number of check nodes (parity-check equations) is denoted by (n — k) where k is the number of the information bits. A variable node is connected to a check node by an edge if the bit corresponding to the variable node is included in the parity-check equation corresponding to the check node. Thus, the number of edges in the Tanner graph is equal to the number of 1s in the parity-check matrix H. The code rate of LDPC codes is defined by k/n. LDPC codes are classified as regular or irregular based on the degrees of the

nodes. The degree of a node is the number of edges connected to it. The regular codes have variable nodes of fixed degree and their check nodes have another similar fixed degree. The irregular codes have variable and check nodes with varying degrees. The variable and check node degree distributions of irregular codes from an edge perspective are represented by l(x) = Y^iST ^x'-1 and

p(x) = ¿T* PiXi—1, respectively, where dVmax is the maximum variable node degree and dCmax is the maximum check node degree of the code [16]. The coefficients Xi and pi describe the fraction of edges that are connected to degree-i variable and check nodes, respectively. The optimal degree distribution of irregular codes can be found by density evolution (DE) using the Gaussian approximation [1]. DE tracks mutual information exchange between variable and check nodes in the message passing decoding algorithm.

2.5 Rate-compatible UEP-LDPC codes for half-duplex relays

From an implementation point of view, the simplest code design scheme for half-duplex relays is the repetition coding scheme, i.e., transmitting the same codeword w1 of code C1 in BC and MAC modes[9]. However, the repetition coding scheme is not preferred as it provides a poor trade-off between bit error rate and data rate. One alternative is to use coding schemes based on incremental redundancy, i.e., transmitting the codeword w1 in BC mode and extra parity bits we being extracted from w1, in MAC mode [3]. This yields the extended codeword w2 = [w1 we] belonging to the extended code C2. In this case, a joint design of the mother code C1 and extended code C2 is required. The incremental redundancy could also be achieved using puncturing, i.e., deleting a number of parity bits from w2 to get w1. Code design in this case is the joint design of the mother code C2 and the punctured code C1.

The rate-compatible structure of the parity-check matrix H2 representing the code C2, which follows the structure proposed in [3], is illustrated in Figure 4. H2 is composed of a non-zero parity check matrix H1 corresponding to the code C1, a zero sub-matrix O and non-zero sub-matrices A and B. The zero sub-matrix preserves the parity-check equations of the mother code C1. The rate-compatible design of C2 is different from [17-19] as w1 and we are in general received with different SNRs. Received SNRs for decoding w1 and we are given later by (8) and (9), respectively.

We introduce UEP along with rate-compatibility in LDPC codes in order to provide better protection to the codeword bits which are transmitted in BC mode than to the extra parity bits transmitted in MAC mode, since the overall performance of relay networks depends largely on

Figure 4 Structure of the rate-compatible parity-check matrix H2 for the half-duplex relay code C2. H2 is composed of H1, which is a non-zero parity-check matrix corresponding to the code C1, a zero matrix O and non-zero matrices A and B.

segments in the codeword belonging to different channel classes are defined by jCz = [j^, • • •, jCCz].

The vectors XCz and aCz contain the overall variable node degree distribution from an edge perspective and a node perspective, respectively, both for different protection classes and different channel classes for a codeword corresponding to code Cz. Let X<7Z,Ck and a7Z'Ck be the proportion of edges and nodes, respectively, connected to variable nodes of degree i that belong to channel class Mj, protection class Ck, and code Cz. Similarly, bCz is the proportion of check nodes of degree i that belong to code

Cz .Define \Cjk = [\jk, • • •, ^ ]T and XCz =

j j idCz

T ,CZ ,CNCzT

Cz,C CJ

NCz y Nc

• AM1 ,

! Cz,Ci • AM Cz

the source to relay channel performance [4,5]. Through UEP, variable nodes of higher degrees are assigned to the wi segment of the code C2 in order to give it higher protection than its we segment.

3 Design of RC UEP-LDPC codes for relay networks

3.1 Notations

The codeword bits of code Cz where z e {1,2} are divided into Nc z protection classes in order to give it UEP properties. The proportions aCz = [aC, • • •, aCzCz ] denote the normalized lengths of each class corresponding to the information bits ui. ai z equals the number of bits belonging to protection class Ci divided by the total number of information bits k. p = [a'^zRz, • • •, aCzCz Rz, (1 — Rz)]

defines proportions of the bits in the codeword belonging to different protection classes and Rz is the code rate of Cz. NC

is the number of relay channels (channel classes) between source, relay and destination associated with Cz. The bit segments of the codeword being received through different relay channels have different SNRs. The bit segment with a distinct SNR will be classified as belonging to one channel class Mj, j =

1, •••, Nfz.

The proportions of bit

where (-)T denotes the transpose. ^mC is a column vector of length dCmax — 1 and XCz is a column vector of length (dCmax — 1)NCzNecz. The vectors pC =

C C t 7

[p2z,..., p% ]1 and bCz describe the check node degree

distribution from an edge and a node perspective, respec-

tively. Note that dvCz and dcCz are the maximum vari-

j v max "max.

able and check node degrees respectively in the code Cz. The vector with all-ones is defined by 1 with suitable length.

3.2 Protection and channel classes

Figure 5 shows a diagram of the proposed coding scheme. The RC UEP-LDPC code has Ncz protection classes at its output. The information bits ui are divided into Ncz — 1 protection classes C1 • • • Cncz_ 1. The parity bits are assigned to C Cz. The protection classes are ordered with

descending order of protection, i.e., C1 has the highest protection and CNCz has the lowest protection. The bits from the different protection classes are re-multiplexed and assigned to channel classes M1, • • •, M cz corresponding to the different relay channels. In the half-duplex co-operative relay networks with three terminals, there are two relay channels through which destination receives the signals from the relay and the source, one between

Figure 5 Diagram of the proposed scheme. The bits are encoded by the rate-compatible UEP-LDPC code and the coded bits are assigned to the relay channels.

source and destination M1, and the other between relay and destination M2, see Figure 1.

3.3 SNRsofthe relay channels

This subsection describes computation of SNRs of the relay channels in BC and MAC modes. The signals received at D in BC and MAC modes have different received SNRs. The SNRs of the signals received in BC and MAC modes are defined, respectively, as

SNRBC = SNRm^c =

\hSD\2PS1

No \hRD\2PR No '

(8) (9)

In [2], unity signal power is assumed for simplicity, and equivalent noise variances are calculated for the different bits in the higher order constellation. To follow the code design proposed in [2], the equivalent noise variances of the relay channels in BC and MAC modes are required for the optimization of the variable node degree distributions. Therefore, the equivalent noise variances of the relay channels in BC and MAC modes are determined from different SNRs by means of an equivalent channel with unit received power, i.e.,

SNR = -1 ^ N0 — . No 0 SNR

The equivalent noise variance is expressed as

à 2 =

à 2 =

The equivalent noise variances of the relay channels in BC and MAC modes are

°mac —

2SNRbc 1

2SNRmac '

(12) (13)

described in [3]. In the optimization algorithm, the code C2 for half-duplex relay network is designed to be rate-compatible with UEP based on the given degree distributions of the UEP capable code C1. Code C1 is first designed without the rate-compatible constraint in the optimization algorithm. Then, the rate-compatible code C2 is designed given the variable and check node degree distributions of C1.

The target of the optimization algorithm proposed in [2] is to find a variable node degree distribution for the whole code that maximizes the average variable node degree of the class being optimized. UEP properties of the code are achieved by sequential execution of the optimization algorithm of [2], one protection class at a time and starting with the best protected class for an Eb/N0 slightly higher than the threshold. In every sequential execution step, the optimization algorithm keeps the degree distributions of lower protection classes fixed and may change only the degree distributions of higher protection classes [2]. The objective function for protection class Ck can be expressed

NCz dC

j=1 i=2

Cz ,Ck

■M:: ■

The noise variances in (12) and (13) are required for density evolution in the proposed optimization algorithm in [2]. For the proposed optimization algorithm in [2], we

define the noise vector ct2 — [of, • • a2C ]tobea vector

L 1 NCz

that contains the equivalent noise variances of each relay channel in BC and MAC modes, ordered with the highest variance first.

3.4 Optimization algorithm

The optimization algorithm presented here is the adaptation of the optimization algorithm proposed in [2] for half-duplex co-operative relay networks. We add an additional constraint to the optimization algorithm of [2] for the design of rate-compatible LDPC codes as

The optimization algorithm with objective function (14) maximizes the average variable node degree. For maximization of the minimum variable node degree, the optimization is initiated with a high minimum variable node degree and decreased to a lower value until a variable node degree distribution for which density evolution convergence is found, see [2] for details.

3.4.1 Rate-compatible constraints

The optimization algorithm in [3] designs the code C2 corresponding to H2, by considering the rate-compatible constraints for variable and check node degree distributions given the degree distributions of the code C1. However, the optimization algorithm in this paper designs the code C2 by considering only the rate-compatible constraint for the variable node degree distribution [3] (expressed by (19)) given the degree distributions of the code C1. The check node degree distribution of C2 is assumed to be given and must satisfy the rate-compatible constraints for the check node degree distribution [3] (expressed by (17)) before using it in the optimization algorithm to determine an optimal variable node degree distribution for C2. The rate-compatible constraints for the variable node degree distribution from [3] have been adapted to cover the UEP properties of our proposed code. For C2, the overall edge distributions and pC2 and the overall node distributions aC2 and bC2 must satisfy the following general constraints from [3] which have been adapted to cover the UEP properties of our proposed code:

> f2,Ck M

i=1 ¿—I k= 1 ¿—I i

1 C2,Ck

-1=1 C2

^"vmax . C2,Ck -i=3 AM,i ,

V^Cmax C2

R2 V^dcmax f 1 1 \ /1 d \ v^N 2 v^N 2 v"^dvmax 1 f 1 IT i=3 (7 - 2) - (1 - ;=i Lk=1 i=3 (7

af 2,Ck M

a - r2) (1/(dCma,

i—ij=1i—i k=1 ^ d=2

c_ j f 2, Ck s ^ax AM/,d

bf2 H j

The check node degree distributions of C1 from edge and node perspective {pC1, bC1} become part of the check node degree distributions of C2 from edge and node perspective {pC2, bC2}, see Figure 4. The check node degree distributions from node perspective of C1 and C2 should satisfy the following constraints:

C dCmax

Pi- - Qbf1 Y ÏL- = Qbf1

i U j i

, dcmax / -, -, \

Similarly, the variable node degree distributions from the node perspective of C1 and C2 should satisfy the following constraints:

bf2 W2 - bf1 W1

W bf1 =

i — 2, 3, * * •, dc ,

(1 - R1)N1 bf1 = ^ (1 - R2)N2 i i

where Wz is the number of rows in parity-check matrix Hz and a = {i—lg = (t-Ht; the first equality is derived

from 1 — Rz = and the second equality is derived from the rate-compatible feature of H2, i.e., R1N1 = Nt — Wt = N2 — W2 = R2N2. Converting the check node perspective constraint (16) into edge perspective using (15) gives

(¿max Pf2 pj

i = 2,3 •••, df1

nC 2 nC2

Ns1 NcC1 dvmax

eeeajn-ee h^kn1, j=1 k=1 d=l

NC2 NC2 dSax

j=1 k=1 d=l

NsC1 NcC1 dvCm1ax

ee e aCMC > n1 e e e aMj,i j=1 k=1 d=l 2 j=1 k=1 d=l

NsCl NC dvmax

aC1,Ck ,

= »eee

j=1 k=1 d=l

l = 2,3, •••,df1 and © = — = —.

Vmax R7 n2

Converting the node perspective constraint (18) into edge perspective using (15) gives

C2 C2 dC2

Ns Nc dvmax Ns Nc vmax

j=1 k=1 d=l

-, C2,Ck XMj4

C1 C1 dC1

Ns Nc dvma

C2 - M j=1 k=1 d=2 d

Nsc2 NC2 dSrax xf'2'Ck

e e ej

j=1 k=1 d=l

C2,Ck - ©

af1,Ck aM/,d

, l = 2,3, •••, df1

j=1 k=1 d=l

.fl,Ck

NsCl NC ^ax

©EEEaMjd

j=1 k=1 d=l

/ NsCl NC1

(nC2 nC2 dfax -f2,Ck\

j=1 k=1 d=l

^^E E^ aMjd j=1 k=1 d=l

i NC1 nC1 d^ax

\ / ,C2 C2 \ / --^dcmax pd

j=1 k=1 d=l

afi,Ck aMj,d

3.4.2 Convergence constraint

The optimal variable node degree distributions are found through density evolution using the Gaussian approximation [1]. The mutual information messages from a check node to a variable node (xcv) and from a variable node to a check node (xvc) at iteration l are given by

<Cz dcmax

xg-1) = 1 - £ pfzJ((j - 1)J-1 (1 - x&-1) )), (20) j=2

N?z NC ¿¡max

= LL H) (4 + « - 1)J-l(Xl-1)y)>

Yi j i 2

j=1 k=1 i=2 j

J(m) = 1 - E{log2(1+ e-q)}, 1

f log2(1

+ e q) ■ e 4m d

for a Gaussian random variable q ~ N(m, 2m) with mean m and variance 2m. The mutual information evolution can be written as a combination of (20) and (21)

— F (À z, p z, a , xVc ) ) •

The XCz and pCz describe the degree distributions of the code for a given a when the condition

Xyc >> X

vc ' for

any xvC 1 is satisfied.

3.4.3 Proportion distribution constraints

The variable node degree distribution is constrained to have the total sum of the fractions equal to one, i.e.,

NC NC ^ax

V^ V^ V^ , Cz ,Ck

j=1 k=1 i=2

Àkz,Ck _ 1

AMjj = 1

XCz is also constrained by the proportion vectors aCz and PCz. The total number of variable nodes nCk and nMj belonging to protection class Ck and to channel class Mj is

nck = ackz ■ Rz ■ n k = 1, ■■■ NCz- 1,

nMi = ßk ■ n j = 1, ■■■, Nkz, respectively. The code rate can be expressed as

Rz = 1 -

Edcmax kz /;

j=2 pj I)

Edvmax \kz /: i=2 Ài 1

Furthermore, Àkz can be related to nCk and nMj by

NC d^ax ÀCz,Ck

nCk = EE

■n ■ (1 - Rz)I

j=1 i=2

Cz4max } CzCk

Nc z dvmax À

■n ■ (1 - Rz)I

k=1 i=2

(Cz c \

dcmax kz

(<fz c \

dcmax kz i=2

respectively.

respectively. Here, J(■) is the mutual information, given by

3.4.4 Stability condition

The optimal degree distribution must satisfy the stability condition [16]. For the direct link channel with BPSK, all the codeword bits experience the same noise variance a2. The stability condition for the direct link channel is

(0)pkz (1)

> e r = Po(x)e 2dx = e ^

In (30), P0(x) is the received message density and XCz (x) and pCz (x) are the derivatives of the degree distributions. The stability condition gives an upper bound on the number of degree-2 variable nodes. In case of cooperative relay networks, the codeword bits experience different noise variances aj2 due to different SNRs of the relay channels and there are different densities P0,j(x).

The derivatives are Àkz (0) = Yj=i Y^N= i ÀMMC and

pkz' (1) = Y,mc=ax pm(m - 1). The stability condition for the co-operative relay network can be expressed as

1 kz ,Ck

■ Po(x)e-xdx = E ßf j=1

Similar to [2], the optimization is performed at Eb/N0 — S + e in dB, where S is the lowest possible threshold for the given pCz and d?^, and e is an offset from the lowest threshold that offers more freedom in the selection of XCz. The optimization algorithm is decomposed into an inner and an outer loop. For a fixed Eb/N0, the outer loop finds an optimal variable node degree distribution for each protection class and thus finds an optimal variable node degree distribution for the whole code. The inner loop performs the maximization of the minimum variable node degree of a protection class. The optimal XCz is found by executing the optimization algorithm for a given check node degree distribution pCz, Eb/N0 — S + e,a maximum variable node degree dvmax, a code rate Rz, and proportion vectors aCz and PCz.

The operation of the optimization algorithm is summarized as follows.

1. For any given Eb/N0 = S + e compute à2.

2. Find XCz by executing the iterative linear programming optimization algorithm.

The structure of the optimization algorithm with its constraints is defined as follows.

L Initialization: dVkmCz = dCmax

2. While optimization failure: (a) Optimize

MCz dCz Ns dvmax

"C^E E XM,Ck j=1 i=2

under the constraints [C1] — [C7]. [C1] Rate constraint, from [2] (see (27))

NCz NC ^ax xCzC

N^N^Yj

j=1 k=1 i=2

dcmax Cz pi

1 fx pï

1 - Rz= :

[C2] Proportion distribution constraints i. from[2] (see (24))

NsCz NcCz

Y Y MCT i = 1 j=1 k=1

ii. Vk e{1, •• •, Ncz - 1}, from [2] (see (25) and (28))

[C4] Stability condition, from[2] (see (30) and (31))

NsCz dvCm

j=1 i=2

NsCz Ns

j • e

dCz dcmax

x e pm(m -1)

[C5] Rate-compatible constraint, from[3] (see (19))

nc2 nc2 ¿l &&

Y Y Y M:

j=1 k=1 d=l

t NC NC dC

c dvmax

j=1 k=1 d=l C2

C1 ,Ck

(1 i v^max c2 ( 1 1 ^ 2 + d=3 pd ( d - 2 )

1 - r2 _

Vl ^i", •••, „}

[C6] Minimum variable node degree constraint from [2]

Vi < d^z, Vj : XCM:Ck = 0

vmin ' Ml:,

[C7] Previous optimization constraints from [2]

Vkk < k, Vj : XM'C k = 0 is fixed (b) If failure, d^ = d^ - 1

NSrz ^ax XCz,Ck „ ¿Sex Cz --XM,i _ ^ Rz V- pi

— at.

j=1 i=2

Rz y^ p,

1 - Rz ^ i

iii. Vj e{1, •• • NCz}, from [2] (see (26) and (29))

dcmax Cz

NC^ax X?,,Ck

EV Mj,i aCz 1 pi

1 "cmax pCz 1 pi

k=1 i=2

[C3] Convergence constraint, from[2] (see (23))

F(XCz, pCz, a2, x) > x

End (While)

When optimal variable node degree distributions for code C1 and C2 are found, we construct the parity check matrices H1 and H2, as shown in Figure 4, using the ACE algorithm[20]. The ACE algorithm is modified to first construct H1 and then H2, while keeping H1 fixed.

4 Simulation results

In the following subsections, the performance of the proposed code design has been evaluated for low- and highrate codes of medium block. The performance of the codes has also been evaluated for short and long block length codes. The proposed codes' performance has been compared to QC-LDPC codes[9], puncturing-based RC LDPC codes [6] and extension-based RC LDPC codes [3]. The proposed codes are simulated with equal transmission power setting at the source and the relay, i.e.,

PS1 = P/2 and Pr = P/2. The channel gains YSD, YSR, and yrd from (4) are dependent upon path loss propagation only and we consider t = 2. Using the relay system model shown in Figure 3, simulations have been performed for different positions d of the relay relative to the source. Note that in the simulations for relay network, 20 decoding iterations at the relay and 20 decoding iterations at the destination are considered. In all the direct link simulations, 40 decoding iterations at the destination are considered.

4.1 Low-rate medium block length codes

This subsection describes the simulation results of the proposed codes of low-rate and medium block length for cooperative relay networks. The results are also compared to the results for quasi-cyclic LDPC codes (QC-LDPC) from [9]. The code C1 for BC mode, described by the parity-check matrix H1, is designed by optimizing the variable node degree distributions for R1 = 1/2, NcC1 = 2, Nf1 = 1, aCl = 1, jCl = 1, dCmax = 11, and pCl = x6. The code C2 for the half-duplex relay network is extended from the code C1 by appending extra parity bits to the codewords of the code C1. Variable node degree distributions of C2 are optimized for R2 = 1/4, Nf2 = 3, Nf2 = 2, aC2 = [0.5 0.5], jC2 = [0.5 0.5], = 15 and check node degree distribution pC2. Suitable pC2 for C2 are chosen by evaluating the performance of C2 for different check node degree distributions for different positions of relay as explained in the following subsection.

Like in [3], the code C1 in this paper is designed by considering the SNR of the source to destination channel, therefore there is only one channel class Nf1 = 1. Note that the SNR of the source to relay channel is always higher than the SNR of the source to destination channel as \hSR\2 > \hSD\2, therefore the successful decoding of the codeword w1 of the code C1 is possible at the relay even when it fails at the destination. The codeword w1 is composed of equally protected information bits and less protected parity bits, by choosing NcC1 = 2. The code C2 is designed by taking into account the SNRs of the source to destination and the relay to destination channels, i.e., NsC2 = 2. The codeword w2 of C2, which is decoded at the destination, is composed of w1 and we. We let NcC2 = 3 for w2 assuming that it is composed of equally important information bits and less important parity bits of w1 and least important extra parity bits we. w1 is received at the destination from the source, while we is received at the destination from the relay. In relay networks, the source to destination channel is worse than the relay to destination channel. Therefore, the equally important information bits and less important parity bits of w1 in w2 are assigned to protection classes C1 and C2, respectively, in order to give them good protection against the channel conditions of the source to destination channel

and the least important bits we in w2 are assigned to protection class C3, as the relay to destination channel has a better SNR than the source to destination channel.

We compare the performance of the proposed codes for relay networks with an LDPC code designed for the direct link. The design of the code for the direct link is the same as for C1 except that the code is designed with code rate 1/4 the same as for C2, a suitable check node degree distribution p = 0.1350x2 + 0.3695x3 + 0.0684x4 + 0.2812x5 + 0.1459x6 (from LOPT [21]), full transmission power P and dVmax = 15. In the simulations, the lengths of the codewords w1 and w2 are N1 = 1296 and N2 = 2592, respectively. In the simulations of the direct link, an LDPC codeword of length N2 is used.

4.1.1 Selection of good check node degree distributions

In this subsection, we analyze the performance of the proposed codes for different check node degree distributions and for different positions d of the relay. Optimization of the check node degree distributions is outside the scope of this paper. The aim of this analysis is to select a good check node degree distribution for each d.

Code C1 is designed with a concentrated check node degree distribution pC1 = x6, since concentrated check node degree distributions have been shown to perform well[16]. The code C2 is designed with a non-concentrated check node degree distribution because it is shown in [3] that co-operative relay networks show better performance with LDPC codes designed with non-concentrated check node degree distributions. The maximum check node degrees are chosen as df1iax = d^ = 7in order to keep the same maximum check node degree as the code in [9] to simplify the comparison.

For the design of code C2, optimal variable node degree distributions are found by choosing a check node degree distribution for which code C2 gives good performance in terms of bit error rate for a specific position d of relay. The performance of code C2 is analyzed for four different check node degree distributions for different positions d. The four non-concentrated check node degree distributions for C2 satisfy the rate-compatible constraint for the check node degree distribution as defined by (17). It is observed that our designed codes have error floor at high bit error rate if the four check node degree distributions are chosen with a minimum check node degree less than 4 and have the waterfall region at high SNR if the four check node degree distributions are chosen with a minimum check node degree greater than 4. Therefore, to design the codes with the error floor at lower bit error rate and the waterfall region at lower SNR, the four check node degree distributions are chosen with a minimum check node degree equal to 4 but with different fraction of edges of the minimum degree. Furthermore, 4 is the highest possible minimum degree with which the four check node

degree distributions still satisfy (17). The optimal variable node degree distribution at each d is found for each one of the four check node degree distributions.

We observe that for d < 0.6, the code designed with the check node degree distributions, which have the lowest fraction of edges of the minimum degree, has its waterfall region at high SNR as compared to the codes with check node degree distributions with a higher fraction of edges of the minimum degree. Figure 6 shows the performance of the proposed code with four different check node degree distributions for d = 0.2. It is noticed in Figure 6 that the proposed code design gives good performance with pC = 0.4177x3 + 0.5823x6. This holds also for d = 0.3 and 0.5, but simulation results are omitted here. Figure 7 shows the performance of the proposed codes with four different check node degree distributions for d = 0.4 and good performance is observed with pC2 = 0.5x3 + 0.5x6. This holds also for d = 0.1 but simulation results are omitted here. For d = 0.6,0.7,0.8,0.9 it is observed in Figure 8 that the choice of check node degree distribution does not have a large impact on the performance.

4.1.2 Results for low-rate medium block length codes

This subsection describes the simulation results of the proposed codes with low-rate and medium block length in a relay network and compares their performance with a standard LDPC code for the direct link. The proposed codes at each d are designed with the suitable check node degree distributions found in the previous subsection. The simulation results for the proposed codes are shown in Figure 9 for different positions of the relay. The results show that the relay network achieves better performance with the proposed codes than the direct link with a LDPC

Figure 7 Comparison between different check node degree distributions for the code with code rate 0.25 and d = 0.4. The

check node degree distribution pC2 = 0.5x3 + 0.5x6 gives good performance for d = 0.4.

code optimized for this link. At a BER of 10-5, the relay network has best performance for d = 0.4. At a BER of 10-4, the proposed code achieves 3.8-dB gain over the direct link transmission for the position of relay d = 0.4, as shown in Figure 9. A degradation in the performance of the proposed codes in the waterfall region can be observed when the relay is located closer to the destination than the source, i.e., for relay positions d > 0.5, as shown in Figure 9. Note that for all d, both the source and the relay have fixed transmit power, i.e., the total power P is divided in half for the source and the relay for all d. The performance of the co-operative relay network depends mostly on the performance of the source to relay channel. At d > 0.5, the signal received at the relay has higher path loss

Figure 6 Comparison between different check node degree distributions for the code with code rate 0.25 and d = 0.2. The

check node degree distribution pC2 = 0.4177x3 + 0.5823x6 gives good performance for d = 0.2.

Figure 8 Comparison between different check node degree distributions for the code with code rate 0.25 and large d. For

large values of d, the different check node degree distributions have almost the same performance.

than at d < 0.5, so the probability of erroneous decoding of wi in the relay increases with increasing d. The erroneously decoded wi is then used to calculate we, which in turn is transmitted to the destination and increases the probability of erroneous decoding of the entire codeword w2. This causes the performance degradation of the proposed codes at d > 0.5. At d > 0.7, the relay network has worse performance than the direct link, at least for some SNRs.

4.2 High-rate medium block length codes

The performance of the proposed code design has also been analyzed for a high-rate code of medium block length. The code C1 is designed by optimizing the variable node degree distributions for R1 = 0.9, Nf1 = 2, Nf1 = 1, af = 1, pC1 = 1, dfmax = 7, and pC1 = x29. Variable node degree distributions of C2 are optimized for R2 = 0.6, NT = 3, Nf2 = 2, aC2 = [0.9 0.1], pCf = [2/3 1/3], dfmax = 50 and check node degree distribution pC2. The lengths of the codewords w1 and w2 are N1 = 1,730 and N2 = 2,592, respectively.

Good pC2 for C2 at each d has been chosen by using the procedure adopted in Section 4.1.1 for finding good pC2 for medium block length codes of low rate. We have analyzed the performance of C2 with four different non-concentrated check node degree distributions pC2 = 0.25x10+0.75x29, pC2 = 0.5x10+0.5x29, pf = 0.4177x10+ 0.5823x29, and pf = 0.1x10+0.9x29 for different positions d. All the check node degree distributions for C2 satisfy the rate-compatible constraint for the check node degree distribution as defined by (17). In the same way as for the code with low rate in Section 4.1.1, the code C2 with high rate is also designed such that it has the error floor at lower bit error rates and the waterfall region at a lower

SNR by keeping the minimum check node degree in all the check node degree distributions equal to 11. Note that 11 is the highest possible minimum degree with which the four check node degree distributions satisfy (17). The good check node degree distributions being found for d = 0.1,0.2,0.4 and 0.5 are pC2 = 0.25x10 + 0.75x29, pC2 = 0.25x10 + 0.75x29, pC2 = 0.5x10 + 0.5x29, and pC2 = 0.25x10 + 0.75x29, respectively. As for the low-rate code proposed in Section 4.1.1, the choice of check node degree distribution does not have a large impact on the performance for d = 0.6, 0.7, 0.8 and 0.9. The performance of the proposed code has been evaluated for d = 0.1,0.2,0.4,0.5,0.7 and 0.9 as shown in Figure 10. It is shown that the relay network has the best performance for d = 0.4, like the low-rate code in Section 4.1.2. It is reported in [9] that codes with different code rates have similar sensitivity to the relay position for a given transmit power distribution of the source and the relay; hence, for both cases of low- and high-rate codes, the optimal position where the proposed code achieves best performance is d = 0.4. The performance of the proposed high-rate code is compared to the performance of an LDPC code designed for the direct link. The design of the code for the direct link is the same as for C1 except that the code is designed with code rate 0.6, a suitable p = 0.5 143x10 + 0.09 86x18 + 0.07 1 7x24 + 0.233 9x26 + 0.0816x29 (from LOPT [22]), full transmission power P and dvmax = 50. In the simulations of the direct link, the codeword length is 2,592 bits. At a BER of 10-5, the proposed high-rate code shows 1.3-dB gain over the direct link transmission for d = 0.4, as shown in Figure 10.

4.3 Short and long block length codes

In this subsection, the performance of the proposed code design has been analyzed for short and long block lengths.

The codeword lengths for the short block length are N1 = 512 and N2 = 1,024 bits, and for the long block length, we consider N1 = 5,344 and N2 = 10,688 bits. Note that the proposed code optimization algorithm is independent of the code length. The parameters used for the design of the proposed code with short and long block lengths are the same as those used for medium block length in Section 4.1. For comparison, codes for the direct link with codeword lengths of 1,024 and 10,688 bits have been constructed, according to the degree distributions found for the medium length code in Section 4.1.

It is shown in [9] that the optimal position of the relay depends on the power distribution of the source and the relay in the relay network. For the proposed code with medium block length, it has been shown in the previous subsections that the optimal position is d = 0.4. We have analyzed the performance of the proposed code with short and long block lengths at the optimal position of the relay, i.e., at d = 0.4. At a BER of 10-4, the proposed code with short and long block lengths have 3.8-dB gain over the direct link transmission for d = 0.4, as shown in Figure 11.

4.4 Comparison

This subsection provides a performance comparison of the codes proposed in this paper to QC-LDPC codes [9], extension-based RC LDPC codes [3] and puncturing-based RC LDPC codes [6].

4.4.1 Comparison to QC-LDPC codes

In this subsection, we compare the performance of the RC UEP-LDPC codes to the QC-LDPC codes proposed in [9], which are implemented through a repetition coding scheme in a half-duplex co-operative relay network.

Figure 11 Performance comparison between the proposed codes with short and long block lengths at d = 0.4 and direct link communication. The codeword lengths of the short and long block lengths are 1,024and 10,688 bits, respectively. The code rate is 0.25 for all codes.

The simulation results for the QC-LDPC codes of [9] are reproduced in this paper, as shown in Figure 12. The proposed RC UEP-LDPC codes, like the QC-LDPC codes, are structured and irregular. They are however implemented in the half-duplex co-operative relay network through a rate-compatible coding scheme. We assume, like in [9], that the source is silent in MAC mode and use the same codeword length. In contrast to [9], the relay terminal in our case transmits the extra parity bits instead of retransmitting the decoded codeword in MAC mode. The RC UEP-LDPC codes are more complex from a practical implementation point of view compared to the QC-LDPC codes in [9], but they require a lower Eb/N0 to achieve the same bit error probability.

Equal time slots are assumed in BC and MAC modes as well as equal transmit powers at the source and the relay, i.e., Psi = P/2 and Pr = P/2. In [9], the length of each codeword being transmitted in BC and MAC modes is 1,296 bits and the rate is 1/2. For the RC UEP-LDPC codes, the length of w1 is equal to 1,296 with rate 1/2. Additional parity bits we of length 1,296 are transmitted in MAC mode. Hence, the total number of bits received at the destination, both for the QC-LDPC codes and for the RC UEP-LDPC codes, is equal to 2,592 bits.

In [9], the LDPC code is decoded by the layered belief propagation (LBP) algorithm as defined in [23]. LBP is a variation of the standard belief propagation [1] which is designed for architecture aware (AA) LDPC codes with quasi-cyclic properties. It is shown that with LBP, the decoding of AA LDPC codes is improved by two times in

Figure 12 BER performance of the QC-LDPC code proposed in [9]. With the decode and forward strategy of the relay terminal and without re-encoding. The QC-LDPC codes have code rate 0.5 and a codeword length of 1,296 bits, while the proposed RC UEP-LDPC code has code rate 0.25 and a codeword length of 2,592 bits. Note that since the repetition coding scheme is used in [9], it is fair to compare these codes to the proposed codes of double codeword length and half the code rate. The proposed code shows 1.9-dB gain over the codes in [9] at d = 0.4.

the number of iterations required for a given error rate [24]. However, we have used standard belief propagation decoding to reproduce the results of [9] and to analyze the performance of the proposed LDPC codes in co-operative relay networks. To get the equivalent performance of LBP using standard belief propagation decoding, the number of decoding iterations is set to twice the number of iterations defined in [9]. In [9], ten decoding iterations at the relay and ten decoding iterations at the destination are used. We use 20 decoding iterations at both the relay and the destination.

From the comparison of Figures 9 and 12, the RC UEP-LDPC codes give better performance than the QC-LDPC codes in [9]. The QC-LDPC codes also show best performance for d = 0.4. Under the same time slots, transmission power and using the DF strategy for the relay, the proposed codes outperform the codes in [9] with a gain of 1.9 dB at a BER of 10-4 for d = 0.4, as shown in Figure 12. For the positions of the relay other than d = 0.4, the proposed codes have different gains over the codes in [9], which can be observed by comparing the results for each d in Figures 9 and 12. The improved performance of the proposed codes over the QC-LDPC codes in [9] is due to separate optimization of the proposed codes for each relay position. Furthermore, the proposed code design is based on the rate-compatible coding scheme, which provides a better trade-off between bit error rate and data rate than the repetition coding scheme.

4.4.2 Comparison to extension-based RC LDPC Codes

It is observed from Figure 9 that the performance of the proposed codes is close to the performance of the code proposed in [3] for the range of d between 0.2 and 0.3 (see the simulation of the optimized code of length 20,000 in [3] for a comparison). We perform the optimization of the code through an iterative linear programming algorithm in contrast to the code design in [3], which is achieved through differential evolution, a complex non-linear constrained optimization algorithm. There are three reasons why the RC UEP-LDPC codes are not exactly approaching the performance of the codes in [3]. First, the codeword length considered in [3] is almost ten times higher than the codeword length considered for the RC UEP-LDPC codes. Second, in [3], it is assumed that each codeword is perfectly decoded at the relay. Third, in [3], it is assumed that the source is active also in MAC mode.

4.4.3 Comparison to puncturing-based RC LDPC codes

The performance of the proposed codes is also compared to puncturing-based RC LDPC codes proposed in [6] for half-duplex co-operative relay networks. The puncturing-based rate-compatible coding scheme proposed in [6] requires the design of only one single-user LDPC code as

a mother code C. The mother code C with code rate Rc is first designed either by linear programming or by using an optimized LDPC degree distribution from [25]. Then, a proportion of the parity bits is punctured randomly, which raises the code rate of C to Rp. In BC mode, the punctured codeword of C is transmitted to the destination and the relay. The destination stores the punctured codeword until it receives the punctured parity bits from the relay. The punctured parity bits are recovered at the relay and are sent as extra parity bits to the destination in MAC mode. Thus, the destination receives the entire codeword corresponding to the mother code C with different SNRs for the punctured codeword and the extra parity bits as expressed by (8) and (9). The coding scheme proposed in [6] only requires the design of a mother code C and the code design proposed in [6] is therefore simpler than the code design proposed here, which requires joint design of two codes.

We use the linear programming optimization algorithm defined in this paper without the constraints for UEP and rate-compatibility to find an optimized variable node degree distribution for the code C with a suitable p = 0.2465x3+0.2990x5 +0.1307x6+0.1774x7+0.1464x8 (from LOPT [25]), Rc = 1/4 and dvmax = 33. The code C is punctured at the source and the code rate is raised to Rp = 0.5. The performance of the coding scheme proposed in [6] is shown in Figure 13 for a codeword length of 2,048 bits and d = 0.4. It is assumed in [6], as in the coding strategy proposed here, that the source is silent in MAC mode, the codeword is imperfectly decoded at the relay and that extra parity bits from the relay are sent without encoding to the destination.

To compare the performance of the RC UEP-LDPC code proposed here to the coding scheme proposed in [6],

RC UEP-LDPC' {extension) RC LDPC (puncturing)

1 11 1 i: 1 II : i i '! ! [ '■] : . N. i!!!iH'J!'2!!!!S!i: ! J II ! !| I ; I ! ! 2 ! | | |:

--------- 1 ru t IOI Itl' ) t I! 1! Ml »1 »13 H 1 II I i i u i i; e ii iijiit t"

laissais i

" —- " \

£i№ (<IB)

Figure 13 Performance comparison between the proposed RC UEP-LDPC code and puncturing-based RC LDPC codes for d = 0.4. The codes have code rate 0.25 and a codeword length of 2,048 bits.

the simulations of the RC UEP-LDPC codes are set with codeword lengths Ni = 1,024 and N2 = 2,048 for wi and w2, respectively, code rates R1 = 0.5 and R2 = 0.25 and d = 0.4. Other parameters that are specific to the code design proposed here are as follows. Code C1 is designed by optimizing the variable node degree distributions for N?1 = 2, NT1 = 1, aC1 = 1, = 1, d^L = 30, and pC1 = x8. Code C2 is designed by optimizing the variable node degree distributions for Nc 2 = 3, NsC2 = 2, aC2 = [0.5 0.5], fic2 = [0.5 0.5], d^ = 33, and check node degree distribution pC2. The performance of C2 has been analyzed for four different check node degree distributions pCc = 0.5x4 + 0.5x8, pCc = 0.25x4 + 0.75x8, pCc = 0.4177x4 + 0.5823x8, and pC2 = 0.1x4 + 0.9x8 at d = 0.4 by using the procedure adopted in Section 4.1.1 to find a good pC2 for C2. The good check node degree distribution for C2 at d = 0.4 is pC2 = 0.5x4+0.5x8. The code proposed in [6] shows worse performance than the code proposed here, as shown in Figure 13. The reason for this may be that the code proposed in [6] uses punctured codewords in BC mode, which results in a certain performance loss in the source to relay channel. Note that the overall performance of the co-operative relay network depends largely on the performance of the source to relay channel [4,5]. Our proposed coding scheme uses an optimized code in BC mode to achieve the best performance in the source to relay channel.

5 Conclusions

Using a relay node increases the reliability and the data rate when the direct link between the source and the destination is bad due to fading and interference. This paper proposes an LDPC code design algorithm for half-duplex co-operative relay networks, which is based on density evolution using linear programming. The proposed codes are rate-compatible with unequal error protection and the codes are designed through optimization of the variable node degree distribution. The proposed codes are jointly optimized for the source to relay and the source to destination channels.

The performance of the proposed codes is evaluated with short, medium and long block lengths, and with low and high rates under realistic assumptions covering imperfect decoding at the relay and variation of SNR within a single codeword. The proposed codes of rate 0.25 outperform the direct link communication for short, medium and long block lengths with 3.8-dB gain at a BER of 10-4, when the relay is located at position d = 0.4. The proposed code of medium block length and high-rate outperforms the direct link communication with 1.3-dB gain at a BER of 10-5 for d = 0.4. In contrast to the QC-LDPC codes proposed in [9], the proposed codes are optimized for each position of the relay relative to the source by considering the variation

of SNR within a codeword due to the transmission over different relay channels. Under the same time slots, transmission power and processing of the codewords at the relay terminal with the decode and forward strategy, the proposed codes achieve a 1.9-dB gain over the repetition coding scheme-based QC-LDPC codes in [9] for the position of the relay d = 0.4 at a BER of 10-4. In contrast to the puncturing-based RC-LDPC codes proposed in [6], the proposed code uses an optimized LDPC code in BC mode to achieve the best performance in the source to relay channel. Although the proposed code design is based on a low-complexity linear programming algorithm, its performance is close to the performance of codes proposed in [3] being optimized by the more complex differential evolution algorithm and using much longer codewords.

Endnote

aIn this paper, vectors are represented by bold letters. Competing interests

The authors declare that they have no competing interests. Acknowledgements

This study was supported by the Department of Computer Science, Electrical and Space Engineering, Lulea University ofTechnology, Sweden.

Author details

1 Department of Computer Science, Electrical and Space Engineering, Lulea University ofTechnology, Lulea 971 87, Sweden. 2Formerly with the Department of Computer Science, Electrical and Space Engineering, Lulea University ofTechnology, Lulea 971 87, Sweden. 3Ericsson Research, Wireless Access Networks, Lulea 977 53, Sweden.

Received: 5 March 2013 Accepted: 17 January 2014 Published: 2 February 2014

References

1. SY Chung, T Richardson, R Urbanke, Analysis of sum-product decoding of low-density parity-check codes using a Gaussian approximation. Inf. Theory IEEE Trans. 47(2), 657-670 (2001)

2. S Sandberg, N Von Deetzen, Design of bandwidth-efficient unequal error protection LDPC codes. Commun. IEEE Trans. 58(3), 802-811 (2010)

3. C Li, G Yue, X Wang, M Khojastepour, LDPC code design for half-duplex cooperative relay. Wireless Commun. IEEE Trans. 7(11), 4558-4567 (2008)

4. C Li, M Khojastepour, G Yue, X Wang, M Madihian, Performance analysis and code design for cooperative relay channels, in Information Sciences and Systems, 2006 40th Annual Conference (Princeton, NJ, 22-24 March 2006), pp. 1032-1037

5. C Li, G Yue, M Khojastepour, X Wang, M Madihian, LDPC-coded cooperative relay systems: performance analysis and code design. Commun. IEEE Trans. 56(3), 485-496 (2008)

6. M Wu, P Weitkemper, D Wubben, KD Kammeyer, Comparison of distributed LDPC coding schemes for decode-and-forward relay channels, in Smart Antennas (WSA), 2010 InternationalITG Workshop (Bremen, 23-24 Feb 2010), pp. 127-134

7. A Chakrabarti, A de Baynast, A Sabharwal, B Aazhang, Low density parity check codes for the relay channel. Selected Areas Commun. IEEE J. 25(2), 280-291 (2007)

8. P Razaghi, W Yu, Bilayer low-density parity-check codes for decode-and-forward in relay channels. Inf. Theory IEEE Trans. 53(10), 3723-3739 (2007)

9. M Karkooti, J Cavallaro, Cooperative communications using scalable, medium block-length LDPC codes, in IEEE Wireless Communications and Networking Conference 2008 (Las Vegas, NV, 31 March-03 April 2008,2008), pp. 88-93

10. J Laneman, D Tse, G Wornell, Cooperative diversity in wireless networks: Efficient protocols and outage behavior. Inf. Theory IEEE Trans.

50(12), 3062-3080(2004)

11. HV Khuong, HY Kong, Performance analysis of cooperative communications protocol using sum-product algorithm for wireless relay networks, in Advanced Communication Technology, 2006. ICACT2006. The 8th InternationalConference, Volume 3 (Phoenix Park, 20-22 Feb 2006,6), pp. -2173

12. M Khojastepour, N Ahmed, B Aazhang, Code design for the relay channel and factor graph decoding, in Signals, Systems and Computers, 2004. Conference Record oftheThirty-Eighth Asilomar Conference on, Volume 2 (Pacific Grove, CA, 7-10 Nov 2004), pp. 2000-2004

13. TS Rappaport, Wireless Communications, Principles and Practice, 2nd edition (Prentice Hall PTR, Upper Saddle River, 1996)

14. F Kschischang, B Frey, HA Loeliger, Factor graphs and the sum-product algorithm. Inf. Theory IEEE Trans. 47(2), 498-519 (2001)

15. RTanner, A recursive approach to low complexity codes. Inf. Theory IEEE Trans. 27(5), 533-547 (1981)

16. T Richardson, M Shokrollahi, R Urbanke, Design of capacity-approaching irregular low-density parity-check codes. Inf. Theory IEEE Trans.

47(2), 619-637 (2001)

17. D Bi, L Perez, Rate-compatible low-density parity-check codes with rate-compatible degree profiles. Electron. Lett. 42,41-43 (2006)

18. J Li, KR Narayanan, Rate-compatible low density parity check codes for capacity-approaching ARQ schemes in packet data communications, in Proceeding of the 2002 Int. Conf. Commun., Int. rnet, and Inform. Tech. Tech. (CIIT) (St. Thomas, 18-20 November 2002), pp. 201-206

19. M Yazdani, A Banihashemi, On construction of rate-compatible low-density parity-check codes. Commun. Lett. IEEE. 8(3), 159-161 (2004)

20. TTian, C Jones, J Villasenor, RWesel, Selective avoidance of cycles in irregular LDPC code construction. Commun. IEEE Trans. 52(8), 1242-1247 (2004)

21. LOPT - Online Optimization of LDPC Degree Distributions. [http://sonic.newcastle.edu.au/ldpc/lopt/results/a7e98878c] Accessed 27 September 2012

22. LOPT - Online Optimization of LDPC Degree Distributions. [http://sonic.newcastle.edu.au/ldpc/lopt/results/a9bbcb2c1] Accessed 8 November 2013

23. M Mansour, N Shanbhag, High-throughput LDPC decoders. Very Large Scale Integration (VLSI) Syst. IEEE Trans. 11 (6), 976-996 (2003)

24. D Hocevar, A reduced complexity decoder architecture via layered decoding of LDPC codes, in IEEE Workshop on Signal Processing Systems 2004 (Austin, TX, 13-15 Oct 2004), pp. 107-112

25. LOPT - Online Optimization of LDPC Degree Distributions. [http://sonic.newcastle.edu.au/ldpc/lopt/results/af562fb8c] Accessed 19 November 2013

doi:10.1186/1687-1499-2014-22

Cite this article as: Khattak and Sandberg: Jointly optimized rate-compatible UEP-LDPC codes for half-duplex co-operative relay networks.

EURASIP Journal on Wireless Communications and Networking 2014 2014:22.

Submit your manuscript to a SpringerOpen journal and benefit from:

7 Convenient online submission 7 Rigorous peer review 7 Immediate publication on acceptance 7 Open access: articles freely available online 7 High visibility within the field 7 Retaining the copyright to your article

Submit your next manuscript at 7 springeropen.com