Engineering Minimum Hamming Distance for Parity Check Matrix

AI Thread Summary
The discussion centers on calculating the minimum Hamming distance for a given parity-check matrix. The initial claim suggests that the minimum distance is 3, based on trial and error with certain row combinations equating to zero. However, further analysis reveals that the correct minimum Hamming distance is actually 4, derived from evaluating all possible pairs of codewords generated from the matrix. This distance indicates the ability to detect and correct single-bit errors and detect double-bit errors. The conversation highlights the importance of systematic calculation over guessing in determining Hamming distances accurately.
nao113
Messages
68
Reaction score
13
Homework Statement
Compute the minimum Hamming distance of
the code whose parity-check matrix is
Relevant Equations
the minimum Hamming distance is the smallest Hamming distance between all possible pairs of strings in that set.
Screenshot 2023-05-01 at 13.09.42.png

My answer:
Then, if I am not mistaken, the solution made in that video is mostly guessing about which columns combination can be equals to zero
and I found 1st, 2nd, and 3rd rows as well as 2nd, 3rd, 4th rows are equals to zero so the minimum hamming distance is 3 since my answer is mostly trial and error rather than calculating so I am not sure.
 
Physics news on Phys.org
nao113 said:
Homework Statement: Compute the minimum Hamming distance of
the code whose parity-check matrix is
Relevant Equations: the minimum Hamming distance is the smallest Hamming distance between all possible pairs of strings in that set.

View attachment 325735
My answer:
Then, if I am not mistaken, the solution made in that video is mostly guessing about which columns combination can be equals to zero
What video?
What does "guessing about which columns combination can be equals to zero"
nao113 said:
and I found 1st, 2nd, and 3rd rows as well as 2nd, 3rd, 4th rows are equals to zero so the minimum hamming distance is 3 since my answer is mostly trial and error rather than calculating so I am not sure.
How are 1st, 2nd, and 3rd rows equal to zero? What operation are you doing. Same question for 2nd, 3rd, and 4th rows.
 
That should be the minimum Hamming distance between all valid codewords, all 16 encoded strings.

H (parity check matrix):

1 0 1 1 1 0 0 0
1 1 0 1 0 1 0 0
0 1 1 1 0 0 1 0
1 1 1 1 1 1 1 1

Convert H to systematic:
xor first three rows to last row, creates identity matrix on right:

1 0 1 1 1 0 0 0
1 1 0 1 0 1 0 0
0 1 1 1 0 0 1 0
1 1 1 0 0 0 0 1

Transpose H

1 1 0 1
0 1 1 1
1 0 1 1
1 1 1 0
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

Create generator matrix G from H
(last four columns = first four rows of transposed H):

1 0 0 0 1 1 0 1
0 1 0 0 0 1 1 1
0 0 1 0 1 0 1 1
0 0 0 1 1 1 1 0

All 16 codewords: encoded values for data = hex 0 to hex f:

00 1e 2b 35 47 59 6c 72 8d 93 a6 b8 ca d4 e1 ff

Minimum Hamming distance between all 120 possible pairs of codewords is 4 bits. This allows a single bit error to be detected and corrected, and also a double bit error to be detected (but not corrected). A single bit error will be equal to a column of systematic H or row of transposed H:

bit:check value (hex)
7:d
6:7
5:b
4:e
3:8
2:4
1:2
0:1
 
Last edited:
Back
Top