Interleaving Compounding Packets & Convolution Codes

Slides:



Advertisements
Similar presentations
Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Advertisements

Convolutional Codes Representation and Encoding  Many known codes can be modified by an extra code symbol or by deleting a symbol * Can create codes of.
Decoding of Convolutional Codes  Let C m be the set of allowable code sequences of length m.  Not all sequences in {0,1}m are allowable code sequences!
Cyclic Code.
Error Control Code.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Coding and Error Control
Lecture 9-10: Error Detection and Correction Anders Västberg Slides are a selection from the slides from chapter 8 from:
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.
DIGITAL COMMUNICATION Coding
Error Detection and Correction
#4 1 Victor S. Frost Dan F. Servey Distinguished Professor Electrical Engineering and Computer Science University of Kansas 2335 Irving Hill Dr. Lawrence,
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
ECED 4504 Digital Transmission Theory
S Advanced Digital Communication (4 cr)
Channel Coding and Error Control
Coding and Error Control
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
PART III DATA LINK LAYER. Position of the Data-Link Layer.
British Computer Society
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
COEN 180 Erasure Correcting, Error Detecting, and Error Correcting Codes.
Data and Computer Communications by William Stallings Eighth Edition Digital Data Communications Techniques Digital Data Communications Techniques Click.
Unit 5 Lecture 2 Error Control Error Detection & Error Correction.
1 Chapter 8. Coding and Error Control Wen-Shyang Hwang KUAS EE.
Basic Characteristics of Block Codes
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Data Link Layer PART III.
Error Detection and Correction
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
DIGITAL COMMUNICATIONS Linear Block Codes
1 Channel Coding (III) Channel Decoding. ECED of 15 Topics today u Viterbi decoding –trellis diagram –surviving path –ending the decoding u Soft.
Error Detection and Correction
CHAPTER 3: DATA LINK CONTROL Flow control, Error detection – two dimensional parity checks, Internet checksum, CRC, Error control, Transmission efficiency.
Computer Communication & Networks Lecture 10 Datalink Layer: Error Correction Waleed Ejaz
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Chapter 10 Error Detection And Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Error Correction Code (2)
Error Detection and Correction – Hamming Code
Data Link Layer. Data Link Layer Topics to Cover Error Detection and Correction Data Link Control and Protocols Multiple Access Local Area Networks Wireless.
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.
A simple rate ½ convolutional code encoder is shown below. The rectangular box represents one element of a serial shift register. The contents of the shift.
Data Communications and Networking
Dr. Muqaibel \ EE430 Convolutional Codes 1 Convolutional Codes.
SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Convolutional Codes.
Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is.
Coding and Error Control
Hamming Distance & Hamming Code
ECE DIGITAL LOGIC LECTURE 15: COMBINATIONAL CIRCUITS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2015, 10/20/2015.
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Error Detection and Correction
Communication Networks: Technology & Protocols
DATA COMMUNICATION AND NETWORKINGS
S Digital Communication Systems
Chapter 10 Error Detection And Correction
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Error Correction Code (2)
Chapter 10: Error-Control Coding
Coding and Error Control
Error Detection and Correction
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Homework #2 Due May 29 , Consider a (2,1,4) convolutional code with g(1) = 1+ D2, g(2) = 1+ D + D2 + D3 a. Draw the.
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Error Correction Coding
IV. Convolutional Codes
Presentation transcript:

Interleaving Compounding Packets & Convolution Codes

Chunk Interleaving Another way to achieve Forward Error Correction in multimedia is to allow some small chunks to be missing at the receiver. We cannot afford to let all the chunks belonging to the same packet be missing; however, we can afford to let one chunk be missing in each packet. We achieve this through chunk interleaving by producing interleaved code. 10.#

Interleaved codes Block parity and Hamming codes are not suited for burst errors because multiple errors cannot be detected by these codes. Interleaving is carried out to spread burst errors into single bit errors which can be detected and corrected by these codes. This technique involves writing m consecutive n-bit code words in m x n matrix and then transmitting the bits column-wise instead of row-wise. Parameter m is called depth of interleaved code.

Figure : Interleaving 10.#

Example : Construct interleaved code with depth 3 for word “HELLO Example : Construct interleaved code with depth 3 for word “HELLO !” using even parity Solution @ Even parity at eight bit position Bit Position 8 7 6 5 4 3 2 1 H E L O !

Since the depth is three, three rows are transmitted at a time as interleaved code. The transmission sequence starting from LSB will be as under which is final interleaved code 010 000 000 101 101 000 111 011 011 010 010 110 001 001 110 110

Combining Hamming Distance Hamming distance and interleaving can be combined. We can first create n-bit packets that can correct t-bit errors. Then we interleave m rows and send the bits column by column. In this way, we can automatically correct burst errors up to m × t bits of errors. 10.#

Compounding Still another solution is to create a duplicate of each packet with a low-resolution redundancy and combine the redundant version with the next packet. For example, we can create four low-resolution packets out of five high-resolution packets and send them as shown in Figure. 10.#

Figure: Compounding high-and-low resolution packets 10.#

Convolution codes In block codes in which the check bits are computed for a block of data, convolution codes are generated over a ‘span’ of data bits, e.g. convolution code of constraint length 3 is generated bit by bit using the ‘last 3 data bits’. Each data bit convolved with neighboring bits so that if it gets corrupted during transmission, enough information is carried by the neighboring bits to determine the transmitted bit.

O/P Vector of Convolution coder 1 1 [z1 z2] = [xn xn-1 xn-2] 1 0

State transition diagram of this encoder is shown in next figure State transition diagram of this encoder is shown in next figure. Each circle in the diagram represent a state of the encoder, which is the content of two leftmost stages of the shift register. There are four possible states 00,01,10,11. The arrows represent the state transition for the input bit that can be 0 or 1. The label on each arrow shows the input data bit by which the transition is caused and the corresponding output bits.

As example, suppose the initial state of the encoder is 00 and the input data sequence is 1011. The corresponding output sequence of the encoder will be 11010010.

Solution Starting from A at the top left corner in figure and tracing the path through the trellis for the input sequence 0101, we get the output bits as bits as shown in the following table: Output bit sequence : 0 0 1 1 0 1 0 0 Present State Input bit Next state Output bits A 00 1 C 11 B 01

Decoding algorithm (Viterbi algorithm ): Decoder for the convolution code is based on the maximum likelihood principle. Knowing the encoder behavior and received sequence of bits, we can find the most likely transmitted sequence by analyzing all the possible paths through the trellis. The path which result in the output sequence which is nearest to the received sequence is chosen and the corresponding input bits are the decoded data bits. The decoding algorithm is known as Viterbi algorithm.

Step 1. At any point of analysis Step 1. At any point of analysis. When segment of two paths converge on the same state, we chose one of the paths which is nearer to the received sequence up to that point, for further analysis. Note that a pair of paths converse on each state, e.g. state A can be reached via AAAA or ABCD. But path AAAA result in output sequence 000000 which is at a distance of 4 from the first six bits of the received sequence.

In the case of the other path ABCD, this distance is only 3 In the case of the other path ABCD, this distance is only 3. Because we are looking for a sequence with the smallest distance, we need not consider the first path for further analysis are ACBA, ACDB, ACBC, and ACDD.

Step 2. Having considered the first three pairs of the bits, let us move further. Transitions from the last state arrived at the first step, will result in two potential states depending on the next input bit. Distances of the resulting bit sequence from the received sequence are given in table. Note that we have computed the distances for only selected paths of the first step. The minimum distance is for the path ACBCD which corresponding to the correct data bit sequence 1011.

Example : What is the message sequence if the received rate ½ encoded bit sequence is 00010100? Use the trellis diagram given in figure Solution Drawing the path through trellis, we select the paths AAAA, AACB, AAAC, and AACD in the first step as indicated in the following table. The next step leads to the path AACBC that gives output sequence nearest to the received code word. Therefore the corrected received sequence is 00110100 and the message is 0101.

First step Next step Data bits Path Output sequence Distance from 000101 Next data bits Next state Distance from 00010100 000 AAAA 000000 2 A 00000000 1 C 00000011 4 100 ACBA 110111 3 110 ACDB 111010 6 010 AACB 001101 00110111 00110100 001 AAAC 000011 B 00001101 D 00001110 101 ACBC 110100 111 ACDD 111001 011 AACD 001110 00111010 00111001

Convolutional codes suffer from one disadvantage Convolutional codes suffer from one disadvantage. Decoding can take place when the whole block is received. The block size is usually large and therefore the decoding delay is also large.

Method Reverse error correction The reverse error correction is more economical than forward error correction in terms of the number of check bits There are three basic mechanisms of reverse error correction: Stop and wait, Go-back-N, Selective retransmission.

In data communication, reverse error correction method are used extensively. The underlying principles behind these method are introduced below. Stop and wait : The sending end transmit one block of data at s time and then waits for acknowledgement from the receiver.

The data block contains check bits for error detection The data block contains check bits for error detection. If the receiver detects any error in the data block, it sends a request for retransmission in the form of negative acknowledgement. If there is no error, the receiver sends a positive acknowledgement, after receiving which the sending end transmits the next block of data.

Go-back-N : The data blocks are numbered and the sending end keeps transmitting the data blocks with check bits. Whenever the receiver detects the error in a block, it sends a retransmission request indicating the sequence number of the data block received with errors. The sending end then starts retransmission of all the data blocks from the requested data block onwards.

Selective retransmission : If the receiver is equipped with the capability of putting the received data block in sequence it requests for selective retransmission of the data block containing errors. On receipt of the request, the sending end retransmits the data block but skips the following data block already transmitted. It continues with the next data block