В данный момент я пытаюсь придумать формулу, расшифровывающую Хэмминга (7,4).
До сих пор ни один из них не дал мне последовательных правильных решений.
Я много гуглил, но не могу найти нужную информацию. Моя реализация использует позиции четности и бит данных, отличные от обычных, но я не хочу их менять.
Биты четности:
![enter image description here](https://i.stack.imgur.com/Jgp8N.png)
Мой байт выглядит так;
MSB - > 0 D3 D2 D1 D0 P2 P1 P0 < - LSB
Я попытался проверить четность окружностей и добавить 1 и 0, чтобы получить двоичное число.
p0 wrong would give 0b001 = 1, so that's correct
p1 wrong would give 0b010 = 2, so that's correct
p2 wrong would give 0b100 = 4, there goes my theory
Также нашел эту формулу в Интернете;
bit1 = x4 + x5 + x6 + x7
bit2 = x2 + x3 + x6 + x7
bit3 = x1 + x3 + x5 + x7
wrong bit = 4b1+2b2+b3
Это тоже не работает
На данный момент у меня еще нет кода, потому что мне сначала нужно выяснить логику / формулу этой проблемы.
Мои реальные результаты противоречивы, я пытаюсь найти формулу, которая дает мне правильное решение. Желательно использовать битовую манипуляцию, как я пытался использовать результат четного / нечетного из кругов.