Как сделать кодирование Golay 24,12 в 30 блоков - PullRequest
0 голосов
/ 11 мая 2019

Я заранее прошу прощения, что это довольно простой вопрос с точки зрения кода, но все равно идет.

У меня есть некоторые данные, сгенерированные кодом C, который по сути является блоком байтов переменной длины. Этот блок данных должен быть представлен как блок из 30 (24,12) слов Голея, что дает мне 360 бит / 45 байт используемых данных.

Вопрос двоякий; 1) есть ли код Golay 24,12 C, который я могу использовать, и 2) как я могу разбить данные на 30 блоков и представить их как один?

Я погуглил, но, к сожалению, не очень хорошо понимаю (или вообще не понимаю) кодировку Голея, за исключением того, что она обеспечивает защиту от ошибок.

Надеюсь, кто-нибудь может помочь.

Редактировать: Я вроде как решил, но, похоже, есть несколько способов сделать это [1] [2] [3].

Разные источники дают мне разные результаты. Допустим, мое слово 0x222.

Источник [1] ​​дает мне слово Голайед как 0x91104D

Источник [2] дает мне слово Голайед как 0xC85222

Источник [3] дает мне слово Голайед как 0xC26222

Источник [4] дает мне слово Голайед как 0xAC8222

  1. http://www.eccpage.com/golay23.c (с добавленной четностью 24,12)
  2. https://github.com/daniestevez/gr-ax100/blob/master/lib/golay24.c
  3. http://www.the -art-of-ecc.com / 2_Short / golay24.c
  4. http://aqdi.com/articles/using-the-golay-error-detection-and-correction-code-3/

Что правильно?

...