Research Article  Open Access
A Joint ChannelNetwork Coding Based on Product Codes for the MultipleAccess Relay Channel
Abstract
The multiple access relay channel with network coding has the potential to achieve diversity and improve coverage of wireless networks. Its network coding scheme provides an extra redundancy that can be used at the receiver to improve the performance of the cooperating users. This paper shows that the combination of channel coding and network coding, in the multiple access relay channel, can be seen as a product code with rows formed by the codewords of the individual channel codes of the users and columns formed by the network coding codewords. This new representation allows the use of any decoding algorithm of product codes at the receiver to decode the information data of the cooperating users. This decoding process is a complete joint channelnetwork decoding algorithm as it sees the combination of the two coding schemes as a single coding scheme. It also gives the possibility to use network coding schemes more powerful than conventional XORbased network coding. The obtained results show that the proposed productbased network coding structure can improve the performance of the multipleaccess relay channel without reducing its efficiency and allow a very flexible cooperation between the involved users.
1. Introduction
Cooperative communication [1–4] via relay nodes in cellular networks is an efficient and inexpensive way to achieve spatial diversity gain. Relay nodes deployed in the network can act as a cooperating node by listening to the transmissions performed by different nodes and forwarding them towards the destination. The throughput of cellular networks can be improved further by allowing relay nodes to forward linear combinations, based on network coding [5], of received packets instead of forwarding each packet separately. A wellknown scheme that employs cooperation via a fixed relay node is the multipleaccess relay channel (MARC) which could be used for the cooperation of two mobile users to a base station with the help of a relay node. Several research work in the literature has shown that network coding in cellular relaying systems provides the same diversity gain as that of conventional twohop relay channels while improving the system throughput by a factor of 4/3 [6–13]. However, most of these studies were based on computing the outage probability without considering the interaction between channel and network coding. In fact, a relay cannot only be used to gain diversity, its transmission can be seen as an extra redundancy at the receiver, which gives the possibility to improve the link performance as compared to pointtopoint communication.
As network coding combines packets of different users, it creates a redundancy common to all these cooperating users. This redundancy will not be fully utilized if separate networkchannel decoding is employed at the receiver where channel decoding is performed for each transmission followed by network decoding [9, 11, 14]. To fully utilize the redundancy of network coding, joint channelnetwork decoding should be employed at the receiver where all users involved in the cooperation process can benefit.
Distributed channel coding has been used to exploit the redundancy provided by the relay link in a twohop relay channel as described in [15–18]. The idea was to use the principle of turbo coding where one constituent code is employed at the source and one constituent code is employed at the relay node, which gives the possibility to employ turbo decoding at the receiver. Joint networkchannel coding based on turbo codes was considered in [19] where the same convolutional code was employed at the source and the relay node with interleaved user data. Iterative network and channel decoding was used at the receiver. In [11], nested codes were proposed and applied to cooperation diversity with two nodes transmitting to a common destination. These codes assume that individual nodes employ lowrate codes that are a subset of a higherrate codes, such that the XORed codewords at the relay node can be seen as produced by a higherrate code. Iterative decoding of the direct transmission and the relayed transmission was employed at the receiver. However, the principle of nested codes requires that nodes employ different codes. In [12], a joint channelnetwork coding scheme was proposed for MARC where the two transmitting nodes perform channel coding with a lowdensity paritycheck (LDPC) code and their combinations, with the network code described by a Tanner graph on which the decoder performs iterative decoding to jointly decode the network and the channel code. The obtained results in all previous work have shown that joint channelnetwork coding can exploit the diversity gain and the redundancy provided by the relay node at the receiver in cooperative communication. However, most of these previous contributions apply convolutional codes and LDPC codes with a decoding algorithm based on iterative decoding.
This paper considers joint channelnetwork coding for the multipleaccess relay channel when the transmitting nodes employ linear block codes. It will be shown that the combination of channel coding of the transmitting nodes and the network coding scheme of the relay node can be seen as a product code. The rows of the obtained matrix codewords are the codewords of the cooperating users and the columns are the codewords of the linear network code, employed at the relay node(s). This new representation gives the possibility to use any linear block code as a network code at the relay node(s). It also gives us the possibility to use product decoding algorithms, which represent real joint channelnetwork decoding algorithms where the combination of network and channel coding schemes are seen as a single channel code. Several algorithms for decoding product codes exist in the literature [20–25] and can be used in our proposed scheme for MARC. These existing decoding algorithms range from simple hard decision decoding to iterative turbotype soft decoding with performance quite close to maximum likelihood decoding [22, 25]. With this new representation of channelnetwork coding in MARC and the variety of decoding algorithms that exist in the literature, one can consider using more powerful network coding schemes at the relay node and adapt its rate according to the number of cooperating users and the quality of the different links. Such a flexibility will provide more robust MARC schemes with a better throughput.
This article is organized as follows. Section 2 describes the system model of the scenario under consideration. Section 3 discusses the reference system using XORbased network coding. Section 4 describes the proposed representation of channelnetwork coding in the multipleaccess relay channel. It also illustrates the benefits of this new representation with the possibility of using better network coding schemes in order to generate more powerful joint channelnetwork coding schemes for the MARC scheme. Section 5 highlights the diversity gain achieved by the proposed scheme using an analytical approach. Section 6 illustrates the importance of using joint channelnetwork coding using computer simulations. It also highlights the gain achieved by the proposed network coding scheme as compared to the conventional XORbased combining scheme. Finally, Section 7 provides concluding remarks and suggestions for future work.
2. System Model
Let us consider the multipleaccess relay channel (MARC) shown in Figure 1 which consists of two transmitting mobile users, one relay node, and one receiving base station. Here, we assume that the two mobile users and the relay node are using orthogonal channels with the relay node operating in a halfduplex mode. First, each user transmits its own packet toward the base station. These packets are received at the base station and also at the relay node. The relay node decodes the received packets, reencodes them, linearly combines them into one packet using bitbybit XOR (network coding), and forwards the networkcoded packet to the base station. Figure 1 illustrates the case of two cooperating users via one relay node but this can be generalized to users cooperating via relay nodes as indicated in [26].
The base station receiver then receives a total of three packets, two packets from the cooperating users and one packet from the relay node. Using these three packets, the base station tries to decode the information data of the two different users. It is assumed that each user is using an linear block code with packet length , a minimum Hamming distance , and a code rate . Taking into account the extra packet transmitted by the relay node, the overall code rate of the channelnetwork coding of this multipleaccess relay channel is given by
In the case when users are employing channel codes with different rates, but with the same packet length , the overall code rate of the channelnetwork coding of the multipleaccess channel can be written as where is the code rate of user .
It is further assumed that the cooperating users are close to the relay node allowing the relay node to decode the transmitted packets without error. In the case of a decoding error, the relay drops the packet in error and does not use it in the combination process.
2.1. Channel Model
Assuming that the system is employing orthogonal frequency division multiplexing (OFDM) modulation, the radio channel can be assumed to be flat Rayleigh fading on each subcarrier of the OFDM scheme. We denote by the received packet from link at the base station with where is the packet length, is the transmitted symbol on link with . The coefficient denotes the complex multiplicative channel coefficient gain and is assumed constant over at least one symbol interval with . The sample denotes the complex Gaussian noise experienced by link during the th symbol interval with doublesided power spectral density . The received packets from the different users and the relay station are then used by the base station to make a decision on the transmitted information of the different users. How to use these received packets at the base station receiver will play an important role on the link quality of the different users.
3. Separate Channel and Network Decoding
With separate channel and network decoding, it is assumed that the receiver uses network decoding to separate the two user packets and then feeds each packet to its corresponding decoder as illustrated in Figure 2. In this case, network decoding can be done in two different ways as follows.(1)We may use joint symbolbysymbol detection where every three received signal samples are used to estimate the symbols for all symbols of the packets with . Each estimated packet is then fed to the corresponding individual channel decoder to extract the information data of the user.(2)We may also use singlepacket detection followed by successive cancellation where the strongest packet is decoded first, removed from the networkcoded packets, the result is used to decode the next strongest packet, and so on until the last packet is decoded [27].
The first method gives better performance and is the one considered in this paper. Hence, to estimate the symbols the network decoder computes the following metric: and chooses the set of symbols that minimizes this metric, where denotes the estimate of .
Assuming uncorrelated radio links and perfect interleaving for the link packets, the conditional pairwise error probability can be written as where is the channel state information.
The pairwise error probability is then obtained by averaging the expression in (5) over the fading coefficients of the channel. To illustrate the diversity gain obtained from this detection scheme, Chernoff bounds can be used to derive the pairwise error probability [28]. For Rayleigh fading with uncorrelated radio links, an upper bound on the pairwise error probability can be written as follows:
The average symbol error probability for user is obtained by averaging the pairwise error probability over all possible transmitted symbols and can be written as follows [29]: where is the probability of transmitting for . For equally likely transmitted symbols we have, , where is the modulation level and is the number of bits per transmitted symbol. A similar expression can be obtained for user by interchanging with and vice versa in (7).
For linearly multilevelmodulated signals with symbols having equal decision regions, such as PSK modulation, any symbol can be taken as a reference and the upper bound on the average symbol error probability given in (7) simplifies to
In general, the average symbol error probability is dominated by the shortest error event path and the minimumsquared Euclidean distance between the modulated symbols. For a given transmitted symbol, we have a total of error events of length 2 and error event paths of length 3. This is illustrated in Table 1 for the case of when the transmitted symbol is for user . Hence, the average symbol error probability for user can be upper bounded as where with denoting the average received signaltonoise (SNR) of packet and is the average energy per transmitted symbol of packet and .

For binary phase shift keying (BPSK), an upper bound on the average symbol error probability can be obtained from (9) by letting and is written as
Assuming a high received SNR, that is, , for all , the average symbol error probability in (9) can be upper bounded as
It is observed from (12) that a diversity gain of order 2 is obtained in the MARC scheme. For instance, for the particular case of coherent BPSK modulation, we have giving and the average symbol error probability of (12) reduces to
Once all the symbols of the user packets are separated via network decoding, each packet is fed to the channel decoder of the corresponding user. As each symbol of a packet is wrongly detected with a probability and that all symbols of a packet are assumed uncorrelated (ideal interleaving), the average packet error probability at the output of the channel decoder of the user can be upper bounded as [28, page 456]
Using the expression of (12) in (14), assuming BPSK modulation and a highaveragereceived SNR, an upper bound on the user packet error probability becomes
For the case of equalreceived average SNRs on the three links with , the above expression reduces to
It is observed from the packet error rate expression in (16) that separate network and channel decoding can achieve a diversity gain of order which is double of that obtained in a pointtopoint direct transmission. This result is similar to that obtained in [26] when considering the outage probability as a performance measure. It is worth mentioning that the total diversity gain order is the product of the diversity gain order obtained from network coding and that obtained from channel coding. Even though the diversity gain order is achieved through separate networkchannel decoding, the redundancy provided by the relay node is not properly exploited at the base station receiver.
4. Equivalent Representation of ChannelNetwork Coding in MARC
Let us consider the case of conventional XORbased network coding for the multipleaccess relay channel and assume cooperation between two users (see Figure 1). Here, every two packets received by the relay node are combined into one packet using bitbybit XOR operation and forwarded to the base station. The networkcoded packet is then of the same length as the packets of the individual users. Hence, the base station receiver receives three different packets: the packet of user 1, the packet of user 2, and the packet forwarded by the relay node.
We denote the transmitted packet of user by where or with equal probabilities and is the packet length. With XORbased network coding, the packet generated by the relay node after reception of the user packets can be written as where is the modulo 2 sum.
Looking at the XORbased network coding operation at the relay node, we see that for every transmitted two bits (one bit for each user) the relay node transmits one bit. Hence, the corresponding three received bits at the base station consist of two uncoded bits (one bit for each user) and one redundancy bit (relay node bit), that is,
In fact, it is quite easy to see that the network coding operation at the relay node with the directly received packets forms a linear block code with a minimum Hamming distance and a code rate . The different codewords of this linear block code are illustrated in Table 2.

Taking the three transmitted packets of MARC and placing them in rows, one over the other, we obtain a channel coding matrix. This operation is illustrated in Figure 3. It is observed that the channel coding operation of the individual user codes is done along the rows of this formed channel coding matrix and the linear network coding operation is done along the columns. Looking at the structure of this matrix, one can deduce that this matrix formed by the individual packets of the cooperating users and that of the relay node is a codeword matrix of a product code [30]. The obtained product code is an block code with a code rate .
This coding structure can now be used at the base station receiver to decode the information of the cooperating users. Seen as one single code, the correction capability of the corresponding decoder is now as compared to for the case of separate channelnetwork decoding [28].
Product codes have been studied extensively in the literature and several algorithms for decoding product codes also exist in the literature [20–25]. These existing decoding algorithms range from simple hard decision decoding to iterative turbo decoding having performance quite close to maximum likelihood decoding [22, 25]. This new representation of channelnetwork coding in MARC allows us to use the variety of decoding algorithms that exist in the literature. In addition, more powerful network coding schemes can also be considered at the relay node and their rate can be adapted according to the number of cooperating users and the quality of the different links. This flexibility is capable of making MARC schemes more robust along with providing better throughput.
5. ChannelNetwork Coding Based on Product Codes
We have just seen in the previous section that the combination of channel coding and linear network coding in the MARC scheme can be seen as a product code with matrix codewords having as rows the codewords of the cooperating users and as columns the codewords of the linear network coding employed at the relay node(s). This new representation gives the possibility to use any linear block code as a network code at the relay node(s). It also gives us the possibility to use product decoding algorithms, which represent real joint channelnetwork decoding algorithms where the combination of network and channel coding schemes are seen as a single channel code.
Based on the new representation of Figure 3, we can generalize the channelnetwork coding structure of multipleaccess relay channels as shown in Figure 4. Here, we have the first row packets belonging to the cooperating users. They are generated using an linear block code. These packets can belong to one user, two users, or any number of users up to different users. It is also possible to have packets generated using linear block codes with different code rates or different versions of the same packet. The result of this operation is a very flexible structure that can be adapted to help the user(s), within the cooperating set of users, that need(s) help. The remaining row packets are the ones forwarded by the relay node. They are obtained by applying a linear block code, denoted by , along the columns of the formed row packets of the cooperating users. Here, the column linear block encoder represents the network coding scheme of the multipleaccess relay channel. This network coding scheme is quite general and can be selected according to our need and the channel quality of the different links. This gives a motivation to use more powerful network coding schemes for MARC.
As the first rows (packets) of this formed matrix are received by the base station receiver via the direct links of the cooperating users, the relay node only forwards the remaining row packets of this formed channel coding matrix. These forwarded packets by the relay node are in fact the redundancy produced by the network coding scheme. The base station receiver takes the packets received directly from the cooperating users and the packets received from the relay node to form a received version of the complete product code matrix. Hence, a single decoder as shown in Figure 5, for joint channelnetwork decoding can be used at the base station receiver. A single decoder can take advantage of the channel variations in the different branches of MARC and, as a result, better diversity gain can be obtained due to the involvement of the different radio links at the receiver. As mentioned earlier, several decoding algorithms for product codes exist in the literature and can be used at the base station receiver for a joint channelnetwork decoding of the proposed coding structure of the multipleaccess relay channel. These decoding algorithms range from the simple generalized minimum distance decoding algorithm to the complex iterative turbo decoding of product codes [20–25].
To illustrate the performance of the proposed channelnetwork coding structure and the possible diversity gain order that can be achieved, we will consider the performance limits of two basic decoding structures: hard decision decoding and soft decision decoding as given in the following subsections. In Section 6, some variations of different decoding algorithms are used to generate bit error rate performance of MARC using computer simulations.
5.1. Hard Decision Decoding
Consider the multipleaccess relay channel of Figure 1 and assume that the product code is used as the channelnetwork coding structure. The base station receiver collects the received packets from the cooperating users and the networkcoded packets received from the relay node and forms the received product code codeword matrices. These codeword matrices are then demodulated and decoded using a hard decision product decoder to estimate the information data of the cooperating users. To illustrate the diversity gain order for this decoding algorithm, let us consider the case when the different links have the same received SNR.
Let us denote the modulated coded symbols of the codeword matrix shown in Figure 4 by and the corresponding received sample by with where is the channel fading coefficient and is a complex additive white Gaussian noise sample.
With harddecision decoding, demodulation and decoding are accomplished separately. Assuming uncorrelated radio links and full interleaving for the different link packets, the codeword error probability can be upper bounded as [28, page 456] where is the bit error probability of the link and depends on the modulation scheme employed. For the particular case of coherent BPSK modulation and a Rayleigh fading channel, is given by [28, page 891] where is the average received SNR of the coded symbol.
Substituting (24) into (23), the upper bound on the codeword error probability can be rewritten as follows:
Hence, when all the links have the same SNR, a diversity gain of order is obtained with this hard decision decoding. Hence, with a simple hard decision decoder it is possible to achieve a diversity gain of order as compared to for the direct link of the user. Note that this diversity gain is of the same order as that obtained in Section 3 for separate channelnetwork coding where soft decision decoding is employed for network decoding and hard decision decoding for the individual channel coding of the cooperating users. With more powerful decoders, it will be possible to achieve even higher diversity gain.
5.2. Soft Decision Decoding
With soft decision decoding based on joint detection, the receiver performs demodulation and decoding of the coded matrix simultaneously. Using the expression of the received codeword samples, the receiver computes the following metric: for all possible codewords of the product code.
The receiver then chooses the codeword matrix that gives the minimum metric in (26) and declares it as the network and channel decoded symbols of links .
Assuming uncorrelated links with Rayleigh fading channels and coherent BPSK modulation, an upper bound on the pairwise error probability of choosing a wrong codeword can be derived in a similar manner as done in Section 3. Assuming that codeword was transmitted, the pairwise error probability of choosing a codeword instead of can be written as follows: where is the number of positions within the codeword matrix for which the two codewords differ and is the th index of the position.
An upper bound on the codeword error probability is then obtained by averaging the pairwise error probability of (27) over all possible codewords and is written as [31, page 460] where Here and .
At high SNR on the links, the codeword error probability in (28) is limited by the minimum Hamming distance of the product code. Hence, for high SNR values, the codeword error probability can be upper bounded as where
For the case of coherent BPSK modulation and assuming the same average received SNR on the three link of MARC, that is, , for all , we have and the expression in (30) becomes which shows that a diversity gain of order can be obtained with soft decision decoding, which is double of that obtained with hard decision decoding. However, soft decision decoding has a high complexity that increases exponentially with the number of codewords. One possibility to reduce the complexity of such decoders is to employ soft decision decoding on the column codes of the product channelnetwork coding scheme and apply hard decision decoding on the row codes. Further improvement can be obtained by using multiple iterations. This is illustrated in the numerical results section for different coding schemes and compared to that of separate channelnetwork decoding.
Depending on the type of decoding scheme used at the receiver, a diversity gain order ranging from to can be obtained. This diversity gain depends on the complexity of the decoder used. A practical and efficient decoding structure for product codes is to employ iterative decoding where each iteration consists of a column decoder followed by a row decoder [20, 25]. This type of decoding algorithm is a good compromise between performance and complexity and is well suited for large product codes.
6. Numerical Results
In this section we will focus on two things. First, we will show that joint network and channel coding based on product code representation improves the error performance of users as compared to separate networkchannel decoding. Then, we will illustrate that by using a better network coding scheme at the relay node, links can be made more reliable as compared to the conventional XORbased method. The radio channel is modeled as flat Rayleigh fading channel and uncorrelated for the different links. It is further assumed that the different links have the same average received SNR, unless specified. Moreover, the for link in the simulation results represents the average received SNR for the uncoded symbols.
6.1. XORBased Network Coding
Consider the MARC scheme with two users and XORbased network coding at the relay node. The user channel encoder is taken as a Hamming code. Hence, with the new representation presented in Section 3, the equivalent channelnetwork coding scheme is a block code. For separate channelnetwork decoding, we assume soft decision decoding for the network coding and hard decision decoding for the user channel coding as discussed in Section 3. For joint networkchannel coding, we assume a softdecision product decoder as discussed in Section 5.2. Figure 6 illustrates the average bit error rate of the MARC scheme for both separate channelnetwork decoding and joint channelnetwork decoding based on the product representation. It is observed that joint channelnetwork decoding based on the new representation outperforms separate channelnetwork decoding over all ranges of SNRs. For instance, at a bit error rate of , a coding gain of about 3 dB is obtained as compared to separate channelnetwork decoding.
Figure 6 also illustrates the average bit error rate of the MARC for both separate and joint channelnetwork decoding when the relay link is 10 dB better than that of the direct link. It can be observed that both separate and joint decoding algorithms benefit from the good quality of the relay link in the same way. The relative coding gain is about the same, a 3 dB gain is obtained with joint channelnetwork decoding at a bit error rate of as compared to separate channelnetwork decoding.
6.2. ChannelNetwork Coding Based on Product Codes
The proposed new representation of channelnetwork coding for the MARC scheme gives the possibility to employ more powerful network coding schemes. In this subsection, we look at the interaction between channel and network coding for joint channelnetwork decoding based on the proposed representation. For that, we will fix one coding scheme, vary the other coding scheme, and assess the benefit that they can provide to the MARC scheme.
First, we assume a fixed channel encoder for the individual users. For that we consider the linear block code as the individual channel code of the user and look at different channel coding schemes for the network coding scheme, . To keep the efficiency or rate almost the same as that of XORbased network coding scheme, network coding schemes with feasible code rates close to are considered. Figure 7 illustrates the average bit error rate of MARC as a function of the average received uncoded SNR over Rayleigh fading channels when all the links have the same average received SNR. The product decoder considered at the base station is an iterative hard decision decoder [25] with a total of 4 iterations. It is observed that, without affecting the efficiency of MARC, the average bit error probability of the link has been improved considerably in comparison to that of conventional XORbased network coding. For instance, using as a network coding scheme, a gain of nearly 2 dB can be observed at a bit error rate of , as compared to conventional XORbased network coding. With the proposed new representation, the cooperating users benefit from the use of more powerful network encoders at the relay node.
More powerful network coding schemes can improve the error performance of MARC further as illustrated in Figure 7. For instance, a gain of nearly 3 dB and 4 dB can be obtained by using and , respectively, as compared to the conventional XORbased network coding, at a bit error rate of .
Having a good link between the relay node and the base station improves the performance of all schemes as illustrated in Figure 7. It is observed that a better link quality between the relay node and the base station improves the performance of the MARC scheme and this improvement is more pronounced with powerful network coding schemes.
Another type of interaction between channel coding and network coding can be obtained by fixing the network coding scheme and varying the user channel coding schemes. Figure 8 shows the average bit error probability of MARC for different user channel coding schemes and a fixed network coding scheme when all links have the same average received SNR. It is observed that the relative gain of productbased network coding is higher than that of the XORbased network coding scheme. For instance, the relative gain between the user channel codes and is nearly 2 dB for the XORbased scheme at a bit error rate equal to . On the other hand, the relative gain between the two codes is nearly 3 dB for the productbased scheme at the same bit error rate. This improvement is due to the joint decoding structure, based on the new representation, where channel coding and network coding are seen as one single code at the receiver.
So far, we considered a MARC scheme with perfect links between the cooperating users (UE) and the relay node (RN). Nonideal links will of course have an impact on the link performance of MARC. In general, there are many relay nodes within the cell and users cooperate via the relay node that is closest to them. Here, we assume that the average SNR between the cooperating users and the relay node is 10 dB higher than that of the direct link between the mobile users and the base station. Figure 9 illustrates the obtained bit error probability of the productbased NC and that of the XORbased NC as a function of the average received SNR of the direct link. It is observed that the nonideal nature of the link between the cooperating users and the relay node affects the performance of both schemes in the same way with an experienced degradation of about 0.5 dB over most ranges of SNRs.
Grouping users with different received average SNRs will have an impact on the link performance of both users. Figure 10 illustrates a study case where the sum of SNRs for the direct links of the users is assumed constant, that is, dB and the average received SNR of the relay node link is assumed constant with dB. Here, it is assumed that half of the packets are sent by user 1 with an average received SNR equal to , while the other half is sent by user 2 with an average received SNR equal to . The channel code used for both methods is . However, the code of the productbased NC is ; that is, user 1 has packets and user 2 has packets. The network coding scheme has about the same efficiency as that of the XORbased NC scheme. It is observed from Figure 10 that the cooperating users benefit most from the cooperation when the average received SNRs of their direct links are almost equal. This is true for both XORbased and productbased network coding schemes. When one of the cooperating users has a bad direct link, both users will experience bad link performance regardless of the other user’s direct link quality. This causes a problem for the XORbased NC scheme where only two packets are involved in the NC operation at the relay node. The proposed productbased NC scheme involves many packets in the NC operation which gives some flexibility in the allocation process and might help ensuring a good quality of service for both users.
For instance, one simple way to balance the performance of the cooperating users in the productbased NC scheme is by splitting the total number of packets between the users according to their experienced average received SNRs on their direct links. For a productbased NC scheme with a code , we have a total of packets for the cooperating users. Hence, we may define the number of packets allocated to user 1 as and that allocated to user 2 as , where round () denotes the nearest integer function. Figure 11 illustrates the allocated packets as a function of the average received SNR of user 1 direct link with . It is observed that this allocation procedure allocates more packets to the user having a better direct link quality. This should allow the strong user to help the weak user and provide a good link quality for both cooperating users. The benefits of the strong user is of course a higher data rate as it gets more packets than the weak user.
It is observed from the obtained results in Figure 12 that, with this simple SNRbased allocation procedure, the gap between the error probabilities of the users is reduced considerably and now both cooperating users can enjoy good link performance even if one of them has a weak direct link.
7. Conclusions
This paper looked at the interaction between channel coding and network coding in a MARC scheme. It was shown that this interaction can be represented by a product code with rows formed by the individual packets of the users and columns formed by the network coding scheme used at the relay node. This new structure allowed performing network and channel decoding jointly by using a single decoder at the base station receiver. This decoder takes advantage of the channel variations of the different links of MARC and allows a better interaction between their coding schemes. With this new representation, more powerful network coding schemes can be used without affecting the overall efficiency of the MARC scheme. The obtained results showed that, even with simple linear network codes, the proposed method outperforms conventional XORbased network coding schemes over all ranges of SNRs. The relative gain between joint channelnetwork coding using the proposed method, and the separate network and channel coding is comparable to that obtained in [19], where distributed turbo codes are used as the joint network and channel decoding algorithm. The proposed new representation also provides a good flexibility in the cooperation process where several packets can be combined at the relay node. These packets can be allocated in a way that ensures good link quality for both cooperating users. For that, we have proposed an SNRbased packet allocation scheme that splits the packets between the users according to their experienced average received SNRs on their direct links. This procedure provides a tradeoff between data rate and link quality where the strong user can increase its data rate and help improve the link quality of the weak user.
In our work, we have assumed that all cooperating users are employing the same channel encoder and it will be interesting to investigate the case when users have different channel encoders. It will also be interesting to consider convolutional codes instead of block codes and their implication on the proposed representation of the joint channelnetwork coding structure of MARC schemes.
References
 A. Sendonaris, E. Erkip, and B. Aazhang, “Increasing uplink capacity via user cooperation diversity,” in Proceedings of the IEEE International Symposium on Information Theory (ISIT '98), Cambridge, Mass, USA, August 1998. View at: Google Scholar
 J. N. Laneman and G. W. Wornell, “Energyefficient antenna sharing and relaying for wireless networks,” in Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC '00), pp. 7–12, September 2000. View at: Google Scholar
 A. Sendonaris, E. Erkip, and B. Aazhang, “User cooperation diversity—part I: system description,” IEEE Transactions on Communications, vol. 51, no. 11, pp. 1927–1938, 2003. View at: Publisher Site  Google Scholar
 J. N. Laneman, D. N. C. Tse, and G. W. Wornell, “Cooperative diversity in wireless networks: efficient protocols and outage behavior,” IEEE Transactions on Information Theory, vol. 50, no. 12, pp. 3062–3080, 2004. View at: Publisher Site  Google Scholar
 R. Ahlswede, N. Cai, S.Y. R. Li, and R. W. Yeung, “Network information flow,” IEEE Transactions on Information Theory, vol. 46, no. 4, pp. 1204–1216, 2000. View at: Publisher Site  Google Scholar
 Y. Wu, P. A. Chou, and S. Y. Kung, “Information exchange in wireless networks with network coding and physical layer broadcast,” in Proceedings of the Conference on Information Sciences and Systems, The Johns Hopkins University, March 2005. View at: Google Scholar
 S. Katti, D. Katabi, W. Hu, H. Rahul, and M. M. Medard, “The importance of being opportunistic: practical network coding for wireless environments,” in Proceedings of the 43rd Annual Allerton Conference on Communication, Control, and Computing, Monticello, Ill, USA, September 2005. View at: Google Scholar
 P. Larsson, N. Johansson, and K. E. Sunell, “Coded bidirectional relaying,” in Proceedings of the IEEE 63rd Vehicular Technology Conference (VTC '06), pp. 851–855, Melbourne, Australia, May 2006. View at: Google Scholar
 X. Bao and J. Li, “Matching codeongraph with networkongraph: adaptive network coding for wireless relay networks,” in Proceedings of the 43rd Allerton Conference on Communication, Control, and Computing, September 2005. View at: Google Scholar
 X. Bao and J. Li, “On the outage properties of Adaptive Network Coded Cooperation (ANCC) in large wireless networks,” in Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP '06), pp. IV57–IV60, May 2006. View at: Google Scholar
 L. Xiao, T. E. Fuja, J. Kliewer, and D. J. Costello Jr., “Nested codes with multiple interpretations,” in Proceedings of the 40th Annual Conference on Information Sciences and Systems (CISS '06), pp. 851–856, March 2006. View at: Publisher Site  Google Scholar
 C. Hausl, F. Schreckenbach, I. Oikonomidis, and G. Bauch, “Iterative network and channel decoding on a tanner graph,” in Proceedings of the 43rd Allerton Conference on Communication, Control, and Computing, September 2005. View at: Google Scholar
 L. Chen, R. A. Carrasco, S. LeGoff, and I. J. Wassell, “Cooperative amplifyandforward with trellis coded modulation,” in Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC '09), April 2009. View at: Publisher Site  Google Scholar
 D. Tuninetti and C. Fragouli, “Processing along the way: forwarding vs. coding,” in Proceedings of the International Symposium on Information Theory and its Applications (IEEE ISITA '04), October 2004. View at: Google Scholar
 M. Janani, A. Hedayat, T. E. Hunter, and A. Nosratinia, “Coded cooperation in wireless communications: spacetime transmission and iterative decoding,” IEEE Transactions on Signal Processing, vol. 52, no. 2, pp. 362–371, 2004. View at: Publisher Site  Google Scholar
 B. Zhao and M. C. Valenti, “Distributed turbo coded diversity for relay channel,” Electronics Letters, vol. 39, no. 10, pp. 786–787, 2003. View at: Publisher Site  Google Scholar
 Y. Cao and B. Vojcic, “Cooperative coding using serial concatenated convolutional codes,” in Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC '05), pp. 1001–1006, March 2005. View at: Google Scholar
 A. Chakrabarti, A. de Baynast, A. Sabharwal, and B. Aazhang, “LDPC code design for halfduplex decode and forward relaying,” in Proceedings of the 43rd Allerton Conference on Communication, Control, and Computing, September 2005. View at: Google Scholar
 C. Hausl and P. Dupraz, “Joint networkchannel coding for the multipleaccess relay channel,” in Proceedings of the 3rd Annual IEEE Communications Society on Sensor and Ad hoc Communications and Networks (Secon '06), pp. 817–822, September 2006. View at: Publisher Site  Google Scholar
 G. D. Forney Jr., “Generalized minimum distance decoding,” IEEE Transactions on Information Theory, vol. 12, no. 2, pp. 125–131, 1966. View at: Google Scholar
 J. Hagenauer, L. Papke, E. Offer, and L. Papke, “Iterative decoding of binary block and convolutional codes,” IEEE Transactions on Information Theory, vol. 42, no. 2, pp. 429–445, 1996. View at: Google Scholar
 R. M. Pyndiah, “Nearoptimum decoding of product codes: block turbo codes,” IEEE Transactions on Communications, vol. 46, no. 8, pp. 1003–1010, 1998. View at: Google Scholar
 A. R. Calderbank, “Multilevel codes and multistage decoding,” IEEE Transactions on Communications, vol. 37, no. 3, pp. 222–229, 1989. View at: Google Scholar
 L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal decoding of linear codes for minimizing symbol error rate,” IEEE Transactions on Information Theory, vol. 20, no. 2, pp. 284–287, 1974. View at: Google Scholar
 O. AlAskary, Coding and iterative decoding of concatenated multilevel codes for the rayleigh fading channel [Ph.D. thesis], Royal Institute of Technology (KTH), Stockholm Sweden, 2006.
 Y. Chen, S. Kishore, and J. Li, “Wireless diversity through network coding,” in Proceedings of the IEEE Wireless Communications and Networking Conference (WCNC '06), pp. 1681–1686, April 2006. View at: Google Scholar
 T. U. R. Ahsin and S. B. Slimane, “Detection strategies in cooperative relaying with network coding,” in Proceedings of the IEEE 21st International Symposium on Personal Indoor and Mobile Radio Communications (PIMRC '10), pp. 12–17, September 2010. View at: Publisher Site  Google Scholar
 J. G. Proakis, Digital Communications, McGrawHill International, 4th edition, 2001.
 S. Haykin, Digital Communications, John Wiley & Sons, 1988.
 P. Elias, “Error free coding,” IEEE Transactions on Information Theory, vol. 4, pp. 29–37, 1954. View at: Google Scholar
 L. Ahlin, J. Zander, and S. B. Slimane, Principles of Wireless Communications, Narayana Press, Copenhagen, Denmark, 2006.
Copyright
Copyright © 2012 Tafzeel ur Rehman Ahsin and Slimane Ben Slimane. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.