In its operation of any automated system faces the problem of adequate perception of the data, the purity obtained information, finding errors and correcting them.The more serious tasks assigned to the object processing, the more complex and sensitive detection system of bad elements and software errors in the flow of information necessary for him to work.
One option for checking the flow of information for errors and even correct them, is to encode digital information.There is a set of codes and methods used during operation with different data.The so-called Hamming code is a classic example of that was the starting point for a more complex and sophisticated ways to identify and correct issues at the data mistakes.
story of the code begins in the mid-1940s.At this time, Richard Hamming mastered countable machine Bell Model V, working at the famous Bell Labs.Then it was ultramodern mechanism using an electromechanical principle.The design of the machines used relay units.Their use does not give a significant gain in speed.The exercise of one turn required a few seconds.Data entry took place on means of punched cards, and errors in the process of their readings were not uncommon.On weekdays for detecting and correcting errors found were used special codes.The machine operator informed the glow lamps, that in turn corrects the error and re-starts the process of calculation.But the weekend process was different rules.Finding an error, the machine automatically stops the execution of the first program, and the transition to the other.
Since Hamming often had to work on weekends, it is very irritating behavior like computer, because every time he had to restart the program on which he worked, and the culprit was the unreliability of punch cards.For several years he had spent on the construction of the most efficient algorithms for error correction.As a result, by 1950 he was able to find and publicize the best way to solve this problem, it is now known worldwide as the Hamming code.
Yield proposed by Richard Hamming was once widespread.Methods of coding data supplemented by several large blocks.For example, systematic codes represent a large group that consists of the block, so-called separable codes (in other words, those in which all the characters are divided into information and screening).
have systematic codes have feature parity are the result of linear operations over the information symbols.In this case, any permitted codeword has the ability to get the result of the linear operations performed on a set of linearly independent codewords.
Hamming Code is a self-monitoring code.These codes allow to detect errors automatically during transmission.To build them, it is only necessary to attribute to each word one control (extension) bit.The number is chosen with the expectation that the total number of units in the image was on the condition, even.
If there is a single error, it will change the parity of the total number of units.
codes, leading to correction of errors in the automatic mode, called self-correcting.To construct such a code is already enough of controlling the discharge.The biggest interest is a binary block codes, which are corrected.
To summarize, we can conclude that the Hamming code uses the principle of parity, which investigated the number of single characters.