Как исправить ошибки и стирания при передаче данных?

Я пытаюсь построить модем, используя JavaScript. Текст, который я хочу отправить, преобразуется в ASCII (шестнадцатеричный) и кодируется в звук с использованием FSK, поэтому я использую 16 различных частот для шестнадцатеричных чисел.
Иногда это работает довольно хорошо, но иногда не получается. Когда это терпит неудачу, это из-за нескольких номеров. Допустим, я передаю 50 номеров, тогда, может быть, 2 или 3 максимальных ошибки выдачи: они не получены или, возможно, они получены, когда они не были переданы.

В тех случаях, когда некоторые числа принимаются как другие (например, 3 вместо 2), проблем не возникает, поскольку я использую реализацию кода Рида-Соломона на JavaScript.

Пример:

Transmitted: 0123456789
Received:    0193456789

Обратите внимание, что все номера были получены, но есть ошибка в 3-м номере. Нет проблем. Рид-Соломон может решить это.

Transmitted: 0123456789
Received:    05123456789

Обратите внимание, что есть дополнительный номер, который не был передан. Ошибка.

Transmitted: 0123456789
Received:    023456789

Обратите внимание, что отсутствует номер. Ошибка.

Итак, как я могу исправить случаи, когда отсутствует номер или номер, который не должен быть там? (Очевидно, не зная позиции ошибки).

Спасибо

0 ответов

Другие вопросы по тегам