Как правильно назвать этот метод исправления ошибок (он похож на код Хэмминга)
Как правильно назвать этот метод исправления ошибок? Это очень похоже на код Хэмминга, но гораздо проще. Я также не могу найти это в литературе больше. Теперь я могу найти единственные интернет-источники, описывающие метод, а именно:
http://www.mathcs.emory.edu/~cheung/Courses/455/Syllabus/2-physical/errors-Hamming.html
И немецкоязычная Википедия.
http://de.wikipedia.org/w/index.php?title=Fehlerkorrekturverfahren
В статье в Википедии этот метод называется методом Хемминга-ECC. Но я не уверен на 100%, это правильно.
Вот пример, который описывает, как метод работает.
Payload: 10011010
Шаг 1: Определите позиции битов четности. Биты, которые имеют степени 2 (1, 2, 4, 8, 16 и т. Д.), Являются битами четности:
Position: 1 2 3 4 5 6 7 8 9 10 11 12
Data to be transmitted: ? ? 1 ? 0 0 1 ? 1 0 1 0
Шаг 2: Рассчитать значения битов четности. Каждой битовой позиции в передаче присваивается номер позиции. В этом примере номер позиции - это 4-значный номер, потому что у нас есть 4 бита четности. Рассчитайте XOR значений этих позиций (в 4-значном формате), где полезная нагрузка составляет 1 бит в передаче:
0011 Position 3
0111 Position 7
1001 Position 9
XOR 1011 Position 11
--------------------
0110 = parity bit values
Шаг 3: Вставить битовые значения четности в передачу:
Position: 1 2 3 4 5 6 7 8 9 10 11 12
Data to be transmitted: 0 1 1 1 0 0 1 0 1 0 1 0
Это довольно просто проверить, если полученное сообщение было передано правильно и ошибки в одном бите могут быть исправлены. Вот пример. Приемник вычисляет XOR вычисленных и принятых битов полезной нагрузки, где значение составляет 1 бит. Если результат равен 0, передача без ошибок. В противном случае результат содержит позицию бита с неправильным значением.
Received message: 0001101100101101
Position: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Received data: 0 0 0 1 1 0 1 1 0 0 1 0 1 1 0 1
Parity bits: X X X X X
00101 Position 5
00111 Position 7
01011 Position 11
01101 Position 13
XOR 01110 Position 14
--------------------
01010 Parity bits calculated
XOR 00111 Parity bits received
--------------------
01101 => Bit 13 ist defective!
Надеюсь, кто-нибудь здесь знает правильное название метода.
Спасибо за любую помощь.
1 ответ
Это похоже на сложную реализацию алгоритма кодирования и декодирования Хэмминга (15,11).
Чередование битов четности с информационными битами не меняет поведение (или производительность) кода. Ваше описание использует только 8 информационных битов, где Хэмминг (15,11) исправляет все однобитовые ошибки даже при передаче 11 информационных битов.
Ваше описание не объясняет, как переданное 12-битное сообщение расширяется до 16-битного сообщения на принимающей стороне.