Syndrome Decoding of Linear Block Code

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Error Control Code.
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.
II. Linear Block Codes. © Tallal Elshabrawy 2 Last Lecture H Matrix and Calculation of d min Error Detection Capability Error Correction Capability Error.
DIGITAL COMMUNICATION Coding
Low Density Parity Check Codes LDPC ( Low Density Parity Check ) codes are a class of linear bock code. The term “Low Density” refers to the characteristic.
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
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,
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
Linear codes 1 CHAPTER 2: Linear codes ABSTRACT Most of the important codes are special types of so-called linear codes. Linear codes are of importance.
Linear Codes.
Binary Exponential Backoff Binary exponential backoff refers to a collision resolution mechanism used in random access MAC protocols. This algorithm is.
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
SPANISH CRYPTOGRAPHY DAYS (SCD 2011) A Search Algorithm Based on Syndrome Computation to Get Efficient Shortened Cyclic Codes Correcting either Random.
Application of Finite Geometry LDPC code on the Internet Data Transport Wu Yuchun Oct 2006 Huawei Hisi Company Ltd.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
MIMO continued and Error Correction Code. 2 by 2 MIMO Now consider we have two transmitting antennas and two receiving antennas. A simple scheme called.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
§6 Linear Codes § 6.1 Classification of error control system § 6.2 Channel coding conception § 6.3 The generator and parity-check matrices § 6.5 Hamming.
DIGITAL COMMUNICATIONS Linear Block Codes
1 Introduction to Quantum Information Processing CS 667 / PH 767 / CO 681 / AM 871 Richard Cleve DC 2117 Lecture 20 (2009)
ADVANTAGE of GENERATOR MATRIX:
Linear Block Code 指導教授:黃文傑 博士 學生:吳濟廷
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
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.
Information Theory Linear Block Codes Jalal Al Roumy.
Word : Let F be a field then the expression of the form a 1, a 2, …, a n where a i  F  i is called a word of length n over the field F. We denote the.
The parity bits of linear block codes are linear combination of the message. Therefore, we can represent the encoder by a linear system described by matrices.
Some Computation Problems in Coding Theory
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
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.
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.
Convolutional Coding In telecommunication, a convolutional code is a type of error- correcting code in which m-bit information symbol to be encoded is.
Edge Detection using Laplacian of Gaussian Edge detection is a fundamental tool in image processing and computer vision. It identifies points in a digital.
Hamming Distance & Hamming Code
CSMA/CA Simulation  Course Name: Networking Level(UG/PG): UG  Author(s) : Amitendu Panja, Veedhi Desai  Mentor: Aruna Adil *The contents in this ppt.
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.
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
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.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
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.
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.
II. Linear Block Codes. © Tallal Elshabrawy 2 Digital Communication Systems Source of Information User of Information Source Encoder Channel Encoder Modulator.
ECE 442 COMMUNICATION SYSTEM DESIGN LECTURE 10. LINEAR BLOCK CODES Husheng Li Dept. of EECS The University of Tennessee.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Process Scheduling In multiprogramming systems, when there is more than one ready process, the operating system must decide which one to activate. The.
Subject Name: Information Theory Coding Subject Code: 10EC55
II. Linear Block Codes.
Learning Objectives After interacting with this Learning Object, the learner will be able to: Explain the process of collision detection in CSMA/CD.
Prof. Saravanan Vijayakumaran
Block codes. encodes each message individually into a codeword n is fixed, Input/out belong to alphabet Q of cardinality q. The set of Q-ary n-tuples.
Information Redundancy Fault Tolerant Computing
Standard Array.
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.
Virtual Memory Virtual memory is a technique which gives an application program the impression that it has contiguous working memory, while in fact it.
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
II. Linear Block Codes.
Continuous Time Convolution
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.
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:

Syndrome Decoding of Linear Block Code Syndrome decoding is a more efficient method of decoding a linear code over a noisy channel‏. Syndrome decoding is minimum distance decoding using a reduced lookup table. Prerequisites : Knowledge of Linear Block Codes Course Name: Error Correcting Codes Level(UG/PG): PG Author : Phani Swathi Chitta Mentor: Prof. Saravanan Vijayakumaran *The contents in this ppt are licensed under Creative Commons Attribution-NonCommercial-ShareAlike 2.5 India license

Learning Objectives After interacting with this Learning Object, the learner will be able to: Explain the syndrome decoding of a linear block code using the standard array

1 2 3 4 5 Definitions of the components/Keywords: A block code of length and codewords is called a linear (n,k) code if and only if its codewords form a - dimensional subspace of the vector space of all the - tuples over the field GF(2). Any codeword v = uG where u is the message and G is the generator matrix The dimension of v is 1 x n, u is 1 x k and G is k x n The error vector or error pattern e is the difference between the received n-tuple r and the transmitted codeword v: hence the received vector r is the vector sum of the transmitted codeword and the error vector. r = v + e When r is received, the decoder computes the following: s is called the Syndrome of r The dimension of s is 1 x n-k, r is 1 x n and is n x n-k Addition of any two codewords results in another codeword and the addition is Modulo – 2 addition 2 3 4 5 3

1 Master Layout 2 3 4 5 (6,3) linear block code Provide a box to enter the received vector that is to be decoded The vector is sequence of 1s and 0s 2 3 4 Standard Array 5

3 Step 1: The generator matrix for (6,3) linear code is : G = Standard Array Decoding 1 The generator matrix for (6,3) linear code is : G = Generator Matrix 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Initially keep the page blank Then show the first two sentences and show the matrix Consider a (6,3) linear code The generator matrix for the code is shown 5

3 Step 2: All the code words of (6,3) are 1 2 4 5 Instruction for the animator Text to be displayed in the working area (DT) Retain the generator matrix and show the statement and the bit sequences of 1s and 0s given above Then show the text in DT These are the codewords of (6,3) code. These are obtained by multiplying the message bits with the generator matrix 5

Step 3: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) First show the text in DT Then show the bit sequences arranged in the above fashion To construct a standard array, place all the codewords in the first row starting with the all -zeros codeword. Number of rows present in a standard array = = = 8 rows 5

Step 4: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the text in DT Choose a minimum weight n-tuple from the remaining n-tuples Place the n-tuple of weight 1 in the first column of second row This n-tuple is called the error pattern Add the error pattern to each of the codewords in the first row to form the second row 5

Step 5: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show rectangles as shown in the figure Show the sentences in DT Add the error pattern to the first codeword Here the addition is modulo – 2 addition 5

Step 6: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Then show the result of addition in red colour The result of modulo – 2 addition 5

Step 7: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the sentence in DT Add the error pattern to the second codeword 5

Step 8: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Then show the result of addition in red colour The result of modulo – 2 addition 5

Step 9: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the sentence in DT Add the error pattern to the second codeword 5

Step 10: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Then show the result of addition in red colour The result of modulo – 2 addition 5

Step 11: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111001 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Similarly show for entire second row 5

Step 12: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111001 000 010 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the sentence in DT Show the bit sequence of 1s and 0s in the third row Choose another n-tuple of minimum weight from the remaining n- tuples 5

Step 13: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111 001 000 010 001 001 010 100 100 111 011 111 101 100 110 001 111 010 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show rectangles as shown in the figure Show the sentences in DT Show the addition for all the codewords similar to the first row (repeat steps 5 and 6) Add the error pattern to the first codeword Here the addition is modulo – 2 addition 5

Step 14: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111 001 000 010 001 001 010 100 100 111 011 111 101 100 110 001 111 010 000 100 001 111 010 010 100 001 011 001 101 010 110 111 111 100 001 000 000 011 011 110 101 101 010 101 100 110 111 011 110 000 010 000 011 011 000 110 110 101 001 101 111 110 100 011 101 000 100 000 101 011 110 110 000 101 111 101 001 110 010 011 011 000 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Similarly repeat for all the other 4 bit sequences 5

Step 15: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111 001 000 010 001 001 010 100 100 111 011 111 101 100 110 001 111 010 000 100 001 111 010 010 100 001 011 001 101 010 110 111 111 100 001 000 000 011 011 110 101 101 010 101 100 110 111 011 110 000 010 000 011 011 000 110 110 101 001 101 111 110 100 011 101 000 100 000 101 011 110 110 000 101 111 101 001 110 010 011 011 000 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Then show the text in DT All the n-tuples or vectors of weight 1 are exhausted Now choose another n-tuple of weight 2 from the remaining n- tuples There are =15 n-tuples of weight 2 5

Step 16: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111 001 000 010 001 001 010 100 100 111 011 111 101 100 110 001 111 010 000 100 001 111 010 010 100 001 011 001 101 010 110 111 111 100 001 000 000 011 011 110 101 101 010 101 100 110 111 011 110 000 010 000 011 011 000 110 110 101 001 101 111 110 100 011 101 000 100 000 101 011 110 110 000 101 111 101 001 110 010 011 011 000 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Then show the lines at given places Also change the colour of those codewords After this show the text in DT Out of 15 n-tuples 12 are present in the array, so take any one of the remaining three n-tuples of weight 2 and place it in the last row 5

Step 17: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111 001 000 010 001 001 010 100 100 111 011 111 101 100 110 001 111 010 000 100 001 111 010 010 100 001 011 001 101 010 110 111 111 100 001 000 000 011 011 110 101 101 010 101 100 110 111 011 110 000 010 000 011 011 000 110 110 101 001 101 111 110 100 011 101 000 100 000 101 011 110 110 000 101 111 101 001 110 010 011 011 000 100 010 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the bit sequence in the first column as shown Then repeat steps 5 and 6 5

Step 18: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111 001 000 010 001 001 010 100 100 111 011 111 101 100 110 001 111 010 000 100 001 111 010 010 100 001 011 001 101 010 110 111 111 100 001 000 000 011 011 110 101 101 010 101 100 110 111 011 110 000 010 000 011 011 000 110 110 101 001 101 111 110 100 011 101 000 100 000 101 011 110 110 000 101 111 101 001 110 010 011 011 000 100 010 101 001 110 100 000 111 111 111 001 100 010 001 011 010 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Atlast show this entire table and the text in DT This is the Standard array for a (6,3) code The rows in a standard array are called Cosets The first element in a row of the standard array is called the Coset leader Coset leaders are exactly the correctable error patterns 5

3 Step 19: 1 2 4 5 Let the received vector r be 000 110 Instruction for the animator Text to be displayed in the working area (DT) Show the array and down the array show the above statements 4 5

Step 20: 1 000 000 001 011 010 110 100 101 011 101 101 110 110 011 111 000 000 001 001 010 010 111 100 100 011 100 101 111 110 010 111 001 000 010 001 001 010 100 100 111 011 111 101 100 110 001 111 010 000 100 001 111 010 010 100 001 011 001 101 010 110 111 111 100 001 000 000 011 011 110 101 101 010 101 100 110 111 011 110 000 010 000 011 011 000 110 110 101 001 101 111 110 100 011 101 000 100 000 101 011 110 110 000 101 111 101 001 110 010 011 011 000 100 010 101 001 110 100 000 111 111 111 001 100 010 001 011 010 Then the received vector r is decoded to be the 010 110 from the Standard array 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the received vector r in different colour(blue) Then show the bit sequence in purple colour and give the statement “the r is decoded as “ 5

3 Step 21: 1 2 4 5 Syndrome decoding Instruction for the animator Text to be displayed in the working area (DT) Show the text in DT Huge storage memory (and searching time) is required by standard array decoding. Hence another method called Syndrome decoding is used. The syndrome depends only on the error pattern and not on the transmitted codeword. Therefore, each coset in the array is associated with a unique syndrome. All the n-tuples in a coset have the same syndrome and different cosets have different syndromes. Syndrome decoding reduces storage memory from nx2n to 2n-k(2n-k). Also, It reduces the searching time considerably. 4 5

3 Step 22: 1 2 4 5 H = We know r = v + e and Therefore since = 0 Instruction for the animator Text to be displayed in the working area (DT) Show the text in DT along with the matrix Also show the text below the matrix H is the parity check matrix 5

3 Step 23: 1 2 4 5 S = = = Instruction for the animator Text to be displayed in the working area (DT) Show the above text 5

3 Step 24: 1 2 4 5 Coset Leader/ error pattern Syndrome 000 000 000 000 000 000 000 001 001 000 010 010 000 100 100 001 000 011 010 000 110 100 000 101 100 010 111 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the above text 5

Step 25: 1 Suppose r = 000 110 = = 1 1 0 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the above text 5

3 Step 25: 1 2 4 5 Then compute where is the estimated codeword r is the received vector e is the error pattern corresponding to the syndrome S Therefore = 000 110 + 010 000 = 010 110 Hence r is decode as 010 110 2 3 4 Instruction for the animator Text to be displayed in the working area (DT) Show the above text 5

Test your understanding Electrical Engineering Slide 1 Slide 3 Slide 27 Slide 31 Slide 30 Introduction Definitions Analogy Test your understanding (questionnaire)‏ Lets Sum up (summary)‏ Want to know more… (Further Reading)‏ Interactivity: Try it yourself Provide a box to enter the received vector G = The user should be able to provide the remaining 9 elements with 1s and 0s 31 Credits

Questionnaire 1 1. Given a (10,5) binary linear block code, how many vectors in each row and column does the Standard array have? Answers: a) , b) , c) , d)‏ None 2. How many correctable error patterns are present in a (n , k) binary linear block code? Answers: a) b) c) d)‏ None 2 3 4 5

4 Questionnaire 1 2 3 5 3. Given H = Given = 011 110 = 111 001 Does and belong to the same coset? Answers: a) No b) Yes Given = 101 101 and = 101 010 Consider a binary linear block code with minimum distance 3. Then can the vectors be in the same coset? Hint: The minimum distance of linear block code is equal to the minimum weight of its non – zero codewords Answers: a) Yes b) No 2 3 4 5

Links for further reading Reference websites: http://users.ece.gatech.edu/~swm/ECE6606/mod11.pdf http://en.wikipedia.org/wiki/Linear_code Books: Error Control Coding – Shu Lin and Daniel J. Costello, Jr., second editon, Pearson Research papers:

Summary Syndrome decoding is a more efficient method of decoding a linear code over a noisy channel‏. Syndrome decoding is minimum distance decoding using a reduced lookup table. A block code of length and codewords is called a linear (n,k) code if and only if its codewords form a - dimensional subspace of the vector space of all the - tuples over the field GF(2). Any codeword v = uG where u is the message and G is the generator matrix The dimension of v is 1 x n, u is 1 x k and G is k x n The error vector or error pattern e is the difference between the received n-tuple r and the transmitted codeword v: hence the received vector r is the vector sum of the transmitted codeword and the error vector. r = v + e When r is received, the decoder computes the following: s is called the Syndrome of r The dimension of s is 1 x n-k, r is 1 x n and is n x n-k