Information Theory Introduction to Channel Coding Jalal Al Roumy.

Slides:



Advertisements
Similar presentations
Noise, Information Theory, and Entropy (cont.) CS414 – Spring 2007 By Karrie Karahalios, Roger Cheng, Brian Bailey.
Advertisements

Cyclic Code.
CODING, CRYPTOGRAPHY and CRYPTOGRAPHIC PROTOCOLS
Error Detection and Correction
Cellular Communications
Transmission Errors Error Detection and Correction
Turbo Codes Azmat Ali Pasha.
DIGITAL COMMUNICATION Coding
Transmission Errors1 Error Detection and Correction.
EEE377 Lecture Notes1 EEE436 DIGITAL COMMUNICATION Coding En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room 2.14.
Chapter 11 Error-Control CodingChapter 11 : Lecture edition by K.Heikkinen.
Error Correcting Codes To detect and correct errors Adding redundancy to the original message Crucial when it’s impossible to resend the message (interplanetary.
DIGITAL COMMUNICATION Coding
15-853Page :Algorithms in the Real World Error Correcting Codes I – Overview – Hamming Codes – Linear Codes.
3F4 Error Control Coding Dr. I. J. Wassell.
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.
Transmission Errors Error Detection and Correction
DIGITAL COMMUNICATION Error - Correction A.J. Han Vinck.
Channel Coding and Error Control
Channel Coding Part 1: Block Coding
Copyright © 2003, Dr. Dharma P. Agrawal and Dr. Qing-An Zeng. All rights reserved. 1 Chapter 4 Channel Coding.
Lecture 10: Error Control Coding I Chapter 8 – Coding and Error Control From: Wireless Communications and Networks by William Stallings, Prentice Hall,
Information and Coding Theory Linear Block Codes. Basic definitions and some examples. Juris Viksna, 2015.
Information Coding in noisy channel error protection:-- improve tolerance of errors error detection: --- indicate occurrence of errors. Source.
© 2009 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved. 1 Communication Reliability Asst. Prof. Chaiporn Jaikaeo, Ph.D.
CODING/DECODING CONCEPTS AND BLOCK CODING. ERROR DETECTION CORRECTION Increase signal power Decrease signal power Reduce Diversity Retransmission Forward.
1 SNS COLLEGE OF ENGINEERING Department of Electronics and Communication Engineering Subject: Digital communication Sem: V Cyclic Codes.
Data Link Layer: Error Detection and Correction
Codes Codes are used for the following purposes: - to detect errors - to correct errors after detection Error Control Coding © Erhan A. Ince Types: -Linear.
ERROR CONTROL CODING Basic concepts Classes of codes: Block Codes
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]
Lecture 3-2: Coding and Error Control (Cont.) ECE
Basic Characteristics of Block Codes
Outline Transmitters (Chapters 3 and 4, Source Coding and Modulation) (week 1 and 2) Receivers (Chapter 5) (week 3 and 4) Received Signal Synchronization.
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
6876: Communication Networks ERROR CONTROL STRATEGIES Error Control Strategies Forward Error Correction (FEC) Automatic Repeat Request (ARQ)
Linear codes of good error control performance Tsonka Baicheva Institute of Mathematics and Informatics Bulgarian Academy of Sciences Bulgaria.
Information Theory Linear Block Codes Jalal Al Roumy.
Authentication protocol providing user anonymity and untraceability in wireless mobile communication systems Computer Networks Volume: 44, Issue: 2, February.
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.
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
Some Computation Problems in Coding Theory
Error Detection and Correction
Digital Communications I: Modulation and Coding Course Term Catharina Logothetis Lecture 9.
Fidelity of a Quantum ARQ Protocol Alexei Ashikhmin Bell Labs  Classical Automatic Repeat Request (ARQ) Protocol  Quantum Automatic Repeat Request (ARQ)
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.
II. Linear Block Codes. © Tallal Elshabrawy 2 Digital Communication Systems Source of Information User of Information Source Encoder Channel Encoder Modulator.
Channel Coding: Part I Presentation II Irvanda Kurniadi V. ( ) Digital Communication 1.
Channel Coding and Error Control 1. Outline Introduction Linear Block Codes Cyclic Codes Cyclic Redundancy Check (CRC) Convolutional Codes Turbo Codes.
Institute for Experimental Mathematics Ellernstrasse Essen - Germany DATA COMMUNICATION introduction A.J. Han Vinck May 10, 2003.
UNIT-5 CHANNEL CODING.
Subject Name: Information Theory Coding Subject Code: 10EC55
Chapter 6.
II. Linear Block Codes.
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.
DIGITAL COMMUNICATION Coding
II. Linear Block Codes.
Types of Errors Data transmission suffers unpredictable changes because of interference The interference can change the shape of the signal Single-bit.
Lecture 17 Making New Codes from Old Codes (Section 4.6)
Lecture 15 The Minimum Distance of a Code (Section 4.4)
Theory of Information Lecture 13
Presentation transcript:

Information Theory Introduction to Channel Coding Jalal Al Roumy

2 Introduction Error control for data integrity may be exercised by means of either forward error correction (FEC) or automatic request for re- transmission (ARQ). For FEC, redundant data is added to the code for the purposes of error detection and correction whereas ARQ utilises redundancy for the sole purpose or error detection. Upon detection the receiver requests a repeat transmission. Channel coding is shown in the following diagram – modulation and channel coding may be combined. Information to be transmitted Source coding Channel coding Modulation Transmitter Channel Information received Source decoding Channel decoding Demodulation Receiver Channel coding Channel decoding Crypto source

3 Coding - basic concepts Without coding theory and error-correcting codes there would be no deep-space travel and pictures, no satellite TV, no mobile communications no e-business, no e-commerce, no control systems, etc. Error-correcting codes are used to correct messages when they are transmitted through noisy channels. Error correcting framework Example A code C over an alphabet S is a subset of S* - (C ε S*). A q -nary code is a code over an alphabet of q -symbols. A binary code is a code over the alphabet {0,1}. Examples of codesC 1 = {00, 01, 10, 11} C 2 = {000, 010, 101, 100} C 3 = {00000, 01101, 10111, 11011}

4 Background Historically FECs are divided into linear block codes (eg Hamming, cyclic, Reed-Solomon etc) and codes such as convolution codes. From a purist viewpoint the division is drawn between linear block codes and convolution codes. The next sessions will examine particular examples of FECs covering: An overview to linear codes Hamming codes Cyclic codes Convolutional codes The session will conclude with a brief excursion into ARQs. Firstly a reminder of the most basic form or error detection – the parity check. As usual we need some basic theory to begin!

5 Parity Codes Single Bit Parity: Detect single bit errors Two Dimensional Bit Parity: Detect and correct single bit errors 0 0 1

6 Example code

7 The ISBN-code; an example Each book has International Standard Book Number has a 10-digit codeword produced by the publisher with the following structure: l p m w= x 1 … x 10 language publisher number weighted check sum such that The publisher has to put X (in this case 4 ) into the 10-th position. The ISBN code is designed to detect: (a) any single error (b) any double error created by a transposition Single error detection Let X = x 1 … x 10 be a correct code and let Y = x 1 … x J-1 y J x J+1 … x 10 with y J = x J + a, a  0 In such a case: ≡ 0 (mod 11)

8 Binary symmetric channel Consider a transmission of binary symbols such that each symbol has probability of error p < 1/2. Binary symmetric channel If n symbols are transmitted, then the probability of t errors is In the case of binary symmetric channels the ”nearest neighbour decoding strategy” is also “maximum likelihood decoding strategy''. Example Consider C = {000, 111} and the nearest neighbour decoding strategy. Probability that the received word is decoded correctly as 000 is (1 - p) 3 + 3p(1 - p) 2, as 111 is (1 - p) 3 + 3p(1 - p) 2. ThereforeP err (C) = 1 - ((1 - p) 3 + 3p(1 - p) 2 ) is the so-called word error probability. Example If p = 0.01, then P err (C) = and only one word in 3555 will reach the user with an error.

9 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,

10 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.

11 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

12 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.

13 A general upper bound on A q (n,d) Notation F q n – is a set of all words of length n over alphabet {0,1,2,…,q -1} Definition For any codeword u  F q n and any integer r  0 the sphere of radius r and centre u is denoted by S (u,r) = {v  F q n | d (u,v)  r }. Theorem Theorem A sphere of radius r in F q n, 0  r  n contains Theorem Theorem (The sphere-packing or Hamming bound) If C is a q -nary (n,M,2t +1) -code, then A code which achieves the sphere-packing bound as above, i.e. such that equality holds, is called a perfect code. words The Singleton result given for upper bound is

14 A general upper bound on A q (n,d) For Binary: The Singleton result becomes

15 A general upper bound on A q (n,d) Example Example An (7,M,3) -code is perfect if i.e. M = 16 An example of such a code: C 4 = { , , , , , , , , , , , , , , , }

16 Lower Bound For A q (N,d) The following lower bound for A q (n,d) is known as Gilbert- Varshanov bound: Theorem Theorem Given d  n, there exists a q -ary (n,M,d) -code with For binary

17 Examples using bounds Does there exist a linear code of length n=9, dimension k=2, and distance d=5? Yes, because What is a lower and an upper bound on the size or the dimension, k, of a linear code with n=9 and d=5? Hamming upper bound:

18 Does there exists a (15, 7, 5) linear code? Check G-V condition G-V condition does not hold, so G-V bound does not tell us whether or not such a code exists. Further example

19 Another example