Lecture 3: Error Handling

Similar documents
Detecting and Correcting Bit Errors. COS 463: Wireless Networks Lecture 8 Kyle Jamieson

Lecture 6: Reliable Transmission"

Layering and Controlling Errors

Lecture 3: Modulation & Clock Recovery. CSE 123: Computer Networks Stefan Savage

Error Detection and Correction: Parity Check Code; Bounds Based on Hamming Distance

Lecture 3: Modulation & Clock Recovery. CSE 123: Computer Networks Alex C. Snoeren

QUIZ : oversubscription

Single Error Correcting Codes (SECC) 6.02 Spring 2011 Lecture #9. Checking the parity. Using the Syndrome to Correct Errors

CSCI-1680 Physical Layer Rodrigo Fonseca

CSE 123: Computer Networks Alex C. Snoeren. Project 1 out Today, due 10/26!

Digital Transmission using SECC Spring 2010 Lecture #7. (n,k,d) Systematic Block Codes. How many parity bits to use?

Data and Computer Communications

Lecture 23: Media Access Control. CSE 123: Computer Networks Alex C. Snoeren

Lecture 4: Wireless Physical Layer: Channel Coding. Mythili Vutukuru CS 653 Spring 2014 Jan 16, Thursday

Error Protection: Detection and Correction

Lecture 3 Data Link Layer - Digital Data Communication Techniques

Datacommunication I. Layers of the OSI-model. Lecture 3. signal encoding, error detection/correction

Chapter 6 Bandwidth Utilization: Multiplexing and Spreading 6.1

Chapter 10 Error Detection and Correction 10.1

FREDRIK TUFVESSON ELECTRICAL AND INFORMATION TECHNOLOGY

Lecture 17 Components Principles of Error Control Borivoje Nikolic March 16, 2004.

CSE 461: Bits and Bandwidth. Next Topic

EECS 122: Introduction to Computer Networks Encoding and Framing. Questions

Low overhead coding proposal 10GbE serial links

Introduc)on to Computer Networks

Lecture 8: Media Access Control

Intuitive Guide to Principles of Communications By Charan Langton Coding Concepts and Block Coding

Wireless Communications

Physical-Layer Services and Systems

Lecture (06) Digital Coding techniques (II) Coverting Digital data to Digital Signals

Encoding and Framing

Error Detection and Correction

Encoding and Framing. Questions. Signals: Analog vs. Digital. Signals: Periodic vs. Aperiodic. Attenuation. Data vs. Signal

White Paper FEC In Optical Transmission. Giacomo Losio ProLabs Head of Technology

EECS 473 Advanced Embedded Systems. Lecture 14 Wireless in the real world

EECS 473 Advanced Embedded Systems. Lecture 13 Start on Wireless

Error-Correcting Codes

CSE123A discussion session

Channel Coding RADIO SYSTEMS ETIN15. Lecture no: Ove Edfors, Department of Electrical and Information Technology

USB 3.1 ENGINEERING CHANGE NOTICE

Lecture 21: Links and Signaling

Chapter 4 Digital Transmission 4.1

Chapter 10 Error Detection and Correction

Methods for Reducing the Activity Switching Factor

RADIO SYSTEMS ETIN15. Channel Coding. Ove Edfors, Department of Electrical and Information Technology

Basics of Error Correcting Codes

The idea of similarity is through the Hamming

Digital Transmission

Two-Dimensional Codes for Low Power

Systems. Roland Kammerer. 29. October Institute of Computer Engineering Vienna University of Technology. Communication in Distributed Embedded

Class 4 ((Communication and Computer Networks))

Physical Layer. Networked Systems 3 Lecture 5

LECTURE VI: LOSSLESS COMPRESSION ALGORITHMS DR. OUIEM BCHIR

16.36 Communication Systems Engineering

Why Digital? Communication Abstractions and Digital Signaling

Digital to Digital Encoding

ECE 476/ECE 501C/CS Wireless Communication Systems Winter Lecture 9: Error Control Coding

The ternary alphabet is used by alternate mark inversion modulation; successive ones in data are represented by alternating ±1.

CDR in Mercury Devices

6.004 Computation Structures Spring 2009

Digital Data Communication Techniques

# 12 ECE 253a Digital Image Processing Pamela Cosman 11/4/11. Introductory material for image compression

A Level-Encoded Transition Signaling Protocol for High-Throughput Asynchronous Global Communication

LDPC Decoding: VLSI Architectures and Implementations

VANC data packets shall be carried in the Y stream of the HDTV serial interface as defined by Recommendation ITU-R BT.1120.

Block Ciphers Security of block ciphers. Symmetric Ciphers

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Intro to coding and convolutional codes

B.E SEMESTER: 4 INFORMATION TECHNOLOGY

Lecture 9b Convolutional Coding/Decoding and Trellis Code modulation

CS302 Digital Logic Design Solved Objective Midterm Papers For Preparation of Midterm Exam

Department of Computer Science and Engineering. CSE 3213: Communication Networks (Fall 2015) Instructor: N. Vlajic Date: Dec 13, 2015

Memory, Latches, & Registers

MODULE IV. End Sem. Exam Marks. Syllabus

Computer Networks. Week 03 Founda(on Communica(on Concepts. College of Information Science and Engineering Ritsumeikan University

Computer-Based Project in VLSI Design Co 3/7

Department of Electronics & Telecommunication Engg. LAB MANUAL. B.Tech V Semester [ ] (Branch: ETE)

Lecture 2: Links and Signaling"

Manchester Coding and Decoding Generation Theortical and Expermental Design

1 This work was partially supported by NSF Grant No. CCR , and by the URI International Engineering Program.

Lecture-8 Transmission of Signals

BSc (Hons) Computer Science with Network Security, BEng (Hons) Electronic Engineering. Cohorts: BCNS/17A/FT & BEE/16B/FT

Spreading Codes and Characteristics. Error Correction Codes

Wednesday, February 1, 2017

ET4254 Communications and Networking 1

and coding (a.k.a. communication theory) Signals and functions Elementary operation of communication: send signal on

Powerline Communication Link and below Layers

Monday, February 2, Is assigned today. Answers due by noon on Monday, February 9, 2015.

ECE 5325/6325: Wireless Communication Systems Lecture Notes, Spring 2013

Computer Science 1001.py. Lecture 25 : Intro to Error Correction and Detection Codes

Hello and welcome to today s lecture. In the last couple of lectures we have discussed about various transmission media.

Lec 19 Error and Loss Control I: FEC

SRV ENGINEERING COLLEGE SEMBODAI RUKMANI VARATHARAJAN ENGINEERING COLLEGE SEMBODAI

Exercises to Chapter 2 solutions

Department of Computer Science and Engineering. CSE 3213: Computer Networks I (Fall 2009) Instructor: N. Vlajic Date: Dec 11, 2009.

Nonlinear Multi-Error Correction Codes for Reliable MLC NAND Flash Memories Zhen Wang, Mark Karpovsky, Fellow, IEEE, and Ajay Joshi, Member, IEEE

Outline. EECS 122, Lecture 6. Error Control Overview Where are Codes Used? Error Control Overview. Error Control Strategies ARQ versus FEC

Standard single-purpose processors: Peripherals

Evaluation of HF ALE Linking Protection

Physical Layer. Networked Systems Architecture 3 Lecture 6

Transcription:

Lecture 3: Error Handling CSE 123: Computer Networks Alex C. Snoeren HW 1 Due NEXT WEDNESDAY

Lecture 3 Overview Framing wrap-up Clock-based framing Error handling through redundancy Hamming Distance When we can detect When we can correct Parity-based schemes 2

Clock-Based Framing So far, we ve based framing on what s on the wire Any bit errors may throw off our framing What happens with missed flag? Spurious flag? An alternative is to base framing on external clock Kind of like Phy-layer signaling: sample at specific intervals This is what SONET does, among others Significant engineering tradeoffs No extra bits needed in the data stream itself, but Need tight clock synchronization between sender and receiver 3

SONET Synchronous Optical NETwork Engineering goal to reduce delay and buffering All frames take same amount of time Independent of bit rate! Each frame starts with signal bits Can synch clock just like PLL look for periodic signal bits No need to stuff; signal pattern is unlikely, so won t be periodic in data 4

When Things Go Wrong Clock drift may confuse frame boundaries Read the end of one frame and beginning of the next What happens if there are bit errors on channel? We might misinterpret sentinels as data or vice versa What will the frames look like? In general, need some way to make sure we re OK Error detection and perhaps correction 5

Error Detection Implemented at many layers We ll mainly focus on link-layer techniques today 6

Basic Idea The problem is data itself is not self-verifying Every string of bits is potentially legitimate Hence, any errors/changes in a set of bits are equally legit The solution is to reduce the set of potential bitstrings Not every string of bits is allowable Receipt of a disallowed string of bits means the original bits were garbled in transit Key question: which bitstrings are allowed? 7

Codewords Let s start simple, and consider fixed-length bitstrings Reduce our discussion to n-bit substrings E.g., 7-bits at a time, or 4 bits at a time (4B/5B) Or even a frame at a time We call an allowable sequence of n bits a codeword Not all strings of n bits are codewords! The remaining n-bit strings are space between codewords Rephrasing previous question: how many codewords with how much space between them? 8

Hamming Distance 000000 000001 000011 000111 001111 011111 111111 Distance between legal codewords Hamming Distance = 3 Measured in terms of number of bit flips Efficient codes are of uniform Hamming Distance All codewords are equidistant from their neighbors 9

2d+1 Hamming Distance Can detect up to 2d bit flips The next codeword is always 2d+1 bit flips away Any fewer is guaranteed to land in the middle Can correct up to d bit flips We just move to the closest codeword Unfortunately, no way to tell how many bit flips» E.g., 1, or (2d+1)-1? d d 000000 000001 000011 000111 001111 011111 111111 2d+1 10

Encoding We re going to send only codewords Non-codewords indicate errors to receiver But we want to send any set of strings Need to embed arbitrary input into sequence of codewords 11

Simple Embedding: Parity 001 011 00 01 000 010 10 11 101 111 100 110 Code with Hamming Distance 2 Can detect one bit flip (no correction capability) Add extra bit to ensure odd(even) number of ones Code is 66% efficient (need three bits to encode two) Note: Even parity is simply XOR 12

Simple Correction: Voting 001 011 0 1 000 101 010 111 100 110 Simply send each bit n (3 in this example) times Code with Hamming Distance 3 (d=1) Can detect 2 bit flips and correct 1 Straightforward duplication is extremely inefficient We can be much smarter about this 13

Two-Dimensional Parity Data Parity Byte 0101001 1101001 1011110 0001110 0110100 1011111 Parity Bits 1 0 1 1 1 0 1111011 0 Start with normal parity n data bits, 1 one parity bit Do the same across rows m data bytes, 1 parity byte Can detect up to 3 bit errors Even most 4-bit errors Can correct any 1 bit error Why? 14

Per-Frame Detection Codes Header Payload EDC Want to add an error detection code per frame Frame is unit of transmission; all or nothing. Computed over the entire frame including header! Why? Receiver checks EDC to make sure frame is valid If frame fails check, throw it away We could use error-correcting codes But they are less efficient, and we expect errors to be rare Counter example: satellite communication 15

For Next Class We ll finish error detection and talk about reliable transport on Friday Read 2.5 in P&D 16