Код Адамара - Hadamard code

Код Адамара
Названный в честьЖак Адамар
Классификация
ТипЛинейный код блока
Длина блока
Длина сообщения
Ставка
Расстояние
Размер алфавита
Обозначение-код
Дополненный код Адамара
Названный в честьЖак Адамар
Классификация
ТипЛинейный код блока
Длина блока
Длина сообщения
Ставка
Расстояние
Размер алфавита
Обозначение-код
Матрица расширенного кода Адамара [32, 6, 16] для Код Рида – Мюллера (1, 5) космического зонда НАСА Маринер 9
XOR операции
Здесь белые поля обозначают 0
и красные поля для 1

В Код Адамара является код исправления ошибок названный в честь Жак Адамар что используется для обнаружение и исправление ошибок при передаче сообщений по очень шумным или ненадежным каналам. В 1971 году этот код использовался для передачи фотографий Марса обратно на Землю с космического зонда НАСА. Маринер 9.[1] Благодаря своим уникальным математическим свойствам код Адамара не только используется инженерами, но и интенсивно изучается в теория кодирования, математика, и теоретическая информатика.Код Адамара также известен под названиями Код Уолша, Семья Уолш,[2] и Код Уолша-Адамара[3] по признанию американского математика Джозеф Леонард Уолш.

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

Код Адамара уникален тем, что каждое ненулевое кодовое слово имеет Вес Хэмминга точно , откуда следует, что расстояние кода также .В стандарте обозначение теории кодирования за блочные коды, код Адамара является -код, то есть это линейный код через двоичный алфавит, имеет длина блока , длина сообщения (или размер) , и минимальное расстояние . Длина блока очень велика по сравнению с длиной сообщения, но, с другой стороны, ошибки могут быть исправлены даже в очень шумных условиях.

Расширенный код Адамара - это немного улучшенная версия кода Адамара; это -code и, следовательно, имеет немного лучший ставка при сохранении относительного расстояния , и поэтому предпочтительнее в практических приложениях. В теории коммуникации он просто называется кодом Адамара и совпадает с кодом первого порядка. Код Рида – Мюллера над двоичным алфавитом.[4]

Обычно коды Адамара основаны на Построение Сильвестром матриц Адамара, но термин «код Адамара» также используется для обозначения кодов, построенных из произвольных Матрицы Адамара, которые не обязательно относятся к типу Сильвестра; в общем случае такой код не является линейным; такие коды были впервые построены Р. К. Бозе и С. С. Шриханде в 1959 г.[5]Если п - размер матрицы Адамара, код имеет параметры , что означает, что это не обязательно линейный двоичный код с 2п кодовые слова длины блока п и минимальное расстояние п/ 2. Схема построения и декодирования, описанная ниже, применима для общего п, но свойство линейности и отождествление с кодами Рида – Маллера требуют, чтобы п - степень двойки и матрица Адамара эквивалентна матрице, построенной методом Сильвестра.

Код Адамара - это локально декодируемый код, который позволяет с высокой вероятностью восстанавливать части исходного сообщения, просматривая только небольшую часть полученного слова. Это приводит к появлению приложений в теория сложности вычислений и особенно в дизайне вероятностно проверяемые доказательства.Поскольку относительное расстояние кода Адамара равно 1/2, обычно можно только надеяться исправить не более 1/4 доли ошибки. С помощью расшифровка списка тем не менее, можно вычислить короткий список возможных сообщений-кандидатов, если их меньше бит в полученном слове повреждены.

В Кодовым разделением множественного доступа (CDMA), код Адамара называется кодом Уолша и используется для определения индивидуальных каналы связи. В литературе CDMA принято называть кодовые слова «кодами». Каждый пользователь будет использовать другое кодовое слово или «код» для модуляции своего сигнала. Поскольку кодовые слова Уолша математически ортогональный, сигнал, закодированный по Уолшу, выглядит как случайный шум на мобильный телефон с поддержкой CDMA Терминал, если этот терминал не использует то же кодовое слово, что и тот, который использовался для кодирования входящего сигнал.[6]

История

Код Адамара - это имя, которое чаще всего используется для этого кода в литературе. Однако в современном использовании эти коды с исправлением ошибок называются кодами Уолша-Адамара.

Для этого есть причина:

Жак Адамар код не изобретал, но определил Матрицы Адамара около 1893 г., задолго до первого код исправления ошибок, то Код Хэмминга, был разработан в 1940-х годах.

Код Адамара основан на матрицах Адамара, и хотя здесь можно использовать множество различных матриц Адамара, обычно только Построение Сильвестром матриц Адамара используется для получения кодовых слов кода Адамара.

Джеймс Джозеф Сильвестр разработал свою конструкцию матриц Адамара в 1867 г., что на самом деле предшествует работе Адамара по матрицам Адамара. Отсюда и название Код Адамара оспаривается, и иногда код называют Код Уолша, в честь американского математика Джозеф Леонард Уолш.

Расширенный код Адамара использовался в 1971 году. Маринер 9 миссия по исправлению ошибок передачи изображения. Слова данных, используемые во время этой миссии, были длиной 6 бит, что представляло 64 оттенки серого значения.

Из-за ограничений качества юстировки передатчика в то время (из-за проблем с доплеровским контуром слежения) максимальная полезная длина данных составляла около 30 бит. Вместо использования код повторения, использовался [32, 6, 16] код Адамара.

С помощью этой схемы можно исправить ошибки до 7 бит на слово. По сравнению с 5-код повторения, свойства исправления ошибок этого кода Адамара намного лучше, но его скорость сопоставима. Эффективный алгоритм декодирования был важным фактором при принятии решения об использовании этого кода.

Используемая схема получила название «Зеленая машина». Он использовал быстрое преобразование Фурье что может увеличить скорость декодирования в три раза. С 1990-х годов использование этого кода космическими программами более или менее прекратилось, и Сеть дальнего космоса НАСА не поддерживает эту схему исправления ошибок для своих антенн размером более 26 м.

Конструкции

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

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

Строительство с использованием внутренних продуктов

Когда дано двоичное сообщение длины , код Адамара кодирует сообщение в кодовое слово с использованием функции кодирования Эта функция использует внутренний продукт двух векторов , который определяется следующим образом:

Тогда кодирование Адамара определяется как последовательность все внутренние продукты с :

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

Построение с использованием образующей матрицы

Код Адамара является линейным кодом, и все линейные коды могут быть сгенерированы с помощью порождающей матрицы . Это матрица такая, что относится ко всем , где сообщение рассматривается как вектор-строка, а произведение вектор-матрица понимается в векторное пространство над конечное поле . В частности, эквивалентный способ записать определение внутреннего произведения для кода Адамара возникает с использованием матрицы генератора, столбцы которой состоят из все струны длины , то есть,

куда это -й двоичный вектор в лексикографический порядок Например, порождающая матрица кода Адамара размерности является:

Матрица это -матрица и порождает линейный оператор .

Генераторная матрица дополненный Код Адамара получается ограничением матрицы столбцам, первая запись которых равна единице. Например, матрица генератора для расширенного кода Адамара размерности является:

потом является линейным отображением с .

Для общего , порождающая матрица расширенного кода Адамара является матрица проверки на четность для расширенный код Хэмминга длины и размер , что делает расширенный код Адамара двойной код расширенного кода Хэмминга. Следовательно, альтернативный способ определения кода Адамара заключается в терминах его матрицы проверки на четность: матрица проверки на четность кода Адамара равна порождающей матрице кода Хэмминга.

Построение с использованием общих матриц Адамара

Коды Адамара получаются из п-к-п Матрица Адамара ЧАС. В частности, 2п кодовые слова кода - это строки ЧАС и ряды -ЧАС. Чтобы получить код над алфавитом {0,1}, отображение −1 ↦ 1, 1 ↦ 0 или, что то же самое, Икс ↦ (1 − Икс) / 2, применяется к элементам матрицы. Минимальное расстояние кода п/ 2 следует из определяющего свойства матриц Адамара, а именно, что их строки взаимно ортогональны. Это означает, что две различные строки матрицы Адамара отличаются ровно п/ 2 позиций, и, поскольку отрицание строки не влияет на ортогональность, любая строка ЧАС отличается от любого ряда -ЧАС в п/ 2 также, кроме случаев, когда строки соответствуют, и в этом случае они отличаются п позиции.

Чтобы получить расширенный код Адамара выше с помощью , выбранная матрица Адамара ЧАС должно быть типа Сильвестра, что дает длину сообщения .

Расстояние

Расстояние кода - минимальное Расстояние Хэмминга между любыми двумя различными кодовыми словами, то есть минимальное количество позиций, в которых два различных кодовых слова различаются. Поскольку код Уолша – Адамара является линейный код, расстояние равно минимальному Вес Хэмминга среди всех его ненулевых кодовых слов. Все ненулевые кодовые слова кода Уолша – Адамара имеют Вес Хэмминга точно по следующему аргументу.

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

Тот факт, что последнее значение ровно называется принцип случайной суммы. Чтобы убедиться в его истинности, без ограничения общности предположим, что .Тогда, при условии, что значения , событие эквивалентно для некоторых в зависимости от и . Вероятность того, что происходит точно . Таким образом, по сути, все ненулевые кодовые слова кода Адамара имеют относительный вес Хэмминга , а значит, его относительное расстояние равно .

Относительное расстояние дополненный Код Адамара также, но у него больше нет свойства, что каждое ненулевое кодовое слово имеет вес точно поскольку все s вектор - кодовое слово дополненного кода Адамара. Это потому, что вектор кодирует в . Кроме того, когда ненулевой, а не вектор , снова применяется принцип случайной суммы, и относительный вес точно .

Локальная декодируемость

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

Код есть -запрос локально декодируемый если бит сообщения, , можно восстановить, проверив бит полученного слова. Более формально код, , является -локально декодируемый, если существует вероятностный декодер, , так что (Примечание: представляет Расстояние Хэмминга между векторами и ):

, подразумевает, что

Теорема 1: Код Уолша-Адамара -Локально декодируется для всех .

Лемма 1. Для всех кодовых слов в коде Уолша – Адамара, , , куда представляют биты в в должностях и соответственно, и представляет бит в позиции .

Доказательство леммы 1.


Позволять быть кодовым словом в соответствующий сообщению .

Позволять быть образующей матрицей .

По определению, . Из этого, . Построением , . Следовательно, путем замены .

Доказательство теоремы 1.


Для доказательства теоремы 1 построим алгоритм декодирования и докажем его правильность.

Алгоритм

Вход: Полученное слово

Для каждого :

  1. Выбирать равномерно случайно
  2. Выбирать такой, что куда побитовое xor из и .

Выход: Сообщение

Доказательство правильности

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

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

Следовательно, код Уолша – Адамара имеет вид локально декодируемый для

Оптимальность

За k ≤ 7 линейные коды Адамара оказались оптимальными в смысле минимального расстояния.[7]

Смотрите также

Примечания

  1. ^ http://www.mcs.csueastbay.edu/~malek/TeX/Hadamard.pdf
  2. ^ См., Например, Амадеи, Манзоли и Мерани (2002)
  3. ^ См., Например, Арора и Барак (2009), Раздел 19.2.2).
  4. ^ См., Например, Гурусвами (2009 г., п. 3).
  5. ^ Bose, R.C .; Шриханде, С.С. (1959). «Заметка о результате в теории построения кода». Информация и контроль. 2 (2): 183–194. CiteSeerX  10.1.1.154.2879. Дои:10.1016 / S0019-9958 (59) 90376-6.
  6. ^ «Учебное пособие по CDMA: интуитивное руководство по принципам связи» (PDF). Сложный в Реальный. В архиве (PDF) из оригинала 20 июля 2011 г.. Получено 10 ноября 2017.
  7. ^ Джефф, Дэвид Б .; Буюклиев Илья, Оптимальные двоичные линейные коды размерности не более семи, заархивировано из оригинал на 2008-08-08, получено 2007-08-21

Рекомендации