- Research Article
- Open Access

# Distributed Generalized Low-Density Codes for Multiple Relay Cooperative Communications

- Changcai Han
^{1}Email author and - Weiling Wu
^{1}

**2008**:852397

https://doi.org/10.1155/2008/852397

© C. Han and W. Wu 2008

**Received:**1 November 2007**Accepted:**9 July 2008**Published:**17 July 2008

## Abstract

As a class of pseudorandom error correcting codes, generalized low-density (GLD) codes exhibit excellent performance over both additive white Gaussian noise (AWGN) and Rayleigh fading channels. In this paper, distributed GLD codes are proposed for multiple relay cooperative communications. Specifically, using the partial error detecting and error correcting capabilities of the GLD code, each relay node decodes and forwards some of the constituent codes of the GLD code to cooperatively form a distributed GLD code, which can work effectively and keep a fixed overall code rate when the number of relay nodes varies. Also, at relay nodes, a progressive processing procedure is proposed to reduce the complexity and adapt to the source-relay channel variations. At the destination, the soft information from different paths is combined for the GLD decoder thus diversity gain and coding gain are achieved simultaneously. Simulation results verify that distributed GLD codes with various number of relay nodes can obtain significant performance gains in quasistatic fading channels compared with the strategy without relays and the performance is further improved when more relays are employed.

## Keywords

- Relay Node
- Code Rate
- LDPC Code
- Cooperative Communication
- Turbo Code

## 1. Introduction

Cooperative communications can increase achievable rates and decrease susceptibility to channel variations [1–3] and have potential practical applications in cellular systems, wireless ad hoc, and sensor networks. In cooperative communications, several relay protocols, such as amplify-and-forward (AF) [4], decode-and-forward (DF) [1], and coded cooperation [5, 6], have been proposed.

Based on relay protocols, various coding strategies can be devised using rate-compatible punctured convolutional (RCPC) codes, product codes, or concatenation codes and the coding scheme design has become a hot topic in the literature [7–12]. Specifically, low-density parity-check (LDPC) codes [13] are employed for relay networks in [7–9] and distributed turbo codes are presented in [10–12].

Most of the cooperative strategies above are devised for the classical three-node relay channel model, that is, the network with only one relay. However, it has been theoretically revealed that the diversity gain increases when more relays participate in cooperation [14]. Moreover, in wireless relay networks, the number of relays participating in cooperation may vary from time to time due to the random mobility of nodes [15]. Therefore, the coding schemes should be easily adjusted when the relay number varies. Although distributed turbo codes can be extended to networks with different number of relays using multiple turbo codes [16], the overall code rate decreases with the increase of relay number [11]. In this paper, based on the DF relay protocol, a novel coding scheme is proposed for cooperative relay networks using generalized low-density (GLD) codes [17–19], which has a fixed overall code rate.

GLD codes were first introduced by Tanner in [17] and then were further investigated in [18–20]. GLD codes which make the generalization of Gallager's LDPC codes are constructed by replacing the parity-check constraints in LDPC codes with block code constraints. Similar to LDPC codes, GLD codes can also be iteratively decoded and exhibit excellent performance over both additive white Gaussian noise (AWGN) [18, 19] and Rayleigh fading channels [20].

In the proposed scheme, each relay is only responsible for forwarding one or several constituent codes of GLD codes according to the number of available relays using the partial error detecting and error correcting capabilities of GLD codes. Unlike distributed turbo codes in [11], the overall code rate of distributed GLD codes is fixed when the relay number varies. Moreover, a progressive processing strategy is proposed for relay nodes, which allows partial decoding of the received codeword to reduce the complexity in good source-relay channel conditions and guarantees the robustness of the system in bad conditions. At the destination, a combiner is added to collect the soft information from different nodes for the GLD decoder and a little complexity is added to the destination node. The significant performance of distributed GLD codes over quasistatic fading channels is further verified by simulations.

The remainder of this paper is organized as follows. Section 2 briefly describes the system model of cooperative communications with multiple relays in a cluster. In Section 3, distributed GLD codes are proposed and the processing algorithms at relays and the destination are presented. Section 4 gives the simulation results of distributed GLD codes. The conclusions are drawn in Section 5.

## 2. System Model

In this scenario, the cooperative relay group can be assigned by some central nodes or via some other distributed protocols. For example, the source node may send a "hello" message to the surrounding nodes and those nodes which respond properly verified according to some criteria form a transmit cluster as introduced in [15]. Once a cluster is formed, the relay set
is given. Let *L* denote the number of available relays in the set
, where *L* equals the cardinality of the set
denoted as
. Note that the cluster needs to be reformed after some time due to the random mobility of nodes. That is, the relay number *L* may vary from time to time in cooperative relay networks accordingly.

All the channels from nodes in the cluster to the distant destination are usually modeled as independent quasistatic Rayleigh fading channels. All the internode channels, that is, the channels between nodes in the same cluster, may be modeled as independent AWGN channels due to strong line of sight components [21], although this is not a critical element of the scheme. We assume that all the nodes transmit signals on orthogonal channels (e.g., CDMA, FDMA, or TDMA) and are constrained to the half-duplex mode.

We assume the source
transmits signals to the destination
aided by relay nodes in the set
. The cooperative relay protocol in this scenario is usually consisted of two phases as illustrated in Figure 1. At the source node
, let
denote the encoded bit vector, where *N* is the code length. Then it is modulated with the binary phase shift keying (BPSK) constellation to get
.

where is the power of each symbol from the source, is the Rayleigh fading coefficient of the channel from the source to the destination and denotes the AWGN with the variance .

*l*is denoted as

where
represents the fading gain of the path from the source node to the relay node *l* and
is the AWGN. In the scenario of this paper, the internode channels are modeled as AWGN channels, that is, for the pair of nodes belong to the same cluster,
. Relay nodes decode the data and some error detecting codes such as cyclic redundancy check (CRC) or other linear block codes are used to verify the decoding results.

*l*, which is received at the destination given by

where
is the power of each symbol from the relay *l*,
is the Rayleigh fading coefficient of the channel from the relay *l* to the destination, and
denotes the AWGN with the variance
.

## 3. Distributed GLD Codes for Cooperative Communications

### 3.1. GLD Codes and Distributed GLD Codes

In this part, generalized low-density codes are introduced and distributed GLD codes are proposed for the cooperative networks with multiple relays. Following the construction in [17–19], GLD codes are defined using a sparse matrix
constructed by replacing each row in a sparse parity-check matrix, which indeed defines an LDPC code, with
rows including one copy of the parity-check matrix
of the constituent code
Here,
is usually a block code of code length *n* and information bit length *k*, such as BCH code and Reed-Solomon (RS) code.

*N,*the matrix consists of submatrices , where and denote pseudorandom column permutations, that is, bit-level interleavers [19] as illustrated in Figure 2. Therefore, an GLD code

*C*can be considered as the intersection of supercodes that is, , where and . Therefore, the code rate of GLD codes is where is the code rate of the constituent code .

The parity-check matrix **H** of GLD code is rearranged using Gaussian elimination method to get the systematic form, and then the generator matrix **G** is achieved. Using the generator matrix **G**, information bits are encoded. GLD codes can be iteratively decoded based on the soft-input soft-output (SISO) decoders of constituent codes [22, 23]. Specifically, the first supercode
is decoded using
SISO decoders executed in parallel, for it is composed of
constituent codes. Then the extrinsic messages of coded bits are interleaved and fed to the decoder of the second supercode
as the priori information. Thus, excellent performance is obtained by iterating the process above for each supercode [19], that is,
.

In the following, distributed GLD codes are devised for cooperative relay networks using GLD codes, for the performance of GLD codes with is asymptotically good as shown in [19]. In order to make the description more general, we still employ to denote the GLD code in the following.

*l*, according to the relay number

*L*in the cluster. Since an GLD code consists of constituent codes, we configure to satisfy

In order to efficiently use the transmit power, we assume and one constituent code is only allocated to one relay in this scheme. Then each relay decodes the constituent codes for which it is responsible. The decoding results of constituent codes which are decoded correctly are forwarded to the destination by the associated relays in the second phase. Note that relay nodes do not reencode the data, which reduces the complexity of relay nodes compared with distributed turbo codes in [11].

In this way, all the constituent codes forwarded by the relays construct a distributed GLD code. If all the constituent codes are forwarded successfully, each code symbol
, is indeed forwarded *J* times by *J* relays which constitute a relay set
for the associated code bit
, where
. Therefore, *J* copies of the bit
from relays in the
can be combined with the copy from the source to achieve diversity gain at the destination.

*L*by simply adjusting . Note that, for each code bit , the total power consumed by the source and the associated relays in is fixed as

*P*when the relay number

*L*varies. Moreover, contrary to distributed turbo codes [11], the overall code rate of the system is independent of the relay number

*L*and given as follows:

Therefore, the scheme is quite suitable for the cooperative networks where the number of active relay nodes may vary from time to time. In contrast, the distributed turbo codes may increase the traffic of the network when more relays are employed to improve the performance.

Another advantage of the proposed scheme is that each relay node is only responsible for relaying one or several constituent codes to the destination according to the assignment of the protocol. In this way, each relay only consumes a little energy to relay data and significant diversity gain can be achieved at the destination, for the fading at different locations may vary. In general, the constituent codes are uniformly allocated to the available relay nodes in the set so as to balance the power consumption and data payload of each relay node. Also, the same quality of each bit is achieved in this way. This also gives us a hint to improve the system performance by allowing the relays, which are lucky to experience good channel conditions to the destination, to forward more constituent codes than others with some adaptive protocols. This adaptive strategy will not be included in this paper. The other design aspects and advantages of distributed GLD codes will be addressed in the following parts.

### 3.2. Progressive Decoding for Relay Nodes

Let us take the scenario in which one relay node forwards one constituent code
as an example and the process can be summarized as follows. First, decode the constituent code
using a hard decision algorithm based on the received
symbols and obtain the hard decision
of the codeword. Then, use the parity check matrix
to verify whether the codeword is correct or not. If
the decoder stops and
is forwarded to the destination. Otherwise, this codeword will be decoded utilizing a maximum a posteriori (MAP) decoder, that is, BCJR algorithm [22, 23]. Similarly, the check criterion is employed to check the decoding results after MAP decoding. If
the relay stops decoding and forwards
to the destination. Otherwise, the relay will execute iterative decoding for the whole GLD code based on all the *N* symbols from the source. During the iterative decoding, the same check criterion is executed after each iteration. Once the check result is correct or the iteration reaches the maximum times
, the decoding process stops.

Theoretically, undetected errors will be incurred by the checking criterion, but this is ignored in this paper due to the good internode channels in a cluster and the good error detecting capability of the constituent code. In addition, the probability of decoding failure at relays may be very low attributed to the significant performance of GLD codes.

### 3.3. Processing at the Destination

In the proposed scheme, several independent copies associated with one symbol are obtained from the source and relay nodes, and then the signals from different paths are combined before they are inputted into the GLD decoder at the destination. With the scheme, the coding gain and diversity gain are achieved with a little additional complexity compared with strategies without relays.

Then, the combined LLRs are sent to the GLD decoder for iterative decoding. In this way, the diversity and coding gain are achieved using distributed GLD codes with low complexity at the destination. Specifically, the trellis-based MAP algorithm [22, 23] can be employed to decode the constituent codes in parallel for the GLD code. Compared with multiple turbo codes [16], the decoding latency of GLD codes is shorter due to the parallel decoding of
constituent codes in each supercode. Moreover, in the proposed scheme, the destination node always needs to decode the
GLD code even when the relay number *L* varies. However, in distributed turbo codes, the receiver needs to decode the multiple turbo code with
constituent RSC codes. Here, the code length of the multiple turbo code also increases with the relay number *L*, which is usually much longer than the
GLD code length *N*. Therefore, the complexity and decoding latency of the proposed scheme can be greatly reduced compared with distributed turbo codes especially when *L* is large.

In conclusion, Section 3 presents a novel strategy using distributed GLD codes for multiple relay cooperative communications. Firstly, it is a flexible scheme which can adapt well to cooperative networks with different number of relays. Secondly, the complexity of relay nodes is low, for the progressive decoding algorithm allows partial decoding of the GLD code and no reencoding process is needed. When there are many relays, the power consumption can be approximately balanced for each relay node, which is quite essential for relays especially in wireless sensor networks. At last, the diversity gain and coding gain are achieved with a little additional complexity compared with the strategy without relay.

## 4. Simulation Results

In this section, the performance of the proposed scheme is simulated and compared with other cooperative coding schemes. In the simulations, the GLD code is employed, which takes BCH codes as constituent codes and has a code rate of .

Secondly, the performance of distributed GLD codes is simulated under different conditions. In the following, we assume the internode channels in the same cluster are perfect as in [11, 24]. The source and relay nodes face independent and identically distributed quasistatic Rayleigh fading channels toward the distant destination. Here, the source and each relay use the same energy to transmit each symbol. If the transmit power of each symbol is
, the source broadcasts the symbol using
and the two relay nodes related to this symbol share the remainder
, for each symbol is relayed twice by two relays in the designed distributed GLD code. If there is not any relay node, that is,
, all the transmit power *P* is allocated to the source node. Therefore, the comparison is fair and the overall code rate of the system is
. The GLD decoder iterates 10 times at the receiver. We simulate scenarios with or without source-destination path.

*L*is small, such as . However, as the relay number increases, the gap decreases. This may be because that when

*L*is small, the diversity from the source-destination path is prominent in the overall performance.

In Figure 9, it is illustrated that distributed GLD codes outperform the distributed turbo code. Here, the destination node in distributed GLD codes always needs to decode the
GLD code for different relay number *L*. However, in distributed turbo codes, the receiver needs to decode the multiple turbo code of the code length
bits, which consists of
constituent
RSC codes. The complexity and decoding latency of the proposed scheme can be greatly reduced compared with distributed turbo codes especially when *L* is large. In addition, distributed GLD codes may be used to provide different quality of service (QoS) by employing different number of relays while the network traffic is constant, for they can easily adapt to the variation of the relay number and keep a fixed overall code rate.

At last, different power allocation strategies on distributed GLD codes are investigated. In the simulations above, the powers allocated to the source and the two associated relays is and , respectively, thus each symbol from either the source or each relay has the same power level. In practical situations, the destination node is usually located far from the source while the relay nodes surround the source in a cluster. When the large-scale path loss is considered, the power levels at relay nodes may be much higher than at the destination. Thus, the unequal power allocation (UPA) may be considered to further improve the performance of distributed GLD codes.

*L*is small, such as . However, compared with Figure 8, the improvement gap of the source-destination path in the UPA scheme is narrower especially when

*L*is large, such as For the systems with many relays, the diversity of the source-destination path can be almost ignored.

*L*, the improvement gaps of the UPA strategy are all about 1.3 dB at a BER of .

*L*is small, such as 2 and 4, the UPA scheme suffers performance loss compared with the scheme with . However, when

*L*is large, such as 14 and 56, the UPA scheme contrarily exhibits better performance compared with the scheme with . This may be because when

*L*is small, the UPA scheme lowers the effectiveness of the diversity due to the source-destination path while it enforces the effectiveness of relays for large

*L*such as 56 and 14.

## 5. Conclusion

Distributed generalized low-density codes are constructed for multiple relay cooperative communications. The proposed scheme can adapt well to the variation of the relay number in the wireless relay network while the overall code rate of the system is fixed. In the scheme, each relay is responsible for forwarding one or several constituent codes of the GLD code, thus the complexity and power consumption of each relay node are quite limited. Moreover, a progressive decoding strategy is proposed for relay nodes to further reduce the complexity and adapt to the source-relay channel variations. At the destination, the soft information is first combined and then iterative decoding is performed for GLD codes to achieve the coding gain and diversity gain. The significant performance improvements have also been verified by simulations over quasistatic fading channels.

In the future, the performance can still be further improved by allocating constituent codes and transmit power elaborately to different relay nodes considering their distance to the destination and channel variations.

## Declarations

### Acknowledgments

The authors thank the editors and reviewers for their valuable comments and suggestions. This work was supported by National Basic Research Program of China (2007CB310604) and NSFC (60772108).

## Authors’ Affiliations

## References

- Sendonaris A, Erkip E, Aazhang B: Increasing uplink capacity via user cooperation diversity.
*Proceedings of IEEE International Symposium on Information Theory (ISIT '98), August 1998, Cambridge, Mass, USA*156.Google Scholar - Sendonaris A, Erkip E, Aazhang B: User cooperation diversity—part I: system description.
*IEEE Transactions on Communications*2003, 51(11):1927-1938. 10.1109/TCOMM.2003.818096View ArticleGoogle Scholar - Sendonaris A, Erkip E, Aazhang B: User cooperation diversity—part II: implementation aspects and performance analysis.
*IEEE Transactions on Communications*2003, 51(11):1939-1948. 10.1109/TCOMM.2003.819238View ArticleGoogle Scholar - Laneman JN, Wornell GW, Tse DNC: An efficient protocol for realizing cooperative diversity in wireless networks.
*Proceedings of IEEE International Symposium on Information Theory (ISIT '01), June 2001, Washington, DC, USA*294.Google Scholar - Hunter TE, Nosratinia A: Cooperation diversity through coding.
*Proceedings of IEEE International Symposium on Information Theory (ISIT '02), June-July 2002, Lausanne, Switzerland*220.View ArticleGoogle Scholar - Hunter TE, Nosratinia A: Diversity through coded cooperation.
*IEEE Transactions on Wireless Communications*2006, 5(2):283-289.View ArticleMathSciNetGoogle Scholar - Ezri J, Gastpar M: On the performance of independently designed LDPC codes for the relay channel.
*Proceedings of IEEE International Symposium on Information Theory (ISIT '06), July 2006, Seattle, Wash, USA*977-981.Google Scholar - Razaghi P, Yu W: Bilayer low-density parity-check codes for decode-and-forward in relay channels.
*IEEE Transactions on Information Theory*2007, 53(10):3723-3739.View ArticleMathSciNetGoogle Scholar - Chakrabarti A, de Baynast A, Sabharwal A, Aazhang B: Low density parity check codes for the relay channel.
*IEEE Journal on Selected Areas in Communications*2007, 25(2):280-291.View ArticleGoogle Scholar - Zhao B, Valenti MC: Distributed turbo coded diversity for relay channel.
*Electronics Letters*2003, 39(10):786-787. 10.1049/el:20030526View ArticleGoogle Scholar - Valenti MC, Zhao B: Distributed turbo codes: towards the capacity of the relay channel.
*Proceedings of the 58th IEEE Vehicular Technology Conference (VTC '03), October 2003, Orlando, Fla, USA*1: 322-326.Google Scholar - Li Y, Vucetic B, Wong TF, Dohler M: Distributed turbo coding with soft information relaying in multihop relay networks.
*IEEE Journal on Selected Areas in Communications*2006, 24(11):2040-2050.View ArticleGoogle Scholar - Gallager RG:
*Low-Density Parity-Check Codes*. MIT Press, Cambridge, Mass, USA; 1963.Google Scholar - Azarian K, El Gamal H, Schniter P: On the achievable diversity-multiplexing tradeoff in half-duplex cooperative channels.
*IEEE Transactions on Information Theory*2005, 51(12):4152-4172. 10.1109/TIT.2005.858920View ArticleMathSciNetMATHGoogle Scholar - Sadek AK, Su W, Liu KJR: Clustered cooperative communications in wireless networks.
*Proceedings of IEEE Global Telecommunications Conference (GLOBECOM '05), November-December 2005, St. Louis, Mo, USA*3: 1-5.Google Scholar - Divsalar D, Pollara F: Multiple turbo codes.
*Proceedings of IEEE Military Communications Conference (MILCOM '95), November 1995, San Diego, Calif, USA*1: 279-285.Google Scholar - Tanner RM: A recursive approach to low complexity codes.
*IEEE Transactions on Information Theory*1981, 27(5):533-547. 10.1109/TIT.1981.1056404View ArticleMathSciNetMATHGoogle Scholar - Lentmaier M, Ziganfirov KS: Iterative decoding of generalized low-density parity-check codes.
*Proceedings of IEEE International Symposium on Information Theory (ISIT '98), August 1998, Cambridge, Mass, USA*149.Google Scholar - Boutros J, Pothier O, Zemor G: Generalized low density (Tanner) codes.
*Proceedimgs of IEEE International Conference on Communications (ICC '99), June 1999, Vancouver, Canada*1: 441-445.Google Scholar - Pothier O, Brunel L, Boutros J: A low complexity FEC scheme based on the intersection of interleaved block codes.
*Proceedings of the 49th IEEE Vehicular Technology Conference (VTC '99), May 1999, Houston, Tex, USA*1: 274-278.Google Scholar - Yuksel M, Erkip E: Diversity-multiplexing tradeoff in cooperative wireless systems.
*Proceedings of the 40th Annual Conference on Information Sciences and Systems (CISS '06), March 2007, Princeton, NJ, USA*1062-1067.Google Scholar - Bahl L, Cocke J, Jelinek F, Raviv J: Optimal decoding of linear codes for minimizing symbol error rate.
*IEEE Transactions on Information Theory*1974, 20(2):284-287.View ArticleMathSciNetMATHGoogle Scholar - Matsumoto T: Decoding performance of linear block codes using a trellis in digital mobile radio.
*IEEE Transactions on Vehicular Technology*1990, 39(1):68-74. 10.1109/25.54957View ArticleGoogle Scholar - Li X, Wong TF, Shea JM: Performance analysis for collaborative decoding with least-reliable-bits exchange on AWGN channels.
*IEEE Transactions on Communications*2008, 56(1):58-69.View ArticleGoogle Scholar - Yi S, Azimi-Sadjadi B, Kalyanaraman S, Subramanian V: Error control code combining techniques in cluster-based cooperative wireless networks.
*Proceedimgs of IEEE International Conference on Communications (ICC '05), May 2005, Seoul, South Korea*5: 3510-3514.Google Scholar

## Copyright

This article is published under license to BioMed Central Ltd. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.