Coding theory | Error detection and correction | Computer arithmetic

Hamming code

In computer science and telecommunication, Hamming codes are a family of linear error-correcting codes. Hamming codes can detect one-bit and two-bit errors, or correct one-bit errors without detection of uncorrected errors. By contrast, the simple parity code cannot correct errors, and can detect only an odd number of bits in error. Hamming codes are perfect codes, that is, they achieve the highest possible rate for codes with their block length and minimum distance of three.Richard W. Hamming invented Hamming codes in 1950 as a way of automatically correcting errors introduced by punched card readers. In his original paper, Hamming elaborated his general idea, but specifically focused on the Hamming(7,4) code which adds three parity bits to four bits of data. In mathematical terms, Hamming codes are a class of binary linear code. For each integer r ≥ 2 there is a code-word with block length n = 2r − 1 and message length k = 2r − r − 1. Hence the rate of Hamming codes is R = k / n = 1 − r / (2r − 1), which is the highest possible for codes with minimum distance of three (i.e., the minimal number of bit changes needed to go from any code word to any other code word is three) and block length 2r − 1. The parity-check matrix of a Hamming code is constructed by listing all columns of length r that are non-zero, which means that the dual code of the Hamming code is the shortened Hadamard code. The parity-check matrix has the property that any two columns are pairwise linearly independent. Due to the limited redundancy that Hamming codes add to the data, they can only detect and correct errors when the error rate is low. This is the case in computer memory (usually RAM), where bit errors are extremely rare and Hamming codes are widely used, and a RAM with this correction system is a ECC RAM (ECC memory). In this context, an extended Hamming code having one extra parity bit is often used. Extended Hamming codes achieve a Hamming distance of four, which allows the decoder to distinguish between when at most one one-bit error occurs and when any two-bit errors occur. In this sense, extended Hamming codes are single-error correcting and double-error detecting, abbreviated as SECDED. (Wikipedia).

Hamming code
Video thumbnail

Hamming Code For Error Detection And Correction | Hamming Code Error Correction | Simplilearn

In this video on "Hamming Code for Error Detection," we will look into the introductory knowledge related to the network technique of hamming code. This network will allow us to detect and correct errors on the receiver side. Explained in the stepwise format for proper clarification. Topi

From playlist Networking

Video thumbnail

Hamming Code - Errors

How to detect and correct an error using the Hamming Code. Hamming codes are a type of linear code, see link for intro to linear code: https://www.youtube.com/watch?v=oYONDEX2sh8 Questions? Feel free to post them in the comments and I'll do my best to answer!

From playlist Cryptography and Coding Theory

Video thumbnail

How to send a self-correcting message (Hamming codes)

A discovery-oriented introduction to error correction codes. Part 2: https://youtu.be/b3NxrZOu_CE Ben Eater:'s take: https://youtu.be/h0jloehRKas Help fund future projects: https://www.patreon.com/3blue1brown An equally valuable form of support is to simply share some of the videos. Specia

From playlist Explainers

Video thumbnail

MATH3411 Problem 14

MATH3411 Information, Codes and Ciphers This problem decodes, corrects, and decodes using the binary (7,4) Hamming code. Presented by Thomas Britz, School of Mathematics and Statistics, Faculty of Science, UNSW Australia

From playlist MATH3411 Information, Codes and Ciphers

Video thumbnail

Math for Liberal Studies - Lecture 3.5.2 Hamming Distance

This is the second video for Math for Liberal Studies Section 3.5: Error-Correcting Codes. In this video, we discuss the Hamming distance between two binary messages. We also discuss the "minimum distance decoding method" for detecting and correcting errors.

From playlist Math for Liberal Studies Lectures

Video thumbnail

Radio - HAM - Antenna: DIY quarter wave ground plane antenna

How to make a quarter wave vertical 2 meter ground plane antenna. Parts for project: http://astore.amazon.com/m0711-20?_encoding=UTF8&node=9 In this video I go through the build of a UHF / VHF (146 MHz) quarter wave ground plane antenna that can be used for repeater communications. Th

From playlist Consumer Radio - HAM / Amateur Radio - Antennas

Video thumbnail

Linear Codes Introduction

This video is a brief introduction to linear codes: dimensions, G (generating matrix), H (parity check matrix), their forms. Also gives an example of how to convert between G and H. Here is the formal definition of a Linear Code: A linear code of dimension k and length n over a field

From playlist Cryptography and Coding Theory

Video thumbnail

HITB SecConf 2009 Malaysia: APRS/HAM Radio 7/7

Clip 7/7 Speaker: Malaysian Amateur Radio Emergency Service MARES 1. Introduction to Amateur Radio, History of Ham Radio in Malaysia 2. APRS Introduction 3. Communication with ISS, the amateur radio way 4. Emergency Communication For more information go to: http://bit.ly/ci3UfI

From playlist Hack In The Box Malaysia 2009

Video thumbnail

Error-Correcting Codes - Swastik Kopparty

Swastik Kopparty Institute for Advanced Study March 23, 2011 For more videos, visit http://video.ias.edu

From playlist Mathematics

Video thumbnail

Finding Minimum Distance

In this video I briefly explain what minimum distance is and why it is helpful. Then I explain how to find it "the long way" and the "shortcut." Also during the process, I explain what Hamming Weight and Distance are and how to find them. Codewords from Generating Matrix Video: https://w

From playlist Cryptography and Coding Theory

Video thumbnail

ShmooCon 2014: Unambiguous Encapsulation - Separating Data and Signaling

For more information visit: http://bit.ly/shmooc14 To download the video visit: http://bit.ly/shmooc14_down Playlist Shmoocon 2014: http://bit.ly/shmooc14_pl Speakers: Dominic Spill | Michael Ossmann Attacks against in band signaling systems have been demonstrated against Zigbee and Ether

From playlist ShmooCon 2014

Video thumbnail

1.2.10 Error Detection and Correction

MIT 6.004 Computation Structures, Spring 2017 Instructor: Chris Terman View the complete course: https://ocw.mit.edu/6-004S17 YouTube Playlist: https://www.youtube.com/playlist?list=PLUl4u3cNGP62WVs95MNq3dQBqY2vGOtQ2 1.2.10 Error Detection and Correction License: Creative Commons BY-NC-S

From playlist MIT 6.004 Computation Structures, Spring 2017

Video thumbnail

(IC 1.3) Applications of Error-correcting codes

Applications of Information theory and Coding. Compression algorithms: Huffman codes, Arithmetic coding, Lempel-Ziv Error-correction algorithms: Hamming codes, Reed-Solomon codes, Turbo codes, Gallager (LDPC) codes Attribution for images: Hummingbird http://en.wikipedia.org/wiki/File

From playlist Information theory and Coding

Video thumbnail

DEFCON 16: Deciphering Captcha

Speaker: Michael Brooks, Security Engineer, Fruition Security This presentation will detail two methods of breaking captcha. One uses RainbowCrack to break a visual captcha. The other uses fuzzy logic to break an audio captcha. Both methods are 100% effective. These are real attacks that

From playlist DEFCON 16

Video thumbnail

4. Linear block codes, parity relations

MIT 6.02 Introduction to EECS II: Digital Communication Systems, Fall 2012 View the complete course: http://ocw.mit.edu/6-02F12 Instructor: George Verghese This lecture continues to cover linear block codes. The generator matrix and matrix notation are introduced, along with examples of e

From playlist MIT 6.02 Introduction to EECS II: Digital Communication Systems, Fall 2012

Video thumbnail

3. Errors, channel codes

MIT 6.02 Introduction to EECS II: Digital Communication Systems, Fall 2012 View the complete course: http://ocw.mit.edu/6-02F12 Instructor: George Verghese This lecture places in context the abstraction layers in the network communication model and covers digital signaling. Metrics such a

From playlist MIT 6.02 Introduction to EECS II: Digital Communication Systems, Fall 2012

Video thumbnail

Lec 5 | MIT 6.451 Principles of Digital Communication II

Introduction to Binary Block Codes View the complete course: http://ocw.mit.edu/6-451S05 License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu

From playlist MIT 6.451 Principles of Digital Communication II

Video thumbnail

Discord Bots 3: Coding a Bot with discord.js

It's finally time to write some code! In this video, I demonstrate the very basics of coding a "hello world"-style bot with discord.js. 💻 Code: https://thecodingtrain.com/learning/bots/discord/03-discordjs.html 💻 Glitch: https://glitch.com/~choo-choo-bot-discord 💻 GitHub: https://github.c

From playlist How to Make a Discord Bot with discord.js

Video thumbnail

7. Viterbi decoding

MIT 6.02 Introduction to EECS II: Digital Communication Systems, Fall 2012 View the complete course: http://ocw.mit.edu/6-02F12 Instructor: George Verghese This lecture starts with a review of encoding and decoding. The Viterbi algorithm, which includes a branch netric and a path metric,

From playlist MIT 6.02 Introduction to EECS II: Digital Communication Systems, Fall 2012

Related pages

Turbo code | Hamming distance | Coding theory | Richard Hamming | Reed–Solomon error correction | Exclusive or | Hamming(7,4) | Identity matrix | Hamming bound | Parity-check matrix | Generator matrix | Odd number | Linear code | Hadamard code | Low-density parity-check code | Block code | Mathematics | Reed–Muller code | Parity bit | Repetition code | Binary digit | Even number | Dual code | Code rate