Turbo codes for multi-hop wireless sensor networks with decode-and-forward mechanism
© Abughalieh et al.; licensee Springer. 2014
Received: 24 May 2013
Accepted: 12 November 2014
Published: 29 November 2014
Wireless channels are prone to many impairments, such as noise and fading. Weak channels between the nodes in the wireless sensor network (WSN) can cause reception of erroneous packets. Retransmission mechanisms are mainly used to tackle the problem of erroneous reception in WSN communication protocols. Weak channels can cause high number of retransmissions in order to deliver a packet correctly, which will consume high energy of both the transmitting and the receiving nodes. Error correcting codes (ECCs) can be used to reduce number of retransmissions, but most ECCs have complex decoding algorithms, which leads to high processing energy consumption at the receiving nodes in the WSN. In this paper, we present a low power consumption decode-and-forward approach for the multi-hop WSNs; a serial concatenation convolutional codes (SCCC) encoder is implemented at the source node while the complex iterative decoding algorithm is shifted to the sink (base station). The intermediate nodes run a Viterbi decoding algorithm to decode only the inner code of the SCCC encoder. We investigate the effect of changing constraint length of both the inner and the outer codes and the effect of changing encoding block size. We show that most packets can be decoded at the base station at low signal-to-noise ratio (SNR) channels with the penalty of small energy loss in decoding the packet at the nodes in the network.
Different WSN applications require different network design criteria, i.e., for field monitoring applications, the network size, expandability, lifetime, and energy scavenging are among the most important design criteria. While in body area networks (BANs), the nodes have strict transmission power limits, and channels between the nodes are prone to high noise and shadowing, and network reliability and delay are the most important design criteria in such networks. In other real-time applications, such as in camera-surveillance wireless sensor networks, the nodes have high transmission data rate and network throughput is the bottleneck in the design of such networks.
This paper targets WSN applications with noisy channels or high data rates. In such applications, retransmitting failed packets without applying forward error correction techniques can lead to high energy losses and delay. This paper studies different error correction techniques for WSNs, taking into account both communication and processing energy consumption at the nodes and error correction capability of each technique. It also presents the new design of forward error correction technique that builds on the serial concatenation convolutional codes with decode-and-forward mechanism at the intermediate nodes between the source node and the base station in the WSN.
Due to the limited battery or scavenged energy in the nodes of the WSN, minimizing power consumption at the nodes is essential for efficient and sustainable network operation. The energy of the nodes in the WSNs is utilized by three main components of the node: the sensors, the transceiver, and the processor. The transceiver is known to have the highest consumption. Many previous works suggested protocols for medium access control (MAC), network topology, and routing to minimize the consumption of the transceiver [1–4]. The MAC protocols control sleep and wake periods of the transceivers to minimize energy consumption and schedules transmissions and receptions in the network to reduce packet collision possibility. Routing protocols defines routing paths from the source nodes through the other nodes to the base station. Routing paths are optimized to maximize data compression and network throughput  or network lifetime  or minimizing power consumption in the network . Different routing and MAC protocols [8, 9] are presented in the literature to tackle different WSN problems, but most of these works neglect the noisy nature of the wireless channels. This paper studies the communication between the nodes over noisy channels and possible implementations of error correction techniques at the physical layer level. MAC and routing problems are considered to be tackled at MAC and network layers, and they are out of the scope of this paper.
Transmission over the wireless channel is prone to noise, fading and shadowing, which leads to the reception of erroneous packets. Automatic repeat request (ARQ) is currently used to tackle the problem of erroneous transmission in WSNs by retransmitting the erroneous packets. One retransmission of a packet doubles the power consumption at both the transmitter and the receiver. The undesirable scenario is to have successively failed retransmissions when the nodes are communicating over weak channels.
To reduce packet error rate caused by the noisy channels, error correcting codes (ECCs) are commonly used. The use of ECCs not only reduces the power consumption caused by the retransmissions of erroneous packets but also leads to reduced delivery time of the packets to the base station. The deployment of ECCs comes with an increase in the processor power consumption at the sensor nodes caused by encoding and decoding processes. However, the deployment of ECC techniques reduces the power consumption at the transceiver, caused by the retransmissions of the packets, but this reduction comes at the cost of transmitting redundant parity bits which together with the data in the packets are used in the decoding process to correct errors. The need for powerful ECC is crucial in some applications when retransmissions are expensive in latency or energy. Strong ECCs provide high error correction performance at low channel quality but have more complex decoders than simpler ECCs. If the power consumption caused by the transmission of the encoder’s redundancy bits together with the power consumption of the encoding and decoding processes outweigh the power saving due to the reduced retransmissions, then the ECC technique is not efficient.
This paper presents the following:
Performance and energy consumption analysis of multi-hop wireless sensor network running state-of-the-art error control technique (ARQ), communicating over weak channels.
Analysis of encoding and decoding processing power requirement and energy consumption at the nodes in the multi-hop wireless sensor network, when implementing conventional error control coding algorithms (Bose, Chaudhuri, and Hocquenghem (BCH), Reed-Solomon and convolutional codes).
The performance improvement and the reduced energy consumption at the wireless nodes in the network when implementing the first error control code design in this paper. This design consists of implementing parallel or serial concatenation turbo code, with coding rate , at the source node and turbo decoding algorithm at the base station.
The second error control code design for multi-hop wireless network that updates the first design in this paper with partial decoding algorithm running at the sensor nodes and the compromise between performance-processing energy of the designed ECC.
This paper is organized as follows: the literature review is presented in Section 2. Section 3 discusses the wireless channel model used in the paper. The error correcting codes and their processing energy consumption are discussed in Section 4. The proposed design is analyzed in Section 5 and evaluated in Section 6. Section 7 concludes the paper.
2 Related work
Error correcting codes for wireless sensor networks are proposed in the literature but focus primarily on conventional ECCs such as BCH and Reed-Solomon and convolutional codes [10–12]. A hybrid scheme combining energy-efficient ECC techniques and ARQ is studied in . In , convolutional codes are analyzed for power consumption in a slow Rayleigh fading channel. Results show that the energy required for encoding data is negligible. However, performing Viterbi decoding on an Intel StrongARM SA-1110 Microprocessor is energy-intensive since the average energy consumption grows exponentially with the constraint length of the code, independent of the code rate. In , a comparison was made between different error correction codes on field-programmable gate array (FPGA) and ASIC in terms of complexity, power consumption, and correction capability. The study demonstrates special features of the convolutional codes compared to the BCH and Reed-Solomon codes, that is,
Increasing the constraint length of the convolutional code reduces the probability of errors at the receiver, without increasing the coding rate.
The power consumption at the convolutional encoder is almost lower that all encoders in BCH and Reed-Solomon at same coding gain and almost insensitive to changes in constraint length.
Pellenz et al.  used the above features of the convolutional code to select the appropriate constraint length of the convolutional encoder for each link in WSNs according to the link quality estimates. Short constraint lengths are assigned to high quality channels while long constraint lengths are assigned to weak channels. In , advanced error correction codes using turbo codes are tested for single-hop WSNs.
Turbo codes have a superior performance over the conventional error control codes, which inspired Zhong et al.  to suggest using a power efficient single-hop sensor network instead of multi-hop sensor network by deploying turbo codes to extend the communication range. The high power consumption of the turbo decoder prevents the authors in  and  from implementing turbo codes on multi-hopWSNs.
In , a relay is used to help the transmitting nodes that communicate with the base station. The relay performs a column-base linear block encoding on the received row-base linear block-encoded packets sent by the nodes. The relay sends parity bits to the base station which performs turbo decoding using the received packets from the nodes together with the parity bits from the relay. Youssef and Graell i Amat  also studied the communication between multiple sources and the base station, with the help of one relay; the relay decodes the convolutionally encoded data from all sources then mixes and encodes them, then sends the output to the base station. Both  and  consider, in their network model, that a base station is always in the communication range of the transmitting node, which is not always true in WSNs. The sensor nodes in the WSN have limited transmission range, due to the limitation in energy sources. Only near nodes to the base station are able to communicate with it in one hop.
In this paper, we investigate the use of the serial concatenated convolutional codes (SCCC) in multi-hop WSNs with turbo decoding at the base station and partial decoding at the routing sensor nodes.
3 Channel model
where λ is the wavelength. The value of γ depends on the propagation environment; for propagation that approximately follows a free-space model, γ is set to 2. The value of γ for more complex environments can be obtained via a minimum mean-square error (MMSE) fit to empirical measurements. For an office building (same floor), γ can range between 1.6 and 3.5. γ<2 is caused by the wave guide constructed by the corridors. For a home environment, γ is found to be 3. In our analysis, we set γ to 3.
where m is the length of the data bits in the packet.
4 Error correction codes and their processing power
In this section, we study the processing power consumption of different error correcting algorithms, This section presents empirical analysis of energy consumption caused by transmitting redundant bits in the coded data packets. The processing and the transmission energy consumption are used to calculate the extra energy consumption of the serial concatenation convolutional encoder at the source node and energy consumption of the decoding operation running at the intermediate nodes.
The standard error control strategy employed in WSNs is the ARQ protocol. In such a protocol, the sensor nodes have only error detection capability to identify the correct packets. After the reception of the packet, the receiving node sends an acknowledgment packet to the transmitter if the node failed to receive the packet. The transmitting node retransmits the acknowledged packets. However, when the channel condition stays poor for a long period, a large number of retransmissions may be required to deliver the packet correctly, which significantly increases the energy consumption of the network.
Error correcting codes can reduce the number of retransmissions, but they introduce redundancy in the data packet according to the coding rate. The redundancy in the data allows the receiver to receive the packet correctly, even with error bits in the packet. Error correcting codes can provide a better bit error rate (BER) performance of the communication for the same SNR compared to an ARQ, and can provide the same BER at a lower SNR. This difference in the SNR required to achieve a certain BER for a particular coding and decoding algorithm compared to the uncoded case is called coding gain. Typically, there is a tradeoff between coding gain and decoder complexity. Very long codes provide a higher gain but require complex decoders with high power consumption.
As stated before, several types of error correcting codes are studied in the literature for WSNs, including Reed-Solomon codes [10, 12], and BCH codes  as block codes. The terminology (n,k,t) of the block code indicates the codeword length n, dataword length k, and the error correction capability as t bits per codeword. Convolutional codes are also suggested for WSNs [10, 15]; the terminology (n,k,K) of the convolutional codes indicates the rate of the code as k/n; so for each k data bits the encoder outputs n bits. K is the constraint length of the convolutional encode. The number of memory elements used in the convolutional encoder is K-1. A convolutional encoder typically consisting of a shift register of length K-1 and generates codes that mix input bit with memory values using an XOR operation to generate the output sequence. Convolutional codes are decoded on a trellis using either Viterbi decoding, MAP decoding, or sequential decoding.
BCH codes are appropriate codes for WSNs in terms of power consumption of the encoding and the decoding algorithms, but BCH codes have a low error correction capability.
Reed-Solomon codes and convolutional codes have higher error correction capability but with higher power consumption, especially at the decoders. High complex decoding algorithms are not suitable for sensor nodes with limited energy source, memory size, and processing power.
Both encoding and decoding power consumption and the error correction capability of the block codes increase with the code size. The encoding power consumption of convolutional codes is constant for different constraint lengths while the error correction capability and decoder complexity rise exponentially with increasing constraint length.
Comparison between repetition codes at different coding rates
Energy [μ J]
As a consequence of the high overhead for transmitting a packet, e.g., transceiver calibrations, preamble, and packet header, the energy consumption for sending one packet using the repetition code does not even double the energy consumption for a packet transmission in the uncoded case. As we can see from Table 1, transmitting a packet with repetition code at coding rate consumes less than 2.3 times the energy consumption of the uncoded transmission.
Error correction codes with iterative decoding algorithms, such as turbo decoding with component MAP decoders for each component code, and the sum-product algorithm (SPA) for low-density parity-check codes (LDPCs) have not been suggested before for WSNs with multi-hop communication due to the high complexity of the decoding algorithms.
In this paper, we analyze a scheme of deploying error correcting codes for WSNs by using serial concatenation convolutional codes (SCCC) for WSNs with intuitive turbo decoding, so that the encoding process takes place at the source node and the decoding process at the base station with partial decode-and-forward operations at the routing nodes.
From , we can summarize the main rules for designing the SCCC as follows:
For moderate to high SNR and large interleaver memory size N, increasing the interleaver length yields a gain in performance.
To increase the interleaver gain, the free distance of the outer encoder should be high, which is often achieved by non-recursive convolutional coding.
The use of a recursive convolutional inner encoder always yields an interleaver gain.
Primitive feedback polynomial in the inner code maximizes the interleaver gain.
To improve the performance of the SCCC at low SNR, the feedback polynomial of the inner encoder should have a factor of (1+X), which means that it cannot be primitive, and thus this contradicts with the previous design note. The choice between a primitive or non-primitive feedback polynomial is a trade-off between performance at low and high SNRs, respectively.
5 Proposed design
Wireless sensor nodes have limited processing capability, so error correcting codes are not generally adopted into WSN standards. The empirical results of  depict that the decoder complexity of all error correcting codes have linear relation with correction capability. Shifting the decoder to the base station can solve the problem, but a high coding gain of the code is required to correct the accumulated errors in the communication over multi-hops.
The decoder is placed at the base station, where enough processing power and energy are available, and it consists of two aposteriori probability (APP) decoders connected serially and separated by a de-interleaver. A feedback from the outer decoder is attached to the inner decoder through an interleaver.
The maximum number of iterations at the decoder is 12. However, the decoder takes advantage of the CRC check field at the end of each packet to check the correctness of the packet and stop the iterative decoding process.
Two scenarios are considered for the multi-hop WSN’s design:
The intermediate nodes are not decoding the packet.
A Viterbi decoding algorithm is running at the intermediate nodes to decode only the inner code at each hop to reduce accumulated errors from multi-hop transmissions. After decoding the data with the Viterbi algorithm, the node encodes the output of the Viterbi decoder using the same inner code and transmits the coded data to the next hop.
The source node can configure the SCCC encoder to cope with the quality of the channel between the nodes in the WSN. By increasing the interleaver memory, the performance can be improved but at the cost of increased latency at the source node. If the WSN application is delay sensitive or the memory at the node is small, the source node can increase the free distance of the outer code by increasing the constraint length K and using longer generating codes. Increasing the free distance of the outer code will increase the interleaver gain for intermediate and high SNRs .
6.1 Processing power consumption estimate of the design
We estimate the power consumption of the SCCC encoder used at the source node and the power consumption of the Viterbi decoder algorithm used at the routing nodes, using the measurements presented in , where Balakrishnan et al. used ASIC implementation of convolutional encoders and Viterbi decoders for estimating their power consumption. In this paper, we consider the designed encoders and decoders to be implemented in nodes’ hardware. The results in , shown in Figure 2, are used in our calculations, because they were measured from ASIC designs, which reflects the real consumption of the hardware circuits. The figure shows that the convolutional encoders with different constraint lengths have approximately the same power consumption of 20 nW/bit, while the Viterbi decoders have exponentially increasing power consumption with the increment of the constraintlength.
Viterbi decoder power consumption on ASIC design
K (constraint length)
Power consumption on ASIC (nW)
6.2 Transmission energy consumption
where L is the length of the packet, R is the coding rate, k is the overhead energy consumption of transmission and reception operations of one packet.
6.3 Network energy consumption with ARQ technique
6.4 BER and power consumption of WSN using SCCC with decode-and-forward at routing nodes
Code polynomials for the outer encoder
G o 1
G o 2
Code polynomials for the inner encoder
Feedback polynomial state
G i 1
(3,[ 705],[ 076],[ 77])
G i 2
(3,[ 504],[ 057],[ 55])
Non-primitive and (1+X)factor in feedback polynomial
The additional consumption in the network caused by deploying an SCCC encoder and the Viterbi algorithm is divided into the additional processing consumption and the additional transceiver consumption.
The error control processing power consumption in the network consists of the SCCC encoder consumption at the source node and the Viterbi decoder with the convolutional encoder consumption at the routing nodes. The additional processing consumption in the whole network is as follows:(10)
where Pproc is the total processing power consumption, Pconv is the power consumption of the convolutional encoder, and Pvit is the power consumption of the Viterbi decoder. From (6) and Figure 2, we can calculate linear relation between the processing energy consumption at the nodes and the number of hops as shown in Figure 14.
6.5 BER and power consumption of the WSN with SCCC without decoding at the intermediate nodes
In this paper, we considered the problem of delivering collected data from the sensor nodes to the base station on a multi-hop wireless network with noisy channels in an energy and time-efficient way. Error correcting codes are proposed to replace the retransmission mechanism widely deployed in wireless sensor networks in order to tackle the problem of high energy consumption caused by the retransmissions of erroneous packets. Due to the latency and energy consumption of the most error-correcting codes, serial concatenation convolutional codes are suggested for WSNs with their powerful turbo decoding algorithm running at the base station. The intermediate nodes can run the Viterbi algorithm to decode the inner coded data from the source node and encode it again. The Viterbi algorithm running at the intermediate nodes, together with the turbo decoder at the base station, can correct most packets at low SNR. In the WSN with five hops and SCCC encoding with symbol size of 1,024 bits, the turbo decoder decoded all the packets when the SNR is more than 2.5 dB at all the considered channels between the nodes. After adding the Viterbi decoder algorithm, which decodes the inner encoder with constraint length of 3, to the intermediate nodes, the turbo decoder decoded all the packets when the SNR is more than 1 dB for considered all the channels between the nodes. The Viterbi algorithm together with the convolutional inner encoder consumes 80 nW/bit in processing the packet when the constraint length of the inner encoder is 3. The SCCC encoder consumes 40 nW/bit in the encoding process. The redundancy in the coded data increases the transmission energy consumption of a packet by 25%. To improve the performance of the SCCC code, the constraint length of the inner encoder and the Viterbi decoder can be increased. This improvement comes at the cost of extra processing energy consumption at the intermediate nodes.
a The data rate in WSNs communication is relatively low with BPSK or QPSK modulation, and this leads to a slow fading channel model.
b The MICAz is a 2.4 GHz Mote module designed by Moog Crossbow (Milpitas, CA, USA) and it uses ZigBee communication standards .
Part of the work presented in this article was supported by the FWO (Fonds Wetenschappelijk Onderzoek), project G.0219.09N.
- Halkes G, Langendoen K: Crankshaft: an energy-efficient MAC-protocol for dense wireless sensor networks. Wireless Sensor Networks: 4th European Conference, EWSN 2007, Delft, The Netherlands, January 2007 228-244.View ArticleGoogle Scholar
- Anastasi G, Conti M, Di Francesco M, Passarella A: Energy conservation in wireless sensor networks: a survey. Ad Hoc Netw 2009, 7(3):537-568. doi:10.1016/j.adhoc.2008.06.003 10.1016/j.adhoc.2008.06.003View ArticleGoogle Scholar
- Heinzelman WR, Chandrakasan A, Balakrishnan H: Energy-efficient communication protocol for wireless microsensor networks. Proceedings of the 33rd Annual Hawaii International Conference on System Sciences, vol. 00 (IEEE Comput. Soc, 2000). doi:10.1109/HICSS.2000.926982. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=926982
- Ceken C: An energy efficient and delay sensitive centralized MAC protocol for wireless sensor networks. Comput. Stand. Interfaces 2008, 30(1–2):20-31. doi:10.1016/j.csi.2007.06.001View ArticleGoogle Scholar
- Cristescu R, Beferull-Lozano B, Vetterli M, Wattenhofer R: Network correlated data gathering with explicit communication: NP-completeness and algorithms. IEEE/ACM Trans. Netw 2006, 14(1):41-54. doi:10.1109/TNET.2005.863711View ArticleGoogle Scholar
- Abughalieh N, Le Borgne Y-A, Steenhaut K, Nowe A: Lifetime optimization for wireless sensor networks with correlated data gathering. In Proceedings of the 8th International Symposium on Modeling and Optimization in Mobile, Ad Hoc and Wireless Networks (WiOpt). Avignon-France; 2010:266-272. http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5518801Google Scholar
- Sahoo BPS, Rath S, Puthal D: Article: Energy efficient protocols for wireless sensor networks: a survey and approach. Int. J. Comput. App. Foundation of Computer Science, New York 2012, 44(18):43-48.Google Scholar
- Akkaya K, Younis M: A survey on routing protocols for wireless sensor networks. Ad Hoc Netw 2005, 3: 325-349. 10.1016/j.adhoc.2003.09.010View ArticleGoogle Scholar
- Kredo II K, Mohapatra P: Medium access control in wireless sensor networks. Comput. Netw 2007, 51(4):961-994. doi:10.1016/j.comnet.2006.06.012 10.1016/j.comnet.2006.06.012View ArticleMATHGoogle Scholar
- Balakrishnan G, Yang M, Jiang Y, Kim Y: Performance analysis of error control codes for wireless sensor networks. Information Technology, 2007. Fourth International Conference On 2007, 876-879. doi:10.1109/ITNG.2007.149Google Scholar
- Jeong J, Ee CT: Forward error correction in sensor networks. International Workshop on Wireless Sensor Networks (WWSN), 2007 2007.Google Scholar
- Soude H, Agueh M, Mehat J: Towards an optimal Reed Solomon codes selection for sensor networks. In Proceedings of the 6th ACM Symposium on Performance Evaluation of Wireless Ad Hoc, Sensor, and Ubiquitous Networks - PE-WASUN ’09. ACM Press, New York, USA; 2009. doi:10.1145/1641876.1641912. http://portal.acm.org/citation.cfm?doid=1641876.1641912Google Scholar
- Jin Y, Chang J, Le D: A high energy efficiency link layer adaptive error control mechanism for wireless sensor networks. In 2010 International Conference on Computational Intelligence and Software Engineering. IEEE; 2010:1-4. doi:10.1109/CISE.2010.5676934. http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=567693423Google Scholar
- Shih E, Cho S-h, Ickes N, Min R, Sinha A, Wang A, Chandrakasan A: Physical layer driven protocol and algorithm design for energy-efficient wireless sensor networks. MobiCom ’01 2001, 272-287. doi:10.1145/381677.381703View ArticleGoogle Scholar
- Pellenz ME, Souza RD, Fonseca MSP: Error control coding in wireless sensor networks. Telecommun. Syst 2009, 44(1–2):61-68. doi:10.1007/s11235-009-9222-5Google Scholar
- Schmidt D, Berning M, Wehn N: Error correction in single-hop wireless sensor networks - a case study. In Design, Automation, and Test in Europe Conference and Exhibition. Nice; 2009:1296-1301. doi:1530-1591Google Scholar
- Zhong LC, Rabaey JM, Wolisz A: Does proper coding make single hop wireless sensor networks reality: the power consumption perspective. IEEE Wireless Commun. Netw. Conf. 2005, 664-669. doi:10.1109/WCNC.2005.1424587Google Scholar
- Pyndiah RM, Guilloud F, Amis K: Multiple source cooperative coding using turbo product codes with a noisy relay. Turbo Codes and Iterative Information Processing (ISTC), 2010 6th International Symposium On 2010, 98-102. doi:10.1109/ISTC.2010.5613814View ArticleGoogle Scholar
- Youssef R, Graell I, Amat A: Distributed serially concatenated codes for multi-source cooperative relay networks. Wireless Commun. IEEE Trans 2011, 10(1):253-263. doi:10.1109/TWC.2010.102810.100422View ArticleGoogle Scholar
- Rappaport T: Wireless Communications: Principles and Practice. Prentice Hall PTR, New Jersey; 2001.Google Scholar
- Goldsmith A: Wireless Communication. Cambridge University Press, New York; 2005.View ArticleGoogle Scholar
- Benedetto S, Divsalar D, Montorsi G, Pollara F: Serial concatenation of interleaved codes: Performance analysis, design, and iterative decoding. IEEE Trans. Inform. Theory 1998, 44: 909-926. 10.1109/18.669119MathSciNetView ArticleMATHGoogle Scholar
- Benedetto S, Montorsi G: Design of parallel concatenated convolutional codes. IEEE Trans. Commun 1996, 44(5):591-600. doi:10.1109/26.494303 10.1109/26.494303View ArticleMATHGoogle Scholar
- Crossbow Inc: MICAz Wireless Measurement System. 2004.http://www.xbow.com . Accessed in November 2011Google Scholar
This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License(http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.