Wireless Networks Lecture 4 Error Detecting and Correcting

  • Slides: 24
Download presentation
Wireless Networks Ü Lecture 4 Ü Error Detecting and Correcting Techniques Ü Dr. Ghalib

Wireless Networks Ü Lecture 4 Ü Error Detecting and Correcting Techniques Ü Dr. Ghalib A. Shah 1

Outlines Ü Ü Ü Review of previous lecture #3 Transmission Errors Parity Check Cyclic

Outlines Ü Ü Ü Review of previous lecture #3 Transmission Errors Parity Check Cyclic Redundancy Check Block Error Code Summary of today’s lecture 2

Last Lecture Review Ü Multiplexing ► FDM, TDM Ü Transmission Mediums ► Guided media

Last Lecture Review Ü Multiplexing ► FDM, TDM Ü Transmission Mediums ► Guided media ► Unguided media • • • Microwave Radio waves Infra red Ü Propagation modes ► Ground wave propagation ► Sky-wave propagation ► LOS propagation Ü Multi-path propagation Ü Fading 3

Coping with Transmission Errors Ü Error detection codes ► Detects the presence of an

Coping with Transmission Errors Ü Error detection codes ► Detects the presence of an error Ü Error correction codes, or forward correction codes (FEC) ► Designed to detect and correct errors ► Widely used in wireless networks Ü Automatic repeat request (ARQ) protocols ► Used in combination with error detection/correction ► Block of data with error is discarded ► Transmitter retransmits that block of data 4

Error Detection Process Ü Transmitter ► For a given frame, an error-detecting code (check

Error Detection Process Ü Transmitter ► For a given frame, an error-detecting code (check bits) is calculated from data bits ► Check bits are appended to data bits Ü Receiver ► ► Separates incoming frame into data bits and check bits Calculates check bits from received data bits Compares calculated check bits against received check bits Detected error occurs if mismatch 5

Error Detection Transmitter Receiver • Error detection not 100% reliable! • protocol may miss

Error Detection Transmitter Receiver • Error detection not 100% reliable! • protocol may miss some errors, but rarely • larger EDC field yields better detection and correction 6

Parity Checks Single bit Ü Ü Even or Odd parity Only single bit error

Parity Checks Single bit Ü Ü Even or Odd parity Only single bit error detection What about multiple bit errors Use when probability of bit errors is small and independent Ü Errors are usually clustered together The ability of receiver to both detect and correct errors is known as forward error correction (FEC) 7

Examples of parity bit check Adding parity bit 110001011 110001010 Odd parity errors 110101011

Examples of parity bit check Adding parity bit 110001011 110001010 Odd parity errors 110101011 110100011 Odd Even error detected error undetected 8

Two-dimensional parity checks Ü Ü Generalization of 1 -bit D bits are divided into

Two-dimensional parity checks Ü Ü Generalization of 1 -bit D bits are divided into i rows and j columns. D 1, 1 D 1, 2 … D 1, j+1 D 2, 2 … D 2, j+1 . . . …. …. …. . Di, 1 Di, 2 … Di, j+1 Di+1, 2 … Di+1, j+1 Ü Receiver can not only detect but correct as well using row, column indices 9

Example of 2 D Odd parity check Ü 1110010101111010 Ü Let i = 4,

Example of 2 D Odd parity check Ü 1110010101111010 Ü Let i = 4, j = 4 1110 0101 0111 1010 1001 Parity bits 0 1 1 1110 0001 0111 1010 1001 0 1 1 Error detection/correction 1110 0011 0111 1010 1001 0 1 1 Error detection/ no correction 10

Cyclic Redundancy Check (CRC) Ü Transmitter ► For a k-bit block, transmitter generates an

Cyclic Redundancy Check (CRC) Ü Transmitter ► For a k-bit block, transmitter generates an (n-k)-bit frame check sequence (FCS) ► Resulting frame of n bits is exactly divisible by predetermined number Ü Receiver ► Divides incoming frame by predetermined number ► If no remainder, assumes no error Ü Algorithm ► Generator: Transmitter and receiver agree on an r + 1 bit pattern P. ► Transmitter chooses r additional bits to append with k data bits. ► Which is remainder of d / P. ► Receiver: if remainder of D / P is 0 , success otherwise error 11

CRC using Modulo 2 Arithmetic Ü Exclusive-OR (XOR) operation Ü Parameters: • • •

CRC using Modulo 2 Arithmetic Ü Exclusive-OR (XOR) operation Ü Parameters: • • • T = n-bit frame to be transmitted D = k-bit block of data; the first k bits of T F = (n – k)-bit FCS; the last (n – k) bits of T P = pattern of n–k+1 bits; this is the predetermined divisor Q = Quotient R = Remainder 12

CRC using Modulo 2 Arithmetic Ü For T/P to have no remainder, start with

CRC using Modulo 2 Arithmetic Ü For T/P to have no remainder, start with Ü Divide 2 n-k. D by P gives quotient and remainder Ü Use remainder as FCS 13

CRC using Modulo 2 Arithmetic Ü Does R cause T/P have no remainder? Ü

CRC using Modulo 2 Arithmetic Ü Does R cause T/P have no remainder? Ü Substituting, ► No remainder, so T is exactly divisible by P 14

CRC Example Let d = 10111, P=1001 Q 101011 P 1001 `P(X) = X

CRC Example Let d = 10111, P=1001 Q 101011 P 1001 `P(X) = X 3 + 1 101110000 1001 1010 1001 D 1100 1001 1010 1001 011 T = 1011 R 15

CRC using Polynomials Ü All values expressed as polynomials ► Dummy variable X with

CRC using Polynomials Ü All values expressed as polynomials ► Dummy variable X with binary coefficients 16

CRC using Polynomials Ü Widely used versions of P(X) ► CRC– 12 • X

CRC using Polynomials Ü Widely used versions of P(X) ► CRC– 12 • X 12 + X 11 + X 3 + X 2 + X + 1 ► CRC– 16 • X 16 + X 15 + X 2 + 1 ► CRC – CCITT • X 16 + X 12 + X 5 + 1 ► CRC – 32 • X 32 + X 26 + X 23 + X 22 + X 16 + X 12 + X 11 + X 10 + X 8 + X 7 + X 5 + X 4 + X 2 + X+1 17

Wireless Transmission Errors Ü Error detection requires retransmission Ü Detection inadequate for wireless applications

Wireless Transmission Errors Ü Error detection requires retransmission Ü Detection inadequate for wireless applications ► Error rate on wireless link can be high, results in a large number of retransmissions ► Long propagation delay compared to transmission time 18

Block Error Correction Codes Ü Transmitter ► Forward error correction (FEC) encoder maps each

Block Error Correction Codes Ü Transmitter ► Forward error correction (FEC) encoder maps each k -bit block into an n-bit block codeword ► Codeword is transmitted; analog for wireless transmission Ü Receiver ► Incoming signal is demodulated ► Block passed through an FEC decoder 19

20

20

FEC Decoder Outcomes Ü No errors present ► Codeword produced by decoder matches original

FEC Decoder Outcomes Ü No errors present ► Codeword produced by decoder matches original codeword Ü Decoder detects and corrects bit errors Ü Decoder detects but cannot correct bit errors; reports uncorrectable error Ü Decoder detects no bit errors, though errors are present 21

Block Code Principles Ü Hamming distance – for 2 n-bit binary sequences, the number

Block Code Principles Ü Hamming distance – for 2 n-bit binary sequences, the number of different bits ► E. g. , v 1=011011; v 2=110001; ► 011011 XOR 110001 = 101010 ► d(v 1, v 2)=3 Ü Redundancy – ratio of redundant bits to data bits Ü Code rate – ratio of data bits to total bits Ü Coding gain – the reduction in the required Eb/N 0 to achieve a specified BER of an error-correcting coded system 22

Block Codes Ü The Hamming distance d of a Block code is the minimum

Block Codes Ü The Hamming distance d of a Block code is the minimum distance between two code words Ü Error Detection: ► Upto d-1 errors Ü Error Correction: ► Upto 23

Example of Block code Ü Let k = 2, n = 5 Data block

Example of Block code Ü Let k = 2, n = 5 Data block Codeword 00 01 10 11 00000 00111 11001 11110 Ü Suppose we receive 0 0 1 0 0 pattern Ü Minimum distance is with codeword 0 0 0, so we deduct 0 0 as data bits. 24