A Joint Channel-Network Coding Based on Product Codes for the Multiple-Access Relay Channel

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 code-words of the individual channel codes of the users and columns formed by the network coding code-words. 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 channel-network 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 XOR-based network coding. The obtained results show that the proposed product-based network coding structure can improve the performance of the multiple-access relay channel without reducing its efficiency and allow a very flexible cooperation between the involved users.


Introduction
Cooperative communication [1][2][3][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 multiple-access 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 two-hop relay channels while improving the system throughput by a factor of 4/3 [6][7][8][9][10][11][12][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 point-to-point 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 network-channel 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 channel-network 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 two-hop relay channel as described in [15][16][17][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 network-channel 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 higher-rate codes, such that the XORed codewords at the relay node can be seen as produced by a higher-rate 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 channel-network coding scheme was proposed for MARC where the two transmitting nodes perform channel coding with a low-density parity-check (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 channel-network 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 channel-network coding for the multiple-access 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 channel-network 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][21][22][23][24][25] and can be used in our proposed scheme for MARC.These existing decoding algorithms range from simple hard decision decoding to iterative turbo-type soft decoding with performance quite close to maximum likelihood decoding [22,25].With this new representation of channel-network 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 channel-network 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 channel-network 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 channel-network coding using computer simulations.It also highlights the gain achieved by the proposed network coding scheme as compared to the conventional XOR-based combining scheme.Finally, Section 7 provides concluding remarks and suggestions for future work.

System Model
Let us consider the multiple-access 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 half-duplex 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 bit-by-bit XOR (network coding), and forwards the network-coded packet to the base station.Figure 1 illustrates the case of two cooperating users via one relay node but this can be generalized to N users cooperating via r 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 (n, k, d)  the overall code rate of the channel-network coding of this multiple-access relay channel is given by In the case when users are employing channel codes with different rates, but with the same packet length n, the overall code rate of the channel-network coding of the multipleaccess channel can be written as where R i = k i /n is the code rate of user i.
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 y l = {y 0l , y 1l , . . ., y (n−1)l } the received packet from link l at the base station with where n is the packet length, s il is the transmitted symbol i on link l with E{|s il | 2 } = E l .The coefficient h il denotes the complex multiplicative channel coefficient gain and is assumed constant over at least one symbol interval with 2σ 2 = E{|h il | 2 }.The sample z il denotes the complex Gaussian noise experienced by link l during the ith symbol interval with double-sided power spectral density N 0 /2.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.

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 symbol-by-symbol detection where every three received signal samples y i = {y i1 , y i2 , y i3 } are used to estimate the symbols s i = {s i1 , s i2 , s i3 } for all symbols of the packets with i = 0, 1, . . ., n−1.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 single-packet detection followed by successive cancellation where the strongest packet is decoded first, removed from the network-coded 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 {s i1 , s i2 , s i3 } the network decoder computes the following metric: and chooses the set of symbols that minimizes this metric, where s il denotes the estimate of s il .
Assuming uncorrelated radio links and perfect interleaving for the link packets, the conditional pairwise error probability can be written as where 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 1 is obtained by averaging the pairwise error probability over all possible transmitted symbols and can be written as follows [29]: where P(s il ) is the probability of transmitting s il for l = 1, 2.
For equally likely transmitted symbols we have, P(s i1 ) = P(s i1 ) = 1/2 m = 1/M, where M is the modulation level and m is the number of bits per transmitted symbol.A similar expression can be obtained for user 2 by interchanging s i1 with s i2 and vice versa in (7).
For linearly multilevel-modulated signals with symbols having equal decision regions, such as MPSK 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 2(M − 1) error events of length 2 and (M − 1)(M − 2) error event paths of length 3.This is illustrated in Table 1 for the case of M = 4 when the transmitted symbol is s i1 = 00 for user 1.Hence, the average symbol error probability for user 1 can be upper bounded as where with γ l denoting the average received signal-to-noise (SNR) of packet l and E l is the average energy per transmitted symbol of packet l and 2σ 2 = E{|h il | 2 }.
For binary phase shift keying (BPSK), an upper bound on the average symbol error probability can be obtained from ( 9) by letting M = 2 and is written as Assuming a high received SNR, that is, |s il − s il | 2 /4N 0 1, for all s il / = s il , 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 s i = ± E l giving δ il = 1 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 P s 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 high-average-received SNR, an upper bound on the user packet error probability becomes For the case of equal-received average SNRs on the three links with γ 1 = γ 2 = γ 3 = γ 0 , 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 d which is double of that obtained in a point-to-point 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.

Equivalent Representation of Channel-Network Coding in MARC
Let us consider the case of conventional XOR-based network coding for the multiple-access 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 bit-by-bit XOR operation and forwarded to the base station.The network-coded 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 i by where c i j = 0 or 1 with equal probabilities and n is the packet length.With XOR-based 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 XOR-based 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 (3, 2, 2) linear block code with a minimum Hamming distance d min = 2 and a code rate R n = 2/3.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 3 × n 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 3×n 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 R e = 2k/3n.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 (2d − 1)/2 = d − 1 as compared to (d − 1)/2 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][21][22][23][24][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 channel-network 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.

Channel-Network 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 channel-network 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 channel-network coding structure of multipleaccess relay channels as shown in Figure 4. Here, we have the first k r row packets belonging to the cooperating users.They are generated using an (n, k, d) linear block code.These packets can belong to one user, two users, or any number of users up to k r 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 n r − k r row packets are the ones forwarded by the relay node.They are obtained by applying a linear block code, denoted by (n r , k r , d r ), along the columns of the formed k r row packets of the cooperating users.Here, the column linear block encoder represents the network coding scheme of the multiple-access 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 k r 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 n r − k r 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 channel-network 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 channel-network decoding of the proposed coding structure of the multiple-access relay channel.These decoding algorithms range from the simple generalized minimum distance decoding algorithm to the complex iterative turbo decoding of product codes [20][21][22][23][24][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.from the cooperating users and the network-coded 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.

Hard Decision Decoding. Consider the multiple-access relay channel of
Let us denote the modulated coded symbols of the codeword matrix m shown in Figure 4 by s i,m , i = 0, 1, . . ., n × n r (21) and the corresponding received sample by y i with where h i is the channel fading coefficient and z i is a complex additive white Gaussian noise sample.With hard-decision 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 p 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, p is given by [28, page 891] where γ 0 = γ 1 = γ 2 = γ 3 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 d r d/2 is obtained with this hard decision decoding.Hence, with a simple hard decision decoder it is possible to achieve a diversity gain of order d r d/2 as compared to d/2 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 channel-network 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.

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 1, 2, . . ., k r .
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 k was transmitted, the pairwise error probability of choosing a codeword m instead of k can be written as follows: where N k,m is the number of positions within the codeword matrix for which the two codewords differ and p i,k,m is the ith 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 E{|s pi,0,m,m | 2 } = E pi,0,m and 2σ 2 = E{|h i | 2 }.
At high SNR on the links, the codeword error probability in (28) is limited by the minimum Hamming distance d r d 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, γ i = γ 0 , for all i, we have (δ i = 1) and the expression in (30) becomes which shows that a diversity gain of order dd r 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 channel-network 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 channel-network decoding.
Depending on the type of decoding scheme used at the receiver, a diversity gain order ranging from d r d/2 to d r d 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.

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 network-channel 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 XOR-based 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 γ i for link i in the simulation results represents the average received SNR for the uncoded symbols.

XOR-Based Network
Coding.Consider the MARC scheme with two users and XOR-based network coding at the relay node.The user channel encoder is taken as a (7, 4, 3) Hamming code.Hence, with the new representation presented in Section 3, the equivalent channel-network coding scheme is a (21, 8, 6) 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 soft-decision 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 channel-network decoding based on the product representation.It is observed that joint channel-network decoding based on the new representation outperforms separate channel-network decoding over all ranges of SNRs.For instance, at a bit error rate of 10 −3 , a coding gain of about 3 dB is obtained as compared to separate channel-network decoding.
Figure 6 also illustrates the average bit error rate of the MARC for both separate and joint channel-network 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 channel-network decoding at a bit error rate of 10 −3 as compared to separate channelnetwork decoding.

Channel-Network Coding Based on Product Codes.
The proposed new representation of channel-network 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 channel-network 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 (15,11,3) as the individual channel code of the user and look at different channel coding schemes for the network coding scheme, (n r , k r , d r ).To keep the efficiency or rate almost the same as that of XOR-based network coding scheme, network coding schemes with feasible code rates close to 2/3 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 XOR-based network coding.For instance, using (7,4,3) as a network coding scheme, a gain of nearly 2 dB can be observed at a bit error rate of 10 −3 , as compared to conventional XOR-based XOR-based NC Product-based NC with (7,4,3) Product-based NC with (31,21,5) Product-based NC with (63, 39, 9) 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 (31,21,5) and (63, 39, 9), respectively, as compared to the conventional XOR-based network coding, at a bit error rate of 10 −3 .
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 (7,4,3) and (15,5,7) is nearly 2 dB for the XOR-based scheme at a bit error rate equal to 10 −4 .On the other hand, the relative gain between the two codes is nearly 3 dB for the product-based 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 product-based 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, γ 2 + γ 1 = 10 dB and the average received SNR of the relay node link is assumed constant with γ 3 = 10 dB.Here, it is assumed that half of the packets are sent by user 1 with an average received SNR equal to γ 1 , while the other half is sent by user 2 with an average received SNR equal to γ 2 .The channel code used for both methods is (15,7,5).However, the code of the product-based NC is (31,21,5); that is, user and the relay (RN).The user channel code is a (15, 5, 7) block code and the UE-RN SNR is assumed 10 dB higher than that of the direct link.
1 has N 1 = 10 packets and user 2 has N 2 = 11 packets.The network coding scheme has about the same efficiency as that of the XOR-based 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 XOR-based 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 XOR-based NC scheme where only two packets are involved in the NC operation at the relay node.The proposed product-based 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 product-based 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 product-based NC scheme with a code (n r , k r , d r ), we have a total of k r 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 N 2 = k r − N 1 , 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 γ 2 = 10 − γ 1 .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 SNR-based 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.

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 XOR-based network coding schemes over all ranges of SNRs.The relative gain between joint channel-network 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 SNR-based 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 trade-off 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 channel-network coding structure of MARC schemes.

Figure 1 :
Figure 1: A multiple-access relay channel with 2 cooperating users and one relay node.

k n 2 3 C 1 (packet of user 1 )C 2 (packet of user 2 )C 1 Figure 3 :
Figure 3: Representation of channel and XOR-based network coding in a multiple-access relay channel with two users and one relay node.

Figure 4 :
Figure 4: Joint channel-network coding based on product codes for MARC with k r user packets and n r − k r relay node packets.

2 BSFigure 5 :
Figure 5: Joint channel-network decoding structure for a multiple-access relay channel based on the new proposed representation.

Figure 7 :
Figure 7: Performance of the product-based NC scheme for MARC over Rayleigh fading channels for different network coding schemes and fixed user channel coding.Same average received SNR on the direct links and two SNR cases for the relay node-to-base station link.

Figure 8 :
Figure 8: Performance of the proposed joint channel-network coding scheme for MARC over Rayleigh fading channels for different user channel coding schemes.All links have the same average received SNR.

1 γ 1 (Figure 9 :
Figure9: Performance of the product-based network coding scheme for the case of nonideal links between the mobile users (UE) and the relay (RN).The user channel code is a (15, 5, 7) block code and the UE-RN SNR is assumed 10 dB higher than that of the direct link.

Figure 12 :
Figure 12: SNR-based packet split in the product-based NC scheme and its effect on the bit error probability of the cooperating users.Different average received SNRs are considered with γ 3 = 10 dB and γ 2 = 10 − γ 1 .

Table 1 :
Possible error events when the symbol s i1 = 00 is transmitted for the case M = 4.

Table 2 :
XOR-based network coding and its possible codewords in MARC.