Использование формулы для декодирования кода Хэмминга (7,4) - PullRequest
0 голосов
/ 24 мая 2019

В данный момент я пытаюсь придумать формулу, расшифровывающую Хэмминга (7,4). До сих пор ни один из них не дал мне последовательных правильных решений.

Я много гуглил, но не могу найти нужную информацию. Моя реализация использует позиции четности и бит данных, отличные от обычных, но я не хочу их менять.

Биты четности:

enter image description here

Мой байт выглядит так;

 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 

Это тоже не работает

На данный момент у меня еще нет кода, потому что мне сначала нужно выяснить логику / формулу этой проблемы.

Мои реальные результаты противоречивы, я пытаюсь найти формулу, которая дает мне правильное решение. Желательно использовать битовую манипуляцию, как я пытался использовать результат четного / нечетного из кругов.

...