data communications (under graduate course) lecture 5 of 5

35
Dr. Randa Elanwar 2012-2013

Upload: randa-elanwar

Post on 15-Jul-2015

259 views

Category:

Education


3 download

TRANSCRIPT

Dr. Randa Elanwar

2012-2013

Digital transmission systems introduce errorsCircuit Errors:

Background noise (electrical phenomenon)

Impulse noise (spike)

White noise

Attenuation

Envelope delay distortion (different propagation delay)

Phase jitter

Echo

Crosstalk

Data Communications Dr. Randa Elanwar 2012-2013 2

Applications require certain reliability level Data applications require error-free transfer Voice & video applications tolerate some errors

Error control used when transmission system does notmeet 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)

Data Communications Dr. Randa Elanwar 2012-2013 3

Data Communications Dr. Randa Elanwar 2012-2013 4

Signal received may differ from signal transmitted

Analog signals suffer from degradation of signal quality

Digital signals suffer from bit errors

Caused by

Attenuation

Delay distortion

Noise

Data Communications Dr. Randa Elanwar 2012-2013 5

Signal strength falls off with distance

Depends on medium

Received signal strength: must be enough to be detected

must be sufficiently higher than noise to be received without error

Attenuation is an increasing function of frequency; higher frequencies suffer from more attenuation. Can distort the signal.

Solution: Equalization. Boost higher frequency components.

Data Communications Dr. Randa Elanwar 2012-2013 6

Only in guided media

Propagation velocity varies with frequency

Velocity highest near center frequency

Results in phase shift at different frequencies

“Overlapping” bits

Solution: Equalization

Data Communications Dr. Randa Elanwar 2012-2013 7

Additional signals inserted between transmitter and receiver

Thermal Due to thermal agitation of electrons Uniformly distributed White noise

Intermodulation Signals that are the sum and difference of original frequencies

sharing a medium

Crosstalk A signal from one line is picked up by another

Impulse Irregular pulses or spikes e.g. External electromagnetic interference Short duration High amplitude

Data Communications Dr. Randa Elanwar 2012-2013 8

Data Communications Dr. Randa Elanwar 2012-2013 9

There are many ways to prevent errors: Shielding (adding insulation)

Moving cables away from noise sources

Changing multiplexing type (FDMTDM)

Tuning transmission equipment and improving connection quality

Using amplifiers and repeaters (attenuation)

Equalization (delay distortion)

Adaptive protocols: adaptive size packet protocol & dynamic speed shift

Echo suppressor

Data Communications Dr. Randa Elanwar 2012-2013 10

Can be called: feedback error control and can be done by different methods:

Echo checking every character

Vertical redundancy checking (VRC) or parity checking

Longitudinal redundancy checking (LRC) or block check character (BCC)

Checksum

Cyclic redundancy checking (CRC)

CRC-16 or CRC-32

Data Communications Dr. Randa Elanwar 2012-2013 11

Data Communications Dr. Randa Elanwar 2012-2013 12

Data Communications Dr. Randa Elanwar 2012-2013 13

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. Is it possible to detect more errors if we add more check bits?

Yes, with the right codes If codewords close to each other (slight differences)

then detection failures will occur. Good codes should maximize separation between codewords

Data Communications Dr. Randa Elanwar 2012-2013 14

Data Communications Dr. Randa Elanwar 2012-2013 15

Data Communications Dr. Randa Elanwar 2012-2013 16

The receiver computes the parity check from the received code word and compare them to the received parity bits (redundancy).

If the computed parity is equal to the received parity then data is accepted. Otherwise, a feed back control signal is sent to the transmitter indicating that undetectable error has happened and re-transmission is required. This is called “Automatic Repeat Request: ARQ”

Data Communications Dr. Randa Elanwar 2012-2013 17

In telecommunication, information theory, and coding theory, forward error correction (FEC) or channel coding is a technique used for controlling errors in data transmission over unreliable or noisy communication channels.

The central idea is the sender encodes their message in a redundant way by using an error-correcting code (ECC).

Data Communications Dr. Randa Elanwar 2012-2013 18

Data Communications Dr. Randa Elanwar 2012-2013 19

Taxonomy of coding in telecommunications

Automatic repeat request

(ARQ) coding

to correct errors by using a

feedback channel

A basic FEC digital communication system:

Data Communications Dr. Randa Elanwar 2012-2013 20

Source coding (data compression): the process of efficiently converting the output of a source into a sequence of binary digit.

Channel coding The introduction of redundancy in the information sequence for the purpose of combating the effects of noise and interference in the channel.

A basic FEC digital communication system:

Data Communications Dr. Randa Elanwar 2012-2013 21

Modulation A process that converts the digital information sequences into waveforms that are compatible with the characteristics of the channel.

Channel estimation Generally, channels may introduce distortion to the source signal, and the characteristics of the channel/distortion need to be estimated or identified at the receiver end, in order to reduce or eliminate the distortion and recover the original signal. This is called channel estimation or identification.

Answer: The redundancy allows the receiver to detect a limited number of errors that may occur anywhere in the message, and often to correct these errors without retransmission.

FEC gives the receiver the ability to correct errors without needing a reverse channel to request retransmission of data, but at the cost of a fixed, higher forward channel bandwidth.

FEC is then applied in situations where retransmissions are costly or impossible, such as one-way communication links and when broadcasting to multiple receivers in multicast.

FEC information is added to mass storage devices to enable recovery of corrupted data, and is widely used in modems.

Data Communications Dr. Randa Elanwar 2012-2013 22

The maximum fractions of errors or of missing bits that can be corrected is determined by the design of the FEC code, so different forward error correcting codes are suitable for different conditions.

A channel coding taxonomy:

Data Communications Dr. Randa Elanwar 2012-2013 23

Block codes work on fixed-size blocks (packets) of bits or symbols of predetermined size. Practical block codes can generally be decoded in polynomial time to their block length.

Convolutional codes work on bit or symbol streams of arbitrary length. They are most often decoded with the Viterbi algorithm, though other algorithms are sometimes used. Viterbi decoding allows optimal decoding, but at the expense of exponentially increasing complexity.

Data Communications Dr. Randa Elanwar 2012-2013 24

In coding theory, a linear code is an error-correcting code for which any linear combination of codewords is also a codeword. Linear codes are traditionally partitioned into block codes and convolutional codes. Linear codes allow for more efficient encoding and decoding algorithms than other codes.

Example: (Modular addition: 0 + 0 = 0, 1 + 1 = 0, 0 + 1 = 1)

Data Communications Dr. Randa Elanwar 2012-2013 25

V1 = 0 0 0 0 V2 = 1 0 0 0 V3 = 1 1 0 0 V4 = 0 1 0 0

V1 + any vector = same vectorV2 + V3 = V4V3 + V4 = V1

We will only consider one of the two main categories of FEC codes: block codes

Error-correcting codes are used to reliably transmit digital data over unreliable communication channels subject to channel noise.

When a sender wants to transmit a possibly very long data stream using a block code, the sender breaks the stream up into pieces of some fixed size.

Each such piece is called message (k bits) and the procedure given by the block code encodes each message individually into a codeword (n bits), also called a block in the context of block codes.

n > k i.e., the codewords in a linear block code are blocks of symbols which are encoded using more symbols than the original message to be sent (redundancy).

Data Communications Dr. Randa Elanwar 2012-2013 26

Note: feedback control appends redundancy in the form of parity check without encoding the information, whereas, FEC redundantly encodesthe information message to a larger block of information.

Note: in feedback control receiver eliminates redundant bits to recover information, whereas, in FEC receiver uses some decoding mechanism to recover the original messages from the received blocks.

In FEC the performance and success of the overall transmission depends on the parameters of the channel and the block code.

Data Communications Dr. Randa Elanwar 2012-2013 27

The rate R The rate of a block code is defined as the ratio between its

message length and its block length:

R = k / n

The number k is called the message length or dimension of a block code or number of bases (rank). The block length n of a block code is the number of symbols in a block.

A large rate means that the amount of actual message per transmitted block is high. In this sense, the rate measures the transmission speed and the quantity (1-R) measures the overhead that occurs due to the encoding with the block code.

Data Communications Dr. Randa Elanwar 2012-2013 28

The distance d

The distance or minimum distance of a block code is the minimum number of positions in which any two distinct codewords differ.

Since any two codewords will disagree in at least one position, so the distance of any code is at least 1.

A larger distance allows for more error correction and detection.

Data Communications Dr. Randa Elanwar 2012-2013 29

The weight of a codeword is the number of its elements that are nonzero and the distance between two codewords is the Hamming distance between them, that is, the number of elements in which they differ.

The distance d of a code is minimum weight of its nonzero codewords, or equivalently, the minimum distance between distinct codewords. A linear code of length n, dimension k, and distance d is called an [n,k,d] code.

Data Communications Dr. Randa Elanwar 2012-2013 30

The entire code C (which may be very large) may be represented as the span of a minimal set of codewords (known as a basis). These basis codewords are often collected in the rows of a matrix G known as a generating matrix for the code C.

A code of length n and of rank k (i.e., having k code words in its basis and k rows in its generating matrix) is generally referred to as an (n, k) code. Linear block codes are frequently denoted as [n, k, d] codes, where d refers to the code's minimum Hamming distance between any two code words.

Data Communications Dr. Randa Elanwar 2012-2013 31

Block codes error detection and correction rules: A code with distance d allows the receiver to detect up

to d-1 transmission errors since changing d-1 positions of a codeword can never accidentally yield another codeword.

Furthermore, if no more than (d-1)/2 transmission errors occur, the receiver can uniquely decode the received word to a codeword. This is because every received word has at most one codeword at distance (d-1)/2 .

If more than (d-1)/2 transmission errors occur, the receiver cannot uniquely decode the received word in general as there might be several possible codewords.

Data Communications Dr. Randa Elanwar 2012-2013 32

Examples of block codes are Reed–Solomon codes, Hamming codes, Hadamard codes, Expander codes, Golay codes, and Reed–Muller codes.

Example: Hamming codesAs the first class of linear codes developed for error correction purpose, the Hamming codes has been widely used in digital communication systems.

For example, the [7,4,3] Hamming code is: a linear binary code which represents 4-bit messages using 7-bit

codewords. Two distinct codewords differ in at least three bits (d). As a consequence, up to two errors per codeword can be

detected (d-1) and a single error can be corrected ([d-1]/2). This code contains 24=16 codewords

Data Communications Dr. Randa Elanwar 2012-2013 33

For any positive integer r2 , there exists a [2r-1,2r-r-1,3]2 Hamming code. Since d = 3, this Hamming code can correct 1-bit error.

Example : The linear block code with the following generator matrix is a [7,4,3]2

Hamming code

Data Communications Dr. Randa Elanwar 2012-2013 34

To compose the code V corresponding to any information message U, all we have to do is to multiply the message vector to the generator matrix G.

V = U.G

If U = 1010

then, V = 0 0 1 1 0 1 0

Similarly for the whole 16 messages we can get the corresponding 16 linear block codes

Weight(V) = 3

If V2 = 1 0 1 1 0 0 1, then distance between V and V2 = d(V,V2) = 3

Data Communications Dr. Randa Elanwar 2012-2013 35