Достаточно исправления ошибок


Уловка с исправлением ошибок заключается в выборе минимального количества битов, которое необходимо применить для обеспечения точной связи с максимально возможной скоростью. Новый метод использует столько исправлений ошибок, сколько необходимо, был получен патент.

Коды с исправлением ошибок позволяют отправлять данные по шумному каналу и полностью восстанавливать их. Проблема в том, что включение исправления ошибок означает добавление дополнительных битов, что снижает способность канала передавать данные. Если вы знаете, что канал будет шумным, тогда упакуйте много исправлений ошибок и смиритесь с невозможностью отправлять данные так быстро. Хитрость заключается в выборе количества битов исправления ошибок, которые необходимо применить для обеспечения точной связи с максимально возможной скоростью.

Многие системы, используемые сегодня, решают проблему правильного исправления ошибок путем периодического тестирования уровня шума в канале и выбора соответствующей схемы кодирования. Проблема в том, что многие каналы очень быстро меняют свои характеристики. Например, когда вы перемещаетесь по мобильному телефону, качество приема меняется, и, в принципе, вам нужно изменять код, который вы используете, каждые несколько секунд, что не особенно практично.

Теперь новую технику изобрели Грегори Уорнелл, профессор кафедры электротехники и компьютерных наук Массачусетского технологического института, Ури Эрез из Тель-Авивского университета в Израиле и Митчелл Тротт из Google. Идея состоит в том, чтобы создать одно длинное кодовое слово с исправлением ошибок, но отправить только его часть. Если кодовое слово получено правильно, то работа выполнена и данные получены.

Если нет, то отправляется следующая часть кодового слова, и это обеспечивает исправление ошибок, так что неправильная первая часть и любые ошибки во второй части могут быть исправлены и данные получены. Если это не сработает, можно отправить другую часть кода и так далее, пока данные не будут получены правильно.

Вы можете видеть, что эта схема зависит от возможности создать код, который можно использовать по принципу «по частям». Фрагменты отправляются один за другим, пока приемник не отправит сигнал передатчику об остановке. Эта схема близка к оптимальной, даже если качество канала меняется во время передачи. Передается ровно столько битов, сколько нужно для передачи сообщения с учетом преобладающих уровней шума.

Умная часть — это блочное кодирование. Это работает следующим образом: сначала сообщение разбивается на блоки равного размера. Они кодируются с использованием стандартного кода исправления ошибок. Затем кодовые слова объединяются путем умножения на разные константы и сложения. Это первый фрагмент окончательного кода. Последующие фрагменты генерируются путем умножения на разные константы и суммирования.

Декодирование зависит от знания размера начальных блоков и используемых множителей. Предполагается, что можно найти оптимальный выбор для стандартизации этих параметров. Вычислительная нагрузка декодирования зависит от количества объединяемых блоков.

В документе IEEE Transactions on Information Theory кодирование и декодирование описывается достаточно подробно, чтобы было ясно, что это практическая схема. Изобретатели также получили патент, что является позором для любого программиста, желающего использовать эту технику повсеместно. Однако, по крайней мере, в этом случае мы можем сказать, что патент касается чего-то, что, вероятно, стоит запатентовать, а не просто немного другой дизайн кнопки щелчка или виджета.


Добавить комментарий