180 likes | 383 Views
Team Return to Dust: Error Correction Codes. April 29, 2011. Matt Fillette Edward Huang Anand Kumar Joshi John Krier Fahad Mirza. Presentation Overview. Project Description System Architecture Implementation of Solutions Convolutional Codes Bose-Chaudhuri-Hocquenhem (BCH) Codes
E N D
Team Return to Dust:Error Correction Codes April 29, 2011 Matt Fillette Edward Huang Anand Kumar Joshi John Krier Fahad Mirza
Presentation Overview • Project Description • System Architecture • Implementation of Solutions • Convolutional Codes • Bose-Chaudhuri-Hocquenhem (BCH) Codes • Reed-Solomon (RS) Codes • Evaluation • Challenges Faced
Project Description • Energy savings is directly related to the lifetime of a wireless sensor network • Therefore, it is paramount to save energy • By default, motes have to retransmit whole packet even if just one bit is wrong (ARQ architecture) • Forward Error Correcting (FEC) codes is one way to save energy
System Architecture • Basic transmit and receive framework comprising of two micaZ motes • Sender mote • Responsible for creating and transmitting CRC-less packets of fixed lengths at periodic intervals • Sink mote • Responsible for receiving encoded packets from the sensor node as well as recording RSSI and noise floor values
System Architecture Continued • Two modes of operation • Online mode • Data collection for offline mode of operation • Offline mode • Data collected from online mode processed for post experiment analysis • Testing procedure • Varying SNR values simulated by iterative power level changes • Allowed for rapid testing of several hundred packets with even distribution of power levels
Implementation of Solutions • Three types of FEC used • Convolutional Codes • Bose-Chaudhuri-Hocquenhem (BCH) Codes • Reed-Solomon (RS) Codes • Had to turn off the Cyclic Redundancy Check (CRC) so that mote would even accept an imperfect packet • Otherwise would be no reason to implement FEC codes • Demo Break: show that motes have much longer range when CRC is disabled.
Convolutional Codes • Convolution encoding • Rate 1/2 and 1/3 tested with Constraint Length 3 and 9 • Demo break: show the Bit error rate for the convolutional code • Decoding • Implementation • Language used for implementation of encoder: C • Language used for decoding: Matlab
Convolutional Codes – Parameters & Results • Parameters: • Input bits (k) (ii) Output bits (n) (iii) Constraint length (K) • (iv) Bit error rate (v) Energy consumption Results:
Convolution Codes • Advantages • Secure (encoded bits are different from information bits) • Disadvantages • Not good at correcting burst errors without interleaver • Computationally intensive • Transmission (Tx/Rx) requires energy proportional to encoding rate
BCH Codes • How you did the implementation i.e. which portion of the code is where i.e. on Matlab + Mote • Evaluation capabilities (or performance) parameters • How did we calculate
BCH Codes - Results • Results of BCH
BCH Codes • Advantages: • Disadvantages:
RS Codes • How you did the implementation i.e. which portion of the code is where i.e. on Matlab + Mote • Evaluation capabilities (or performance) parameters • How did we calculate
RS Codes - Results • Results of RS codes
RS Codes • Advantages: • Disadvantages:
Evaluation • Preliminary testing found that implementing FEC’s does indeed lower the bit error rate • However with implementing any of our three error correction codes provided for a virtually perfect packet • In conclusion, simply turning off the CRC allowed the communication range of the mode to be extended by 30 feet
Challenges Faced • Turning –off CRC • Tradeoff: Spend extra energy to transmit redundant bits and have less retransmission requests versus save energy initially but have more retransmissions • RSSI data • Customizing payload size • ANSCI C