Some Computation Problems in Coding Theory

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

Cyclic Code.
Error Control Code.
L. J. Wang 1 Introduction to Reed-Solomon Coding ( Part I )
Information and Coding Theory
CHANNEL CODING REED SOLOMON CODES.
Data and Computer Communications Tenth Edition by William Stallings Data and Computer Communications, Tenth Edition by William Stallings, (c) Pearson Education.
Information Theory Introduction to Channel Coding Jalal Al Roumy.
Cellular Communications
Chapter 3: Channel Coding (part 1)
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.
Error Detection and Correction Rizwan Rehman Centre for Computer Studies Dibrugarh University.
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.
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.
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
Cyclic codes 1 CHAPTER 3: Cyclic and convolution codes Cyclic codes are of interest and importance because They posses rich algebraic structure that can.
1 S Advanced Digital Communication (4 cr) Cyclic Codes.
Channel Coding and Error Control
SPANISH CRYPTOGRAPHY DAYS (SCD 2011) A Search Algorithm Based on Syndrome Computation to Get Efficient Shortened Cyclic Codes Correcting either Random.
Information and Coding Theory Linear Block Codes. Basic definitions and some examples. Juris Viksna, 2015.
Error Control Coding and Applications
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.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
1 Network Coding and its Applications in Communication Networks Alex Sprintson Computer Engineering Group Department of Electrical and Computer Engineering.
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]
1 Yuan Luo Xi’an Jan Optimum Distance Profiles of Linear Block Codes Shanghai Jiao Tong University.
Basic Characteristics of Block Codes
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.
Coding Theory. 2 Communication System Channel encoder Source encoder Modulator Demodulator Channel Voice Image Data CRC encoder Interleaver Deinterleaver.
§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
EE 430 \ Dr. Muqaibel Cyclic Codes1 CYCLIC CODES.
ADVANTAGE of GENERATOR MATRIX:
Information and Coding Theory Cyclic codes Juris Viksna, 2015.
Information Theory Linear Block Codes Jalal Al Roumy.
Computer Science Division
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.
Review.
Error Detection. Data can be corrupted during transmission. Some applications require that errors be detected and corrected. An error-detecting code can.
Perfect and Related Codes
Error Detection and Correction – Hamming Code
Error Detection and Correction
Computer Construction of Quasi-Twisted Two-Weight Codes Eric Chen Dept. of Comp.Science Kristianstad University Kristianstad Sweden.
1 Asymptotically good binary code with efficient encoding & Justesen code Tomer Levinboim Error Correcting Codes Seminar (2008)
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
INFORMATION THEORY Pui-chor Wong.
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
Reed-Solomon Codes Rong-Jaye Chen.
Exercise in the previous class (1) Define (one of) (15, 11) Hamming code: construct a parity check matrix, and determine the corresponding generator matrix.
Cyclic Linear Codes. p2. OUTLINE  [1] Polynomials and words  [2] Introduction to cyclic codes  [3] Generating and parity check matrices for cyclic.
ECE 442 COMMUNICATION SYSTEM DESIGN LECTURE 10. LINEAR BLOCK CODES Husheng Li Dept. of EECS The University of Tennessee.
RS – Reed Solomon Error correcting code. Error-correcting codes are clever ways of representing data so that one can recover the original information.
Subject Name: COMPUTER NETWORKS-1
Subject Name: Information Theory Coding Subject Code: 10EC55
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
DIGITAL COMMUNICATION Coding
Cyclic Code.
Presentation transcript:

Some Computation Problems in Coding Theory Eric Chen Computer Science Group HKr Allmän föreläsning för alla anställda vid Högskolan med intresse för EU-forskning. Föreläsare Professor Claes Magnusson Claes Magnusson arbetar f.n. med utveckling av maskinteknikprogrammet, Kristianstad Högskola. Han har sedan tidigare erfarenhet av EU:s forskningsprogram, både som projektledare och utvärderare och han arbetade i tre år som ”dörröppnare” i Bryssel åt svenska universitet och högskolor. Claes kommer i sitt anförande behandla frågor som: • Vilka forskningsområden finns? • Hur gör man en ansökan? • Hur är det att vara med? • Hur går det för Sverige? • Hur lång tid tar det innan pengarna kommer? • Vilken hjälp finns att få? • På vilka sätt kan jag delta? • Vilka fördelar kan deltagandet ge?

Outline Information Transmission System Some definitions Goals of coding theory Computer search for QT codes and QT 2-weight codes Some computation problems

Information Transmission System Source encoding (remove redundancy) Channel encoder ( add redundancy ) Channel decoder ( error detection/correction) Source decoding Information Sink Receiver (Decoder) Transmitter (Encoder) Communication Channel Information Source Noise n-digit n-digit k-digit k-digit

Source coding and channel coding Coding theory The study of methods for efficient and reliable data transmission Source coding Remove redundancy (data compression) Channel coding Add redundancy for error detection/correction

Channel Coding – Principle add additional information, or redundancy to data added by sender, checked by receiver k data digits encoded to a codeword of n digits Code rate r = k / n k n Encoded as codeword

Binary linear block code A block of k digits u = u1u2 … uk. ui= 0 or 1 for a binary code Encoded into a codeword x = x1x2…xn. The mapping u  x Generator matrix G k × n matrix x = u G Parity check matrix H (n-k) × n matrix H xT = 0

Definitions bit (binary digit) : 0 or 1 Digit : an element of GF(q) Word : a sequence of digits or bits Binary code : a set of words over GF(2) Example C2 = {000, 011, 101, 110}

Definitions (Hamming) weight of a word x wt (x) the number of non-zero digit in a word (Hamming) distance between two words the number of positions where they differ Example Words v1 = 101, v2 = 110 (also called vectors) wt(v1)=2; wt(v2) =2 d (v1, v2) = 2

Definitions (Minimum) distance d of a code: The minimum distance between its codewords d = min weight of the non-zero codewords Minimum distance d determines the error detection or correction capability Detection d – 1 errors Correct (d – 1)/2 errors

Example– repetition code Binary [m, 1, m] code k = 1, d = m Example [3, 1, 3] code Two codewords: 000, 111 Each 0  000 Each 1  111 Can detect 2 errors (for error detection) Can correct 1 error (for error correction)

Example– repetition code Example [3, 1, 3] code Two codewords: 000, 111 0  000 1 111 Generator matrix G = [1 1 1] Parity check matrix

4 Foundamental Parameters of a Linear Code Code dimension, k Block length, n Minimum distance, d Alphabet size, q A linear q-ary code is often written as an [n, k, d]q code q=2, called binary code, [n, k, d] code Code rate: r = k/n

4 Foundamental Parameters of a Code An (n, M, d)q code: Number of the codewords, M Block length, n Minimum distance, d Alphabet size, q q is a prime power q=2, called binary code, (n, M, d) code Code rate: r = log M / n

The Goals of Coding Theory A good q-ary (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 Aq(n, d) is the largest M such that there is an (n,M,d)q code.

The Goals of Coding Theory For linear q-ary codes: Given k, d, q. Find an [n, k, d]q code that minimizes n Given n, d, q. Find an [n, k, d]q code that maximizes k Given n, k, q. Find an [n, k, d]q code that maximizes d

Online Code Table at http://www.codetables.de/

Example Given n and k, maximize the distance ? n = 60, k = 19 the lower bound on distance is 18 the upper bound on distance is 20 if [60, 19] code exists with d = 19 or 20 ? n = 81, k = 20 Bound on distance is 26 – 30 Difficult to improve the bound Quasi-twisted codes proven to contain good or optimal codes.

Binary constant weight codes All codewords have a weight w A(n,d,w) is the maximum size of a binary code with word length n, minimum distance d, and constant weight w. Closely related to combinatorial designs How to determine the A(n, d, w) ??

Erik Agrell's tables of binary block codes Online Code Tables Bounds for binary constant weight codes http://www.win.tue.nl/~aeb/codes/Andw.html Erik Agrell's tables of binary block codes http://webfiles.portal.chalmers.se/s2/research/kit/bounds/

Cyclic Code and Polynomial Every cyclic shift of a codeword is also a codeword   Generator polynomial g(x) and generator matrix operation modulo xn – 1. Many famous cyclic codes BCH codes, Reed-Solomon codes

Circulant Matrix An nn cyclic or circulant matrix is defined as it is uniquely specified by a polynomial formed by the elements of its first row, a(x) = a0 + a1 x + a2 x2 + … + an-1 xn-1 Operation modulo xn – 1

Consta-cyclic Code Every consta-cyclic shift of a codeword is also a codeword   (a0, a1,…, an-1)  (an-1 ,a0, a1,…, an-2) Generator polynomial g(x) and generator matrix operation modulo xn – .

Twistulant Matrix An nn consta-cyclic or twistulant matrix is defined as it is uniquely specified by a polynomial formed by the elements of its first row, a(x) = a0 + a1 x + a2 x2 + … + an-1 xn-1. Operation modulo xn - .

Quasi-Cyclic Code A generalization of cyclic codes every cyclic shift of a codeword by p positions results in another codeword Called quasi-cyclic (QC) code A generalization of consta-cyclic codes every consta-cyclic shift of a codeword by p positions results in another codeword Called quasi-twisted (QT) code QC code is a special case of QT code with = 1.

Quasi-Twisted Code Generator matrix of QT [ pm, k] code where Gij is a twistulant matrix of order m t-generator QT code 1-generator QT codes have been well studied

1-generator QT [mp, k] code G = [G0 G1 G2 … Gp-1 ] 1-generator QT codes 1-generator QT [mp, k] code G = [G0 G1 G2 … Gp-1 ] Let g0(x), g1(x), …, gp-1(x) be the defining polynomials   k = m – degree( gcd(g0(x), g1(x), …, gp-1(x), xm – 1 )) It is called de-generated if k < m.

1-generator QT [mp, k] code G = [G0 G1 G2 … Gp-1 ] Defining polynomials 1-generator QT [mp, k] code G = [G0 G1 G2 … Gp-1 ] defining polynomials: g0(x), g1(x), …, gp-1(x)   (g0(x), g1(x), …, gp-1(x) ) and (axjg0(x), g1(x), …, gp-1(x)) defines the equivalent QT code. a is any non-zero element in GF(q) j = 1, 2, …, m -1.

Computer search for QT codes 1-generator QT [mp, k] code G = [G0 G1 G2 … Gp-1 ] Find all candidate polynomials Equivalent classes defined by axjg(x) Select p polynomials from non-equivalent polynomials

Computer search example for QT codes Binary QC [60, 19, 18] code m = 20, k = 19, previously best known d = 17 The number of non-equivalent polynomials is 26271 To construct a QT [60, 19] code, it is required to select 3 polynomials among 26271 Polynomials. The total number of combinations is 3 021 544 309 455.

Computer search example for QT codes Binary QC [60, 19, 18] code m = 20, k = 19. Previously best known d = 17 My paper in IEEE IT 1994 g0(x) = 1 + x Divide the candidate polynomials into groups based on their weights g1(x) and g2(x) are chosen from sets of polynomials with weights 4 and 12, respectively. Total # of combinations: 245 X 8509 = 2 084 705 of 3 021 544 309 455 So a binary QC [60, 19, 18] code was constructed.

t-generator QT codes t-generator QT [mp, k] code Where G are twistulants of order m. Most research has been focused on 1-generator QC or QT codes. Computer search becomes more time-consuming

Two-Weight Codes A [n, k] code is a two-weight code if any non-zero codeword has a weight of w1 or w2. Notation: [n, k; w1, w2]q code Projective code A code is said to be projective if any two of its coordinates are linearly independent, or, if the minimum distance of its dual code is at least three.

Why studying 2-weight codes Linear constant weight codes (simplex codes) are optimal  many 2-weight codes are also optimal Related to strongly regular graphs

Simplex Codes Simplex [(qt–1)/(q–1), t]q code equi-distance code, d = qt-1 All non-zero codewords have the same weight, d = qt-1 A λ-consta-cyclic simplex code can be defined by a generator polynomial g(x) = (xn–l)/h(x), where n=(qt–1) /(q–1), and λ is a non-zero element of GF(q) and has order of q–1

QT form of a simplex code If the block length n = (qt – 1)/(q-1) is not a prime, n = ms. The simplex code can be put into a QT code with s blocks. If only taking p blocks (among s), a QT code can be constructed. QT codes, QT 2-weight codes can be constructed in this way.

QT Simplex Codes If n=(qt–1) /(q–1) = mr, Simplex [(qt–1)/(q–1), t]q code can be put into QT from. Example:simplex [21, 3]4 code n = 21 = mp = 3 × 7, m = 3, p = r, q = 4. Let 0, 1, a, and b = 1 + a be elements of GF(4), λ=b. Then a λ-consta-cyclic matrix defined by c(x) = 1+ bx + bx3 + bx4 + bx5 + ax6 +x7 + x8 + ax9 + x10 + ax11 + x13 +ax15 +bx16 +x17 + x18.

Consta-Cyclic Simplex [21, 3]4 Code twistulant generator matrix

Quasi-Twisted Simplex [21, 3]4 Code QT form of generator matrix

Quasi-Twisted Simplex [21, 3]4 Code QT form of generator matrix Representation by polynomials a1(x) = 1 +x, a2(x) = b + ax + x2 , a3(x) = ax + bx2 , a4(x) = b + x + x2, a5(x) = b + ax + x2, a6(x) = b, a7(x) = a+ x. r = 7

Weight Matrix Weight matrix for A(x) It is cyclic Example

Computer Construction of QT 2-Weight Codes Given a simplex [mr, t]q code of composite length n =(qt–1) /(q–1) = mr Find the generator polynomial, Obtain A(x) and weight matrix To construct a QT 2-weight [mp, t; w1, w2] code, it is to find p columns such that the row sums of the selected columns give w1 or w2.

Computer Construction of QT 2-Weight Codes Example From simplex [21, 3]4 code with m=3 A QT 2-weight [9, 3; 6, 8]4 code can be constructed by columns 1, 2, and 4.

Results A large amount of QT 2-weight codes have been obtained. Most codes have the same parameters as known codes. They may not be equivalent Exmaple [154, 6; 99, 108]3 code Gulliver constructed with m = 11, p =14 Using the method above, m = 7, p =22 They are not equivalent Some new codes are obtained

Computer search for QT Codes Given a cyclic weight matrix of order s How to select p columns such that Maximize the minimum row sums of p cols

Computer search for QT codes Given a cyclic weight matrix of order s The row sums for columns 0, 1, 3 are 8, 6, 6, 6, 8, 6, and 8, respectively Taking columns 0, 1, and 3  a QT [9, 3, 6]3 code

Online Database on Codes A web database of binary quasi-cyclic codes http://moodle.tec.hkr.se/~chen/research/codes/searchqc2.htm see also: codetables http://www.codetables.de A Web database of two-weight codes http://moodle.tec.hkr.se/~chen/research/2-weight-codes/search.php

Computation Problems Improve lower bound on A(n, w, d) Improve lower bound on distance for given n, k, q Computer search for 2-weight codes

Computation Problems Computer search for QT codes 1-generator QT codes t-generator QT codes from QT simplex codes

Computer search for QT 2-weight codes Computation Problems Computer search for QT 2-weight codes QT 2-weight codes from QT simplex codes

Computation Problems Computer search for QT 2-weight codes Study on a binary cyclic matrix A Select p columns such that the corresponding row sums are of two values 011000010100000000010 001100001010000000001 100110000101000000000 010011000010100000000 001001100001010000000 000100110000101000000 000010011000010100000 000001001100001010000 000000100110000101000 000000010011000010100 000000001001100001010 000000000100110000101 100000000010011000010 010000000001001100001 101000000000100110000 010100000000010011000 001010000000001001100 000101000000000100110 000010100000000010011 100001010000000001001 110000101000000000100