Information Theory Linear Block Codes Jalal Al Roumy.

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Information and Coding Theory
Error Correcting Codes Stanley Ziewacz 22M:151 Spring 2009.
II. Linear Block Codes. © Tallal Elshabrawy 2 Last Lecture H Matrix and Calculation of d min Error Detection Capability Error Correction Capability Error.
Information Theory Introduction to Channel Coding Jalal Al Roumy.
IV054 CHAPTER 2: Linear codes ABSTRACT
Cellular Communications
DIGITAL COMMUNICATION Coding
Error detection/correction FOUR WEEK PROJECT 1 ITEMS TO BE DISCUSSED 1.0 OVERVIEW OF CODING STRENGTH (3MINS) Weight/distance of binary vectors Error detection.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Error detection and correction
DIGITAL COMMUNICATION Coding
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
Hamming Code Rachel Ah Chuen. Basic concepts Networks must be able to transfer data from one device to another with complete accuracy. Data can be corrupted.
exercise in the previous class (1)
Hamming Codes 11/17/04. History In the late 1940’s Richard Hamming recognized that the further evolution of computers required greater reliability, in.
ChannelCoding Hafiz Malik Dept. of Electrical & Computer Engineering The University of Michigan-Dearborn
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.
Syndrome Decoding of Linear Block Code
Linear Codes.
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
USING THE MATLAB COMMUNICATIONS TOOLBOX TO LOOK AT CYCLIC CODING Wm. Hugh Blanton East Tennessee State University
Channel Coding and Error Control
Information and Coding Theory Linear Block Codes. Basic definitions and some examples. Juris Viksna, 2015.
Exercise in the previous class p: the probability that symbols are delivered correctly C: 1 00 → → → → What is the threshold.
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
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.
Introduction to Coding Theory. p2. Outline [1] Introduction [2] Basic assumptions [3] Correcting and detecting error patterns [4] Information rate [5]
Coding and Algorithms for Memories Lecture 5 1.
Error Control Code. Widely used in many areas, like communications, DVD, data storage… In communications, because of noise, you can never be sure that.
CS717 Algorithm-Based Fault Tolerance Matrix Multiplication Greg Bronevetsky.
§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.
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
Low Density Parity Check codes
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
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.
10.1 Chapter 10 Error Detection and Correction Data can be corrupted during transmission. Some applications require that errors be detected and.
Perfect and Related Codes
Error Detection and Correction – Hamming Code
Some Computation Problems in Coding Theory
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
INFORMATION THEORY Pui-chor Wong.
Hamming Distance & Hamming Code
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
1 Product Codes An extension of the concept of parity to a large number of words of data 0110… … … … … … …101.
Richard Cleve DC 2117 Introduction to Quantum Information Processing QIC 710 / CS 667 / PH 767 / CO 681 / AM 871 Lecture (2011)
Reed-Solomon Codes Rong-Jaye Chen.
Block Coded Modulation Tareq Elhabbash, Yousef Yazji, Mahmoud Amassi.
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.
Part 2 Linear block codes
Chapter 6.
Subject Name: Information Theory Coding Subject Code: 10EC55
II. Linear Block Codes.
IV054 CHAPTER 2: Linear codes ABSTRACT
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.
DIGITAL COMMUNICATION Coding
Lecture 17 Making New Codes from Old Codes (Section 4.6)
Lecture 15 The Minimum Distance of a Code (Section 4.4)
Presentation transcript:

Information Theory Linear Block Codes Jalal Al Roumy

2 Hamming distance The intuitive concept of “closeness'' of two words is formalized through Hamming distance d (x, y) of words x, y. For two words (or vectors) x, y; d (x, y) = the number of symbols x and y differ. Example:d (10101, 01100) = 3,d (first, second, fifth) = 3 Properties of Hamming distance (1) d (x, y) = 0; iff x = y (2) d (x, y) = d (y, x) (3) d (x, z) ≤ d (x, y) + d (y, z) triangle inequality An important parameter of codes C is their minimal distance. d (C) = min {d (x, y) | x, y ε C, x ≠ y}, because it gives the smallest number of errors needed to change one codeword into another. Theorem Basic error correcting theorem (1) A code C can detect up to s errors if d (C) ≥ s + 1. (2) A code C can correct up to t errors if d (C) ≥ 2t + 1. Note – for binary linear codes d (C) = smallest weight W (C) of non-zero codeword,

3 Some notation Notation: Notation: An (n,M,d) - code C is a code such that n - is the length of codewords. M - is the number of codewords. d - is the minimum distance in C. Example: C 1 = {00, 01, 10, 11} is a (2,4,1)-code. C 2 = {000, 011, 101, 110} is a (3,4,2)-code. C 3 = {00000, 01101, 10110, 11011} is a (5,4,3)-code. Comment: A good (n,M,d) code has small n and large M and d.

4 Code Rate For q-nary (n,M,d)-code we define code rate, or information rate, R, by The code rate represents the ratio of the number of input data symbols to the number of transmitted code symbols. For a Hadamard code eg, this is an important parameter for real implementations, because it shows what fraction of the bandwidth is being used to transmit actual data. log2(n) = ln(n)/ln(2) Recall that

5 Equivalence of codes Definition Two q -ary codes are called equivalent if one can be obtained from the other by a combination of operations of the following type: (a) a permutation of the positions of the code. (b) a permutation of symbols appearing in a fixed position. Let a code be displayed as an M ´ n matrix. To what correspond operations (a) and (b)? Distances between codewords are unchanged by operations (a), (b). Consequently, equivalent codes have the same parameters (n,M,d) (and correct the same number of errors). Examples of equivalent codes Lemma Any q -ary (n,M,d) -code over an alphabet {0,1,…,q -1} is equivalent to an (n,M,d) -code which contains the all-zero codeword 00…0.

6 The main coding theory problem A good (n,M,d) -code has small n, large M and large d. The main coding theory problem is to optimize one of the parameters n, M, d for given values of the other two. Notation: Notation: A q (n,d) is the largest M such that there is an q -nary (n,M,d) -code.

7 Introduction to linear codes

8 Linear Block Codes Information is divided into blocks of length k r parity bits or check bits are added to each block (total length n = k + r),. Code rate R = k/n Decoder looks for codeword closest to received vector (code vector + error vector) Tradeoffs between Efficiency Reliability Encoding/Decoding complexity

9 Linear Block Codes e H T = e H T e ) * H T =c H T e be the received message; c is the correct code and e is the error Let x = c Compute S = x * H T =( c If S is 0 then message is correct else there are errors in it, from common known error patterns the correct message can be decoded. The parity check matrix H is used to detect errors in the received code by using the fact that c * H T = 0 ( null vector) Generator matrix G Code Vector C Message vector m Parity check matrix H T Code Vector C Null vector 0 Operations of the generator matrix and the parity check matrix

10 Linear Block Codes Linear Block Code The block length C of the Linear Block Code is C = m G where m is the information codeword block length, G is the generator matrix. G = [I k | P] k × n, I is unit matrix. The parity check matrix H = [P T | I n-k ], where P T is the transpose of the matrix p.

11 Forming the generator matrix The generator matrix is formed from the list of codewords by ignoring the all zero vector and the linear combinations; eg

12 Equivalent linear [n,k]-codes Two k x n matrices generate equivalent linear codes over GF(q) if one matrix can be obtained from the other by a sequence of operations of the following types: (R1) permutation of rows (R2) multiplication of a row by a non-zero scaler (R3) Addition of a scaler multiple of one row to another (C1) Permutation of columns (C2) Multiplication of any column by a non-zero scaler The row operations (R) preserve the linear independence of the rows of the generator matrix and simply replace one basis by another of the same code. The column operations (C) convert the generator matrix to one for an equivalent code.

13 Transforming the generator matrix Transforming to the form G = [I k | P]

14 Encoding with the generator Codewords = message vector u x G For example, where

15 Parity-check matrix A parity check matrix H for an [n, k]-code C is and (n - k) x n matrix such that x. H T = 0 iff x  C. A parity- check matrix for C is a generator matrix for the duel code C . If G = [I k | A] is the standard form generator matrix for an [n, k]-code C, then the parity-check matrix for C is H = [-A T | I n-k ]. A parity check matrix of the form [B | I n-k ] is said to be in standard form.

16 Decoding using Slepian matrix An elegant nearest-neighbour decoding scheme was devised by Slepian in every vector in V(n, q) in in some coset of C every coset contains exactly q k vectors two cosets are either disjoint or coincide

17 Syndrome decoding Suppose C is a q-ary [n, k]-code with the parity-check matrix H. For any vector y = V(n, q), the row vector S(y) = y H T is called the syndrome of y. Two vectors have the same syndromes iff they lie in the same coset.

18 Decoding procedure The rules:

19 Example