ERROR CONTROL CODING Basic concepts Classes of codes: Block Codes

Slides:



Advertisements
Similar presentations
Mahdi Barhoush Mohammad Hanaysheh
Advertisements

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!
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Chapter 10 Shannon’s Theorem. Shannon’s Theorems First theorem:H(S) ≤ L n (S n )/n < H(S) + 1/n where L n is the length of a certain code. Second theorem:
Information Theory Introduction to Channel Coding Jalal Al Roumy.
Error-Correcting Codes
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 Correcting Codes To detect and correct errors Adding redundancy to the original message Crucial when it’s impossible to resend the message (interplanetary.
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)
Syndrome Decoding of Linear Block Code
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
1 S Advanced Digital Communication (4 cr) Cyclic Codes.
Channel Coding Part 1: Block Coding
SPANISH CRYPTOGRAPHY DAYS (SCD 2011) A Search Algorithm Based on Syndrome Computation to Get Efficient Shortened Cyclic Codes Correcting either Random.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
1 Channel Coding (II) Cyclic Codes and Convolutional Codes.
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.
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.
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.
Cyclic Redundancy Check CRC Chapter CYCLIC CODES Cyclic codes are special linear block codes with one extra property. In a cyclic code, if a codeword.
Introduction to Coding Theory. p2. Outline [1] Introduction [2] Basic assumptions [3] Correcting and detecting error patterns [4] Information rate [5]
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.
Error Detection and Correction
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
Linear codes of good error control performance Tsonka Baicheva Institute of Mathematics and Informatics Bulgarian Academy of Sciences Bulgaria.
Richard W. Hamming Learning to Learn The Art of Doing Science and Engineering Session 12: Error-Correcting Codes Learning to Learn The Art of Doing Science.
ADVANTAGE of GENERATOR MATRIX:
Chapter 31 INTRODUCTION TO ALGEBRAIC CODING THEORY.
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.
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.
Basic Concepts of Encoding Codes and Error Correction 1.
Perfect and Related Codes
Some Computation Problems in Coding Theory
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
1/30/ :20 PM1 Chapter 6 ─ Digital Data Communication Techniques CSE 3213 Fall 2011.
Dr. Muqaibel \ EE430 Convolutional Codes 1 Convolutional Codes.
Hamming Distance & Hamming Code
10.1 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
COMM 604:Channel Coding Course Instructor: Tallal Elshabrawy Instructor Office: C3.321 Lecture Time & Loc.: Tues. 2 nd Slot H19 Instructor
Error Control Coding. Purpose To detect and correct error(s) that is introduced during transmission of digital signal.
Error Detecting and Error Correcting Codes
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.
Classical Coding for Forward Error Correction Prof JA Ritcey Univ of Washington.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Institute for Experimental Mathematics Ellernstrasse Essen - Germany DATA COMMUNICATION introduction A.J. Han Vinck May 10, 2003.
Chapter 6.
S Digital Communication Systems
Welcome to the presentation. Linear Block Codes Almost all block codes used today belong to a subset called linear block codes. The exclusive OR of two.
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.
II. Linear Block Codes.
Error Detection and Correction
IV. Convolutional Codes
Presentation transcript:

ERROR CONTROL CODING Basic concepts Classes of codes: Block Codes Linear Codes Cyclic Codes Convolutional Codes

Basic Concepts Example: Binary Repetition Codes (3,1) code: 0 ==> 000 1 ==> 111 Received: 011. What was transmitted? scenario A: 111 with one error in 1st location scenario B: 000 with two errors in 2nd & 3rd locations. Decoding: P(A) = (1- p)2 p P(B) = (1- p) p2 P(A) > P(B) (for p<0.5) Decoding decision: 011 ==> 111

Probability of Error After Decoding (3,1) repetition code can correct single errors. In general for a tc-error correcting code: Bit error probability = [for the (3,1) code, Pb = Pu] Gain: For a BSC with p= 10-2, Pb=3x10-4. Cost: Expansion in bandwidth or lower rate.

Hamming Distance Def.: The Hamming distance between two codewords ci and cj, denoted by d(ci,cj), is the number of components at which they differ. dH(011,000) = 2 dH [C1,C2]=WH(C1+C2) dH (011,111) = 1 Therefore 011 is closer to 111. Maximum Likelihood Decoding reduces to Minimum Distance Decoding, if the priory probabilities are equal (P(0)=P(1))

Geometrical Illustration Hamming Cube 000 001 011 010 101 100 110 111

Error Correction and Detection Consider a code consisting of two codewords with Hamming distance dmin. How many errors can be detected? Corrected? # of errors that can be detected = td= dmin -1 # of errors that can be corrected = tc = In other words, for t-error correction, we must have dmin = 2tc + 1

Error Correction and Detection (cont’d) Example: dmin = 5 Can correct two errors Or, detect four errors Or, correct one error and detect two more errors. In general d min= 2tc + td + 1 d min > 2tc + 1 d min >tc + td + 1

Minimum Distance of a Code Def.: The minimum distance of a code C is the minimum Hamming distance between any two different codewords. A code with minimum distance dmin can correct all error patterns up to and including t-error patterns, where dmin = 2tc + 1 It may be able to correct some higher error patterns, but not all.

Example: (7,4) Code

Coding: Gain and Cost (Revisited) Given an (n,k) code. Gain is proportional to the error correction capability, tc. Cost is proportional to the number of check digits, n-k = r. Given a sequence of k information digits, it is desired to add as few check digits r as possible to correct as many errors (t) as possible. What is the relation between these code parameters? Note some text books uses m rather than r for the number check bits

Hamming Bound For an (n,k) code, there are 2k codewords and 2n possible received words. Think of the 2k codewords as centers of spheres in an n-dimensional space. All received words that differ from codeword ci in tc or less positions lie within the sphere Si of center ci and radius tc. For the code to be tc-error correcting (i.e. any tc-error pattern for any codeword transmitted can be corrected), all spheres Si , i =1,.., 2k , must be non-overlapping.

Hamming Bound (cont’d) In other words, When a codeword is selected, none of the n-bit sequences that differ from that codeword by tc or less locations can be selected as a codeword. Consider the all-zero codeword. The number of words that differ from this codeword by j locations is The total number of words in any sphere (including the codeword at the center) is

Hamming Bound (cont’d) The total number of n-bit sequences that must be available (for the code to be a tc-error correcting code) is: But the total number of sequences is 2n. Therefore:

Hamming Bound (cont’d) The above bound is known as the Hamming Bound. It provides a necessary, but not a sufficient, condition for the construction of an (n,k) tc-error correcting code. Example: Is it theoretically possible to design a (10,7) single-error correcting code? A code for which the equality is satisfied is called a perfect code. There are only three types of perfect codes (binary repetition codes, the hamming codes, and the Golay codes). Perfect does not mean “best”!

Gilbert Bound While Hamming bound sets a lower limit on the number of redundant bits (n-k) required to correct tc errors in an (n,k) linear block code. Another lower limit is the Singleton bound Gilbert bound places an upper bound on the number of redundant bits required to correct tc errors. It only says there exist a code but it does not tell you how to find it.

The Encoding Problem How to select 2k codewords of the code C from the 2n sequences such that some specified (or possibly the maximum possible) minimum distance of the code is guaranteed? Example: How were the 16 codewords of the (7,4) code constructed? Exhaustive search is impossible, except for very short codes (small k and n) Are we going to store the whole table of 2k(n+k) entries?! A constructive procedure for encoding is necessary.

The Decoding Problem Standard Array 0000000 1101000 0110100 1011100 1110010 0011010 1000110 0101110 1010001 0111001 1100101 0001101 0100011 1001011 0010111 1111111 0000001 1101001 0110101 1011101 1110011 0011011 1000111 0101111 1010000 0111000 1100100 0001100 0100010 1001010 0010110 1111110 0000010 1101010 0110110 1011110 1110000 0011000 1000100 0101100 1010011 0111011 1100111 0001111 0100001 1001001 0010101 1111101 0000100 1101100 0110000 1011000 1110110 0011110 1000010 0101010 1010101 0111101 1100001 0001001 0100111 1001111 0010011 1111011 0001000 1100000 0111100 1010100 1111010 0010010 1001110 0100110 1011001 0`10001 1101101 0000101 0101011 1000011 0011111 1110111 0010000 1111000 0100100 1001100 1100010 0001010 1010110 0111110 1000001 0101001 1110101 0011101 0110011 1011011 0000111 1101111 0100000 1001000 0010100 1111100 1010010 0111010 1100110 0001110 1110001 0011001 1000101 0101101 0000011 1101011 0110111 1011111 1000000 0101000 1110100 0011100 0110010 1011010 0000110 1101110 0010001 1111001 0100101 1001101 1100011 0001011 1010111 0111111 Exhaustive decoding is impossible!! Well-constructed decoding methods are required. Two possible types of decoders: Complete: always chooses minimum distance Bounded-distance: chooses the minimum distance up to a certain tc. Error detection is utilized otherwise.