Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is.

Slides:



Advertisements
Similar presentations
Convolutional Codes Mohammad Hanaysheh Mahdi Barhoush.
Advertisements

Logical Operations on Images Boolean logic is a system of logical operations defined by George Boole in the mid 19th century to apply algebraic operations.
High Boost filtering In image processing, it is often desirable to emphasize high frequency components representing the image details without eliminating.
6.375 Project Arthur Chang Omid Salehi-Abari Sung Sik Woo May 11, 2011
Maximum Likelihood Sequence Detection (MLSD) and the Viterbi Algorithm
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 17: Application-Driven Hardware Acceleration (3/4)
ECE 559 VLSI – Design Project Viterbi Decoder VLSI Design Project Spring 2002 Dan Breen Keith Grimes Damian Nowak David Rust Advisor: Prof. Goeckel.
EE 3220: Digital Communication Dr Hassan Yousif 1 Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser.
EE 3220: Digital Communication Dr Hassan Yousif 1 Dr. Hassan Yousif Ahmed Department of Electrical Engineering College of Engineering at Wadi Aldwasser.
Hamming Code A Hamming code is a linear error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect up to two bit errors,
Syndrome Decoding of Linear Block Code
ECED 4504 Digital Transmission Theory
S Advanced Digital Communication (4 cr)
Binary Exponential Backoff Binary exponential backoff refers to a collision resolution mechanism used in random access MAC protocols. This algorithm is.
Document that explains the chosen concept to the animator.
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 12.
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
Welcome This is a document to explains the chosen concept to the animator. This will take you through a 5 section process to provide the necessary details.
Logic Gates Part – III : Combinational Logic Gates Combinational Logic Circuits are made up from basic logic NAND, NOR or NOT gates that are "combined"
1 Channel Coding (III) Channel Decoding. ECED of 15 Topics today u Viterbi decoding –trellis diagram –surviving path –ending the decoding u Soft.
Last time, we talked about:
Electrical Resistivity in Superconductors The electrical resistivity of many metals and alloys drops suddenly to zero when the specimen is cooled to a.
Timo O. Korhonen, HUT Communication Laboratory 1 Convolutional encoding u Convolutional codes are applied in applications that require good performance.
Error Correction Code (2)
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.
Wireless Communication Research Lab. CGU What is Convolution Code? 指導教授:黃文傑 博士 學生:吳濟廷
Welcome This is a template to create an Instructional Design Document of the concept you have selected for creating animation. This will take you through.
Dr. Muqaibel \ EE430 Convolutional Codes 1 Convolutional Codes.
Line Coding Schemes ‏Line coding is the process of converting binary data, a sequence of bits to a digital signal. Authors Phani Swathi Chitta Mentor Prof.
SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Convolutional Codes.
Edge Detection using Laplacian of Gaussian Edge detection is a fundamental tool in image processing and computer vision. It identifies points in a digital.
Welcome This is a document to explains the chosen concept to the animator. This will take you through a 5 section process to provide the necessary details.
Gaussian Smoothing Gaussian Smoothing is the result of blurring an image by a Gaussian function. It is also known as Gaussian blur.  Course Name: Digital.
Interleaving Compounding Packets & Convolution Codes
Coding No. 1  Seattle Pacific University Digital Coding Kevin Bolding Electrical Engineering Seattle Pacific University.
CSMA/CD Simulation Carrier Sense Multiple Access (CSMA), although more efficient than ALOHA or slotted ALOHA, still has one glaring inefficiency: When.
Linear Search Linear Search is a fundamental search algorithm. Linear search, also known as sequential search, is a process that checks every element in.
Median Filtering In signal processing, it is often desirable to be able to perform some kind of noise reduction on an image or signal. The median filter.
Electrical Resistivity in Superconductors The electrical resistivity of many metals and alloys drops suddenly to zero when the specimen is cooled to a.
Go-Back-N ARQ (Sliding Window Protocol) Go-Back-N is an instance of the Automatic Repeat-request (ARQ) Protocol, in which the sending process continues.
Document that explains the chosen concept to the animator 1.
Process Scheduling In multiprogramming systems, when there is more than one ready process, the operating system must decide which one to activate. The.
Document that explains the chosen concept to the animator
DIGITAL SYTEM DESIGN MINI PROJECT CONVOLUTION CODES
The Viterbi Decoding Algorithm
What is this “Viterbi Decoding”
S Digital Communication Systems
COS 463: Wireless Networks Lecture 9 Kyle Jamieson
Subject Name: Information Theory Coding Subject Code: 10EC55
Error Correction Code (2)
Error Correction Code (2)
Prof. Saravanan Vijayakumaran
Dilation The basic morphological operations applied to either grayscale or binary images are Erosion and Dilation. Erosion shrinks image objects while.
Closing One of the important morphological operations applied to either grayscale or binary images is Closing. It is derived from the fundamental operations.
Erosion The basic morphological operations applied to either grayscale or binary images are Erosion and Dilation. Erosion shrinks image objects while.
Binary Search A binary search algorithm finds the position of a specified value within a sorted array. Binary search is a technique for searching an ordered.
Sorted Linked List A linked list is a data structure that consists of a sequence of data records such that in each record there is a field that contains.
Prof. Saravanan Vijayakumaran
Discrete Convolution of Two Signals
Continuous Time Convolution
Error Correction Code (2)
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.
Error Correction Coding
IV. Convolutional Codes
Party Problem The simplest example of Ramsey theory. It is also known as the ‘Maximum Clique Problem’. A clique of a graph is a complete sub graph of the.
Reconfigurable Computing (EN2911X, Fall07)
Opening One of the important morphological operations applied to either grayscale or binary images is Opening. It is derived from the fundamental operations.
Image Sharpening using Laplacian
Presentation transcript:

Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is transformed into n-bit symbol. Convolutional codes are used extensively in numerous applications in order to achieve reliable data transfer, including digital video, radio, mobile communication, and satellite communication. These codes are often implemented in concatenation with a hard- decision code, particularly Reed Solomon. Author Phani Swathi Chitta Mentor Prof. Saravanan Vijayakumaran Course Name: Error Correcting Codes Level : UG

Learning Objectives After interacting with this Learning Object, the learner will be able to: Explain the convolutional encoding and Viterbi (decoding) Algorithms

Definitions of the components/Keywords: A convolutional encoder is a finite state machine. An encoder with n registers will have 2 n states. Convolutional codes have memory that uses previous bits to encode or decode following bits The most commonly known graphical representation of a code is the trellis representation. A code trellis diagram is simply an edge labeled directed graph in which every path represents a code sequence. This representation has resulted in a wide range of applications of convolutional codes for error control in digital communications. Viterbi algorithm is used for decoding a bit stream that has been encoded using forward error correction based on a convolutional code. Viterbi decoding compares the hamming distance between the branch code and the received code. Path producing larger hamming distance is eliminated. In information theory, the Hamming distance between two strings of equal length is the number of positions at which the corresponding symbols are different.

Master Layout /00 1/11 0/01 0/11 1/10 1/01 0/10 1/00 Encoder State diagram Trellis Diagram Place a dropdown box for encoder and decoder Part 1 – Encoder Part 2 – Decoder

Step 1: I nstruction for the animator T ext to be displayed in the working area (DT) The encoder figure in the master layout is shown first. Along with that show the state diagram without arrows(show only the ovals) After first sentence in DT, red 0 must appear. Then the circles should blink and blue 0s must appear. The initial state of encoder is 00 which represents the contents of the shift register in the encoder. Input 0is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 2: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 0 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram. 0/00 represents input/output Input data: /00 0 0

Step 3: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 1 must appear. Then the circles should blink and blue 1s must appear. Input 1is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 4: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 1 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/ Input data:

Step 5: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 0 must appear. Then the circles should blink and blue 01 must appear. Input 0is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 6: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 0 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/11 0/ Input data:

Step 7: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 0 must appear. Then the circles should blink and blue 1s must appear. Input 0is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 8: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 0 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/11 0/01 0/ Input data:

Step 9: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 1 must appear. Then the circles should blink and blue 1s must appear. Input 1is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 10: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 0 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/11 0/01 0/ Input data:

Step 11: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 1 must appear. Then the circles should blink and blue 10 must appear. Input 1is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 12: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 1 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/11 0/01 0/11 1/ Input data:

Step 13: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 1 must appear. Then the circles should blink and blue 01 must appear. Input 1is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 14: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 1 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/11 0/01 0/11 1/10 1/ Input data:

Step 15: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 0 must appear. Then the circles should blink and blue 10 must appear. Input 0is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 16: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 0 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/11 0/01 0/11 1/10 1/01 0/ Input data:

Step 17: I nstruction for the animator T ext to be displayed in the working area (DT) After first sentence in DT, red 1 must appear. Then the circles should blink and blue 0s must appear. Input 1is given to the encoder and the corresponding outputs of modulo 2 adders are Input data:

Step 18: I nstruction for the animator T ext to be displayed in the working area (DT) Then right shift the bits so that red 1 appears in first box. Then the second figure should appear. The text in DT should be displayed with the second figure. This is the state diagram /00 1/11 0/01 0/11 1/10 1/01 0/10 1/ Input data: 1 0 0

Step 19: Trellis Diagram I nstruction for the animator T ext to be displayed in the working area (DT) The figure in step 19 must be shown (red lines should also be shown as black lines). Then the red lines must be shown. This is the trellis diagram with all the possible transitions 0/00 1/11 0/00 1/11 0/01 1/10 0/11 1/00 0/10 1/01 t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=7 t=8 t=9 0/11 1/11 1/10 1/01 0/10 1/00

Step 20: I nstruction for the animator T ext to be displayed in the working area (DT) The figure in step 20 is shown. The text in DT is displayed. The trellis diagram for the given input The output sequence is t=0t=1t=2t=3t=4t=5t=6t=7t=8 t=9 0/00 1/11 0/11 1/11 1/10 0/10 1/00 1/01 0/01 Input data:

Master Layout Part 1 – Encoder Part 2 – Decoder Trellis Diagram The output sequence is 11, 10, 10, 11, 11, 01, 00, 01

Step 1: I nstruction for the animator T ext to be displayed in the working area (DT) Consider an example When the data sequence is applied to the encoder, the coded output bit sequence is The coded output sequence passes through a channel, producing the received sequence r= [ ]. The two underlined bits are flipped by noise in the channel.

Step 2: I nstruction for the animator T ext to be displayed in the working area (DT) Except the dotted lines everything should appear After the text in DT is displayed, the dotted lines must appear The received sequence is r 0 = 11. Computing the metric to each state at time t=1 by finding the hamming distance between r 0 and the possible transmitted sequence along the branches of the first stage of the trellis. Since state 0 is the initial state, there are only two paths, with path metrices 2 and 0. r 0 = t=0 t=1 2 0

Step 3: I nstruction for the animator T ext to be displayed in the working area (DT) Except the new dotted lines everything should appear After the text in DT is displayed, the new dotted lines must appear The received sequence is r 1 = 10. Each path at time t=1 is extended, adding the path metric to each branch metric. r 1 = t=0 t=1 t=

Step 4: I nstruction for the animator T ext to be displayed in the working area (DT) Except the new dotted lines everything should appear After the text in DT is displayed, the new dotted lines must appear The received sequence is r 2 = 00. Each path at time t=2 is extended, adding the path metric to each branch metric. There are multiple paths to each node at time t=3 r 2 = t=0 t=1 t=2 t=

Step 5: I nstruction for the animator T ext to be displayed in the working area (DT) After the text in DT is displayed, some dotted lines must disappear and the figure in step 5 is shown. Select the path to each node with best metric and eliminate the other paths. r 2 = t=0 t=1 t=2 t=

Step 6: I nstruction for the animator T ext to be displayed in the working area (DT) Except the new dotted lines everything should appear After the text in DT is displayed, the new dotted lines must appear The received sequence is r 3 = 10. Each path at time t=3 is extended, adding the path metric to each branch metric. Here, the best path to each state is selected. In selecting the best paths, some of the paths to some states at earlier times have no successors, these paths can be deleted now. r 3 = t=0 t=1 t=2 t=3 t=

Step 7: I nstruction for the animator T ext to be displayed in the working area (DT) After the text in DT is displayed, some dotted lines must disappear and the figure in step 7 is shown. This is the resulting figure after selecting the best paths. r 3 = t=0 t=1 t=2 t=3 t=

Step 8: I nstruction for the animator T ext to be displayed in the working area (DT) Except the new dotted lines everything should appear After the text in DT is displayed, the new dotted lines must appear The received sequence is r 4 = 11. Each path at time t=4 is extended, adding the path metric to each branch metric. In this case, there are multiple paths into states 2 and 3 with same path metrics but only one of the paths must be selected. So the choice can be made arbitrarily. r 4 = t=0 t=1 t=2 t=3 t=4 t=

Step 9: I nstruction for the animator T ext to be displayed in the working area (DT) After the text in DT is displayed, some dotted lines must disappear and the figure in step 9 is shown. This is the resulting figure after selecting the best paths. r 4 = t=0 t=1 t=2 t=3 t=4 t=

Step 10: I nstruction for the animator T ext to be displayed in the working area (DT) Except the new dotted lines everything should appear After the text in DT is displayed, the new dotted lines must appear The received sequence is r 5 = 01. Each path at time t=5 is extended, adding the path metric to each branch metric. r 5 = t=0 t=1 t=2 t=3 t=4 t=5 t=

Step 11: I nstruction for the animator T ext to be displayed in the working area (DT) After the text in DT is displayed, some dotted lines must disappear and the figure in step 11 is shown. This is the resulting figure after selecting the best paths. r 5 = t=0 t=1 t=2 t=3 t=4 t=5 t=

Step 12: I nstruction for the animator T ext to be displayed in the working area (DT) Except the new dotted lines everything should appear After the text in DT is displayed, the new dotted lines must appear The received sequence is r 6 = 00. Each path at time t=6 is extended, adding the path metric to each branch metric. r 6 = t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=

Step 13: I nstruction for the animator T ext to be displayed in the working area (DT) After the text in DT is displayed, some dotted lines must disappear and the figure in step 13 is shown. This is the resulting figure after selecting the best paths. r 6 = t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=

Step 14: I nstruction for the animator T ext to be displayed in the working area (DT) Except the new dotted lines everything should appear After the text in DT is displayed, the new dotted lines must appear The received sequence is r 7 = 01. Each path at time t=7 is extended, adding the path metric to each branch metric. r 7 = t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=7 t=

Step 15: I nstruction for the animator T ext to be displayed in the working area (DT) After the text in DT is displayed, some dotted lines must disappear and the figure in step 15 is shown. This is the resulting figure after selecting the best paths. r 7 = t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=7 t=

Step 16: I nstruction for the animator T ext to be displayed in the working area (DT) After the text in DT is displayed, the solid line must be shown. Selection of the final path with the best metric is done. The input/output pairs are indicated on each branch. The recovered input bit sequence is same as the original bit sequence. Thus, out of the sequence of 16bits, two bit errors have been corrected. r 7 = t=0 t=1 t=2 t=3 t=4 t=5 t=6 t=7 t= /11 3 0/10 0/11 1/11 0/01 1/00 0/01 1/10

Introduction Credits 42 Definitions Test your understanding (questionnaire) ‏ Lets Sum up (summary) ‏ Want to know more… (Further Reading) ‏ Try it yourself Interactivity: Analogy Slide 1 Slide 3 Slide 44,45 Slide 47 Slide 46 Electrical Engineering + + Place an input box to enter the input data Place a dropdown box with options 0 and Encoder State Diagram Encoder:

Introduction Credits 43 Definitions Test your understanding (questionnaire) ‏ Lets Sum up (summary) ‏ Want to know more… (Further Reading) ‏ Try it yourself Interactivity: Analogy Slide 1 Slide 3 Slide 44,45 Slide 47 Slide 46 Electrical Engineering Place an input box to enter the 16-bit output data sequence Place a dropdown box with options 00, 10, 01, 11 Decoder: Trellis Diagram

Questionnaire 1. An encoder with n registers will have ________ states. Answers: a) 2 n b) 2 n +1 ‏ 2. For the given encoder, what will be the output sequence? Input data: Answers: a) b) c) d) ‏

Questionnaire 3.The received sequence is Among the four choices given below, which is the sequence nearest to the received sequence in terms of Hamming distance? Answers: a) b) c) d) The answers are given in red

Links for further reading Reference websites: Books: Error correction coding – Todd K. Moon, John wiley & sons,INC Research papers:

Summary A convolutional encoder is a finite state machine. An encoder with n binary cells will have 2 n states. The most commonly known graphical representation of a code is the trellis representation. A code trellis diagram is simply an edge labeled directed graph in which every path represents a code sequence. This representation has resulted in a wide range of applications of convolutional codes for error control in digital communications. Viterbi algorithmfor decoding a bitstream that has been encoded using forward error correctionbased on a convolutional code.