Digital Transmission Fundamentals

Slides:



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

Computer Interfacing and Protocols
Introduction to Information Technologies
Data and Computer Communications
Chapter 5 Analog Transmission
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
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.
Transmission Errors1 Error Detection and Correction.
1 ITC242 – Introduction to Data Communications Week 10 Topic 16 Data link control.
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.
Error Detection and Correction
1/26 Chapter 6 Digital Data Communication Techniques.
Transmission Errors Error Detection and Correction
Data link layer: services
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
1 CSC535 Communication Networks I Chapter 3b: Signal Encoding and Conversion Dr. Cheer-Sun Yang.
COM342 Networks and Data Communications
Overview of Network Protocols, Services & Layering OSI Reference Model TCP/IP Architecture Error Detection and Correction.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
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.
Data and Computer Communications
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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 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:
1 Introduction 4 Information transfer between two computers occurs in one of two types signals: digital or analog. Chapter 2 Introduction to Data Communication.
5: DataLink Layer5-1 Error Detection EDC= Error Detection and Correction bits (redundancy) D = Data protected by error checking, may include header fields.
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.
Lecture Focus: Data Communications and Networking  Data Link Layer  Error Control Lecture 19 CSCS 311.
1 © Unitec New Zealand CRC calculation and Hammings code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
EE 3220: Digital Communication Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser Slman bin Abdulaziz.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 PART III: DATA LINK LAYER ERROR DETECTION AND CORRECTION 7.1 Chapter 10.
David Wetherall Professor of Computer Science & Engineering Introduction to Computer Networks Error Coding Overview (§3.2)
1/30/ :20 PM1 Chapter 6 ─ Digital Data Communication Techniques CSE 3213 Fall 2011.
Transmission Errors Error Detection and Correction.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
Coding and Error Control
Lecture 4 Error Detecting and Correcting Techniques Dr. Ghalib A. Shah
Simple Parity Check The simplest form of error detection is the parity check used with ASCII codes, originally on asynchronous modem links Each 7 bit ASCII.
CSE 5345 – Fundamentals of Wireless Networks
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)
Chapter 3 Digital Transmission Fundamentals
Introduction to Information Technologies
Lecture 3 Digital Transmission Fundamentals
Transmission Errors Error Detection and Correction
Transmission Errors Error Detection and Correction
Presentation transcript:

Digital Transmission Fundamentals CSE3213 Computer Network I Chapter 3.7 and 3.9 Digital Transmission Fundamentals Course page: http://www.cse.yorku.ca/course/3213 Slides modified from Alberto Leon-Garcia and Indra Widjaja

Modem and Digital Modulation

Data Encoding Digital Data, Digital Signals NRZ, Bipolar, Manchester, etc. Digital Data, Analog Signals ASK, FSK, PSK, etc. Analog Data, Digital Signals PCM Analog Data, Analog Signals AM, FM, PM

Bandpass Channels fc – Wc/2 fc fc + Wc/2 fc – Wc/2 fc fc + Wc/2 Bandpass channels pass a range of frequencies around some center frequency fc Radio channels, telephone & DSL modems Digital modulators embed information into waveform with frequencies passed by bandpass channel Sinusoid of frequency fc is centered in middle of bandpass channel Modulators embed information into a sinusoid

Amplitude Modulation and Frequency Modulation Information 1 +1 Amplitude Shift Keying t T 2T 3T 4T 5T 6T -1 Map bits into amplitude of sinusoid: “1” send sinusoid; “0” no sinusoid Demodulator looks for signal vs. no signal +1 Frequency Shift Keying t T 2T 3T 4T 5T 6T -1 Map bits into frequency: “1” send frequency fc + d ; “0” send frequency fc - d Demodulator looks for power around fc + d or fc - d

Phase Modulation Information 1 +1 Phase Shift Keying -1 +1 -1 Phase Shift Keying T 2T 3T 4T 5T 6T t Map bits into phase of sinusoid: “1” send A cos(2pft) , i.e. phase is 0 “0” send A cos(2pft+p) , i.e. phase is p Equivalent to multiplying cos(2pft) by +A or -A “1” send A cos(2pft) , i.e. multiply by 1 “0” send A cos(2pft+p) = - A cos(2pft) , i.e. multiply by -1

Modulator & Demodulator Modulate cos(2pfct) by multiplying by Ak for T seconds: Ak x cos(2fct) Yi(t) = Ak cos(2fct) Transmitted signal during kth interval Demodulate (recover Ak) by multiplying by 2cos(2pfct) for T seconds and lowpass filtering (smoothing): x 2cos(2fct) 2Ak cos2(2fct) = Ak {1 + cos(22fct)} Lowpass Filter (Smoother) Xi(t) Yi(t) = Akcos(2fct) Received signal during kth interval PSK

Example of Modulation 1 +A -A +A -A Information Baseband Signal Information +A -A T 2T 3T 4T 5T 6T Baseband Signal +A -A T 2T 3T 4T 5T 6T Modulated Signal x(t) A cos(2pft) -A cos(2pft)

Example of Demodulation A {1 + cos(4pft)} -A {1 + cos(4pft)} +A -A T 2T 3T 4T 5T 6T After multiplication at receiver x(t) cos(2pfct) +A Baseband signal discernable after smoothing T 2T 3T 4T 5T 6T -A Recovered Information 1

Fact from modulation theory If Baseband signal x(t) with bandwidth B Hz B fc+B f fc-B fc then Modulated signal x(t)cos(2pfct) has bandwidth 2B Hz

Quadrature Amplitude Modulation (QAM) QAM uses two-dimensional signaling Ak modulates in-phase cos(2pfct) Bk modulates quadrature phase cos(2pfct + p/4) = sin(2pfct) Transmit sum of inphase & quadrature phase components x Ak Yi(t) = Ak cos(2fct) cos(2fct) + Y(t) Transmitted Signal x Bk Yq(t) = Bk sin(2fct) sin(2fct) Yi(t) and Yq(t) both occupy the bandpass channel QAM sends 2 pulses/Hz

QAM Demodulation x Y(t) Ak 2cos(2fct) 2cos2(2fct)+2Bk cos(2fct)sin(2fct) = Ak {1 + cos(4fct)}+Bk {0 + sin(4fct)} Lowpass filter (smoother) Ak 2Bk sin2(2fct)+2Ak cos(2fct)sin(2fct) = Bk {1 - cos(4fct)}+Ak {0 + sin(4fct)} 2sin(2fct) Bk smoothed to zero

Signal Constellations Each pair (Ak, Bk) defines a point in the plane Signal constellation set of signaling points Ak Bk Ak Bk (A, A) (A,-A) (-A,-A) (-A,A) 4 possible points per T sec. 2 bits / pulse 16 possible points per T sec. 4 bits / pulse

Other Signal Constellations Point selected by amplitude & phase Ak cos(2fct) + Bk sin(2fct) = √Ak2 + Bk2 cos(2fct + tan-1(Bk/Ak)) Ak Bk Ak Bk 4 possible points per T sec. 16 possible points per T sec.

Telephone Modem Standards Telephone Channel for modulation purposes has Wc = 2400 Hz → 2400 pulses per second Modem Standard V.32bis Trellis modulation maps m bits into one of 2m+1 constellation points 14,400 bps Trellis 128 2400x6 9600 bps Trellis 32 2400x4 4800 bps QAM 4 2400x2 Modem Standard V.34 adjusts pulse rate to channel 2400-33600 bps Trellis 960 2400-3429 pulses/sec

Error Detection

Error Control Error detection & retransmission (ARQ) 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) 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 Info Bits: b1, b2, b3, …, bk 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+!) 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

Checkbits & Error Detection Calculate check bits Channel Recalculate check bits Compare Information bits Received information bits Sent check bits Information accepted if check bits match Received check bits k bits n – k bits

How good is the single parity check code? Redundancy: Single parity check code adds 1 redundant bit per k information bits: overhead = 1/(k + 1) Coverage: all error patterns with odd # of errors can be detected An error pattern is a binary (k + 1)-tuple with 1s where errors occur and 0’s elsewhere Of 2k+1 binary (k + 1)-tuples, ½ are odd, so 50% of error patterns can be detected Is it possible to detect more errors if we add more check bits? Yes, with the right codes

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: Internet Check Sums CRC Polynomial Codes

Internet Checksum b0, b1, b2, ..., bL-1 Several Internet protocols (e.g. IP, TCP, UDP) use check bits to detect errors in the IP header (or in the header and data for TCP/UDP) A checksum is calculated for header contents and included in a special field. Checksum recalculated at every router, so algorithm selected for ease of implementation in software Let header consist of L, 16-bit words, b0, b1, b2, ..., bL-1 The algorithm appends a 16-bit checksum bL

Checksum Calculation The checksum bL is calculated as follows: Treating each 16-bit word as an integer, find x = b0 + b1 + b2+ ...+ bL-1 modulo 216-1 The checksum is then given by: bL = - x modulo 216-1 Thus, the headers must satisfy the following pattern: 0 = b0 + b1 + b2+ ...+ bL-1 + bL modulo 216-1 The checksum calculation is carried out in software using one’s complement arithmetic

Internet Checksum Example Use Modulo Arithmetic Assume 4-bit words Use mod 24-1 arithmetic b0=1100 = 12 b1=1010 = 10 b0+b1=12+10=7 mod15 b2 = -7 = 8 mod15 Therefore b2=1000 Use Binary Arithmetic Note 16 =1 mod15 So: 10000 = 0001 mod15 leading bit wraps around b0 + b1 = 1100+1010 =10110 =10000+0110 =0001+0110 =0111 =7 Take 1s complement b2 = -0111 =1000

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 generating 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 Encoding: Steps Multiply i(x) by xn-k Divide xn-ki(x) by g(x) xn-ki(x) = g(X)q(x) + r(x) Add remainder r(x) to xn-ki(x) b(x) = xn-ki(x) + r(x)  transmitted codeword

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

Undetectable error patterns b(x) e(x) R(x)=b(x)+e(x) + (Receiver) (Transmitter) Error polynomial (Channel) e(x) has 1s in error locations & 0s elsewhere Receiver divides the received polynomial R(x) by g(x) Blindspot: If e(x) is a multiple of g(x), that is, e(x) is a nonzero codeword, then R(x) = b(x) + e(x) = q(x)g(x) + q’(x)g(x) The set of undetectable error polynomials is the set of nonzero code polynomials Choose the generator polynomial so that selected error patterns can be detected.

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