Knowledge

Hamming code

Source πŸ“

645:, after him). Parity has a distance of 2, so one bit flip can be detected but not corrected, and any two bit flips will be invisible. The (3,1) repetition has a distance of 3, as three bits need to be flipped in the same triple to obtain another code word with no visible errors. It can correct one-bit errors or it can detect - but not correct - two-bit errors. A (4,1) repetition (each bit is repeated four times) has a distance of 4, so flipping three bits can be detected, but not corrected. When three bits flip in the same group there can be situations where attempting to correct will produce the wrong code word. In general, a code with distance 25: 3361: 490:. If an odd number of bits is changed in transmission, the message will change parity and the error can be detected at this point; however, the bit that changed may have been the parity bit itself. The most common convention is that a parity value of one indicates that there is an odd number of ones in the data, and a parity value of zero indicates that there is an even number of ones. If the number of bits changed is even, the check bit will be valid and the error will not be detected. 3018: 3382: 1918: 91: 3356:{\displaystyle {\vec {x}}={\vec {a}}G={\begin{pmatrix}1&0&1&1\end{pmatrix}}{\begin{pmatrix}1&0&0&0&1&1&0\\0&1&0&0&1&0&1\\0&0&1&0&0&1&1\\0&0&0&1&1&1&1\\\end{pmatrix}}={\begin{pmatrix}1&0&1&1&2&3&2\end{pmatrix}}={\begin{pmatrix}1&0&1&1&0&1&0\end{pmatrix}}} 4297: 4069: 1353: 1346: 1339: 1332: 1325: 1273: 1266: 1259: 1252: 1245: 1238: 1231: 1224: 1198: 1183: 1176: 1169: 1162: 1147: 1140: 1133: 1126: 1106: 1099: 1088: 1081: 1070: 1063: 1052: 1045: 1034: 1027: 1011: 1002: 993: 984: 975: 966: 957: 948: 939: 930: 3839: 3612: 417:). 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 1368:, identifies the bit in error. If all parity bits are correct, there is no error. Otherwise, the sum of the positions of the erroneous parity bits identifies the erroneous bit. For example, if the parity bits in positions 1, 2 and 8 indicate an error, then bit 1+2+8=11 is in error. If only one parity bit indicates an error, the parity bit itself is in error. 2485: 4081: 3853: 448:, seven-eighths of an inch wide, which had up to six holes per row. During weekdays, when errors in the relays were detected, the machine would stop and flash lights so that 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. 1891:). Server computers in 21st century, while typically keeping the SECDED level of protection, no longer use the Hamming's method, relying instead on the designs with longer codewords (128 to 256 bits of data) and modified balanced parity-check trees. The (72,64) Hamming code is still popular in some hardware designs, including 2653: 3623: 3399: 659:
Hamming was interested in two problems at once: increasing the distance as much as possible, while at the same time increasing the code rate as much as possible. During the 1940s he developed several encoding schemes that were dramatic improvements on existing codes. The key to all of his systems was
451:
Hamming worked on weekends, and grew increasingly frustrated with having to restart his programs from scratch due to detected errors. In a taped interview, Hamming said, "And so I said, 'Damn it, if the machine can detect an error, why can't it locate the position of the error and correct it?'". Over
1871:
To remedy this shortcoming, Hamming codes can be extended by an extra parity bit. This way, it is possible to increase the minimum distance of the Hamming code to 4, which allows the decoder to distinguish between single bit errors and two-bit errors. Thus the decoder can detect and correct a single
599:
Such codes cannot correctly repair all errors, however. In our example, if the channel flips two bits and the receiver gets 001, the system will detect the error, but conclude that the original bit is 0, which is incorrect. If we increase the size of the bit string to four, we can detect all two-bit
493:
Moreover, parity does not indicate which bit contained the error, even when it can detect it. The data must be discarded entirely and re-transmitted from scratch. On a noisy transmission medium, a successful transmission could take a long time or may never occur. However, while the quality of parity
1363:
Shown are only 20 encoded bits (5 parity, 15 data) but the pattern continues indefinitely. The key thing about Hamming Codes that can be seen from visual inspection is that any given bit is included in a unique set of parity bits. To check for errors, check all of the parity bits. The pattern of
412:
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 an
580:
will send 111. If the three bits received are not identical, an error occurred during transmission. If the channel is clean enough, most of the time only one bit will change in each triple. Therefore, 001, 010, and 100 each correspond to a 0 bit, while 110, 101, and 011 correspond to a 1 bit, with
672:
of all the bit positions containing a 1) is 0. We use positions 1, 10, 100, etc. (in binary) as the error-correcting bits, which guarantees it is possible to set the error-correcting bits so that the index-XOR of the whole message is 0. If the receiver receives a string with index-XOR 0, they can
612:
If more error-correcting bits are included with a message, and if those bits can be arranged such that different incorrect bits produce different error results, then bad bits could be identified. In a seven-bit message, there are seven possible single bit errors, so three error control bits could
1867:
Hamming codes have a minimum distance of 3, which means that the decoder can detect and correct a single error, but it cannot distinguish a double bit error of some codeword from a single bit error of a different codeword. Thus, some double-bit errors will be incorrectly decoded as if they were
1875:
If the decoder does not attempt to correct errors, it can reliably detect triple bit errors. If the decoder does correct errors, some triple errors will be mistaken for single errors and "corrected" to the wrong value. Error correction is therefore a trade-off between certainty (the ability to
4334:
To decode the Hamming code, first check the parity bit. If the parity bit indicates an error, single error correction (the Hamming code) will indicate the error location, with "no error" indicating the parity bit. If the parity bit is correct, then single error correction will indicate the
2292: 603:
Moreover, increasing the size of the parity bit string is inefficient, reducing throughput by three times in our original case, and the efficiency drops drastically as we increase the number of times each bit is duplicated in order to detect and correct more errors.
4292:{\displaystyle \mathbf {G} =\left({\begin{array}{cccc|cccc}1&0&0&0&0&1&1&1\\0&1&0&0&1&0&1&1\\0&0&1&0&1&1&0&1\\0&0&0&1&1&1&1&0\end{array}}\right)_{4,8}.} 4064:{\displaystyle \mathbf {H} =\left({\begin{array}{cccc|cccc}0&1&1&1&1&0&0&0\\1&0&1&1&0&1&0&0\\1&1&0&1&0&0&1&0\\1&1&1&0&0&0&0&1\end{array}}\right)_{4,8}.} 553:
possible combinations, enough to represent the digits 0–9. This scheme can detect all single bit-errors, all odd numbered bit-errors and some even numbered bit-errors (for example the flipping of both 1-bits). However it still cannot correct any of these errors.
1931:
In 1950, Hamming introduced the Hamming code. It encodes four data bits into seven bits by adding three parity bits. As explained earlier, it can either detect and correct single-bit errors or it can detect (but not correct) both single and double-bit errors.
2015: 2494: 2096: 3834:{\displaystyle \mathbf {H} :={\begin{pmatrix}1&0&1&0&1&0&1&0\\0&1&1&0&0&1&1&0\\0&0&0&1&1&1&1&0\\1&1&1&1&1&1&1&1\end{pmatrix}}_{4,8}.} 3607:{\displaystyle \mathbf {G} :={\begin{pmatrix}1&1&1&0&0&0&0&1\\1&0&0&1&1&0&0&1\\0&1&0&1&0&1&0&1\\1&1&0&1&0&0&1&0\end{pmatrix}}_{4,8}} 4074:
For example, the first row in this matrix is the sum of the second and third rows of H in non-systematic form. Using the systematic construction for Hamming codes from above, the matrix A is apparent and the systematic form of G is written as
452:
the next few years, he worked on the problem of error-correction, developing an increasingly powerful array of algorithms. In 1950, he published what is now known as Hamming code, which remains in use today in applications such as
2480:{\displaystyle \mathbf {G} :={\begin{pmatrix}1&0&0&0&1&1&0\\0&1&0&0&1&0&1\\0&0&1&0&0&1&1\\0&0&0&1&1&1&1\end{pmatrix}}_{4,7}} 4335:(bitwise) exclusive-or of two error locations. If the locations are equal ("no error") then a double bit error either has not occurred, or has cancelled itself out. Otherwise, a double bit error has occurred. 2164: 581:
the greater quantity of digits that are the same ('0' or a '1') indicating what the data bit should be. A code with this ability to reconstruct the original message in the presence of errors is known as an
383:, 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 4328:
where blue digits are data; red digits are parity bits from the Hamming code; and the green digit is the parity bit added by the code. The green digit makes the parity of the codewords even.
2824: 4425: 1946: 668:
The following general algorithm generates a single-error correcting (SEC) code for any number of bits. The main idea is to choose the error-correcting bits such that the index-XOR (the
4633: 2648:{\displaystyle \mathbf {H} :={\begin{pmatrix}1&1&0&1&1&0&0\\1&0&1&1&0&1&0\\0&1&1&1&0&0&1\end{pmatrix}}_{3,7}.} 2929: 1935:
With the addition of an overall parity bit, it becomes the extended Hamming code and can both detect and correct single-bit errors and detect (but not correct) double-bit errors.
1855: 1782: 551: 2031: 4099: 3871: 2285: 2260: 2991: 1716: 620:
to describe the system, including the number of data bits and error-correction bits in a block. For instance, parity includes a single bit for any data word, so assuming
568:
Another code in use at the time repeated every data bit multiple times in order to ensure that it was sent correctly. For instance, if the data bit to be sent is a 1, an
4637: 2882: 2853: 2705: 1670: 1445: 1406: 600:
errors but cannot correct them (the quantity of parity bits is even); at five bits, we can both detect and correct all two-bit errors, but not all three-bit errors.
729:
If a byte of data to be encoded is 10011010, then the data word (using _ to represent the parity bits) would be __1_001_1010, and the code word is 011100101010.
4331:
Finally, it can be shown that the minimum distance has increased from 3, in the code, to 4 in the code. Therefore, the code can be defined as Hamming code.
3011: 686:
All bit positions that are powers of two (have a single 1 bit in the binary form of their position) are parity bits: 1, 2, 4, 8, etc. (1, 10, 100, 1000)
464:
A number of simple error-detecting codes were used before Hamming codes, but none were as effective as Hamming codes in the same overhead of space.
294:. Hamming codes can detect one-bit and two-bit errors, or correct one-bit errors without detection of uncorrected errors. By contrast, the simple 3847:
Note that H is not in standard form. To obtain G, elementary row operations can be used to obtain an equivalent matrix to H in systematic form:
4537: 2126: 616:
Hamming studied the existing coding schemes, including two-of-five, and generalized their concepts. To start with, he developed a
4713: 4305:
The addition of the fourth row effectively computes the sum of all the codeword bits (data and parity) as the fourth parity bit.
3385:
The same example from above with an extra parity bit. This diagram is not meant to correspond to the matrix H for this example.
265: 4626: 4661: 4567: 4486: 639:
Hamming also noticed the problems with flipping two or more bits, and described this as the "distance" (it is now called the
508:
A two-out-of-five code is an encoding scheme which uses five bits consisting of exactly three 0s and two 1s. This provides
692:
Each data bit is included in a unique set of 2 or more parity bits, as determined by the binary form of its bit position.
3389:
The Hamming code can easily be extended to an code by adding an extra parity bit on top of the (7,4) encoded word (see
723:
In general each parity bit covers all bits where the bitwise AND of the parity position and the bit position is non-zero.
2710: 732:
The choice of the parity, even or odd, is irrelevant but the same choice must be used for both encoding and decoding.
1876:
reliably detect triple bit errors) and resiliency (the ability to keep functioning in the face of single bit errors).
4599: 4435: 4375: 68: 46: 2010:{\displaystyle \mathbf {G} :={\begin{pmatrix}{\begin{array}{c|c}I_{k}&-A^{\text{T}}\\\end{array}}\end{pmatrix}}} 39: 1921:
Graphical depiction of the four data bits and three parity bits and which parity bits apply to which data bits
4512: 4365: 2887: 4718: 4703: 1788: 673:
conclude there were no corruptions, and otherwise, the index-XOR indicates the index of the corrupted bit.
405:, also known as a Simplex code. The parity-check matrix has the property that any two columns are pairwise 2091:{\displaystyle \mathbf {H} :={\begin{pmatrix}{\begin{array}{c|c}A&I_{n-k}\\\end{array}}\end{pmatrix}}} 4481:
Moon T. Error correction coding: Mathematical Methods and Algorithms. John Wiley and Sons, 2005.(Cap. 3)
4400: 4350: 2657:
Finally, these matrices can be mutated into equivalent non-systematic codes by the following operations:
1723: 4302:
The non-systematic form of G can be row reduced (using elementary row operations) to match this matrix.
511: 4723: 4591: 482:
that indicates whether the number of ones (bit-positions with values of one) in the preceding data was
258: 2052: 1967: 689:
All other bit positions, with two or more 1 bits in the binary form of their position, are data bits.
563: 322:
readers. In his original paper, Hamming elaborated his general idea, but specifically focused on the
4577: 4504: 33: 2268: 2243: 2937: 1676: 660:
to have the parity bits overlap, such that they managed to check each other as well as the data.
4430:, The Carus Mathematical Monographs (#21), Mathematical Association of America, pp. 16–17, 2858: 2829: 2681: 4708: 1636: 1411: 50: 4549: 494:
checking is poor, since it uses only a single bit, this method results in the least overhead.
4649: 1378: 298:
cannot correct errors, and can detect only an odd number of bits in error. Hamming codes are
251: 4581: 1465: 351: 152: 4688: 4611:
1997 International Symposium on Parallel Architectures, Algorithms and Networks (ISPAN '97)
4559: 4370: 503: 1460: 341: 307: 133: 8: 2263: 2170: 2099: 628:
code, with eight bits in total, of which seven are data. The repetition example would be
613:
potentially specify not only that an error occurred but also which bit caused the error.
406: 388: 318:
invented Hamming codes in 1950 as a way of automatically correcting errors introduced by
221: 4529: 4525: 2996: 283: 111: 311: 209: 197: 4657: 4595: 4563: 4482: 4431: 1365: 441: 126: 4533: 617: 4614: 4521: 4360: 2238: 2195:-tuples in the columns of matrix does not matter. The right hand side is just the ( 1880: 641: 279: 4312:
is encoded (using the non-systematic form of G at the start of this section) into
1868:
single bit errors and therefore go undetected, unless no correction is attempted.
1473: 303: 168: 2227: 2204: 1879:
This extended Hamming code was popular in computer memory systems, starting with
1492: 576: 429: 315: 4683: 4678: 4618: 4697: 4355: 4345: 2664:
Elementary row operations (replacing a row with a linear combination of rows)
402: 636:
is the second number divided by the first, for our repetition example, 1/3.
4609:
D.K. Bhattacharryya, S. Nandi. "An efficient class of SEC-DED-AUED codes".
3390: 1926: 1512: 669: 479: 445: 323: 319: 299: 241: 4684:
CGI script for calculating Hamming distances (from R. Tervo, UNB, Canada)
483: 333:
terms, Hamming codes are a class of binary linear code. For each integer
330: 291: 4555: 4380: 487: 473: 453: 414: 295: 4587: 683:
Write the bit numbers in binary: 1, 10, 11, 100, 101, 110, 111, etc.
633: 444:
relay-based machine with cycle times in seconds. Input was fed in on
433: 398: 4427:
From Error-Correcting Codes through Sphere Packings to Simple Groups
1872:
error and at the same time detect (but not correct) a double error.
699:
significant bit set: bit 1 (the parity bit itself), 3, 5, 7, 9, etc.
2176:
of a Hamming code is constructed by listing all columns of length
2159:{\displaystyle \mathbf {H} \,\mathbf {G} ^{\text{T}}=\mathbf {0} } 391:
of a Hamming code is constructed by listing all columns of length
437: 1862: 3381: 1917: 1892: 90: 3365: 680:
Number the bits starting from 1: bit 1, 2, 3, 4, 5, 6, 7, etc.
621: 676:
An algorithm can be deduced from the following description:
4450: 4448: 4446: 3013:
from above, we have (after applying modulo 2, to the sum),
1895: 4627:"Mathematical Challenge April 2013 Error-correcting codes" 4608: 4405: 585:
code. This triple repetition code is a Hamming code with
4443: 2678:
From the above matrix we have 2 = 2 = 16 codewords. Let
720:
least significant bit set: bits 8–15, 24–31, 40–47, etc.
326:
code which adds three parity bits to four bits of data.
4460: 713:
least significant bit set: bits 4–7, 12–15, 20–23, etc.
3641: 3417: 3309: 3257: 3094: 3060: 2512: 2310: 2113:
in standard (or systematic) form. Regardless of form,
2048: 2017:
is called a (canonical) generator matrix of a linear (
1963: 4583:
Information Theory, Inference and Learning Algorithms
4084: 3856: 3626: 3402: 3021: 2999: 2940: 2890: 2861: 2832: 2713: 2684: 2497: 2295: 2271: 2246: 2129: 2034: 1949: 1791: 1726: 1679: 1639: 1414: 1381: 716:
Parity bit 8 covers all bit positions which have the
709:
Parity bit 4 covers all bit positions which have the
706:
least significant bit set: bits 2-3, 6-7, 10-11, etc.
702:
Parity bit 2 covers all bit positions which have the
695:
Parity bit 1 covers all bit positions which have the
514: 3393:). This can be summed up with the revised matrices: 624:
words with seven bits, Hamming described this as an
1408:can be covered. After discounting the parity bits, 4291: 4063: 3833: 3606: 3355: 3005: 2985: 2923: 2876: 2847: 2819:{\displaystyle {\vec {a}}=,\quad a_{i}\in \{0,1\}} 2818: 2699: 2647: 2479: 2279: 2254: 2187:is a matrix whose left side is all of the nonzero 2158: 2090: 2009: 1849: 1776: 1710: 1664: 1439: 1400: 545: 2218:by taking the transpose of the left hand side of 531: 518: 4695: 3370:Hamming code with an additional parity bit": --> 4648:Kythe, Dave K.; Kythe, Prem K. (28 July 2017). 1889:single error correction, double error detection 1451:varies, we get all the possible Hamming codes: 2931:where the summing operation is done modulo-2. 1863:Hamming codes with additional parity (SECDED) 302:, that is, they achieve the highest possible 259: 4505:"Error detecting and error correcting codes" 2813: 2801: 432:, the inventor of Hamming codes, worked at 4647: 4466: 4454: 3366:Hamming code with an additional parity bit 1938: 459: 266: 252: 2135: 735:This general rule can be shown visually: 69:Learn how and when to remove this message 4423: 3380: 2884:is given by the standard matrix product 2855:for any of the 16 possible data vectors 1916: 397:that are non-zero, which means that the 32:This article includes a list of general 4502: 4411: 497: 16:Family of linear error-correcting codes 4696: 4654:Algebraic and Stochastic Coding Theory 4576: 4477: 4475: 2924:{\displaystyle {\vec {x}}={\vec {a}}G} 2661:Column permutations (swapping columns) 2707:be a row vector of binary data bits, 1850:{\displaystyle (2^{m}-m-1)/(2^{m}-1)} 592:since there are two parity bits, and 364:. Hence the rate of Hamming codes is 4547: 2121:for linear block codes must satisfy 663: 18: 4679:Visual Explanation of Hamming Codes 4472: 1777:{\displaystyle (2^{m}-1,2^{m}-m-1)} 1350: 1343: 1336: 1329: 1322: 1270: 1263: 1256: 1249: 1242: 1235: 1228: 1221: 1195: 1180: 1173: 1166: 1159: 1144: 1137: 1130: 1123: 1103: 1096: 1085: 1078: 1067: 1060: 1049: 1042: 1031: 1024: 1008: 999: 990: 981: 972: 963: 954: 945: 936: 927: 13: 4526:10.1002/j.1538-7305.1950.tb00463.x 546:{\displaystyle {\binom {5}{3}}=10} 522: 38:it lacks sufficient corresponding 14: 4735: 4689:Tool for calculating Hamming code 4672: 4643:from the original on 2017-09-12. 4634:swissQuant Group Leadership Team 4543:from the original on 2022-10-09. 4503:Hamming, Richard Wesley (1950). 4086: 3858: 3628: 3404: 2499: 2297: 2273: 2248: 2180:that are pair-wise independent. 2152: 2138: 2131: 2036: 1951: 1901: 1447:bits remain for use as data. As 1351: 1344: 1337: 1330: 1323: 1271: 1264: 1257: 1250: 1243: 1236: 1229: 1222: 1196: 1181: 1174: 1167: 1160: 1145: 1138: 1131: 1124: 1104: 1097: 1086: 1079: 1068: 1061: 1050: 1043: 1032: 1025: 1009: 1000: 991: 982: 973: 964: 955: 946: 937: 928: 632:, following the same logic. The 89: 23: 2787: 1375:parity bits, bits from 1 up to 4714:Error detection and correction 4656:. CRC Press. pp. 95–116. 4417: 4394: 3043: 3028: 2980: 2956: 2947: 2912: 2897: 2868: 2839: 2781: 2729: 2720: 2691: 2230:on the left hand side of  1887:(or SEC-DED, abbreviated from 1883:in 1961, where it is known as 1844: 1825: 1817: 1792: 1771: 1727: 607: 436:in the late 1940s on the Bell 1: 4513:Bell System Technical Journal 4495: 4376:Reed–Solomon error correction 4366:Low-density parity-check code 2993:. Using the generator matrix 557: 292:linear error-correcting codes 4424:Thompson, Thomas M. (1983), 2280:{\displaystyle \mathbf {H} } 2255:{\displaystyle \mathbf {G} } 2169:Since =  = . The 2105:This is the construction of 95:The Hamming(7,4) code (with 7: 4338: 2986:{\displaystyle {\vec {a}}=} 2668: 2191:-tuples where order of the 1711:{\displaystyle k=2^{m}-m-1} 1352: 1345: 1338: 1331: 1324: 1272: 1265: 1258: 1251: 1244: 1237: 1230: 1223: 1197: 1182: 1175: 1168: 1161: 1146: 1139: 1132: 1125: 1105: 1098: 1087: 1080: 1069: 1062: 1051: 1044: 1033: 1026: 1010: 1001: 992: 983: 974: 965: 956: 947: 938: 929: 649:can detect but not correct 401:of the Hamming code is the 10: 4740: 4592:Cambridge University Press 2877:{\displaystyle {\vec {a}}} 2848:{\displaystyle {\vec {x}}} 2700:{\displaystyle {\vec {a}}} 1924: 561: 501: 471: 424: 340:there is a code-word with 4619:10.1109/ISPAN.1997.645128 1665:{\displaystyle n=2^{m}-1} 1623: 1440:{\displaystyle 2^{m}-m-1} 917: 852: 847: 742: 564:Triple modular redundancy 467: 247: 240: 235: 220: 208: 196: 167: 151: 132: 122: 117: 107: 88: 83: 4650:"Extended Hamming Codes" 4387: 4551:Error Correction Coding 2166:, an all-zeros matrix. 1939:Construction of G and H 1401:{\displaystyle 2^{m}-1} 460:Codes predating Hamming 403:shortened Hadamard code 53:more precise citations. 4548:Moon, Todd K. (2005). 4467:Kythe & Kythe 2017 4455:Kythe & Kythe 2017 4293: 4065: 3835: 3608: 3386: 3357: 3007: 2987: 2925: 2878: 2849: 2820: 2701: 2649: 2481: 2281: 2256: 2160: 2092: 2011: 1922: 1851: 1778: 1712: 1666: 1441: 1402: 547: 4560:John Wiley & Sons 4294: 4066: 3836: 3609: 3384: 3358: 3008: 2988: 2926: 2879: 2850: 2821: 2702: 2650: 2482: 2282: 2257: 2214:can be obtained from 2161: 2093: 2012: 1920: 1852: 1779: 1713: 1667: 1442: 1403: 548: 478:Parity adds a single 306:for codes with their 4613:. pp. 410–415. 4082: 3854: 3624: 3400: 3019: 2997: 2938: 2888: 2859: 2830: 2711: 2682: 2495: 2293: 2269: 2244: 2127: 2032: 1947: 1789: 1724: 1677: 1637: 1412: 1379: 512: 504:Two-out-of-five code 498:Two-out-of-five code 407:linearly independent 84:Binary Hamming codes 4719:Computer arithmetic 4704:American inventions 4414:, pp. 153–154. 2264:parity-check matrix 2171:parity-check matrix 2100:parity-check matrix 1364:errors, called the 389:parity-check matrix 4580:(September 2003). 4578:MacKay, David J.C. 4289: 4268: 4061: 4040: 3831: 3810: 3604: 3586: 3387: 3353: 3347: 3295: 3243: 3083: 3003: 2983: 2921: 2874: 2845: 2816: 2697: 2645: 2624: 2477: 2459: 2277: 2252: 2222:with the identity 2156: 2088: 2082: 2078: 2007: 2001: 1997: 1923: 1906:Hamming code": --> 1847: 1774: 1708: 1662: 1437: 1398: 853:Encoded data bits 543: 446:punched paper tape 316:Richard W. Hamming 284:telecommunications 112:Richard W. Hamming 4724:1951 in computing 4663:978-1-351-83245-8 4569:978-0-471-64800-0 4487:978-0-471-64800-0 3046: 3031: 3006:{\displaystyle G} 2950: 2934:For example, let 2915: 2900: 2871: 2842: 2723: 2694: 2145: 1992: 1860: 1859: 1359: 1358: 664:General algorithm 529: 442:electromechanical 276: 275: 127:Linear block code 79: 78: 71: 4731: 4667: 4644: 4642: 4631: 4622: 4605: 4573: 4544: 4542: 4509: 4489: 4479: 4470: 4464: 4458: 4452: 4441: 4440: 4421: 4415: 4409: 4403: 4398: 4371:Reed–Muller code 4361:Hamming distance 4327: 4324: 4321: 4318: 4315: 4311: 4298: 4296: 4295: 4290: 4285: 4284: 4273: 4269: 4089: 4070: 4068: 4067: 4062: 4057: 4056: 4045: 4041: 3861: 3840: 3838: 3837: 3832: 3827: 3826: 3815: 3814: 3631: 3613: 3611: 3610: 3605: 3603: 3602: 3591: 3590: 3407: 3378: 3377: 3373: 3362: 3360: 3359: 3354: 3352: 3351: 3300: 3299: 3248: 3247: 3088: 3087: 3048: 3047: 3039: 3033: 3032: 3024: 3012: 3010: 3009: 3004: 2992: 2990: 2989: 2984: 2952: 2951: 2943: 2930: 2928: 2927: 2922: 2917: 2916: 2908: 2902: 2901: 2893: 2883: 2881: 2880: 2875: 2873: 2872: 2864: 2854: 2852: 2851: 2846: 2844: 2843: 2835: 2825: 2823: 2822: 2817: 2797: 2796: 2780: 2779: 2767: 2766: 2754: 2753: 2741: 2740: 2725: 2724: 2716: 2706: 2704: 2703: 2698: 2696: 2695: 2687: 2654: 2652: 2651: 2646: 2641: 2640: 2629: 2628: 2502: 2486: 2484: 2483: 2478: 2476: 2475: 2464: 2463: 2300: 2286: 2284: 2283: 2278: 2276: 2261: 2259: 2258: 2253: 2251: 2239:generator matrix 2165: 2163: 2162: 2157: 2155: 2147: 2146: 2143: 2141: 2134: 2097: 2095: 2094: 2089: 2087: 2086: 2079: 2075: 2074: 2039: 2016: 2014: 2013: 2008: 2006: 2005: 1998: 1994: 1993: 1990: 1979: 1978: 1954: 1914: 1913: 1909: 1881:IBM 7030 Stretch 1856: 1854: 1853: 1848: 1837: 1836: 1824: 1804: 1803: 1783: 1781: 1780: 1775: 1758: 1757: 1739: 1738: 1717: 1715: 1714: 1709: 1695: 1694: 1671: 1669: 1668: 1663: 1655: 1654: 1631: 1619:502/511 β‰ˆ 0.982 1616:Hamming(511,502) 1602:247/255 β‰ˆ 0.969 1599:Hamming(255,247) 1585:120/127 β‰ˆ 0.945 1582:Hamming(127,120) 1454: 1453: 1450: 1446: 1444: 1443: 1438: 1424: 1423: 1407: 1405: 1404: 1399: 1391: 1390: 1374: 1355: 1354: 1348: 1347: 1341: 1340: 1334: 1333: 1327: 1326: 1275: 1274: 1268: 1267: 1261: 1260: 1254: 1253: 1247: 1246: 1240: 1239: 1233: 1232: 1226: 1225: 1200: 1199: 1185: 1184: 1178: 1177: 1171: 1170: 1164: 1163: 1149: 1148: 1142: 1141: 1135: 1134: 1128: 1127: 1108: 1107: 1101: 1100: 1090: 1089: 1083: 1082: 1072: 1071: 1065: 1064: 1054: 1053: 1047: 1046: 1036: 1035: 1029: 1028: 1013: 1012: 1004: 1003: 995: 994: 986: 985: 977: 976: 968: 967: 959: 958: 950: 949: 941: 940: 932: 931: 845: 840: 835: 830: 825: 820: 815: 810: 805: 800: 795: 790: 785: 780: 775: 770: 765: 760: 755: 750: 745: 740: 739: 655: 642:Hamming distance 595: 591: 583:error-correcting 574: 552: 550: 549: 544: 536: 535: 534: 521: 396: 386: 382: 363: 349: 339: 312:minimum distance 290:are a family of 280:computer science 268: 261: 254: 230: 216: 204: 192: 191: 189: 188: 185: 182: 163: 147: 140: 101: 93: 81: 80: 74: 67: 63: 60: 54: 49:this article by 40:inline citations 27: 26: 19: 4739: 4738: 4734: 4733: 4732: 4730: 4729: 4728: 4694: 4693: 4675: 4670: 4664: 4640: 4629: 4625: 4602: 4570: 4540: 4507: 4498: 4493: 4492: 4480: 4473: 4465: 4461: 4453: 4444: 4438: 4422: 4418: 4410: 4406: 4401:See Lemma 12 of 4399: 4395: 4390: 4385: 4341: 4325: 4322: 4319: 4316: 4313: 4309: 4274: 4267: 4266: 4261: 4256: 4251: 4246: 4241: 4236: 4231: 4225: 4224: 4219: 4214: 4209: 4204: 4199: 4194: 4189: 4183: 4182: 4177: 4172: 4167: 4162: 4157: 4152: 4147: 4141: 4140: 4135: 4130: 4125: 4120: 4115: 4110: 4105: 4098: 4094: 4093: 4085: 4083: 4080: 4079: 4046: 4039: 4038: 4033: 4028: 4023: 4018: 4013: 4008: 4003: 3997: 3996: 3991: 3986: 3981: 3976: 3971: 3966: 3961: 3955: 3954: 3949: 3944: 3939: 3934: 3929: 3924: 3919: 3913: 3912: 3907: 3902: 3897: 3892: 3887: 3882: 3877: 3870: 3866: 3865: 3857: 3855: 3852: 3851: 3844: 3816: 3809: 3808: 3803: 3798: 3793: 3788: 3783: 3778: 3773: 3767: 3766: 3761: 3756: 3751: 3746: 3741: 3736: 3731: 3725: 3724: 3719: 3714: 3709: 3704: 3699: 3694: 3689: 3683: 3682: 3677: 3672: 3667: 3662: 3657: 3652: 3647: 3637: 3636: 3635: 3627: 3625: 3622: 3621: 3592: 3585: 3584: 3579: 3574: 3569: 3564: 3559: 3554: 3549: 3543: 3542: 3537: 3532: 3527: 3522: 3517: 3512: 3507: 3501: 3500: 3495: 3490: 3485: 3480: 3475: 3470: 3465: 3459: 3458: 3453: 3448: 3443: 3438: 3433: 3428: 3423: 3413: 3412: 3411: 3403: 3401: 3398: 3397: 3379: 3375: 3371: 3369: 3368: 3346: 3345: 3340: 3335: 3330: 3325: 3320: 3315: 3305: 3304: 3294: 3293: 3288: 3283: 3278: 3273: 3268: 3263: 3253: 3252: 3242: 3241: 3236: 3231: 3226: 3221: 3216: 3211: 3205: 3204: 3199: 3194: 3189: 3184: 3179: 3174: 3168: 3167: 3162: 3157: 3152: 3147: 3142: 3137: 3131: 3130: 3125: 3120: 3115: 3110: 3105: 3100: 3090: 3089: 3082: 3081: 3076: 3071: 3066: 3056: 3055: 3038: 3037: 3023: 3022: 3020: 3017: 3016: 2998: 2995: 2994: 2942: 2941: 2939: 2936: 2935: 2907: 2906: 2892: 2891: 2889: 2886: 2885: 2863: 2862: 2860: 2857: 2856: 2834: 2833: 2831: 2828: 2827: 2826:. The codeword 2792: 2788: 2775: 2771: 2762: 2758: 2749: 2745: 2736: 2732: 2715: 2714: 2712: 2709: 2708: 2686: 2685: 2683: 2680: 2679: 2671: 2630: 2623: 2622: 2617: 2612: 2607: 2602: 2597: 2592: 2586: 2585: 2580: 2575: 2570: 2565: 2560: 2555: 2549: 2548: 2543: 2538: 2533: 2528: 2523: 2518: 2508: 2507: 2506: 2498: 2496: 2493: 2492: 2465: 2458: 2457: 2452: 2447: 2442: 2437: 2432: 2427: 2421: 2420: 2415: 2410: 2405: 2400: 2395: 2390: 2384: 2383: 2378: 2373: 2368: 2363: 2358: 2353: 2347: 2346: 2341: 2336: 2331: 2326: 2321: 2316: 2306: 2305: 2304: 2296: 2294: 2291: 2290: 2272: 2270: 2267: 2266: 2247: 2245: 2242: 2241: 2228:identity matrix 2205:identity matrix 2151: 2142: 2137: 2136: 2130: 2128: 2125: 2124: 2081: 2080: 2077: 2076: 2064: 2060: 2058: 2051: 2044: 2043: 2035: 2033: 2030: 2029: 2000: 1999: 1996: 1995: 1989: 1985: 1980: 1974: 1970: 1966: 1959: 1958: 1950: 1948: 1945: 1944: 1941: 1929: 1915: 1911: 1907: 1905: 1904: 1865: 1832: 1828: 1820: 1799: 1795: 1790: 1787: 1786: 1753: 1749: 1734: 1730: 1725: 1722: 1721: 1690: 1686: 1678: 1675: 1674: 1650: 1646: 1638: 1635: 1634: 1629: 1493:repetition code 1490: 1448: 1419: 1415: 1413: 1410: 1409: 1386: 1382: 1380: 1377: 1376: 1372: 921: 919: 843: 838: 833: 828: 823: 818: 813: 808: 803: 798: 793: 788: 783: 778: 773: 768: 763: 758: 753: 748: 743: 666: 650: 610: 593: 586: 577:repetition code 569: 566: 560: 530: 517: 516: 515: 513: 510: 509: 506: 500: 476: 470: 462: 430:Richard Hamming 427: 392: 384: 365: 354: 344: 334: 272: 229: 226: 214: 202: 186: 183: 178: 177: 175: 173: 157: 142: 138: 103: 96: 75: 64: 58: 55: 45:Please help to 44: 28: 24: 17: 12: 11: 5: 4737: 4727: 4726: 4721: 4716: 4711: 4706: 4692: 4691: 4686: 4681: 4674: 4673:External links 4671: 4669: 4668: 4662: 4645: 4636:. April 2013. 4623: 4606: 4600: 4574: 4568: 4545: 4520:(2): 147–160. 4499: 4497: 4494: 4491: 4490: 4471: 4459: 4457:, p. 115. 4442: 4436: 4416: 4412:Hamming (1950) 4404: 4392: 4391: 4389: 4386: 4384: 4383: 4378: 4373: 4368: 4363: 4358: 4353: 4348: 4342: 4340: 4337: 4300: 4299: 4288: 4283: 4280: 4277: 4272: 4265: 4262: 4260: 4257: 4255: 4252: 4250: 4247: 4245: 4242: 4240: 4237: 4235: 4232: 4230: 4227: 4226: 4223: 4220: 4218: 4215: 4213: 4210: 4208: 4205: 4203: 4200: 4198: 4195: 4193: 4190: 4188: 4185: 4184: 4181: 4178: 4176: 4173: 4171: 4168: 4166: 4163: 4161: 4158: 4156: 4153: 4151: 4148: 4146: 4143: 4142: 4139: 4136: 4134: 4131: 4129: 4126: 4124: 4121: 4119: 4116: 4114: 4111: 4109: 4106: 4104: 4101: 4100: 4097: 4092: 4088: 4072: 4071: 4060: 4055: 4052: 4049: 4044: 4037: 4034: 4032: 4029: 4027: 4024: 4022: 4019: 4017: 4014: 4012: 4009: 4007: 4004: 4002: 3999: 3998: 3995: 3992: 3990: 3987: 3985: 3982: 3980: 3977: 3975: 3972: 3970: 3967: 3965: 3962: 3960: 3957: 3956: 3953: 3950: 3948: 3945: 3943: 3940: 3938: 3935: 3933: 3930: 3928: 3925: 3923: 3920: 3918: 3915: 3914: 3911: 3908: 3906: 3903: 3901: 3898: 3896: 3893: 3891: 3888: 3886: 3883: 3881: 3878: 3876: 3873: 3872: 3869: 3864: 3860: 3842: 3841: 3830: 3825: 3822: 3819: 3813: 3807: 3804: 3802: 3799: 3797: 3794: 3792: 3789: 3787: 3784: 3782: 3779: 3777: 3774: 3772: 3769: 3768: 3765: 3762: 3760: 3757: 3755: 3752: 3750: 3747: 3745: 3742: 3740: 3737: 3735: 3732: 3730: 3727: 3726: 3723: 3720: 3718: 3715: 3713: 3710: 3708: 3705: 3703: 3700: 3698: 3695: 3693: 3690: 3688: 3685: 3684: 3681: 3678: 3676: 3673: 3671: 3668: 3666: 3663: 3661: 3658: 3656: 3653: 3651: 3648: 3646: 3643: 3642: 3640: 3634: 3630: 3615: 3614: 3601: 3598: 3595: 3589: 3583: 3580: 3578: 3575: 3573: 3570: 3568: 3565: 3563: 3560: 3558: 3555: 3553: 3550: 3548: 3545: 3544: 3541: 3538: 3536: 3533: 3531: 3528: 3526: 3523: 3521: 3518: 3516: 3513: 3511: 3508: 3506: 3503: 3502: 3499: 3496: 3494: 3491: 3489: 3486: 3484: 3481: 3479: 3476: 3474: 3471: 3469: 3466: 3464: 3461: 3460: 3457: 3454: 3452: 3449: 3447: 3444: 3442: 3439: 3437: 3434: 3432: 3429: 3427: 3424: 3422: 3419: 3418: 3416: 3410: 3406: 3367: 3364: 3350: 3344: 3341: 3339: 3336: 3334: 3331: 3329: 3326: 3324: 3321: 3319: 3316: 3314: 3311: 3310: 3308: 3303: 3298: 3292: 3289: 3287: 3284: 3282: 3279: 3277: 3274: 3272: 3269: 3267: 3264: 3262: 3259: 3258: 3256: 3251: 3246: 3240: 3237: 3235: 3232: 3230: 3227: 3225: 3222: 3220: 3217: 3215: 3212: 3210: 3207: 3206: 3203: 3200: 3198: 3195: 3193: 3190: 3188: 3185: 3183: 3180: 3178: 3175: 3173: 3170: 3169: 3166: 3163: 3161: 3158: 3156: 3153: 3151: 3148: 3146: 3143: 3141: 3138: 3136: 3133: 3132: 3129: 3126: 3124: 3121: 3119: 3116: 3114: 3111: 3109: 3106: 3104: 3101: 3099: 3096: 3095: 3093: 3086: 3080: 3077: 3075: 3072: 3070: 3067: 3065: 3062: 3061: 3059: 3054: 3051: 3045: 3042: 3036: 3030: 3027: 3002: 2982: 2979: 2976: 2973: 2970: 2967: 2964: 2961: 2958: 2955: 2949: 2946: 2920: 2914: 2911: 2905: 2899: 2896: 2870: 2867: 2841: 2838: 2815: 2812: 2809: 2806: 2803: 2800: 2795: 2791: 2786: 2783: 2778: 2774: 2770: 2765: 2761: 2757: 2752: 2748: 2744: 2739: 2735: 2731: 2728: 2722: 2719: 2693: 2690: 2676: 2675: 2670: 2667: 2666: 2665: 2662: 2644: 2639: 2636: 2633: 2627: 2621: 2618: 2616: 2613: 2611: 2608: 2606: 2603: 2601: 2598: 2596: 2593: 2591: 2588: 2587: 2584: 2581: 2579: 2576: 2574: 2571: 2569: 2566: 2564: 2561: 2559: 2556: 2554: 2551: 2550: 2547: 2544: 2542: 2539: 2537: 2534: 2532: 2529: 2527: 2524: 2522: 2519: 2517: 2514: 2513: 2511: 2505: 2501: 2474: 2471: 2468: 2462: 2456: 2453: 2451: 2448: 2446: 2443: 2441: 2438: 2436: 2433: 2431: 2428: 2426: 2423: 2422: 2419: 2416: 2414: 2411: 2409: 2406: 2404: 2401: 2399: 2396: 2394: 2391: 2389: 2386: 2385: 2382: 2379: 2377: 2374: 2372: 2369: 2367: 2364: 2362: 2359: 2357: 2354: 2352: 2349: 2348: 2345: 2342: 2340: 2337: 2335: 2332: 2330: 2327: 2325: 2322: 2320: 2317: 2315: 2312: 2311: 2309: 2303: 2299: 2275: 2250: 2154: 2150: 2140: 2133: 2085: 2073: 2070: 2067: 2063: 2059: 2057: 2054: 2053: 2050: 2049: 2047: 2042: 2038: 2004: 1988: 1984: 1981: 1977: 1973: 1969: 1968: 1965: 1964: 1962: 1957: 1953: 1940: 1937: 1925:Main article: 1903: 1900: 1864: 1861: 1858: 1857: 1846: 1843: 1840: 1835: 1831: 1827: 1823: 1819: 1816: 1813: 1810: 1807: 1802: 1798: 1794: 1784: 1773: 1770: 1767: 1764: 1761: 1756: 1752: 1748: 1745: 1742: 1737: 1733: 1729: 1718: 1707: 1704: 1701: 1698: 1693: 1689: 1685: 1682: 1672: 1661: 1658: 1653: 1649: 1645: 1642: 1632: 1626: 1625: 1621: 1620: 1617: 1614: 1611: 1608: 1604: 1603: 1600: 1597: 1594: 1591: 1587: 1586: 1583: 1580: 1577: 1574: 1570: 1569: 1568:57/63 β‰ˆ 0.905 1566: 1565:Hamming(63,57) 1563: 1560: 1557: 1553: 1552: 1551:26/31 β‰ˆ 0.839 1549: 1548:Hamming(31,26) 1546: 1543: 1540: 1536: 1535: 1534:11/15 β‰ˆ 0.733 1532: 1531:Hamming(15,11) 1529: 1526: 1523: 1519: 1518: 1515: 1510: 1507: 1504: 1500: 1499: 1496: 1487: 1484: 1481: 1477: 1476: 1471: 1468: 1463: 1458: 1436: 1433: 1430: 1427: 1422: 1418: 1397: 1394: 1389: 1385: 1366:error syndrome 1361: 1360: 1357: 1356: 1349: 1342: 1335: 1328: 1321: 1319: 1317: 1315: 1313: 1311: 1309: 1307: 1305: 1303: 1301: 1299: 1297: 1295: 1293: 1291: 1287: 1286: 1284: 1282: 1280: 1278: 1276: 1269: 1262: 1255: 1248: 1241: 1234: 1227: 1220: 1218: 1216: 1214: 1212: 1210: 1208: 1206: 1202: 1201: 1194: 1192: 1190: 1188: 1186: 1179: 1172: 1165: 1158: 1156: 1154: 1152: 1150: 1143: 1136: 1129: 1122: 1120: 1118: 1116: 1112: 1111: 1109: 1102: 1095: 1093: 1091: 1084: 1077: 1075: 1073: 1066: 1059: 1057: 1055: 1048: 1041: 1039: 1037: 1030: 1023: 1021: 1017: 1016: 1014: 1007: 1005: 998: 996: 989: 987: 980: 978: 971: 969: 962: 960: 953: 951: 944: 942: 935: 933: 926: 923: 915: 914: 911: 908: 905: 902: 899: 896: 893: 890: 887: 884: 881: 878: 875: 872: 869: 866: 863: 860: 857: 854: 850: 849: 846: 841: 836: 831: 826: 821: 816: 811: 806: 801: 796: 791: 786: 781: 776: 771: 766: 761: 756: 751: 746: 727: 726: 725: 724: 721: 714: 707: 700: 690: 687: 684: 681: 665: 662: 609: 606: 562:Main article: 559: 556: 542: 539: 533: 528: 525: 520: 502:Main article: 499: 496: 472:Main article: 469: 466: 461: 458: 426: 423: 352:message length 274: 273: 271: 270: 263: 256: 248: 245: 244: 238: 237: 233: 232: 227: 224: 218: 217: 212: 206: 205: 200: 194: 193: 171: 165: 164: 155: 153:Message length 149: 148: 136: 130: 129: 124: 120: 119: 118:Classification 115: 114: 109: 105: 104: 94: 86: 85: 77: 76: 31: 29: 22: 15: 9: 6: 4: 3: 2: 4736: 4725: 4722: 4720: 4717: 4715: 4712: 4710: 4709:Coding theory 4707: 4705: 4702: 4701: 4699: 4690: 4687: 4685: 4682: 4680: 4677: 4676: 4665: 4659: 4655: 4651: 4646: 4639: 4635: 4628: 4624: 4620: 4616: 4612: 4607: 4603: 4601:0-521-64298-1 4597: 4593: 4589: 4585: 4584: 4579: 4575: 4571: 4565: 4561: 4557: 4553: 4552: 4546: 4539: 4535: 4531: 4527: 4523: 4519: 4515: 4514: 4506: 4501: 4500: 4488: 4484: 4478: 4476: 4469:, p. 95. 4468: 4463: 4456: 4451: 4449: 4447: 4439: 4437:0-88385-023-0 4433: 4429: 4428: 4420: 4413: 4408: 4402: 4397: 4393: 4382: 4379: 4377: 4374: 4372: 4369: 4367: 4364: 4362: 4359: 4357: 4356:Hamming bound 4354: 4352: 4349: 4347: 4346:Coding theory 4344: 4343: 4336: 4332: 4329: 4308:For example, 4306: 4303: 4286: 4281: 4278: 4275: 4270: 4263: 4258: 4253: 4248: 4243: 4238: 4233: 4228: 4221: 4216: 4211: 4206: 4201: 4196: 4191: 4186: 4179: 4174: 4169: 4164: 4159: 4154: 4149: 4144: 4137: 4132: 4127: 4122: 4117: 4112: 4107: 4102: 4095: 4090: 4078: 4077: 4076: 4058: 4053: 4050: 4047: 4042: 4035: 4030: 4025: 4020: 4015: 4010: 4005: 4000: 3993: 3988: 3983: 3978: 3973: 3968: 3963: 3958: 3951: 3946: 3941: 3936: 3931: 3926: 3921: 3916: 3909: 3904: 3899: 3894: 3889: 3884: 3879: 3874: 3867: 3862: 3850: 3849: 3848: 3845: 3828: 3823: 3820: 3817: 3811: 3805: 3800: 3795: 3790: 3785: 3780: 3775: 3770: 3763: 3758: 3753: 3748: 3743: 3738: 3733: 3728: 3721: 3716: 3711: 3706: 3701: 3696: 3691: 3686: 3679: 3674: 3669: 3664: 3659: 3654: 3649: 3644: 3638: 3632: 3620: 3619: 3618: 3599: 3596: 3593: 3587: 3581: 3576: 3571: 3566: 3561: 3556: 3551: 3546: 3539: 3534: 3529: 3524: 3519: 3514: 3509: 3504: 3497: 3492: 3487: 3482: 3477: 3472: 3467: 3462: 3455: 3450: 3445: 3440: 3435: 3430: 3425: 3420: 3414: 3408: 3396: 3395: 3394: 3392: 3383: 3374: 3363: 3348: 3342: 3337: 3332: 3327: 3322: 3317: 3312: 3306: 3301: 3296: 3290: 3285: 3280: 3275: 3270: 3265: 3260: 3254: 3249: 3244: 3238: 3233: 3228: 3223: 3218: 3213: 3208: 3201: 3196: 3191: 3186: 3181: 3176: 3171: 3164: 3159: 3154: 3149: 3144: 3139: 3134: 3127: 3122: 3117: 3112: 3107: 3102: 3097: 3091: 3084: 3078: 3073: 3068: 3063: 3057: 3052: 3049: 3040: 3034: 3025: 3014: 3000: 2977: 2974: 2971: 2968: 2965: 2962: 2959: 2953: 2944: 2932: 2918: 2909: 2903: 2894: 2865: 2836: 2810: 2807: 2804: 2798: 2793: 2789: 2784: 2776: 2772: 2768: 2763: 2759: 2755: 2750: 2746: 2742: 2737: 2733: 2726: 2717: 2688: 2673: 2672: 2663: 2660: 2659: 2658: 2655: 2642: 2637: 2634: 2631: 2625: 2619: 2614: 2609: 2604: 2599: 2594: 2589: 2582: 2577: 2572: 2567: 2562: 2557: 2552: 2545: 2540: 2535: 2530: 2525: 2520: 2515: 2509: 2503: 2490: 2487: 2472: 2469: 2466: 2460: 2454: 2449: 2444: 2439: 2434: 2429: 2424: 2417: 2412: 2407: 2402: 2397: 2392: 2387: 2380: 2375: 2370: 2365: 2360: 2355: 2350: 2343: 2338: 2333: 2328: 2323: 2318: 2313: 2307: 2301: 2288: 2265: 2240: 2235: 2233: 2229: 2225: 2221: 2217: 2213: 2208: 2206: 2202: 2199: βˆ’  2198: 2194: 2190: 2186: 2181: 2179: 2175: 2172: 2167: 2148: 2122: 2120: 2116: 2112: 2108: 2103: 2101: 2083: 2071: 2068: 2065: 2061: 2055: 2045: 2040: 2026: 2024: 2020: 2002: 1986: 1982: 1975: 1971: 1960: 1955: 1936: 1933: 1928: 1919: 1910: 1899: 1897: 1894: 1890: 1886: 1882: 1877: 1873: 1869: 1841: 1838: 1833: 1829: 1821: 1814: 1811: 1808: 1805: 1800: 1796: 1785: 1768: 1765: 1762: 1759: 1754: 1750: 1746: 1743: 1740: 1735: 1731: 1719: 1705: 1702: 1699: 1696: 1691: 1687: 1683: 1680: 1673: 1659: 1656: 1651: 1647: 1643: 1640: 1633: 1628: 1627: 1622: 1618: 1615: 1612: 1609: 1606: 1605: 1601: 1598: 1595: 1592: 1589: 1588: 1584: 1581: 1578: 1575: 1572: 1571: 1567: 1564: 1561: 1558: 1555: 1554: 1550: 1547: 1544: 1541: 1538: 1537: 1533: 1530: 1527: 1524: 1521: 1520: 1516: 1514: 1511: 1508: 1505: 1502: 1501: 1497: 1494: 1488: 1485: 1482: 1479: 1478: 1475: 1472: 1469: 1467: 1464: 1462: 1459: 1456: 1455: 1452: 1434: 1431: 1428: 1425: 1420: 1416: 1395: 1392: 1387: 1383: 1369: 1367: 1320: 1318: 1316: 1314: 1312: 1310: 1308: 1306: 1304: 1302: 1300: 1298: 1296: 1294: 1292: 1289: 1288: 1285: 1283: 1281: 1279: 1277: 1219: 1217: 1215: 1213: 1211: 1209: 1207: 1204: 1203: 1193: 1191: 1189: 1187: 1157: 1155: 1153: 1151: 1121: 1119: 1117: 1114: 1113: 1110: 1094: 1092: 1076: 1074: 1058: 1056: 1040: 1038: 1022: 1019: 1018: 1015: 1006: 997: 988: 979: 970: 961: 952: 943: 934: 924: 916: 912: 909: 906: 903: 900: 897: 894: 891: 888: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 855: 851: 842: 837: 832: 827: 822: 817: 812: 807: 802: 797: 792: 787: 782: 777: 772: 767: 762: 757: 752: 747: 741: 738: 737: 736: 733: 730: 722: 719: 715: 712: 708: 705: 701: 698: 694: 693: 691: 688: 685: 682: 679: 678: 677: 674: 671: 661: 657: 653: 648: 644: 643: 637: 635: 631: 627: 623: 619: 614: 605: 601: 597: 594:2 βˆ’ 2 βˆ’ 1 = 1 589: 584: 579: 578: 572: 565: 555: 540: 537: 526: 523: 505: 495: 491: 489: 485: 481: 475: 465: 457: 455: 449: 447: 443: 440:computer, an 439: 435: 431: 422: 420: 416: 410: 408: 404: 400: 395: 390: 380: 376: 372: 368: 361: 357: 353: 347: 343: 337: 332: 327: 325: 321: 317: 313: 309: 305: 301: 300:perfect codes 297: 293: 289: 288:Hamming codes 285: 281: 269: 264: 262: 257: 255: 250: 249: 246: 243: 239: 234: 225: 223: 219: 213: 211: 210:Alphabet size 207: 201: 199: 195: 181: 172: 170: 166: 161: 156: 154: 150: 145: 137: 135: 131: 128: 125: 121: 116: 113: 110: 106: 99: 92: 87: 82: 73: 70: 62: 52: 48: 42: 41: 35: 30: 21: 20: 4653: 4610: 4582: 4550: 4517: 4511: 4462: 4426: 4419: 4407: 4396: 4333: 4330: 4307: 4304: 4301: 4073: 3846: 3843: 3616: 3391:Hamming(7,4) 3388: 3015: 2933: 2677: 2656: 2491: 2488: 2289: 2236: 2231: 2223: 2219: 2215: 2211: 2209: 2200: 2196: 2192: 2188: 2184: 2182: 2177: 2173: 2168: 2123: 2118: 2114: 2110: 2106: 2104: 2098:is called a 2027: 2022: 2018: 1943:The matrix 1942: 1934: 1930: 1927:Hamming(7,4) 1902:Hamming code 1888: 1884: 1878: 1874: 1870: 1866: 1517:4/7 β‰ˆ 0.571 1513:Hamming(7,4) 1498:1/3 β‰ˆ 0.333 1489:Hamming(3,1) 1370: 1362: 744:Bit position 734: 731: 728: 717: 710: 703: 696: 675: 667: 658: 651: 646: 640: 638: 629: 625: 618:nomenclature 615: 611: 602: 598: 587: 582: 575: 570: 567: 507: 492: 477: 463: 450: 428: 418: 411: 393: 378: 374: 370: 366: 359: 355: 345: 342:block length 335: 331:mathematical 328: 324:Hamming(7,4) 320:punched card 308:block length 287: 277: 242:perfect code 179: 159: 143: 134:Block length 97: 65: 56: 37: 1457:Parity bits 608:Description 296:parity code 108:Named after 51:introducing 4698:Categories 4556:New Jersey 4496:References 4381:Turbo code 4351:Golay code 1898:families. 1461:Total bits 596:data bit. 558:Repetition 474:Parity bit 454:ECC memory 415:ECC memory 314:of three. 236:Properties 59:March 2013 34:references 4588:Cambridge 3044:→ 3029:→ 2948:→ 2913:→ 2898:→ 2869:→ 2840:→ 2799:∈ 2721:→ 2692:→ 2237:The code 2069:− 1983:− 1839:− 1812:− 1806:− 1766:− 1760:− 1741:− 1703:− 1697:− 1657:− 1466:Data bits 1432:− 1426:− 1393:− 922:coverage 634:code rate 434:Bell Labs 413:ECC RAM ( 399:dual code 381:/ (2 βˆ’ 1) 4638:Archived 4538:Archived 4534:61141773 4339:See also 2669:Encoding 2262:and the 2025:) code, 1491:(Triple 656:errors. 222:Notation 198:Distance 2674:Example 1720:Hamming 438:Model V 425:History 348:= 2 βˆ’ 1 190:⁠ 187:(2 βˆ’ 1) 176:⁠ 47:improve 4660:  4598:  4566:  4532:  4485:  4434:  1893:Xilinx 1885:SECDED 918:Parity 718:fourth 704:second 468:Parity 419:SECDED 387:. The 377:= 1 βˆ’ 358:= 2 βˆ’ 141:where 36:, but 4641:(PDF) 4630:(PDF) 4541:(PDF) 4530:S2CID 4508:(PDF) 4388:Notes 2287:are: 2183:Thus 1371:With 711:third 697:least 630:(3,1) 626:(8,7) 622:ASCII 385:2 βˆ’ 1 231:-code 139:2 βˆ’ 1 4658:ISBN 4596:ISBN 4564:ISBN 4483:ISBN 4432:ISBN 4310:1011 3617:and 3372:edit 2489:and 2117:and 2109:and 2028:and 1908:edit 1896:FPGA 1624:... 1474:Rate 1470:Name 1290:p16 913:d15 898:d11 848:... 590:= 2, 484:even 350:and 310:and 304:rate 282:and 174:1 βˆ’ 169:Rate 158:2 βˆ’ 123:Type 4615:doi 4522:doi 4323:011 2210:So 1613:502 1610:511 1596:247 1593:255 1579:120 1576:127 1205:p8 1115:p4 1020:p2 925:p1 920:bit 910:d14 907:d13 904:d12 901:p16 895:d10 874:d4 862:d1 856:p1 670:XOR 654:βˆ’ 1 573:= 3 488:odd 486:or 480:bit 362:βˆ’ 1 338:β‰₯ 2 329:In 278:In 162:βˆ’ 1 146:β‰₯ 2 100:= 3 4700:: 4652:. 4632:. 4594:. 4590:: 4586:. 4562:. 4558:: 4554:. 4536:. 4528:. 4518:29 4516:. 4510:. 4474:^ 4445:^ 4314:01 3633::= 3409::= 2504::= 2302::= 2234:. 2207:. 2203:)- 2102:. 2041::= 1956::= 1562:57 1559:63 1545:26 1542:31 1528:11 1525:15 892:d9 889:d8 886:d7 883:d6 880:d5 877:p8 871:d3 868:d2 865:p4 859:p2 844:20 839:19 834:18 829:17 824:16 819:15 814:14 809:13 804:12 799:11 794:10 541:10 456:. 421:. 409:. 373:/ 369:= 286:, 4666:. 4621:. 4617:: 4604:. 4572:. 4524:: 4326:0 4320:0 4317:1 4287:. 4282:8 4279:, 4276:4 4271:) 4264:0 4259:1 4254:1 4249:1 4244:1 4239:0 4234:0 4229:0 4222:1 4217:0 4212:1 4207:1 4202:0 4197:1 4192:0 4187:0 4180:1 4175:1 4170:0 4165:1 4160:0 4155:0 4150:1 4145:0 4138:1 4133:1 4128:1 4123:0 4118:0 4113:0 4108:0 4103:1 4096:( 4091:= 4087:G 4059:. 4054:8 4051:, 4048:4 4043:) 4036:1 4031:0 4026:0 4021:0 4016:0 4011:1 4006:1 4001:1 3994:0 3989:1 3984:0 3979:0 3974:1 3969:0 3964:1 3959:1 3952:0 3947:0 3942:1 3937:0 3932:1 3927:1 3922:0 3917:1 3910:0 3905:0 3900:0 3895:1 3890:1 3885:1 3880:1 3875:0 3868:( 3863:= 3859:H 3829:. 3824:8 3821:, 3818:4 3812:) 3806:1 3801:1 3796:1 3791:1 3786:1 3781:1 3776:1 3771:1 3764:0 3759:1 3754:1 3749:1 3744:1 3739:0 3734:0 3729:0 3722:0 3717:1 3712:1 3707:0 3702:0 3697:1 3692:1 3687:0 3680:0 3675:1 3670:0 3665:1 3660:0 3655:1 3650:0 3645:1 3639:( 3629:H 3600:8 3597:, 3594:4 3588:) 3582:0 3577:1 3572:0 3567:0 3562:1 3557:0 3552:1 3547:1 3540:1 3535:0 3530:1 3525:0 3520:1 3515:0 3510:1 3505:0 3498:1 3493:0 3488:0 3483:1 3478:1 3473:0 3468:0 3463:1 3456:1 3451:0 3446:0 3441:0 3436:0 3431:1 3426:1 3421:1 3415:( 3405:G 3376:] 3349:) 3343:0 3338:1 3333:0 3328:1 3323:1 3318:0 3313:1 3307:( 3302:= 3297:) 3291:2 3286:3 3281:2 3276:1 3271:1 3266:0 3261:1 3255:( 3250:= 3245:) 3239:1 3234:1 3229:1 3224:1 3219:0 3214:0 3209:0 3202:1 3197:1 3192:0 3187:0 3182:1 3177:0 3172:0 3165:1 3160:0 3155:1 3150:0 3145:0 3140:1 3135:0 3128:0 3123:1 3118:1 3113:0 3108:0 3103:0 3098:1 3092:( 3085:) 3079:1 3074:1 3069:0 3064:1 3058:( 3053:= 3050:G 3041:a 3035:= 3026:x 3001:G 2981:] 2978:1 2975:, 2972:1 2969:, 2966:0 2963:, 2960:1 2957:[ 2954:= 2945:a 2919:G 2910:a 2904:= 2895:x 2866:a 2837:x 2814:} 2811:1 2808:, 2805:0 2802:{ 2794:i 2790:a 2785:, 2782:] 2777:4 2773:a 2769:, 2764:3 2760:a 2756:, 2751:2 2747:a 2743:, 2738:1 2734:a 2730:[ 2727:= 2718:a 2689:a 2643:. 2638:7 2635:, 2632:3 2626:) 2620:1 2615:0 2610:0 2605:1 2600:1 2595:1 2590:0 2583:0 2578:1 2573:0 2568:1 2563:1 2558:0 2553:1 2546:0 2541:0 2536:1 2531:1 2526:0 2521:1 2516:1 2510:( 2500:H 2473:7 2470:, 2467:4 2461:) 2455:1 2450:1 2445:1 2440:1 2435:0 2430:0 2425:0 2418:1 2413:1 2408:0 2403:0 2398:1 2393:0 2388:0 2381:1 2376:0 2371:1 2366:0 2361:0 2356:1 2351:0 2344:0 2339:1 2334:1 2329:0 2324:0 2319:0 2314:1 2308:( 2298:G 2274:H 2249:G 2232:G 2226:- 2224:k 2220:H 2216:H 2212:G 2201:k 2197:n 2193:n 2189:n 2185:H 2178:m 2174:H 2153:0 2149:= 2144:T 2139:G 2132:H 2119:H 2115:G 2111:H 2107:G 2084:) 2072:k 2066:n 2062:I 2056:A 2046:( 2037:H 2023:k 2021:, 2019:n 2003:) 1991:T 1987:A 1976:k 1972:I 1961:( 1952:G 1912:] 1845:) 1842:1 1834:m 1830:2 1826:( 1822:/ 1818:) 1815:1 1809:m 1801:m 1797:2 1793:( 1772:) 1769:1 1763:m 1755:m 1751:2 1747:, 1744:1 1736:m 1732:2 1728:( 1706:1 1700:m 1692:m 1688:2 1684:= 1681:k 1660:1 1652:m 1648:2 1644:= 1641:n 1630:m 1607:9 1590:8 1573:7 1556:6 1539:5 1522:4 1509:4 1506:7 1503:3 1495:) 1486:1 1483:3 1480:2 1449:m 1435:1 1429:m 1421:m 1417:2 1396:1 1388:m 1384:2 1373:m 789:9 784:8 779:7 774:6 769:5 764:4 759:3 754:2 749:1 652:k 647:k 588:m 571:n 538:= 532:) 527:3 524:5 519:( 394:r 379:r 375:n 371:k 367:R 360:r 356:k 346:n 336:r 267:e 260:t 253:v 228:2 215:2 203:3 184:/ 180:r 160:r 144:r 102:) 98:r 72:) 66:( 61:) 57:( 43:.

Index

references
inline citations
improve
introducing
Learn how and when to remove this message

Richard W. Hamming
Linear block code
Block length
Message length
Rate
Distance
Alphabet size
Notation
perfect code
v
t
e
computer science
telecommunications
linear error-correcting codes
parity code
perfect codes
rate
block length
minimum distance
Richard W. Hamming
punched card
Hamming(7,4)
mathematical

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑