GB2412453A - 6/3 Hamming Error Correction - Google Patents
6/3 Hamming Error Correction Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/19—Single 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)
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.
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)
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)
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 |
-
2004
- 2004-03-27 GB GB0407002A patent/GB2412453A/en not_active Withdrawn
Patent Citations (1)
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)
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)
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) |