Возможна ли коррекция BSD? - PullRequest
0 голосов
/ 20 декабря 2018

Я смотрю на использование контрольной суммы BSD, описанной здесь на wiki BSD Кто-нибудь знает, можно ли использовать ее для исправления основных ошибок?

1 Ответ

0 голосов
/ 20 декабря 2018

Рассмотрим 8-битную или 16-битную контрольную сумму влево, где все байты сообщения должны быть равны нулю, но один из них имеет ошибку в один бит.Контрольная сумма обнаружит ошибку, но вы получите ту же контрольную сумму для сообщения [0] = 0x01, или сообщения [1] = 0x02, ..., или сообщения [7] = 0x80.Контрольная сумма не может определить, какой из этих 8 (или более) возможных случаев ошибки произошел, поэтому ее нельзя использовать для исправления ошибок.

Вам потребуется хотя бы что-то вроде кода Хемминга, кода БЧХили код RS, чтобы иметь возможность исправить еще одну битовую ошибку.Поскольку в качестве тега используется CRC, однобитовый корректирующий двоичный код BCH по существу такой же, как CRC, использующий «примитивный» полином, который является основой для конечного поля, если длина сообщения (включая CRC) короче, чемколичество возможных значений в конечном поле.Например, 15-битное сообщение будет иметь 11 битов данных и 4 бита «четности» на основе конечного поля GF (2 ^ 4) (GF (16)).

...