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 AFp 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 , ZDL is the DL i.i.d. Gaussian noise of unit power, and A A F p ≥ 1 is the amplification factor.
CPNC Proposed DF (DFp) 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 AFP and DFP, 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 AFP and DFP respectively.
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 AFp and DFp 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
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 AFp 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 DFp 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 ith 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 ith 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 CT as shown by Equations (15) and (16) for the kth user for the CPNC AFp system, and Equations (17) and (18) for DFp, 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 AFp 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 DFp 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 AFb and DFb, 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 D1, D2, D3, and D4, 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 Dk.
We explain the BER and data rate trade-off by an example shows how we retrieve m ^ 3 4 at D1 and m ^ 3 1 at D4. In the default case, both X ′ 3 2 and X ′ 3 3 must be retrieved first in order to retrieve X ′ 3 4 at D1 and X ′ 3 1 at D4. This results in error aggregating and higher BER for both of m ^ 3 4 and m ^ 3 1 at D1 and D4 respectively. In order to improve BER for m ^ 3 4 at D1 and m ^ 3 1 at D4, an additional transmitted CMP is needed according to Equations (12) and (14) for AFp or (13) and (15) for DFp e.g., C T 3 ( 1 , 4 ) = A A F p ( Y 3 1 + Y 3 4 ) for AFp or C T 3 ( 1 , 4 ) = A D F p ( X ^ 3 1 ⊕ X ^ 3 4 ) for DFp. Accordingly, we retrieve m ^ 3 1 at D4 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 D1, and at D4. 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 [
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 [
In
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 AFb, 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
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 DFb.
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 AFb or DFb 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