1
\$\begingroup\$

I have to do the scheme of the non-systematic Hamming code encoder (not cyclic but classic). But I have not found any source where it would be written how to build a generating matrix and create a system of linear equations for finding symbols of code combinations. How is this done?

Once again, I consider the non-systematic classical (n, k) Hamming code. For example, (7, 4) Hamming code.

Thank you in advance for your detailed answers.

\$\endgroup\$
  • \$\begingroup\$ (7,4) Hamming is really easy to understand. I'm not sure how it could be a struggle. But are you asking for something far more general? \$\endgroup\$ – jonk Jun 19 '19 at 1:46
  • \$\begingroup\$ He's looking for the XOR parity codecs \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 19 '19 at 1:48
  • \$\begingroup\$ Just to get the link into here: Hamming. \$\endgroup\$ – jonk Jun 19 '19 at 4:22
  • \$\begingroup\$ @jonk Systematic Hamming code is really easy to understand. But the unsystematic is not clear. For example, there is a matrix G of an unsystematic (7, 4) Hamming code. How to create a system of linear equations for finding symbols of code combinations? $$G = \begin{pmatrix}1 & 1 & 0 & 1 & 0 & 0 & 0 \\\ 0 & 1 & 1 & 0 & 1 & 0 & 0 \\\ 0 & 0 & 1 & 1 & 0 & 1 & 0 \\\ 0 & 0 & 0 & 1 & 1 & 0 & 1\end{pmatrix}$$ \$\endgroup\$ – alexhak Jun 19 '19 at 10:46
1
\$\begingroup\$

AS I recall from the '70's it uses XOR gates but now in a small CPLD.
P1=d0 ⊕ d2 ⊕ d4 ⊕ d6
P2=d1 ⊕ d2 ⊕ d4 ⊕ d6
P3=d3 ⊕ d4 ⊕ d5⊕ d6

b3, b2, b1, P3, b0, P2, P1 7 bit string = 3 parity bits + 4 data bits = Hamming 7,4
sent as d6 d5 d4 d3 d2 d1 d0 repeat for both 4b nibble to get 14 bit string.

Dave? @Jonk correct me if I missed something.

\$\endgroup\$
  • \$\begingroup\$ You are right, but you described a systematic (7, 4)-code. Non-systematic should work differently, because the test matrix is chaotic. \$\endgroup\$ – alexhak Jun 19 '19 at 10:33
  • \$\begingroup\$ Not so chaotic, just funky: swap 2 columns, then XOR 2 or 3 rows and replace any row with result. But repeat same for G matrix decoder. \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 19 '19 at 11:43
  • \$\begingroup\$ As I understand it, is not necessary to rearrange only 2 columns (can be any number). For example, $$G = \begin{pmatrix}1 & 1 & 0 & 1 & 0 & 0 & 0 \\\ 0 & 1 & 1 & 0 & 1 & 0 & 0 \\\ 0 & 0 & 1 & 1 & 0 & 1 & 0 \\\ 0 & 0 & 0 & 1 & 1 & 0 & 1\end{pmatrix}$$ \$\endgroup\$ – alexhak Jun 19 '19 at 11:51
  • \$\begingroup\$ But then it turns out that the test matrix will look like this: $$H = \begin{pmatrix}0 & 1 & 0 & 1 & * & * & * \\\ 0 & 0 & 1 & 0 & * & * & * \\\ 0 & 0 & 0 & 1 & * & * & *\end{pmatrix}$$ How do I determine the remaining " * * *"columns? \$\endgroup\$ – alexhak Jun 19 '19 at 11:54
  • \$\begingroup\$ Looks that way! As long as identical sequential operations are done, 1⊕1=0 \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jun 19 '19 at 11:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.