Skip to main content

Joint network-channel code optimization for wireless sensor networks

Abstract

Optimization of sensor network architecture in order to improve the overall system performance at the end processing station is an important challenge. A lot of architectures have been designed to optimize the bit error rate. Conventionally, this optimization is done by inserting relays between sensors and destination. These relays insert redundant information by mixing the incoming streams from sensor nodes, hence creating parity check information which is very useful to help decode the transmit information from sensors. The goal is to combine network and channel coding to match network on graph to code on graph, and this is called adaptive network coded cooperation (ANCC). Compared to the previous works in the field, we propose a new transmit protocol based on the use of beamforming technique which is very efficient in terms of throughput and is fully compatible with the physical network coding (PNC) principles. Furthermore, we propose a distributed coding scheme where the relay, the destination, and the sensors are all equipped with repeat accumulate (RA) channel code structures. The relay has a special RA structure to suit the need of the PNC multiple access channel.

1 Introduction

Different protocols and architectures have been designed to improve the performance of sensor networks. The use of network coding has appeared recently as a promising way to help find an answer to this problem [15]. In network coding, some intermediate nodes mix the messages they received and forward this obtained mixture to several destinations simultaneously [68]. When compared to time sharing-based schemes where destinations are served sequentially, network coding improves considerably the throughput efficiency [9]. Among the different network coding techniques for wireless sensor networks, one promising approach is the use of joint network-channel coding (JNCC). The basic principle consists in the use of relays which decode incoming streams and combine them to obtain additional redundant information. The redundant information from the relays is combined at the destination node with the original information from the sensors to obtain an equivalent powerful block code such as a LDPC one. Hence, the goal of this kind of architecture is to couple networks on graphs with codes on graph. This was first proposed in [10] and further developed in [11, 12] with some optimization of the coding scheme at the relay place. The transmission protocol can be summarized in the following way. In a first time slot, each source node broadcasts its information to both relays and destination. In a second time slot, the relays then decode the received packets and combine them by XOR operation to obtain parity check bits which are transmitted to the destination. The second task clearly corresponds to the network coding step and contains some challenging aspects. The main ones are of course the choice of the source incoming messages in the XOR operations and the degree of each XOR operation (the number of incoming streams which are combined). Finally, at the destination node, a graph code such as low-density parity check (LDPC) or low-density generator matrix (LDGM) codes is built and decoded using belief propagation (BP) algorithm.

Compared to the existing literature and particularly to [12], we propose, in this paper, new attractive features to further improve the performance of suck kind of systems. The first point concerns the improvement of the broadcast transmit phase. In [12], the authors propose to use orthogonal channels to make the transmissions from sources to relays error free. This is quite penalizing in terms of bandwidth or throughput efficiency depending on the used multiple access technique (FDMA or TDMA). In this paper, supposing that the relay and the destination are equipped with K antennas, we propose a new transmission protocol which enables 2.K uplink and downlink transmissions to be accomplished within (K + 2) time slots. This outstanding performance is obtained because we found a way to handle the co-channel interference at the relay place. The idea behind this comes from the concept of interference alignment [13] and consists in making the two messages delivered to and from the same sensor fall in the same direction at the relay. We propose precoding and beamforming techniques [1418] to ensure that the signals delivered to and from the same sensor can be paired together. Another merit of our proposed system is that we consider two-way message exchanges between the destination and the sensors. We consider explicitly the case where the destination node sends back information controls toward the sensor nodes and this is not studied in [12].

Furthermore, since our proposed scheme is fully compatible with the physical network coding (PNC) principles, we propose a distributed coding scheme where channel coding is applied at the destination and at the sensors level and network coding is applied at the relay to encode the incoming mixed streams from the destination and the sensors. We show that our proposed system enables to transmit simultaneously the K encoded messages from the sensors and the control encoded messages from the destination. Thanks to the precoding matrices, these messages are combined at the relay in such a way that we have K streams to be network encoded at the relay place. We suppose that the end nodes (destination and sensors) are all equipped with repeat accumulate (RA) codes, and we show how to design the channel decoder at the relay which channel-decodes the superimposed channel-coded packets to obtain the soft version of the arithmetic summation of the source packets and transforms the superimposed source packets to the network coded packets. These processing tasks at the relay have been detailed in [19, 20] and the authors have named them: channel-decoding-network-coding process (CNC). Similar construction rules can be found in [21, 22]. The decoder at the relay uses a special repeat accumulate (RA) code structure to accommodate the obtained particular incoming streams with precoding.

The rest of the paper is organized as follows. In the second part (Section 2), the system model and the new proposed transmit protocol are described. In the third part (Section 3), the network coding scheme is detailed and we put the emphasis on the design of the decoder at the relay. In the fourth part (Section 4), we present the results of the simulation. Finally, concluding remarks are given in Section 5.

The following notations are used: (.)T, (.)H, and E . denote transpose, conjugate transpose, and expectation of (.), respectively.

2 System model

We consider a real wireless sensor network with K sensors, each sensor is equipped with one transmit/receive antenna and with a channel encoder/decoder. In this paper, we will use RA code structure for the coding of incoming streams from the sensors. No direct link between sensor and destination exists. The relay is equipped with Q multiple antennas and with K network-channel decoder/encoders. The destination node is equipped with N ≥ K multiple antennas too and contains K channel encoders/decoders. We will suppose classically that N ≥ Q ≥ K, i.e., the destination node has the best capability while some relays are more capable than the elementary sensors. The cooperation phases in such a system are decomposed into two main ones.

  • The first one is the broadcast phase where sensors and destination exchange their information with the help of the relay. We suppose that there is no direct available link between the sensors and the destination source.

  • The second one is the network coding phase at the relay. After decoding, the relay combines the incoming streams and retransmits them to the destination and sensor nodes. The way the relay operates the network coding tasks is described in the next section.

In this part, we put the emphasis on the transmit protocols. In [12], the authors assume that the sensors transmit their data in orthogonal channels (typically sequentially in the case of TDMA). This results in bad throughput efficiency. We propose a new transmit protocol which enables 2. K uplink and downlink transmissions to be accomplished within (K + 2) time slots (Figure 1).

Figure 1
figure 1

System architecture.

2.1 Transmit protocols

During the first time slot, the destination node transmits the precoded version of the control messages to the individual intended sensors, Pm, where m = [m1, m2 …, m K ]T and P is a N × K precoding matrix at the destination node. Since the transmission power at each antenna is equal to 1, the precoding matrix should satisfy: trace(PPH) ≤ N. Simultaneously, each of the K sensors sends its own message s i i {1, …, K} to the destination. At the end of the first time slot, the signal at the relay can be written as:

y R = H DR Pm + j = 1 K H jR s j + n R ,
(1)

where H DR is the Q × N channel matrix between the destination node and the relay, H jR is the Q × 1 channel vector between the relay and the j th sensor and n R denotes the Q × 1 additive white Gaussian noise vector.

During the second time slot, the relay decodes the received signal to obtain soft information about the quantities: m j s j , using a particular decoding algorithm. Denoting u ^ j the estimated value for m j s j at the end of the decoding process, u ^ j is then encoded by a standard RA coder. Vectors t ^ = t ^ 1 , t ^ 2 , , t ^ K T , which represent the encoded words corresponding to u ^ 1 , u ^ 2 , , u ^ K , are then broadcast, after being BPSK modulated, to the sensor nodes and to the destination node in different time slots. Denoting t ˜ the modulated vector corresponding to t ˜ , the vectors t ˜ are transmitted during the next K time slot to the sensors using precoders W(j). Supposing that we intend to transmit the j th element of vector t ˜ to sensor j, we can use W(j) defined by:

In other words, matrix W(j) is built with the superposition of an all zero matrix of size K × K except for the j th term on the diagonal which is equal to 1 and an all zero matrix of size (Q-K) × K. Physically, this corresponds to the case where the components of t ˜ are transmitted sequentially over the first K transmit antennas at the relay. We obtain the received signal at the j th sensor as:

y j = H R j W j t ˜ + n j ,
(2)

where H Rj is the 1 × Q channel vector between the j th sensor and the relay. Supposing that the uplink and downlink channels are reciprocal, we have H R j = H jR H . Of course, during this phase, the destination does not take into account the received data.

After this phase, i.e., after the first (K + 2) time slots, vectors t ˜ are transmitted to the destination source within the next time slot. To do this, we add Q-K zeros at the end of t ˜ to obtain a new transmit vector of size Q × 1, named t ˜ . The relay uses a precoding vector F of size Q × Q and the destination source weights the received signal with a vector G of size Q × N. Physically, this means that the K data information are transmitted by selecting K antennas among a set of Q antennas. We obtain the received signal of size Q × 1 at the destination node as:

y D = G H RD F t ˜ + G n D .
(3)

One possible choice for G and F consists in: F = H RD H H RD - 1 and = H RD H . Once again, we suppose that: H RD = H DR H .

2.2 Precoding matrix design at the destination source for the first time slot

Apart from the already cited constraint power, we have to be sure that each sensor should not receive information for other sensor. The proposed design is based on the concept of interference alignment [23] and consists in grouping the messages from and to the same sensor, i.e., m i and s i together. This is facilitated by defining the precoding matrix P at the destination as follows:

P = α H DR H H DR H DR H - 1 H R ,
(4)

where H R  = [H1R, H2R, …, H KR ] and α is a factor which ensures that the transmission power at the destination node is normalized. By using such a precoding matrix P, the relay can group the messages from and to the same user as follows:

y R = H R α m + s + n R ,
(5)

where s = [s1, …, s K ]T. In this case, similar to physical layer network coding (PNC) [4], the relay directly broadcasts the mixture of m and s. Concerning the total transmission power at the destination with the use of precoding matrix P, we have

E trace P P H = α . E trace H DR H H DR H DR H - 1 H R H DR H H DR H DR H - 1 H R H = α . E trace H DR H DR H - 1 H R H R H .
(6)

Using the condition E trace P P H N and choosing = N / E trace H DR H DR H - 1 H R H R H , we ensure, provided that E trace H DR H DR H - 1 H R H R H is bounded, that the transmission power at the base station is normalized. The proof that E trace H DR H DR H - 1 H R H R H is bounded can be found in [15] or [24].

3 Network coding at the relay

The coding principle is directly related to the received signal at the relay (see Equation (5)), we have

y R = H R α m + s + n R .

We suppose now that the transmitted messages from the elementary sensors and from the destination are both encoded with a RA code structure [19, 20]. The structure of the RA code is drawn on Figure 2.

Figure 2
figure 2

Structure of the RA code.

As mentioned in [19, 20], there are two classical solutions to address the problem of cooperative network coding at the relay (CNC). The first one consists in decoding m i and s i from y R separately. The relay can first decode m i while regarding the other message s i as interference, and can then decode s i after removing the decoded information m i from the decoded signal. Combining the soft outputs of the decoder Pmi,si(a, b) = Pr(m i  = a, s i  = b/y R )Pmi,si(a, b) = Pr(m i  = a, s i  = b/y R ), we can generate: m i s i . The second solution consists in estimating P X s , j X D , j a = Pr X s , j X D , j = a / y R from the received vector y R with for example the method in [25]. By decoding the estimate of Xs,jXD,j i.e.: P X s , j X D , j with a soft input decoder, the relay can obtain: m i s i .

3.1 The proposed decoding scheme

It is possible to design a decoding scheme with higher performances compared to the two above-mentioned solutions. The new proposed solution named Arithmetic-sum Channel decoding Network Coding process (ACNC) has two advantages: (1) the relay directly decodes the received packet y R to make full use of dependency among channel code symbols and (2) it does not decode explicitly m i and s i but only aims at obtaining the probability mass function of m i  + s i which can be easily transformed to: m i s i . We can find similar ideas in [21, 22]. Similar to [19, 20], we then look at an equivalent decoding structure at the relay place. Adapting the idea of Arithmetic-sum Channel decoding Network Coding process ACNC design, we have, for each row j of y R , the decoder at relay which can be regarded as processing the superposition of the two simultaneously received signals from the destination α m j and the sensor s j to generate the superposition of the two inputs of the encoders at the sensor j and at the destination. In these conditions, the decoder at the relay for row j could conceptually be viewed as the decoder of a virtual encoder whose input S R, j and output X R, j are given by:

S R , j = m j + s j X R , j = α X D , j + X s , j .
(7)

The virtual coding scheme for ACNC at the relay is depicted on Figure 2. The virtual encoder has the same structure as the classical RA encoder except that the binary summation is now replaced by a general function f. This function f needs to satisfy:

x R , j k = f x R , j k - 1 , u R , j k = α x D , j k + x s , j k
(8)

when: sR,j[l] = m j [l] + s j [l]

where xD,j[k] is the k th coded bit of message m j from the destination, xs,j[k] is the k th coded bit of message from the sensor j, uR,j[k] is the k th interleaved symbol of node relay and sR,j[l] = uR,j[k] is the l th information bit of node relay, and the index l is determined by the interleaver. In our case, the interleavers at destination, relay, and sensor are the same. Based on Figure 2, the relations between xD,j[k], xs,j[k] and m j [l], s j [l] can be respectively expressed as:

x D , j k = x D , j k - 1 u D , j k = x D , j k - 1 m j l x s , j k = x s , j k - 1 u s , j k = x s , j k - 1 s j l .
(9)

Then, combining Equations (8) and (9), we can obtain the expression of the function f as:

x R , j k = f x R , j k - 1 , u R , j k = α x D , j k - 1 m j l + x s , j k - 1 s j l .
(10)

The possible values of xR,j[k] are, 0 , γ 1 = 1 , γ 2 = α , γ 3 = 1 + α , and γ 4 = 1 or α = γ 1 or γ 2 . In fact, we have the following rules:

x R , j k = 0 if x R , j k - 1 = γ 3 , m j + s j l = 2 γ 4 if x R , j k - 1 = γ 3 , m j + s j l = 1 γ 3 if x R , j k - 1 = γ 3 , m j + s j l = 0 γ 2 if x R , j k - 1 = γ 1 , m j + s j l = 2 γ 1 if x R , j k - 1 = γ 2 , m j + s j l = 2 0 or γ 3 if x R , j k - 1 = γ 4 , m j + s j l = 1 γ 1 if x R , j k - 1 = γ 1 , m j + s j l = 0 γ 2 if x R , j k - 1 = γ 2 , m j + s j l = 0 γ 3 if x R , j k - 1 = 0 , m j + s j l = 2 γ 4 if x R , j k - 1 = 0 , m j + s j l = 1 0 if x R , j k - 1 = 0 , m j + s j l = 0 .
(11)

For encoding, the Tanner graph is read from left to right. For decoding, the Tanner graph is read backward from right to left. The well-known principle is to exchange a posteriori probabilities between information and check nodes until the probabilities converge after several iterations and we could decode: m j [l] + s j [l].

3.2 Tanner graph and decoding algorithm

The RA code structure can be described with the well-known Tanner graph, which is the basis to use the belief propagation algorithm [26]. The tanner graph of the virtual encoder at the relay is drawn on Figure 3.

Figure 3
figure 3

The virtual encoder for ACNC.

For the decoding algorithm, we have the four following configurations of message updating steps (see Figure 4). The decoding algorithm proceeds as follows. We suppose, for example, that we use a MIMO ZF-based equalizer, this entails the multiplication of the received signal y R by the invert or the pseudo-invert matrix of H R . Hence, after the ZF equalization step at the relay, assuming a BPSK modulation scheme, the k th received symbol at the j th row of the received vector at the relay is written as:

y R , j k = α . 2 . x D , j k - 1 + 2 . x s , j k - 1 + n R ' = 2 . α . x D , j k + x s , j k - d m , j - 1 + n R ' .
(12)
Figure 4
figure 4

Tanner graph of the virtual RA code at the relay.

Another solution may consist in employing a list sphere decoder [27] to weight the coded symbol before entering the belief propagation decoding module. This affords to obtain better performances than using ZF equalization since it is well known that LSD, which approximates the ML solution, exhibits better performances compared to ZF equalization.

Concerning the decoding algorithm using BP, it proceeds as follows. Let P[h,t] denote the message passed between a check node and a variable node (information node or code node), the message is associated with the edge from node h to node t; one of h or t is a variable node and the other is a check node. As in [19, 20], we denote P k as the message from the k th evidence node to the k th code node. Hence, we have the following notations:

P[h, t] = (p0, p1, p2) is a vector, in which p i is the probability that the corresponding variable node (h or t) takes on the value i. In fact, we have

p 0 = Pr m j + s j l = 0 p 1 = Pr m j + s j l = 1 p 2 = Pr m j + s j l = 2 .
(13)

The messages for the variable nodes are initialized to (1/4, 1/2, 1/4).

Similarly, P k ' = p 0 ' , p 1 ' , p 2 ' , p 3 ' is a vector, in which p i is the probability that the k th coded symbol is i given the k th received symbol. We have here:

p 0 ' = Pr α . x D , j k + x s , j k = 0 y R , j k p 1 ' = Pr α . x D , j k + x s , j k = 1 y R , j k p 2 ' = Pr α . x D , j k + x s , j k = α y R , j k p 3 ' = Pr α . x D , j k + x s , j k = 1 + α y R , j k .
(14)

Initialization step: all the messages with the edges in Figure 4 are taken equal to (1/4, 1/4, 1/4, 1/4) except for the messages incident to the evidence nodes. These messages contain information on the received signal and the message from the evidence node k is computed from the received signal yR,j[k] as follows:

P k ' = p 0 ' , p 1 ' , p 2 ' , p 3 ' = 1 λ exp - y R , j k + 1 + α 2 2 . σ 2 , exp - y R , j k - 1 + α 2 2 . σ 2 exp - y R , j k + 1 - α 2 2 . σ 2 , exp - y R , j k - 1 - α 2 2 . σ 2 ,
(15)

λ is a normalizing factor given by:

λ = 2 . exp - y R , j 2 k / 2 . σ 2 exp - 1 + α 2 / 2 . σ 2 ch 2 1 + α y R , j k / 2 . σ 2 + exp - 1 - α 2 / 2 . σ 2 ch 2 1 - α y R , j k / 2 . σ 2 .
(16)

3.3 Message update rules

(a) The first update rule concerns the update equations for Output Messages going out of a Variable Node. This corresponds to the cases of Figure 5 a,c.

Figure 5
figure 5

Different kinds of message updating steps.

Figure 5a case: when the probability vectors of the two input messages, P ' = p 0 ' , p 1 ' , p 2 ' , p 3 ' and Q ' = q 0 ' , q 1 ' , q 2 ' , q 3 ' (associated with the edge from y to x and from c' to x) arrive at a code node of degree 3 (except the lowest code node), the probability that the code symbol is 0 is obtained as follows:

Pr x = 0 P , Q = Pr P , Q x = 0 . Pr x = 0 Pr P , Q = Pr P x = 0 . Pr Q x = 0 . Pr x = 0 Pr P , Q = Pr x = 0 P . Pr x = 0 Q . Pr P . Pr Q Pr P , Q . Pr x = 0 = 4 γ p 0 ' q 0 ' ,
(17)

where γ = Pr P . Pr Q Pr P , Q ; we assumed in Equation (17) that the two input messages are independent, given the value of the variable node, i.e., Pr(P, Q|x) = Pr(P|x), and we suppose that Pr(x = 0) = 1/4. In a similar way, we would obtain Pr x = 1 P , Q = 4 γ p 1 ' q 1 ' Pr x = d m , j P , Q = 4 γ p 2 ' q 2 ' , and Pr x = 1 + d m , j P , Q = 4 γ p 3 ' q 3 ' .

Hence, the output message at the variable node is

VAR P , Q = 4 γ p 0 ' q 0 ' , p 1 ' q 1 ' , p 2 ' q 2 ' , p 3 ' q 3 ' ,
(18)

With γ = 1 4 p 0 ' q 0 ' + p 1 ' q 1 ' + p 2 ' q 2 ' + p 3 ' q 3 ' Remark:

  • (1) The update equations for the scenario of Figure 5 c are similar except that the variable node is an information node rather than a code node, and the associated probabilities are related to the source symbol rather than the code symbol.

  • (2) If we consider the messages in log-likelihood (LLR) form, i.e., p k ' = 0 , log p 1 ' / p 0 ' , log p 2 ' / p 0 ' , log p 3 ' / p 0 ' , we find that Equation (17) is equivalent to the summation of all the incoming LLRs.

  • (3) For the lowest code node in Figure 4, the output message is always the same at the input message from the last evidence node, which remains constant throughout the iterations.

  1. (b)

    The second update rule concerns the update equations for Output Messages going out of a Check Node. This corresponds to the cases of Figure 5 b,d.

Figure 5b case: If we consider a check node below the topmost check node, the probability that the information node symbol is 0 given the two input messages P ' = p 0 ' , p 1 ' , p 2 ' , p 3 ' and Q ' = q 0 ' , q 1 ' , q 2 ' , q 3 ' (associated with the edge from x to c and the edge from x' to c, respectively) is equal to:

Pr ( x = 0 P , Q ) = Pr ( x = γ 3 , x ' = 2 P , Q ) + 1 2 Pr ( x = γ 4 , x ' = 1 P , Q ) + + Pr ( x = 0 , x ' = 0 P , Q ) = Pr ( x = γ 3 P ) . Pr ( x ' = 2 Q ) + 1 2 Pr ( x = γ 4 P ) . Pr ( x ' = 1 Q ) + + Pr ( x = 0 P ) . Pr ( x ' = 0 Q ) = Pr ( x = γ 3 P ) . Pr ( x ' = 2 Q ) + 1 2 Pr ( x = γ 1 or γ 2 P ) . Pr ( x ' = 1 Q ) + + Pr ( x = 0 P ) . Pr ( x ' = 0 Q ) = Pr ( x = γ 3 P ) . Pr ( x ' = 2 Q ) + 1 2 Pr ( x = γ 1 P ) . Pr ( x ' = 1 Q ) + + 1 2 Pr ( x = γ 2 P ) . Pr ( x ' = 1 Q ) + Pr ( x = 0 P ) . Pr ( x ' = 0 Q ) .
(19)

We eventually obtain

Pr ( x = 0 P , Q ) = p 3 ' q 2 ' + 1 2 p 1 ' q 1 ' + 1 2 p 2 ' q 1 ' + p 0 ' q 0 ' .
(20)

In the same way, we get

Pr ( x = 1 P , Q ) = Pr ( x = γ 1 , x ' = 0 P , Q ) + Pr ( x = γ 2 , x ' = 2 P , Q ) + + 1 2 Pr ( x = γ 3 , x ' = 1 P , Q ) + 1 2 Pr ( x = 0 , x ' = 1 P , Q ) = Pr ( x = γ 1 P ) . Pr ( x ' = 0 Q ) + Pr ( x = γ 2 P ) . Pr ( x ' = 2 Q ) + + 1 2 Pr ( x = γ 3 P ) . Pr ( x ' = 1 Q ) + 1 2 Pr ( x = 0 P ) . Pr ( x ' = 1 Q ) = p 1 ' q 0 ' + p 2 ' q 2 ' + 1 2 p 3 ' q 1 ' + 1 2 p 0 ' q 1 '
(21)
Pr ( x = α P , Q ) = Pr ( x = γ 1 , x ' = 2 P , Q ) + Pr ( x = γ 2 , x ' = 0 P , Q ) + + 1 2 Pr ( x = γ 3 , x ' = 1 P , Q ) + 1 2 Pr ( x = 0 , x ' = 1 P , Q ) = Pr ( x = γ 1 P ) . Pr ( x ' = 2 Q ) + Pr ( x = γ 2 P ) . Pr ( x ' = 0 Q ) + + 1 2 Pr ( x = γ 3 P ) . Pr ( x ' = 1 Q ) + 1 2 Pr ( x = 0 P ) . Pr ( x ' = 1 Q ) = p 1 ' q 2 ' + p 2 ' q 0 ' + 1 2 p 3 ' q 1 ' + 1 2 p 0 ' q 1 '
(22)
Pr ( x = 1 + α P , Q ) = Pr ( x = γ 3 , x ' = 0 P , Q ) + 1 2 Pr ( x = γ 4 , x ' = 1 P , Q ) + + Pr ( x = 0 , x ' = 2 P , Q ) = Pr ( x = γ 3 , x ' = 0 P , Q ) + 1 2 Pr ( x = γ 1 , x ' = 1 P , Q ) + + 1 2 Pr ( x = γ 2 , x ' = 1 P , Q ) + Pr ( x = 0 , x ' = 2 P , Q ) = p 3 ' q 0 ' + 1 2 p 1 ' q 1 ' + 1 2 p 2 ' q 1 ' + p 0 ' q 2 ' .
(23)

Figure 5d case: in this case, we have two messages coming from c R , j ' and c R , j ' ' corresponding to xR,j[k - 1] and xR,j[k] in Equations (10) and (11), and we deduce the different probabilities: P[h, t] = (p0, p1, p2).

p 0 = Pr ( m j + s j [ l ] = 0 P , Q ) = Pr ( x = γ 3 P ) . Pr ( x ' = γ 3 Q ) + Pr ( x = γ 2 P ) . Pr ( x ' = γ 2 Q ) + + Pr ( x = 1 P ) . Pr ( x ' = 1 Q ) + Pr ( x = 0 P ) . Pr ( x ' = 0 Q ) = p 0 ' q 0 ' + p 1 ' q 1 ' + p 2 ' q 2 ' + p 3 ' q 3 '
(24)
p 1 = Pr ( m j + s j [ l ] = 1 P , Q ) = Pr ( x = γ 4 P ) . Pr ( x ' = γ 3 Q ) + Pr ( x = 0 or γ 3 P ) . Pr ( x ' = γ 4 Q ) + + Pr ( x = γ 4 P ) . Pr ( x ' = 0 Q ) = Pr ( x = γ 1 or γ 2 P ) . Pr ( x ' = γ 3 Q ) + + Pr ( x = 0 or γ 3 P ) . Pr ( x ' = γ 1 or γ 2 Q ) + + Pr ( x = γ 1 or γ 2 P ) . Pr ( x ' = 0 Q ) = Pr ( x = γ 1 P ) . Pr ( x ' = γ 3 Q ) + Pr ( x = γ 2 P ) . Pr ( x ' = γ 3 Q ) + + Pr ( x = 0 P ) . Pr ( x ' = γ 1 Q ) + Pr ( x = γ 3 P ) . Pr ( x ' = γ 1 Q ) + + Pr ( x = 0 P ) . Pr ( x ' = γ 2 Q ) + Pr ( x = γ 3 P ) . Pr ( x ' = γ 2 Q ) + + Pr ( x = γ 1 P ) . Pr ( x ' = 0 Q ) + Pr ( x = γ 2 P ) . Pr ( x ' = 0 Q ) = p 1 ' q 3 ' + p 2 ' q 3 ' + p 0 ' q 1 ' + p 3 ' q 1 ' + p 0 ' q 2 ' + p 3 ' q 2 ' + p 1 ' q 0 ' + p 2 ' q 0 ' .
(25)

And, similarly, we obtain

p 2 = Pr ( m j + s j [ l ] = 2 P , Q ) = Pr ( x = 0 P ) . Pr ( x ' = γ 3 Q ) + Pr ( x = γ 2 P ) . Pr ( x ' = γ 1 Q ) + + Pr ( x = γ 1 P ) . Pr ( x ' = γ 2 Q ) + Pr ( x = γ 3 P ) . Pr ( x ' = 0 Q ) = p 0 ' q 3 ' + p 2 ' q 1 ' + p 1 ' q 2 ' + p 3 ' q 0 ' .
(26)

4 Simulation results

We reuse Equations (5) and (11), we have

y R = H R α m + s + n R y D = t ˜ + H RD H n D .

We are interested in evaluating the achievable data rate or ergodic capacity at the destination node. As we have supposed that there is no direct link between sensor nodes and destination nodes the upper bound for the achievable data rate at the destination node can be approximated by [28]:

C = 1 2 E [ min ( log 2 [ det I + ρ RD K H RD - 1 H RD - 1 H ] , log 2 [ det I + ρ SR K H R H R H ] ] .
(27)

Where the factor 0.5 denotes the half multiplexing loss due to relaying compared with a relay-free scenario. ρ SR denotes the signal-to-noise power ratio for the link between sensors and relay and ρ RD denotes the signal to noise power ratio for the link between relay and destination. In the following, supposing that the relay is located at the same distances from the sensor network and the destination, we will assume that: ρ SR  = ρ RD  = ρ

We consider a sensor network with respectively four, six, eight, and ten sensors, and we deal with the case of a BPSK modulation at both sensor and destination nodes. We set the repeat factor q to 3 and the interleave pattern is randomly selected for each packet. This entails a coding rate of 1/3. The simulated channel models are quasi static block fading channels, i.e., the channel parameters stay fixed for the duration of a transmitted block but vary from block to block. No power optimization is done, i.e., that means that transmit power at the destination source and at the sensor nodes is normalized to one. We compare the performances of two decoding schemes using a ZF equalizer or a sphere detector before BP decoding. We consider two size blocks for the RA encoder scheme: 2,000 and 6,000 bits. The performance results of the proposed network scheme are illustrated on Figures 6, 7, 8, and 9. The conclusions are nearly the same for each picture. Working with the highest block size, i.e., 6,000 bits together with a SISO (Soft In Soft Out) Sphere Decoder [27] enables to work close to the theoretical capacity of formula (27). For example, for a ten-sensor network, we are able to work within less than 1 dB from the achievable data rate at a Frame Error Rate (FER) of 10-2 (see Figure 9). The use of receiver architecture equipped a ZF equalizer yields to a degradation approximately equal to 0.6 0.7 dB, thus enabling to work within 1.7 dB from the ergodic capacity. The degradation is clearly more important when we use a small size RA block code. With a block size of 2,000 bits, the performances of a SD-based receiver are nearly 2 dB far away from the ergodic capacity at FER = 10-2 (see Figure 8). Concerning the receiver with a ZF equalizer, we are nearly 2.5 dB from the ergodic capacity (once again for the case FER = 10-2).

Figure 6
figure 6

The performance results of the proposed network scheme at outage capacity 4/3 bpcu.

Figure 7
figure 7

The performance results of the proposed network scheme at outage capacity 2 bpcu.

Figure 8
figure 8

The performance results of the proposed network scheme at outage capacity 8/3 bpcu.

Figure 9
figure 9

The performance results of the proposed network scheme at outage capacity 10/3 bpcu.

All of these results constitute an outstanding performance since we are able, in all the cases, to work close to the theoretical ergodic capacity of the system.

5 Conclusion

In this paper, we have proposed a physical network coding-based system to improve the throughput efficiency of a wireless sensor network. Thanks to powerful beamforming techniques, supposing that the relay and the destination are equipped with K antennas, we built a new transmission protocol which enables 2.K uplink and downlink transmissions to be accomplished within (K + 2) time slots. This outstanding performance is obtained because we found a way to handle the co-channel interference despite the poor capacities of elementary wireless sensors which have only one antenna.

Furthermore, since our proposed scheme is fully compatible with the physical network coding (PNC) principles, we propose a distributed coding scheme where channel coding is applied at the destination and at the sensors level and network coding is applied at the relay to encode the incoming mixed streams from the destination and the sensors. We show that our proposed system enables to transmit simultaneously the K encoded messages from the sensors and the control encoded messages from the destination. Simulation results demonstrate that our proposed distributed coding scheme enables to work close to the theoretical ergodic capacity of the system. Typically, considering different kinds of receiver architectures, we are always within less than 2 dB from the ergodic capacity of the equivalent system.

Authors' information

NA received the engineering degree from the Ecole Nationale Supérieure d'Ingénieurs de Limoges in September 2010. He is now a PhD student at the University of Limoges since October 2010. His research activities concern the cooperative communication in mobile ad hoc networks, especially for physical and MAC layer. He is also a temporary teacher at the University of Limoges; he participated in many international conferences.

VM received the BSc and MSc degrees from Sharif University of Technology, Tehran, Iran, respectively, in 1988 and 1991 and PhD degree from the University of Limoges, France in 1998. He has been working at the department of electronic and telecommunication of ENSIL/University of Limoges as an assistant professor since 2000 and as an associate professor since 2007. He received in 2008 and 2012 from the French ministry of research and higher education the award of scientific excellence. His main interest in research is the telecommunication systems including MIMO systems, coding, network coding, cooperative communications, sensor network, and smart grid. Since 1998, he has been scientific manager for more than ten research projects in the field of ICT (information and Communications Technology). He is the (co-)author of more than 100 publications in scientific journals and conferences and served as TPC members in several international conferences.

JPC received the engineering degree from the Ecole Nationale Supérieure des Télécommunications de Bretagne in 1990. He also received the Aggregation degree in Physics in 1993 and the HDR degree in 2002 from the University of Limoges. He became a IEEE senior member in 2007. He is now a full professor in signal processing at the Ecole Nationale d'Ingénieurs de Limoges (ENSIL) since 2006. His research activities concern signal processing algorithms for digital communications including cooperative networks, network coding, space-time coding, and joint optimization of physical and MAC layers of future communication systems. He is getting involved in several French and European research programs.

References

  1. Katti S, Rahul H, Hu W, Katabi D, Medard M, Crowcroft J: Xors in the air: practical wireless network coding. In Proc ACM SIGCOMM. Pisa; 2006:243-254.

    Google Scholar 

  2. Ding Z, Leung KK, Goeckel DL, Towsley D: On the study of network coding with diversity. IEEE Trans. Wireless Commun. 2009, 8: 1247-1259.

    Article  Google Scholar 

  3. Louie RHY, Li Y, Vucetic B: Practical physical layer network coding for two-way relay channels: performance analysis and comparison. IEEE Trans. Wireless Commun. 2010, 9: 764-777.

    Article  Google Scholar 

  4. Popowski P, Yomo H Proc. IEEE Int. Conf on Comm. (ICC). In Physical network coding in two-way wireless relay channels. Glasgow; 2007:707-711.

    Google Scholar 

  5. Fragouli C, Widmer J, Boudec JYL: A network coding approach to energy efficient broadcasting: from theory to practice, in Proc IEEE Conf Comput. Commun. (Infocom). Barcelona; 2006.

    Google Scholar 

  6. Chen Y, Kishore S, Li J: Wireless diversity through network coding. In Proc. IEEE Wireless Commun. Netw. Conf. (WCNC). Las Vegas, NV; 2006:1681-1686.

    Google Scholar 

  7. Asterjadhi A, Fasolo E, Rossi M, Widmer J, Zorzi M: Toward network coding-based protocols for data broadcasting in wireless ad hoc networks. IEEE Trans. Wireless Commun. 2010, 9: 662-672.

    Article  Google Scholar 

  8. Ding Z, Ratnarajah T, Leung KK: On the study of network coded at transmission protocol for wireless multiple access channels. IEEE Trans. Wireless Commun. 2009, 8: 118-123.

    Article  Google Scholar 

  9. Meng Y, Jing L, Blum RS Proc. IEEE Int. Conf on Comm. (ICC). In User cooperation through network coding. Glasgow; 2007:4064-4069.

    Google Scholar 

  10. Bao X, Li J Proc of Allerton Conference on Communication, Control and Computing. In Matching code-on-graph with network-on-graph: adaptive network coding for wireless relay channels. Urbana Champaign, IL; 2005.

    Google Scholar 

  11. Bao X, Li J: Adaptive network coded cooperation (ANCC) for wireless relay networks: matching code-on-graph with network-on-graph. IEEE Trans. Wireless Commun. 2008, 7: 574-583.

    Article  Google Scholar 

  12. Kun P, Yonghui L, Vucetic B Proc. 6th Int. Syp. On Turbo Codes and Iterative Inf. Proc. (ISTC). In Joint network-channel code design for real wireless relay networks. Brest; 2010:429-433.

    Google Scholar 

  13. Cadambe VR, Jafar SA: Interference alignment and the degrees of freedom for the k user interference channel. IEEE Trans. Inform. Theory. 2008, 54: 3425-3441.

    Article  MathSciNet  MATH  Google Scholar 

  14. Li J, Chen W: Joint power allocation and precoding for network coding-based cooperative multicast systems. IEEE Sig. Proc. Letters. 2008, 15: 817-820.

    Article  MATH  Google Scholar 

  15. Zhiguo D, Krikidis I, Thompson J, Leung KK: Physical layer network coding and precoding for the two-way relay channel in cellular systems. IEEE Trans. Sig. Proc. 2011, 59: 696-712.

    Article  Google Scholar 

  16. Havary-Nassab V, Shahbazpanahi S, Grami A, Luo ZQ: Distributed beamforming for relay networks based on second-order statistics of the channel state information. IEEE Trans. Sig. Proc. 2008, 56: 4306-4316.

    Article  MathSciNet  Google Scholar 

  17. Nguyen DHN Proc. IEEE Int. Conf on Comm. (ICC). In Distributed beamforming in relay-assisted multiuser communications. Dresde; 2009.

    Chapter  Google Scholar 

  18. Sun F, De Carvalho E, Popovski E, Thai CDT: Coordinated direct and relay transmission with linear non-regenerative relay beamforming. IEEE Sig. Proc. Letters. 2012, 19: 680-683.

    Article  Google Scholar 

  19. Zhang S, Liew SC: Joint design of physical-layer network coding and channel coding. doi:arXiv:0807.4770

  20. Zhang S, Liew SC: Channel coding and decoding in a relay system operated with physical-layer network coding. IEEE JSAC 2009, 27: 788-796.

    Google Scholar 

  21. Lang Y, Wübben D, Kammeyer KD International ITG Workshop on Smart Antennas (WSA 2010). In An improved physical layer network coding scheme for two-way relay systems. Bremen; 2010:107-114.

    Google Scholar 

  22. Wübben D, Lang Y IEEE Globecom. In Generalized sum-product algorithm for joint channel decoding and physical-layer network coding in two-way relay systems. Miami, FL; 2010.

    Chapter  Google Scholar 

  23. Gomadam K, Cadambe VR, Jafar SA Proc IEEE Global Telecommunications Conference Globecom. In Approaching the capacity of wireless networks through distributed interference alignment. New Orleans, LO; 2008.

    Chapter  Google Scholar 

  24. Horn RA, Johnson CR: Matrix analysis. New York: Cambridge University Press; 1985.

    Book  MATH  Google Scholar 

  25. Zhang S, Liew SC, Lu L Proc IEEE Global Telecommunications Conference Globecom. In Physical layer network coding schemes over finite an infinite fields. New Orleans, LO; 2008.

    Chapter  Google Scholar 

  26. Kschischang FR, Frey BJ, Loeliger HA: Factor graphs and the sum-product algorithm. IEEE Trans. Inform. Theory. 2001, 47: 498-519. 10.1109/18.910572

    Article  MathSciNet  MATH  Google Scholar 

  27. Kora AD, Saemi A, Cances JP, Meghdadi V: New list sphere decoding (LSD) and iterative synchronization algorithms for MIMO-OFDM detection with LDPC-FEC. IEEE Trans VehTechnol. 2008, 57: 3510-3524.

    Google Scholar 

  28. Fan Y, Thompson J: MIMO configurations for relay channels: theory and practice. IEEE Trans. Wireless Commun. 2007, 6: 1774-1786.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Pierre Cances.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ original submitted files for images

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License ( https://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Alaoui, N., Meghdadi, V. & Cances, JP. Joint network-channel code optimization for wireless sensor networks. J Wireless Com Network 2013, 267 (2013). https://doi.org/10.1186/1687-1499-2013-267

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1687-1499-2013-267

Keywords