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
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
and
) and modified turbo code (
). 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
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
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
. 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
to
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
. 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
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
. 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.