_{1}

^{*}

The Base Station (BS) or access point is the building block of wireless networks, so, we propose exploiting it together with the Network Coding (NC) principle. NC suffers from the complexity of the decoding processes,
*i.e.*, complicated Jordan Gaussian Elimination (JGE) processes. So, this paper proposes a deterministic NC algorithm to reduce the number of sequential network decoding steps, and hence minimizing the complexity of JGE process resulting to better time delay and processing time. We propose an algorithm that combines higher number of the transmitted packets resulting to better data-rate but worse Bet Error Rate (BER). However, using such strong Forward error correction channel code, which is Partial Unit Memory Turbo Code (PUMTC) results to minimize the losses in the BER to a very acceptable lever, in fact, in Decode-and-Forward (DF) BS, the BER can be regarded as minimum. Simulation results, for both Amplify-and-Forward (AF) and DF BS schemes using PUMTC based on (8, 4, 3, 8) component codes, confirm that using PUMTC mitigates the problem of noise aggregation resulting from applying NC in the proposed schemes.

Most of the popular communication setups such as, IEEE 802.15 and IEEE 802.16, use broadcasting over classical relay channel, that allows communication in both directions simultaneously over a wireless radio channel, exploiting the broadcasting natural, such as data exchange, mobile phone (voice or video) conversation, file sharing, or 4G system applications.

Network coding (NC) [

In [

In [

In [

In [

Two-way wireless communication was shown in [

In our previous work [

In this paper, we build upon our work in [

A generic framework for two practical schemes, AF and DF based on CPNC is proposed for data exchange scenario over multiple sources. Our proposed CPNC scheme is compared to the Multi-Source Network Coding (MSNC) based on NC of bits independently per unit time setups introduced in [

The rest of the paper is organized as in the following order: Section II explains why applying CPNC system tents to reduce the sequential network decoding steps used in MSNC [

Let us assume that one BS is used to connect N users for exchanging data propose; where the user i generates a binary sequences message m t i at the time t, which is uniformly distributed, and then encodes it to send Coded Message Packet (CMP) X t i over uplink (UL) wireless orthogonal channels to the BS, where i = 1 , 2 , ⋯ , N . Finally, the BS broadcasts the CMPs as Y t i over the Dow Link orthogonal channels (DL), to the N users, taking into consideration that all N users can not overhear other signals.

Accordingly, the received CMPs by the BS are given in Equation (1):

Y t i = X t i + Z U L (1)

where i = 1 , 2 , ⋯ , N , Z U L is the UL i.i.d. Gaussian noise of unit power.

The BS must broadcast a minimum of N − 1 consecutively combined CMPs to ensure full connectivity for the N users [

So, when L packets are combined in one packet, the BS must broadcast a minimum of N − 1 consecutively combined packets, with N ( L − 1 ) separate broadcasted packets to ensure full connectivity for the N users as shown in

In the following, we describe both proposed AF and DF for CPNC systems.

CPNC Proposed AF_{p} System: The BS combines L packet/symbol from the received CMPs Y t i to obtain Y ( t 1 , t 2 , ⋯ t L ) i , before applying the consecutive sums, and then amplifies these messages before broadcasting as Y ¯ A F p ( t 1 , t 1 ⋯ t L ) ( i , i + 1 ) , which received by N users as Y ^ A F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) .

So, the combined packet of L packets for user i Y ( t 1 , t 2 , ⋯ t L ) i is given in Equation (2) as:

Y ( t 1 , t 2 , ⋯ t L ) i = Y t 1 i + Y t 2 i + ⋯ Y t L i (2)

where i = 1 , 2 , ⋯ , N .

Thereafter, the BS performs the consecutive summation on the N combined packets before broadcasting the N − 1 Y ¯ A F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) , and then the same for the packet of the combined L + 1 till 2L packets, and then 2L + l till 3L packets, and so on.

Accordingly, the BS’ broadcasted packet for use i and user i + 1 is given in equation (3)

Y ¯ A F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) = A A F p ( Y ( t 1 , t 2 , ⋯ t L ) i + Y ( t 1 , t 2 , ⋯ t L ) ( i + 1 ) ) (3)

where i = 1 , 2 , ⋯ N − 1 .

Equations (2) and (3) are applied to find the next broadcasted packet for the combined packets L + 1 till 2L Y ¯ A F p ( t L + 1 , t L + 2 ⋯ t 2 L ) ( i , i + 1 ) , and the same for Y ¯ A F p ( t 2 L + 1 , t 2 L + 2 ⋯ t 3 L ) ( i , i + 1 ) , and so on.

The received MPs by the N users for the combined packets Y ^ A F p ( t 1 , t 1 ⋯ t L ) ( i , i + 1 ) are given in Equation (4)

Y ^ A F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) = Y ¯ A F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) + Z D L ( i , i + 1 ) (4)

where i = 1 , 2 , ⋯ N − 1 , Z_{DL} is the DL i.i.d. Gaussian noise of unit power, and A A F p ≥ 1 is the amplification factor.

CPNC Proposed DF (DF_{p}) NC System: The BS decodes every received CMP Y t i separately, re-encodes, modulates to X ^ t i , combines the L packets, consecutively sums, to Y D F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) and amplifies before broadcasting Y ¯ D F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) , which received by the N users as Y ^ D F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) according to Equations (5) and (6):

Y ¯ D F p ( t 1 , t 12 ⋯ t L ) ( i , i + 1 ) = A D F p ( X ⌢ ( t 1 , t 2 , ⋯ t L ) i ⊕ X ⌢ ( t 1 , t 2 , ⋯ t L ) i + 1 ) (5)

Y ^ D F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) = Y ¯ D F p ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) + Z D L ( i , i + 1 ) (6)

where A D F p ≥ 1 is the amplification factor.

Finally, for both AF_{P} and DF_{P}, L − 1 separate packets ( Y ¯ t 1 i , Y ¯ t 2 i , ⋯ Y ¯ t ( L − 1 ) i ) are broadcasted with the combined packet/symbol shown in Equations (3) and (5) to be used in the sequential network decoding steps for AF_{P} and DF_{P} respectively.

_{b}) or Decode-and-forward Benchmark (DF_{b}) that need no any sequential network decoding steps to retrieve. So, we can say that using CPNC gives us the ability to combine AF_{P} system with AF_{b} and DF_{P} systems with DF_{b}, which results to improve the BER significantly, in fact, it even outperforms AF_{P} and DF_{P} for Two- Source NC as shown in the results.

Each of the N users “hears” the N − 1 received combined packets Y ^ ( t 1 , t 1 ⋯ t L ) ( i , i + 1 ) broadcasted by the BS in the AF_{p} and DF_{p} CPNC systems as given by Equations (4) and (6), respectively. In addition, each user receives the N ( L − 1 ) separate broadcasted packets Y ¯ t 1 i , Y ¯ t 2 i , ⋯ t ( L − 1 ) i as shown in _{b} or DF_{b}, so, they need not any retrieving processes, i.e. each user needs to retrieve X ′ L i , X ′ 2 L i , X ′ 3 L i , ⋯ packets from the received Y ^ ( t 1 , t 2 ⋯ t L ) ( i , i + 1 ) , Y ^ ( t ( L + 1 ) , t ( L + 2 ) , ⋯ t 2 L ) ( i , i + 1 ) , Y ^ ( t ( 2 L + 1 ) , t ( 2 L + 2 ) , ⋯ t 3 L ) ( i , i + 1 ) ⋯ , according to Equations (4) and (6) for AF_{P} and DF_{P} respectively, with the help of Y ^ 1 i , Y ^ 2 i , ⋯ Y ^ ( L − 1 ) i .

The retrieval process uses the fact that X t i , X t 2 i , ⋯ , X t L i and the amplification factor are known by user i and reverse engineers the network encoding process by “subtracting” the known message packet from the received noisy L combined packet/symbol. This can be expressed as:

X ^ ′ L j = Y ^ ( 1 , 2 , ⋯ L ) i , i + 1 − A p ( ( X 1 i + X 2 i + ⋯ X L i ) + ( Y ^ 1 i + 1 + Y ^ 2 i + 1 + ⋯ Y ^ ( L − 1 ) i + 1 ) ) (7)

where j = i + 1.

Accordingly, the next retrieved packet is giving bellow:

X ^ ′ L j + 1 = Y ^ ( 1 , 2 , ⋯ L ) i + 1 , i + 2 − A p ( ( Y ^ 1 i + 1 + Y ^ 2 i + 1 + ⋯ X ′ L i + 1 ) + ( Y ^ 1 i + 2 + Y ^ 2 i + 2 + ⋯ Y ^ ( L − 1 ) i + 2 ) ) (8)

Taking into consideration that X ′ L i + 1 is retrieved in the previous step, and then used to find Y ^ ( t 1 , t 2 , ⋯ t L ) i in the second part in Equation (7).

For the AF_{p} CPNC system, this boils down to:

X ′ ^ L j = A A F p ( X ( 1 , 2 , ⋯ , L ) i + 1 + Z U L 1 i + 1 + Z U L 2 i + 1 + ⋯ Z U L L i + 1 + X ( 1 , 2 , ⋯ , L ) i + Z U L 1 i + Z U L 2 i + ⋯ Z U L L i ) + Z D L ( 1 , 2 , ⋯ , L ) i , i + 1 − A A F p ( ( X 1 i + X 2 i + ⋯ X L i ) + ( X 1 i + 1 + X 2 i + 1 + ⋯ X L − 1 i + 1 ) + ( Z U L 1 i + 1 + Z U L 2 i + 1 + ⋯ Z U L L − 1 i + 1 ) + ( Z D L 1 i + 1 + Z D L 2 i + 1 + ⋯ + Z D L L − 1 i + 1 ) ) (9)

And with assuming the same AWGN this gives:

X ′ ^ L j = A A F p ( X L i + 1 + Z U L i + 1 + Z D L i + 1 ) + Z D L i , i + 1 (10)

where j = i + 1 and the retrieved message includes both UL and DL noises.

In the case of the DF_{p} CPNC system, the retrieval process is far less noisy as shown below:

X ′ L j = A D F p ( ( X ^ 1 i + 1 ⊕ X ^ 2 i + 1 ⊕ ⋯ X ^ L i + 1 ) ⊕ ( X ^ 1 i ⊕ X ^ 2 i ⊕ ⋯ X ^ L i ) ) + Z D L ( 1 , 2 , ⋯ , L ) i , i + 1 − A A D p ( ( X 1 i ⊕ X 2 i ⊕ ⋯ X L i ) + ( X ^ 1 i + 1 ⊕ X ^ 2 i + 1 ⊕ ⋯ X ^ L − 1 i + 1 ) + ( Z D L 1 i + 1 + Z D L 2 i + 1 + ⋯ + Z D L L − 1 i + 1 ) ) (11)

And with assuming the same AWGN this gives:

X ′ L j = A D F p ( X ^ L i + 1 + Z D L i + 1 ) + Z D L i , i + 1 (12)

where j = i + 1.

So, we need to retrieve the X ′ L i instead of the entire L packets, which means, that the number of the sequential network decoding steps decreased by N ( L − 1 ) folders for the N users. These steps are split with left and right branches, as in MSNC transmission per time unit, but in CPNC, we seek to retrieve just X ′ L i and then use it to retrieve the next L combined packet/symbol packet as shown in Equation (7).

At the receiver D k , where k = 1 , 2 , ⋯ , N , there are two directions to retrieve the (N − 1) X ′ L i , starting with the known CMP X ′ 1 i , X ′ 2 i , ⋯ X ′ L i and then determining the estimated received messages from the right branch (estimated CMs from users labeled with indices greater than k), and the estimated received messages from the left branch. So, Equation (7) is applied starting from X 1 k , X 2 k , ⋯ X L k and then stepping right and left until X ′ L N and X ′ L 1 is esti-

mated respectively. Note that estimating X ′ L i for the left branch can be carried out in parallel as right branch estimations.

The above sequential network decoding steps at user k can be summarized by Equations (13) and (14), for the right and left branches respectively.

X ′ ^ L k + i = Y ^ ( 1 , 2 , ⋯ L ) ( k + i − 1 , k + i ) − A p ( ( Y ^ 1 k + i − 1 + Y ^ 2 k + i − 1 + ⋯ X ^ ′ L k + i − 1 ) + ( Y ^ 1 k + i + Y ^ 2 k + i + ⋯ Y ^ ( L − 1 ) k + i ) ) (13)

where X ′ L k + i is the right i^{th} requested estimated received CMP for the L combined packet/symbol Packet for user i, and i = 1 , 2 , ⋯ , ( N − k ) .

X ′ L k − i = Y ^ ( 1 , 2 , ⋯ L ) ( k − i + 1 , k − i ) − A p ( ( Y ^ 1 k − i + 1 + Y ^ 2 k − i + 1 + ⋯ X ^ ′ L k − i + 1 ) + ( Y ^ 1 k − i + Y ^ 2 k − i + ⋯ Y ^ ( L − 1 ) k − i ) ) (14)

where X ′ L k − i is the left i^{th} requested estimated received CMP from the left side for the L combined packet/symbol Packet for user i, and i = 1 , 2 , ⋯ , ( k − 1 ) .

As in MSNC based on NC of bits independently per unit time setups, it is possible to reduce the number of the sequential network decoding steps by additionally transmitting CMPs C_{T} as shown by Equations (15) and (16) for the k^{th}^{ }user for the CPNC AF_{p} system, and Equations (17) and (18) for DF_{p}, where Equations (15) and (17) are used to reduce the number of sequential network decoding steps needed in (13) and Equations (16) and (18) are used to reduce the number of sequential network decoding steps in (13) to retrieve the estimated CMPs at the left receiving side starting from X ′ L k − 1 to X ′ L 1 . So, for AF_{p} system:

C T L ( k + i + 1 ) = A A F p ( Y L k + Y L k + i + 1 ) (15)

where i = 1 , 2 , ⋯ , ( N − k − 1 ) , and

C T L ( k − i − 1 ) = A A F p ( Y L K + Y L k − i − 1 ) (16)

where i = 1 , 2 , ⋯ , ( N − k − 2 ) .

And for DF_{p} system:

C T L ( k + i + 1 ) = A D F p ( X ^ L k ⊕ X ^ L k + i + 1 ) (17)

where i = 1 , 2 , ⋯ , ( N − k − 1 ) , and

C T L ( k − i − 1 ) = A D F p ( X ^ L k ⊕ X ^ L k − i − 1 ) (18)

where i = 1 , 2 , ⋯ , ( N − k − 2 ) .

Equations (15), (16), (17) and (18) show that, the number of possible additional transmitted CMPs is reduced by L − 1 folders as the total number of sequential network decoding steps reduced by L − 1 at first place. Accordingly, CPNC reduces the number of sequential network decoding steps and possible additional transmitted CMPs by the same rate (L − 1). In addition, it allows N(L − 1) direct transmission using AF_{b} and DF_{b}, which significantly improves the BER as shown in the results.

In the following we describe the concept of CPNC by means of an example where N = 4, and L = 3.

Let us assume four users/nodes D^{1}, D^{2}, D^{3}, and D^{4}, exchange data, through a BS. Every user requests information from all other three users. We also assume no user can overhear any other users. Thus all communication is performed via a BS, which broadcasts its information to all users.

Three DL transmitted combined CMPs are needed to connect four users via CPNC, together with N(L − 1) separate transmitted CMPs (4 × 2 = 8), the total transmitted CMPs is equal to eleven (8 separate transmitted CMPs + 3 combined packet/symbol), while twelve (LN = 4 × 3 = 12) DL transmitted CMPs are needed in broadcast mode without NC. In other words, CPNC reduces the number of DL transmissions by one. In general, the savings in DL transmissions will be 1/LN, which is the same as in MSNC based on NC of bits independently per unit time setups when L = 1, (no combined packets case).

Moreover, we notice that all Y ¯ 1 1 , Y ¯ 2 1 , Y ¯ 1 2 , Y ¯ 2 2 , Y ¯ 1 3 , Y ¯ 2 3 , Y ¯ 1 4 , and Y ¯ 2 4 are transmitted and retrieved directly by receiver sides, which means that NC is applied for just the L combined packet/symbol part.

So, in the receiving sides, all what is needed to be retrieved are X ′ 3 1 , X ′ 6 1 , X ′ 9 1 ⋯ , X ′ 3 2 , X ′ 6 2 , X ′ 9 2 ⋯ , X ′ 3 3 , X ′ 6 3 , X ′ 9 3 ⋯ and X ′ 3 4 , X ′ 6 4 , X ′ 9 4 ⋯ for users 1, 2, 3, and 4. So, instead of 9 sequential network decoding steps in MSNC, we need just 3 CPNC (taking into consideration that X ′ 3 k , X ′ 6 k , X ′ 9 k ⋯ and known at the receiver D^{k}.

We explain the BER and data rate trade-off by an example shows how we retrieve m ^ 3 4 at D^{1} and m ^ 3 1 at D^{4}. In the default case, both X ′ 3 2 and X ′ 3 3 must be retrieved first in order to retrieve X ′ 3 4 at D^{1} and X ′ 3 1 at D^{4}. This results in error aggregating and higher BER for both of m ^ 3 4 and m ^ 3 1 at D^{1} and D^{4} respectively. In order to improve BER for m ^ 3 4 at D^{1} and m ^ 3 1 at D^{4}, an additional transmitted CMP is needed according to Equations (12) and (14) for AF_{p} or (13) and (15) for DF_{p} e.g., C T 3 ( 1 , 4 ) = A A F p ( Y 3 1 + Y 3 4 ) for AF_{p} or C T 3 ( 1 , 4 ) = A D F p ( X ^ 3 1 ⊕ X ^ 3 4 ) for DF_{p}. Accordingly, we retrieve m ^ 3 1 at D^{4} and m ^ 3 4 in only one step: X ′ ^ 3 4 = Y ^ ( 1 , 2 , 3 ) 1 , 4 − A p ( ( X 1 1 + X 2 1 + X 3 1 ) + ( Y ^ 1 4 + Y ^ 2 4 + Y ^ 3 4 ) ) at D^{1}, and at D^{4}. X ′ ^ 3 1 = Y ^ ( 1 , 2 , 3 ) 1 , 4 − A p ( ( X 1 4 + X 2 4 + X 3 4 ) + ( Y ^ 1 1 + Y ^ 2 1 + Y ^ 3 1 ) )

In our previous work [^{1} and D^{4} when sending additional transmitted CMs at the cost of increased bandwidth.

Transmission is simulated over AWGN channel, using binary phase shift keying (BPSK) modulation. For rate 1/3 PUMTCs based on (8, 4, 3, 8) PUM component codes, a pseudo-random interleaver of size 1000 bits is used. These PUM code designs and turbo code set-ups are described in [^{8} bits and at least 100 frame errors are guaranteed to be collected for statistical significance, amplification factor Ap = 4 and for 4 decoding iterations for all results.

In ^{−5} MSNC [

proved significantly, in fact, it even outperforms Two-Source NC by 2 dB when L = 49, and that is justified by the fewer sequential network decoding steps needed to retrieve the all LN packets.

Moreover, there are N(L − 1) packets have been transmitted directly as AF_{b}, this direct transmission justifies the other part of the results observed in this fig, so, when L increased from 9 to 49, there is around 1 dB gain at BER of 10^{−5}.

Finally, we can notice clearly in _{b} as direct transmission needs no sequential network decoding steps.

The exact observations can be seen with DF system in

So, as DF is much less noisy system, increasing L from 9 to 49 improved the BER by 0.2 dB of 10^{−5}, moreover,

Finally, it is again approved that the more we increase L, the nearer the performance improves towards DF_{b}.

The reason why increasing L is better in term of BER than increasing the number of combined packets is, because the L packets are combined before the transmission, which means with error free, which means that there is no any

accumulative error, while when increasing the combined packets, there is error accumulative as a result from the UL channel, though this error is minimum as a result from using the channel coding (PUMTC).

In this paper, we propose a network coding scheme based on high-performance turbo codes for a network where many sources try to communicate with one another via a relay or base station. Our proposed CPNC technique reduces the number of DL transmission from LN transmitted CMPs to LN-1. In addition, our simulation results show that the more combined packet/symbol we use, the better the performance is obtained till the performance almost matches the classical Benchmark AF_{b} or DF_{b} as NC is not applied. The future work will be directed toward using Finite State Markov Chain Rayleigh Fading Channel to represent the channels between the users, which makes the results more practical as proved in [

The author of this paper would like to thank Philadelphia University for their support mainly by providing a suitable atmosphere for research and covering the financial cost of the publication.

Attar, H. (2017) Data Combination over Physical Layer Using Network Coding with PUM Turbo Codes. Journal of Computer and Communications, 5, 32-44. https://doi.org/10.4236/jcc.2017.56002