Next Article in Journal
Smart Camera for Quality Inspection and Grading of Food Products
Previous Article in Journal
Semantic Segmentation Framework for Glomeruli Detection and Classification in Kidney Histological Sections
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Review

Opportunities and Challenges for Error Control Schemes for Wireless Sensor Networks: A Review

School of IT and Engineering (SITE), Melbourne Institute of Technology (MIT), 288 La Trobe Street, Melbourne, VIC 3000, Australia
*
Author to whom correspondence should be addressed.
Electronics 2020, 9(3), 504; https://doi.org/10.3390/electronics9030504
Submission received: 31 January 2020 / Revised: 10 March 2020 / Accepted: 13 March 2020 / Published: 19 March 2020
(This article belongs to the Section Networks)

Abstract

:
Error Correction Schemes (ECSs) significantly contribute to enhancing reliability and energy efficiency of Wireless Sensor Networks (WSNs). This review paper offers an overview of the different types of ECS used in communication systems and a synopsis of the standards for WSN. We also discuss channels and network models for WSN as they are crucial for efficient ECS design and implementation. The literature review conducted on the proposed energy consumption and efficiency models for WSN indicates that existing research work has not considered Single Hop Asymmetric Structure (SHAS) with high performing Error Correcting Codes (ECCs). We present a review on proposed ECS for WSN based on three criteria: Forward Error Correction (FEC), adaptive error correction techniques, and other techniques. Based on our review work, we found that there are limited works on ECS design on a realistic network model i.e., a modified multi-hop WSN model. Finally, we offer future research challenges and opportunities on ECS design and implementation for WSN.

1. Introduction

Wireless Sensor Networks (WSNs) have received tremendous attention due to technological development and growth in applications in various fields. The recent developments in the fields of wireless technology (including 5G), signal processing capability and design technology have made small sized, low cost, and low powered multi-purpose sensor nodes available. WSN has several nodes and each node is able to sense, process and transmit data to nearby nodes using the communication system. WSN can be applied in many applications ranging from military, security, health, environment, home and industry automation, natural disaster prevention and many more. Most of the WSN nodes are battery operated and the life of network depends on the battery’s life. Thus, the energy consumption constraint of WSN nodes is strict to maximize the network life. The WSN node consumes power during data sensing, processing and Radio Frequency (RF) transmission. Among these domains of energy consumption, a significant amount of energy is spent on RF transmission and data processing. Therefore, the key issue when designing and implementing WSN is energy efficiency (to reduce power consumption at node) in order to enhance the life of the network. Additionally, the WSN should provide reliable communication as WSNs are applied within the fields of human’s health and well-being, defence and also for natural disaster prevention. In WSN, the RF transmission happens on a wireless channel and the wireless channel is naturally unpredictable. Therefore, Error Correction Schemes (ECSs) are crucial to maintain reliability i.e., Bit Error Rate (BER) of in communication link as well as energy efficiency of WSN [1,2,3].
WSNs come with challenges as well as opportunities. It is anticipated that WSN plays a vital role in daily life as WSN is integrated in future generation mobile technology and wireless technologies. The proper use of WSN technology will enhance quality of life, environmental monitoring, control process engineering, and the performance of military task and applications in several other fields [4,5,6]. ECSs design and implementation for WSN have numerous challenges. Firstly, some nodes in WSN are energy and computationally constrained as the node is operated by a battery and its replacement is a complex and difficult process in some applications due to geographical location and other factors. The energy saving on WSN nodes is especially important when WSN nodes are located at remote and isolated areas, as replacing the battery on the node is either impossible or very costly or time-consuming. Secondly, the communication environment and design requirement of communication link of WSN varies according to its application. The design requirements of the communication link constitutes reliability and Quality of Service (QoS), data rate, coverage area, channel propagation and delay requirements. Therefore, the ECSs used in the WSN should be able to support various requirements using limited energy and computational resources. The proper design and implementation of ECS may provide an opportunity for energy saving at energy-constrained WSN node and also enhance WSN link reliability. Therefore, the proper understanding of ECS for WSN is important to improve the reliability of communication links and also energy saving at energy-constrained WSN nodes.
It is hard to find survey papers covering design and implementation aspects of ECSs and energy consumption models used in WSNs. As per our discoveries, there are three review papers [7,8,9] in these areas. In [7], review is limited to modulation and coding techniques used in WSN without proper background work. In [8], Ali et al. review Forward Error Correction (FEC) or Error-Correcting Codes (ECCs) in WSN from an energy perspective, which also lacks proper background work and covers only limited literature. Recently, there was a review paper published on ECCs in WSN [9] where the review paper did not include energy analysis concept and the review is only limited to FEC. There is no review on other ECS such as Hybrid Automatic Repeat Request (HARQ), channel adaptive techniques and other techniques. The purpose of this paper is to present the results of an extensive investigation on the current scenarios for energy consumption models and ECS design for WSN in the literature. Based on the literature findings, we identify existing challenges in the energy efficiency analysis, ECS design and implementation of WSN. Finally, we propose future opportunities where energy efficiency, ECS design and implementation of WSN can be improved.
The remainder of the paper is organized as follows. In Section 2 of the paper, we present the various types of ECS that are proposed or introduced for WSN in the research literature. Section 3 summarises several standards used for WSN, WSN channels and network models used for WSN. In Section 4, we review energy efficiency and energy consumption models proposed for WSN. Section 5 reviews ECS schemes proposed for WSN in the current literature. Section 6 discusses future research issues, including challenges in ECS design and implementation for WSN. Finally, we present concluding remarks in Section 7. All of the acronyms used in this paper are presented in the Abbreviations Section after Conclusion.

2. Error Control Scheme (ECS)

There are different types of ECSs present in the literature to support different reliability, delay constrained, channel types, distance between nodes and data rate in the WSN communication. Here, we present a brief overview of different types of ECS used in the WSN. We loosely group ECSs used in WSN into five categories and Figure 1 exhibits a broad classification of ECSs for WSN error correction context. The structure of this paper and content of this section is similar to our previous paper [10]:
I = R l o g 2 ( M )

2.1. Automatic Repeat Request (ARQ)

In automatic repeat request (ARQ) [11], the transmitter applies an error-detection code to the packet before transmission. The commonly used error-detection techniques are parity check and cyclic redundancy check (CRC). The receiver performs an error-detection operation using checksum according to the technique applied at the transmitter. If the receiver finds errors, the receiver sends Negative ACKnowledgement (NACK) to the transmitter using the feedback channel. Otherwise, the receiver sends a positive ACKknowledgement (ACK). Until the receiver receives an error-free packet, the re-transmission action is continued. Additionally, the transmitter resends the packet if it does not receive acknowledgment within a pre-specified time-frame. The main drawbacks of the ARQ scheme are the additional cost of re-transmission and delays. The re-transmission will take place when the communication link is poor and will rarely happen when a communication link is good. Thus, the efficiency of ARQ is very good during good channel conditions but will produce poor efficiency during poor channel conditions.

2.2. Forward Error Correction (FEC)

FEC or channel coding [1,12] is a classic way to increase the performance and reliability of a communication channel. When re-transmission is relatively costly and the system is delay sensitive, FEC is used in the communication system. When FEC is applied in a communication system, controlled redundancy is introduced to the transmitted packet at the transmitter using ECC that allows detection and correction of a certain amount of error at the receiver side. Channel encoding operation is the process of adding redundancy at the transmitter where the operation converts information bits to codewords. The error can be identified and fixed at the receiver during the channel decoding operation. Hence, it eliminates the need for re-transmission. This is the key convenience of FEC which supports delay sensitive communication systems.
The advantages provided by FEC come with several additional costs. The use of FEC in WSN is justified on the basis of several factors. The use of FEC in coded communication system can achieve a certain reliability at significantly lower Signal to Noise Ratio (SNR) than an uncoded system. The gap in SNR between uncoded and coded systems is called coding gain and the value of coding gain depends on three factors: the type of ECC, code rate and decoding algorithm (i.e., the complexity of decoding algorithm). The lower signal power transmission requirement at the transmitter (due to coding gain) which comes at the cost of extra energy consumption due to channel encoding, channel decoding and the transmission of redundant bits introduced by FEC. Thus, we need to compare the extra power consumption introduced due to encoding, decoding and transmission of extra bits and the power saving due to use of FEC. The use of FEC is only justified if extra power consumption (due to encoding, decoding and extra transmission) is lower than the power saving (due to coding gain) because of energy-constrained nature of WSN node. The amount of extra bits introduced by FEC is measured by code rate ( R ) of ECC, and it is defined as in Equation (2) [2]:
R = k n
where n and k are the length of codeword and information bits, respectively. To make a fair comparison between uncoded and coded system with variety of modulation orders, the SNR is measured as the ratio of energy per bit ( E b ) to the spectral noise ( N 0 ) , that is, E b / N 0 . Then, the relationship between E s / N 0 (the ratio of energy per symbol ( E s ) to the spectral noise over Additive White Gaussian Noise (AWGN) channel) and E b / N 0 [2,3] (both expressed in dB) can be expressed as in Equation (3):
E b N 0 = E s N 0 10 l o g 10 ( I )
where the term I represents the number of information bits per symbol which depends on the size of modulation alphabet ( M ) and the code rate of an ECC. It is written as in Equation (1).
For binary modulation like Binary Phase Shift Keying (BPSK) or Binary Amplitude Shift Keying (BASK), the value of M is two, then the number of information bits per symbol (refer to Equation (1)) is equal to code rate. Therefore, the number of information bits per symbol only depends on code rate. The value of the code rate is equal to one for an uncoded system, whereas the value of code rate is less than one for a coded system. When researchers compare the results between uncoded and coded systems, they should consider the energy consumption due to encoding, decoding, transmission of extra bits due to redundancy and also the modulation order. However, the energy consumption of the encoding operation is insignificant compared with the transmission and decoding operations in many cases [13,14,15]. Therefore, the major components that should be considered in the context of energy analysis are the power consumption due to decoding at the receiver (depends on the type of decoding algorithm) and the transmission of extra bits at transmitter (depends on code rate of FEC). Therefore, the energy analysis comparison between coded and uncoded systems should be dealt with transmission power for redundant bits as well as the decoding cost per bit.
In literature, there are various types of FEC with different decoding algorithms that will produce diverse performance. In general, ECCs is broadly divided into two classes: block codes and convolutional codes [2].

2.2.1. Block Codes

Block codes are a large family of ECCs where encoding is performed in blocks. There are varieties of block codes with various applications. In block codes, the information bits to be transmitted will be broken down into smaller blocks of pre-defined length. Then, the channel encoder converts these blocks into codewords. Block codes may be defined as binary and non-binary fields. In this paper, we limit the review of block codes in binary Galois Field G F ( 2 ) , but the concept can be generalised to non-binary fields. Mathematically, a block code is represented by the triple ( n , k , t ) where n is codeword length i.e, the number of bits in codeword, k is information length, i.e., the number of information bits in the codeword and t is the error correction capability i.e., the number of bits errors that can be corrected. Figure 2 illustrates information bits and parity bits of a systematic block codes.
As we discussed earlier, there are various types of binary block codes with a wide range of applications. A binary block code is termed as a linear code if, and only if, the modulo-2 sum of the two codewords produces a new codeword. Hamming codes [16] and extended Hamming codes are examples of linear binary block codes. Hamming distance of Hamming code determines the error correction and detection capability. Single Error Correction and Double Error Detection (SECDED) and Double Error Correction and Triple Error Detection (DECTED) are two examples of extended Hamming code with extra error detection capability. This can be achieved by adding extra parity bits on regular Hamming code [17].
Cyclic code is another special class of linear block code where a circular shift of a codeword transforms into a new codeword. Bose–Chaudhuri–Hocquenghem (BCH) [18,19] and Reed–Solomon (RS) [20] codes are classified into binary and non-binary cyclic codes, respectively.
Low-Density Parity Check (LDPC) [21], and Repeat Accumulate (RA) [22] codes are two linear block codes with high error correction capability. These codes are considered as the most powerful codes in the current literature. LDPC codes are binary linear block codes with sparse parity-check matrices where the number of ones per column and per row is very small. LDPC code is represented by factor graph [23] in graphical form. An example of a parity check matrix of a regular LDPC code with degree of variable node ( d v ) = 2 and degree of check node ( d c ) = 3 is represented as parity check matrix in Equation (4). The factor graph of the parity check matrix given in Equation (4) is shown in Figure 3. Details of encoding and decoding operations of LDPC and RA codes can be found at [24]:
H = 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 1 0 0 1 1 0 1

2.2.2. Convolutional Codes

Convolutional code is another large family of a linear code. However, convolutional codes differ from block codes in many ways. In convolutional code, there is no division of information bits into smaller blocks. In this code, the whole data stream is converted into a single codeword during the encoding operation. Mathematically, a convolutional code is represented by the triple ( n , k , L ) where the n output bits from the convolutional encoder at any given time not only depends on k information bits, but also on L previous information bits (called constraint length of convolutional code). Convolutional codes can be classified into systematic and non-systematic. Figure 4 shows an example of an encoder with 1 / 2 code rate and constraints length of three. Even the encoding operation of convolutional codes is different from block codes; there is no difference while defining the code rate for these codes.
The concept of code concatenation is introduced by Forney in 1965 [25]. The code concatenation is obtained by combining an inner code and an outer code either in series or parallel. These codes are widely used in space communications. Some examples of concatenated codes are Serial Concatenated Convolutional Code (SCCC), Parallel-Concatenated Convolutional Code (PCCC) [26], turbo code [27], and RA code [22].
In literature, there are different versions of turbo codes using different component inner and outer codes, interleavers and other parameters. In classical turbo encoder, there are two identical recursive systematic convolutional coders separated by interleaver as shown in Figure 5. These encoders are connected to each other using parallel concatenation. Details of encoding and decoding operations of turbo codes can be found at [28].

2.2.3. Encoding and Decoding Complexity

The complexity of encoding and decoding operation in FEC depends on encoding and decoding algorithms, respectively. It also depends on the linearity of code. The encoding complexity of nonlinear block code is very complex as the block length increases. However, the encoding complexity of linear block code is significantly less than the nonlinear block codes for large block length. Therefore, the further discussion on complexity is only limited to linear codes. Commonly, the encoding operation is much straightforward than the decoding operation. Thus, the encoder operation at transmitter consumes significantly less power than the decoder operation at the receiver. Therefore, the power consumed by the encoder can be neglected during the energy analysis and ECS design [13,14].
The encoding and decoding complexity of cyclic codes is simple and easy to implement because of the special algebraic properties of the codes. The encoding and decoding operation of cyclic codes can be implemented using basic digital components such as exclusive-OR gates, switches and shift registers. Similarly, the encoder of convolutional code is also very simple and can be implemented using shift registers. Therefore, they are considered as very energy efficient due to the simple operation and implementation methods. However, convolutional codes use different types of decoding algorithms including simple and complex decoding techniques. Therefore, cyclic codes (such as BCH and RS) and convolutional codes are considered favourably by researchers as energy consumption is the key issue in WSN applications.
There are varieties of decoding algorithms and the complexity and performance of these decoding algorithm varies significantly. Therefore, there is a trade-off between the coding gain and the decoding complexity. The decoding algorithms can be broadly classified based on the type of ECC, the type of decoding technique used, and the channel input to decoder. For example, the decoding of Hamming codes can be performed by various decoding algorithms such as syndrome decoding [29]; Maximum Likelihood (ML) decoding [30] either using decoding to the nearest codeword or Viterbi algorithm [31] using trellis; and Maximum A Posteriori (MAP) decoding with the BCJR algorithm [32]. In BCH and RS codes, the decoding operation is performed using the complex polynomial solver to find error position. Additionally, Viterbi decoding with trellis or MAP decoding or sequential decoding can be used for error detection and correction of convolutional codes.
Another classification criteria for decoding algorithm is how decoding is performed; it can be iterative decoding and non-iterative decoding. The common examples of non-iterative decoding are: (a) Syndrome decoding and ML decoding using the nearest codeword for short block codes, (b) Algebraic decoding used in RS and BCH codes, and (c) Viterbi decoding and sequential decoding for convolutional codes. These non-iterative decoding algorithms are simple, easy to implement and fast but with inferior performance, whereas MAP decoding with the BCJR algorithm used in Turbo codes and Sum-Product Algorithm (SPA) or Belief Propagation (BP) [33] used in LDPCs are categorized into iterative decoding. These iterative decoding algorithms are complex (high consumption of energy), slow and hard to implement but with fantastic performance i.e., capacity approaching.
Additionally, the decoding algorithms can be divided based on the input from the channel to the decoding algorithms. If the decoder receives the hard decision from the channel (either 0 or 1) and that information will be used during the decoding operation, then the decoder is called a hard-decision decoder—whereas, if the decoder receives the soft decision from the channel and those information is used during the decoding, then the decoder is called a soft decision decoder. The soft decision decoder has better performance in terms of coding gain when compared with the corresponding hard decision decoder. However, the soft decision decoder has significantly higher decoding complexity and power consumption than the hard decision decoder. Therefore, there are some simplified versions of SPA decoder available in the literature to reduce complexity and power consumption. Some examples of simplified versions of SPA are Binary Message Passing (BMP) decoding, Weighted Bit Flipping (WBF) decoding and min-sum decoding [34]. Although LDPC and Turbo codes used with iterative decoding algorithms that use a soft-decision from a channel can achieve significantly better performance (coding gain) than cyclic codes and short block codes with non-iterative decoding; the use of these iterative codes are limited in WSN due to their high complexities and high power consumption.
One of the approaches used to evaluate the effectiveness of ECC on WSN is to look at the decoding power consumption. Decoder power consumption is based on complexity of the decoding algorithm i.e., the number of operations (addition, multiplication or other mathematical and logical operations) used on a decoding algorithm. Additionally, the power consumption also depends on the maximum number of iterations for iterative decoding techniques used in LDPC and Turbo codes. This method of evaluating effectiveness of error control code only incorporates the decoding cost at the receiver but does not cover the cost associated with transmission of redundant bits at the transmitter. Therefore, the evaluation of ECC in WSN using only decoder power consumption is inadequate for full analysis.
The complexity of LDPC decoding depends on the maximum number of iterations ( N I ) used during decoding algorithm, block length (n), average degree of variable node ( d v ) and average degree of check node ( d c ). The SPA decoding involves addition and multiplication operations at variable and check node, respectively. The complexity of LDPC decoding using an SPA algorithm in terms of number of operations is given as Equation (5), where E A and E M are defined as complexity of addition and multiplication operation, respectively. However, the validity of Equation (5) can not be verified independently, and the paper does not provide proper reference in [35]:
E L D P C = I t e = 1 N I ( 3 n d c + 6 t n d v 10 n ) E M + ( 3 n d v + n ) E A
The complexity of BCH decoding with t error correcting capability and code length n is given by Equation (6) [36].
E B C H = ( 2 t n + 2 t 2 ) ( E M + E A )
The complexity of RS decoding with t error correcting capability and code length n is given by Equation (7) [37]. However, the validity of Equation (7) can not be verified independently or proper reference is not provided in [37]:
E R S = ( 2 t n + 2 t 2 ) ( E M + E A )
The theoretical decoding complexity of trellis decoding of convolutional code is given by Equation (8) [38]:
C = n k 2 ( L + k ) s y m b o l s / b i t

2.3. Hybrid Automatic Repeat Request (HARQ)

As we discussed in Section 2.1, ARQ requires re-transmission for reliability, and re-transmission is frequent during poor channel conditions (which is costly) and seldom happens during good channel condition. Therefore, the reliability of communication link can be achieved using ARQ. However, the energy consumption is high due to frequent re-transmission during poor channel condition. On the other side, as we discussed in Section 2.2, FEC eliminates re-transmission, but it introduces redundancy bits for transmission. These redundant bits are unwanted costs during good channel conditions. The HARQ [39] scheme is developed by manipulating the advantages of both ARQ and FEC. In HARQ, the receiver tries to correct the detected errors first using FEC and asks for re-transmission only if error correction is not possible using FEC.

2.4. Channel-Adaptive Techniques

The wireless channel is time-varying in nature, and this is valid for WSN too. Channel-adaptive techniques are introduced to combat issues with time varying channels [40]. In the presence of multi-path fading and interference, channel adaptation is one way to fully utilise the channel capacity. In this technique, the system adapts system parameters (such as transmission power, code rate, modulation order, coding scheme or any combination of them) according to channel conditions [41].
The channel-adaptive technique provides flexibility and utilises full channel capacity, but it requires lots of extra work. The additional work includes prediction of channel (channel estimation); a return channel to send channel side information (CSI) from receiver to transmitter; update of system parameter at both transmitter and receiver; and flexible and fast re-configurable transmitter and receiver to support adaptive nature.
In the channel-adaptive approach, the system parameter varies according to channel condition. For example, when modulation order is an adaptive parameter, the order of modulation is changed according to the condition of the communication link. When the communication channel quality is better (i.e., better SNR), higher order modulation is used, whereas, when the communication link quality is poor, the modulation order is decreased in order to achieve the same BER [42]. Similarly, when the transmission power is an adaptive parameter, the transmission power at transmitter is changed according to channel condition. When the received SNR is good, lower transmission power is used, whereas, when the received SNR is bad, higher transmission power is used in order to achieve the same reliability. Similarly, we can adapt other parameters according to channel condition. Figure 6 illustrates the channel adaptive model where modulation order, code rate and transmission power can be adapted.

2.5. Other Techniques

In addition to ARQ, FEC, HARQ and channel-adaptive techniques, researchers have utilised other various techniques such as Bit-Interleaved Coded Modulation (BICM), network coding, and residual number system for error correction and energy efficiency analysis in WSN. In BICM [43], modulator and channel encoder are separated by a bit-level interleaver. The BICM technique is suitable for fading channel and adapted for Wireless Local Area Network (WLAN) standard (IEEE 802.11a/g) [44] and broadband wireless access (IEEE 802.16) [45]. We will perform a brief review of BICM used in WSN. However, we are not focusing review on network coding and the residual number system in this paper.

3. Standard, Network and Channel Models

In this section, we introduce the IEEE standard for WSN that is followed by network and channel models used for WSN in the literature.

3.1. Standard

The basic communication standard for WSN is IEEE 802.15.4 [46] and its definition includes the Physical layer (PHY) and medium access control (MAC) sublayer for short-range wireless transmission with low power consumption, low complexity, low cost and low-data-rate for fixed, portable and moving devices with very limited battery consumption. PHY contains the transceiver and its control mechanism, whereas the MAC sublayer allows access to radio channels for all kinds of transfer. The standard also provides precision ranging permission modes. The standard IEE 802.15.4 has gone through a number of releases and there are a number of variations that serve different forms of physical layers. The different versions to date are: IEEE 802.15.4-2003, IEEE802.15.4.2006, IEEE802.15.4a, IEEE802.15.4c, IEEE802.15.4d, IEEE802.15.4e, IEEE802.15.4f, and IEEE802.15.4g.
The IEEE 802.15.14 standard is used by other higher layer standards. As the basic PHY and MAC layers are already specified, higher layers can be designed differently for specific purposes. Some of the derived standards and their main features are summarised as follows [47,48]:
(i)
Zigbee: Supported by Zigbee Alliance, provides higher requirement for low power radio control system like heating, lighting, etc., not suitable for industrial application
(ii)
Wireless HART: Open standard, developed by HART Communication foundation, uses 2.4 GHz ISM band, provides time synchronized, self organized, and self healing mesh architecture.
(iii)
RF4CE: Radio control for low power audio video applications.
(iv)
MiWi: Designed by Microchip Technology, caters for low data transmission rate, short distance, low cost network. application areas are building automation, remote control, etc.
(v)
ISA100.11a: Developed by ISA for industrial automation.
(vi)
6LoWPAN: It uses IPV6 packets formats
(vii)
WIA-PIA: designed for measuring, monitoring and controlling industrial process
The IEEE 802.15.4 standard operates in two types of network typologies based on the application requirements: start topology and peer-to-peer topology.
IEEE 802.15.4 standard uses licence free global radio bands of 2.4 GHz that is included in ISM bands. Multiple PHYs are defined in the standard so that it supports a variety of frequency bands, and different countries have considered other frequency bands like 314–316 MHz, 430–434 MHz, 779–787 MHz, 868–868.6 MHz, and 902–928 MHz. Because the ISM band is commonly used for the low cost radios such as IEEE 802.11 (WLAN) and IEEE 802.15.1 (Bluetooth), an unrestricted access to the industrial scientific and medical unlicensed band exposes the IEEE 802.15.4 devices to a high level of interference. For different available PHY, a separate set of the bit rate, symbol rate and modulation are specified; 250 Kbits/sec, 62.5 Ksymbols/sec and offset-quadrature phase shift keying (O-QPSK) is one of the set.
The 802.15.4 PHY layer manages the radio channel and controls packet data flow. The PHY layer is responsible to activate and deactivate the radio transceiver, detect energy within the current channel, indicate link quality for received packets, and assess a clear channel for Carrier Sense Multiple Access-Collision Avoidance (CSMA-CA), channel frequency selection, data transmission and reception. The core channel access method is CSMA-CA, but there are different variations in the standard.
The MAC layer of IEEE802.15.4 provides the interface between physical layer and application layer, and it has two components named MAC Management Service and MAC data Service. The first component looks after the management function like database control and the second component provides the data transport service between the peers. The MAC data service allows the transmission and reception of MAC Protocol Data Units (MPDUs) through the PHY data service. Common features of MAC layer include managing beacon, accessing channel, managing Guaranteed Time Slot (GTS), validating frame, acknowledging frame delivery, associating and disassociating. The 802.15.4 MAC layer allows both inbound and outbound data transfer and management by higher-level entities of the RF and PHY. The MAC sublayer provides access to the upper layers through two Service Access Points (SAPs). MAC-SAP manages the data while MAC Layer Management Entity (MLME-SAP) interface controls and monitors functions. The MAC layer is responsible for generating network beacons that permits devices to find an existing network, or, in the case of Time Division Multiple Access (TDMA) networks, it furnishes a timing indication for client devices to access the channel during both contention-based and contention-free periods. The MAC sublayer also provides interface for executing application-appropriate security mechanisms.

3.2. Network Models

In WSN, there are different types of scenarios, and therefore different types of network settings or structures are considered during the previous research works. Broadly, the network is divided into two types: single hop WSN and multi-hop WSN. Figure 7 illustrates a single hop WSN model where source sensor node and base station are separated by distance d. A single hop sensor network is called Single Hop Asymmetric Structure (SHAS) network under some assumptions. In SHAS structure, it is assumed that the central base station has access to power supply and possesses computational power, whereas sensor nodes are energy-constrained and computationally-constrained. The link from base station to sensor node is called downlink communication, whereas a reverse link from sensor node to base station is called uplink communication in the SHAS network.
A multi-hop WSN is showed in Figure 8, where source node and base station is separated by distance d and the data transmission from sensor node to base station passes n hops, and the distance between nodes is represented by d i where i varies from 1 to n. The model is termed as a linear sensor array model. When the hop distance is equal, it is called a linear multi-hop model with equal hop distances or a linear packet forwarding model. A slightly modified version of multi-hop WSN model is shown in Figure 9, where the distance parameter between nodes is removed and a new parameter is introduced called received SNR at a node that depends on the distance between nodes and other factors including Line of Sight (LOS) / Non Line of Sight (NLOS), communication channel, and operating frequency.

3.3. Channel Models

WSN has various types of applications and also has different types of nodes depending on application. The distance between two nodes depends on the application. The distance between nodes creates different types of communication links depending on distance, deployment scenarios, LOS and NLOS scenarios. In the practical WSN scenario, there exist various types of communication links between nodes. Therefore, various types of channel models are considered in the previous research works to present these communication links. These channel models are roughly categorised into two: theoretical model and empirical model.
AWGN is the simplest and basic channel model used in telecommunication, but this channel model is not suitable for WSN because this does not consider frequency selectivity, fading, interference, signal dispersion, etc. It is a suitable model for noise affecting wireless communication systems and deep space communication links. However, it is not a good model for terrestrial links in harsh industrial environments, due to multipath, terrain blocking and interference. Furthermore, [49] shows that impulse noise in industrial environments cannot be modeled only with AWGN. AWGN can be used in a wireless channel if there is LOS. However, the assumption of AWGN channel is not realistic in NLOS as there is multipath fading.
Fading in wireless communication conveys the variation of the attenuation of a signal with various parameters including time, geographical position, and frequency. Communication channels that experience fading are called fading channels, and the fading may be caused by multipath propagation, weather and some obstacles in the wave propagation path. The reflectors in the transmission path means that multiple signals can arrive at the receiver, but each copy of signal can experience different attenuation, delay and phase shift. Fading can be categorised as slow fading vs. fast fading or selective fading or block fading. Some of the popular fading channels are: Rayleigh fading channel, Rician fading channel, block fading channel, etc. As the nodes in most of the WSN are static, multipath fading has particular importance in WSN [50]. Other important phenomenon is shadowing, which can cause deep fade if the sensor is under the shadow of a tall building or similar structure.
Rayleigh fading channel [51] assumes that the magnitude of a received signal will vary randomly according to a Rayleigh distribution. The transmitted signal may take multiple paths to reach a destination due to reflections, scattering, and diffraction. Hence, a signal can be described as a Rayleigh fading channel when there are a large number of scatters, distractions or reflections, and there is no LOS path between the receiver and transmitter. If there is a dominant LOS component, then Rician fading is a good model.
In Block fading channels, the fading varies slowly in time. This model was introduced in [52] to model correlated slowly varying fading, and it is particularly useful in wireless communications’ circumstances containing slow time-frequency hopping or multi-carrier modulation using Orthogonal Frequency Division Multiplexing (OFDM). Design criteria for codes in block fading channels are different from AWGN and a fully-interleaved fading channel. The main difference is that information is not stable in Block fading channels; reliability function is zero for any finite SNR [53].
Free Space Optics (FSO) is transmission of modulated infrared beams to implement optical wireless communication. FSO can operate over several kilometers when there is a clear LOS; however, it is highly susceptible to various impairments such as: atmospheric fluctuations, scattering, pointing errors and building sway [54].
In FSO communication systems, fading due to atmospheric turbulence can be modeled with gamma–gamma distribution. Error control coding can be applied to mitigate turbulence-induced fading in FSO [55].
In wireless communication, the loss of signal between the transmitter and the receiver is called path loss, and it is a major factor in wireless communication system design and analysis [56]. Generally, the path loss can be expressed in dB as Equation (9), where P L is total path loss, d is distance between transmitter and receiver, β is path loss exponent and C is other system parameter noise:
P L ( d ) = P L ( d 0 ) + 10 β l o g 10 ( d / d 0 ) + C
The value of a path loss exponent varies significantly according to communication environment. The path loss exponent is two for free space during LOS communication between transmitter and receiver and up to six for obstructed in building propagation. It is an important parameter that represents the degree of path loss with respect to the distance. Path loss models are very useful for planning and predicting the loss of signal strength in a specific location of the propagating channel [57]. Furthermore, path loss models can be classified as either bounded or unbounded path loss model and details can be found in [58]. One of the popular path loss model used in WSN is the two slope path loss model that is validated by real measurements as well [59].
As it is difficult to generalize behaviour of WSN channels, many researchers have used empirical channel models and a real channel model (i.e., implementing WSN in a practical setting) to study WSN channel behaviours.

4. Review on Energy Consumption and Efficiency Model

Energy efficiency is one of the key issues in WSN. Several models and many techniques have been used to analyse energy consumption and efficiency of WSN in the literature. In this section, we will discuss an overview of the energy consumption model and available energy efficiency model. The total energy consumption on any sensor node constitutes several components including the energy spent by the electronics, start-up process, RF transmission, encoding and decoding. A radio model [60] is used to represent the energy consumption in a typical transceiver of a sensor node and is illustrated in Figure 10.

4.1. Single Hop Network

We introduce a network including single hop and multi-hop in Section 3.2. In this section, we will review on energy consumption and efficiency model for single hop WSN. An energy consumption model based on a radio model considering distance between sensor nodes and number of transmission bits is introduced in [60]. The proposed energy consumption model does not consider encoding and decoding energy consumption. Therefore, the model does not reflect all aspects of energy consumption involved in WSN. Another energy consumption model based on the radio model and incorporating encoding and decoding energy consumption is introduced in [61,62]. However, this model does not consider the distance between sensor nodes and number of transmission bits during energy consumption modeling. A communication link of a single hop wireless link between two nodes is illustrated in Figure 11 [63,64,65]. The energy consumption by sensor node for sending l bits over a single hop wireless link of distance d incorporating encoding and decoding energy consumption can be expressed as in Equation (10) [63,64]:
e ( l , d ) = ( e t ( l , d ) + P t s t T t s t + e E n c ) + ( e r ( l ) + P r s t T r s t + e D e c )
where e t ( l , d ) is the energy spent by the transmitter electronics, P t s t T t s t is the start-up energy of the transmitter ( e s t ), e E n c is the encoding energy cost per frame, e r ( l ) is the energy spent by the receiver electronics, P r s t T r s t is the start-up energy of the receiver ( e s r ) and e D e c is the decoding energy per frame. Equation (10) is valid for both coded and uncoded systems. In an uncoded system, there is no encoding and decoding energy cost and the number of transmission bits is less than the coded system.
The concept of energy efficiency ( η ) for a single hop wireless link is introduced in [36] with a packet format as illustrated in Figure 12, with length of preamble α , payload n and trailer τ . The energy efficiency captures both throughput ( η e ) and reliability factors of a WSN link and is defined as in Equation (11):
η = η e r
where r is the Packet Acceptance Rate (PAR) as a reliability factor. The packet acceptance rate is ( 1 P E R ) and Packet Error Rate ( P E R ) of a communication link depends on application of error control coding, distance between nodes and quality of channel. Let us consider a channel with error probability of BER of p, the reliabilities of an uncoded and coded system with t correction capability are given by Equations (12) and (13), respectively [36]:
r = ( 1 p ) n + α
r = j = 0 t α + n + τ j p j ( 1 p ) n j
The energy throughput is based on packet format, energy cost associated with transmitter, receiver and RF transmission. The length of a preamble and a trailer can be considered fixed for a single standard. However, the length of payload can be varied with a single standard according to the specific application. The total payload is equal to information bits for an uncoded system, whereas the total payload is higher than information bits when FEC is used. The total payload for coded system depends on the code rate (refer to Equation (2)). The energy consumption per bit i.e., e b can be expressed as in Equation (14) [64]:
e b = e t x + e r x + e D e c + e E n c n
If we assume that encoding energy is negligible, which is a good assumption for many WSN applications as we discussed in Section 2.2, Equation (14) is reduced to Equation (15):
e b = e t x + e r x + e D e c n
where e t x and e r x are the transmitter energy consumption per bit and receiver energy consumption per bit, respectively. By separating start-up energy consumption and energy consumption due to circuit and amplifier at transmitter and receiver, Equation (15) can be written as Equation (16):
e b = ( e t + e r ) 1 + ( α + τ ) n + ( e s t + e r s + e D e c ) n
where e t and e r are representing energy consumption per bit due to circuit and amplifier at transmitter and energy consumption due to circuit per bit at the receiver, respectively. The parameters e s t and e s r are representing transmitter and receiver start-up energy per frame, respectively. Considering transmission data rate of R b bits per second, the parameters e t and e r are defined as Equations (17) and (18), respectively:
e t = P t e + P t a R b
e r = P r e R b
Therefore, the overall energy efficiency of a communication link of a single hop wireless link (assuming that encoding energy is negligible and no re-transmission applied even when decoding failure is detected) can be written as Equation (19) [36]. It shows that the energy efficiency depends on reliability factor, payload length and decoding cost (depends on ECS used or not, types of ECS if used):
η = η e r = n ( e t + e r ) ( n + α + τ ) ( e t + e r ) + e s t + e s r + e D e c ( 1 P E R )
In [36], Sankarasubramaniam et al. present the energy efficiency as a function of packet size for uncoded, BCH code (with different error correction capability) and convolutional code with different code rate. In this analysis, the authors consider a communication link with binary orthogonal non-coherent frequency shift keying modulated data on a frequency non-selective, Rayleigh fading channel.
The energy efficiency for ARQ (considering re-transmission and packet frame size) and BCH code as FEC is derived in [66], and this work is an extension of [36]. The paper claims that the energy efficiency of ARQ is independent of re-transmission attempts and is an optimum BCH i.e., error correcting capability for a certain packet size and communication distance. Finally, this paper compares energy efficiency of ARQ and BCH with different packet sizes and communication distances. The results are based on Mica2 sensor node, ATmega128L processor and CC1000 radio module.
Karvonen et al. evaluate energy efficiency of DC-balanced error correcting codes by introducing Manchestor code before ECCs (including BCH, Golay and SECDED) in a single hop model [63]. This work is an extension of [36], but there is no clarity whether the decoding cost is used or not in the energy efficiency results.
In [67], Donapudi et al. introduce a transmission cost model based on packet loss-ratio ( p t ) and the cost of transmission of a packet over ideal network C t with a single hop. The total transmission cost for transmission of a packet over a network is given as Equation (20). This transmission cost model can be used for both uncoded and coded systems with convolutional code and Viterbi decoding. The paper compares transmission cost versus transmission distance of single hop for uncoded and coded system. The cost of transmission over an ideal network is measured on Mica2. The energy cost of transmitting ( C t ) is estimated using average current drawn by Mica node and packet length but does not incorporate encoding energy cost. The result indicates that the cost of transmission is higher while using coding compared to uncoded, as distance between nodes is less than 30 m. However, the proposed coded system consumes significantly less power compared to uncoded system when the distance between nodes lies between 30–40 m. The results indicate that the cost of transmission using half rate convolutional code is more efficient than the uncoded system only when the distance between nodes is more than 35 m:
C t = C t ( 1 + p t + p t 2 + p t 3 + ) = C t n = 0 p t n = C t 1 + p t 1 p t
A web based tool for software energy profiling, called JouleTrack, is introduced in [68]. This tool is available as an online resource that can be used to estimate instruction energy consumption and overall energy consumption for programs evaluated on the StrongARM SAA-1100 and Hitachi SH-4 microprocessors. The key disadvantage of using this tool is that the tool is not updated according to the changes in sensor technologies.
Balakrishnan et al. estimate power consumption in Field Programmable Gate Array (FPGA) using Xilinx Integrated Software Environment along with Xilinx Power using Xilinx Virtex-EXCV200E6CS144 and in Application Specific Integrated Circuit (ASIC) is based on Synopsys’s Design Compiler and Design Vision [69]. The power analysis is performed using VHDL design using technology independent components. The power report is generated after compilation using power constrained scenarios. Finally, a report is generated to estimate power consumption in both technologies, and it is found that the power consumption in ASIC implementation is much less than FPGA implementation [69]. The outcomes from this paper is experimentally based and good at the time of research. However, those results need to be updated according to recent changes in ASIC and FPGA technologies.
In [70], the authors compare the performance of decoders without considering transmission, electronics and encoding cost. The paper introduces a measure called Decoding Energy per Bit (DEB) and savings on transmit energy per bit metrics. DEB is evaluated using decoder power consumption, decoding throughput and power supply voltage. The paper presents DEB and savings on transmit energy per bit for RS and convolutional code. The paper claims that the use of FEC is not energy efficient for a short distance due to encoding and decoding overhead. The paper further claims that RS code with efficient implementation can reduce energy consumption of sensor node. However, these claims are superficial as the results are based on DEB, which does not consider transmission cost.
In the SHAS network (as discussed in Section 3.2), it is assumed that a central base station has access to power supply and possesses no computational and power constraints. Thus, the decoding cost and any other energy cost at the base station do not need to be considered in the SHAS network. Therefore, the energy consumption model or energy analysis only need to be considered only at the sensor node but not at the base station. Therefore, the energy efficiency equation (i.e., Equation (19)) reduces significantly for a SHAS network. The energy efficiency analysis and model used for a multi-hop network is entirely different and need to be handled differently.

4.2. Multi-Hop Network

As we discussed in Section 2.3, there is re-transmission involved in HARQ. Therefore, the total energy for a system needs to incorporate re-transmission factor ( N r t x ) . The re-transmission factor depends on Frame Error Rate (FER) of the channel and is equal to 1 / ( 1 F E C ) . Then, the total energy consumption by HARQ system incorporating re-transmission factor is written as Equation (21) [56]:
E t o t a l = N r t x . ( E D e c f r a m e + E t r a n s f r a m e ) J / f r a m e
where E D e c f r a m e is the energy consumed to decode a frame and E t r a n s f r a m e is the energy consumption due to transmission and reception of the frame. In [56], Pellenz et al. utilise standalone FER performance of convolutional code over Rayleigh fading channel with different memory order system to evaluate ( N r t x ) . The value of E D e c f r a m e is computed theoretically using trellis complexity and practically using a TMS320C54x DSP platform. However, the value of E t r a n s f r a m e calculation is not clearly explained. The normalised energy consumption versus encoder memory order of convolutional code for several SNR ranges from 0 to 10 dB is presented. Finally, the optimal memory order of convolutional code is determined to minimise the energy consumption. The paper evaluates normalised energy consumption due to uncoded codes (with memory order of 2 and 8) and codes with optimised memory order for multi-hop networks (refer to Figure 9). The findings conclude that the convolutional code with optimised memory order according to average SNR at the node reduces overall power consumption compared with uncoded and coded with fixed memory order. The normalised energy consumption calculation in the whole paper does not consider the cost of adaption.
In [63,65], Karvonen et al. evaluate the energy consumption per information bit for multihop linear sensor model neglecting startup, encoding and decoding energy cost. These papers also calculate optimal number of hops and characteristic distance for multihop linear sensor models. In [63], Karvonen et al. present energy consumption against bit error probability for Hamming and Golay codes assuming linear array of 1000 m with different numbers of hops i.e., several hop distances. The work in [65] is similar to [63] in a multihop linear sensor model scenario with the addition of BCH codes. The results from these two papers indicate that error correction code is useful when channel condition is poor and energy consumption is at a minimum when the distance between nodes is close to the characteristic distance. In [63,65], the reliability calculation based on Rayleigh fading channel with FSK modulation and non-coherent detection. The paper lacks clarity on how the expected energy consumption per information bit calculated. The conclusion drawn from these papers are based on neglecting startup, encoding and decoding energy cost. However, these costs can not be neglected in most of the WSN cases.
The energy efficiency model considering a re-transmission mechanism is introduced in [71]. This model is based on packet error probability of frame as a reliability factor (including uncoded and BCH coded system). The decoding cost is measured on the number of instructions to execute a BCH decoding algorithm. The calculation is based on Rayleigh fading channel and OQPSK modulation considering coded and uncoded systems for both single hop and multi-hop networks. Table 1 shows a summary of energy consumption and efficiency model for both single hop and multi-hop WSN networks.
In practical WSN applications such as home and industry automation, building monitoring and health care monitoring, there exists an SHAS network structure, as some WSN nodes are not energy and computationally constrained. However, there is a lack of research work to develop energy efficiency and a consumption model for an SHAS network incorporating capacity approaching ECC (refer Chapter 2.2) such as LDPC and Turbo codes. Another key finding from the review is that there are significant changes or developments on sensor node technology, but there is a lack of a new energy consumption model to adopt those changes.

5. Review on ECS Methods on WSN

In this section, we review ECS introduced for WSN in the literature. We broadly classify ECS introduced for WSN in three areas: FEC, adaptive techniques and other techniques. First, we will review FEC only followed by adaptive techniques and other techniques.

5.1. FEC

FEC techniques introduced for WSN are broadly divided into two areas: FEC for SHAS WSN and FEC for generic WSN. In this section, we review FEC introduced for SHAS WSN first and then FEC introduced for WSN in general.

5.1.1. FEC for Single Hop Asymmetric Structure (SHAS) WSN

First, we review FECs introduced by research papers for SHAS WSN (refer to Section 3.2 for a brief introduction of an SHAS WSN network). In [72], an asymmetric code concept is introduced for single hop WSN with an SHAS structure where the uplink and downlink communications are treated differently. In downlink, high transmission power is utilized at the base station. No FEC is used; only CRC is used and error correction is performed by ARQ. A highly efficient channel coding with low encoding complexity and high decoding complexity in the uplink is used. The proposed FEC code for the uplink is convolutional code with soft-decision Viterbi decoding. Zhong et al. discuss how the SHAS approach can be utilized to reduce power consumption at energy-constrained sensor node and its suitability for centralized MAC design. The paper also compares power consumption (using power consumption model based on [73]) in the uplink between the proposed concept and simplified multi-hop structure without considering several factors such as spatial diversity, data aggregation, etc. The paper claims that the SHAS with convolutional coding in the uplink consumes less power than a multi-hop structure with the same code when distance between nodes is less than 175 m. The paper introduces the use of receiver diversity (by using redundant base station) and the use of multiple transmitting antennae at the sensors to combat slow fading channels.
In [74], Ye et al. introduce RA codes in an unbalanced WSN, i.e., WSN with SHAS where the uplink and downlink utilize different error correction techniques. The paper presents BER performance of uncoded, RA and Irregular RA (IRA) (with different code rates) against E b / N 0 over an AWGN channel with no interference. The BER results indicate that there is coding gain as expected. This BER result is a standalone simulation outcome over an AWGN channel and does not consider a WSN scenario. Power consumption at sensor nodes versus distance between nodes is presented for coded systems including RA and convolutional code using SHAS and multi hop structure (similar to [72]). The power consumption model is based on coding gain and path loss model. The simulation result confirms that RA code outperforms the convolutional code in the simulation setting.
In [75], Maunder et al. introduce another way of utilizing properties of SHAS to redistribute energy consumption at WSN with SHAS. In this paper, a complex decoding algorithm (i.e., iterative decoding with a soft decision from a channel using an BCJR algorithm) at base station and rate-1 encoding at an energy-constrained sensor node is considered for an SHAS WSN network. The concept presented in this paper is similar to [72], and the only difference is encoding and decoding techniques used in the simulation setting. Another variation is that the result is presented in terms of coding gain. The assumption of AWGN channel with LoS between nodes is not a realistic situation for practical WSN, and it is only valid for limited applications.
In [76], Schidt et al. present experimental results (energy consumption and error rates (BER, FER and Message Error Rate (MER)) using MICAz hardware on SHAS WSN using several error correction schemes including repetition code and simplified turbo code. The concept presented in this paper is similar to [72]. The difference is that there are different codes including uncoded, modified turbo codes and repetition code are used in experimental settings. The results are presented in terms of overall energy consumption and energy consumption per successful message for convolutional code, repetition code (rate 1 / 3 and 1 / 6 ) and modified turbo code ( 1 / 6 ). The total measured power consumed by modified turbo code is significantly less than repetition code and uncoded system. There is no clear explanation on experimental settings such as the distance between the nodes. The result indicates that the use of re-transmission is reduced significantly by the use of strong code (which is so obvious as FEC reduces BER) and saves power consumption in sensor nodes in WSN with SHAS. Table 2 shows a summary of FEC based ECS for SHAS structure.
The review conducted on FEC used in SHAS WSN indicates that there are limited works on the use of ECS in SHAS structure, and found that there is no recent research work reported in the literature. As SHAS WSN is a practical WSN for home and industry automation and the use of capacity approaching codes such as LDPC, turbo and RA codes in SHAS WSN has huge potential, there is a need for further research work on the use of strong and capacity approaching codes (such as LDPC and turbo codes) in SHAS WSN.

5.1.2. FEC for WSN

In this section, we review FECs introduced by research papers for general WSN. In [77], Jeong et al. present experimental results (packet drop rate, distribution of burst bit errors and distribution of burst packet errors) of several codes including two versions of SECDED and DECTED under outdoor and indoor environments. The nodes are separated 182.9 m apart and are in LoS in outdoor environments. However, the indoor setting of sensor nodes is not clear regarding LoS and distance between the nodes. The paper claims that both versions of SECDED are able to achieve packet drop rate to zero when nodes are 182.9 m apart and are in LoS in outdoor environments. The results for indoor settings are unclear. The reason for performance variation between SECDED (13, 8) and SECDED (30, 24) is clearly explained. However, the poor performance of DECTED is not clearly explained. Experimental results for one indoor setting (location three) shows that uncoded, SECDED (13, 8) and DECTED (16, 8) have zero packet drop rates, but SECDED (30, 24) has poorer performance than the uncoded system. The authors did not mention the reasons behind those results in the paper. In an experimental setting, Jeong et al. mention that the same packet is transmitted 5000 times, and it is not clear what types of bits on packets are transmitted. It is not clear whether there is any impact of data packets on the performance of specific codes or not.
Kashani and Shiva examined energy efficiency of uncoded and BCH codes with different correction capabilities in multi-hop WSN considering different packet length [78]. The simulation is performed in a linear packet forwarding model where distance between end-node and sink is 100 m and considers a single-hop to 20 hops (with uniform distance between nodes) scenarios. The energy consumption model is based on [68]. Overall, the paper claims that communication using longer packets is more energy efficient than the shorter packet. In addition, Kashani and Shiva claim that the need for error correction decreases as the number of hops increases. Therefore, an uncoded system is more energy efficient than a coded system in densely populated multi-hop WSN. Kashani and Shiva extend their work of [78] to [79] to compare the performance of RS, BCH, and convolutional code with different error correcting capabilities. The paper claims that RS code is the most energy efficient among them. The efficiency of RS code with large error correcting capability is better than an RS code with small error correcting capability when the number of hops is less than 10. However, the efficiency is similar when the number of hops is more than 10. The energy efficiency of convolutional codes is better than other codes only when the distance between nodes is more than 33 m. The uncoded system is more energy efficient than a coded system in densely populated multi-hop WSN i.e., when the distance between nodes is 5 m or less.
In [67], the paper presents results from experiments of WSN using Mica2 node and TinyOS applications. The paper presents measured results of packet lost, corruption rate and cost of transmission against transmission distance for uncoded systems and coded systems with convolutional code using Viterbi decoding. The distance between nodes varies from 0 to 40 m, but it is not clear whether or not LOS exists between the nodes. The net cost of transmission for each packet using FEC and uncoded system is evaluated using Equation (20).
Balakrishnan et al. present error control analysis, decoding complexity and power analysis of several codes and sensor node in [69]. The error control performance of RS, BCH and convolutional code is presented in terms of BER versus E b / N 0 with different rates over AWGN channels [69]. These results are standalone performance of these codes. The paper measures encoding and decoding complexity in terms of number of slices required and power consumption in terms of dynamic power per bit during implementation of those codes in FPGA (Xilinx Virtex-E XCV200E6CS144). The result indicates that the complexity of encoder and decoder of BCH and RS codes increases linearly as the number of parity bits increases. However, the complexity of Viterbi decoder increases very sharply as the memory order increases. The result also indicates that the encoder of convolutional and BCH codes are less complex than RS codes. Additionally, the paper measures power consumption in terms of power per bit of these codes in ASIC settings. In ASIC, power estimation is performed using Synopsys’s design compiler and design vision using technology independent components. Balakrishnan et al. claim that ASIC implementation consumes less power than FPGA for the same code. Therefore, ASIC implementation is further analyzed. Finally, the power consumption per bit incorporating encoding, decoding, transmission and receiver cost at sensor node using Equation (4) is presented for all codes with different code rates with the distance between nodes of about 22 m. The paper claims that power consumed by BCH and RS codes is less than uncoded systems. However, the power consumed by convolutional code with Viterbi decoding is more than uncoded system. Therefore, Balakrishnan et al. claim that linear cyclic codes consume significantly less power than uncoded systems, and it is suitable for error correction on WSN. However, the paper presents power consumed after introduction of FEC, but there is no clarification on how it is measured. Additionally, the choice of using the distance between nodes of 22 m is not clear.
In [15], Vuran and Akyildiz perform comparison analysis of ARQ, FEC and HARQ types I and II (FEC as both BCH and RS) schemes in terms of energy consumption, decoding latency. The paper claims that the selection of the error control scheme depends on physical architecture of WSN, node distance and expected reliability.
Islam analyzes error characteristics of channels for WSN using Mica mote and also simulates BER versus E b / N 0 and evaluate power consumption by several codes in [80]. The analysis for error characteristic of channel indicates that most errors are single bit or double bits error and burst error is rare. However, there is no clarity of the experimental setting such as how the channel measurement is performed and whether there is LOS or NLOS between the nodes. There is no clarity of how power consumption is evaluated or measured for several RS codes. There is a lack of clear connection between the energy model presented in the paper and power consumption presented for several RS codes. Islam presents standalone BER simulation results for several codes including uncoded and several FECs. However, there is no clarity about types of channels used for the BER simulation result.
Singh and Kumar illustrate an efficient implementation of quasi cyclic code to save energy consumption that can be used for WSN in [81]. The paper demonstrates the working principle of implementation of quasi cyclic code and claims that the proposed implementation of quasi cyclic code reduces re-transmission and saves energy. However, the energy analysis is limited to an example only, and there is no analytical result.
As we discussed in Section 4.2, a model to measure energy efficiency is introduced in [71]. The paper claims that error detection using CRC without ARQ is necessary when the channels between sensor nodes are good (i.e., SNR > 25 dB) and have few hops. However, it is not clear how reliability is maintained without any error correction scheme. The paper claims that re-transmission is necessary when the channel between nodes are bad (i.e., SNR < 20 dB) and have larger number hops. There is no clear understanding and conclusion from the results. For example, what is the use of BCH code in the proposed simulation?
Nayak presents the performance analysis (energy per bit against distance and overhead versus probability of error) of LT and BCH codes in RF and FSO communication link [82]. The paper presents decoding power consumption versus distance for BCH and Luby Transform (LT) codes under RF channel (considering AWGN and LOS) and FSO channel (considering different Gamma–Gamma distributions for turbulences). However, the paper does not consider power consumption due to encoding and transmission of extra redundant bits. Under those considerations, Nayak claims that the performance of LT code is poorer than uncoded systems for the distance between nodes from 0 to 400 m for the RF channel. However, LT code with optimal erasure method is energy efficient for an FSO channel with moderate and strong turbulences. The results presented are standalone results of different codes without considering WSN setting.
Nithya et al. present simulation results of BER and energy spent per bit versus SNR for BCH and cyclic codes under the Rayleigh fading channel [83] considering IEEE 802.15.4 standard. The BER results for various codes with different rates presented are against SNR instead of E b / N 0 . Hence, the results do not take the code rate into consideration i.e., do not consider the overhead caused by ECS. Therefore, the discussion of coding gain for several codes are not accurate. In addition, energy spent per bit calculation considers only transmission of total bits, but it does not reflect power consumption of encoding and decoding. Therefore, the results presented are not accurate and do not reflect several aspects.
Abughalieh et al. introduce SCCC for a multi-hop WSN scenario [84]. A non-recursive convolutional outer encoder and a recursive convolutional encoder are used in the proposed SCCC. These encoders are separated by a random interleaver. In the proposed error correction method, Viterbi decoding and encoding for inner code is applied at each intermediate node and does not need to do anything for outer code. Turbo decoding is used at the destination node as base station on assuming that base station does not have energy and computational constraints. The additional power consumption (due to encoding and decoding at each intermediate node) by the proposed code and error correction method for multihop WSN [84] is performed using measurement data from [69]. They also calculate transmission and reception energy consumption by coded and uncoded system analytically separately. Abughalieh et al. display total power processing power consumption (numerical) versus the number of hops and claim that there is a linear increase of total processing power as the number of hops increases. However, there is no clear explanation of how total processing power is evaluated as power consumption due to transmission and reception is in analytical form, and power consumption due to encoding and decoding is in numerical form.
In [84], the paper considers three scenarios: uncoded using ARQ, intermediate nodes are not decoding the packet and Viterbi decoding and encoding for inner code applied at each intermediate node for results presentation. There is confusion between interleaver size and symbol size during result presentation and discussion. However, how inner and outer code is used in SCCC during BER simulation is not clear as results are presented for outer codes only and inner codes only. The final simulation result of BER versus SNR shows that BER lies between 0.3 to 0.5 which is a high BER for any communication system. However, the paper claims that the proposed SCCC can correct most packets with 2 to 5 hops WSN at low SNR that is contradictory to BER results presented in the paper.
Another paper presents error pattern analysis WSN 2.4 GHz channel using hardware implementation of CC2520 RF transceiver as node [85]. The experiment is conducted in several settings over the range of 0 to 60 m between two nodes, but there is no clarity whether or not LOS exists between the nodes. The experimental results indicate that there is more burst errors than random errors, but the rate of occurrence of burst error is very small when burst length exceed 50 bytes. Then, the paper introduces shortened RS (114, 50) code derived from RS (255, 191) to tackle bursty errors based on the experimental result. Then, PER versus distance and RSSI is measured using RS code and uncoded system using an experimental setting. Tan et al. claim that the proposed RS code is able to improve transmission distance by about 5 m compared with WSN without error correction at PER of 10 3 . The results from PER versus RSSI showed that the RSSI can improve by about 13 dB by using error correction at the same target PER of 10 3 compared with WSN without error correction. However, the cost of encoding, decoding, transmission and reception cost of extra bits due to redundancy is not considered during this result presentation. Therefore, the results from this paper is very obvious as PER is reduced due to introduction of error correction.
In [86], Chowdhury et al. analyse the impact of BCH and RS codes with different error correction capabilities on characteristics distance in a linear multi-hop model with equal hop distance. The paper considers two cases: decoding at all nodes and only at the destination node over all nodes transmitting and a single node transmitting situations. The characteristic distances for those scenarios are analytically calculated in terms of energy consumptions by different factors. Then, the paper presents results as characteristic distance versus bit error probability for those scenarios. However, the bit error probability calculation in the paper is generic in terms of average SNR not E b / N 0 . Therefore, the bit error probability does not incorporate any effect of error correction capability of BCH and RS codes. The paper concludes that hop distance increases when all intermediate nodes are decoding in both scenarios. However, there is no impact on hop distance when decoding is only done in destination node in both scenarios.
In [87], Subhagya et al. introduce use of LT code for wireless multimedia sensor network for image transmission. The paper evaluates peak SNR and structural similarity index metrics for RS and LT codes considering a binary erasure channel with different erasure probability. The simulation results based on MatLab indicate that LT codes are significantly better than RS code. However, there is a lack of clarity about code rate of those codes and energy efficiency analysis between these codes.
The summary of the review of FEC based ECS for WSN is presented in Table 3. One of the key findings from the review is that the use of a realistic network model to represent WSN in a practical setting is lacking. As the distance between nodes in WSN in a practical setting is not equal, a modified multi-hop WSN model is a more realistic network model. However, most of the previous work on the design of ECSs and energy analysis is focused on a multi-hop WSN model and very limited research work conducted on a modified multi-hop WSN model. Therefore, researchers need to focus on design and energy analysis of ECSs on modified multi-hop WSN model to cover realistic network situation. Another key finding is that there is a lack of enough experimental results using currently available WSN node.

5.2. Adaptive Technique

We introduce channel adaptive techniques in Section 2.4 to combat a time varying channel. In this section, we review adaptive ECSs introduced by researchers for WSN and broadly classified into two areas: Single hop and Multi-hop networks.

5.2.1. Single-Hop Network

In [88], Jin et al. perform mathematical analysis of energy efficiency of RS code, ARQ and HARQ (RS code and ARQ) considering a Mica 2 series WSN platform. The energy efficiency analysis based on Equation (11) where decoding energy cost for RS code is evaluated using the number of operations involved during the decoding. The paper claims that ARQ is optimal when the distance between nodes is less than 40 m, whereas HARQ performs better than ARQ and RS code when the distance between nodes is more than 40 m. Then, Jin et al. introduce an adaptive error control mechanism called the Adaptive Error Control RSSI (AEC-RSSI) method, which is based on energy efficiency and Received Signal Strength Indicator (RSSI). RSSI is used to estimate the distance between nodes assuming log-normal shadowing model. Then, the distance between nodes is used to select the error correction technique. In AEC-RSSI, ARQ is used when the distance between nodes is less than 40 m; otherwise, HARQ is used. The energy efficiency result indicates that AEC-RSSI performs better than different ECS (including ARQ, RS code and HARQ) over all ranges from 0 to 60 m.
Liankuan et al. introduce adaptive BCH code with different error correction capability called BCH versions [89]. The paper outlines an adaptive algorithm to choose a BCH version for communication and also outlines how the initialization of BCH version is conducted. The use of BCH version is determined by percentage of packets in which bit errors are less than, equal to and more than error correction capability of BCH i.e., t. The paper outlines a bit error rate vector to exchange bit errors status and a version used between sender and receiver. The adaptive algorithm is implemented in real WSN with sender and receiver 65 m apart and LOS exists between nodes. The paper outlines the experimental setup and the result in terms of version changes and bit error rates during the experiment. The results are compared with adaptive BCH and different versions of BCH codes.
In [90], Sharma et al. present a framework for selection of ECC in WSN. However, the framework lacks clarity and followed by standalone BER performance of uncoded, convolutional code, Hamming code, Goley code and Reed–Solomon code against E b / N 0 . Additionally, the paper presents power consumption by several RS codes, but there is no clear connection between the energy models introduced earlier in the paper. Therefore, there is no clarity on the outcome of the paper.
In [91], AL-Suhail et al. propose BCH based adaptive error correction code where the code rate of BCH code varies according to distance between nodes and ACK. The energy efficiency against communication distance for BCH code and the proposed adaptive code results are compared. The results are based on Mica 2 series WSN platform and considering a Rayleigh fading channel. However, the simulation setting is not clearly explained. The paper claims that the proposed adaptive code is more energy efficient than non-adaptive code.
In [92], Sasikala et al. introduce adaptive LDPC code with SPA decoding for WSN. The code rate of LDPC is adapted according to required BER or QoS, received SNR and data rate demand. The LDPC code rate varies among 1/3, 1/2 and 3/4. The LDPC encoding complexity is discussed in detail, but it lacks discussion of decoding complexity which is very crucial for complex LDPC decoding as discussed in Section 2.2.3. Additionally, the energy consumption at the transmitter and the receiver for bit transmission is presented using μ AMPS-1 Mote. However, how the decoding energy consumption LDPC decoding with SPA is measured is not clear. Sasikala et al. present a comparison of BER results of LDPC, proposed code and uncoded system without specifying channel SNR range, which is a very critical parameter for wireless channels. Another key issue in the paper is the use of LDPC code with SPA as decoding algorithm. As we discussed in Section 2.2.3, SPA is one of the complex decoding algorithm in the industry. However, how the use of this complex algorithm with energy and computationally constrained node of WSN is possible is not justified. Additionally, the results are also not compared with other codes.
There are two major findings from the review. First, there is a limited research work on the effect of using extra works (channel estimation, reverse link for channel estimation update at the transmitter from receiver) associated with an adaptive technique while implementing in a practical setting. Therefore, researchers should incorporate this extra power consumption during energy analysis while implementing adaptive techniques. Another key issue is the practicality of re-configurable transmitters and receivers at the energy and computationally constrained WSN node. There is no research work reported on this issue.

5.2.2. Multi-Hop Network

Pellenz et al. analyze trade-off between transmission and processing energy consumption in multi-hop sensor nodes (refer to Figure 9) using adaptive convolutional code combined with Stop-and-Wait ARQ [56]. Pellenz et al. put forward adaptive convolutional code with optimized code complexity for each transmission hop. The encoder memory order is used to alter the complexity of code and error correcting capability. The adaptability of convolutional code is performed by selecting optimal memory order according to received SNR value. The paper claims that there is a significant energy saving while using proposed adaptive code when compared with the use of conventional convolutional code with fixed encoder order and uncoded system combined with Stop-and-Wait ARQ in the same setting. The paper does not outline feedback mechanism and channel estimation techniques for adaptation.
In [35], Ez-zazi et al. propose an adaptive error control scheme consisting of LDPC as FEC, ARQ and CRC for multi-hop scenarios. Source nodes encode data using LDPC encoding and then calculate CRC of the encoded data. Then, the transmitter sends the encoded packet to next node using Minimum Transmission Energy (MTE) (refer to Figure 8). At the intermediate node, CRC is used to verify the quality of the encoded packets. If there is no error during CRC check, the packet will be transmitted to the next node. If CRC check finds an error, the intermediate node decides either to decode using LDPC or re-transmit based on the distance between nodes. If the distance between nodes is less than crossover distance, retransmission will be performed; otherwise, decoding is performed using LDPC decoding. The paper advises that the distance between nodes is estimated using RSSI and also discusses theoretical aspects of crossover distance calculation for LOS and NLOS situation. However, how the distance between nodes is determined using RSSI and crossover distance in simulation settings is not clearly discussed. Another key weakness in this paper is total energy calculation while using LDPC code at the intermediate node. During energy calculation, energy consumption of LDPC code using an BP algorithm is used once, which is not accurate according the algorithm described. However, it is not clear how this energy consumption is used to evaluate total energy consumption in the proposed adaptive coding scheme using multi-hop scenarios. Additionally, the paper does not outline the code rate of LDPC code used in the proposed scheme and does not consider the effect of code rate in the energy consumption model. Therefore, there is an issue regarding how total energy is computed during the simulation. The paper claims that the approach optimizes both energy consumption and reliability of WSN, and the proposed adaptive ECS performs well in all settings. The authors present total energy consumption of WSN versus network lifetime in 50 m2 and 200 m2 areas with 50 homogenous sensor nodes, but there is no output or result from a reliability aspect. The results in the paper clearly show that uncoded scheme performance is best among all. Therefore, the claim is not clearly supported by results.
In [37], Ez-zazi et al. propose an adaptive error control scheme consisting of two error correction codes: LDPC and RS codes for multi-hop scenarios. The energy model for multi-hop WSN is estimated considering that the transmitter sends the encoded packet to the next node using the MTE algorithm. In the proposed scheme, a node needs to choose between LDPC and RS code according to the distance between nodes and crossover distance. There is a lack of clarity about code rate of LDPC and RS code. The key drawback of this paper is energy estimation. The estimation considers a one time decoding cost of LDPC and RS code instead of multiple decoding of codes involved in multi-hop scenarios. Therefore, the claim of efficiency and reliability of the proposed system can not be independently verified.
In [93], Singh and Pesch introduce the use of a soft-decision decoder called adaptive chase-2 decoding for a BCH code in multi-hop networks. The paper presents decoding energy consumption for BCH codes with standard chase and adaptive chase. The paper claims that adaptive chase consumes significantly higher energy compared with others. The throughput result of the proposed code is better than the others in most cases. However, there is a lack of comparison with other error correction codes.
In [94], Eriksson introduces adaptive hybrid-I BCH code (assuming that CSI is available) for process industry setting. The thesis investigates energy efficiency and latency of ARQ and the proposed adaptive code. The numerical analysis is based on AWGN and Raylaigh fading channel. The paper concludes that the proposed adaptive hybrid BCH code is energy efficient compared with ARQ.
Table 4 shows a summary of adaptive ECS for WSN. As discussed in Section 5.1.2, a modified multi-hop WSN model is a more realistic network model. However, there is very limited work on design and energy analysis of ECS on this model. Therefore, researchers need to focus on design and energy analysis of adaptive ECSs on a modified multi-hop WSN model to cover a realistic network situation. As we discussed in Section 5.2.1, the researchers need to focus on the cost of extra energy consumption due to adaptive techniques, and it should be incorporated in energy analysis. Finally, the researcher should do more work on the design and implementation of re-configurable transmitter and receiver at the energy and computationally constrained WSN node.

5.3. Other Techniques

In this chapter, we briefly mention other techniques used in error correction in WSN. However, we are only reviewing BICM techniques used in WSN error correction. Network coding is utilised in error correction and energy saving in [95,96]. Finally, residual numbering is utilised in error correction and energy saving in [97].
We introduce BICM techniques in Section 2.5 and the researchers evaluate the use of this technique in WSN for performance and energy analysis [98,99,100,101]. In [98], Madkour et al. consider the use of BICM technique in WSN where the authors use Hamming, LDPC, convolutional code as FEC, chaotic Baker map as interleaver and multi-carrier modulation as modulation technique. The paper presents standalone BER analysis of BICM techniques without considering WSN scenario. As expected, the use of the BICM technique enhances BER of WSN communications, but there is no energy analysis for the proposed BICM. Therefore, the suitability of the proposed BICM technique cannot be justified in an energy constrained WSN scenario.
Barac et al. perform analysis of BICM in industrial WSN setting in [101].In this experiment, the authors use RS code as FEC with bit and symbol interleaving. However, the type of interleaving and modulation techniques used in the experiment are not clearly explained. The paper concludes that there is no significant improvement on packet salvation ratio (performance measure) by using interleaving in multipath fading environments. The paper also did not present energy analysis of the proposed BICM technique. RS code is used in the proposed BICM technique and the code has simple encoding decoding techniques. Therefore, the results presented on the paper can be justified even though there is no energy analysis result available.
Kinoshita and Ochiai presented BICM techniques using regular LDPC code with 61-QAM and AWGN channel considering an SHAS network [99]. The paper presented an energy consumption model without considering decoding cost, which is valid as we discussed in Section 4.1. In addition, this paper presented optimal constellation size and transmit energy versus distance between nodes for various block lengths. Those results are supported by information theoretic analysis. However, there is no explanation regarding what type of decoding algorithm is used for LDPC decoding.
In [100], Wang et al. consider the use of BICM techniques in WSN where the authors use convolutional code (corresponding Viterbi decoding) followed by a pseudo random interleaver, BPSK modulation and AWGN channel. The paper considers short packet length varying from 100 to 1000 bits. PER results for those settings are presented for different block lengths with and without interleaving. The PER results indicate that the use of convolutional code and interleaving for short packet length decreases the reliability of the communication link. These concluding remarks from the paper are difficult to understand, and there are no reasons provided by the authors. The PER results are standalone results without considering WSN scenarios. The use of AWGN channels for WSN is only realistic if LOS exists between nodes.
Our brief review on the BICM technique used in WSN indicates that there are limited investigations in these areas, and the outcomes from the review are also contradicting. The results from two papers showed that the use of BICM in WSN does not enhance in reliability significantly [100,101]. We found that there is a lack of energy analysis using BICM in WSN. Therefore, we expect further research on performance and energy analysis of BICM in WSN.

6. Future Research Challenges and Opportunities

WSN has wide ranging applications including military, monitoring of health and environment, industry and home automation. Those applications require different levels of reliability and data rate, and it also requires covering varying communication distance depending on the applications.Therefore, one static solution does not fit for all applications. Hence, the future ECS should be dynamic and adaptive to handle a variety of WSN nodes, reliability requirements and communication channels. Thus, the researchers should focus on integration of software-defined radio concept [102,103,104] in the context of adaptive ECS design and implementation in WSN.
The efficient design and implementation of ECS in WSN should exploit node constraints and channels. The exploitation of node constraints and channels is possible in SHAS WSN structures. Those structures practically exist at home and industry automation, building monitoring and Wireless Body Area Network (WBAN), where the distance between nodes is smaller and the base station node is not energy and computationally constrained. Therefore, the researchers need to do more work on energy efficiency analysis and ECS design using capacity approaching codes (such as LDPC, RA and turbo code) in SHAS structure.
Hence, the following research areas need to be examined further in order to design efficient ECS. This can be achieved by introducing dynamic and adaptive features in WSN.
  • Dynamic and adaptive ECS design based on the software-defined radio in order to support variety of nodes, channels, and QoS requirements in WSN.
  • Scholarly work addressing the use of power adaptive techniques at the transmitter in ECS design in WSN is not found. We advise researchers to investigate the use of power adaptive technique in ECS design.
  • Our review on adaptive techniques used in ECS design for WSN in Section 5.2 found that many techniques have been analysed in terms of communication link performance. The adaptive process demands additional tasks during implementation. However, the impact of using those additional tasks in energy consumption is lacking.
  • As we discussed in Section 3.1, WSN is implemented in an unlicensed frequency range, and there is a significant interference due to other wireless networks including WSN, WLAN and WBAN. Therefore, the efficiency of ECS for WSN in practical situations depends on interference from other systems. Further research is expected to analyse the efficiency of ECS for WSN in practical and real-life settings with interference.
  • Our review on the energy consumption model in Section 4 indicates that most of the research work conducted was based on old hardware. However, there is new hardware available in the market and this new hardware will be mostly used in the future. Hence, more research work is recommended on energy consumption models in order to keep pace with new developments in sensor nodes.
  • To design and implement ECS for WSN, researchers need to do more work on network modelling to incorporate practical WSN which extract several parameters such as wireless channel, node feature, reliability and data rate.
  • Another challenge is to verify ECS design for WSN in practical settings. Most of the previous work is completed in isolated situations or using theoretical channels. Therefore, the creation of experimental settings that resemble various WSN application scenarios is a challenge but requires some further work.
Furthermore, Table 5 illustrates the summary of key issues, opportunities and challenges in ECS design for WSN.

7. Conclusions

In this paper, we presented an overview of various types of ECSs used in literature for WSN. In order to determine the challenges for ECSs, detailed research study is conducted on WSN channel model, network model and standards as they are crucial for the designing and implementing efficient ECSs. The review on the proposed energy consumption and efficiency models for WSN indicates that existing research work has not considered SHAS with high performing ECCs. Further review on ECS design for WSN indicates that there are no sufficient research publications on ECS design on a practical network model i.e., modified multi-hop WSN model. Finally, we highlighted future research opportunities where WSN ECS design and implementation can be improved.

Author Contributions

All authors contributed to Section 1, Section 3 and Section 5. R.K., K.P. and D.B.G. contributed for Section 2, Section 4, Section 6 and Section 7. All authors have read and agree to the published version of the manuscript.

Funding

This research received no external funding.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
ACKAcknowledge
ARQAutomatic Repeat Request
ASICApplication Specific Integrated Circuit
ASKAmplitude Shift Keying
AWGNAdditive White Gaussian Noise
BCHBose-Chaudhuri-Hocquenghem
BERBit Error Rate
BICMBit-Interleaved Coded Modulation
BMPBinary Message Passing
BPBelief Propagation
CRCCyclic Redundancy Check
CSMACarrier Sense Multiple Access—Collision Avoidance
CSIChannel Side Information
DEBDecoding Energy per Bit
DECTEDDouble Error Correction and Triple-Error Detection
ECCError-Correcting Code
ECSError Control Schemes
FECForward Error Correction
FERFrame Error Rate
FPGAField Programmable Gate Array
FSKFrequency Shift Keying
FSOFree Space Optical
GTSGuaranteed Time Slot
HARQHybrid Automatic Repeat Request
LDPCLow-Density Parity Check
LOSLine of Sight
LTLuby Transform
MLMaximum Likelihood
MACMedia Access
MAEMean Absolute Error
MAPMaximum A Posteriori
MLMEMAC Layer Management Entity
MPDUMAC Protocol Data Units
MTEMinimum Transmission Energy
NACKNegative Acknowledgment
NLOSNon-Line of Sight
OFDMOrthogonal Frequency Division Multiplexing
OQPSKOffset Quadrature Phase Shift Keying
PARPacket Acceptance Rate
PCCCParallel-Concatenated Convolutional Code
PERPacket Error Rate
PHYPhysical
PSDUPhysical layer Service Data Unit
QoSQuality of Service
RARepeat Accumulate
RFRadio Frequency
RSReed–Solomon
RSSReceived Signal Strength
SAPService Access Points
SCCCSerial Concatenated Convolutional Code
SHASSingle Hop Asymmetric Structure
SECDEDSingle Error Correction and Double Error Detection
SNRSignal to Noise Ratio
SPASum-Product Algorithm
TDMATime Division Multiple Access
VHDLVHSIC Hardware Description Language
WBANWireless Body Area Network
WBFWeighted Bit Flipping
WLANWireless Local Area Network
WSNWireless Sensor Network

References

  1. Wicker, S.B. Error Control Systems for Digital Communication and Storage; Prentice hall: Upper Saddle River, NJ, USA, 1995; Volume 1. [Google Scholar]
  2. Sklar, B. Digital Communications: Fundamentals and Applications; Prentice hall: Upper Saddle River, NJ, USA, 2001. [Google Scholar]
  3. Lin, S.; Costello, D.J. Error Control Coding; Prentice hall: Upper Saddle River, NJ, USA, 2001. [Google Scholar]
  4. Akyildiz, I.F.; Su, W.; Sankarasubramaniam, Y.; Cayirci, E. Wireless Sensor Networks: A Survey. Comput. Netw. 2002, 38, 393–422. [Google Scholar] [CrossRef] [Green Version]
  5. Yick, J.; Mukherjee, B.; Ghosal, D. Wireless Sensor Network Survey. Comput. Netw. 2008, 52, 2292–2330. [Google Scholar] [CrossRef]
  6. Arampatzis, T.; Lygeros, J.; Manesis, S. A Survey of Applications of Wireless Sensors and Wireless Sensor Networks. In Proceedings of the 2005 IEEE International Symposium on, Mediterrean Conference on Control and Automation Intelligent Control, Limassol, Cyprus, 27–29 June 2005; pp. 719–724. [Google Scholar]
  7. Dawood, M.S. A Survey on Energy Efficient Modulation and Coding Techniques for Wireless Sensor Networks. J. Global Res. Comput. Sci. 2013, 4, 63–66. [Google Scholar]
  8. Alrajeh, N.A.; Marwat, U.; Shams, B.; Shah, S.S.H. Error Correcting Codes in Wireless Sensor Networks: An Energy Perspective. Appl. Math. Inf. Sci. 2015, 9, 809. [Google Scholar]
  9. Bettayeb, M.; Ghunaim, S.; Mohamed, N.; Nasir, Q. Error Correction Codes in Wireless Sensor Networks: A Systematic Literature Review. In Proceedings of the 2019 International Conference on Communications, Signal Processing, and their Applications (ICCSPA), Sharjah, UAE, 19 March 2019; pp. 1–6. [Google Scholar]
  10. Kadel, R.; Islam, N.; Ahmed, K.; Halder, S.J. Opportunities and Challenges for Error Correction Scheme for Wireless Body Area Network—A Survey. J. Sens. Actuator Netw. 2019, 8, 1. [Google Scholar] [CrossRef] [Green Version]
  11. Peterson, L.L.; Davie, B.S. Computer Networks: A Systems Approach; Elsevier: Amsterdam, The Netherlands, 2007. [Google Scholar]
  12. Wang, C.; Sklar, D.; Johnson, D. Forward Error-Correction Coding. Crosslink 2001, 3, 26–29. [Google Scholar]
  13. Howard, S.L.; Schlegel, C.; Iniewski, K. Error Control Coding in Low-Power Wireless Sensor Networks: When is ECC Energy-Efficient? EURASIP J. Wirel. Commun. Netw. 2006, 2006, 074812. [Google Scholar] [CrossRef] [Green Version]
  14. Sadeghi, N.; Howard, S.; Kasnavi, S.; Iniewski, K.; Gaudet, V.C.; Schlegel, C. Analysis of Error Control Code Use in Ultra-Low-Power Wireless Sensor Networks. In Proceedings of the 2006 IEEE International Symposium on Circuits and Systems, Island of Kos, Greece, 21–24 March 2006; p. 4. [Google Scholar]
  15. Vuran, M.C.; Akyildiz, I.F. Error Control in Wireless Sensor Networks: A Cross Layer Analysis. IEEE/ACM Trans. Netw. 2009, 17, 1186–1199. [Google Scholar] [CrossRef] [Green Version]
  16. Hamming, R.W. Error Detecting and Error Correcting Codes. Bell Syst. Tech. J. 1950, 29, 147–160. [Google Scholar] [CrossRef]
  17. Mukherjee, S. Architecture Design for Soft Errors; Morgan Kaufmann: Berlington, MA, USA, 2011. [Google Scholar]
  18. Hocquenghem, A. Codes Correcteurs D’erreurs. Chiffres 1959, 2, 147–156. [Google Scholar]
  19. Bose, R.C.; Ray-Chaudhuri, D.K. On a Class of Error Correcting Binary Group Codes. Inf. Control 1960, 3, 68–79. [Google Scholar] [CrossRef] [Green Version]
  20. Reed, I.S.; Solomon, G. Polynomial Codes over Certain Finite Fields. J. Soc. Ind. Appl. Math. 1960, 8, 300–304. [Google Scholar] [CrossRef]
  21. Gallager, R. Low-Density Parity-Check Codes. IRE Trans. Inf. Theory 1962, 8, 21–28. [Google Scholar] [CrossRef] [Green Version]
  22. Divsalar, D.; Jin, H.; McEliece, R.J. Coding Theorems for “Turbo-Like” Codes. In Proceedings of the Annual Allerton Conference on Communication Control and Computing, Monticello, IL, USA, 23–25 September 1998; Volume 36, pp. 201–210. [Google Scholar]
  23. Kschischang, F.R.; Frey, B.J.; Loeliger, H.A. Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 2001, 47, 498–519. [Google Scholar] [CrossRef] [Green Version]
  24. Johnson, S. Iterative Error Correction: Turbo, Low-Density Parity-Check and Repeat-Accumulate Codes; Cambridge University Press: Cambridge, UK, 2010. [Google Scholar]
  25. Forney, G.D. Concatenated Codes; Massachusetts Institute of Technology: Cambridge, MA, USA, 1965. [Google Scholar]
  26. Benedetto, S.; Montorsi, G. Design of Parallel Concatenated Convolutional Codes. IEEE Trans. Commun. 1996, 44, 591–600. [Google Scholar] [CrossRef]
  27. Berrou, C.; Glavieux, A.; Thitimajshima, P. Near Shannon Limit Error-Correcting Coding and Decoding: Turbo-codes. In Proceedings of the ICC’93-IEEE International Conference on Communications, Geneva, Switzerland, 23–26 May 1993; Volume 2, pp. 1064–1070. [Google Scholar]
  28. Valenti, M.C.; Sun, J. Turbo codes. In Handbook of RF and Wireless Technologies; Elsevier: Amsterdam, The Netherlands, 2004; pp. 375–399. [Google Scholar]
  29. Beutelspacher, A.; Rosenbaum, U. Projective Geometry: From Foundations to Applications; Cambridge University Press: Cambridge, UK, 1998. [Google Scholar]
  30. Feldman, J.; Wainwright, M.J.; Karger, D.R. Using Linear Programming to Decode Binary Linear Codes. IEEE Trans. Inf. Theory 2005, 51, 954–972. [Google Scholar] [CrossRef] [Green Version]
  31. Viterbi, A. Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding algorithm. IEEE Trans. Inf. Theory 1967, 13, 260–269. [Google Scholar] [CrossRef] [Green Version]
  32. Bahl, L.; Cocke, J.; Jelinek, F.; Raviv, J. Optimal Decoding of Linear Codes for Minimizing Symbol Error Rate. IEEE Trans. Inf. Theory 1974, 20, 284–287. [Google Scholar] [CrossRef] [Green Version]
  33. Pearl, J. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference; Elsevier: Amsterdam, The Netherlands, 2014. [Google Scholar]
  34. Wiberg, N. Codes and Decoding on General Graphs. Ph.D. Thesis, Linkoping University, Linköping, Sweden, 1996. [Google Scholar]
  35. Ez-Zazi, I.; Arioua, M.; El Oualkadi, A. On The Design of Coding Framework for Energy Efficient and Reliable Multi-hop Sensor Networks. Procedia Comput. Sci. 2017, 109, 537–544. [Google Scholar] [CrossRef]
  36. Sankarasubramaniam, Y.; Akyildiz, I.F.; McLaughlin, S. Energy Efficiency Based Packet Size Optimization in Wireless Sensor Networks. In Proceedings of the First, IEEE International Workshop on Sensor Network Protocols and Applications, Anchorage, AK, USA, 11 May 2003; pp. 1–8. [Google Scholar]
  37. Ez-Zazi, I.; Arioua, M.; El Oualkadi, A.; Lorenz, P. A Hybrid Adaptive Coding and Decoding Scheme for Multi-hop Wireless Sensor Networks. Wirel. Pers. Commun. 2017, 94, 3017–3033. [Google Scholar] [CrossRef] [Green Version]
  38. Mceliece, R.J.; Lin, W. The Trellis Complexity of Convolutional Codes. IEEE Trans. Inf. Theory 1996, 42, 1855–1864. [Google Scholar] [CrossRef] [Green Version]
  39. Comroe, R.; Costello, D. ARQ Schemes for Data Transmission in Mobile Radio Systems. IEEE J. Sel. Areas Commun. 1984, 2, 472–481. [Google Scholar] [CrossRef]
  40. Cavers, J. Variable-Rate Transmission for Rayleigh Fading Channels. IEEE Trans. Commun. 1972, 20, 15–22. [Google Scholar] [CrossRef] [Green Version]
  41. Cianca, E.; De Luise, A.; Ruggieri, M.; Prasad, R. Channel-Adaptive Techniques in Wireless Communications: An Overview. Wirel. Commun. Mob. Comput. 2002, 2, 799–813. [Google Scholar] [CrossRef]
  42. Proakis, M.S.; Bauch, G. Contemporary Communication Systems using MATLAB; Nelson Education: Scarborough, ON, Canada, 2012. [Google Scholar]
  43. Zehavi, E. 8-PSK trellis codes for a Rayleigh channel. IEEE Trans. Commun. 1992, 40, 873–884. [Google Scholar] [CrossRef]
  44. Group, I.S.W. Wireless LAN Medium access Control (MAC) and Physical Layer (PHY) Specifications: High-Speed Physical Layer in the 5GHz Band; IEEE: Piscataway, NJ, USA, 1999. [Google Scholar]
  45. Koffman, I.; Roman, V. Broadband wireless access solutions based on OFDM access in IEEE 802.16. IEEE Commun. Mag. 2002, 40, 96–103. [Google Scholar] [CrossRef]
  46. Society, I.C. IEEE Standard for Low-Rate Wireless Networks; IEEE: Piscataway, NJ, USA, 2015. [Google Scholar]
  47. Radmand, P.; Talevski, A.; Petersen, S.; Carlsen, S. Comparison of industrial WSN standards. In Proceedings of the 4th ieee international conference on digital ecosystems and technologies, Dubai, UAE, 13–16 April 2010; pp. 632–637. [Google Scholar]
  48. Wang, Q.; Jiang, J. Comparative examination on architecture and protocol of industrial wireless sensor network standards. IEEE Commun. Surv. Tutor. 2016, 18, 2197–2219. [Google Scholar] [CrossRef]
  49. Cheffena, M. Industrial Wireless Sensor Networks: Channel Modeling and Performance Evaluation. EURASIP J. Wirel. Commun. Netw. 2012, 2012. [Google Scholar] [CrossRef] [Green Version]
  50. Puccinelli, D.; Haenggi, M. Multipath fading in wireless sensor networks: Measurements and interpretation. In Proceedings of the 2006 International Conference on Wireless Communications and Mobile Computing, New York, NY, USA, 3–6 July 2006; pp. 1039–1044. [Google Scholar]
  51. Sklar, B. Rayleigh fading channels in mobile digital communication systems. I. Characterization. IEEE Commun. Mag. 1997, 35, 90–100. [Google Scholar] [CrossRef]
  52. Ozarow, L.H.; Shamai, S.; Wyner, A.D. Information Theoretic Considerations for Cellular Mobile Radio. IEEE Trans. Veh. Technol. 1994, 43, 359–378. [Google Scholar] [CrossRef]
  53. I Fabregas, A.G.; Caire, G. Coded Modulation in the Block-Fading Channel: Coding Theorems and Code Construction. IEEE Trans. Inf. Theory 2005, 52, 91–114. [Google Scholar] [CrossRef]
  54. Sandalidis, H.G.; Tsiftsis, T.A.; Karagiannidis, G.K.; Uysal, M. BER Performance of FSO Links over Strong Atmospheric Turbulence Channels with Pointing Errors. IEEE Commun. Lett. 2008, 12, 44–46. [Google Scholar] [CrossRef] [Green Version]
  55. Uysal, M.; Li, J.; Yu, M. Error Rate Performance Analysis of Coded Free-Space Optical Links over Gamma-Gamma Atmospheric Turbulence Channels. IEEE Trans. Wirel. Commun. 2006, 5, 1229–1233. [Google Scholar] [CrossRef] [Green Version]
  56. Pellenz, M.E.; Souza, R.D.; Fonseca, M.S.P. Error Control Coding in Wireless Sensor Networks. Telecommun. Syst. 2010, 44, 61–68. [Google Scholar] [CrossRef]
  57. Zakaria, Y.; Hosek, J.; Misurec, J. Path Loss Measurements for Wireless Communication in Urban and Rural Environments. Am. J. Eng. Appl. Sci. 2015, 8, 94–99. [Google Scholar] [CrossRef] [Green Version]
  58. Inaltekin, H.; Chiang, M.; Poor, H.V.; Wicker, S.B. On Unbounded Path-Loss Models: Effects of Singularity on Wireless Network Performance. IEEE J. Sel. Areas Commun. 2009, 27, 1078–1092. [Google Scholar] [CrossRef] [Green Version]
  59. Martinez-Sala, A.; Molina-Garcia-Pardo, J.M.; Egea-Ldpez, E.; Vales-Alonso, J.; Juan-Llacer, L.; Garcia-Haro, J. An accurate radio channel model for wireless sensor networks simulation. J. Commun. Netw. 2005, 7, 401–407. [Google Scholar] [CrossRef] [Green Version]
  60. Heinzelman, W.R.; Chandrakasan, A.; Balakrishnan, H. Energy-Efficient Communication Protocol for Wireless Microsensor Networks. In Proceedings of the 33rd Annual Hawaii International Conference on System Sciences, Maui, HI, USA, 4–7 January 2000; p. 10. [Google Scholar]
  61. Shih, E.; Calhoun, B.H.; Cho, S.H.; Chandrakasan, A.P. Energy-Efficient Link Layer for Wireless Microsensor Networks. In Proceedings of the IEEE Computer Society Workshop on VLSI 2001. Emerging Technologies for VLSI Systems, Orlando, FL, USA, 19–20 April 2001; pp. 16–21. [Google Scholar]
  62. 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. In Proceedings of the 7th Annual International Conference on Mobile Computing and Networking, Rome, Italy, 16–21 July 2001; pp. 272–287. [Google Scholar]
  63. Karvonen, H.; Shelby, Z.; Pomalaza-Raez, C. Coding for Energy Efficient Wireless Embedded Networks. In Proceedings of the International Workshop on Wireless Ad-Hoc Networks, Oulu, Finland, 31 May–3 June 2004; pp. 300–304. [Google Scholar]
  64. Karvonen, H. Energy Efficient Coding for Wireless Sensor Networks. Master’s Thesis, University of Oulu, Patio Oulu, Finland, 2004. [Google Scholar]
  65. Karvonen, H.; Pomalaza-raez, C. Coding for Energy Efficient Multihop Wireless Sensor Networks. In Proceedings of the Nordic Radio Symposium 2004/Finnish Wireless Communications Workshop 2004 (NRS/FWCW 2004), Oulu, Finland, 16–18 August 2004. [Google Scholar]
  66. Tian, Z.; Yuan, D.; Liang, Q. Energy Efficiency Analysis of Error Control Schemes in Wireless Sensor Networks. In Proceedings of the 2008 International Wireless Communications and Mobile Computing Conference, Crete Island, Greece, 6–8 August 2008; pp. 401–405. [Google Scholar]
  67. Donapudi, S.U.; Obel, C.O.; Madsen, J. Extending Lifetime of Wireless Sensor Networks using Forward Error Correction. In Proceedings of the 2006 NORCHIP, Linkoping, Sweden, 20–21 November 2006; pp. 277–280. [Google Scholar]
  68. Sinha, A.; Chandrakasan, A.P. JouleTrack- A Web Based Tool for Software Energy Profiling. In Proceedings of the 38th design automation conference (IEEE Cat. No. 01CH37232), Las Vegas, NV, USA, 18–22 June 2001; pp. 220–225. [Google Scholar]
  69. Balakrishnan, G.; Yang, M.; Jiang, Y.; Kim, Y. Performance Analysis of Error Control Codes for Wireless Sensor Networks. In Proceedings of the Fourth International Conference on Information Technology (ITNG’07), Las Vegas, NV, USA, 2–4 April 2007; pp. 876–879. [Google Scholar]
  70. Kasnavi, S.; Kilambi, S.; Crowley, B.; Iniewski, K.; Kaminska, B. Application of Error Control Codes (ECC) in Ultra-Low Power RF Transceivers. In Proceedings of the 2005 IEEE Dallas/CAS Workshop on Architecture, Circuits and Implementtation of SOCs, Richardson, TX, USA, 10 October 2005; pp. 195–198. [Google Scholar]
  71. Kleinschmidt, J.H. Analyzing and Improving the Energy Efficiency of IEEE 802.15.4 Wireless Sensor Networks using Retransmissions and Custom Coding. Telecommun. Syst. 2013, 53, 239–245. [Google Scholar] [CrossRef]
  72. Zhong, L.C.; Rabaey, J.M.; Wolisz, A. Does Proper Coding Make Single Hop Wireless Sensor Networks Reality: The Power Consumption Perspective. In Proceedings of the IEEE Wireless Communications and Networking Conference, New Orleans, LA, USA, 13–17 March 2005; Volume 2, pp. 664–669. [Google Scholar]
  73. Zhong, L.C.; Rabaey, J.M. A Unified Data-Link Energy Model for Wireless Sensor Networks; University of California: Berkeley, CA, USA, 2004. [Google Scholar]
  74. Ye, Y.; Liu, X.; Cho, H. An Energy-Efficient Single-Hop Wireless Sensor Network using Repeat-Accumulate Codes. In Proceedings of the 2008 International Conference on Communications, Circuits and Systems, Xiamen, China, 25–27 May 2008; pp. 419–423. [Google Scholar]
  75. Maunder, R.G.; Weddell, A.S.; Merrett, G.V.; Al-Hashimi, B.M.; Hanzo, L. Iterative Decoding for Redistributing Energy Consumption in Wireless Sensor Networks. In Proceedings of the 2008 17th International Conference on Computer Communications and Networks, St. Thomas, VA, USA, 3–7 August 2008; pp. 1–6. [Google Scholar]
  76. Schmidt, D.; Berning, M.; Wehn, N. Error Correction in Single-Hop Wireless Sensor Networks: A Case Study. In Proceedings of the Conference on Design, Automation and Test in Europe, Dresden, Germany, 8–12 March 2009; pp. 1296–1301. [Google Scholar]
  77. Jeong, J.; Ee, C.T. Forward Error Correction in Sensor Networks; University of California at Berkeley: Berkeley, CA, USA, 2003; pp. 1–13. [Google Scholar]
  78. Kashani, Z.H.; Shiva, M. BCH Coding and Multi-Hop Communication in Wireless Sensor Networks. In Proceedings of the 2006 IFIP International Conference on Wireless and Optical Communications Networks, Bangalore, India, 11–13 April 2006. [Google Scholar]
  79. Kashani, Z.H.; Shiva, M. Channel Coding in Multi-Hop Wireless Sensor Networks. In Proceedings of the 2006 6th International Conference on ITS Telecommunications, Chengdu, China, 21–23 June 2006; pp. 965–968. [Google Scholar]
  80. Islam, M.R. Error Correction Codes in Wireless Sensor Network: An Energy Aware Approach. Int. J. Comput. Inf. Eng. 2010, 4, 59–64. [Google Scholar]
  81. Singh, M.; Kumar, P. An Efficient Forward Error Correction Scheme for Wireless Sensor Network. Procedia Technol. 2012, 4, 737–742. [Google Scholar] [CrossRef] [Green Version]
  82. Nayak, A. Performance Analysis of LT Codes and BCH Codes in RF and FSO Wireless Sensor Networks. In Proceedings of the 2014 International Conference on Advances in Computing, Communications and Informatics (ICACCI), Delhi, India, 24–27 September 2014; pp. 87–92. [Google Scholar]
  83. Nithya, V.; Ramachandran, B.; Bhaskar, V. Energy Efficient Coded Communication for IEEE 802.15. 4 Compliant Wireless Sensor Networks. Wirel. Pers. Commun. 2014, 77, 675–690. [Google Scholar] [CrossRef]
  84. Abughalieh, N.; Steenhaut, K.; Nowé, A.; Anpalagan, A. Turbo Codes for Multi-hop Wireless Sensor Networks with Decode-and-Forward Mechanism. EURASIP J. Wirel. Commun. Netw. 2014, 2014, 204. [Google Scholar] [CrossRef] [Green Version]
  85. Tan, P.L.; Cheah, C.L.; Ho, C.K. Hardware Implementation of Reed–Solomon Error Correction Technique for Wireless Sensor Network based on Error Pattern Analysis. In Proceedings of the 2014 IEEE Region 10 Symposium, Kuala Lumpur, Malaysis, 14–16 April 2014; pp. 347–350. [Google Scholar]
  86. Chowdhury, S.M.; Hossain, A.; Debnath, S. Impact of Error Control Code on Characteristic Distance in Wireless Sensor Network. Wirel. Pers. Commun. 2017, 92, 1459–1471. [Google Scholar] [CrossRef]
  87. Subhagya, A.M.; Kaythry, P.; Kishore, R. LT Code Based Forward Error Control for Wireless Multimedia Sensor Networks. In Proceedings of the 2017 International Conference on Wireless Communications, Signal Processing and Networking (WiSPNET), Chennai, India, 22–24 March 2017; pp. 1612–1616. [Google Scholar]
  88. Jin, Y.; Chang, J.; Le, D. A high Energy Efficiency Link Layer Adaptive Error Control Mechanism for Wireless Sensor Networks. In Proceedings of the 2010 International Conference on Computational Intelligence and Software Engineering, Wuhan, China, 10–12 December 2010; pp. 1–4. [Google Scholar]
  89. Liankuan, Z.; Deqin, X.; Yi, T.; Yang, Z. Adaptive Error Control in Wireless Sensor Networks. In Proceedings of the IET International Conference on Wireless Sensor Network 2010 (IET-WSN 2010), Beijing, China, 15–17 November 2010. [Google Scholar]
  90. Sharma, H.; Sachan, V.K.; Imam, S.A.; Monika. Optimisation of Energy Efficiency in Wireless Sensor Networks using Error Control Codes. In Proceedings of the 2012 Students Conference on Engineering and Systems, Uttar Pradesh, India, 16–18 March 2012; pp. 1–6.
  91. Al-Suhail, G.A.; Louis, K.W.; Abdallah, T.Y. Energy Efficiency Analysis of Adaptive Error Correction in Wireless Sensor Networks. Int. J. Comput. Sci. Issues (IJCSI) 2012, 9, 79. [Google Scholar]
  92. Sasikala, T.; Bhagyaveni, M.A.; Kumar, V.J.S. Cross Layered Adaptive Rate Optimised Error Control Coding for WSN. Wirel. Netw. 2016, 22, 2071–2079. [Google Scholar] [CrossRef]
  93. Singh, J.; Pesch, D. Application of Energy Efficient Soft-Decision Error Control in Wireless Sensor Networks. Telecommun. Syst. 2013, 52, 2573–2583. [Google Scholar] [CrossRef]
  94. Eriksson, O. Error Control in Wireless Sensor Networks: A Process Control Perspective. Master’s Thesis, University of Uppsala, Uppsala, Sweden, 2011. [Google Scholar]
  95. Zhang, G.; Cai, S.; Xiong, N. The Application of Social Characteristic and L1 Optimization in the Error Correction for Network Coding in Wireless Sensor Networks. Sensors 2018, 18, 450. [Google Scholar] [CrossRef] [Green Version]
  96. Chen, S.; Wu, M.; Wang, K.; Sun, Z. Compressive Network Coding for Error Control in Wireless Sensor Networks. Wirel. Netw. 2014, 20, 2605–2615. [Google Scholar] [CrossRef]
  97. Roshanzadeh, M.; Saqaeeyan, S. Error detection & Correction in Wireless Sensor Networks by Using Residue Number Systems. Int. J. Comput. Netw. Inf. Secur. 2012, 4, 29. [Google Scholar]
  98. Madkour, M.; Soliman, S.; Varshney, P.K.; Moawad, M.; El-Samie, F.A. Coding and interleaving schemes for wireless sensor networks. In Proceedings of the 2012 8th International Conference on Informatics and Systems (INFOS), Giza, Egypt, 14–16 May 2012; p. NW-68. [Google Scholar]
  99. Kinoshita, K.; Ochiai, H. Energy minimization of wireless sensor networks based on modulation and coding optimization under finite frame length constraint. In Proceedings of the MILCOM 2012-2012 IEEE Military Communications Conference, Orlando, FL, USA, 29 October–1 November 2012; pp. 1–5. [Google Scholar]
  100. Wang, M.; Zhan, M.; Yu, K.; Deng, Y.; Shi, Y.; Zeng, J. Application of Bit Interleaving to Convolutional Codes for Short Packet Transmission. In Proceedings of the 2019 IEEE International Conference on Industrial Cyber Physical Systems (ICPS), Taipei, Taiwan, 6–9 May 2019; pp. 425–429. [Google Scholar]
  101. Barac, F.; Gidlund, M.; Zhang, T. Channel coding and interleaving in industrial WSN: Abiding to timing constraints and bit error nature. In Proceedings of the 2013 IEEE International Workshop on Measurements & Networking (M&N), Naples, Italy, 7–8 October 2013; pp. 46–51. [Google Scholar]
  102. Luo, T.; Tan, H.P.; Quek, T.Q. Sensor OpenFlow: Enabling software-defined wireless sensor networks. IEEE Commun. Lett. 2012, 16, 1896–1899. [Google Scholar] [CrossRef]
  103. Kadel, R.; Ahmed, K.; Nepal, A. Adaptive error control code implementation framework for software defined wireless sensor network (SDWSN). In Proceedings of the 2017 27th International Telecommunication Networks and Applications Conference (ITNAC), Melbourne, Australia, 22–24 November 2017; pp. 1–6. [Google Scholar]
  104. De Gante, A.; Aslan, M.; Matrawy, A. Smart wireless sensor network management based on software-defined networking. In Proceedings of the 2014 27th Biennial Symposium on Communications (QBSC), Kingston, ON, Canada, 1–3 June 2014; pp. 71–75. [Google Scholar]
Figure 1. Classification of Error Correction Scheme (ECS) for Wireless Sensor Network (WSN) in error correction context.
Figure 1. Classification of Error Correction Scheme (ECS) for Wireless Sensor Network (WSN) in error correction context.
Electronics 09 00504 g001
Figure 2. A systematic block code of codeword length n with k information bits and ( n k ) parity bits.
Figure 2. A systematic block code of codeword length n with k information bits and ( n k ) parity bits.
Electronics 09 00504 g002
Figure 3. Factor graph of the Low-Density Parity Check (LDPC) code.
Figure 3. Factor graph of the Low-Density Parity Check (LDPC) code.
Electronics 09 00504 g003
Figure 4. Illustration of a non-systematic convolutional encoder at half rate.
Figure 4. Illustration of a non-systematic convolutional encoder at half rate.
Electronics 09 00504 g004
Figure 5. Turbo encoder.
Figure 5. Turbo encoder.
Electronics 09 00504 g005
Figure 6. Channel adaptive model.
Figure 6. Channel adaptive model.
Electronics 09 00504 g006
Figure 7. A single hop WSN model.
Figure 7. A single hop WSN model.
Electronics 09 00504 g007
Figure 8. Multi-hop WSN model.
Figure 8. Multi-hop WSN model.
Electronics 09 00504 g008
Figure 9. Modified multi-hop WSN model.
Figure 9. Modified multi-hop WSN model.
Electronics 09 00504 g009
Figure 10. Radio model [60].
Figure 10. Radio model [60].
Electronics 09 00504 g010
Figure 11. A single hop wireless link.
Figure 11. A single hop wireless link.
Electronics 09 00504 g011
Figure 12. A packet format with packet length of α + n + τ .
Figure 12. A packet format with packet length of α + n + τ .
Electronics 09 00504 g012
Table 1. A summary of energy consumption and efficiency model.
Table 1. A summary of energy consumption and efficiency model.
Ref (Yr)Model / NetworkApplication Scenario(s)
[68] (01)Web based JouleTrack for energy consumption/Specific to sensor nodeEnergy consumption based on StrongARM SAA-1100 and Hitachi SH-4 microprocessors
[36] (03)Energy efficiency concept (uncoded and coded with BCH and covolutional code)/A single hop WSN modelRayleigh fading channel, binary orthogonal non-coherent frequency shift keying modulated data on frequency non-selective.
[63] (04)Energy efficiency of DC-balanced error correcting codes (BCH, Golay and SECDED)/A single hop WSN modelExtension work of [36]
[63,65] (04)The energy consumption per information bit neglecting startup, encoding and decoding energy cost/Multi-hop linear sensor modelRayleigh fading channel with Frequency Shift Keying (FSK) modulation with non-coherent detection
[70] (05)DEB / Not specific to any networkWithout considering transmission, electronics and encoding cost
[67] (06)Transmission cost model (uncoded and convolutional code with Viterbi decoding)/A single hop WSN modelExperimental based on Mica2 sensor node at outdoor environment
[69] (07)Power estimate based on specific devices/Specific to sensor nodePower consumption based on FPGA and ASIC
[66] (08)The energy efficiency (ARQ and BCH code)/A single hop WSN modelLog-distance path loss channel model, result based on Mica2 sensor node, ATmega128L processor and CC1000 radio module
[56] (10)The energy consumption by HARQ system incorporating re-transmission factor (convolutional code)/Modified multi-hop WSN modelLog-distance path loss channel model
[71] (13)Energy efficiency calculation based on packet error probability/Single hop and multi-hopRayleigh fading channel, Offset Quadrature Phase Shift Keying (OQPSK) modulation
Table 2. A review of FEC based ECS for SHAS structure.
Table 2. A review of FEC based ECS for SHAS structure.
Ref (Yr)Proposed FEC for Uplink and DownlinkApplication Scenario(s)Result(s)
[72] (05)Downlink-CRC with ARQ (no FEC) and uplink-convolutional code with Viterbi decodingSlow fading channelComparison of power consumption of the proposed convolutional code against distance.
[74] (08)Downlink-CRC with ARQ (no FEC) and uplink-RA code with SPA decodingWireless path loss model and AWGN channelComparison of power consumption between proposed RA code and convolutional code in single hop SAHS and RA outperforms convolutional code.
[75] (08)Downlink-no specific discussion and uplink-iterative decoding using BCJR algorithm at base station and rate-1 encoding at energy-constrained sensor nodeLine of Sight (LoS) and AWGN channelCoding gain
[76] (09)Downlink-no specific discussion and uplink-Turbo, repetition and convolutional codeExperimental setting is not clearExperimental measure result of energy consumption (based on MICAz hardware) for uncoded, repetition code and modified turbo code.
Table 3. A review of FEC based ECS for WSN.
Table 3. A review of FEC based ECS for WSN.
Ref (Yr)FEC(s)Network and ParametersResults
[77] (03)SECDED and DECTEDImplementation of single hop network in indoor and outdoor environmentMeasured results of packet drop rate, distribution of burst bit errors and distribution of burst packet errors
[78] (06)BCH codesA linear packet forwarding model considering single hop and multi-hops. Rayleigh flat fading channel with Amplitude Shift Keying (ASK) modulationEnergy efficiency comparison considering packet length and number of hops.
[79] (06)RS, BCH and convolutional codeA linear packet forwarding model considering single hop and multi-hops. Rayleigh flat fading channel with ASK modulationEnergy efficiency comparison and RS code is the most efficient among them.
[69] (07)RS, BCH and convolutional codeAWGN channelBER performance and power consumption per bit
[80] (010)RS codeExperimental setupRS code suitable on both power and BER constraints
[81] (012)Quasi cyclic codeOnly implementation ascpect of codingEnergy analysis in a limited case
[71] (013)BCH codeA linear multi-hop model with equal hop distance packet with Rayleigh slow fading channel and OQPSK modulationEneregy efficiency analysis
[84] (014)SCCCMulti-hop networkBER versus SNR for different scenarios
[82] (014)LT and BCH codesStandalone results considering RF (AWGN and LOS) and FSO (Gamma-Gamma distributions for turbulence) channelsEnergy per bit against distance and overhead versus probability of error.
[83] (014)BCH and cyclic codesRayleigh fading channelBER and energy spent per bit versus SNR for the codes.
[85] (014)RS codeExperimental setupError pattern analysis
[86] (017)BCH and RS codeA linear multi-hop model with equal hop distance packet with Rayleigh slow fading channel and FSK modulationAnalysis of characteristic distance
[87] (017)LT and RS codeTwo-tier wireless multimedia sensor network and binary erasure channelEvaluation of peak SNR and Structural index metrics
Table 4. A summary of adaptive ECS for WSN.
Table 4. A summary of adaptive ECS for WSN.
Ref (Yr)ECS(s) and Adaptive Parameter(s)NetworkResults
[56] (010)Convolutional code and encoder memory orderModified multi-hop WSN modelNormalised energy consumption and optimal memory order for specific SNR.
[88] (010)ARQ, HARQ and selecting among ARQ or HARQ according to distanceSingle-hop networkEnergy efficiency comparison
[89] (010)BCH and code rate (version)Single-hop networkExperimental result of version change
[94] (011)Adaptive hybrid BCH codeMulti-hop networkExpected energy consumption and latency analysis
[90] (012)Adaption frameworkSingle-hop networkStandalone BER results
[91] (012)BCH code with code rate variation depending on CSI and ACKSingle-hop networkEnergy efficiency result versus communication distance for BCH and adaptive error correcting code
[93] (013)Adaptive chase-2 decoding for BCH codeMulti-hop networkDecoding energy consumption for BCH code with standard chase and adaptive chase
[92] (016)LDPC code and code rateSingle-hop networkStandalone BER results
[35] (017)LDPC, ARQ and selection of ECS depends on CRC output and distanceMulti-hop networkTotal energy versus network lifetime
[37] (017)LDPC, RS and selecting among RS and LDPC depending on distanceMulti-hop networkTotal energy and number of nodes alive versus round
Table 5. A summary of ECS design issues, opportunities and challenges in WSN.
Table 5. A summary of ECS design issues, opportunities and challenges in WSN.
IssuesOpportunitiesChallenges
Most of energy efficiency and consumption model are based on old hardware and standardNeed to develop energy efficiency and consumption model incorporating current hardware and WSN nodesDifficult to infuse various node technologies and hardware in model.
Need dynamic and adaptive ECS to support WSN applicationsSupport varieties of applications, full utilisation of channel capacity and several design parametersDesign and implementation of re-configurable transmitter and receiver at energy constrained WSN node and energy analysis of re-configurable WSN nodes.
Need to assimilate interference from other networks during simulationPossible to replicate practical WSN situationsHard to emulate in simulation setting and experimental research is expected.
Lack of suitable network model and channel model to represent a practical WSNTo design a universal network model that covers various parameters including node feature, channel model, reliability, data rate, etc.WSN nodes are using different technologies, communication channel between nodes, reliability and other parameters are varying according to application.

Share and Cite

MDPI and ACS Style

Kadel, R.; Paudel, K.; Guruge, D.B.; Halder, S.J. Opportunities and Challenges for Error Control Schemes for Wireless Sensor Networks: A Review. Electronics 2020, 9, 504. https://doi.org/10.3390/electronics9030504

AMA Style

Kadel R, Paudel K, Guruge DB, Halder SJ. Opportunities and Challenges for Error Control Schemes for Wireless Sensor Networks: A Review. Electronics. 2020; 9(3):504. https://doi.org/10.3390/electronics9030504

Chicago/Turabian Style

Kadel, Rajan, Krishna Paudel, Deepani B. Guruge, and Sharly J. Halder. 2020. "Opportunities and Challenges for Error Control Schemes for Wireless Sensor Networks: A Review" Electronics 9, no. 3: 504. https://doi.org/10.3390/electronics9030504

APA Style

Kadel, R., Paudel, K., Guruge, D. B., & Halder, S. J. (2020). Opportunities and Challenges for Error Control Schemes for Wireless Sensor Networks: A Review. Electronics, 9(3), 504. https://doi.org/10.3390/electronics9030504

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop