GB2412453A - 6/3 Hamming Error Correction - Google Patents

6/3 Hamming Error Correction Download PDF

Info

Publication number
GB2412453A
GB2412453A GB0407002A GB0407002A GB2412453A GB 2412453 A GB2412453 A GB 2412453A GB 0407002 A GB0407002 A GB 0407002A GB 0407002 A GB0407002 A GB 0407002A GB 2412453 A GB2412453 A GB 2412453A
Authority
GB
United Kingdom
Prior art keywords
bit
hamming
error correction
values
wobble
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0407002A
Other versions
GB0407002D0 (en
Inventor
David Hostettler Wain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to GB0407002A priority Critical patent/GB2412453A/en
Publication of GB0407002D0 publication Critical patent/GB0407002D0/en
Publication of GB2412453A publication Critical patent/GB2412453A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

A 6/3 hamming error correction technique has a hamming conversion table which converts all eight possible values of a three bit wibble into a corresponding six bit reference wobble. Each wobble reference value is at least three bits different from the other seven. A dehamming conversion table may be generated from the hamming conversion table whereby single bit errors (values which differ from the reference values by one bit) may be corrected back to the reference value and the single bit error corrected. Normally such a process would be automated by computer, converting a stream or packet of hammed data back into raw form. A periodic or packet checksum should be added to the raw data so that multiple bit errors may be detected.

Description

6/3 HAMMING ERROR CORRECTION This invention relates to a digital error
correction technique known as 6/3 hamming.
Hamming is a well known technique of protecting digital data from errors. The simplest and best known is 8/4 hamming. 8/4 hamming converts four bit binary nibbles into eight bit bytes, doubling the amount of data. However, the hammed data is error tolerant.
The 8/4 hamming process normally uses a hamming conversion table for the sixteen possible four bit nibbles containing corresponding eight bit byte reference values. Each byte reference value differs from the other fifteen by at least four bits.
During hamming, each four bit nibble of an input stream or packet of digital data is converted to its eight bit reference byte. The output stream or packet (of hammed data) is hence twice the size of the input.
Errors may be corrected because if a bit in a byte becomes errored, the closest value as defined by the number of bit flips is used. Thus single bit errors (within an eight bit hammed byte) are detected and correctable. One bit error per eight hammed bits is correctable (A 12%).
Double bit errors are detected but the errored byte is equi-distant from at least two byte reference values. Hence, double bit errors (per byte) are detected but cannot be corrected.
Dehamming usually uses a 8/4 dehamming conversion table for the 256 possible byte values, of which only 16 are the valid reference entries. There are 128 single bit error entries (correctable) and 112 multiple bit error entries (not correctable).
8/4 hamming can only corre* single bit errors. However, in order to do this, each reference value need only be three bits different from the others, rather than four.
Multiple bit errors should be detected (but not corrected) by a checksum anyway. - 2
According to the present invention there is provided a new hamming technique that detects and corrects one bit error in every six hammed bits, with optional detection of double or higher bit errors by a checksum.
A s,oecific embodiment of the invention wilt now be described by way of example with reference to the accompanying figures: Figure 1 shows two 6t3 hamming binary tables.
Figure 2 shows a 6/3 dehamming hexadecimal array for table 2.
this new hamming technique is known as 6/3 hamming. Three bit wibbles are converted into six bit wobbles using a conversion table. Each wobble reference value is at least THREE BITS DIFFERENT from the other seven reference values.
If a bit error occurs within a wobble, it may be recovered to its nearest reference value, as defined by the number of bit flips. It may then be converted back to its prehammed wibble. Thus a single bit error (SBE) may be tolerated in every six bits (A 17%) of hammed data However, it does not detect many double bit errors, but since these are unrecoverable anyway, they are best detected using a checksum. The amount of data is still doubled but the error resilience is better than 8/4 hamming.
There are many 6/3 hamming conversion tables which may be found by a trivial process of finding eight six bit values that are different from each other by three or more bits. Of the two tables shown in figure 1, table 2 is favoured, because it has a better distribution of Os and Is. In some applications this could be significant.
Dehamming usually uses a 6/3 dehamming conversion table for the 64 possible wobble values, of which only 8 are valid reference entries. There are 48 single bit error entries (correctable and 8 multiple bit error entries (not correctable). The 6/3 dehamming conversion table may be generated by treating each of the 64 possible 1) an exact match if it matches a reference value; or 2) a single bit error if it is one bit different from a reference value; or 3) a multiple bit error.
In applications where it is expected that bit errors occur together packets should be interleaved after hamming. By interleaving bits, systematic errors are avoided. For example, each sixth bit should be put into its corresponding sixth of a packet (of data).
Hence, Wobble 00000011 11112222 22333333 44444455 5555 Bit 54321054 32105432 10543210 54321054 3210 Becomes Wobble 01234501 23450123 45012345 01234501 2345 Bit 55555544 44443333 33222222 11111100 0000
APPENDIX A
ERROR CORRECTION PROBABILITIES
Assuming no systematic effects, in order to determine the probabilities of packets of data being correctable the following derivations are provided. Let,
Pe be the probability of a single bit in error Np be the number of bits in a packet n be the number of bit errors in a packet The probability of one combination of exactly n bit errors occurring is: n Np - n Po = Pe. (1Pe) If we have a combination of n error bits, the probability that the (m+1)th bit is in a previously errored wobble is the same as that of the mth bit, with an extra term: Pw(m+1) = Pw(m) + 5 (1 - Pw(m) ) ; with Pw(1) - 0 (Np- m) Hence probability of this combination being non- correctable (at least one wobble containing two or more bit errors) is: n- 1 \ Pc = / Pw(m+1); the sum of Pw(m+1) from m=0 to m=n-1 / m=0 The number of combinations of n bit errors in a packet of Np bits is: Nc = Np! n! (Np n)! - 4 Thus the probability of a packet occurring with exactly n bit errors that is non- correctable (two or more of the bits in at least one wobble) is: n-1 n Np - n \ Pn = Po. Nc. Pc = Pe, (1- Pe) . Np! ./ Pw(m+1) n! (Np- n)! / m=0 For completeness, the probability of a packet with n bit errors occurring is: n Np- n Pr = Po. Nc = Pe. (1- Pe) . NO! n! (Np- n)!

Claims (5)

CI-AIMS
1. A digital error correction technique comprising a hamming table of conversion values, converting three bit wibble values into six bit wobble reference values.
2. A digital error correction technique as claimed in Claim 1 wherein each six bit wobble reference value is at least 3 bits different from the seven others.
3. A digital error correction technique as claimed in Claims and 2 wherein interleaving the bits may be used to correct any systematic errors.
4. A digital error correction technique as claimed in Claims 1, 2 and 3 wherein a corresponding dehamming table of conversion values converting six bit wobbles back into three bit wibbles may be used to correct a single bit error per six bit
5. A digital error correction technique as claimed in Claims 1, 2, 3 and 4 wherein two or more bit errors per six bit wobble may be detected by a checksum but not corrected.
GB0407002A 2004-03-27 2004-03-27 6/3 Hamming Error Correction Withdrawn GB2412453A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0407002A GB2412453A (en) 2004-03-27 2004-03-27 6/3 Hamming Error Correction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0407002A GB2412453A (en) 2004-03-27 2004-03-27 6/3 Hamming Error Correction

Publications (2)

Publication Number Publication Date
GB0407002D0 GB0407002D0 (en) 2004-04-28
GB2412453A true GB2412453A (en) 2005-09-28

Family

ID=32188886

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0407002A Withdrawn GB2412453A (en) 2004-03-27 2004-03-27 6/3 Hamming Error Correction

Country Status (1)

Country Link
GB (1) GB2412453A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006056903A1 (en) * 2006-12-02 2008-06-05 Semikron Elektronik Gmbh & Co. Kg Functional blocks i.e. primary and secondary sides, n-bit breadth information e.g. switching information, digital communication providing method for e.g. MOSFET, involves communicating data values between functional blocks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5654700A (en) * 1979-10-11 1981-05-14 Nippon Telegr & Teleph Corp <Ntt> Test method of memory element and test pattern generator for the said test

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5654700A (en) * 1979-10-11 1981-05-14 Nippon Telegr & Teleph Corp <Ntt> Test method of memory element and test pattern generator for the said test

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
16.36 Communications Systems Engineering - Retrieved from the Internet http://ocw/mit.edu/NR/rdonlyres/Aeronautics-and-astrobnautics/16-36Communications-Systems-EngineeringSpring2003/E3b2F35C-72E9-4626-0996B-7647BC43185A/0/lec12_13.pdf *
Error Correcting Codes - 1996 - Retrieved from the Internet : www.eie.polyu.edu.hk/ïenmzwang/adc/l-notes/node3.html *
Forward Error Correction - Retrieved from the Internet ï www.sce.carelton.ca/courses/sysc-5504/notes/pdf/correct.pdf *
Introduction to Digital Networks Year 1 BEng Electronic Engineering Unit 1/EI/A Module EI101- J B Grimbleby Copyright 31/08/95 - Pg 8. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006056903A1 (en) * 2006-12-02 2008-06-05 Semikron Elektronik Gmbh & Co. Kg Functional blocks i.e. primary and secondary sides, n-bit breadth information e.g. switching information, digital communication providing method for e.g. MOSFET, involves communicating data values between functional blocks
DE102006056903B4 (en) * 2006-12-02 2008-07-17 Semikron Elektronik Gmbh & Co. Kg Method for digital communication between two functional blocks of a power electronic component

Also Published As

Publication number Publication date
GB0407002D0 (en) 2004-04-28

Similar Documents

Publication Publication Date Title
Zeh et al. Optimal linear and cyclic locally repairable codes over small fields
US7203890B1 (en) Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits
AU6753000A (en) System and method for detecting double-bit errors and for correcting errors due to component failures
AU5174800A (en) System and method for protecting data and correcting bit errors due to component failures
TW201346922A (en) Memory controller, storage device and error correction method
US7096403B2 (en) Iterative concatenated code decoding circuit and encoding/decoding system using the same
JP2013523043A (en) How to identify and protect the integrity of a source dataset
US8365053B2 (en) Encoding and decoding data using store and exclusive or operations
GB2412453A (en) 6/3 Hamming Error Correction
US10567007B2 (en) Device and method of processing a data word using checkbits
KR101391725B1 (en) Device and method structuring generation matrix for a linear block coding, coding and decoding devices using the matrix
GB2413652A (en) 7/4 Hamming error correction
EP0310220A2 (en) An apparatus useful for correction of single bit errors and detection of double bit errors in the transmission of data
Chen et al. A lookup table decoding of systematic (47, 24, 11) quadratic residue code
Stevens Extension of the BCH decoding algorithm to decode binary cyclic codes up to their maximum error correction capacities
US7475326B2 (en) Error detection and correction method and system for memory devices
RU106771U1 (en) DEVICE FOR STORAGE AND TRANSFER OF DATA WITH CORRECTION OF ERRORS IN THE BYTE OF INFORMATION AND DETECTION OF ERRORS IN THE BYtes OF INFORMATION
Lala A single error correcting and double error detecting coding scheme for computer memory systems
RU2542665C1 (en) Device of data storage and transmission with detection and correction of errors in information bytes
US6718499B1 (en) Mace code
Lee et al. A weight method of decoding the binary BCH code
Tyagi et al. bi-Byte correcting non-binary perfect codes
ES434863A1 (en) Error syndrome and correction code forming devices
Dass et al. On 2-repeated burst codes
Klein et al. A systematic (16, 8) code for correcting double errors, and detecting random triple errors

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)