• No results found

LITERATURE REVIEW

2.5 FORWARD ERROR CORRECTION IN WSN

2.5.2 Reed Solomon Code in WSNs

In 1960, the Reed Solomon (RS) coding scheme was presented by Irving Reed and Gus Solomon [76] [79]. The discovery of Reed Solomon leads to broad range of applications, such as digital television, wireless communications, broadband, compact disc (CD) players, satellite communications etc [80]. Reed Solomon code is considered as a sub class of the Bose, Chaudhuri, and Hocquenghem (BCH) codes [17]. As compared to Hamming code, Reed Solomon has the capability in encoding more data since it can encode k number of symbols, with each discrete symbol is an m-bit of message [81].

For an (n, k) Reed Solomon (RS) code, the encoder will take in k information symbols and generates 2tnkof redundant symbols [82]. The redundant symbols produced by the RS encoder, are also known as the parity symbols that will be used in RS decoding. Having 2t redundant symbols, the encoder can combine both parity symbols and information symbols to produce one block of codeword, with n number of symbols for each codeword. With this configuration, the minimum distance of the Reed Solomon code will be dmin t2 1. The breakdown of one block of codeword produced by the Reed Solomon encoder is shown in Figure 12.

Figure 12 One codeword of Reed Solomon.

For RS coding scheme, the encoding of the input message involves the Galois Field arithmetic operations in generating the parity symbols. The Galois Field arithmetic operations are also involved in decoding the received RS codeword by the RS decoder. Consider that α to be a primitive element in the finite field GF(2m) with symbols of α, α2, ... , α2t-1, α2t are from the field GF(2m), the generator polynomial g(x) for RS(n,k) coding scheme for t number of error correcting capability is shown in

33

Equation (5) [17]. Using the generator polynomial g(x), the message symbols u(x) is multiplied with xn-k that shifts the message symbols into the rightmost k stages of a codeword. Then the message symbols are divided by the generator polynomial g(x) through the use of Galois Field arithmetic operations. In Equation (6), the remainder of the division operations produces 2t parity symbols p(x). After which the final codeword will be produced by having the message symbols added with the parity symbols, as shown in Equation (7).

generator polynomial,

In hardware implementation, the parity symbols are computed through the use of a division circuit, known as the Linear Feedback Shift Register (LFSR) circuit [17]

[83] [84]. Figure 13 represents the arrangement of the generator polynomial coefficients in the LFSR circuit. For the LFSR circuit, the message symbols will be clocked into the circuit sequentially to all the 2t registers at the input message symbols. While the message symbols are clocked in, Switch 1 is closed with Switch 2 is set to the input message symbols position. This will allow the k message symbols to be input into the registers and at the same time with the entire message symbols are clocked out as part of the codeword. After which the entire message symbols are input, the Switch 1 will be set to open and Switch 2 will be set to the output of LFSR circuit.

This will allow the 2t parity symbols to be output to form one block of complete codeword. As the Switch 1 is opened, the parity symbols that are shifted from one register to another would be affected. Consequently, the LFSR circuit requires a total of n clock cycles to generate one block of complete codeword for k message symbols and 2t parity symbols.

34 Figure 13 RS(n,k) encoder in LFSR circuit configuration [17].

Beside the Old-Weight-Column Code was used in the WSNs, the RS coding scheme was also used in WSNs to provide data reliability. For example in [85], RS coding scheme [76] was implemented on the WSNs using the Mica2Dot motes. The RS(29,8) coding scheme was then used in such implementation. It required 512Bytes for operation table, 64Bytes for matrix, 232Bytes for 8 packet buffers, 68Bytes for erasure code component and 4Bytes for other variables. Such implementation requires a larger amount of memory storage to store these data in the processor available at the motes [85].

In another literature [86], the effect of using different Forward Error Correction (FEC) codes for the developed AMPS sensor node was studied. The

AMPS sensor node was made up of Intel StrongARM 1100 processor and RFM-TR1000 radio module that operates at 916.5MHz. The FEC codes used in this study were the RS, Viterbi and Bose, Chaudhuri and Hoquenghem (BCH) coding schemes.

For this study, the energy consumption by different FEC codes decoding algorithms were determined by using the JouleTrack. By using JouleTrack, the RS coding scheme was found to be the most energy efficient for used in the WSNs as compared to the other FECs [86].

In simulation study [81], the Bit Error Rate (BER) performance of a few different FEC codes for WSNs were considered, which included Hamming, Golay, Convolution and RS coding schemes. Among these FEC codes, the RS coding scheme was considered to be the best choice for WSNs since it outperformed the others. With RS code considered, the power consumption for different of the RS coding schemes were studied. The RS(31,21) coding scheme was found to give the lowest power consumption in comparison with the other coderates of RS coding scheme. Therefore,

35

the RS(31,21) was considered to be the optimal choice of ECC for Wireless Sensor Network applications [81].

In [87], the Reed Solomon channel code was performed on WSNs by using software implementations. In this study, the CC2530 Texas Instrument sensor nodes (motes) were used. The use of soft implementations of Reed Solomon coding scheme on the transmitted data required MATLAB program that was run on a PC workstation.

Such implementation requires a PC to perform RS encoding before the image data transmit across the WSNs. It would not be feasible for actual WSNs deployment since a PC could not be put together to be used with a sensor node that has limited energy source [87].