1 Forward Error Correction in Sensor Networks Jaein Jeong, Cheng-Tien Ee University of California, Berkeley.

Slides:



Advertisements
Similar presentations
Cyclic Code.
Advertisements

Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Wireless Sensor Networks Akyildiz/Vuran Administration Issues  Take home Mid-term Exam  Assign April 2, Due April 7  Individual work is required 
CSE 461: Error Detection and Correction. Next Topic  Error detection and correction  Focus: How do we detect and correct messages that are garbled during.
Reliability & Channel Coding
NETWORKING CONCEPTS. ERROR DETECTION Error occures when a bit is altered between transmission& reception ie. Binary 1 is transmitted but received is binary.
Cellular Communications
Chapter 10 Error Detection and Correction
DOT3 Radio Stack Sukun KimJaein Jeong A DOT3 Mote Design & Implementation Motivation Evaluation MICA is not enough for large scale applications. DOT3 is.
DIGITAL COMMUNICATION Coding
Incremental Network Programming for Wireless Sensors IEEE SECON 2004 Jaein Jeong and David Culler UC Berkeley, EECS.
Forward Error Correction Steven Marx CSC45712/04/2001.
Reliability and Channel Coding
Error Detection and Correction
Error Detection and Reliable Transmission EECS 122: Lecture 24 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Low Density Parity Check (LDPC) Code Implementation Matthew Pregara & Zachary Saigh Advisors: Dr. In Soo Ahn & Dr. Yufeng Lu Dept. of Electrical and Computer.
Channel Coding and Error Control
Channel Coding Part 1: Block Coding
4-2 binary fields and binary vector spaces Special Thanks to Dr. Samir Al-Ghadhban & EE430 Students.
British Computer Society
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 14.
Cyclic Code. Linear Block Code Hamming Code is a Linear Block Code. Linear Block Code means that the codeword is generated by multiplying the message.
Data Link Layer: Error Detection and Correction
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Chapter 10. Error Detection and Correction
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Error Detection and Correction
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
ADVANTAGE of GENERATOR MATRIX:
Linear Block Code 指導教授:黃文傑 博士 學生:吳濟廷
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
Computer Science Division
Computer Networks Lecture 2: Data Link Based on slides from D. Choffnes Northeastern U. and P. Gill from StonyBrook University Revised Autumn 2015 by S.
Error Detection and Correction
Computer Communication & Networks Lecture 9 Datalink Layer: Error Detection Waleed Ejaz
CHAPTER 3: DATA LINK CONTROL Flow control, Error detection – two dimensional parity checks, Internet checksum, CRC, Error control, Transmission efficiency.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Kyung Hee University Position of the data-link layer.
Chapter 10 Error Detection And Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Error Detection and Correction – Hamming Code
Data Link Layer. Data Link Layer Topics to Cover Error Detection and Correction Data Link Control and Protocols Multiple Access Local Area Networks Wireless.
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
Tufts University. EE194-WIR Wireless Sensor Networks. February 17, 2005 Increased QoS through a Degraded Channel using a Cross-Layered HARQ Protocol Elliot.
Data Communications and Networking
FEC Linear Block Coding
Hamming Distance & Hamming Code
Transmission Errors Error Detection and Correction.
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Data Link Layer 1. 2 Single-bit error 3 Multiple-bit error 4.
II. Linear Block Codes. © Tallal Elshabrawy 2 Digital Communication Systems Source of Information User of Information Source Encoder Channel Encoder Modulator.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Digital Communications Chapter 6. Channel Coding: Part 1
1 Wireless Networks Lecture 5 Error Detecting and Correcting Techniques (Part II) Dr. Ghalib A. Shah.
Communication Networks: Technology & Protocols
DATA COMMUNICATION AND NETWORKINGS
The Three Main Sources of Transmission Errors
Advanced Computer Networks
Error Detection and Correction
Reliability and Channel Coding
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Presentation transcript:

1 Forward Error Correction in Sensor Networks Jaein Jeong, Cheng-Tien Ee University of California, Berkeley

2 Motivation Packet errors occur in WSN. –Error recovery is required for correct delivery. Questions. –What kinds of error recovery method? –What level of error recovery capability?

3 Two methods for error recovery ARQ (Automatic Repeat reQuest) –A sends, and B acks. –A sends, B misses, and A resends. –TX cost increases with (#-nodes, #-TX). AB data ack AB data... retransmission of data ack

4 Two methods for error recovery FEC (Forward Error Correction) –A sends data with error correction code (ECC). –Preferable in broadcast and multi-hop network. –We focus on FEC for WSN. AB data + ECC

5 Choosing Right ECC for WSN Preliminary Experiment Our approach: 1-bit & 2-bit ECC for WSN. –Most packet errors are 1-bit or 2-bit.

6 Organization Background –Reed-Solomon, LT-code, 1-bit ECC. Theory –Linear block code, 1-bit & 2-bit ECC. Implementation –ECC implementation for Mica2dot w. CC1000. Experiment –Outdoor & indoor tests for several ECC. Conclusion

7 Background Reed-Solomon code, LT code –Better error-correction capability. –Complex computation, larger memory space. 1-bit ECC code for Mica (RFM TR1000) –Handles both 1-bit ECC & DC-balancing. –Not efficient for radio that already supports DC- balancing (e.g. CC1000).

8 Organization Background Theory Implementation Experiment Conclusion

9 Theory Based on linear block code over GF(2)*. –Message is represented as k-bit bitvector. Elements of bitvector: {0, 1} –Encoding & decoding: binary matrix multiplication. Addition and multiplication: bitwise XOR and AND Encoding Modulation Decoding Demodulation Noise Channel Encoded message: v = uG Received message: r Message: u Decoded message: u’ Syndrome: s = rH T *: Galois Field

10 Theory Encoding: –Encodes k-bit msg u to (k+r)-bit codeword v. –v = uG (u: msg, G: generator) Encoding Modulation Decoding Demodulation Noise Channel Encoded message: v = uG Received message: r Message: u Decoded message: u’ Syndrome: s = rH T

11 Theory Encoding: –Encodes k-bit msg u to (k+r)-bit codeword v. –v = uG (u: msg, G: generator) Decoding: –Decodes (k+r)-bit received data r into k-bit data u’. –Calculates syndrome s = rH T (r: received msg, H: parity) for locating bit errors. Encoding Modulation Decoding Demodulation Noise Channel Encoded message: v = uG Received message: r Message: u Decoded message: u’ Syndrome: s = rH T

12 Theory Locating bit errors: – – –Any non-zero syndrome s implies an error. Correcting bit errors: –If s matches i-th column of H, invert i-th bit of r. –Otherwise, bit error is not correctable.

13 Odd-weight-column code Odd-weight-column code is SECDED. –Single-Error-Correction & Double-Error-Detection. Ex: odd-weight-column w. k = 8, r = 5.

14 Odd-weight-column code Encoding: let message –Then, codeword TX error: suppose 2 nd bit of v is inverted. –Received bits Detecting error: –s matches 2 nd column of H  2 nd bit of v inverted.

15 Odd-weight-column code Error correction: –Calculating correct codeword. –Since first k-columns of G is identity matrix,

16 Double-bit error correction code Used (16,8) systematic, quasi-cyclic code. –Can correct 2-bit error and detect 3-bit error (DECTED). –Similar to SECDED except decoding. If syndrome s matches i th column of H, invert i th bit of r. If s matches sum of i th column of H and j th column of H, invert i th and j th bits of r. Otherwise, bit error is not correctable.

17 Double-bit error correction code Encoding: let message –Then, codeword TX error: 2 nd & 3 rd bits of v are inverted. –Received bits Detecting error:

18 Organization Background Theory Implementation Experiment Conclusion

19 Implementation Platform: Mica2dot with CC1000 radio. Three versions of ECC (1-bit & 2-bit) –SECDEC (13, 8) : 8-bit data, 13-bit codeword –SECDED (30, 24) : 24-bit data, 30-bit codeword –DECTED (16, 8) : 8-bit data, 16-bit codeword Implemented within MAC layer providing transparent packet interface. Lookup table of H for faster decoding.

20 Implementation Overhead in bytes to transmit due to ECC. –Assumes 20-byte preamble & 36-byte payload. – SECDED (8,13)SECDED (30,24)DECTED (16,8) r ecc 2byte / 1byte4byte / 3byte2byte / 1byte Overhead64.3%21.4%64.3%

21 Organization Background Theory Implementation Experiment Conclusion

22 Experimental Setup Four versions of ECC MAC were tested –NO FEC –SECDED(13,8) –SECDED(30,24) –DECTED(16,8) TX node sends a packet 5,000 times. Received data is logged for analysis.

23 Experimental Setup Outdoor test –Sender / receiver were 183m apart L.O.S. Indoor test –Four different sender locations in Cory Hall.

24 Result (Packet Drop) Our ECC implementation reduces packet error rate (PER), but it has limitations. Outdoor: ECC reduces PER to zero.

25 Result (Packet Drop) Indoor: PER > 0 due to multiple-bit errors.

26 Comparison among ECC schemes SECDED (13,8) has smallest packet drop. –SECDED (30,24) is weaker than SECDED(13,8) although more space-saving. DECTED(16,8) is no better than SECDEC (13,8). –Most errors are single-bit or multiple-bit.

27 Burst bit errors & packet losses Burst bit errors happen, but frequency of multiple packet drops is low. –A few retransmissions would be enough.

28 Organization Background Theory Implementation Experiment Conclusion

29 Conclusion A few versions of 1-bit & 2-bit ECC were implemented and tested on CC1000. ECC reduces packet drop rate, but not effective under burst bit errors. Under burst bit errors, a few re-TX can be used to further reduce packet drop rate.

30 Back-up Slides

31 GF(2): Galois Field with two elements Elements: {0, 1} Operation: addition (XOR), multiplication (AND) Closure property: –For any a, b in GF(2), a + b and a * b belongs to GF(2) f Other properties: –For any a in GF(2), a + a = *

32 Implementation Overhead in bytes to transmit due to ECC. –Assumes 20-byte preamble & 36-byte payload. DataParity Un- used Overhead (L ecc -L non-ecc ) / L non-ecc Packet Size (L ecc ) L no n -ecc SECDED (8,13) 8b5b3b64.3% 92B (= 20+36x2) 56B SECDED (30,24) 24b6b2b21.4% 68B (= 20+36x4/3) 56B DECTED (16,8) 8b 0b64.3% 92B (= 20+36x2) 56B