Lecture 3 Digital Transmission Fundamentals

Slides:



Advertisements
Similar presentations
Networks: Transmission Errors1 Transmission Errors Error Detection and Correction.
Advertisements

Introduction to Information Technologies
Reliability & Channel Coding
Error Detection and Correction
Transmission Errors Error Detection and Correction
ELEN 602 Lecture 4 Review of last lecture –Communication basics More on transmission media Errors in Transmission.
Error Detection and Correction
Coding and Error Control
Error Detection and Correction
PART III DATA LINK LAYER. Position of the Data-Link Layer.
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
Transmission Errors1 Error Detection and Correction.
7/2/2015Errors1 Transmission errors are a way of life. In the digital world an error means that a bit value is flipped. An error can be isolated to a single.
LECTURE 5 CT1303 LAN. DATA ENCODING Digital signal: is a sequence of discrete, discontinuous voltage pulses. Each pulse is a signal element Binary data.
Transmission Errors Error Detection and Correction
Data link layer: services
EE 3220: Digital Communication Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser Slman bin Abdulaziz.
Channel Coding and Error Control
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
CSE331: Introduction to Networks and Security Lecture 3 Fall 2002.
COM342 Networks and Data Communications
Overview of Network Protocols, Services & Layering OSI Reference Model TCP/IP Architecture Error Detection and Correction.
1 Data Link Layer Lecture 20 Imran Ahmed University of Management & Technology.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
Cyclic Codes for Error Detection W. W. Peterson and D. T. Brown by Maheshwar R Geereddy.
Error Coding Transmission process may introduce errors into a message.  Single bit errors versus burst errors Detection:  Requires a convention that.
CSC 535 Communication Networks I Section 3.8 Error Detection and Correction Dr. Cheer-Sun Yang.
Quiz #3 Compare the cross-bar switch and the multistage switch in terms of fault tolerance, blockness, and space complexity (i.e., number of cross points).
Chapter 3 Digital Transmission Fundamentals Line Coding Error Detection and Correction.
Data and Computer Communications Chapter 6 – Digital Data Communications Techniques.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Lecture 3-2: Coding and Error Control (Cont.) ECE
COSC 3213: Computer Networks I Instructor: Dr. Amir Asif Department of Computer Science York University Section M Topics: 1. Error Detection Techniques:
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
Digital Transmission Fundamentals
1/30/ :20 PM1 Chapter 6 ─ Digital Data Communication Techniques CSE 3213 Fall 2011.
Transmission Errors Error Detection and Correction.
Network Layer4-1 Chapter 5: The Data Link Layer Our goals: r understand principles behind data link layer services: m error detection, correction m sharing.
Chi-Cheng Lin, Winona State University CS412 Introduction to Computer Networking & Telecommunication Error Correction/Detection.
Channel Coding and Error Control 1. Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes.
Binary Codes.
Coding and Error Control
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
Dr. Clincy Professor of CS
CSE 5345 – Fundamentals of Wireless Networks
What is Line Coding? Mapping of binary information sequence into the digital signal that enters the channel Ex. “1” maps to +A square pulse; “0” to –A.
Introduction to Information Technologies
Error Detection and Correction (Pengesanan dan Pembetulan ralat)
Subject Name: COMPUTER NETWORKS-1
Communication Networks: Technology & Protocols
Advanced Computer Networks
Part III Datalink Layer 10.
Digital data communication (Error control)
Error Detection Bit Error Rate(BER): It is the ratio of number Ne of errors appearing over a certain time interval t to the number Nt of 1 and 0 pulses.
EEC4113 Data Communication & Multimedia System Chapter 5: Error Control by Muhazam Mustapha, August 2010.
CT1303 LAN Rehab AlFallaj.
Chapter 3 Digital Transmission Fundamentals
EEC-484/584 Computer Networks
Introduction to Information Technologies
NET301 Lecture 5 10/18/2015 Lect5 NET301.
NET301 Lecture 5 10/18/2015 Lect5 NET301.
DIGITAL COMMUNICATION Coding
Chapter Nine: Data Transmission
Transmission Errors Error Detection and Correction
Coding and Error Control
Protocols and the TCP/IP Suite
Transmission Errors Error Detection and Correction
عنوان درس نام استاد
EECS 122: EE122: Error Detection and Reliable Transmission
Presentation transcript:

Lecture 3 Digital Transmission Fundamentals Line Coding Error Detection and Correction

Lecture 3 Digital Transmission Fundamentals Line Coding

What is Line Coding? Mapping of binary information sequence into the digital signal that enters the channel Ex. “1” maps to +A square pulse; “0” to –A pulse

Line coding examples 1 Unipolar NRZ Polar NRZ NRZ-inverted (differential encoding) 1 Unipolar NRZ Bipolar encoding Manchester Differential Polar NRZ

Unipolar & Polar Non-Return-to-Zero (NRZ) 1 Unipolar NRZ Polar NRZ Unipolar NRZ “1” maps to +A pulse “0” maps to no pulse High Average Power Long strings of A or 0 Poor timing Low-frequency content Simple Polar NRZ “1” maps to +A/2 pulse “0” maps to –A/2 pulse Better Average Power Long strings of +A/2 or –A/2 Poor timing Low-frequency content Simple

Bipolar Code Three signal levels: {-A, 0, +A} 1 Bipolar Encoding Three signal levels: {-A, 0, +A} “1” maps to +A or –A in alternation “0” maps to no pulse String of 1s produces a square wave Spectrum centered at T/2 Long string of 0s causes receiver to lose synch Zero-substitution codes

Manchester code “1” maps into A/2 first T/2, -A/2 last T/2 Manchester Encoding “1” maps into A/2 first T/2, -A/2 last T/2 “0” maps into -A/2 first T/2, A/2 last T/2 Every interval has transition in middle Timing recovery easy Uses double the minimum bandwidth Simple to implement Used in 10-Mbps Ethernet & other LAN standards

Differential Coding “1” mapped into transition in signal level NRZ-inverted (differential encoding) Differential Manchester encoding “1” mapped into transition in signal level “0” mapped into no transition in signal level Also used with Manchester coding

Lecture 3 Digital Transmission Fundamentals Error Detection and Correction

Error Control Digital transmission systems introduce errors Applications require certain reliability level Data applications require error-free transfer Voice & video applications tolerate some errors Error control used when transmission system does not meet application requirement Error control ensures a data stream is transmitted to a certain level of accuracy despite errors Two basic approaches: Error detection & retransmission (ARQ: Automatic Retransmission Request) Forward error correction (FEC)

satisfy pattern or condition Key Idea All transmitted data blocks (“codewords”) satisfy a pattern If received block doesn’t satisfy pattern, it is in error Redundancy: Only a subset of all possible blocks can be codewords Blindspot: when channel transforms a codeword into another codeword Channel Encoder User information Pattern checking All inputs to channel satisfy pattern or condition output Deliver user information or set error alarm

Single Parity Check Append an overall parity check to k information bits Info Bits: b1, b2, b3, …, bk Check Bit: bk+1= b1+ b2+ b3+ …+ bk modulo 2 Codeword: (b1, b2, b3, …, bk,, bk+1) All codewords have even # of 1s Receiver checks to see if # of 1s is even All error patterns that change an odd # of bits are detectable All even-numbered patterns are undetectable Parity bit used in ASCII code

Example of Single Parity Code Information (7 bits): (0, 1, 0, 1, 1, 0, 0) Parity Bit: b8 = 0 + 1 +0 + 1 +1 + 0 = 1 Codeword (8 bits): (0, 1, 0, 1, 1, 0, 0, 1) If single error in bit 3 : (0, 1, 1, 1, 1, 0, 0, 1) # of 1’s =5, odd Error detected If errors in bits 3 and 5: (0, 1, 1, 1, 0, 0, 0, 1) # of 1’s =4, even Error not detected

Two-Dimensional Parity Check More parity bits to improve coverage Arrange information as columns Add single parity bit to each column Add a final “parity” column Used in early error control systems 1 0 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 0 1 0 0 1 1 1 Bottom row consists of check bit for each column Last column consists of check bits for each row

Error-detecting capability 1 0 0 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 1 0 Arrows indicate failed check bits Two errors One error Three errors Four errors (undetectable) 1, 2, or 3 errors can always be detected; Not all patterns >4 errors can be detected

Other Error Detection Codes Many applications require very low error rate Need codes that detect the vast majority of errors Single parity check codes do not detect enough errors Two-dimensional codes require too many check bits The following error detecting codes used in practice: CRC Polynomial Codes

Polynomial Codes Polynomials instead of vectors for codewords Polynomial arithmetic instead of check sums Implemented using shift-register circuits Also called cyclic redundancy check (CRC) codes Most data communications standards use polynomial codes for error detection Polynomial codes also basis for powerful error-correction methods

Binary Polynomial Arithmetic Binary vectors map to polynomials (ik-1 , ik-2 ,…, i2 , i1 , i0)  ik-1xk-1 + ik-2xk-2 + … + i2x2 + i1x + i0 Addition: (x7 + x6 + 1) + (x6 + x5) = x7 + x6 + x6 + x5 + 1 = x7 +(1+1)x6 + x5 + 1 = x7 +x5 + 1 since 1+1=0 mod2 Multiplication: (x + 1) (x2 + x + 1) = x(x2 + x + 1) + 1(x2 + x + 1) = x3 + x2 + x + (x2 + x + 1) = x3 + 1

Binary Polynomial Division Division with Decimal Numbers 35 ) 1222 3 105 17 2 4 140 divisor quotient remainder dividend 1222 = 34 x 35 + 32 dividend = quotient x divisor +remainder 32 x3 + x + 1 ) x6 + x5 x6 + x4 + x3 x5 + x4 + x3 x5 + x3 + x2 x4 + x2 x4 + x2 + x x = q(x) quotient = r(x) remainder divisor dividend + x + x2 x3 Polynomial Division Note: Degree of r(x) is less than degree of divisor

xn-ki(x) = q(x)g(x) + r(x) Polynomial Coding Code has binary generator polynomial of degree n–k g(x) = xn-k + gn-k-1xn-k-1 + … + g2x2 + g1x + 1 k information bits define polynomial of degree k – 1 i(x) = ik-1xk-1 + ik-2xk-2 + … + i2x2 + i1x + i0 Find remainder polynomial of at most degree n – k – 1 g(x) ) xn-k i(x) q(x) r(x) xn-ki(x) = q(x)g(x) + r(x) Define the codeword polynomial of degree n – 1 b(x) = xn-ki(x) + r(x) n bits k bits n-k bits

Polynomial example: k = 4, n–k = 3 Generator polynomial: g(x)= x3 + x + 1 Information: (1,1,0,0) i(x) = x3 + x2 Encoding: x3i(x) = x6 + x5 x3 + x + 1 ) x6 + x5 x3 + x2 + x x6 + x4 + x3 x5 + x4 + x3 x5 + x3 + x2 x4 + x2 x4 + x2 + x x 1011 ) 1100000 1110 1011 1010 010 Transmitted codeword: b(x) = x6 + x5 + x b = (1,1,0,0,0,1,0)

The Pattern in Polynomial Coding All codewords satisfy the following pattern: b(x) = xn-ki(x) + r(x) = q(x)g(x) + r(x) + r(x) = q(x)g(x) All codewords are a multiple of g(x)! Receiver should divide received n-tuple by g(x) and check if remainder is zero If remainder is nonzero, then received n-tuple is not a codeword

Standard Generator Polynomials CRC = cyclic redundancy check CRC-8: CRC-16: CCITT-16: CCITT-32: = x8 + x2 + x + 1 ATM = x16 + x15 + x2 + 1 = (x + 1)(x15 + x + 1) Bisync HDLC, XMODEM, V.41 = x16 + x12 + x5 + 1 IEEE 802, DoD, V.42 = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1