Network coding (NC), introduced at the turn of the century, enables nodes in a network to combine data algebraically before either sending or forwarding them. Random network coding has gained popularity over the years by combining the received packet randomly before forwarding them, resulting in a complex Jordan Gaussian Elimination (JGE) decoding process. The effectiveness of random NC is through cooperation among nodes. In this paper, we propose a simple, low-complexity cooperative protocol that exploits NC in a deterministic manner resulting in improved diversity, data rate, and less complex JGE decoding process. The proposed system is applied over a lossy wireless network. The scenario under investigation is as follows: M users must send their information to a common destination D and to exchange the information between each others, over erasure channels; typically the channels between the users and the destination are worse than the channels between users. It is possible to significantly reduce the traffic among users and destination, achieving significant bandwidth savings, by combining packets from different users in simple, deterministic ways without resorting to extensive header information before being forwarded to the destination and the M users. The key problem we try to address is how to efficiently combine the packets at each user while exploiting user cooperation and the probability of successfully recovering information from all users at D with k < 2M unique linear equations, accounting for the fact that the remaining packets will be lost in the network and there are two transmission stages. Simulation results show the behaviour for two and three transmission stages. Our results show that applying NC protocols in two or three stages decreases the traffic significantly, beside the fact that the proposed protocols enable the system to retrieve the lost packets rather than asking for ARQ, resulting in improved data flow, and less power consumption. In fact, in some protocols the ARQ dropped from the rate 10ˉ 1 to 10ˉ 4, because of the proposed combining algorithm that enables the nodes to generate additional unique linear equations to broadcast rather than repeating the same ones via ARQ. Moreover, the number of the transmitted packets in each cooperative stage dropped from M (M - 1) to just M packets, resulting to 2 M packets instead 2 (M 2 - 1) when three stages of transmission system are used instead of one stage (two cooperative stages).
The design and analysis of wireless cooperative transmission protocols have gained significant recent attention to improve diversity over lossy and fading channels. The fundamental idea of cooperation, rooted in the seminal paper of Cover and El Gamal [
Most existing cooperative protocols operate in a timesharing (or frequency-sharing) manner, such that each user sends its own messages and relays its partners’ messages in separate time slots (or frequency bands). In order to improve system throughput, it is possible to combine the users’ messages. For example, in [
In this paper, we design and analyze a complete system that enables cooperation among multiple users through the use of NC. In contrast to [
Aiming for a low complexity, practical solution suitable for the proposed scenario with small header requirements, we resort to NC over a binary field (simple XOR-ing) in a deterministic manner which deceases the Jordan Gaussian Elimination (JGE) decoding process significantly, beside to the fact that we have no worries to repeat the same combined packet more than once when it is randomly combined resulting to more unique linear equations for the transmitted packets. We allow for packet losses in the channel and try to recover all users’ messages at a common destination and among the M users. The destination and the M users receive a set of linear combinations of users’ packets in two stages, with an optional third stage in case of failure to decode some messages in the previous two stages. A user operates in cooperative mode when it forwards a network coded packet, i.e., a linear combination of its partners’ packets. We apply both analytical and simulation tools to investigate the probability of packet error at the destination for low complexity protocols with and without binary NC. The advantage of the system is; its simplicity and practicality while still maintaining performance gains over non-network coding solutions.
The proposed deterministic NC protocols in this work decrease the number of the transmitted packets in the second and third stages significantly which improves the network traffic and the transmission power compared to the cooperative network without applying NC. Moreover, these protocols provide the advantage of the ability to retrieve the lost packet using JGE rather than just asking for ARQ, taking into consideration that the applied JGE in some scenarios is simple, because the linear equations resulted from combining the packets are made by a deterministic algorithm that gives such high diversity (independently) as shown in our work [
The paper is organized as follows: In Section 2, we describe the system model, starting with the cooperative benchmark model, and then, how users’ packets are combined for the three stages when applying NC. Section 3 presents the probability analysis for successful recovery of all users’ packets at the destination in an erasure channel. This is followed by some simulation results and analysis of system performance in Section 4. Section 5 concludes the paper.
We consider a wireless network that consists of M users N1, N2, ∙∙∙, NM that transmit messages X1, X2, ∙∙∙, XM respectively to a common destination D and to each others, where users can hear one another over orthogonal erasure channels. We assume the channels between any two users and between the users and D can be modelled as a random packet erasure channel with q, and p probability of packet loss between the one user and another, and between the users and D respectively, as shown in
Communication is performed in two or three broadcasting stages of M time slots each, using TDMA. Note that the results hold for other multiple access techniques, including FDMA. User Ni generates at each stage a binary packet Xi which is broadcast during the ith time slot. All packets are of the same length. For simplicity, we assume no packet erasure coding. The destination informs the users with one bit broadcast feedback message when it successfully decodes all M messages. We assume that this feedback message is always perfectly transmitted.
In the first transmission stage, each user Ni broadcasts its own packet Xi in one time slot. Each of the M users receives a packet with probability 1 − q from the other M − 1 users. The destination D receives a packet from each of the M users with probability 1 − p. Stage 1 ends after M time slots.
In the second transmission stage, we propose deterministic and non-deterministic cooperative combination strategies (protocols) with their relative merits and disadvantage as discussed in Subsections 2.2 to 2.4 below. Our proposed combination strategies can be seen as simple NC operation over binary field. Indeed, as in NC, a node computes a linear combination of incoming packets. However, in traditional NC [
If not all packets are received after the second stage, either the system asks for ARQ or it goes for the third stage. The same mechanism is performed if there are missing packets in the third stage, so, either a further stages are required or ARQ to start the re- transmission for the missing packets.
In this work, we propose two or three stages with optional further stages as shown in
The block diagram in
In the first stage, a maximum of M single packets could be received at D, so, if fewer than M packets received, i.e., kM, the system optionally goes for the next stage. In the second stage, NC is applied to generate other M unique packets (unlike the single packets), to be sent to D. Hence, D will be receiving a maximum of 2 M unique packets at the end of stage 2.
The system goes for rank check to ensure that the received unique packets at the end of stage 2, i.e., (k + l) will consists M independent linear equations (rank M) which is needed to solve JGE decoding process.
If fewer than M unique linear independent equations received; (rank M), the system goes for the third stage. In this stage, NC is applied again to obtain more M unique packets (other than what is sent by the second stage) to be transmitted to D.
At the end of this stage, D will be receiving a maximum of 3 M unique linear equations, so, if the exact received unique packets at D can make the rank M received linear equations, i.e., (k + l + n) can obtain M unique independent linear equations; the system goes for the next transmission, otherwise, the system resorts to ARQ.
In this work, we used Matlab to test the received packets rank, simply, we put the pivot 1 for the packet received at D, either single or combined, and zero if neither received nor combined.
Equation (1) shows the first stage (single packet):
where CT1, CT2, ∙∙∙, CTM are the received packets at D and M nodes. So, if D receives the packet from the second node; D will put in the second raw of the receiving matrix, but if the second packet is not received; D will put in the second raw.
When filling the whole matrix at D; rank test is performed over the total matrix to confirm obtaining rank M matrix or not, i.e., if the total number of the received linear equations provides M linearly independent equations.
The same for combined packets, which means if the D receives a combined packet consists of X1, X2, and X5 from the third node; D will put in the third raw of the received matrix.
Based on above, D will be having M 2M and 3M at the end of stage one, two and three respectively.
D confirms full reception when the rank of its matrix gives rank M, i.e., collecting M unique independent linear equations from the M, 2M or 3M received packets.
Where q, and p are the probability of packet loss between one user and another, and between the users and D respectively.
Based on
Equation (1) shows the full received matrix at D and M nodes.
Choice of the best combination strategy depends on the losses encountered. The main advantage of deterministic combinations over their non-deterministic counterparts is that almost no header information is needed to inform D and the M users about which packets were combined, in fact, in some combination strategies requires only 1 bit as a header. Only one combined packet (of the same size as the individual packets Xi) from each user is sent to D and M. Thus, stage 2 requires only M transmission time slots and only M transmitted packets from the M nodes compared to M (M − 1) packets in the case of the benchmark system.
If all M users successfully recover their M − 1 partners’ packets sent from Stage 1, the system switches to fully cooperative mode, whereby user Ni combines packets received from all other users except its own, as given in Equation (2):
Equation (3) gives the received matrix at D and M nodes:
However, if any user fails to receive any one of its partners’ packets from Stage 1, only that user behaves selfishly by retransmitting only its own packet without resorting to Equation (2), moreover, the raw of that particular node in the receiving matrix will be a raw of single packet. As an example, if user two does not cooperate; the second raw of the receiving matrix will be. Thus, the network will remain in fully selfish operation only when all M users have not received one or more packets from all of their partners. In situations where such losses on such a large scale are likely to occur; we propose to combine only two packets either in deterministic or non-deterministic way as described next in Section 2.2.2 in order to avoid falling back to selfish network operation.
taking into consideration that each user knows its own packet even before the broadcasting, unlike the D that does not know any packet before the first stage. In general, each user and the D will be collecting or able to obtain 2M packets in term of M single packets and M combined ones.
Only one bit header is required in this protocol to confirm whether the transmitted packet is single or combined.
As in traditional wireless NC, in order to recover all M Xi’s, a minimum of M linearly independent equations are needed at the receiving side. Since operations are done in the binary field and all equations either reveal one unknown or contain binary sums of M − 1 unknowns, it is enough for D to receive at least M + 1 unique packets from the M users (either in selfish or cooperative mode) to obtain M linearly independent equations at D, and just M unique packets at any user because the user knows its own packet. Under such case, D and the M users can recover all sources even if it has not received both packets (sent during both stages) from one user. In fact, in many cases, D can even recover all M Xis packets with M unique packets received under many cases as will be shown in Section 3.
One of the most important advantage for this protocol that it is possible to have M linearly equations at D and M even if there is a dead channel between two users or one user and D where a user is considered dead if it cannot be heard by D or another user in both stages.
This protocol is ideal when any user Ni is very likely to receive from stage 1 its nearest neighbour’s packet but unlikely to hear from all other M − 2 users.
In this protocol, the user transmits cooperatively in stage 2 by combining its own packet Xi with either Xi+1 or Xi−1. Addressing is cyclic such that if i = M, then i + 1 = 1.
Of course, if any user Ni does not receive its immediate neighbour’s packet, it operates in selfish mode transmitting only its own packet in stage 2.
Same header is needed in this protocol as the previous one, i.e., one bit to confirm whether the transmitted packet is combined or single.
In
Taking into consideration that each user combines its own packet to the next packet only.
The receiving matrix at D is shown in Equation (4) for the case of the example in
In [
This protocol is a variation of the above deterministic protocol described above, but ensures a higher likelihood of more users transmitting cooperatively in stage 2. For this strategy, any user Ni combines its own packet Xi with any one other user’s packet Xj it has received. Simulation results show that instead of finding an Xj randomly from the buffer of received packets from stage 1, performance is improved if Xj is chosen when the difference
Combination of two packets at each user in such a non-deterministic way requires a header with log2M bits, as D and the M users need to know j.
Whilst the previous two combination strategies ensure that more users operate in cooperative mode than in the strategy of Subsection 2.2, they limit the possibility of recovery of all M users’ messages at D and the M users with as little as possible number of received packets k. We thus propose another non-deterministic combination strategy where user Ni combines its own packet with all other packets received from other users, such that:
where
Due to its non-deterministic nature, this strategy requires an M-bit header listing all j’s combined.
After Stage 2, a total of 2M unique equations are generated by the users. A maximum of 2M unique equations is received at D and the M users, when and only when all users operate in cooperative mode. The more users operating in selfish mode, the less unique equations are obtained. Due to transmission over a lossy network, only k ≤ 2M unique packets (unique equations) will be received by D and the M users.
We go to the third stage of transmission if D or any user fails to receive at least M linearly independent equations from M or M + 1 unique packets in the M − 1 protocol, because it is impossible for D or the M users to recover all M source messages. This can happen when more than one user is not heard by D at both stages (dead users). The third stage should provide novel information to D in the form of linear combinations not previously received at D. We propose deterministic and non deterministic combination strategies for stage 3 next. This stage also requires only M time slots for transmission. D and the M users can recover the M users’ messages when M linearly independent equations are received from all three stages. At this point, only if there are dead sources in the network will D not be able to recover all M users’ messages.
Accordingly, D received matrix will be a random mix of ones and zeroes, which makes the JGE decoding process to be complicated and consumes significant processing time delay. Moreover, the random combination could result to repeat the same combined packets, i.e., same ones and zeroes in D the received matrix. In such case, the replica transmitted packet will have no any unique information which means that it consumes transmission power for no any benefit. Unlike the proposed deterministic combination where the JGE decoding process is sampler [
The third stage is needed when the system fails to collect M linearly independent equations, i.e., when (k + l) unique linear equation shown in
In this protocol, M/2 packets are combined at each user, resulting in a simple, deterministic solution. This is shown in Equation (6), where odd numbered users Ni combine only all received packets from their odd-numbered partners excluding their own packet. The algorithm is symmetric for even-numbered users.
All operations above are in binary field, and % denotes modulo 2 residual. Again, if user Ni does not have all packets required to generate
Equation (7) shows the received matrix for fully cooperative stage:
Equation (7) shows the combined odd pivots in the receiving matrix when all combined packets are received either at D or M nodes. The last column is either one or zero depending on the number of node, i.e., 1 is the number of nodes are odd and zero when it is even. for 6 nodes as an example, the second raw has just two combined packets, which are X4 and X6 (even combination), hence pivots are 1 and the rest are zeroes, and same raw 3, where the pivots are ones just at X3 and X5 (odd combination). The last raw and last column depends on the number of users and whether it is even or odd.
For 1 < M < 6, each user Ni combines Xi with Xi+1, with cyclic addressing as shown in
To reduce the possible number of users in selfish mode that would occur in the above strategy, we propose another simple, deterministic odd-even strategy whereby only two packets are combined as shown in Equation (8).
Odd numbered users combine only the odd neighbour’s received packet Xi+2 to their own packet. The algorithm is symmetric for even-numbered users. Again addressing is circular as in Subsection 2.3.
So, each raw in the receiving matrix will have either two pivots of ones and the rest
M = 5 | M = 4 | M = 3 | M = 2 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Users | St1 | St2 | St3 | St1 | St2 | St3 | St1 | St2 | St3 | St1 | St2 | St3 |
1 | 1 | 2345 | 345 | 1 | 234 | 23 | 1 | 23 | 123 | 1 | 2 | 12 |
2 | 2 | 1345 | 145 | 2 | 134 | 34 | 2 | 13 | 123 | 2 | 1 | 12 |
3 | 3 | 1245 | 125 | 3 | 124 | 14 | 3 | 12 | 123 | |||
4 | 4 | 1235 | 123 | 4 | 123 | 12 | ||||||
5 | 5 | 1234 | 134 |
are zeroes in the cooperative mode, and just one pivot of number one when selfish as shown in Equation (9):
Equation (9) is for odd number of nodes, however, if the number of nodes are even, just the last raw will be changing to which is for the last even node with the first even node as the combination is a circular as in Subsection 2.3.
This strategy is a fusion of the strategies proposed in Subsections 2.3.1 and 2.3.2 where Odd-numbered user Ni combines its own packet with any other odd-numbered Nj’s packet, such that
This strategy is a fusion of Subsections 2.3.1 and 2.3.2. Odd-numbered users combine all received packets from other odd-numbered users. The same goes for even-numbered users. Thus, a maximum of M/2 packets can be combined (yielding Section 2.3.1 strategy) and a minimum of 2 (Section 2.3.2 strategy). A (log2M) − 1 bit header is needed.
In this section, we determine the overall probability of destination D being able to recover all M source messages given that it has received less than 2M packets during the first two stages from the M nodes. We assume that all nodes destination are within transmission range of one another.
The probability for each user is better than the probability of D, because the user knows its own packet, hence, we work out the probability of D as it is worse than users, though it is possible easily to repeat the work for each user, but we will just work for the probability of full reception for D.
After the first transmission stage, the destination will receive k packets from the M nodes, where k ≤ M different packets have been received by D at the end of stage 1 with probability of error (PER) given in Equation (10):
If decoding is not finished after the first stage, the second stage of transmission will follow.
We are seeking the PER to finish the decoding after stage 2 for the benchmark protocol where each user sends its own packet twice.
So, the PER for the packet to not be received after stage 2 is p2, so, the PER to be received is: (1 − p2), accordingly, D will finish decoding all M packet after the second stage as shown in Equation (11):
Accordingly, the probability of receiving k packets after stage 2 is shown in Equation (12):
And PSymb is shown in (13):
In this stage, each user will either switch to fully cooperative behaviour (if it has received and decoded all the M − 1 partners’ packets) with probability
After the second stage of transmission is finished, we are interested in the probability
where
As we have M different packets, D must receive M linearly independent equations, i.e., any number of different equations that gives rank M receiving matrix at D. Accordingly, D evaluates the received rank matrix, and in the case of having M rank, D informs the M users that all packets have been recovered; otherwise, more transmission’s stage is needed or D will declare that more uses are dead.
As the combination in the second stage is deterministic, the M users generates maximum of 2M unique packets. However, D needs to receive just M + 1 unique packet to guarantee obtaining rank M receiving matrix.
In the case when D cannot hear from two users (the case of two dead users), D cannot receive M linear independent packets, which means that the received matrix’s rank is less than M, though M + 1 unique linear equations have been received.
Accordingly, we can confirm that D successfully decodes all M users’ packet when M + 1 unique packets received at D gives rank M received matrix at D as shown in
Where 1 denotes successfully received packet, 0 denotes lost packet, S/C denotes a packet received in either selfish or cooperative mode, and X denotes any possibility of either received or lost packet. However, D can guarantee to obtain the M rank receiving matrix when D receives the packet in cooperative mode for one user received in stage 1 as shown in
Equation (15) and Equation (16) show the PER for these cases.
The decoding will successfully finish if for all (M + 1) − k time slots in which transmission failed in the first time slot, the transmission is successful in the second time slot. The decoding will succeed irrespective of the behaviour (selfish or cooperative as long M rank linear equations received) of users in these M − k time slots, this is illustrated in
Moreover, even if one of M − k users’ packets is not received in the first time slots, remains not received in the second time slots (dead case), the decoding will succeed if, in the remaining k time slots, the destination receives at least two user’s packets in cooperative mode.
An example of this case is illustrated in
So, for case 2 PEP is given by Equation (16):
With these two successful decoding outcomes, we obtain Equation (17):
where Pc is the probability to receive the packet in cooperative mode.
Though M + 1 unique equations always give M linear independent equations, which is enough to recover the M received packets, D can obtain the M linear independent equations from just M packets as shown in the following cases:
The probability Pd,2(k) can be calculated by analyzing the probability of the two scenarios that lead to successful decoding of all M nodes after stage 2, illustrated in
Before describing them, we note the following important fact; Let l ≤ M to be the number of combined equations received from l different nodes. We focus on the l × l subsystem containing these l combined equations, restricted only on the corresponding l nodes. This subsystem has full rank l if l%2 = 0, i.e., the even number of combined packets for subsystem of l has full rank received matrix, hence, its solvability.
If two or more nodes do not succeed in transmitting any equation to the destination node during both stages, the system can be given in Equation (20):
Replacing Equation (20) in Equation (14), the probability Pd,2 is obtained.
If D fails to receive at least M linearly independent equations from M users, a third
transmission stage is considered whereby novel information in the form of linear combinations not previously received at D is transmitted as proposed in Sections 2.3.1 to 2.3.4.
Then, probability Pd + 3 of successful decoding after three stages can be calculated similarly as in Equation (20), as D will declare the ability to decode all M packets when receiving rank M matrix. Probabilistic analysis for other schemes is possible but in some cases tedious. We leave the complete probabilistic analysis for our future work, and explore the performances of all the schemes, including the three stage transmission, using simulations in the following section.
The block diagram shows that the receiver tends to check the packets reception from the first stage transmission, and if not received, it tends to retrieve the packet by the helps of the combined packets received by the second cooperative stage.
If any packet neither received nor retrieved, is then asked to be retransmitted unlike the scenario where NC is not applied which is retransmitting the packet in the case when it is not received only.
This section presents the results and observations of our simulation experiments to determine how our proposed cooperative protocols based on NC reduce the probability that all N1+ N2+, ∙∙∙ + NM are not successfully decoded, Pe+ at D node ,with no extra transmitted packets compared to the benchmark protocol, where q, and p are the probability of packet loss in the channels between one user and another, and between the users and D respectively.
The benchmark protocol (
It is important to confirm that these results have been obtained by Matlab when applying the M rank indicator for full reception, i.e., to confirm whether the system managed to decode the information or ARQ is needed.
Combinations of 2-packets provide acceptable Pe improvement though their performance is considerably weaker than both the M − 1 deterministic and all received combined protocols. In addition, the deterministic degree 2 next neighbour deterministic protocol is as competitive as the closest neighbour protocol, but does not require header fields, this is justified by using the same erasure probabilities for all distances. The Pe behaviour of the M − 1 deterministic combination protocol for different number M of nodes is presented in
Moreover,
threshold behaviour of q is notable, where the performance at low values of p is significantly improved if q ≤ 0.3, and otherwise, deteriorate significantly.
In the final part of results, we focus on the deterministic three stages to give more details through the results as the theoretical analysis is tedious.
As noted in Sections 2.2.1, fully combined equations are used to solve the problem of one dead channel. The motivation for odd-even equations is that reception of these equations enables recovery of any two users that were unable to send data to the destination (two dead channels). However, the destination can make use of only one odd and even equation; the rest of possibly received equations of this type are useless. Note that the number of users that will send odd-even cooperative equation in the third stage depends on q.
This explains the PER results in
From the user viewpoint, the decision to send odd-even or fully combined equation during the third stage may be decided based on the previous channel state information. For smaller values of q, the strategies where a user randomly decides whether to send
odd-even or fully combined equation with appropriate optimal probabilistic decision that depends on q have a potential to further improve the overall PER performance.
Moreover,
When comparing three stages strategies, we notice that three stages deterministic out performs the three stages random combination clearly after the threshold p = 0.3, which showed in
Same observation is interestingly noticed at two stages, where our proposed deterministic out performs the two stages random combination just after p = 0.3.
Finally,
Based on above Figures, we can see clearly the gain obtained in Pe when applying NC compared with the Benchmark when NC is not applied, taking into consideration that our protocols use just the simple XOR combination which is simple and easy to be retrieved at D using XOR again in the same manner. Moreover, the different protocols give different performance, so, the proper protocol depends on the application it is aimed for.
Motivated by recent results from [
We designed simple practical protocols that apply the deterministic NC at M nodes to improve the system data rate and to reduce the traffic significantly, through combination among the M nodes and with D.
Applying NC in a cooperative manner allowed the system to recover all the data at the M nodes and D even in the case of one dead channel in the two stages, and two dead channels in the three stages transmission. Moreover, the ARQ improved significantly, in fact, the ARQ reduced from 10−1 to 10−4 for the whole system with better data rate and simplicity of decoding the data with Jordan Gaussian Elimination.
We derive analytical expressions for the probability that the destination does not recover all users’ packets, after one and two transmission stages adopting our proposed
cooperative protocols based on deterministic NC. Simulation results demonstrate a perfect match with the analytic results and also show the performance benefits of using deterministic compared with non deterministic protocols. Moreover, we show that deterministic combination is as competitive as the non deterministic but without the overhead of headers the advantage of using simple Gaussian Elimination decoding process. We also prove that it is sufficient for D to recover M + 1 unique packets from any three stages to completely recover all M users’ messages when using M − 1 protocol.
Our future work is to show the good benefit in term of data security when applying the proposed protocols, besides extending the system for more than one destination.
Moreover, applying the proposed protocol over the physical layer is under investigation and will be published soon with Partial Unit Memory Turbo Code (PUMTC) as the forward error correction tool, and to show what is the impact of the accumulative noise when combining the packets together in Amplify-and-Forward (AF) relay and with Decode-Re-encode-and-Forward (DF) relay with the channel capacity limits in both scenarios.
Finally, applying the proposed protocols over real applications is among our future plan as well, such as applying these protocols over mobile networks, and wireless sensor networks
Philadelphia University deserves my acknowledgements for the good atmosphere they maintain for their researchers and for the financial support for this research.
Moreover, I am always thankful for Dr. Lina Stankovic and Dr. Vladimir Stakovic from the University of Strathclyde, Glasgow, UK, for their support with the technical issues, beside their proof reading and technical modifications in my whole research work. They always add good values for my research work.
El-Hihi, M., Attar, H., Solyman, A.A.A. and Stankovic, L. (2016) Network Coding Cooperation Performance Analysis in Wireless Network over a Lossy Channel, M Users and a Destination Scenario. Communications and Network, 8, 257-280. http://dx.doi.org/10.4236/cn.2016.84023