Numerous applications in wireless sensor networks (WSNs) require collecting data without loss during transmission, long-term sensing, and long system lifetime. Achieving reliable data transfer and long system lifetime is difficult because, from one hand, the wireless transfer is error prone, and, on the other, sensor node (SN), as battery powered device, is energy limited. By using some power-aware techniques, such as duty-cycling and power-gating, it is possible to reduce the energy consumption at an acceptable level. The requirements for higher level of reliability during wireless data transfer have increased the use of error correcting codes (ECCs). Codes represent an effective means of providing protection against injection of single-/double-/multiple bit errors over noisy communication channel. The two basic mechanisms to recover erroneous packets in any network are Automatic Repeat Request (ARQ), and Forward Error Correction (FEC). As energy consumption is a major issue in concern in WSN, packet retransmission is not an option and FEC would be preferred over ARQ. In this paper, an efficient scheme, based on two-dimensional (rectangular) block ECC code, referred as Two Dimensional Single Error Correction and Double Error Detection (2D SEC-DED), has been developed. By using 2D SEC-DED encoding all single-bit and 99.9% of double−/multiple-bit errors, within transferred packets, are recovered. In this way, the number of retransmissions, when WSN operates in harsh environmental (bit error rate (BER), BER>10−4) is decreased, what means that not only energy saving but also extension of the transmit range (transmission distance between the transmitter and receiver), is achieved. As illustration, for indoor environment (the path loss exponent, also known as propagation constant or space loss factor, α=4) at the target BER of 5·10−4, the proposed encoding scheme is able to improve the transmission distance by about 18m or the received signal strength (RSSI) by about 8.5dBm compared to WSN without error correction (WSN which use Cycle Redundancy Check (CRC) encoding as error detection mechanism).
Read full abstract