Top Banner
Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal
49

Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

Dec 19, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

Chapter 6:

Digital Data Communications Techniques

COE 341: Data & Computer Communications (T061)Dr. Radwan E. Abdel-Aal

Page 2: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

2

Where are we:

Physical Layer

Transmission Medium

Data Link

Chapter 4: Transmission Media

Chapter 3: Signals and their transmission over

media, Impairments

Chapter 5: Encoding Signals to represent Data

Chapter 7: Data Link: Flow and Error control

Chapter 6: Data Communication: Synchronization,

Error detection and correction

Chapter 8: Improved utilization: Multiplexing

Moving from Signal Transmission to Data Communication

Page 3: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

3

Contents1. Asynchronous and Synchronous Transmission

(6.1)

2. Types of Errors (6.2)

3. Error Detection (6.3)a. Parity Check

b. Cyclic Redundancy Check (CRC)

Page 4: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

4

Asynchronous and Synchronous Transmission: To communicate meaningful data serially between TX and RX, signal timing should be the same at both

Timing considerations include: Rate Duration Spacing

Need to synchronize RX to TX Two ways to achieve this:

Asynchronous Transmission Synchronous Transmission

• RX needs to sample the received data at mid-points • So it needs to establish:

- Bit arrival time- Bit duration

Page 5: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

5

Need for RX and TX Synchronization:

Clock drift (example): If the receiver clock drifts by 1% every sample time, For Tb = 1 sec, total drift after 50 bit intervals = 50 X 0.01 = 0.5 sec i.e. instead of sampling at the middle, the receiver will sample bit # 50

at the edge of the bit RX and TX clocks are out-of-synch Communication Error!

In general, No. of correctly sampled bits = 0.5 Tb/(n/100)Tb = 50/n,where n is the % timing error between TX and RX

Two approaches for correct reception: Send only a few bits ( e.g. a character) at a time (that RX can

sample correctly before losing sync) Asynchronous Transmission Keep receiver clock synchronized with the transmitter clock

Synchronous Transmission

Transmitter Receiver

TX Clock RX Clock

Tb

Page 6: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

6

Asynchronous (?) Transmission: Character-Level Synchronization

Avoids the timing problem by NOT sending long, uninterrupted streams of bits.

So data is transmitted one character at a time: Has a distinct start bit Consists of only 5 to 8 bits (so drift will not be a serious problem) Has a distinct stop bit

Character is delimited (at start & end) by known signal elements: start bit – stop element

Sync needs to be maintained only for the duration of a character

The receiver has a new opportunity to resynchronize at the beginning of next character Timing errors do not accumulate from character to character

Page 7: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

7

Asynchronous Transmission

RX “knows” how many bitsTo expect in a character, and keeps counting them following the ‘start’ bit

RX waits forA characterfollowing the endof the previous character

(Min)

• The ‘stop’ bits confirm end of character otherwise: Framing Error• Stop bits continue (idling)till next character

Binary 1Binary 1

Parity bit: Even or Odd parity?

S1S2

ReceiveStart bit

ReceiveStop element

S1: receiver in idling stateS2: receive in receiving state

Page 8: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

8

Asynchronous TransmissionFraming error

Erroneous detection of end/start of a character Can be caused by:

Noise: (1 is the idling ‘stop’ bit)

1 1 1 1 0 1 1 1 1 1 …

Incorrect timing of bit sampling due to drift of RX clock affects bit count

Erroneous ‘Start’ bit due to noise

Page 9: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

9

Asynchronous TransmissionErrors due to lack of sync for an 8-bit system Let data rate = baud rate = 10 kbps Bit interval = 1/10k = 100 s Assume RX’s clock is faster than TX by 6%

(i.e. RX thinks the bit interval is 94 s) RX checks mid-bit data at 47 s and then at 94 s intervals Bit 8 is wrongly sampled within bit 7 (bit 7 read twice!) Possibility of a framing error at the end

100 s

94 s

(Timing for ideal sampling at RX)

47 s

Half the bit interval from the ‘start’ rising edge

893

Page 10: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

10

Asynchronous Transmission: Efficiency Uses 1 start bit & 2 stop bits: (i.e. 3 non-data bits)

with 8-bit characters and no parity:

Efficiency = 8/(8+3) = 72%

Overhead = 3/(8+3) = 28%

Page 11: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

11

Asynchronous Transmission – Pros & ConsAdvantages:

Simple Cheap Good for data with large gaps (keyboard)

Snags: Overhead of 2 or 3 bits per character (~20%) Timing errors accumulate for large character

sizes

Page 12: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

12

Synchronous Transmission: Bit-Level Synchronization Allows transmission of large blocks of data

(frames) TX and RX Clocks must be synchronized to

prevent timing drift Ways to achieve bit-level sync:

Use a separate clock line between TX and RX Good over short distances Subject to transmission impairments over long distances

Embed clock signal in data e.g. Manchester or Differential Manchester encoding Or carrier frequency for analog signals

Page 13: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

13

Synchronous Frame Format

Typical Frame Structure

Preamble bit pattern:Indicates start of frame Postamble bit pattern:

Indicates end of frameControl fields: convey control information between TX and RX

Data field: data to be exchanged

data field8-bitflag

8-bitflag

control field control field

Preamble/Postamble flags ensure frame-level synchronization

Page 14: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

14

Synchronous Transmission: Efficiency

Example: HDLC scheme uses a total of 48 bits for control, preamble, and postamble fields per frame:

With a data block consisting of 1000 characters (8-bits each),

Efficiency = 8000/(8000+48) = 99.4%

Overhead = 48/8048 = 0.6% Higher efficiency and lower overhead compared to

asynchronous

Page 15: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

15

Errors in Digital Transmission Error occurs when a bit is altered between transmission and reception (0 1 or 1 0)

Two types of errors: Single bit errors

One bit altered Isolated incidence, adjacent bits not affected Typically caused by white noise

Burst errors Contiguous sequence of B bits in which first, last, and any number of

intermediate bits are in error Caused by impulse noise or fading (in wireless) More common, and more difficult to handle Effect is greater at higher data rates

What to do about these errors: Detect them (at least, so we can ask TX to retransmit!) Correct them (if we can)

Page 16: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

16

Error Detection & Correction: Motivation Assume NO error detection or correction: Number of erroneous frames received would be unacceptable

Hence, for a frame of F bits, Prob [frame is correct] = (1-BER)F : Decreases with increasing BER & F

Prob [frame is erroneous] = 1 - (1-BER)F = Frame Error Rate (FER)

1 0 1 0 1 0 0 0 1 0 1 0 … 0 0 1

1 2 3 4 … … F-2 F-1 F

Prob [1st bit in error] = BERProb [1st bit correct] = 1-BER

Prob [2nd bit in error] = BERProb [2nd bit correct] = 1-BER Prob [Fth bit in error] = BER

Prob [Fth bit correct] = 1-BER

A frame ofF bits

All bits must beCorrect!

All bits must beCorrect!

Page 17: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

17

Motivation for Error Detection & Correction: Example ISDN specifies a BER = 10-6 for a 64kbps channel

Frame size F = 1000 bits What is the FER?

FER = 1 – (1 – BER)F = 1 – (0.999999)1000 = 10-3

Assume a continuously used channel How many frames are transmitted in one day

Number of frames/day = (64,000/1000) × 24 × 3600 = 5.5296 × 106

How many erroneous frames/day? 5.5296 × 106 × 10-3 = 5.5296 × 103

Typical requirement: Maximum of 1 erroneous frame /day! i.e. frame error rate is too high!

We definitely need error detection & correction

Page 18: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

18

Frame Error Probabilities:

P1 + P2 + P3 = 1 Without error detection facility: P3 = 0, and:

P2 = 1 – P1

1 0 1 0 1 0 0 0 1 0 1 0 … 0 0 1

Correct Erroneous

P1 1 - P1

Errors, Detected

Errors, UndetectedP3

P2

With an error detectionfacility

1000

900 100

80 20

Page 19: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

19

Error Detection Techniques Two main error detection techniques:

Parity Check Cyclic Redundancy Check (CRC)

Both techniques use additional bits that are added to the “payload data” by the transmitter for the purpose of error detection

Page 20: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

20

Error Detection: Implementation

Mismatch: Error Detected

Page 21: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

21

Parity Check Simplest error-detection scheme Appending one extra bit:

Even Parity: Will append “1” such that the total number of 1’s is even

Odd Parity: Will append “1” such that the total number of 1’s is odd

Example: If an even-parity is used, RX will check if the total number of 1’s is even If it is not error occurred

Note: even number of bit errors go undetected

Page 22: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

22

Cyclic Redundancy Check (CRC) Burst errors will most likely go undetected by a simple

parity check scheme Instead, a more elaborate technique called Cyclic

Redundancy Check (CRC) is typically implemented CRC appends redundant bits to the frame trailer

called Frame Check Sequence (FCS) FCS is later utilized at RX for error detection

In a given frame containing n bits, we define: k = the number of original data bits (n – k) = the number of bits in the FCS field So, that the total frame length is k + (n – k) = n bits

1 0 1 0 0 0 1 1 0 1 01110

FCS (n-k) D (k)

T(n)

Page 23: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

23

CRC Generation CRC generation is all about finding the FCS

given the data (D) and a divisor (P)

There are three equivalent ways to see how the CRC code is generated: Modulo-2 Arithmetic Method Polynomial Method Digital Logic Method

1 0 1 0 0 0 1 1 0 1 01110

FCS or F (n-k) D (k)

T (n)

110101 P (n-k+1)

Page 24: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

24

Modulo 2 Arithmetic Binary arithmetic without carry Equivalent to XOR operation i.e:

0 0 = 0; 1 0 = 1; 0 1 = 1; 1 1 = 0 1 0 = 0; 0 1 = 0; 1 1 = 1

Examples: 1010+1010___________

0000

Page 25: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

25

CRC Error Detection Process Given k-bit data (D), the TX generates an (n – k)-bit

FCS field (F) such that the total n-bit frame (T) is exactly divisible by some (n-k+1)-bit predetermined devisor (P) (i.e. gives a zero remainder)

In general, the received frame may or may not be equal to the sent frame Let the received frame be (T’) In error-free transmission T’ = T

The RX then divides (T’) by the same known divisor (P) and checks if there is any remainder If division yields a remainder then the frame is erroneous If the division yields zero remainder then the frame is error-

free unless many erroneous bits in T’ resulted in a new exact division by P (This is very unlikely but possible, causing an undetected error!)

Page 26: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

26

CRC Generation

Divisor P:n – k + 1

FCS F:n – k

Data D:k bits

Frame T:n bits

Data D:

T = 2 (n – k) D + F

LSB

?

• P is 1-bit longer than F

• P Must start and end with 1’s

(n-k) left shifts(multiplications by 2)

Page 27: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

27

CRC Generation T = 2(n – k) D + F, What is F that makes T divides P exactly ? Claim: F is the remainder obtained from dividing {2(n – k) D} by divisor P

where Q is the quotient and F is the remainder If this is the correct F, T should now divide P with Zero remainder

Note: For F to be a remainder when dividing by P, it should be 1-bit smaller

P

FQ

P

D

2 k)-(n

Operation) XOR ,Arithmetic 2 moduloin 0F(F ; 0

(1) from first term for the ngSubstituti , 2 k)-(n

PQ

P

FFQ

P

F

P

FQ

P

F

P

D

P

T

(1)

Page 28: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

28

CRC Generation: 1. Modulo-2 Arithmetic Method At TX: CRC Generation (using previous rules):

Multiply: 2(n – k) D (left shift by (n-k) bits) Divide: 2(n – k) D / P Use the resulting (n – k)-bit remainder as the FCS

At RX: CRC Checking: RX divides the received T (i.e. T’) by the known divisor (P) and checks if there is any remainder

Page 29: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

29

Example – Modulo-2 Arithmetic Method Given

D = 1 0 1 0 0 0 1 1 0 1 P = 1 1 0 1 0 1

Find the FCS field Solution:

First we note that: The size of the data block D is k = 10 bits The size of P is (n – k + 1) = 6 bits

Hence the FCS length is n – k = 5

Total size of the frame T is n = 15 bits

Page 30: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

30

Example – Modulo-2 Arith. Method Solution (continued):

Multiply 2(n – k) D 2(5) 1 0 1 0 0 0 1 1 0 1 = 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 This is a simple shift to the left by five positions

Divide 2(n – k) D / P (see next slide for details) 1 0 1 0 0 0 1 1 0 1 0 0 0 0 0 ÷ 1 1 0 1 0 1 yields:

Quotient Q = 1 1 0 1 0 1 0 1 1 0 Remainder R = 0 1 1 1 0

So, FCS = R = 0 1 1 1 0: Append it to D to get the full frame T to be transmitted

T = 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0

M FCS

Page 31: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

31

Example – Modulo-2 Arith. Method

# of bits < # of bits in P, result of division is 0

Checks you should do (exercise): - Verify correct operation, i.e. that 2(n-k)D = P*Q + R- Verify that obtained T (101000110101110) divides P (110101) exactly (i.e. with zero remainder)

= FCS = F

Page 32: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

32

Problem 6-12 For P = 110011 & D = 11100011, find the CRC

Page 33: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

33

Chances of missing an error by CRC error detection

Let E be an n-bit number with a bit = 1 at the position of each error bit error occurring in T

Error occurring in T causes bit reversal Bit reversal is obtained by XORing with 1 So, received Tr = T E

Error is missed (not detected) if Tr is divisible by P Since T is made divisible by P, this requires that E

is also divisible by P!. That is a ‘bit’ unlikely!

Page 34: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

34

CRC Generation: 2. The Polynomial Method A k-bit word (D) can be expressed as a polynomial D(x) of degree (k-1) in a dummy variable x, with:

The polynomial coefficients being the bit values The powers of X being the corresponding powers of 2

bk-1 bk-2 … b2 b1 b0 bk-1Xk-1 + bk-2Xk-2 + … + b1X1 + b0X0

where bi (k-1 ≤ i ≤ 0) is either 1 or 0

Example1: an 8 bit word D = 11011001 is represented as D(X) = x7+x6+x4+x3+1

We ignore polynomial terms corresponding to 0 bits in the number

Page 35: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

35

CRC – Mapping Binary Bits into Polynomials Example2: What is x4D(x) equal to?

x4D(x) = x4(x7+x6+x4+x3+1) = x11+x10+x8+x7+x4, the equivalent bit pattern is 110110010000 (i.e. four zeros appended to the right of the original D pattern)

Example3: What is x4D(x) + (x3+x+1)?x4D(x) + (x3+x+1) = x11+x10+x8+x7+x4+ x3+x+1, the equivalent bit pattern is 110110011011 (i.e. pattern 1011 = x3+x+1 appended to the right of the original D pattern)

Page 36: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

36

CRC Generation: The Polynomial Way

T = 2(n – k) D + F

P

FQ

P

D

2 k)-(n

T(X) = X(n – k) D(X) + F(X)

Binary Arithmetic Polynomial

)(

)()(

)(

)( X k)-(n

XP

XFXQ

XP

XD

Page 37: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

37

CRC Calculation - Procedure

1. Shift pattern D(X), (n-r) bits to the left, i.e. perform the multiplication X(n-r)D(X)

2. Divide the new pattern by the divisor P(X)

3. The remainder of the division R(X) (n-r bits) is taken as FCS

4. The frame to be transmitted T(X) is X(n-r)D(X) + FCS

Page 38: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

38

Example of Polynomial Method

D = 1 0 1 0 0 0 1 1 0 1 (k = 10) P = 1 1 0 1 0 1 (n – k + 1 = 6)

n – k = 5 n = 15 Find the FCS field Solution:

D(X) = X9 + X7 + X3 + X2 + 1 P(X) = X5 + X4 + X2 + 1 X5D(X)/P(X) = (X14 + X12 + X8 + X7 + X5)/(X5 + X4 + X2 + 1)

This yields a remainder R(X) = X3 + X2 + X (details on next slide)

i.e. F = 01110 R is n – k = 5-bit long Remember to indicate any 0 bits!

Page 39: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

39

Example of Polynomial Method

1 0 1 0 0 0 1 1 0 1 01110

F = RD

110101P

TInsert 0 bits to make 5 bits

Page 40: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

40

Choice of P(X) How should we choose the polynomial P(X)

(or equivalently the divisor P)? The answer depends on the types of errors that are

likely to occur in our communication link As seen before, an error pattern E(X) will be

undetectable only if it is divisible by P(X) It can be shown that all the following error types are

detectable : All single-bit errors, if P(X) has two terms or more All double-bit errors, if P(X) has three terms or more Any odd number of errors, if P(X) contains the factor (X+1) Any burst error whose length is less than the FCS length (n – k) A fraction (=1-2-(n-k-1) ) of error bursts of length (n-k+1) A fraction (=1-2-(n-k) ) of error bursts of length > (n-k+1)

Page 41: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

41

Choice of P(X) In addition, if all error-patterns are equally likely, and r = n

- k = length of the FCS, then: For a burst error of length (r + 1), the probability of undetected error is

1/2(r – 1) For a longer burst error i.e. length > (r + 1), the probability of

undetected error is 1/2 r There are four widely-used versions of P(X)

CRC-12: P(X) = X12 + X11 + X3 + X2 + X + 1 (r = 13 -1 = 12)

CRC-16: P(X) = X16 + X15 + X2 + 1 (r = 17 -1 = 16) CRC-CCITT: P(X) = X16 + X12 + X5 + 1 CRC-32: P(X) = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10

+ X8 + X7 + X5 + X4 + X2 + X + 1 (r = 33 -1 = 32)

FCS is 1-bitshorter than P:

FCS Size

P(X) always starts with 1

Page 42: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

42

Some CRC Applications

CRC-8 and CRC-10 (not shown) are used in ATM CRC-12 is used for transmission of 6-bit

characters. Its FCS length is 12-bits CRC-16 & CRC-CCITT are used for 8-bit

characters in the US and Europe respectively Used in HDLC

CRC-32 is used for IEEE 802.3 LAN standard

Page 43: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

43

CRC Generation: 3. Digital Logic

Data Block, D

1010001101

• k = 10 (size of D) (known data to be TXed)• n – k + 1 = 6 size of P (known divisor) P (X) = X5+X4+X2+1 (110101)• n – k = 5 size of FCS (to be determined at TX) • n = 15

• 5-element left-shift register• Initially loaded with 0’s• After n left shifts, register will contain the required FCS

• Divisor is “hardwired” as feedback connections via XOR gates into the shift register cells• Starting at LSB, for the first (n-k) bits of P, add an XOR only for 1 bits

AlwaysAn XOR at C0

P = X5+X4+X2+X0

Page 44: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

44

CRC Generation at TX

P = X5+X4+X2+X0

FCS generated in the shift register after n (=15) shift steps

C0 inC2 inC4 in

D

Start with Shift RegisterCleared to 0’s

MSB

MSB

Inputs formed withCombination Logic

Page 45: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

45

CRC Checking at RX

P = X5+X4+X2+X0

C0 inC2 inC4 in

D

MSB

Start with Shift RegisterCleared to 0’s

Received F

rame, T

D

FCS

0’s in the shift register after n (=15) shift steps (if no errors)

Inputs formed withCombination Logic

MSB

15 bits

Page 46: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

46

Problem 6-13• A CRC is constructed to generate a 4-bit FCS

for an 11-bit message. The generator polynomial is X4+X3+1

a) Draw the shift register circuit that would perform this task

b) Encode the data bit sequence 10011011100 (leftmost bit is the LSB) using the generator polynomial and give the code word

c) Now assume that bit 7 (counting from the LSB) in the code word is in error and show that the detection algorithm detects the error

Page 47: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

47

Problem 6-13 – Solution a)

Input data

C0C1C2C3

b) Data (D) = 1 0 0 1 1 0 1 1 1 0 0

D(X) = 1 + X3 + X4 + X6 + X7 + X8

X4D(X) = X12 + X11 + X10 + X8 + X7 + X4

T(X) = X4M(X) + R(X) = X12 + X11 + X10 + X8 + X7 + X4 + X2

Code = 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0

c) Code in error = 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0

yields a nonzero remainder error is detected

T X P X

4 28 6 5 4 2 2 ( )

X M X XX X X X X R X X

P X P X

P(X) = X4+X3+1

LSB

Page 48: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

48

Error Correction Once an error is detected, what action can the

RX take?: Two alternatives:

RX asks for a retransmission of the erroneous frame Adopted by data-link protocols such as HDLC and

transport protocol such as TCP A Backward Error Correction (BEC) method

RX attempts to correct the errors if enough redundancy exists in the received data TX uses Block Coding to allow RX to correct

potential errors A Forward Error Correction (FEC) method Use in applications that leave no time for

retransmission, e.g. VoIP.

Page 49: Chapter 6: Digital Data Communications Techniques COE 341: Data & Computer Communications (T061) Dr. Radwan E. Abdel-Aal.

49

Error Correction vs. Error Control Backward error correction by retransmission is

not recommended in the following cases: Error rate is high (e.g. wireless communication)

Will cause too much retransmission traffic network overloading Transmission distance is long (e.g. satellite, submarine optical

fiber cables) Network becomes very inefficient (Not utilized properly)

Usually: Error Correction methods: Those that use FEC techniques Error Control methods: Those that use retransmission