Practical error correction for resource-constrained wireless networks: unlocking the full power of the CRC

Bit errors are common in wireless networks, and techniques for overcoming them traditionally consist of expensive retransmission (e.g. Automatic Repeat reQuest (ARQ)) or expensive Forward Error Correction (FEC), both of which are undesirable in resource-constrained wireless networks such as wireless sensor networks (WSNs). In this paper, we present TVA (Transmit-Verify-Acknowledge), a protocol that can correct errors without adding additional redundancy to data packets. Instead, TVA corrects errors using the redundancy inherent in Cyclic Redundancy Checks (CRCs). The ubiquity of CRCs has the advantage of allowing TVA to be both backwards-compatible and backwards-efficient with link-layer protocols such as IEEE 802.15.4. We present a novel method of CRC error correction, which is compact and computationally efficient, and is designed to correct the most common error patterns observed in WSNs. We demonstrate that TVA provides reliability effectively equivalent to that of ARQ. We perform trace-driven simulations using data from sensor network deployments in different environments and analyze TVA's performance at different message lengths. To demonstrate the practicality of TVA, we implement it in TinyOS, and perform experiments on MicaZ motes to evaluate TVA in the presence of 802.11 interference. We find that TVA improves over ARQ and FEC-based protocols, using 31% less redundant communication and 30% less additional time to recover errored packets compared to ARQ.

[1]  Jens Mache,et al.  Investigating CRC Polynomials that Correct Burst Errors , 2009, ICWN.

[2]  T. Moon Error Correction Coding: Mathematical Methods and Algorithms , 2005 .

[3]  Sang-Min Choi,et al.  Implementation of Energy Efficient LDPC Code for Wireless Sensor Node , 2011, FGIT-FGCN.

[4]  Khurram Shahzad,et al.  CRAWDAD dataset niit/bit_errors (v.2008-07-08) , 2008 .

[5]  Norbert Wehn,et al.  Error correction in single-hop wireless sensor networks - A case study , 2009, 2009 Design, Automation & Test in Europe Conference & Exhibition.

[6]  Travis Mandel,et al.  Selected CRC Polynomials Can Correct Errors and Thus Reduce Retransmission , 2009 .

[7]  Hari Balakrishnan,et al.  PPR: partial packet recovery for wireless networks , 2007, SIGCOMM '07.

[8]  E. Gilbert Capacity of a burst-noise channel , 1960 .

[9]  Philip Koopman,et al.  Cyclic redundancy code (CRC) polynomial selection for embedded networks , 2004, International Conference on Dependable Systems and Networks, 2004.

[10]  Jaein Jeong,et al.  Forward Error Correction in Sensor Networks , 2003 .

[11]  Andreas Terzis,et al.  Surviving wi-fi interference in low power ZigBee networks , 2010, SenSys '10.

[12]  Mandeep Kaur,et al.  Study of Forward Error Correction using Reed—Solomon Codes , 2010 .

[13]  Seungjoon Lee,et al.  Maranello: Practical Partial Packet Recovery for 802.11 , 2010, NSDI.

[14]  Shu Lin,et al.  Automatic-repeat-request error-control schemes , 1984, IEEE Communications Magazine.

[15]  Peter Steenkiste,et al.  A trace-based evaluation of adaptive error correction for a wireless local area network , 1999, Mob. Networks Appl..

[16]  Wonyong Sung,et al.  Efficient Software-Based Encoding and Decoding of BCH Codes , 2009, IEEE Transactions on Computers.

[17]  Francesco Gringoli,et al.  Bologna: block-based 802.11 transmission recovery , 2010, S3 '10.