(A) the Probability of Block Error of the Hamming Code Is a Sum of Six Terms – the Probabilities That 2, 3, 4, 5, 6, Or 7 Errors Occur in One Block
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
An Introduction to Information Theory
An Introduction to Information Theory Vahid Meghdadi reference : Elements of Information Theory by Cover and Thomas September 2007 Contents 1 Entropy 2 2 Joint and conditional entropy 4 3 Mutual information 5 4 Data Compression or Source Coding 6 5 Channel capacity 8 5.1 examples . 9 5.1.1 Noiseless binary channel . 9 5.1.2 Binary symmetric channel . 9 5.1.3 Binary erasure channel . 10 5.1.4 Two fold channel . 11 6 Differential entropy 12 6.1 Relation between differential and discrete entropy . 13 6.2 joint and conditional entropy . 13 6.3 Some properties . 14 7 The Gaussian channel 15 7.1 Capacity of Gaussian channel . 15 7.2 Band limited channel . 16 7.3 Parallel Gaussian channel . 18 8 Capacity of SIMO channel 19 9 Exercise (to be completed) 22 1 1 Entropy Entropy is a measure of uncertainty of a random variable. The uncertainty or the amount of information containing in a message (or in a particular realization of a random variable) is defined as the inverse of the logarithm of its probabil- ity: log(1=PX (x)). So, less likely outcome carries more information. Let X be a discrete random variable with alphabet X and probability mass function PX (x) = PrfX = xg, x 2 X . For convenience PX (x) will be denoted by p(x). The entropy of X is defined as follows: Definition 1. The entropy H(X) of a discrete random variable is defined by 1 H(X) = E log p(x) X 1 = p(x) log (1) p(x) x2X Entropy indicates the average information contained in X. -
L11-IT-Handouts.Pdf
Today’s Topics Information Theory • Communication Channel • Noiseless binary channel Mohamed Hamada • Binary Symmetric Channel (BSC) Software Engineering Lab The University of Aizu • Symmetric Channel Email: [email protected] URL: http://www.u-aizu.ac.jp/~hamada • Mutual Information • Channel Capacity 1 Digital Communication Systems Digital Communication Systems 1. Huffman Code. 1. Memoryless 2. Two-pass Huffman Code. 2. Stochastic 3. Lemple-Ziv Code. 3. Markov 4. Fano code. Information User of Information 4. Ergodic User of Source 5. Shannon Code. Information Source Information 6. Arithmetic Code. Source Source Source Source Encoder Decoder Encoder Decoder Channel Channel Channel Channel Encoder Decoder Encoder Decoder Modulator De-Modulator Modulator De-Modulator Channel Channel 2 3 INFORMATION TRANSFER ACROSS CHANNELS Communication Channel Sent Received A (discrete ) channel is a system consisting of an input alphabet messages messages X and output alphabet Y and a probability transition matrix symbols p(y|x) that expresses the probability of observing the output symbol y given that we send the symbol x Channel Channel Source Source Channel sourcecoding coding decoding decoding receiver Examples of channels: Compression Error Correction Decompression CDs, CD – ROMs, DVDs, phones, Source Entropy Channel Capacity Ethernet, Video cassettes etc. Rate vs Distortion Capacity vs Efficiency 4 5 1 Communication Channel Noiseless binary channel Noiseless binary channel Channel Channel 00 input x p(y|x) output y Transition probabilities 11 Memoryless: - output only on input Transition Matrix - input and output alphabet finite 01 p(y | x) = 0 10 1 01 6 7 Binary Symmetric Channel (BSC) Binary Symmetric Channel (BSC) (Noisy channel) (Noisy channel) 00BSC Channel 1 p 1-p 1-p Error Source 00 e BSC Channel p 110 y = x e p 1-p xi i i + 11 Input Output p 1-p 00 1-p 1 1 p BSC Channel 8 9 Symmetric Channel (Noisy channel) Channel XY In the transmission matrix of this channel , all the rows are permutations of each other and so the columns. -
Hamming Code - Wikipedia, the Free Encyclopedia Hamming Code Hamming Code
Hamming code - Wikipedia, the free encyclopedia Hamming code Hamming code From Wikipedia, the free encyclopedia In telecommunication, a Hamming code is a linear error-correcting code named after its inventor, Richard Hamming. Hamming codes can detect and correct single-bit errors, and can detect (but not correct) double-bit errors. In contrast, the simple parity code cannot detect errors where two bits are transposed, nor can it correct the errors it can find. Contents [hide] • 1 History • 2 Codes predating Hamming ♦ 2.1 Parity ♦ 2.2 Two-out-of-five code ♦ 2.3 Repetition • 3 Hamming codes • 4 Example using the (11,7) Hamming code • 5 Hamming code (7,4) ♦ 5.1 Hamming matrices ♦ 5.2 Channel coding ♦ 5.3 Parity check ♦ 5.4 Error correction • 6 Hamming codes with additional parity • 7 See also • 8 References • 9 External links History Hamming worked at Bell Labs in the 1940s on the Bell Model V computer, an electromechanical relay-based machine with cycle times in seconds. Input was fed in on punch cards, which would invariably have read errors. During weekdays, special code would find errors and flash lights so the operators could correct the problem. During after-hours periods and on weekends, when there were no operators, the machine simply moved on to the next job. Hamming worked on weekends, and grew increasingly frustrated with having to restart his programs from scratch due to the unreliability of the card reader. Over the next few years he worked on the problem of error-correction, developing an increasingly powerful array of algorithms. -
Networked Distributed Source Coding
Networked distributed source coding Shizheng Li and Aditya Ramamoorthy Abstract The data sensed by differentsensors in a sensor network is typically corre- lated. A natural question is whether the data correlation can be exploited in innova- tive ways along with network information transfer techniques to design efficient and distributed schemes for the operation of such networks. This necessarily involves a coupling between the issues of compression and networked data transmission, that have usually been considered separately. In this work we review the basics of classi- cal distributed source coding and discuss some practical code design techniques for it. We argue that the network introduces several new dimensions to the problem of distributed source coding. The compression rates and the network information flow constrain each other in intricate ways. In particular, we show that network coding is often required for optimally combining distributed source coding and network information transfer and discuss the associated issues in detail. We also examine the problem of resource allocation in the context of distributed source coding over networks. 1 Introduction There are various instances of problems where correlated sources need to be trans- mitted over networks, e.g., a large scale sensor network deployed for temperature or humidity monitoring over a large field or for habitat monitoring in a jungle. This is an example of a network information transfer problem with correlated sources. A natural question is whether the data correlation can be exploited in innovative ways along with network information transfer techniques to design efficient and distributed schemes for the operation of such networks. This necessarily involves a Shizheng Li · Aditya Ramamoorthy Iowa State University, Ames, IA, U.S.A. -
Reed-Solomon Error Correction
R&D White Paper WHP 031 July 2002 Reed-Solomon error correction C.K.P. Clarke Research & Development BRITISH BROADCASTING CORPORATION BBC Research & Development White Paper WHP 031 Reed-Solomon Error Correction C. K. P. Clarke Abstract Reed-Solomon error correction has several applications in broadcasting, in particular forming part of the specification for the ETSI digital terrestrial television standard, known as DVB-T. Hardware implementations of coders and decoders for Reed-Solomon error correction are complicated and require some knowledge of the theory of Galois fields on which they are based. This note describes the underlying mathematics and the algorithms used for coding and decoding, with particular emphasis on their realisation in logic circuits. Worked examples are provided to illustrate the processes involved. Key words: digital television, error-correcting codes, DVB-T, hardware implementation, Galois field arithmetic © BBC 2002. All rights reserved. BBC Research & Development White Paper WHP 031 Reed-Solomon Error Correction C. K. P. Clarke Contents 1 Introduction ................................................................................................................................1 2 Background Theory....................................................................................................................2 2.1 Classification of Reed-Solomon codes ...................................................................................2 2.2 Galois fields............................................................................................................................3 -
Linear Block Codes
Linear Block codes (n, k) Block codes k – information bits n - encoded bits Block Coder Encoding operation n-digit codeword made up of k-information digits and (n-k) redundant parity check digits. The rate or efficiency for this code is k/n. 푘 푁푢푚푏푒푟 표푓 푛푓표푟푚푎푡표푛 푏푡푠 퐶표푑푒 푒푓푓푐푒푛푐푦 푟 = = 푛 푇표푡푎푙 푛푢푚푏푒푟 표푓 푏푡푠 푛 푐표푑푒푤표푟푑 Note: unlike source coding, in which data is compressed, here redundancy is deliberately added, to achieve error detection. SYSTEMATIC BLOCK CODES A systematic block code consists of vectors whose 1st k elements (or last k-elements) are identical to the message bits, the remaining (n-k) elements being check bits. A code vector then takes the form: X = (m0, m1, m2,……mk-1, c0, c1, c2,…..cn-k) Or X = (c0, c1, c2,…..cn-k, m0, m1, m2,……mk-1) Systematic code: information digits are explicitly transmitted together with the parity check bits. For the code to be systematic, the k-information bits must be transmitted contiguously as a block, with the parity check bits making up the code word as another contiguous block. Information bits Parity bits A systematic linear block code will have a generator matrix of the form: G = [P | Ik] Systematic codewords are sometimes written so that the message bits occupy the left-hand portion of the codeword and the parity bits occupy the right-hand portion. Parity check matrix (H) Will enable us to decode the received vectors. For each (kxn) generator matrix G, there exists an (n-k)xn matrix H, such that rows of G are orthogonal to rows of H i.e., GHT = 0, where HT is the transpose of H. -
An Introduction to Coding Theory
An introduction to coding theory Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India Feb. 6, 2017 Lecture #6A: Some simple linear block codes -I Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India An introduction to coding theory Outline of the lecture Dual code. Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India An introduction to coding theory Outline of the lecture Dual code. Examples of linear block codes Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India An introduction to coding theory Outline of the lecture Dual code. Examples of linear block codes Repetition code Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India An introduction to coding theory Outline of the lecture Dual code. Examples of linear block codes Repetition code Single parity check code Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India An introduction to coding theory Outline of the lecture Dual code. Examples of linear block codes Repetition code Single parity check code Hamming code Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India An introduction to coding theory Dual code Two n-tuples u and v are orthogonal if their inner product (u, v)is zero, i.e., n (u, v)= (ui · vi )=0 i=1 Adrish Banerjee Department of Electrical Engineering Indian Institute of Technology Kanpur Kanpur, Uttar Pradesh India An introduction to coding theory Dual code Two n-tuples u and v are orthogonal if their inner product (u, v)is zero, i.e., n (u, v)= (ui · vi )=0 i=1 For a binary linear (n, k) block code C,the(n, n − k) dual code, Cd is defined as set of all codewords, v that are orthogonal to all the codewords u ∈ C. -
Error-Correction and the Binary Golay Code
London Mathematical Society Impact150 Stories 1 (2016) 51{58 C 2016 Author(s) doi:10.1112/i150lms/t.0003 e Error-correction and the binary Golay code R.T.Curtis Abstract Linear algebra and, in particular, the theory of vector spaces over finite fields has provided a rich source of error-correcting codes which enable the receiver of a corrupted message to deduce what was originally sent. Although more efficient codes have been devised in recent years, the 12- dimensional binary Golay code remains one of the most mathematically fascinating such codes: not only has it been used to send messages back to earth from the Voyager space probes, but it is also involved in many of the most extraordinary and beautiful algebraic structures. This article describes how the code can be obtained in two elementary ways, and explains how it can be used to correct errors which arise during transmission 1. Introduction Whenever a message is sent - along a telephone wire, over the internet, or simply by shouting across a crowded room - there is always the possibly that the message will be damaged during transmission. This may be caused by electronic noise or static, by electromagnetic radiation, or simply by the hubbub of people in the room chattering to one another. An error-correcting code is a means by which the original message can be recovered by the recipient even though it has been corrupted en route. Most commonly a message is sent as a sequence of 0s and 1s. Usually when a 0 is sent a 0 is received, and when a 1 is sent a 1 is received; however occasionally, and hopefully rarely, a 0 is sent but a 1 is received, or vice versa. -
Week 8 Information Channels Suppose That Data Must Be Sent Through a Channel Before It Can Be Used
CSC 310: Information Theory University of Toronto, Fall 2011 Instructor: Radford M. Neal Week 8 Information Channels Suppose that data must be sent through a channel before it can be used. This channel may be unreliable, but we can use a code designed counteract this. Some questions we aim to answer: • Can we quantify how much information a channel can transmit? • If we have low tolerance for errors, will we be able to make full use of a channel, or must some of the channel’s capacity be lost to ensure a low error probability? • How can we correct (or at least detect) errors in practice? • Can we do as well in practice as the theory says is possible? Error Correction for Memory Blocks The “channel” may transmit information through time rather than space — ie, it is a memory device. Many memory devices store data in blocks — eg, 64 bits for RAM, 512 bytes for disk. Can we correct some errors by adding a few more bits? For instance, could we correct any single error if we use 71 bits to encode a 64 bit block of data stored in RAM? Error Correction in a Communications System In other applications, data arrives in a continuous stream. An overall system might look like this: Encoder for Data often sent in blocks Data Compression Error-Correcting In Program Code Noise Channel Decoder for Decompression Data Error-Correcting Code Program Out Error Detection We might also be interested in detecting errors, even if we can’t correct them: • For RAM or disk memory, error detection tells us that we need to call the repair person. -
The Binary Golay Code and the Leech Lattice
The binary Golay code and the Leech lattice Recall from previous talks: Def 1: (linear code) A code C over a field F is called linear if the code contains any linear combinations of its codewords A k-dimensional linear code of length n with minimal Hamming distance d is said to be an [n, k, d]-code. Why are linear codes interesting? ● Error-correcting codes have a wide range of applications in telecommunication. ● A field where transmissions are particularly important is space probes, due to a combination of a harsh environment and cost restrictions. ● Linear codes were used for space-probes because they allowed for just-in-time encoding, as memory was error-prone and heavy. Space-probe example The Hamming weight enumerator Def 2: (weight of a codeword) The weight w(u) of a codeword u is the number of its nonzero coordinates. Def 3: (Hamming weight enumerator) The Hamming weight enumerator of C is the polynomial: n n−i i W C (X ,Y )=∑ Ai X Y i=0 where Ai is the number of codeword of weight i. Example (Example 2.1, [8]) For the binary Hamming code of length 7 the weight enumerator is given by: 7 4 3 3 4 7 W H (X ,Y )= X +7 X Y +7 X Y +Y Dual and doubly even codes Def 4: (dual code) For a code C we define the dual code C˚ to be the linear code of codewords orthogonal to all of C. Def 5: (doubly even code) A binary code C is called doubly even if the weights of all its codewords are divisible by 4. -
Tcom 370 Notes 99-8 Error Control: Block Codes
TCOM 370 NOTES 99-8 ERROR CONTROL: BLOCK CODES THE NEED FOR ERROR CONTROL The physical link is always subject to imperfections (noise/interference, limited bandwidth/distortion, timing errors) so that individual bits sent over the physical link cannot be received with zero error probability. A bit error -6 rate (BER) of 10 , which may sound quite low and very good, actually leads 1 on the average to an error every -th second for transmission at 10 Mbps. 10 -7 Even with better links, say BER=10 , one would make on the average one error in transferring a binary file of size 1.25 Mbytes. This is not acceptable for "reliable" data transmission. We need to provide in the data link control protocols (Layer 2 of the ISO 7- layer OSI protocol architecture) a means for obtaining better reliability than can be guaranteed by the physical link itself. Note: Error control can be (and is) also incorporated at a higher layer, the transport layer. ERROR CONTROL TECHNIQUES Error Detection and Automatic Request for Retransmission (ARQ) This is a "feedback" mode of operation and depends on the receiver being able to detect that an error has occurred. (Error detection is easier than error correction at the receiver). Upon detecting an error in a frame of transmitted bits, the receiver asks for a retransmission of the frame. This may happen at the data link layer or at the transport layer. The characteristics of ARQ techniques will be discussed in more detail in a subsequent set of notes, where the delays introduced by the ARQ process will be considered explicitly. -
OPTIMIZING SIZES of CODES 1. Introduction to Coding Theory Error
OPTIMIZING SIZES OF CODES LINDA MUMMY Abstract. This paper shows how to determine if codes are of optimal size. We discuss coding theory terms and techniques, including Hamming codes, perfect codes, cyclic codes, dual codes, and parity-check matrices. 1. Introduction to Coding Theory Error correcting codes and check digits were developed to counter the effects of static interference in transmissions. For example, consider the use of the most basic code. Let 0 stand for \no" and 1 stand for \yes." A mistake in one digit relaying this message can change the entire meaning. Therefore, this is a poor code. One option to increase the probability that the correct message is received is to send the message multiple times, like 000000 or 111111, hoping that enough instances of the correct message get through that the receiver is able to comprehend the original meaning. This, however, is an inefficient method of relaying data. While some might associate \coding theory" with cryptography and \secret codes," the two fields are very different. Coding theory deals with transmitting a codeword, say x, and ensuring that the receiver is able to determine the original message x even if there is some static or interference in transmission. Cryptogra- phy deals with methods to ensure that besides the sender and the receiver of the message, no one is able to encode or decode the message. We begin by discussing a real life example of the error checking codes (ISBN numbers) which appear on all books printed after 1964. We go on to discuss different types of codes and the mathematical theories behind their structures.