Код Адамара - Hadamard code
Эта статья ведущий раздел может быть слишком длинным для статьи.Май 2020 г.) ( |
Код Адамара | |
---|---|
Названный в честь | Жак Адамар |
Классификация | |
Тип | Линейный код блока |
Длина блока | |
Длина сообщения | |
Ставка | |
Расстояние | |
Размер алфавита | |
Обозначение | -код |
Дополненный код Адамара | |
---|---|
Названный в честь | Жак Адамар |
Классификация | |
Тип | Линейный код блока |
Длина блока | |
Длина сообщения | |
Ставка | |
Расстояние | |
Размер алфавита | |
Обозначение | -код |
В Код Адамара является код исправления ошибок названный в честь Жак Адамар что используется для обнаружение и исправление ошибок при передаче сообщений по очень шумным или ненадежным каналам. В 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 м.
Конструкции
Хотя все коды Адамара основаны на матрицах Адамара, конструкции тонко различаются для разных областей науки, авторов и использования. Инженеры, использующие коды для передачи данных, и теоретики кодирования, которые анализируют экстремальные свойства кодов, обычно хотят ставка кода должно быть как можно выше, даже если это означает, что конструкция становится немного менее элегантной с математической точки зрения.
С другой стороны, для многих приложений кодов Адамара в теоретическая информатика не так важно достичь оптимальной скорости, и поэтому более простые конструкции кодов Адамара предпочтительны, поскольку их можно анализировать более элегантно.
Строительство с использованием внутренних продуктов
Когда дано двоичное сообщение длины , код Адамара кодирует сообщение в кодовое слово с использованием функции кодирования Эта функция использует внутренний продукт двух векторов , который определяется следующим образом:
Тогда кодирование Адамара определяется как последовательность все внутренние продукты с :
Как упоминалось выше, дополненный На практике используется код Адамара, поскольку сам код Адамара несколько расточителен. равно нулю, , то внутренний продукт не содержит никакой информации о , а значит, невозможно полностью расшифровать только с этих позиций кодового слова. С другой стороны, когда кодовое слово ограничено позициями, где , все еще можно полностью декодировать Следовательно, имеет смысл ограничить код Адамара этими позициями, что приводит к дополненный Кодирование Адамара ; то есть, .
Построение с использованием образующей матрицы
Код Адамара является линейным кодом, и все линейные коды могут быть сгенерированы с помощью порождающей матрицы . Это матрица такая, что относится ко всем , где сообщение рассматривается как вектор-строка, а произведение вектор-матрица понимается в векторное пространство над конечное поле . В частности, эквивалентный способ записать определение внутреннего произведения для кода Адамара возникает с использованием матрицы генератора, столбцы которой состоят из все струны длины , то есть,
куда это -й двоичный вектор в лексикографический порядок Например, порождающая матрица кода Адамара размерности является: