Код повтора - Repetition code
В теория кодирования, то код повторения один из самых основных коды с исправлением ошибок. Чтобы передать сообщение по зашумленному каналу, который может нарушить передачу в нескольких местах, идея кода повторения состоит в том, чтобы просто повторить сообщение несколько раз. Есть надежда, что канал искажает только меньшую часть этих повторов. Таким образом, получатель заметит, что произошла ошибка передачи, поскольку полученный поток данных не является повторением одного сообщения, и, более того, получатель может восстановить исходное сообщение, просмотрев полученное сообщение в потоке данных, который встречается наиболее часто.
Из-за плохой производительности исправления ошибок и низкого соотношения между информационными символами и фактически переданными символами другие коды исправления ошибок в большинстве случаев предпочтительны. Главная привлекательность кода с повторением - простота реализации.
Параметры кода
В случае двоичного кода с повторением существуют два кодовых слова - все единицы и все нули, которые имеют длину . Следовательно, минимум Расстояние Хэмминга кода равна его длине . Это дает коду повторения способность исправлять ошибки (т.е. исправит до ошибки в любом кодовом слове).
Если длина двоичного кода повторения нечетная, то это идеальный код.[1] Двоичный код повторения длины п эквивалентно (п,1)-Код Хэмминга.
Пример
Рассмотрим двоичный повторяющийся код длины 3. Пользователь хочет передать информационные биты. 101
. Затем кодирование отображает каждый бит либо на кодовое слово всех единиц, либо на все нули, так что мы получаем 111 000 111
, который будет передан.
Скажем, три ошибки повреждают переданные биты, и полученная последовательность 111 010 100
. Расшифровка обычно выполняется простым решение большинства для каждого кодового слова. Это привело нас к 100
как биты декодированной информации, поскольку в первом и втором кодовом слове произошло менее двух ошибок, поэтому большинство битов верны. Но в третьем кодовом слове два бита повреждены, что приводит к ошибочному информационному биту, поскольку две ошибки лежат выше способности исправления ошибок.
Приложения
Несмотря на их низкую производительность в качестве автономных кодов, использование в Турбо код -подобно итеративно декодируется конкатенированное кодирование схемы, такие как повторять-накапливать Коды (RA) и накопление-повтор-накопление (ARA) обеспечивают удивительно хорошие характеристики исправления ошибок.
Коды повторения - один из немногих известных кодов, кодовая скорость можно автоматически настраивать на различные пропускная способность канала, путем отправки большей или меньшей информации о четности, необходимой для преодоления канального шума, и это единственный такой код, известный какканалы стирания. Практические адаптивные коды для каналов стирания были изобретены совсем недавно и известны как коды фонтанов.
Немного UART, например, используемые в FlexRay протокол, используйте фильтр большинства, чтобы игнорировать короткие всплески шума. Этот фильтр подавления пиков можно рассматривать как своего рода декодер повторения.
Рекомендации
- ^ Боссерт, Мартин (1999). Кодирование каналов для телекоммуникаций. Вайли. ISBN 9780471982777.