Использование алгоритма исправления ошибок Рида-Соломона с штрих-кодами с 4 состояниями - PullRequest
0 голосов
/ 07 мая 2020

У меня есть комбинированные данные, требующие минимум 35 бит .

Используя штрих-код с 4 состояниями , каждая полоса представляет 2 бита , поэтому вышеупомянутая информация может быть преобразована в 18 столбцов.

enter image description here


Я хотел бы добавить сильную коррекцию ошибок в этот штрих-код, чтобы его можно было исправить, если он каким-то образом поврежден. Одним из таких подходов является Исправление ошибок Рида-Соломона .

Моя цель - добавить как можно более сильную коррекцию ошибок, но, с другой стороны, у меня есть ограничение на размер штрих-кода. Если я правильно понял алгоритм Рида-Соломона , m ∙ k должно быть не меньше размера моего сообщения, т.е. 35 в моем случае.

На основе Интерактивная демонстрация Рида-Соломона , я могу go с (m, n, t, k) как (4, 15, 3, 9), что позволило бы мне закодировать сообщение до 4 ∙ 9 = 36 бит. Это приведет к кодовое слово размера 4 ∙ 15 = 60 бит или 30 баров , но исправление ошибок соотношение t / n будет просто 20,0% .

Следующий вариант - go, где (m, n, t, k) будет (5, 31, 12, 7) , что позволит мне кодировать сообщение размером до 5 ∙ 7 = 35 бит. Это привело бы к кодовому слову размера 5 ∙ 31 = 155 бит или 78 столбцов и исправлению ошибок соотношению t / n будет ~ 38,7% .

Первый сценарий требует использования штрих-кода с 30 полосами, что хорошо, но исправление ошибок 20,0% не так хорошо, как желанный. Второй сценарий предлагает отличное исправление ошибок 38,7%, но штрих-код должен иметь 78 полос, что слишком много.

Есть ли какой-нибудь другой подход или другой метод, который предлагал бы отличное исправление ошибок и разумную длину штрих-кода?

1 Ответ

1 голос
/ 08 мая 2020

Вы можете использовать сокращенное кодовое слово, например (5, 19, 6, 7) коэффициент коррекции 31,5%, 95 бит, 48 полос. Одним из преимуществ сокращенного кодового слова является снижение вероятности неправильного исправления, если разрешено исправлять максимум 6 ошибок. Если какое-либо из 6 местоположений ошибок находится за пределами диапазона допустимых местоположений, это свидетельствует о наличии более 6 ошибок. Вероятность неправильной коррекции составляет примерно (19/31) ^ 6 = 5,3%.

...