Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
The Hamming codes are perfect, but they don't exist for any number of data bits.
Two of them are Hamming(31, 26) and Hamming(63, 57).
The first number is the total number of bits, and the second is the number of data bits.
You can take Hamming(63, 57) and use only 32 of the 57 data bits.
You will have 32 data bits + 6 parity bits = 38 bits.
When doing the calculations, you can pad the 32 data bits to 57 bits by using any fixed pattern known by both the transmitter and the receiver, all zeros is OK.
1. If you have an example of a VHDL Hamming (63,57) - please post it...
2. Also, do you know of any FEC algorithm that can be tailored to any bit length efficiently (not just to "magic" lengths as with Hamming) ?
2. Since the Hamming code is perfect, you can't beat it. 6 extra bits is the minimum to correct single bit errors in 32 data bits. The problem with a pure Hamming code is that everything is accepted. Whatever you get, it looks like the correct data or a single-bit correctable error. If you have two wrong bits it will be "corrected" to the wrong value.
By adding one more bit, a single error correcting, double error detecting (SEC-DED) code can be designed.
32 data bits + 7 parity bits, which seems to be a common solution.
Instead of getting into a bunch of mathematical expressions for the hamming code like the link std_match provided. Here is something a bit more bare bones and oriented towards showing exactly how the check bits fit into the data http://www.cs.ucc.ie/~jvaughan/archres/notes/hamming-example.pdf
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.