UFDC Home  myUFDC Home  Help 



Full Text  
COLLABORATIVE DECODING: ACHIEVING COOPERATIVE DIVERSITY IN WIRELESS NETWORKS USING SOFTINPUT SOFTOUTPUT DECODERS By ARUN AVTUDAINAYAGAM A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2006 Copyright 2006 by Arun Avudainayagam To my parents, Hema and Nayagam, and my wife, Krithi. ACKNOWLEDGMENTS Numerous individuals have directly and indirectly contributed to my graduate ex perience in general and this dissertation in particular. The following few words cannot fully convey my gratitude for all the help and guidance I have received over the years. Any acknowledgment should start with my advisor, Dr. John Shea. I have greatly benefited from his expertise, valuable insights and approach to tackling problems. His mentoring has made me strive to become a better engineer and researcher. I thank him for all his help, guidance, and patience. I would also like to thank Dr. Tan Wong for many fruitful and interesting discussions. Special thanks go to Dr. Fang for taking me under his wing when I first began my graduate studies and for encouraging me to continue at UF for my Ph.D. I must also mention my fel low graduate students who made my stay at WING a very memorable experience. Abhinav Roogta, Hanj o Kim and Jangwook Moon deserve a special mention for various successful and some notsosuccessful (but interesting nonetheless) collaborations. I am also grateful to the Office of Naval Research for sponsoring part of my research. This dissertation would not have been possible without the support and encouragement of my parents, Hema and Nayagam. I thank you for all your sacrifices that has moulded me into this person that I am today. And to end with a "last but not least" cliche~; my most loving and sincere thanks go to my wife, Krithi. She was probably the most affected by my schedule during the course of this work and I cannot express how invaluable her support has been over the years. TABLE OF CONTENTS ACKNOWLEDGMENTS . . iv LIST OF TABLES . . vii LIST OFFIGURES . . viii ABSTRACT. ............................ .. x CHAPTERS 1 INTRODUCTION . 1 1.1 Objectives and Main Contributions . . 2 1.2 Outline of the Dissertation . . 4 2 BACKGROUND AND RELATED RESEARCH . . 6 2.1 InformationTheoretic Strategies . . 6 2.2 Repetition Based Cooperation . . 9 2.3 Coded Cooperation . . 14 3 SOFTINPUT SOFTOUTPUT DECODING. . . 17 3.1 The LogMAP and MaxlogMAP Algorithms . . 17 3.2 The Density Function of Reliabilities Associated with a MaxLogMAP Decoder . ............ . .. .. 19 3.2.1 A High SNR Approximation to the Density Function of Relia bilities . . . . ... . 20 3.2.2 On the Correlation Between Output Error Events . . 22 3.3 A Mathematically Tractable Density Function . . . 24 3.4 A ClosedForm Expression for the BitErrorRate of SISO Decoders 25 3.5 Extension to BlockFading Channels . . 26 3.6 Numerical Results . . 28 4 CODED COOPERATION THROUGH COLLABORATIVE DECODING 34 4.1 Collaborative Decoding through Reliability Exchange . . 36 4.1.1 Collaborative Decoding through the Reliability Exchange of the Least Reliable Bits . . . . 37 4.1.2 Collaborative Decoding through the Reliability Exchange of the Most Reliable Bits . . 41 4.2 Guidelines for the Design of Collaborative Decoding Schemes . 47 5 ON CORRELATED BIT ERRORS AT THE OUTPUT OF A MAXLOG MAP DECODER. . . 51 5.1 Terminology and Notation . . . 52 5.2 Revisiting MaxlogMAP Decoding of Convolutional Codes . 52 5.2.1 Obtaining the ML and Competing Path using the BCJR Algorithm 55 5.2.2 On the Utility of Competing Paths in the Design of Collabora tive Decoding . . 59 6 IMPROVED LEASTRELIABLEBITS COLLAB ORATIVE DECODING FOR BANDWIDTHCONSTRAINED SYSTEMS . . 61 6.1 Collaborative Decoding with Constrained Overheads . . 62 6.1.1 Constrainedoverhead Incremental MRC . . 64 6.1.2 Overview of Improved LeastReliable Bits Collaborative De coding . . 65 6.2 Estimation of Request Size . . 67 6.3 Estimation of the Request Set . . 71 6.4 Detailed Description of ILRB Collaborative Decoding . . 72 6.5 Results. . . 74 7 CONCLUSION AND DIRECTIONS FOR FUTURE RESEARCH . 80 7.1 Conclusion . . 80 7.2 Directions for Future Research . . 81 REFERENCES . . 83 BIOGRAPHICAL SKETCH . . 87 LIST OF TABLES Table pg 31 Error event multiplicity of the (5, 7) convolutional code . . 29 41 Overhead of LRB1 for different number of nodes . . 39 51 Notation used in this chapter . . 53 61 Instantaneous SNR estimation for trellis sections based on the average of the instantaneous SNRs of the parity bits in the candidate set . 71 LIST OF FIGURES Figure pg 21 The relay channel . . 7 22 The multiple access channel with cooperating encoders . . 8 23 The decodeandforward cooperation scheme . . 11 24 The ampli@Sandforward cooperation scheme . . 12 25 Coded cooperation using ratecompatible punctured convolutional codes. .14 26 Coded cooperation using turbo codes . . 15 31 The mean of reliabilities as a function of the signaltonoise ratio when the correlation between the output error events are ignored . . 28 32 The mean of reliabilities as a function of signaltonoise ratio after taking into account the correlation between output error events. . . 30 33 The PDF of reliabilities of the (5, 7)s CC for two different signaltonoise ratios . . 3 1 34 The PDF of reliabilities of the (5, 7)s CC obtained using the simpler, math ematically tractable expression given in (3.18) . . 32 35 The probability of bit error for maxlogMAP decoding of convolutional codes evaluated using the closedform approximation given in (3.23) 33 36 The mean of reliabilities of the (5, 7) convolutional codes as a function of signaltonoise ratio of a blockfading channel . . 33 41 System model for collaborative decoding . . 35 42 Principle of interactive/collaborative decoding with two nodes. .. .. .. 36 43 Performance of two collaborative decoding schemes in which receivers re quest information for a set of leastreliable bits . . 40 44 Reliability density functions associated with correctly and incorrectly de coded bits.. . . . . . ... . . 42 45 Performance of two collaborative decoding schemes in which receivers broadcast information about a set of mostreliable bits . . 43 46 Bit indices of reliabilities exchanged as a function of iteration. . 44 47 Performance of suboptimal variants two collaborative decoding schemes in which hard decisions are exchanged instead of soft information. . 46 48 Performance of the MRB2 scheme with eight nodes on a blockfading channel . . 48 61 The codetrellis for the (5, 7) convolutional code with examples of the no tation used in this chapter . . 73 62 Probability of block error for different number of collaborating nodes when the overhead constraint is fixed at 5% of the overhead for MRC. . 75 63 Throughput for different number of collaborating nodes when the overhead constraint is fixed at 5% of the overhead for MRC . . 76 64 Probability of block error overhead for COIMRC and ILRB with eight cooperating nodes, and different constraints on the overhead. . 77 65 Average cooperation overhead for COIMRC and ILRB with eight coop erating nodes, and different constraints on the overhead. . . 77 66 Throughput for COIMRC and ILRB with eight cooperating nodes, and different constraints on the overhead . . 78 67 Average number of iterations per collaborative decoding attempt required by eight receivers . . 79 Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy COLLABORATIVE DECODING: ACHIEVING COOPERATIVE DIVERSITY IN WIRELESS NETWORKS USING SOFTINPUT SOFTOUTPUT DECODERS By Arun Avudainayagam May 2006 Chair: John M. Shea Maj or Department: Electrical and Computer Engineering Spatial diversity techniques use multiple transmit and receive antennas (antenna ar rays) to improve performance in wireless environments without requiring additional band width or loss in throughput. However, the spacing between antenna elements depends on the carrier wavelength, and this might often exceed the size of modern mobile radios. Thus, alternative approaches are required to harness spatial diversity in small terminals. Recently, cooperation among users has been proposed as an alternative means to achieve diversity in wireless networks with small radios. In this proposal, we develop collaboration schemes for scenarios in which radios in a network cooperate to improve performance. Since ra dios in a wireless network are typically separated in space, the different nodes can pool their resources together to form a virtual antenna array. The elements of the antenna array can then collaborate by exchanging information with each other in order to achieve di versity gains. The information exchanged by the collaborating nodes is called cooperation overhead. Our schemes are targeted towards bandwidthlimited systems in which the coop eration overhead should be small. We provide a framework called collaborative decoding to help design schemes that have low cooperation overhead and still achieve performance close to that of optimal combining schemes. We present a collaboration technique called improved leastreliable bits (ILRB) collaborative decoding that provides a higher level of adaptation than previously proposed cooperative schemes. The ILRB scheme utilizes reliability information and information about competing paths in softinput softoutput de coders to adaptively select the amount of information that is needed to correct a particular part of a message, as well as which bits should be exchanged. Simulation results show that the proposed approach offers a significant performance advantage over existing coopera tion techniques. For example, ILRB can provide a 30%60% improvement in throughput with respect to traditional cooperation schemes in bandwidthconstrained systems. CHAPTER 1 INTRODUCTION Multipath fading is one of the most common problems associated with wireless com munications. Reflections from and refraction through various objects in the channel cause multiple attenuated and delayed copies of the transmitted signal to constructively or de structively combine at the destination. Fading can cause severe fluctuations in the signal tonoise ratio (SNR), which in turn affects system performance. Various techniques like equalization, errorcontrol coding and diversity combining are used independently or in conjunction to combat fading. Diversity techniques typically improve performance by making multiple independent copies of the transmitted signal available to the destina tion. These multiple copies can then be optimally combined using various techniques like maximalratio combining (MRC) or equalgain combining (EGC) [1]. Temporal diversity is typically achieved through errorcontrol coding. Frequency diversity is achieved by us ing various physical layer techniques like frequency hopping or multicarrier modulation. Recent advances in spacetime coding have proven that processing in the spatial do main is an efficient approach to achieve diversity in delaylimited and bandwidthlimited applications. Spacetime codes exploit the multipath nature of the wireless medium to combat the detrimental effects of fading. Spatial diversity can be achieved by using multi ple antennas at the transmitter and/or receiver. However, for significant gains the spacing between the antenna elements should be at least half the wavelength of the RF carrier. This prohibits the use of antenna arrays in most small, portable radios. This is the reason why antenna arrays are not used in the cellular downlink or in ad hoc networks. In recent years, a number of networka~ssisted diversity techniques have been stud ied [29]. In these approaches, the users depend on the network to provide diversity at the physical layer. The broadcast nature of the wireless channel, wherein any node within range of the transmitter can listen to the transmission, is exploited in this networkbased approach to spatial processing. This property of the wireless medium is referred to as the wireless brvadca~st advantage (WBA) [10]. Since nodes in a network are spatially sepa rated, the different nodes that receive the transmission from a source can be considered to be the elements of a virtual antenna rrarm. Since the elements are not physically con nected, this is referred to as a distributed rrarm. The different users can then collaborate with each other to achieve diversity gains. Diversity achieved when users in a network collaborate to improve each other's performance has been termed coopetutive diversity or multiuser diversity. We will to use the term user cooperation [2] to refer to the process of collaboration between the various users of the network. A lot of work on user cooperation (including most informationtheoretic and a few practical schemes) is based on simple repetition coding [26]. The basic idea of these schemes is that any user that listens to the transmission from the source forwards the infor mation (either the coded bits after decoding or quantized versions of the received symbol values) to the destination. The amount of information exchanged by the collaborating nodes is referred to as the cooperation overhead. The use of repetition codes makes these techniques inefficient in terms of the overhead. Cooperation through the use of more pow erful error correction codes has also been proposed in [7, 8]. The disadvantage of these schemes is that they do not easily scale to large networks (with more than two cooperating nodes). 1.1 Obj ectives and Main Contributions Since the wireless medium is bandwidthlimited, the cooperation overhead is a very important issue and one that has not been addressed so far in the literature. The obj ective of this work is to provide a framework to help develop cooperation strategies that are efficient in terms of the cooperation overhead. It is also important that the collaboration techniques extend naturally to multiple cooperating nodes. Using this framework, called collabom~ tive decoding, we develop strategies that provide closetooptimal performance with only a fraction of the overhead required by conventional cooperation schemes. Unlike previous cooperation strategies, collaborative decoding provides a convenient approach to trade per formance for overhead, and collaborative decoding scales easily to multiple cooperating nodes. Conventional coded cooperation strategies are based on distributed encoding of a mes sage among the collaborating nodes. Collaborative decoding is based on a distributed de coding of an encoded message among collaborating nodes. All schemes in this dissertation use softinput softoutput (SISO) decoders. The magnitude of the output of the SISO de coder is called the reliability and is an indication of the correctness of the decoded bit. In all our schemes, the nodes exchange information for only a fraction of the message bits based on the reliability information. The design of a collaborative decoding scheme then consists of the choice of the bits to be exchanged and what information is to be exchanged among the nodes. In existing cooperation strategies, the messages exchanged by collaborating nodes is predetermined and fixed. Collaborative decoding adapts the content involved in cooperation to each channel instantiation. Thus, by tailoring the messages exchanged by collaborating nodes to the potential bit errors, collaborative decoding aims to lower the cooperation overhead. The contributions of this work are twofold. First the dissertation furthers under standing of the fundamental operation of the maximum a posteriori (MAP) convolutional decoder with the maxlogMAP implementation. In this context the main contributions in this dissertation are the following: 1. We provide a closedform approximation to the density and distribution function of reliabilities at the output of a maxlogMAP SISO decoder. This closedform esti mate is parameterized by a single numerical quantity that can be determined analyt ically. The estimates can be can be used to analyze reliabilitybased systems. 2. Using these closed form approximations we provide an approximation to the bit error rate of a maxlogMAP decoder in terms of a single Qfunction. This is the first such result in the literature. 3. We investigate the correlated nature of the softoutput of a maxlogMAP decoder. The maxlogMAP decoder computes the softoutput for a trellis section by con sidering the maximumlikelihood (ML) path and a competing path that differs from the ML path in the input for that trellis section. We show that the timecorrelated reliabilities occur in a maxlogMAP decoder because the same competing path is considered in computing the softoutput for adj acent bits. 4. We provide an efficient approach to explicitly compute the ML and competing paths by using computations that are already performed in the decoder. The second area of contribution in this dissertation is in applying the knowledge gained about the operation of the decoder to the design of collaborative decoding. The main contributions in this area are the following: 1. We design a cooperation strategy called improved lea;streliablebits (ILRB) collab orative decoding that has the following features: Achieves full diversity in the number of cooperating nodes. Requires a fraction of the overhead involved in full maximalratiocombining. Easily scales to multiple relays. Offers the ability to easily trade performance for overhead. 2. ILRB is adaptive in two levels. The trellis sections for which information is com bined are adapted to each channel instantiation. For each trellis section, the amount of information combined is adapted to the reliability of that trellis section. 3. ILRB exploits correlated bit reliabilities by computing competing paths in the de coder, and utilizes knowledge of the competing paths to reduce cooperation over head. 1.2 Outline of the Dissertation This dissertation is organized as follows. In Chapter 2, we summarize various im portant results in the literature that pertain to the idea of user cooperation. These results provide a basis for comparison with our schemes, and makes it easier to emphasize the distinction between our approach and the existing schemes. We provide an introduction to softinput softoutput (SISO) decoders in Chapter 3. A good understand of SISO decoding is important to understand the operation of our techniques. We also provide a mathematical characterization/approximation of the statistics of the SISO decoder output. In Chapter 4, we introduce the concept of collaborative decoding in which various users cooperate in the decoding process and achieve spatial diversity. Though these schemes are suitable for AWGN channels, we show that these schemes are not suitable for fading channels. We develop guidelines to help design cooperative diversity protocols for fading channels. We also develop various guidelines for the design of cooperative protocols in this chapter. In Chapter 5, we study the correlated nature of the output of the SISO decoder. We show that error events encountered in the SISO decoder can be used to capture this correlation. We also present a technique to efficiently compute these error events with minimal mod ifications to the decoder. Based on the design guidelines presented in Chapter 4 and the technique presented in Chapter 5, in Chapter 6 we design a collaboration scheme that uti lizes the correlated output of the SISO decoder to reduce the cooperation overhead. The dissertation is concluded in Chapter 7. CHAPTER 2 BACKGROUND AND RELATED RESEARCH In this chapter the idea of cooperative communications is introduced and important references relating to this broad area are summarized. The objective of the chapter is to familiarize the reader with the different approaches to user cooperation and the various is sues involved in the design of such schemes. We start by introducing the very first ideas of cooperation and some recent techniques that were proposed in the information theory com munity. We then highlight some of the more practical approaches that have been studied in recent years. 2.1 InformationTheoretic Strategies Studies on the relay channel in the late 1960s can be considered to contain the first instances of cooperation. The relay channel (shown in Figure 21) was first introduced and studied by van der Meulen in 1968 [l l]. In this setting, an intermediate node, called the relay, listens to the transmission from the source to the destination, processes this informa tion, and transmits additional information about the initial transmission to the destination. The destination uses the relay transmission to resolve any ambiguity about the original transmission. The transmission from the relay is done jointly with the source; i.e., relay transmission for block i is superimposed on block i + 1 sent by the source. Thus, the relay cooperates with the source to improve reception at the destination. In 1979, Cover and El Gamal [12] studied the capacity of relay channels under dif ferent scenarios. Cover and El Gamal put forward three different approaches to achieve user cooperation in a relay channel. In facilitation, the relay passively aids the communi cation between a source and destination by not transmitting, thereby reducing interference to the original communication. In cooperation, the relay decodes the transmission from Relay Source Destination Figure 21: The relay channel. the source and provides additional information about the initial transmission to the desti nation to aid in recovering the original message. In observation, the relay just forwards the observed symbol values to the destination. The observation scheme was introduced to overcome a problem with the cooperation scheme. In cooperation, the relay partitions the set of valid codewords into bins using the SlepianWolf partitioning technique [13] and transmits the bin index of the partition containing the source message. The destination then uses the set of codewords in the cor responding partition to resolve any ambiguity about the transmitted message. However, the computation of the bin index requires correct decoding at the relay, and thus this scheme is limited by the rate between the source and the relay. The observation scheme can overcome this problem because it does not require correct decoding at the relay. Recent studies of the relay channel can be found in [1418]. The Cover and El Gamal scheme is extended to multiple nodes in Gupta and Kumar [14]. In Cover and El Gamal [12] and Gupta and Kumar [14], the nodes cooperate using blockMarkov en coding and SlepianWolf partitioning [13]. The destination decodes the message using two transmitted blocks; i.e., upon receiving block i, the decoder estimates the message in the previous block (i 1). The nodes use codebooks of different sizes at the relay and the source, making it difficult to extend the this strategy to multiple nodes. A technique that uses codebooks of the same size is proposed in Willems [19] and is extended to multiple relays in Kramer et al. [15]. The use of equal size codebooks makes it easier to extend Encoder 2 MULTIPLE ACCESS CHANNEL Destination Encoder 1 Figure 22: The multiple access channel with cooperating encoders. this scheme to multiple relays. Another advantage of this scheme is that the use of the complicated SlepianWolf inning technique is avoided. The disadvantage manifests itself as a large decoding delay incurred due to the bacinvards decoding technique used at the destination. The coding is done over B blocks and the decoding process can start only after receiving all the B blocks. The decoding is done in the backward direction, starting with the last block and ending at the first block. A strategy that avoids SlepianWolf parti tioning and in which all relays use codebooks of the same size but in which the decoder lag is reduced to just one block (as in the Cover and El Gamal scheme) is proposed in Xie and Kumar [16]. An extension of this scheme to multiple relays has also been studied [17, 18]. The information theory community also studied cooperation from the view of a mul tiple access channel. In the early 1980s user cooperation in the setting of a multiple access channel was studied [20, 21]. Unlike the relay channel, both the encoders have data to send to the destination. In Willems [20], the users cooperate over a separate channel before send ing their messages. The need for a separate set of channels for cooperation is eliminated in Willems and van der Meulen [21]. The scenario considered is shown in Figure 22. The cooperative transmission works as follows. Each encoder cooperates with the other and learns the codeword that the other encoder is going to send in the current transmission. Thus, in transmission i, each encoder has knowledge of all the previous i 1 codewords of the other encoder. The encoding process works as follows. Without loss of generality, we assume that encoder 1 starts the encoding process for transmission i. Encoder 1 forms its codeword as a function of its own data and the codewords sent by encoder 2 in all previous transmissions. Encoder 2 learns the current codeword of encoder 1 and forms its own code word as a function of its own data and the current and previous codewords of encoder 1. This strategy requires perfect cooperation between the encoders; i.e., each encoder should learn the codewords of the other encoder without errors. Note that the model of Willems et al. reduces to the relay channel if one of the encoders has no data of its own to send. Then that particular encoder will act as a relay for the other encoder. The authors prove that encoder cooperation increases the capacity of the multipleaccess channel when compared to noncooperative transmission. The techniques described in this section depend on information theoretic concepts like random inning, typicalset and backwards decoding. These are not viable for practical implementation. In the next section, we review a few practical cooperation strategies based on simple repetition coding ideas. 2.2 Repetition Based Cooperation After the work of Willems, the idea of user cooperation was largely ignored until the late 90s. The advances in spacetime coding [22, 23] proved that exploiting spatial diversity with the use of multiple transmit and receive antennas can lead to significant improvements in data rate. However, small portable radios do not permit the use of multiple antennas. User cooperation is a natural way to achieve spatial diversity by pooling the resources of many radios, each equipped with a single antenna. User cooperation in a wireless scenario was first investigated by Sendonaris, Erkip and Aazhang [2, 5, 6, 24]. Sendonaris et al. study the idea of user cooperation in the setting of a cellular CDMA system. The system model they use is identical to the model shown in Figure 22. However, due to the wireless setting the links between the two encoders (the cooperation channels) are imperfect channels that experience fading. The cooperation model is based on the idea of Willems et at, wherein a codeword sent by one user depends on the codeword sent by the other user. In Sendonaris et at. [2], the authors consider more practical aspects of user cooperation in this scenario. In particular, the authors begin by using information theory to evaluate the effects of cooperation on outage probability, diversity, and cellular coverage. Then the authors propose and analyze the following practical cooperation scheme. Let Xi(t) and cs(t) denote the signals transmitted by user i and the spreading code used by user i at time t. Then the signals transmitted by the two users are Xl(t) = aiib1 )(t)cl(t), alab 2) (t)C1 1), a13b(2) 1)1 ) 014%) 1~)C X2 1) = a21b l)(t(t)c2 a) 22b 2) (l)C2 1)1 a23 12) (t)C1 1) 82a4b 2) (t)C2 where b is user i's ft bit and il is the corresponding estimate at the other node. The parameters {aji} represent how much power is allocated to each bit. Thus, in the first two periods each user transmits its own bits. In the third period, each encoder sends a linear combination of its own bits of the second period and its estimate of its partner's bits of the second period. Since the basis of cooperation is an estimate of the other encoder's codeword, the authors allocate rate and power to guarantee errorfree communication on the cooperation channels. Thus, each encoder's estimate of the codeword of the other encoder is perfect. With this system and cooperation model the authors prove that it is possible to increase the maximum sumcapacity of the network if the transmitter has knowledge of the channel phase. Laneman et at. [3, 4], introduce two broad classes of cooperation techniques called decodeandforward and ampli@Sandforward. Their approach is similar to the relay channelbased cooperation techniques of Cover and El Gamal. In the decodeandforward scheme, the relays first decode the source message and then forward the reencoded infor mation bits to the destination. This is akin to Cover et al.'s cooperation scheme with the Information bits Coded bits I EN~CODER I Phase 1 Phase 2\s Figure 23: The decodeandforward cooperation scheme. relay transmission consisting of reencoded information bits instead of SlepianWolf bin indices. The operation of the decodeandforward scheme is shown in Figure 23. The scheme works in two phases as in the conventional relay channel. In the first phase, the source encodes the information bits (represented by an empty rectangle), and transmits the coded bits (represented by a solid rectangle). The destination and the relay receive noisy versions of the coded bits. In the second phase, the relay decodes the information bits, reencodes them using the same code used at the source. The reencoded codeword is then sent to the destination. At the end of the second phase, the destination has two independent noisy copies of the codeword sent by the source (assuming that the relay decoded correctly). These two independent copies can be combined using various combining schemes like maximalratio combining (MRC) or equalgain combining (EGC) [1]. This scheme can be considered as an instance of rate1/2 repetition coding since the destination receives two independent copies of the same message. However, the repetition is done by the relay instead of the source itself. The effectiveness of cooperative communication schemes is often assessed in terms of the effects on capacity and on the diversity achieved. The ability to achieve diversity is quantified in terms of the diversity order, which is defined as the asymptotic slope of the bit or block error rate curve on loglog scale. If there are M~ elements in an antenna array, then Information b'its"""nt Co Ided bits I ENCODER Phase 1 Phase 2 MW Wr Figure 24: The amplify/andfonvard cooperation scheme. at most M~ independent copies of the message are received. Hence, the maximum diversity order that can be achieved is M~. Any scheme that achieves diversity order that is equal to the number of cooperating nodes is said to achieve full diversity. As in the cooperation scheme proposed by Cover et al., the decodeandfonvard scheme depends on correct decoding at the relay. It is proved that the decodeandfonvard schemes can provide all of the capacity benefits offered by cooperative transmission, but cannot achieve full diversity (in the number of collaborating nodes) [3, 4]. The reason is that a diversity channel is created on the link between the relay and the destination only when the relay decodes successfully, and hence this scheme is limited by the channel between the source and the relay. Note that the scheme of Sendonaris et al. also falls under the decodeandfonvard class of cooperation schemes since a perfect estimate of the partner's bits is required for cooperation. The operation of the ampli@Sandfonvard scheme is illustrated in Figure 24. The first phase is identical to first phase in the decodeandfonvard scheme. In the second phase, the relay does not perform decoding. Instead, the relay amplifies/scales its observations (the received symbol values) subj ect to a power constraint and forwards it to the destination. If y is the message received from the source, the transmission of the relay can be expressed x = y, (2.1) where the amplification factor /9 is constrained by PI (2.2) Here P is the maximum transmit power of the source (and relay), a~ represents the fading amplitude between the source and relay, and NVo/2 is the noise variance. On average, the scaling factor /9 constrains the transmission power of the relay to its maximum allowed value P. Unlike the decodeandforwald scheme, the relay also amplifies its own receiver noise. This is identical to Cover et al.'s observation scheme if the amplification factor is set to unity i.e., if the relays have no power constraint. As in the decodeandforwald scheme, the destination has two independent noisy versions of the original codeword that can be optimally combined. Thus, from the perspective of the destination, it still appears as though a rate1/2 repetition code is used at the source. It is shown that anpliSan2d forwald schemes can achieve full diversity in the number of cooperating nodes [3, 4] . In the decodean2dforwald scheme the relay just transmits the binary codeword. In the anmpliSandforwald scheme, the relay must amplify the received symbols, and retransmit these amplified soft values. This softamplification process will not be practical in many real systems. Instead, the relay would have to quantize the received symbol values and then transmit the quantized bits to the receiver. The information exchanged by the relays in order to improve performance is referred to as the cooperation overhead. Then if B bits are used for quantization, then the cooperation overhead of the anmp@iC~andforwald schemes is B times the decodeandforwald cooperation overhead. However, the anp@iC andforwald scheme does not depend on correct decoding at any of the relays. Thus, the anmpliSandforwald scheme achieves full diversity at the cost of overhead. The schemes introduced in this section are based on simple repetition coding ideas. The relays just repeat their estimate of the original codeword or their received symbol values. In the next section we review a few cooperation strategies that are based on better errorcorrection codes. Information bits Coded bits ~ECDR I I IBC~R I11 O W Phase 1 Phase 2 Figure 25: Coded cooperation using ratecompatible punctured convolutional codes. 2.3 Coded Cooperation Cooperative diversity through the use of better errorcorrection codes is called coded cooperation [7]. Other schemes for coded cooperation have also been proposed [8, 9]. Coded cooperation schemes can be divided into two main classes. In the first class of techniques, distributed encoding is performed among the cooperating nodes, and decoding takes place only at the destination. In the second class, encoding is performed only at the source, and decoding takes place in a collaborative manner among the cooperating nodes. In this section, we review two coded cooperation schemes that belong to the former class. Techniques belonging to the latter category will be introduced in the following chapters. Hunter and Nosratinia study the idea of user cooperation using ratecompatible punc tured convolutional (RCPC) codes [7, 25, 26]. RCPC codes were introduced by Hage nauer [27] as a means to achieve incremental redundancy in ARQ schemes. The operation of the RCPCbased coded cooperation scheme is illustrated in Figure 25. For this exam ple, we have shown the use of a rate1/3 convolutional mother code. The data is encoded with the mother code in the source. Then a part of the codeword (the center part in the example) is punctured out and the remaining code bits are transmitted. Thus, the relay and the destination receive noisy versions of a rate1/2 codeword. The relay decodes this high rate transmission and then reencodes the information bits using the mother code. Then the relay punctures those sections of the codeword that were transmitted by the source in TURBO ENCODER Information bits ENCODER PERMUTER 4 ENCODER Phase 1 Phase 2 **~ I I I C_ M1__fTr Figure 26: Coded cooperation using turbo codes. the first phase (the first and last parts in the example). The relay then transmits the remain ing part of the codeword (the part that was punctured in the first phase) to the destination. Thus, the destination effectively has all parts of the original mother code. Thus, the relay transmission helps transform the initial high rate code (rate1/2) into a decodable lower rate (rate1/3) transmission thereby improving performance at the destination. Zhao and Valenti [8] investigate cooperation using turbo codes [28, 29]. Their scheme is shown in Figure 26. A turbo encoder (also shown in Figure 26) consists of two recursive systematic convolutional (RSC) encoders. The information bits are fed directly into one of the encoders and a permuted version of the information bits is fed into the other. The two sets of parity bits along with the systematic (information) bits form the codeword. The cooperation scheme works as follows. The source encodes the information bits with an RSC encoder and transmits the parity bits along with the systematic bits. The relay decodes this transmission using a convolutional decoder. It permutes its estimate of the information bits and reencodes it with the same RSC code used at the transmitter. This produces the second set of parity bits that make up the turbo code. This second set of parity bits is sent to the destination by the relay. Thus, the destination has in effect received a codeword encoded by a turbo code. It can make use of the powerful, iterative turbo decoding algorithm [28, 29] to improve performance. Note that both the schemes relies on correct decoding at the relay and thus fall in the decodeandforward category. Thus, like any of the decodeandforward schemes, these techniques are not guaranteed to achieve full diversity. It is proved that the RCPCbased cooperation scheme is capable of achieving full diversity only when the relay is able to decode correctly [26]. Another big drawback of the coded cooperation schemes that utilize distributed en coding is scalability. These schemes do not scale easily to multiple relays. When there is more than one relay, it is not immediately obvious on how the distributed encoding should be done. In the sequel, we present collaborative decoding, which is a coded cooperation scheme that is based on distributed decoding that scales naturally to any number of coop erating nodes. CHAPTER 3 SOFTINPUT SOFTOUTPUT DECODINTG This chapter presents a brief overview of softinput softoutput (SISO) decoding. A good grasp of SISO decoding concepts is required to understand our collaborative decoding scheme that is presented in the following chapters. A mathematical characterization of the output of a particular implementation of the maximum a posteriori (MAP) decoder is also presented. This characterization aids in the analysis of one of our approaches to user cooperation. 3.1 The LogMAP and MaxlogMAP Algorithms Decoders that operate on floating point (soft) inputs and produce floating point outputs are called SISO decoders. The sign of the softoutput is the harddecision and the magni tude of the softoutput is called the reliability of the harddecision [30]. The reliability is an indication of the correctness of the harddecision; i.e., a high value of the reliability implies a high probability of the decision being correct and viceversa. In this proposal, we restrict our attention to SISO MAP decoders. It is well known that bitbybit MAP decoding produces the minimum probability of bit error among all decoding algorithms. The inputs to a typical MAP decoder are a priori probabilities of the information bits and channel symbols. The a priori probabilities are usually initialized to equally likely values. The softoutput of a MAP decoder corresponds to the a posteriori probability (APP) of an information bit ui being 0 (or 1), P(ui = 0r) (or P(ui = 1r)). Due to reasons of speed and numerical stability, MAP decoders are typically implemented in the logdomain (Log MAP decoders). The output of a logMAP decoder corresponds to loglikelihood ratios (LLRs) of the APPs. The LLR for each information bit ui is computed as follows P(u, = 0r) CEcc P(c r) L (ui Ir) = In = In (3.1) P(u, = 1r) ccPcr) where r is the received codeword, C+ is the set of all codewords with ui = 0 and C_ is the set of all codewords with ui = 1. Note that ck E {+1, 1}. The output LLR is also referred to as the soft information. Assuming that all the codewords are equally likely and using Baye's rule, the soft information for codewords transmitted on a additive white Gaussian channel (AWGN) with noise variance a2 0 V/2 can be written as L;(usir) = In P(r c) In P(r c), cEC cEC In exp I c12i2 In exp I 2e2 'i cEC+ cEC' (3.2) A suboptimal implementation of the LogMAP decoder, called the MaxLogMAP decoder, is obtained by using the approximation In(C xi) = max(In(xi)) to evaluate the LLR in (3.2). Thus, for a MaxLogMAP decoder the softoutput is given by, L(ui Ir) = mmn Irc1 mmn Irc1 (3.3) cEC 2a2 cEc 2a2 Since the union of C+ and C_ spans the space of all valid codewords, one of the terms in (3.3) corresponds to the Euclidean distance between r and the maximumlikelihood (ML) decoding solution. Thus, the reliability for bit i (As) can be expressed as As ^ L(usr) = mnun r I c  CML2 (3.4) where c63 is a codeword corresponding to an input sequence that differs from the ML in put sequence in the ith bit. Since the distance between r and the ML codeword is smaller than the distance between r and any other codeword, the difference in (3.4) is always posi tive. Thus, the MaxLogMAP decoder associates with the ith bit, the minimum difference between the metric associated with the ML path and the best path that differs from the ML path in the input of the ith trellis section [31i]. A high value of reliability implies that the ML path and the next best path are far apart, and hence there is a lower probability of choosing the other path and making a bit error. It has also been shown via simulation in [32, 33] that reliability is a measure of the correctness of the bit decision. Thus, a bit with high reliability is more likely to have decoded correctly than a bit with low reliability. Note that the scaling of the reliability by the noise variance in (3.4) does not affect the performance of the MaxLogMAP decoder and is just an implementation consideration. If channel estimates are available to the decoder, the scaling can be performed. 3.2 The Density Function of Reliabilities Associated with a MaxLogMAP Decoder Reggiani and Tartara [34] provided the first characterization of the soft information in terms of its probability density function (PDF). Reggiani and Tartara [34] examine the pro jection of noise in the direction corresponding to an error event and interpret this random variable as a distance in Euclidean space to derive the PDF. Here an error event denotes a sequence that translates one codeword into another, where the path through the code trellis that is induced by the error sequence is only in the same state as the original codeword at the endpoints of the sequence. For the rest of the paper, the random variable resulting from the projection of noise onto a direction specified by an error event will be referred to as the projection random variable (PRV). Reggiani and Tartara [34] present two approaches to obtain the PDF. In the first approach, the PDF is derived based on the assumption that different PRVs (projection of noise onto directions specified by different error events) are independent. The PDF obtained using the independence assumption results in conserva tive reliability estimates that are lower than the actual values. The authors suggest incor porating the correlation between the PRVs into the PDF to avoid conservative estimates. In the second approach, the authors obtain a covariance matrix involving the correlation between different PRVs and use it in a joint multivariate distribution to obtain the PDF. Though the PDF obtained using the second approach produces good reliability estimates, the expression for the density function is very complicated. Even with the independence assumption, the PDF obtained using this technique cannot be expressed in closedform and involves products and summations that depend on the enumeration of all possible error events. Thus, the PDF given in Reggiani and Tartara [34] is not attractive for use in the analysis of reliabilitybased techniques. We now present a streamlined derivation of the densities of reliabilities at the output of a maxlogMAP decoder by working in the conventional Hamming space (Reggiani and Tartara [34] work in Euclidean space) and use a high signaltonoise ratio (SNR) approx imation to obtain the PDF. A simple technique to account for the correlation between the PRVs is also presented. Using this technique, we can avoid the use of complicated joint multivariate distributions. Though this approach produces good estimates of the density function and other statistics of the reliability, the expression is still complicated to be of further use in analysis. To this end, we also present an ad hoc estimate of the PDF that is mathematically tractable. This closedform estimate of the PDF is parameterized by a single quantity that can be numerically evaluated. We show that our technique produces an accurate approximation of the true PDF. 3.2.1 A High SNR Approximation to the Density Function of Reliabilities The reliability of the output of a maxlogMAP decoder is given in (3.4). Since cji is a codeword corresponding to an input sequence that differs from the ML input sequence in the ith bit, c ) can be expressed as, C =CM/L + e (3.5) where el" is an error event generated by an input sequence with bit i equal to 1. Since the symbols of c~" and cML take on values in {+1, 1} and the error event transforms one codeword into another, the components of e~i take on values in {+2, 0, 2}. Using (3.5) in (3.4), we get Asi = mninl ee 2 2(r CM1LT 3) }.!> (3.6) Note that we have dropped the scaling by the noise variance (1/2o.2) in (3.6). After deriving the density and distribution functions using (3.6), a simple transformation can be used to account for the scaling in (3.4). At high SNRs, the ML decoder will find the correct codeword (input sequence). Thus for high SNRs we can express the received sequence as r = cMIL + e, (3.7) where e ~ N(0, I).OT This assu~mption is similar to the appmroah in [34], in which the authors obtain the conditional density function given correct decoding of a bit. Using (3.7) in (3.6) we get Asi = min ( i!2 + 2eT 3) }. (3.8) Note that according to our terminology, e(i is an error event, whereas eT i) is the PRV i~ne.,; the projection of; the noise o~ntth drectio, +n of,, the ero vnt e Let Zj = ea3 2 +t 2eT 3).i (3.9) Since Zj is just a linear combination of Gaussian noise samples, Zj is also a Gaussian random variable. It is easy to see that ZMy ~ N 4d, 1d'2 (3.10) where dj is the Hamming weight (number of nonzero elements) of ea~ Thus, the reliability can be expressed as the minimum over a sequence of Gaussian random variables with distributions given by (3.10). Assuming that all the Zjs are inde pendently distributed, the cumulative density function (CDF) of A can be written as FA(A) = 1 Prob(Zy > A) d= dmin where a(d) is the multiplicity of error events of weight d and Q(x) represents the Gaussian complementary distribution function. The PDF can be obtained by differentiating the CDF. Using the product rule of differentiation, the PDF is obtained as fA, (A)j =X ex d) diyddmin 4( (2xdge2) 32d e (3.12) Thus, even under the simplifying assumption of independent PRVs, the density function obtained from first principles is very complicated and not suited for use in the analysis of techniques involving reliabilities. For the MaxLogMAP decoder with the noise scaling implemented (as in (3.4)), the CDF and PDF of the reliability can be obtained by a simple transformation as FA.,( ) E F (2e2"X /Aa()=2a2/A~ (2La2). (3.13) The subscript a is used in the above expressions to indicate that the softinformation is scaled by the noise variance in the MaxLogMAP decoder. Since A is nonnegative and continuous, the mean of the reliability can then be evaluated numerically as oodmax 2a2X a4 d ix~I (dA.16a (3.14) d=dmin 3.2.2 On the Correlation Between Output Error Events In Section 3.2, we model the reliability as the minimum of a number of Gaussian random variables that are assumed to be independent. This assumption is valid only if all the PRVs are independent. However, this is not a valid assumption. It is possible that the different error events (e ") associated with the PRVs (eT ij)) Share the same path through the trellis at certain time instants. At each of these trellis sections, the PRVs share com mon noise samples from the vector e and thus, the PRVs are correlated. Because of this correlation, the expressions for the PDF and mean of the reliabilities given by (3.13) and (3.14) can significantly differ from the simulation results, as will be shown in Section 3.6. Thus, the correlations among the output error events should be considered in order for the analytical expressions to agree with the simulation results. In [34], the authors account for this correlation by obtaining the j oint multivariate distribution of Zj and using this distribu tion to compute the density function. However, this approach would involve computing a covariance matrix involving different pairs of error events and using this covariance matrix in the density function. This approach results in a very complicated expression. Even with the independence assumption, the density function in (3.12) is complicated. Further, the approach using the multivariate distribution offers no further insight into the behavior of the reliabilities. Note that the correlation between different PRVs arise because they share common noise samples, which is a consequence of the associated error events differing from the correct codeword in a common set of symbols. We introduce a simple approach to ac count for the correlation between PRVs by computing the correlation among different error events. We first define the correlation between two error events el and e2 Of lengths 11 and 12 TOSpectively as minm(ll ,12) C Ei=1 er,si ( e2,i,(.5 ex~e"max(li, 12 where ej~i refers to the ith bit of error event ej and the '0' operator denotes the XNOR operation. For example, 'll 10 10 11' and 'll 10 10 00 01 11' are two error events of length 8 and 12 respectively, and the correlation between the two events can be computed using (3.15) to be 0.5. We account for the correlation between output error events by eliminating some of the error events that are highly correlated and using the reduced set of error events to compute the PDF/CDF of reliabilities. We define a correlation threshold Too,,, and whenever two error events have a correlation value greater than Tcorr, the longer of the two events is eliminated from the event set. The longer of the two events is removed from the event set because performance is usually dominated by the low weight error events. This process is continued until all remaining pairs of error events have correlation less than Tcorr. We normalize the correlation by the longer of the two error event lengths to ensure that events with very dissimilar lengths have a low value of the correlation. This eliminates the possibility of discarding a long event which may share a common initial path through the trellis with a small error event. Thus, a condensed event set is obtained within which the events have low correlation value. We expect the small correlation between the events in the condensed set to have a negligible effect on the independence assumption used in deriving the PDF. It will be shown in Section 3.6 that if the summation in (3.12) is performed over the condensed event set, the resulting values are strikingly close to the simulation results for properly chosen values of Tcorr. Thus, the need for joint multivariate distributions involving the covariance matrix of output error events is avoided using this technique. 3.3 A Mathematically Tractable Density Function The expressions for the density function of the reliability given by (3. 12) and (3. 13) are complicated and not convenient for use in mathematical analysis of reliabilitybased tech niques. We address this issue with an ad hoc estimate of the PDF based on the following observations: The mean of the reliabilities obtained from (3.14) is very close to the simulation results. (This fact will be substantiated in Section 3.6). Given the correct decoder output, the conditional distribution of the soft output for a bit is approximately Gaussian with variance approximately equal to twice the mean (cf. [35, 36]). Thus, we suggest modeling the reliability as the absolute value of a Gaussian random variable that satisfies the symmetry condition, i.e., A =X X ~ N(p, 2p)1, (3.16) where p is the mean obtained by numerically evaluating (3.14). The cumulative distribution function (CDF) can easily found to be FA X) Q ( ) Q ( ), A > 0 (3.17) 0, otherwise. Differentiating with respect to A, the PDF of the reliability is, exp ( exX2> p ( (LX2. A > fA~x 2,a~ (3.18) 0, otherwise. Unlike the expression in (3.13), the density function in (3.18) does not involve summations and products and is expressed in closedform. Indeed, we have to resort to numerical computation to obtain the mean, p, but for problems involving explicit probabilities of reliabilities, (3.18) is mathematically more tractable than (3.13). In Section 3.6 we provide results that show this Gaussian approximation is extremely accurate. 3.4 A ClosedForm Expression for the BitErrorRate of SISO Decoders In this section, we demonstrate one application of the approximate density function of reliabilities presented in the previous chapter (see 3.18). We will use the density function to derive a closed form expression for the biterrorrate of maxlogMAP decoding. The probability of a bit decoding incorrectly conditioned on its reliability is given by Fb A=l c. )91 3 ( The probability of bit error can be obtained by integrating Pbx over the density of A\ given in (3.18). Pb AI ( A) (3.202) 1 exp, ( ( )2 + e xp ( (+)2 4~L 4~L(3.21) 4~L (3.22) 2/Nr~ o cl L+)1 eX>'I" =( Q = Q .0 (3.23) Thus, the bit error rate can be expressed as a Qfunctionl with the argument depending solely on the mean of reliability. The mean of the reliability can be calculated using (3.14). The probability of bit error depends on the weight distribution of the error events of a code. The mean of the reliability encapsulates all properties of the code into a single quantity thereby leading to a convenient expression for the biterrorrate. The expression of the bit error rate given in (3.23) can be used in various receiverdriven strategies that rely on the receiver having an estimate of the biterrorrate. For example, consider a real time streaming audio/video streaming application. These applications are losstolerant but delayintolerant. Thus, an ARQ scheme for such a scenario can be designed as explained below. After decoding, the receiver estimates the number of bits that have decoded in error by using (3.23). Since these applications can tolerate some loss, the receiver requests for a retransmission only when the number of bits in error exceeds a certain threshold. 3.5 Extension to BlockFading Channels We now extend the results presented to blockfading (quasistatic fading) channels. In a blockfading environment, all bits in a packet experience the same channel gain. For 1 we consider this to be closed form since the Qfunction is widely used in communica tion theory and can be computed accurately and efficiently such a scenario, we characterize the reliability at the output of a maxlogMAP decoder conditioned on a particular realization of the channel. Assuming coherent detection (the channel gains are known to the decoder), the entire code space is rotated and scaled by the channel gain. Then ML or MAP decoding is performed on the received vector in the new code space. Thus, the reliability conditioned on the blockfading channel gain a~ can be expressed using (3.4) as Asl ~ a2~ = II nun, i)  ~~ ac2 CM (3.24) Note that aci" and acMC1L aTO COdewords in the rotated code space. Using the same ap proach as before, we can assume that the ML codeword is the true transmitted codeword. Thus we have, r = acMC L +e, (,e = a(CML + e'), e'~ (02) (3.25) Using (3.25) and (3.5) in (3.24), the reliability conditioned on the fading coefficient is Asi a = nn { e 2 2e /T (j) } (3.26) Proceeding as in (3.8)(3.13), the conditional CDF and PDF of reliabilities can be obtained FA;,,/ ) = FA 2 Ai,/ 2 A2 2 A, 3.7 where FA (A) and fA (A) are defined in (3.11) and (3.12) respectively. The conditional mean of soft information can then be obtained as E[Aa = p~ 2 (3.28) where p(x) is defined in (3.14). e (5,7) CC, Simulation * (5.7) CC. Analysis 60~ (554,624,764) CC, Simulation (554,624,764) CC, Analysis / 50 = 40 ~ 0 0 13 46 7 Ebl (dB) Fiue31:Temano eibiiisasafntono h sgaonos aiowe h correatio bewe h uptero vnsaeinrd 3. NueiclReut Intissciote nltia epesin ervdinte rvou etin recm coes(C) ih boc iz o 10 bits are usd. The MaoA imlmettino obtained ~ ~ ~ ~ (5462,74 usin (314 are cmaewihteculmanobied frmsiuato. h mial 1 +Dan1+D+D2 Or (5 7) in oca noain h osran egh7C a diuces31 etimaes thato aresmabllerthate actual values.n As texpligaonedin Section 3.22 nd in RregganiadTraa[4,teasmtion that all the output error events are independent lead to overcoutiong hccue the analytical epsio driesults to produce coservtives results. Table 31: Error event multiplicity of the (5, 7) convolutional code d a(d) a(d) All Events Tco,=0.7 dmin= 5 1 1 6 2 2 7 4 4 8 8 8 9 16 9 10 32 5 11 64 11 12 128 5 13 256 14 14 512 13 dmaz=15 1024 20 At low SNRs, there is a larger gap between analytically obtained values and the simulation results when compared to high SNRs. This is because the performance at low SNRs is dominated by blocks that decode incorrectly and hence the assumption (3.7) is violated. To tighten the gap between the analytical and simulation results, it is required to con sider the correlation between error events. The number of error events with weight d (event multiplicity) is shown in Table 31 for the (5, 7)s CC It is seen that eliminating events that have a correlation value higher than the correlation threshold (Toorr = 0.7 in this case) results in a condensed set of error events. We expect that using this condensed set of events with low correlation will reduce the overcounting problem caused by the independence assumption. The mean of the reliabilities after accounting for the correlation between output error events (as explained in Section 3.2.2) is shown in Figure 32. If the summation in (3.12) is performed over a condensed set of error events (as shown in Table 31), and the mean then computed using (3.14), it can be seen from Figure 32 that the analytical results are very close to the true values even at low SNRs. The PDF of reliabilities (eqn. (3.13)) for the (5, 7)s code is compared with the true PDF in Figure 33. The true PDF was obtained experimentally by simulating the decoding LI. 50 40 S30 S20 10 ~8 (5,7) CC: d 5, d =15, T =0.7 4 mm max Corr (554,624,764) CC: dmi=15, dmax30, T =0.7 mm maxCorr 0 1 2 3 4 5 6 7 E blN (d B) Figure 32: The mean of reliabilities as a function of signaltonoise ratio after taking into account the correlation between output error events. of a number of blocks that were transmitted over an AWGN channel. The reliability of each bit was recorded and the true PDF was estimated from the histogram of the recorded reliabilities. It can be seen from Figure 33 that results close to the true PDF can be obtained when the correlation between output error events is considered in the computation of the density function. The correlation is considered by evaluating the PDF in (3.12) over the condensed set of error events shown in Table 31. Note that the analytical PDF is much closer to the true PDF at higher SNRs. The PDF obtained using the simple, ad hoc estimate in (3.18) is shown in Figure 34. The mean, ft, that specifies the PDF is obtained numerically from (3.14). It is observed that this ad hoc expression produces results that are closer to the true PDF when compared to the expression in (3.12). Unlike the PDF given in (3.12), the ad hoc estimate produces results that are very close to the true PDF even at low SNRs. The correlation between error events can be accounted for in the ad hoc PDF estimate by evaluating p over a condensed set of lowcorrelation errorevents (as shown in Table 31). As before, accounting for the Eb oN=5 dB L 0.08 , 0.02 0 5 10 15 20 25 30 35 40 45 50 Figure 33: The PDF of reliabilities of the (5, 7)s CC for two different signaltonoise ratios. correlation produces better results when compared to treating the PRVs as independent random variables. The closedform approximation for the probability of bit error (Pb) given in (3.23) is compared to simulation results in Figure 35. Results are shown for both the memory2 and memory6 codes. Since Pb depends solely on p, results are shown for two approaches to compute p. In the first approach, p is calculated analytically using the expression given in (3.14). In the second approach, p is obtained through simulation. This approach shows the utility of the approximation to Pb in applications which require the receiver to have an estimate of its biterrorrate. For both scenarios it is seen that the closedform approxi mation is very close to the simulation results. For the results in Figure 35, all the error events were considered (correlation between error events were ignored) when the mean of the reliabilities was calculated analytically using (3.14). If the mean is computed after ac counting for the correlation between error events, the closedform approximation produces < 0.08 i L. Eb No=5 dB 0.06 0 "' 0g 5 10 15 20 25 30 35 40 45 50 Figure 34: The PDF of reliabilities of the (5, 7)s CC obtained using the simpler, mathe matically tractable expression given in (3.18). better results (when compared to ignoring the correlation). This is not shown in Figure 35 for the sake of clarity. The mean of reliabilities obtained when the coded bits are transmitted over a Rayleigh blockfading channel is shown in Figure 36 for the (5, 7) convolutional codes. The ana lytical values are obtained by integrating the conditional mean in (3.28) over the density of the fading amplitudes given by f (a) = 21eo2n(a) where u(a) is the unit step function. 10 10 O .. 1 0 ,X10 * Analytic mean (E9) SExperimental mean (E9)  Simulation Figure 35: The probability of bit error for maxlogMAP decoding of convolutional codes evaluated using the closedform approximation given in (3.23) (5,7) code Simulation e_ Analysis, Tcorr=0.7 Ca, r Wr v ~J v,~C cuo Ers, r n coU a, rr~ ~cO O 11 cur yo 78 9 Figure 36: The mean of reliabilities of the (5, 7) convolutional codes signaltonoise ratio of a blockfading channel. as a function of 0 1 2 3 4 5N~dB 6 7 8 0 12 34 5 6 EblN, (dB) CHAPTER 4 CODED COOPERATION THROUGH COLLABORATIVE DECODING The coded cooperation schemes summarized in Section 2.3 exploit the encoder struc ture of the error control code that is used; i.e., the nodes cooperatively encode the message to form a more powerful codeword at the receiver. In this chapter we introduce a coopera tive strategy that involves collaboration in the decoding process; i.e, the destination and the relay(s) cooperatively decode the message from the source. The system model is shown in Figure 41. A distant transmitter broadcasts a message to a cluster of receiving nodes, one (or many) of which could be the intended destination. If any of the other nodes decodes correctly, it can use of one of the traditional decodeandforward schemes to forward the message to the destination. The more interesting scenario is when none of the nodes de codes correctly. In this case, we cannot use any scheme that depends on correct decoding at the relays. The ampli@Sandforward scheme could be used, but the cooperation overhead is very high. Thus, alternative techniques are required to minimize the overhead. The fundamental drawback of the decodeandforward based approach is that each relay forms its transmission based on its own decoding decisions and not on the decoding decisions at the other nodes. For example, if the intended destination or one of the other nodes in Figure 41 has decoded all but two of the bits correctly, then it is not necessary for the other relays to forward information as in the previously described decodeandforward schemes. If the relays have some information about the decisions made at the other nodes, they can accordingly schedule their transmissions to minimize the collaboration overhead. Thus, in the model shown in Figure 41, there is no distinction made between the relay and the destination. The nodes cooperate with each other to obtain some information about the decisions made at the other nodes. This information helps minimize the cooperation overhead required for correct decoding at one of the nodes. Distant Transmitter Cluster of receiving nodes Figure 41: System model for collaborative decoding. The system model also represents a broadcast scenario wherein all nodes are interested in the message from the transmitter. After collaboration, the node that decodes correctly can pass this information onto other nodes. An iterative technique to achieve cooperation in this broadcast scenario with two cooperating nodes was proposed by Wong et al. [9, 38]. The basic principle of this technique with two cooperating nodes is shown in Figure 42. The scheme proceeds in two stages as in the previous cooperation schemes (see Chapter 2). In the first stage, the distant transmitter broadcasts its message to the cooperating cluster. Stage 2 proceeds in multiple iterations with the iterations continuing until one of the nodes decodes correctly or a fixed number of iterations elapse. In each iteration, the nodes first exchange some coordination information. The coordination information is shown as the solid diamond in Figure 42. The coordination information gives each node some infor mation about decoding at the other node. Based on this information, each node transmits some information about the initial message sent by the source to the other node. On re ceiving this message, each node performs decoding and if either node decodes correctly, cooperation is terminated. If not, the cooperation procedure is repeated as shown in Fig ure 42. The process of iterating between decoding and information exchange is referred to as collaborative decoding. An informationtheoretic study of the system model shown in Figure 41 with two cooperating nodes was studied by Draper et al. [39]. The nodes start collaborating after Phase 1:Phase 2: Transmission Collaborative Decoding Iteration 1 Iteration 2 A: Coordination B: Diversity Combining + Decoding Figure 42: Principle of interactive/collaborative decoding with two nodes. they receive the entire block sent by the transmitter. A round of conversation is defined as a message exchange between the nodes with one message transmitted from each node to the other. The sum of the transmission rates (sumrate) between the nodes required for cor rect decoding is used as the performance criteria. A low sumrate implies low cooperation overhead. The authors prove that collaboration with multiple rounds of conversation be tween the two nodes can guarantee correct decoding (in the Shannon sense: arbitrarily low error probability as the block length goes to infinity) with a lower sumrate (overhead) than collaboration consisting of one round of conversation. This is because information sent in an earlier iteration serves as sideinformation at the receiving node and the transmitting node can use more efficient coding techniques that use sideinformation at the transmitter and receiver to encode future conversations. With reference to Figure 42, note that there is no specific coordination information in this scheme. The information transmitted by a node in one iteration serves as coordination information for the next iteration. Thus, each node tailors its transmission based on information about decoding at the other node that it received in the previous iteration. 4.1 Collaborative Decoding through Reliability Exchange Wong et al. [9, 38] present an iterative approach to cooperation for the scenario de picted in Figure 41. The basic principle of their approach is as follows. On receiving the message from the transmitter, the nodes perform MAP decoding on their received sym bols. Each node uses the bit reliabilities to determine which bits are unreliable and requests additional information about these bits from other nodes. The other nodes transmit their estimates of the a posteriori LLR for these bits. The original requester uses this informa tion as the corresponding a priori information in its MAP decoder and performs decoding again. This process of information request and decoding is repeated for a few iterations. For simplicity, the process of exchanging softinformation will be henceforth referred to as reliability exchange. The information that passes between the different nodes will be referred to as the overhead' in collaborative decoding. We build on the scheme of Wong et al. [9, 38] by investigating the performance and overhead for two different classes of reliability exchange schemes for multiple nodes (greater than two). 4.1.1 Collaborative Decoding through the Reliability Exchange of the Least Reliable Bits In this section, we provide results for an extension of the scheme proposed in [9]. For all the results in this chapter, a rate 1/2 nonrecursive convolutional code with generator polynomials 1+D02 and 1+ D+D02 is used to encode the information sequence. For conve nience, we refer to this code as the (5, 7) code, where 5 and 7 are the octal representations of the generator polynomials. The encoded messages are transmitted over additive white Gaussian noise channels using binary antipodal signaling and are coherently demodulated. Each receiver decodes the received message using the BCJR [37] algorithm. Each node then requests reliability information for a certain percentage of the least reliable informa tion bits by broadcasting the bit indices of those bits. Each node that receives the bit indices replies with its estimate of the soft information for those bits. The node that requested the information then uses these reliabilities as a priori information and runs the BCJR algo rithm again. In Wong et al. [9] it is shown that for a packet size of approximately 1000 bits encoded with a (5, 7) convolutional code, collaborative decoding with two receivers provides performance very close to MRC at values of Eb N~O greater than 5 dB. Three iter ations of collaborative decoding was performed by requesting soft information for 7.5% of the least reliable information bits in each iteration. The reason for requesting the least reli able bits (LRBs) is that most of the bits that decode incorrectly have low reliability values. Using MRC would require exchanging all of the received coded symbols. The overhead in bits, denoted by 8M/RC can be calculated as 8M/Rc =, x q, (4.1) where NV is the size of the information message in bits, R, is the code rate and q is the number of bits required to represent a (floating point) channel symbol. Note that (4.1) represents the overhead contribution of a single node. Using the collaborative decoding scheme mentioned above, the overhead contribution of a single receiver can be split into two parts. The first part consists of the bit indices that a receiver broadcasts to request the soft information of the LRBs, and the second part consists of the soft information that a node transmits each time it receives an LRB request from another node. Thus, the overhead for this scheme can be expressed as Brus = N~ x a x NVx ( [log2 1V 1R 1) x q), (4.2) where NJI is the number of iterations of collaborative decoding, a is the fraction of in formation about which reliability information is requested, NsR is the number of receivers involved in collaborative decoding and [x] is the smallest integer greater than or equal x. The first term in the summation on the R.H.S of (4.2) accounts for the bit indices that need to be transmitted to request soft information, and the second term in the summation accounts for the bits required to send out the soft information (each node receives NaR 1 LRB requests). Note that the size of the requests can be further reduced through source cod ing or by exploiting the timecorrelation between the reliabilities of the bits in error [33]. Both (4.1) and (4.2) refer to the overhead per receiver. All the schemes in this paper will be compared using the overhead contribution per receiver. Table 41: Overhead of LRB1 for different number of nodes. Number of nodes Overhead (bits) % reduction (relative to MRC) 2 2025 77.5 % 5 4050 55.0 % 10 7425 17.5 % Generally five bits are enough to represent a (floating point) channel symbol accu rately [40], [41]. For a packet size of 900 bits, the overhead for MRC can be calculated using (4.1) as 9000 bits. Ten bits are required to represent each bit index in packet of 900 bits, and if we perform three iterations of collaborative decoding with soft information of 5 % of the LRBs being requested, the overhead is 2025 bits for two nodes (using (4.2)). Thus we see that performing collaborative decoding reduces the overhead by 77.5 % when compared to the MRC overhead. Performing collaborative decoding with three iterations of 5% LRB exchange will be henceforth referred to as scheme LRB1. LRB1 has collaborative decoding overhead of 22.5 % of MRC overhead for a packet size of 900 bits and a cluster size of two nodes. For the rest of the chapter, the overhead for collaborative decoding will be reported as a percentage with reference to the MRC decoding overhead. Note that the overhead per receiver for LRB1 increases with the number of receivers. The overhead for LRB1 for different number of nodes is shown in Table 41. The reduction in overhead relative to MRC decreases with an increase in the number of nodes. In Figure 43, the performance of LRB1 is shown for different number of collaborat ing receivers. We note that the performance saturates for more than four receivers. This indicates that biasing the least reliable bits with a lot of apriori information from too many receivers will not improve the performance significantly. This is because there are some incorrectly decoded bits that may have relatively high reliabilities. This is again substan tiated in the next section. When leastreliable bits are exchanged, the incorrect bits with 10 1 Rx. \ 2 Rx., LRB1 s' s 4 Rx., LRB1 10 \ 6 Rx., LRB1 \ \ t6 Rx., LRB1 (10% LRB) \ r 4 Rx., LRB2 3 A 6 Rx., LRB2 S10 e I 8 Rx., LRB2 107 0 1 2 3 4 5 6 EblNo (dB) Figure 43: Performance of two collaborative decoding schemes in which receivers request information for a set of leastreliable bits. high reliabilities may never be corrected regardless of how much information is provided for the LRBs. An obvious method to improve the performance of LRB1 is to increase the percentage of LRBs requested. From Figure 43, we see that requesting 10% of LRB reliabilities instead of 5% gives an improvement in performance of approximately 1 dB for a cluster of six collaborating nodes. However, this increases the collaborative decoding overhead, and our simulations show that the performance saturates for more than four receivers even in this case. Another disadvantage of requesting more information is that as the number of receivers increases, the time for information exchange also increases. Each receiver has to send out a set of bit indices requesting reliability information, and then all the other receivers have to respond. To coordinate this information exchange, a good MAC protocol will have to be designed. This latency would not be acceptable in certain applications. A simple extension to LRB1 is to transmit all the soft information via a broadcast channel and to have each node use all the received soft information, even if that node was not the original requester. Since the nodes other than the one that requested information also receive the soft information, they can make use of it as a priori information in their next round of SISO decoding. Thus, for the nodes that did not request the information, reliability information for a set of bits with random reliabilities is obtained. This scheme with 5' request and three iterations will be referred to as LRB2. LRB2 has the same overhead as LRB1. The results in Figure 43 show that LRB2 even outperforms LRB 1 with 10% LRB exchange. Further, LRB2 does not suffer from the saturation problem like LRB1. Hence, LRB2 would be a better choice if exchanging LRBs was the scheme chosen to perform collaborative decoding. The biggest disadvantage of this scheme is that the perreceiver overhead grows lin early with the number of receivers (cf. (4.2)). Thus, if the number of nodes is large, even requesting a very small percentage of LRB soft information might cause the overhead to become larger than the MRC overhead. In the next section, an exchange scheme is pre sented that has an overhead which is independent of the number of receivers. 4. 1.2 Collaborative Decoding through the Reliability Exchange of the Most Reliable Bits One way to significantly reduce the overhead is to prevent a node from transmitting soft information more than once. From (4.2), we see that for block sizes of approximately 1000 and more than ten receivers, multiple transmissions of soft information contributes towards more than 82% of the overhead per receiver. Suppose that, after SISO decoding, each receiver selects a certain set of bits and broadcasts the reliabilities of these bits to the other nodes. It is important to ensure that the nodes broadcast "good" reliability in formation, i.e., reliability information about bits that are decoded correctly. The critical step in this scheme is to determine the set of bits for which a node will broadcast the soft information. Since each node only sends out softinformation only once, the collaborative decoding overhead per receiver is given by OnMRB = Iv X X EX (r0g2 N] + q). (4.3) 0.4 E IN =3 dB co 0.3 S0.2 a 0.1 0 2 4 Reliability 6 8 10 Density Function Of The Reliability Of Bits Decoded Correctly SEb 0,=0 dB E IN =3 dB .0 b 0 co0.1 0 0.05 0 5 10 15 20 25 30 35 40 Reliability Figure 44: Reliability density functions associated with correctly and incorrectly decoded bits. Note that for this scheme, unlike the LRBbased schemes, the overhead per receiver is independent of the number of receivers. If a node broadcasts the soft information for a bit that was decoded incorrectly, using this value as a priori information would degrade the performance of the other nodes. The motivation behind our approach for selecting bits comes from observing the density func tions of the reliabilities associated with correctly and erroneously decoded bits. Figure 44 shows the density function of the reliabilities for a (5, 7) convolutional code with a block size of 900 bits. We note that the trend followed by the density functions is as expected; i.e., most of the incorrectly decoded bits have low reliabilities and the correctly decoded bits have a relatively high reliability. We observe that at an Eb N~o of 0 dB, the maximum value of the reliability of a bit that decodes incorrectly is about half of the maximum value of the reliability of a bit that decodes correctly. For values of Eb N~o greater than 3 dB, more than 50% of the bits that decode correctly have reliabilities greater than the maximum reliability 10 1 Rx. S10 Rx., MRB1 2 Rx., MRB2 10 o" A 4 Rx., MRB2 6 Rx., MRB2 3 1.~ 8 Rx., MRB2 10 104 .0 10s 106 h 107 2 1 0 1 2 3 4 5 6 EblNo (dB) Figure 45: Performance of two collaborative decoding schemes in which receivers broad cast information about a set of mostreliable bits. of the incorrectly decoded bits. Hence, if a node broadcasts a small percentage of its most reliable bits (MRBs), it is very likely to send out "good" soft information. These bits will correspond to a set of bits with random reliabilities at the other nodes. Performing three iterations of 10% MRB reliability exchange will be referred to as scheme MRB1. The collaborative decoding overhead (per receiver) of MRB1 is calculated, using (4.3), as 45% that of MRC. Though reliability information is exchanged for more bits than in LRB1 and LRB2, the overhead is still smaller than in LRB1 and LRB2 for more than five nodes. Our simulations showed that the performance improvement is less than 2 dB even with ten nodes when compared to the performance of a single receiver. This is shown in Figure 45. The smaller performance improvement can be attributed to the set of bits that are broadcast in each iteration. At the end of the first SISO decoding, reliabilities of 10% of the most reliable bits are broadcast. Since we are biasing certain bits with "good" a priori information, at the end of the next SISO decoding, the reliabilities for these bits will LRB1 Number of r~ee~ated *bit indices =1 8 3 i *i **** 12* t**** *** 19 ** f* *** ** 0 200 400 600 800 1000 r MRB1 Number of repeated bit indices =102 0~j 3 *** **r *rr ** ** ***e **  213 rr** x*** ** *~ ****** *x *  1* *** **ll *t ***t 0 200 400 600 800 1000 MRBll Number of repeated bit indices =0 *3 ******W*tt**f *X** *** 12 *i *f =* ** *f ** *f***f* * t1) *** f** t* *** 0 200 400 00lci: 800 1000 Figure 46: Bit indices of reliabilities exchanged as a function of iteration. become large, and it is very likely that these bits will lie in the 10% MRB set. So reliabilities of these bits will be broadcast in the next iteration. But since the other nodes have already received the information about these bits, biasing them with more a priori information will not improve the performance significantly. This can be observed in Figure 46 in which we show the bit indices broadcast in each iteration for one packet of 900 bits. An asterisk on a bit position implies that reliability information about that bit was either requested (LRB1) or transmitted (MRB schemes). We see that for MRB1, a very large portion of bits are broadcast again in every iteration. In three iterations, the reliabilities of 102 bits are broadcast again among the total of 270 bits transmitted. This constitutes around 37% of the total bits sent. As the value of Eb,/No increases, there are fewer bits in error and in order to improve the performance, these erroneously decoded bits need to be biased with reliable a priori information. If a good percentage of the bits are repeated, there will be a low probability that a priori information will be received for all of the bits that are in error. A simple method to eliminate this problem is to give the nodes memory to remember the set of bits for which soft information is transmitted or received. This ensures that bits that are already likely to have good reliabilities after one iteration do not get biased with more a priori information in the next iteration. Other bits are now given an opportunity to receive reliability information. This scheme, which is just MRB1 with memory, will be referred to as MRB2. In MRB2, each node sorts its bits in ascending order of reliability after the first SISO decoding. Then each receiver broadcasts 10% of the MRBs for which soft information was not transmitted by any node in the previous iterations. Thus, in each iteration a new set of bits get reliability information. This is illustrated in Figure 46. In MRB2, there are no bits for which soft information is transmitted in more than one iteration. The performance of MRB2 is shown in Figure 45. If in any of the iterations, a node is not able to find a bit about which a priori information has not been transmitted earlier, it does not send out any reliabilities. Thus, the overhead in MRB2 is less than or equal to the overhead in MRB1, but the performance of MRB2 is much better than that of MRB1 . Note that adding memory to LRB1 will not improve the performance significantly. This is because in each iteration, a priori information biases the least reliable bits and their reliability increases after SISO decoding. Thus, in the next iteration a new set of bits will constitute the set of LRBs. Hence, there is only a negligible overlap in the set of LRBs in each iteration. This can be observed in Figure 46, in which LRB1 has just one bit that is repeated in three iterations. A good suboptimal variant of MRB2 sends harddecisions of the MRBs instead of the soft decisions. This reduces the overhead for transmitting soft information from q (cf. (4.3)) bits per information bit to one bit per information bit. Thus, for MRB2 with three iterations of 10% reliability exchange, the collaborative decoding overhead is only 33% for a packet of 900 bits. For a reasonably large number of receivers, the hard decisions from different receivers form a priori information that is sufficient to bias the information bits to produce correct decisions at the output of the SISO decoder. The performance of this scheme for six receivers is illustrated in Figure 47. 101 10 Floating point Harddecision 10 10 14 10 1 MRBll '1_ LRBll 10 10 107 2 0 24 0 1 2 3 Eb/No (dB) Eb/No (dB) Figure 47: Performance of suboptimal variants two collaborative decoding schemes in which hard decisions are exchanged instead of soft information. Note that this technique can be extended to any of the schemes discussed earlier. The performance of LRB2 with harddecisions is also shown in Figure 47. We see that a loss of approximately 0.5 dB can be expected for the suboptimal scheme when compared to the original scheme. By comparing the performance of the LRB and MRB schemes in Figure 43 and Figure 45, it is seen that LRB2 outperforms MRB2 for a small number of receivers and MRB2 performs better when the number of cooperating nodes is large. This is because an improvement in performance is obtained when bits that are decoded incorrectly get good a priori information. In the LRB schemes, the bits that are likely to be decoded incorrectly are specifically targeted leading to a improvement in performance. The MRB schemes are more optimistic in nature. Each node broadcasts reliable information that may or may not be useful to the other nodes. Thus, at one of the other nodes, good reliabilities are received for a set of bits with random reliabilities. There may or may not be an incorrectly decoded bit in these bit positions. When a few receivers collaborate it is not likely that all the unreliable bits receive a priori information from other nodes. Thus, the performance of MRB2 is relatively worse for a small number of cooperating users. However, for a large number of receivers, it is likely that many of the bits in error are covered. For example, with 10% of MRB exchange and more than eight receivers, it is likely that information will be exchanged for almost all the bits in a block of 900 bits, and hence the performance of MRB2 is better than LRB1 for a large number of receivers. The schemes that work with the MRBs also require lesscomplex channel access tech niques. If the number of nodes are fixed, a simple round robin of all the nodes can be used to allow them to broadcast reliabilities of a certain percentage of their MRBs. For dynam ically formed ad hoc networks, a cluster head could be chosen that assigns the order in which the nodes broadcast the reliabilities. When coupled with the fact that the overhead of LRB schemes can become prohibitive for large cooperating groups, the simplicity of MRB2 and its performance in reasonably big cooperating groups makes it more suited for practical implementation. 4.2 Guidelines for the Design of Collaborative Decoding Schemes Note that the reliability exchange schemes described earlier can be considered to lie in the realm of the decodeandforward schemes with the relays transmissions consisting of the soft information. However, unlike the decodeandforward schemes mentioned earlier, collaborative decoding does not depend on correct decoding at the cooperating nodes. The SISO decoders in our schemes use bitbybit MAP decoding like the BCJR [37] algorithm, and hence correct decoding is not needed to extract useful information for a small subset of bits. Thus, our reliability exchange schemes are an improvement over the decodean2d forward schemes since they are not limited by the capacity between the source and the cooperating nodes. All the results shown in this chapter correspond to transmission over AWGN chan nels. There is no diversity in its true sense on AWGN channels since all the channels are equivalent. Thus, in order to study the diversity benefits of collaborative decoding using 100 e MRB2 MRC 102 3 All soft information a F~ exchange 10s U 0.5 1 1 .5 2 2.5 3 3.5 4 Eb /NO ( Figure 48: Performance of the MRB2 scheme with eight nodes on a blockfading channel. reliability exchange, we need to study the performance of the reliability exchange schemes over fading channels. The probability of packet error for collaboration using MRB2 with eight receivers experiencing blockfading is shown in Figure 48. It is seen from the simu lation results that the MRB2 scheme does not achieve full diversity (the curves for MRC and MRB2 are not parallel). It is observed that the performance of MRB2 scheme with eight receivers is over 5 dB worse when compared to MRC. For the sake of comparison, the performance of a scheme that exchanges softinformation for all the information bits is also shown. This is the best performance that any of the MRB schemes can achieve. The performance of this scheme is around 3 dB worse than MRC. Thus, the best MRB scheme requires more than twice the SNR to achieve the same performance as MRC. The reason for the poor performance of the MRB scheme is as follows. If all nodes experience severe fading, then it is difficult to extract useful soft information for use in the MRB scheme. The reason for not achieving full diversity can be attributed to the fact that reliability ex change falls under the realm of the decodeandforward schemes. Laneman [3]i proved that the decodeandforward schemes are not capable of providing all the diversity advantages associated with cooperative schemes. However, ampliSandforward schemes are guaranteed to achieve full diversity ad vantages [3]. Thus, it seems necessary to exchange information for the coded bits as in the ampliSandforward schemes (information is exchanged for the information bits in re liability exchange) in order to achieve full diversity. MRC, which is an instance of this category, also exchanges received symbol values. However, MRC combines information in an inefficient manner with respect to overhead. Because of the use of error correction codes, there are certain bits (trellis sections) about which reliable decisions can be made without the exchange of information. The LRB schemes make use of this observation to request for information for only those trellis sections that are likely to be in error. But the LRB schemes request for the same amount of information for all the trellis sections. When the index of a trellis section is transmitted by the node requesting information, all the other nodes in the cooperating cluster will respond. Thus, all trellis sections in the set of LRBs receive the same amount of information. However, it is not clear if a trellis section that decodes incorrectly with a high reliability requires the same amount of information in or der to correct the decision as a trellis section that decodes incorrectly with a low reliability. Ideally, the amount of information requested should be adapted to the reliability. In fading channels, some nodes have better channels to the original transmitter and hence have made a greater number of correct bit decisions. Such nodes should share more information with other nodes when compared to the relays with bad channels. All the nodes transmit an equal amount of information if MRC or one of the LRB/MRB schemes is used. These observations lead to three principles that should be kept in mind while design ing cooperative protocols: Pl. In order to obtain full diversity advantages, it is necessary to exchange information closest to the RF front end, i.e., the received symbol values (soft demodulator out puts) . P2. The information exchanged in the cooperating cluster should be adapted to the errors in each packet. If reliabilities are used to adapt the collaboration content, the amount of information requested for each trellis section should be based on the reliability. P3. Nodes with good channels should share more information than nodes with bad chan nels. Note that MRC and the reliability exchange schemes described in this chapter violate all of these principles. In Chapter 6, we present an improvedLRB (ILRB) scheme that is based on these principles. It will be shown that ILRB achieves full diversity (same as MRC) in the number of cooperating nodes. The performance of ILRB is better than comparable ampli@iandforward based collaborative approaches while still achieved per formance close to that of MRC with a fraction of the collaboration overhead. The ILRB scheme exploits the correlated reliabilities at the output of a SISO decoder in order to re duce the overhead. In the next chapter, we investigate the underlying decoder mechanism that leads to correlated bit reliabilities. This understanding will prove useful in the design of the ILRB scheme. CHAPTER 5 ON CORRELATED BIT ERRORS AT THE OUTPUT OF A MAXLOGMAP DECODER We begin this chapter by first motivating the need to understand the correlated na ture of reliabilities. We will use LRB as an example to show how correlated reliabilities can help in decreasing the overhead associated with collaborative decoding. In the LRB schemes, the output of the SISO decoder is used to identify the bits with low reliabilities, and information is requested for such bits because these bits are more likely to be in error. However, as noted in [33], errors at the output of a decoder are typically timecorrelated. Since the LRBs are more likely to be in error, the LRBs are also correlated i.e., if a bit has decoded with a low reliability it is likely that the adjacent bits also have a low reliability. This can also be observed in Figure 46 where it is seen that in each iteration, information is requested for sets of consecutive bits. Thus, in LRB a node will request for information about a set of consecutive trellis sections with low reliabilities. This is a conservative ap proach because correcting one LRB will have an effect on the neighboring LRBs due to the correlated nature of the output of the decoder. In other words, if two bits are strongly correlated, it is likely that combining information for one bit will influence the decision at the other bit. Thus, it is not necessary to request for additional information for the entire set of consecutive LRBs. In order to decrease the cooperation overhead associated with collaborative decoding, it is necessary to understand the interaction between decoded bit reliabilities. In this chapter, we show that the error event that separates the ML codeword and a competing codeword in the maxlogMAP decoder can succinctly capture the corre lated nature of bit errors. We also show how this error event can be efficiently computed using computations that are already performed in the BCJR maxlogMAP decoder. In the next chapter, we use this error event that separates the ML and competing path to design a collaborative decoding scheme that improves on the performance of LRB. 5.1 Terminology and Notation The terminology and notation introduced here are specific to rate 1/2 convolutional codes. It is straightforward to generalize these to rate k/n codes. input and' output labels: An input label is used to indicate the input that causes a particular state transition in the codetrellis, and an output label is used to indicate the corresponding output caused by that state transition. path and' event: A sequence of valid state transitions in the trellis is called a path through the trellis. Note that every codeword represents a path through the trel lis. Because the code is linear, the difference between any two codewords is a path through the trellis. Such a path is also called an event. valid state: A valid state lies on any path through the trellis. Because the trellis starts and stops in the allzeros state, not every state is a valid state near the ends of the trellis. metric: The Euclidean distance between the received vector r and any codeword c, r c2, iS referred to as the metric2 Note that the metric is a maximumlikelihood (ML) decision statistic for additive white Gaussian noise (AWGN) channels. The notation used in this Chapter is given in Table 51. 5.2 Revisiting MaxlogMAP Decoding of Convolutional Codes The softoutput of a maxlogMAP decoder for codewords transmitted on an AWGN channel with noise variance a2 can be written as (see Chapter 3, eq. (3.3 )) L(ui Ir) = min Il 12 mmn .l c (5.1) cEC' 2(T2 cECZ 2(T2 2 Note that a metric is associated with a particular codeword. In other words, each codeword has a different metric. Table 51: Notation used in this chapter Blocksize (the number of sections in the codetrellis). The input to the encoder at time i; i.e., the input label for trellis section i. For binary codes considered in this paper ui E {0, 1}. We will refer to ui as the information bit. The output of the encoder at time i. This is a twodimensional vector con sisting of the two parity bits output by the encoder at each time. If BPSK is used for modulation then c( E {1, 1}, Vj E {0, 1}. Since every c, corre sponds to a particular branch in the trellis ci will used as the output labels for the branches in the trellis at time i. We will use parity bits or coded bits to refer to the output labels at any particular time in the trellis. A valid codeword (output labels on a path through the trellis). Appropriate subscripts will be used to indicate the codeword being considered. The received vector corresponding to ci. The received vector corresponding to c. Cz, Ca+1. ,b1) Abl bs ISSimilarly defined. Input label at trellis section I in codeword c. Component I in codeword c. Note that this refers to a particular bit in the corresponding output label. {c : ui(c) 0}O i.e., the set of all codewords with input label 0 at trellis section i. {c : ui(c) = 1} i.e., the set of all codewords with input label 1 at trellis section i. The set of all valid codewords. c ci Uc . Set of states in the trellis. For the memorytwo code considered in this paper, there are four states. Therefore, S = {, 1, 2, 3}. State of the encoder at time k. Note Sk E S. The set of valid states at time k~ 1 that have branches leading into state S at time k. The set of valid states at time k + 1 that have branches emerging from state S at time k~. The state that codeword c passes through at time k~. log(P(si s), rf) log(P(si S, & Si1 = S )) log(P(rN+1Si S)) TepfeSents a Gaussian distribution with mean p~ and variance O.2 [c ci] c = [c7, 9,4 ri = [r4 r c(1) C S(~ s) S(s ~) Sk~(c) as(s) Y (S', S) Pits) nl(p, O.2) Note that the maximumlikelihood (M~L) cI, Ick~I the received vector r, cMLt = arglinlll$ C 12 cEC It is possible that there is more than one ML codeword (although this occurs with proba bility zero for the unquantized AWGN channel), in which case we arbitrarily choose one of the paths as the ML codeword. O Definition2 1. Comp~eting c. rck'n i is the path that is closest to the received vector among all paths that differ from the ML path in the input label for trellis section i, ccomp ar~gml? Ir Cl 2. (5.2) {cec:ui(c)qui(CML) As in the case of the ML codeword, there may be more than one codeword that satis fies (5.2), in which case the tie is broken by choosing one of the codewords arbitrarily. Note that although there is only one CML,~ there may be many different clomp FOr different values of i. Then the reliability for bit i, which is the magnitude of the soft information in (5.1i), can be expressed as As 1 Lu~)  ccmp 2 7 CML2 (5.3) Note that ccm is referred to as c~j in Chapter 3. We have replaced the notation to simplify exposition, and to stress the fact that clomp is competing with cMLt for the harddecision on trellis section i. Since the distance between r and the ML codeword is smaller than the distance between r and any other codeword, the difference in (5.3) is always positive. A high value of reliability implies that the ML path and the next best path with the opposite input label for bit i are far apart, and hence there is a lower probability that the decoder chose the wrong path and made a bit error. Thus, reliability is a measure of the correctness of the bit decision. This has also been shown via simulation results in [32, 33]. A bit with high reliability is more likely to have decoded correctly than a bit with low reliability. The ILRB scheme that is described in Section 6.4 utilizes both the bit reliabilities and knoledvlge of CMVL and Compp in determining which information should be exchanged in the collaborativep decodingr mprocss In the next section ,r we dtail howr cML~ andl com can be determined for a particular trellis section. 5.2.1 Obtaining the ML and Competing Path using the BCJR Algorithm Following the development in [42], the soft information in (5.1) can be expressed as L (ui Ir) = max _(s)+is,) s)mxa_()+iss+i),(54 where ak 8s), yk(s', S), and Pk(s) are defined in Table 51. It can also be shown that (see [42]) as(s) =max (agi_i(s') + yi(s', S)) (5.5) yi(S', S) oc r ,,(5.7) where S' E S(~ S) and S' E S(S ~) are defined in Table 51, Qo(0) = 0 and PN(0) = 0. Thus, it is seen from (5.7) that yi(S', S) is proportional to the branch metric (cf. [43]), P(rslc4), used in the Viterbi algorithm (where the constant of proportionality depends on only the channel coefficient and signaltonoise ratio). Let the ordered pair of states (Si_l, aS) that maximizes the first term in (5.4) be (sf_7, s+). Let (s _7, a ) be the ordered pair of states that maximizes the second term. By compar ingr1 (51) andl (54) it is se eln that o~ne ofC the o~rdemred pairsl ofC saes+~ (s_7 a) or (S _l, a ) corresponds to cMLt, while the ot~the orderedT pair correpondsrl to clmp For example, if then ag_1(CML. St1 Si CM 8,~ and as1ciomp) 3, iC m) Thus, when computing softoutput for trellis section i, it is possible to identify the branches through the trellis at time i that correspond to the ML path and the competing path. We now introduce two theorems that will enable us to obtain CMLt and com in a straightforward manner using the computations performed by the decoder. Theorem 1: The branch selection theorem Given the state in the code trellis at time k, Sk, = s' and the vector of received symbols r, the following statements are true: (a) Traceback: The statetransition s* s', where Sk1 = s* = argmaX Gk1 8~) 7k ~s, is a branch on the codeword c* given by, c* = argmin r~ c~ 2 {cec:sk(c)=s } (b) Traceforward: The statetransition s' s*, where Sk+1 = s* = argmaX (yk+1 s) is a branch on the codeword c* given by c* = argminr c 2 s )n>, k~+1 8 , Proof To prove the Traceback procedure in Theorem 1, we Lemma. Lemma: ak~(s) oc mmn rf c l for any state s at time c6C:sk(c)=s valid codeword Proofi By mathematical induction. Note that to(0) = 0. Then ai1(0) is computed using (5.5) as first prove the following k that is on the path of a at (0) = 0 + y1(0, 0) (5.8) because there is only one valid state leading into state 0 at time 1. Similarly, az1(2) = 0 + y1(0, 2). The lemma does not apply to the other states at time 1 because they are not valid states for a rate 1/2 convolutional code initialized to state 0 at time 0. So using (5.7), the lemma holds for k = 1. Assume that the lemma holds for time k 1. Then COk S )= maX Gk~1~s + rk (s, s*)) (5.9) OCsES(>s*) cEC:s l(c)=s (; 5.0 oc mm  c2 (5.11) c6C:sk(c)=s* where (5.10) follows from the assumption about the claim, and the last equation follows from (5.7). Thus, the claim is true for time k. The principle of induction completes the proof. Remark: From the lemma, ck (s) is proportional to the partialpath metric (log P(rf ct)) [43] of the surviving path at state s at time k in the Viterbi algorithm when the branch met ric is the Euclidean distance. Proof of the traceback theorem: Compare the traceback theorem and (5.5). The traceback theorem chooses the previous state (si_l) that corresponds to the branch involved in computing the alpha for the current state (as). Since ck (s) is proportional to the partial path metric of the surviving path leading tO Sk = s, the branch involved in computing cOk(s) is part of the corresponding surviving path. Thus, conditioned on the current state, the traceback theorem chooses the previous state as the state at time k 1 on the surviving path at time k. The proof of the traceback procedure follows because the surviving path has the best partialpath metric (min r~  c(2) among all pathsc that pass thrmouh Sk~ = The traceforward theorem can be proved in a similar manner by comparing the trace forward theorem with (5.6). Theorem 2: The conditional path selection theorem. Given a state transition at time i, i.e., siea = s' and as = s*, let C, represent the set of all paths through the trellis (codewords) passing through this transition at time i. That is, C, = {c EC : aS_l(c) = S', si(c) = S*}. Then the sequence of state transitions (So, S1, Sa S' S* 2 1, S* } given by Ski = argmax {ak_i 8) +ki+1 8 sk+),i=2 ,.. (5.12) Si, argmax {/7k+i 8) + k+i 8 +i1, s) }, i = 1, 2, .., NV k (5.13) corresponds to the codeword c* that is closest to the received vector r among all the code words in C,, c* = argminr c2 c 6C'r ProofI The proof follows by repeated application of the traceback and traceforward theorems. As mentioned earlier, the state transitions from time i 1 to i that correspond to the ML path and the competing path can be obtained during the computation of the softoutput for bit i. Given the states ag_l(CMlL), and Si(cMlL), the ML codeword cMLt can be obtained using the conditional path selection theorem. The codeword output by the conditional path selection theorem is closest in Euclidean distance to the received vector among all paths that pass through ag _1(cMlL), and si(cMlL), and is thus the ML path. Similarly, the competing path can be obtained using the conditional path selection theorem given ag_1l(ciomp), and se (ciomp  As noted in the Lemma, the traceback theorem always chooses the previous state (asi_) that corresponds to the branch involved in computing the alpha for the current state (as). Similarly, the traceforward theorem always chooses the next state (si41) that cor responds to the branch involved in computing the beta for the current state(si). This ob servation enables an efficient modification of the BCJR algorithm that enables computing cMLt and clomp FOr any trellis section i. During the computation of the asi(s), s E S, i s {1,..., N}, record the state si_l = s' that maximizes as_1l(s') + yi(s', s) as the previous state for s. Similarly, during the computation of the /94(S), S E S, is { 1,..., N}), record the state siay = s' that maximizes /9441(s') +yi(s, s') as the next state for s. Then given the branch in the codetrellis corresponding to cMLr Of Comllp for at time i, the entire codeword can be obtained by recursively following the states recorded in this way. Thus no additional computations are required to compute CMLt and ccomp. By recording information about the states that lead to the maximum values in (5.5) and (5.6) during the BCJR algorithm, CMLt and clomp can easily be obtained through a series of tablelookups. During the traceback (or traceforward) procedure, if Si CML) Si Comp) foT some k, then the sequence of statetransitions obtained for any time before k will be the same for CMLt and ccomp. Similarly, if or Si+k CML) Si+k Ccomp), then the sequence of statetransitions will be the same for CMLt and clomp FOr any time after k. It will be shown in Chapter 6 that ILRB only requires knowledge of trellis sections where clomp and cMLt differ. Thus, it is sufficient to execute the traceback and traceforward procedures until Sifk CML; Silk Co~mp  It is well known that the softoutput/reliabilities of adjacent bits in a convolutional code are correlated [34]. For maxlogMAP decoders, it was found through simulations that groups of neighboring bits have the same reliability. Since r and cMLt are the same for all trellis sections, (5.3) implies that bits decoding with the same reliability should have the same competing path. By using the technique described above, and observing the competing paths for adjacent bits that decoded with the same reliability it is verified that the competing paths are indeed the same for those bits. Thus, for maxlogMAP decoders, the strong correlation between the reliabilities of adj acent bits is reflected in the choice of the same competing path in the codetrellis for those bits. 5.2.2 On the Utility of Competing Paths in the Design of Collaborative Decoding In this section, we provide a brief outline of how explicit knowledge of these compet ing paths can help reduce cooperation overhead. It is well known that errors at the output of a convolutional code are bursty, and similarly the softoutput/reliabilities are tempo rally correlated [34, 33]. It was shown that the reason for this correlation is that bits that are close to each other in the trellis may often share the same competing codeword/path. For maxlogMAP decoding, such bits have exactly the same reliability, as can be seen from (5.3). A particular bit decodes incorrectly if the ML path is not the transmitted codeword. Thus, all the neighboring bits that also choose the same ML path will also decode in error leading to timecorrelated errors. The fact that errors in convolutional codes occur in bursts was also noted in [33]. Consider the use of the LRB scheme. Consider a LRB (say bit i) that decoded in error with chfL and clomp as the competing paths. This means that bit i chose the wrong path through the trellis as the ML path. In this case, it is likely that the next closest path (with respect to the received vector) with the opposite bit decision corresponds to the true trans mitted codeword i.e., it is likely that clomp is the true codeword. Now suppose that receiving additional information about bit i from other nodes is able to correct the decision. This im plies that the additional information changed the ML path to be clomp. Assume that there were adj acent trellis sections (i + k), that had originally decoded with the same reliability (same choice of ChfL and clomp) before requesting additional information for bit i. Since additional information changed the choice of the ML path to clomp FOr bit i, then it is likely that all the adjacent trellis sections that originally decoded with the same reliability as bit i will also choose clomp as the ML path. This will also correct the errors at these adjacent trellis sections. Thus, by combining information for one trellis section it is possible to cor rect bit decisions at other trellis sections also. The ILRB technique introduced in the next chapter uses this idea to reduce overhead by not requesting information for all the trellis sections that decode with the same competing path. ILRB requests minimal additional information that will flip the decision from ChfL to clomp, thereby correcting all bit errors associated with the incorrect choice of ciop CHAPTER 6 IMPROVED LEASTRELIABLEBITS COLLABORATIVE DECODING FOR BANDWIDTHCONSTRAINED SYSTEMS In this section we describe the Improved LRB (ILRB) collaborative decoding scheme for convolutionally encoded communications. We modify the LRB scheme described in Chapter 4 to satisfy the design guidelines mentioned in Section 4.2. We use LRB as our baseline scheme because the information exchanged in the LRB schemes targets the trellis sections that are most likely to have decoded in error. In addition to conforming with the design guidelines of Section 4.2, the ILRB scheme also exploits correlated reliabilities to reduce the cooperation overhead. The system model for collaborative decoding is shown in Figure 41. A distant trans mitter broadcasts a packet to a cluster of receiving nodes. ARQ is not possible because of the power limitations of the mobiles and the distance to the transmitter. Cooperation overhead is critical in bandwidthconstrained systems. In these systems, the cooperation overhead is upper bounded by a maximum value. This constraint may be necessary in or der to provide a minimum throughput guarantee to the distant transmitter. Since there is no feedback channel to the distant transmitter, it will continue to transmit messages at a certain rate. In such a scenario, cooperation (exchange of messages) cannot continue indefinitely. If the collaboration proceeds for a long time, then the process of collaborative decoding will interfere with additional transmissions from the source. Therefore it is necessary to constrain the cooperation overhead in order to ensure that collaboration does not conflict with transmissions from the source. We first begin with a broad perspective of collaborative decoding in bandwidthconstrained environments. After introducing an baseline ampli@Sandforward scheme (MRC variant) for such systems, we develop the ILRB scheme. 6.1 Collaborative Decoding with Constrained Overheads In collaborative decoding, the message at the source is packetized and encoded with a code that permits SISO decoding. The codeword is then broadcast to a cluster of receiving nodes that will attempt to decode the message. The received message for symbol i at node j can be modeled as rigj = ajxi + us,j, (6.1) where xi is the transmitted symbol at time i; aj is the channel coefficient at receiving node j, which we assume is fixed over each packet; and us~j is white Gaussian noise. In all that follows, we consider rate R = 1/2 codes, but it is straightforward to generalize the work to other code rates. If any node in the cluster decodes the message correctly, then we consider the mes sage to be successfully received. If none of the nodes decodes the packet correctly, then the nodes begin the process of cooperating to receive the message. In the collaborative decoding schemes presented in Chapter 4 the nodes use the outputs of the SISO decoders to select which information should be exchanged and which nodes should transmit that information. The a posteriori probability (APP) log likelihood ratio (LLR) at the output of a SISO decoder is a real number and is commonly referred as the soft output. The sign and magnitude of the soft output for an information bit represent the hard decision and the reliability of that decision, respectively [30]. The sample mean of the reliabilities at node j, pyl, is a measurement of the overall reliability of the decoder's decision. We assume that the nodes exchange the pys after the first decoder iteration and that combining occurs at the node with the largest py, which we refer to as the "best" node. The nodes then broadcast information about a selected set of the received symbols (as in AF) to the best node. The cooperative process can go through several iterations, each of which consists of three parts. In the first part of the iteration, the nodes identify information to be exchanged. In the second part, a selected group of nodes will transmit that information to the best node. In the final part of each iteration, the nodes decode the message and check whether it has decoded correctly. The process stops if any of the nodes has decoded the message correctly or if the limit on the number of iterations is reached. In each iteration, we constrain the maximum number of bits that can be transmitted in the cooperative process. This may be necessary in many systems to ensure that the cooper ative process does not conflict with the transmission of additional packets from the source. We specify the constraint as a portion of the total information exchanged in maximal ratio combining (MRC). Let NV be the information block size, R be the code rate, Nrm, be the number of receivers, and q be the number of bits used to quantize the channel observations. Then the cooperation overhead for MRC is OM/RC = NGnirz/R bits. The large OM/RC Will be not acceptable for many applications. Hence, we constrain the amount of information that can exchanged in the cooperating cluster to be a fraction p of Omre. Note that this places a limit on the maximum amount of information exchange in the cooperative process for a particular packet; however, the actual amount of information exchange for any particular packet may be much less because we allow the cooperative process to terminate whenever the packet is decoded correctly. In each iteration, we constrain the overhead to pemre/Neiter, where NViter is the total number of iterations allowed. Note that there are three main differences between the collaborative decoding scheme described in Chapter 4 and the collaborative decoding scheme described above for bandwidth constrained systems. In the collaborative decoding scheme of Chapter 4, combining is performed at all nodes. For example, all nodes in the LRB scheme request for additional informa tion about their LRBs. In collaborative decoding for bandwidthconstrained systems, combining is performed only at the best node. This solves the problem of overhead being proportional to the size of the cooperating cluster in the LRB schemes. In collaborative decoding scheme of Chapter 4, information from all other nodes is combined in each iteration. For example, all nodes broadcast the APPs for the LRBs requested by a node in the LRB scheme. In collaborative decoding for bandwidth constrained systems, information is carefully chosen from a select subset of nodes. This is keeping in accordance with design principle P3 given in Section 4.2. *Unlike collaborative decoding of Chapter 4, the amount of information combined in each iteration is constrained in collaborative decoding for bandwidthlimited sys tems. We next describe the two main cooperative schemes that will be compared in this chapter. The first, which we call constrainedoverhead incremental MRC (COIMRC), is an iterative form of maximalratio combining in which the overhead is constrained as ex plained above. The second scheme is a collaborative decoding scheme called the improved leastreliable bits (ILRB) scheme. Because of the complexity of this scheme, we first provide an overview of it in Section 6. 1.2, and contrast it with the LRB scheme described in Section 4.1.1. We then develop the tools required for ILRB, and provide a detailed description of ILRB in Section 6.4. 6.1.1 Constrainedoverhead Incremental MRC Consider first an implementation of full MRC in a group of collaborating radios. Each node (other than the best node) scales its received symbols by the fading gain, quantizes them, and transmits them to the best node. As mentioned above, this would result in a large overhead. A variant of this scheme that can offer even better performance than MRC with lower overhead is incremental MRC (IMRC). In incremental MRC, the cooperation is done over several iterations.l In iteration i, the node with the i + Ith largest pi trans mits information about all of its received symbols to the best node2 Then the best node SWe thank an anonymous reviewer of a previous paper for proposing this cooperative scheme. 2 Note that for quasistatic fading channels the value of pi is generally dominated by the fading coefficient. If two nodes have similar fading coefficients, this approach allows us to choose the one whose received information provides more confidence in decoding. combines that information with its own received symbols and any previously received in formation, decodes the message, and checks whether the message has decoded correctly. If the message decodes correctly, the cooperative procedure terminates, and thus the aver age overhead of IMRC is typically much less than MRC. In addition, because decoding is performed after each information exchange, IMRC can achieve a slightly lower error probability than MRC. Although IMRC has a lower average overhead than MRC, the overhead in each iter ation consists of all of the received symbols from one node, and the maximum overhead is the same as MRC. As explained above, it may be necessary to constrain the maximum over head. Thus, we introduce a constrainedoverhead IMRC (COIMRC) scheme. In COI MRC, the overhead is constrained to pl~qlVz/R bits. We allow a total of Nviter = New, 1 iterations, so in each iteration, pl~qlVz/(RI~iter) bits are exchanged. The information in each iteration represents a set of pNV1rz/(RI~iter) received symbols from the best node that has not previously transmitted all of its received symbols. The set of symbols is uniformly selected from the remaining set of symbols at that node. Once all of the symbols at a node have been transmitted, then the next best node (in terms of ps) will transmit information for its received symbols. After each round of information exchange, the best node uses MRC to combine the new information with its previously received information. The best node then decodes the message. If the message decodes correctly or if the maximum number of iterations has been reached, collaboration ends. Otherwise, another iteration of information exchange is performed. 6. 1.2 Overview of Improved LeastReliable Bits Collaborative Decoding The MRCbased schemes are effective approaches for cooperation. However, these schemes are "dumb" schemes in the sense that they do not utilize information that is avail able that could improve the performance for the same constraint on the collaborative over head. SISO decoders offer the ability to assess which bit decisions are reliable and which are unreliable. By first exchanging information that can improve the unreliable bit deci sions, we may be able to achieve a better tradeoff between overhead and performance. The scheme that we propose is based on the leastreliable bits (LRB) schemes that were described in Section 4.1.1. In these LRB schemes, each node identifies the set of bits with the least reliabilities (i.e., smallest magnitude of the APP LLR) and requests information for these bits from every other node. Our technique improves on the prior LRB schemes in several ways: 1. We request information at only the best node, so that the overhead from the informa tion requests is reduced. 2. We utilize the fact that the set of LRBs is often correlated, and we develop techniques to avoid requesting too much information because of this correlation. 3. The set of nodes that respond to a request sent by the best nodes transmit quantized values of their received symbols and not the APPs as in the LRB scheme. This satisfies P1 of the design guidelines in Section 4.2. 4. The amount of information required to correct a bit depends on its reliability, so we present a technique to adapt the amount of information based on a bit's reliability. This satisfies P2 of the design guidelines in Section 4.2. 5. All nodes do not respond to a request sent by the best node. When the best node request for additional information about a trellis section, only the next best node that has not already transmitted information about that trellis section transmits its received symbols. Since coded symbols are combined starting with the second best node, it is likely that the second best node will transmit more coded symbols than another node. This satisfies P3 of the design guidelines in Section 4.2. 6. Not all bits that surround an unreliable bit will necessarily help to correct that bit, so we present a technique to select the set of bits which are most likely to correct an unreliable bit. 7. LRB attempts to reduce cooperation overhead by targeting individual trellis sections that decoded incorrectly. ILRB reduces cooperation overhead by targeting compet ing paths through the trellis that potentially decoding incorrectly. By targeting the competing paths, ILRB has the potential to correct all the bit errors associated with this path. We refer to the new approach as the improved LRB (ILRB) scheme. In this paper, we demonstrate how the goals of the ILRB scheme can be achieved for convolutionally en coded communications by utilizing information generated in the maxlogMAP implemen tation of the BCJR decoding algorithm. The details of ILRB with convolutional codes are given in Section 6.4. Recall that in ILRB, the best receiver sorts the trelli s sections according to the reliabil ities, and requests information from the other collaborating nodes to improve the decoding of some set of least reliable bits. The LRBs will often occur in groups because they are caused by the same error event, and thus it is only necessary to provide enough informa tion to correct the error event to correct all of the bit errors caused by that event. Moreover, we show that some of the received symbols corresponding to a LRB may not be useful in resolving the most likely error event. In the rest of this chapter, we first propose a sim ple analytical technique that can be used to determine how much information needs to be transmitted for each least reliable bit. We then describe how the decoder can use informa tion about the ML and competing paths to decide which information can most efficiently correct any bit errors in the LRBs. Finally, we provide a detailed description of the ILRB scheme for convolutionally encoded communications. 6.2 Estimation of Request Size During the collaborative decoding process, the decoder must act under the assumption that any LRB is in error, when in fact the error probability for even the least reliable bit is generally less than 0.5 (otherwise, we would just invert that bit decision). Given the reliability of a LRB, the decoder needs to estimate the amount of information that should be requested to correct the bit. The most likely error event for bit i is the event that separates CMLt and ccomp, which is given by .s = CML 6H Ccomp > where a represents the XOR (addition or subtraction in a binary field) operator. For linear convolutional codes, as considered in this paper, ei is a codeword. The reliability in (5.3) can be further simplified as As, = gr'T (CML Ccomp). (6.2) If the channel from the distant transmitter to the collaborating cluster in Figure 41 does not have unit channel gains, then the reliability at the jth receiver can be expressed as Ag~ = ga r:IT (CML cop,(6.3) where we have suppressed the dependence of CMLt and clomp On the particular receiver num ber, j. The decoder tries to estimate the amount of information required to change the deci sion from the ML path to the competing path (assuming that this will correct the error). Let CML(k) and ccomp (k) denote the kth parity bit on the ML path and competing path for infor mation bit i, respectively. If CMlL(k) = clomp(k), then that parity bit does not provide any distinction between the two paths in the trellis. Thus, requesting information about such parity bits from the other collaborating nodes will not be helpful in resolving between these two paths. In the most likely case, in which either CML. Of Com~p is the correct codeword, the decoder will only improve its decision if additional information is received for those parity bits for which the decisions of ML and competing codeword are different. O Definition 2. Candidate set ofparity bits Si for trellis section i: The set of parity bits for which the decisions of the ML codeword (cML) and competing codeword (ccomp,, are different. Si = {k : cMlL(k) / ccomp(k)} = {k : e"(k) = 1} (6.4) Once the candidate set of parity bits is obtained, the decoder tries to estimate the number of parity bits from the candidate set Si that have to be requested from other nodes in order for the decoder to decide in favor of com inStead of cML Let r* be the received vector after requesting a coded symbols from another receiver" say receiver 2. The decoder estimates the minimum number of additional coded symbols (h:) that will change the decision from CML to ceomp with probability greater than some threshold. That is, after receiving the additional information, we desire a high probability that r* clomp 12 < l* CML 12 (6.5) 2r*T (CML C omp) < 0 (6.6) 2rT (CML C omp) +t C 2r) (1)(CML 1) C omp(1)) < 0, (6.7) where rl is the subset of the candidate set that has been transmitted in this iteration, and r/ corresponds to the symbols received due to those transmissions; i.e., r* = al*r + a2*r' (a*~ is the conjugate of the fading coefficient at receiver 2). Using (6.3), we obtain 2a~rT (cML C omp) = 2o.2As, where As is the reliability of trellis section i before combining. Note that in the above equationS CML and ccomp, refer to the ML path and competing path encountered in computing the softoutput for trellis section i before receiving additional coded symbols from receiver 2. As previously mentioned, the decoder assumes that the parity bits in the candidate set are in error. Then we can calculate the required value of a under the assumption that the 3 r* is obtained by combining the original received vector r and the additional symbols using maximalratio combining. allzeros CW has been transmitted, in which case ceomp(1)= 1 and cML.(1) = , VI E Si. Since the allzeros CW is the true transmitted codeword, r'(1) ~ Ni(a2, 2). Thus, X, i > 2a r 1 CL1 comp())~ (a n, 1 6;a s2) Thus the decoder estimates that after the firstretransmission, correct decoding is made if Xi < 2a2Az. The decoder estimates the number of coded bits a for which information is required from another receiver as follows, min P(Xi < 2a2Az) > 8 (6.8) min Q a~i2~62 j> 8, (6.9) where a is the number of parity bits retransmitted and 8 is a predefined threshold. Thus, the decoder estimates the number of bits to be retransmitted as the minimum number that would cause the decoder to decide in favor of clomp inStead of cMLt with a probability that is at least 8. This provides the minimum number of bits that is most likely to correct bit i if it is in error. P(Xi < 2a2Az) will be referred to as the correction probability after combining (P,). Thus, the receiver requests the minimum number of coded bits such that Pc exceeds 8. Therefore, by request coded symbols for a parity bits, ILRB has the potential to correct all the bits that chose the same competing path (i.e, decoded with the same reliability). For example, assume a = 1, and that there are 3 bits that decoded with the same competing path. Suppose the additional copies of this 1 coded symbol is enough to flip the decision from CMLr~ to clomp, then the bit decision at the 3 trellis sections that originally chose coomp as the competing path will also change. Thus, ILRB has the potential to correct 3 bit errors by requesting only 1 coded symbol. Note that LRB would have requested for 3 reliability values. 71 Table 61: Instantaneous SNR estimation for trellis sections based on the average of the instantaneous SNRs of the parity bits in the candidate set Output label Output label Estimate on trellis section i 1 on trellis section i of the instantaneous SNR fo htfor cML_ FO Cm for trellis section i 11 11 (r41 +r )/2 1 1 1 1 "I 1 1 1 1 r  1 1 1 1 rf 6.3 Estimation of the Request Set After the decoder estimates a from the candidate set, it needs to select the subset of a parity bits in Si for which information will be requested from another receiver. We estimate an instantaneous SNR for each trellis section involved in the error event ei that separates cML; and clomp to decide the candidate set for collaborative exchange. The receiver sorts the trellis sections in the errorevent according to the instantaneous SNRs, and requests for a parity bits from the trellis sections with low SNRs. The concept of instantaneous SNR was proposed in [44] for use in selecting which symbols should be retransmitted in an ARQ scenario. Several different schemes were considered in [44], and the one described here was found to offer the best performance. If for a particular trellis section i, cML and Miomp differ in only one parity bit, then the instantaneous SNR of that section is equal to the absolute value of the received symbol corresponding to that parity bit. If for a particular trellis section i, cML and ciomp differ in both parity bits, then the instantaneous SNR of the trellis section is the average of the instantaneous SNRs of the two parity bits. The receiver selects a parity bits corresponding to trellis sections with the lowest SNRs from the candidate set. The instantaneous SNR of a particular trellis sectionn for di~fferent output l abels on CML and lomp IS given in Table 61. Note that all possible output labels can be obtained by interchanging the output labels on the ML and competing paths in each row of Table 61. 6.4 Detailed Description of ILRB Collaborative Decoding With the above approaches to estimate the request size and the request set, we can describe ILRB collaborative decoding in detail. Upon initiation of collaboration, the nodes broadcast their ps to determine the best receiver. Starting with the best receiver, let the receivers be numbered RX1 to RXNT.. The second best receiver RX2, transmits its fading coefficient a2 to RX1. RX1 needs the fading coefficient to estimate the number of coded symbols that have to be requested. Let the number of iterations in collaborative decoding be denoted by Ivter. For the results presented in this paper, we set Ivier = NVrz 1. Given the overhead constraint, RX1 limits the number of bits that can be exchanged in each iteration to penMR~C Niter. In each iteration, RX1 sorts the information bits according to the reliabilities, and obtains the competing path for each LRB using the technique described in Chapter 5.2.1. Then for each LRB, 1. RX1 estimates a using (6.9). 2. RX1 obtains the candidate set and the set of parities to be requested based on the instantaneous SNRs. 3. RX1 broadcasts n, and the indices of the parity bits that need coded symbols from another node. 4. For each bit index, the best node that has not previously transmitted information for that bit will transmit information for that bit. Each node scales it received symbols by the channel coefficient and broadcasts that information for a bit. If a > Si  (the number of coded symbols required is more than the size of the candidate set), then coded symbols are obtained from the next best receiver until a total of a symbols are transmitted. Consider an example to illustrate to illustrate step 4 above. Assume that the codeword shown in bold in Figure 61 is the competing path for bit i and that the ML path is the all zeros path. Assume that thi s i s the first iteration in which bits in thi s candidate set have been c=[ 00,...,~~00, 11.101100.., 0 1 i1i i i+1 N 1/10 3  u i = 0, ci = 1 0 liolX u (c=1 110~c (2(2 1) + 1) =1 1/11 0/ S(1 ~)= {0, 2} 0  g g s,(c) =1 0/00 time: ... i2 i1 i i+1 . Figure 61: The codetrellis for the (5, 7) convolutional code with examples of the notation used in this chapter. selected to receive information from the collaborating nodes. For the sake of exposition, assume that trellis sections i 1, i, and i + 1 have increasing instantaneous SNRs in that order. If a = 2, information about ci_, will be obtained from RX2. If K = 3, infOrmation about ci_, and c) will be obtained from RX2. If K = 7, COded symbols for all the parity bits in the candidate set are obtained from RX2, and coded symbols for ai_, are obtained from RX3. Once the appropriate number of coded symbols are combined for the LRB, RXI requests for coded symbols for the next LRB that has a different competing path. There may be other adjacent trellis section with the same reliability. But by requesting for a parity bits, all the bits that had originally decoded with the same ML and competing paths are corrected with a probability that is greater than 8. Hence, if multiple trellis sections have the same competing path (and hence the same reliability), it is enough to consider only one of them to compute the request set and request size. If the information received is able to change the decision from CMLt to ccomp, then all the trellis section that chose the same competing path will be corrected. Thus, ILRB exploits timecorrelated reliabilities by not requesting information for all adj acent bits that decoded with the same reliability. As previously described, coded symbols for a particular trellis section from a particu lar collaborating nodes are only transmitted once. Using the previous example, assume that the branch from state 2 to state 1 has already received coded symbols from RX2 because this branch was part of a different competing path for some other bit that had a reliability less than that of bit i. Then when n = 3, information for for ci_, and c}+2 will be obtained from RX2 (aSSuming that coded symbols for these bits have not been obtained from RX2 earlier). Also, if coded symbols for c) is required in the next iteration, it should be ob tained from RX3, and not RX2. This procedure is repeated until a total of I'he :c/Newer, bits are exchanged within the cluster. Note that this includes the bits required to index the parity bits requested by RX1. In practice, all of the information requests can be performed at the beginning of an iteration, followed by each receiver's response starting from RX2 to RXN, RX1 combines all of the received information with its previously received in formation using MRC (on a bitbybit basis). If RX1 is able to decode correctly or the maximum number of iterations has been reached, then the collaborative decoding process terminates. Otherwise, another iteration of collaborating decoding is performed. 6.5 Results In this section, we present the performance of our collaborative decoding scheme. For all the results in this chapter, a rate 1/2, memorythree, nonrecursive, nonsystematic convolutional code with generator polynomials 1 + D2 and 1 + D + D2 ((5, 7) in octal notation) is used for encoding at the distant transmitter. The message consists of NV = 900 bit packets. For all the results, the channel between the distant transmitter and the cluster of cooperating nodes is assumed to be a quasistatic Rayleigh fading channel, where the fading is constant over each packet. For all results, the number of collaborating iterations Nviter = N,., 1. The block error rate for ILRB and COIMRC is shown in Figure 62 for different number of collaborating nodes. For these results, a 5% overhead constraint with respect to Q Solid Lines: COIMRC  Dashed Lines: ILRB 2 0 Ebl Fiue : rbaiit f bok ro for difee t nme fclaoaigndswe h ovred osrin sfxe t5%o h oeha frMC the vereadreqire fo MR wa imose. I isobsrve tht ILRBouterfrmsCOI MRC~ for alszsothcoprtnclseshw.Iisaosen ta teganofeedb IR nressa tenme of col bortn oe nrae oreape ihatre blc ro at f1,ILR upromsCIM Cb ppoiaey2 Bwe hr ar 8cllboa innodes The pefrac of= onyoend n ooeain sas show fo th aeo oprsn igercie civsabokerrrt f1 ataon 3dBE O ece oprto uigILBprvdsagino rud2 signatnie 62 roabtio(SR of 2lc ro dB, adwith reigt ub o collaborating receiver ILRB inceae thke troughpute by almost 30%R withfrespett COIMRC, n by 350%xmael witBhrespc to a singe n ode.rtn oe.Th efrac fonyoend n ooeain sas 035 0x 15 i 01; 0 05 2 1 02 35 The blok erro rate f COIRCandILRB scompard Lins FOigure o ifrn cooertin vehed s sow i Fgue 5 I is see tahatLis ILRB prom etrta ofeight .Trugptfrdfern ubro collaborating nodes ise shw nFgue66fr ifrn overheadcosrit.I cofsran IMR (CIMRC wi5% th n overhead consrait anhtofasnlercieraeas shw.ThouhIMChstebs block error rate afCIMCad R cmongallted scees(e Figure 64 o ifrn 4), irthas lowerha throuhput whincompared65 t sse toa ILRB or OIMR. hu, t s lear that IRC achieves g oodr block error rate perfa corner at the ot of ige overhead. Ihet is also obevdta h hogptof ILRB decreases when the overhead constraint a tt snl rcise are laxed This implies that the gain in block error rate is not significant as more combining is al lowed in the cooperating cluster. The increase in overhead caused by relaxing the overhead 100 10 IMRC = Or 8 gM C5 SeCRMC 15 P  COlMRC 25% 1 102H + ILRB 5% 1 'sm o ILRB 15% a ILRB 25% 5 4 3 2 1 0 1 2 345 Figure 64: Probability of block error overhead for COIMRC and ILRB with eight coop erating nodes, and different constraints on the overhead. C2RC5 COlMRC 15% \ COlMRC 25% .2 20 \ + ILRB5% ILRB 15% R, ILRB 2 5% 5 4 3 1 PrE 0, Fiue65:Aeae oprto n ovrha fo OR n R wt ihoprtn noe, n dfern cntait o heoered cosran ovrsaostedces nbokerrrtlaigt oe hogpt Thus th R ceei aal o rvdn ag nras ntruhu ihavr ,"0.25 g 0.25// '~IMRC 0.05 ' 0.1Eb 0 Figure 66: Throughput for COIMRC and ILRB with eight cooperating nodes, and dif ferent constraints on the overhead. small overhead. This is because ILRB targets the trellissections which are likely to be in error, and adapts the amount of information combined for these sections based on their reliabilities. The average number of iterations required by the COIMRC and ILRB schemes is shown in Figure 67. It is seen that collaborative decoding is terminated faster in ILRB than in COIMRC. Since the amount of information combined in each iteration is the same in ILRB and COIMRC, and since ILRB requires fewer iterations, the overhead of ILRB is smaller than that of COIMRC (as shown in Figure 65). For example, at an SNR of 0 dB and a 5% overhead constraint, ILRB requires fewer than half the number of iterations required by COIMRC. It can be verified from Figure 65 that the overhead of ILRB is indeed around 50% of COIMRC at 0 dB (for the 5% constraint). e COlMRC 15% .5.5 RCOlMRC 15% E E ILRB 5% s$ e o 1LRB 15% .t 5 ILRB 25% 1O .5C Eb Fiue67 vrg ume fieain e colaoatiedcdn tepeurdb eight reeves CHAPTER 7 CONCLUSION AND DIRECTIONS FOR FUTURE RESEARCH 7.1 Conclusion In this work, we have studied the idea of user cooperation from a decoding perspec tive. Our objective is to achieve good performance with low collaboration overhead. Our schemes are based on a very simple idea. If the cooperating nodes have some information about decoding at other nodes, the cooperation overhead can be significantly reduced. We introduced a framework called collaborative decoding to help develop cooperation strate gies that are efficient in terms of the cooperation overhead. In any collaborative decoding scheme, the cooperating nodes iterate between a process of information exchange and de coding. The information exchange portion of collaboration provides information about decoding at a particular node to other nodes. The other nodes use this information to de cide what information to transmit. Collaborative decoding relies on the use of softinput softoutput (SISO) decoders. The magnitude of the output of the SISO decoder is called the reliability and is an indication of the correctness of the decoded bit. In collaborative de coding, the nodes use reliability information from the SISO decoder to adapt the messages that are exchanged among the cooperating nodes. This is the biggest difference between collaborative decoding and conventional cooperation strategies wherein the information exchanged during collaboration is predetermined and fixed. Unlike previous cooperation strategies, collaborative decoding provides a convenient approach to trade performance for overhead, and collaborative decoding scales easily to multiple cooperating nodes. We also develop guidelines for the design of collaborative decoding strategies. We use these guidelines and design a novel approach called improved lea~streliablebit (ILRB) collaborative decoding for usercooperation in bandwidthlimited scenarios. The ILRB scheme has the advantage over previously proposed cooperation strategies in that it adapts the information exchanged in collaborative process based on the a posteriori probabilities at the decoding node. There are two levels of adaptation in ILRB. First, ILRB adapts the set of bits for which information is requested based on the reliabilities. Second, for each chosen trellis section, ILRB adapts the number of codedsymbols exchanged based on the reliability. ILRB reduces the overhead by not combining coded symbols for all of the trellis sections that correspond to a single error event. The advantages of the ILRB scheme come from exploiting information generated in the BCJR decoder. We show that temporal correlation in reliabilities arise due to the same choice of competing paths for different trellis sections. We show that the competing paths can be explicitly calculated using computations that are already performed in the decoder. By observing competing paths that occur in the decoder, ILRB can request for the minimum number of coded symbols that can correct all the trellis sections that choose that competing path in their reliability computation. Simulation results show that ILRB achieves a lower probability of block error with a lower average collaborative information exchange than the COIMRC scheme. The results show that ILRB can provide a 30%60% improvement in throughput with respect to traditional cooperation schemes. The overhead required for this improvement is less than 5% of the overhead of traditional combining schemes like MRC. Thus, ILRB offers an efficient approach for collaboration when the maximum collaborating overhead is constrained. 7.2 Directions for Future Research We now present areas of potential research that can be pursued using the ideas present in this dissertation. *The performance of collaborative decoding can be studied in multiple access wireless networks by abstracting the results in this dissertation into a network simulator. Since collaboration among a group of nodes introduces interference in the network, it is not clear if collaborative decoding can actually improve the throughput of the entire network. * So far we have used fixed convolutional codes that are guaranteed to achieve the minimum bit error rate among all the convolutional codes with the same constraint length. We have not considered the issue of code design. It is not clear if a convo lutional code that provides the best errorperformance in a singleuser scenario will also provide the best error performance in a cooperative setting. For example, we found that a recursive systematic convolutional (RSC) code provides a lower prob ability of block error than an equivalent nonrecursive convolutional code for the same cooperation overhead. It will be interesting to study the reason behind this observation. * We have studied usercooperation in a bandwidthconstrained setting. Usercooperation can also be studied in an errorcostrained system. In these systems, the nodes should achieve a certain bit/block error rate through cooperation. We can compare collabo rative decoding to conventional cooperation schemes to see which technique achieves the required error rate with the lowest overhead. One way to design a collaborative decoding scheme for this system is compute the number of trellis sections for which information is to be requested in order to achieve the target error rate. The closed form expression for the bit error rate can be used to compute this. Using the closed form approximation it is seen that a target bit error rate translates to a target mean of the reliabilities. Thus, after a round of decoding, each node can compute its mean of the reliabilities and then estimate how much information to request in order to achieve the target mean. REFERENCES [1] J. G. Proakis, Digital Communications, 4th ed., McGrawHill, New York, 2000. [2] A. Sendonaris, E. Erkip, and B. Aazhang, "Increasing uplink capacity via user coop eration diversity," in Pinc. 1998 IEEElnt. Symp. Inform. Theory, Boston, Aug. 1998, p. 156. [3] J. N. Laneman, Coopetutive Diversity in Wireless Networks: Algorithms anzdAr chitechtures, Ph.D. dissertation, M.I.T, September 2002. [4] N. Laneman, D. Tse, and G. Wornell, "Cooperative diversity in wireless networks: Efficient protocols and outage behavior," IEEE Trans. hIform. Theory, vol. 50, no. 12, pp. 30623080, Dec. 2004. [5] A. Sendonaris, E. Erkip, and B. Aazhang, "User cooperation diversitypart I: System description," IEEE Duans. Commun, vol. 51, pp. 19271938, Nov. 2003. [6] A. Sendonaris, E. Erkip, and B. Aazhang, "User cooperation diversitypart II: Im plementation aspects and performance analysis," IEEE Trans. Commun, vol. 51, pp. 19391948, Nov. 2003. [7] T. E. Hunter and A. Nosratinia, "Cooperative diversity through coding," in Pinc. 2002 IEEE ISIT, Laussane, Switzerland, July 2002, p. 220. [8] B. Zhao and M. Valenti, "Distributed turbo coded diversity for the relay channel," IEE Electionics Letters, vol. 39, pp. 786787, May 2003. [9] T. F. Wong, X. Li, and J. M. Shea, "Iterative decoding in a twonode distributed array," in Pinc. 2002 IEEE Militazy Communications Conference (MILCOM), Anaheim, CA, Oct. 2002, vol. 2, pp. 704.2.15. [10] J. Wieselthier, G. Nguyen, and A. Ephremides, "Algorithms for energyefficient mul ticasting in ad hoc wireless networks," in Pinc. IEEE2~ilitazy Communications Con ference, 1999, pp. 14141418. [ 11] E. C. van der Meulen, Transmission oflnformation in a TTerminal Discrete M~emo ryless channel, Ph.D. dissertation, University of California, Berkeley, CA, September 1968. [12] T. M. Cover and A. A. El Gamal, "Capacity theorems for the relay channel," IEEE Duans. Info. Theory, vol. IT25, pp. 572584, Sept. 1979. [13] T. Cover and J. Thomas, Elements of Information Theory, New York: Wiley and Sons, 1991. [14] P. Gupta and P. R. Kumar, "Towards an information theory of large networks: An achievable rate region," IEEE Trans. Info. Theory, vol. IT49, pp. 18771894, Aug. 2003. [15] G. Kramer, M. Gastpar, and P. Gupta, "Informationtheoretic multihopping for relay networks," in 2004 Int. Zurich Seminar, Zurich, Switzerland, Feb. 2004, pp. 192195. [16] LL.Xie and P. R. Kumar, "A network information theory for wireless communica tion: Scaling laws and optimal operation," IEEE Trans. Info. Theory, vol. 50, no. 5, pp. 748767, May 2004. [17] LL.Xie and P. R. Kumar, "An achievable rate for the multiple level relay channel," IEEE Trans. Info. Theory, vol. 51, no. 4, pp. 13481358, Apr. 2005. [18] G. Kramer, M. Gastpar, and P. Gupta, "Capacity theorems for wireless relay chan nels," in Proc. 41st Annual Allerton Conf: on Commun., Control and' Comp., Monti cello, IL, Oct. 2003. [ 19] F. M. J. Willems, Information Theoretical Results for the Discrete M~emoryless M~ul tiple Access Channel, Ph.D. dissertation, Katholieke Universiteit Leuven, Leuven, Belgium, October 1982. [20] F. M. J. Willems, "The discrete memoryless channel with partially cooperating en coders," IEEE Trans. Inform. Theory, vol. IT29, pp. 441445, May 1983. [21] F. M. J. Willems and E. C. van der Meulen, "The discrete memoryless channel with cribbing encoders," IEEE Trans. Inform. Theory, vol. IT31, pp. 313327, May 1985. [22] V. Tarokh, N. Seshadri, and A. R. Calderbank, "Spacetime codes for highdata rate wireless communications: Performance criterion and code construction," IEEE Trans. Inform. Theory, vol. 44, no. 2, pp. 744765, Mar. 1998. [23] G. J. Foschini and M. Gans, "On the limits of wireless communication in a fading environment using multiple antennas," Wireless Personal Commun., vol. 6, pp. 311 335, 1998. [ 24] A. Sendonaris, Advanced' Techniques for NextGeneration Wireless Systems, Ph.D. dissertation, Rice University, May 1999. [25] T. E. Hunter and A. Nosratinia, "Coded cooperation under slow fading, fast fading and power control," in Proc. Asilomar Conference on Signals, Systems and' Computers, Pacific Grove, CA, November 2002. [26] T. E. Hunter and A. Nosratinia, "Performance analysis of coded cooperation diver sity," in Proc. 2003 Int. Conf: Commun., Anchorage, AK, May 2003, vol. 4, pp. 26882692. [27] J. Hagenauer, "Ratecompatible punctured convolutional codes (RCPC codes) and their applications," IEEE Trans. Commun., vol. 36, no. 4, pp. 389400, Apr. 1988. [28] C. Berrou, A. Galvieux, and P. Thitimajshima, "Near Shannon limit errorcorrecting coding and decoding," in Proc. 1993 IEEElnt. Conf: Commun., Geneva, Switzerland, 1993, vol. 2, pp. 10641070. [29] C. Berrou and A. Glavieux, "Near optimum error correcting coding and decoding: Turbo codes," IEEE Trans. Commun., vol. 44, pp. 12611271, Oct. 1996. [30] J. Hagenauer, E. Offer, and L. Papke, "Iterative decoding of binary block and convo lutional codes," IEEE Trans. Inform. Theory, vol. 42, pp. 429445, Mar. 1996. [31] M. P. C. Fossorier, F. Burkert, S. Lin, and J. Hagenauer, "On the equivalence between SOVA and maxlogMAP decodings," IEEE Commun. Letters, vol. 2, no. 5, pp. 137 139, May 1998. [32] J. M. Shea, "Reliabilitybased hybrid ARQ," IEEElectronics Letters, vol. 38, no. 13, pp. 644645, June 2002. [33] A.Roongta and J. M. Shea, "Reliability based hybrid ARQ using convolutional codes," in Proc. Int. Conf: Commun. (ICC), Anchorage, AK, May 2003, pp. 2889 2893. [34] L. Reggiani and G. Tartara, "Probability density functions of soft information," IEEE Commun. Letters, vol. 6, pp. 5254, Feb. 2002. [35] D. Divsalar, S. Dolinar, and F. Pollara, "Iterative turbo decoder analysis based on density evolution," IEEEJ. Select. Areas Commun., vol. 19, pp. 891907, May 2001. [36] S.Y. Chung, T. J. Richardson, and R. L. Urbanke, "Analysis of sumproduct decoding of lowdensity paritycheck codes using a Gaussian approximation," IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 657670, Feb. 2001. [37] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, "Optimal decoding of linear codes for minimizing symbol error rates," IEEE Trans. Inform. Theory, vol. IT20, pp. 284287, Mar. 1974. [38] T. F. Wong, X. Li, and J. M. Shea, "Distributed decoding of rectangular paritycheck code," IEE Electronics Letters, vol. 38, pp. 13641365, Oct 2002. [39] S. Draper, B. Frey, and F. Kschischang, "Interactive decoding of a broadcast mes sage," in Proc. 41st Annual Allerton Conf: on Commun., Control and Computing, Monticello, IL, Oct. 2003. [40] B. Blanchard, "Quantization effects and implementation considerations for turbo decoders," M. S. thesis, University of Florida, 2002. [41] G. Montorsi and S. Benedetto, "Design offixedpoint iterative decoders for concate nated codes with interleavers," IEEE JSelect. Areas Commun., vol. 19, pp. 871882, May 2001. [42] W. E. Ryan, "Concatenated codes and iterative decoding" in Wiley Encyclopedia of Telecommunications (J. G. Proakis ed.), Wiley and Sons, New York, 2003. [43] S. Lin and D. J. Costello, Error Control Coding: Fundamentalsd~~~dd~~~ddd~~ and Applications, Prentice Hall, Englewood Cliffs, NJ, 1983. [44] A. Avudainayagam, A. Roongta, and J. M. Shea, "Improving the efficiency of reliabilitybased hybridARQ with convolutional codes," in Proc. 2005 IEEE M~il itary Communications Conference, Atlantic City, NJ, Oct. 2005, pp. 17. BIOGRAPHICAL SKETCH Arun Avudainayagam received the B.E degree in electronics and communication engi neering in 2000 from Anna University, India, and the M. S degree in electrical and computer engineering in 2001 from the University of Florida. Since January 2002, he has been work ing towards his Ph.D. degree at the University of Florida. He interned with the WCDMA systems test group at Qualcomm, Inc. from May 2005 Dec. 2005, where he was involved in access stratum performance evaluation of Qualcomm's WCDMA modem chips. His research interests include wireless communications, codes on graphs and belief propaga tion, iterative decoding techniques, cooperative communication, and applied error control coding. 