- •В.О. Осипян
- •1. Алфавит дискретных устройств. Конечные поля
- •1. 1. Простое поле галуа gf( p )
- •1. 2. Составное поле галуа gf( Рn )
- •2. Кодирование информации
- •2. 1. Основные понятия. Примеры кодов
- •2. 2. Линейные коды. Способы их задания
- •2. 3. Свойства линейного кода. Коды хэмминга
- •2. 4. Циклические коды
- •2. 5. Коды бчх, исправляющие две ошибки
- •2. 6. Нелинейные коды. Коды адамара
- •2. 7. Границы мощности кодов
- •3. Информация и неопределённость
- •3. 1. Количественная мера неопределённости
- •3. 2. Условная неопределённость.
- •3. 3. Передача информации
2. 6. Нелинейные коды. Коды адамара
Для каждого линейного кода С и произвольных двух его кодовых слов х , у сумма х + у также кодовое слово, что не всегда выполняется для нелинейных кодов, хотя в большинстве случаев нелинейные коды более эффективные , чем соответствующие линейные коды .
Назовём ( n , M , d ) - кодом множество из М слов длины n ( в алфавите GF(q), в частности здесь рассмотрим алфавит GF(2) ) такое, что для любых двух слов х у d(х , у) d и d является наибольшим числом с таким свойством.
Из данного определения следует, что двоичный линейный [ n , k ,d ] - код является ( n , 2 k, d ) - кодом ( круглые скобки используются для кода, который может быть или не быть линейным ).
Будем говорить, что два ( n , M , d ) - кода эквивалентны, если один может быть получен из другого перестановкой n символов и добавлением фиксированного слова.
Скорость передачи для нелинейного кода определяется как
R = log q M / n ,
что сводится к равенству
R = к / n ,
если код линеен.
Многие нелинейные коды строятся с помощью матриц Адамара. Это матрица H n размерности n n из элементов 1, такая, что
H n HТn = n Е ,
где Е -единичная матрица размерности n n . Другими словами, скалярное произведение произвольных двух различных строк H n в поле действительных чисел равно нулю. Так, например,
1
1 1 1
1 -1 1 -1
H 4 = 1 1 -1 -1 .
1 -1 -1 1
Матрица Адамара H n называется нормализованной матрицей, если её первый столбец и первая строка состоят из одних единиц ( как в матрице H 4). Если существует матрица Адамара H n порядка n, то n равно 1 или 2 или делится на 4 (наименьший порядок, для которого матрица Адамара ещё не построена равен 268 на 1977 г.).
Для построения матриц Адамара можно воспользоваться следующим способом. Пусть H n и H m - две матрицы Адамара порядков n и m соответственно. Тогда существует матрица Адамара H nm порядка nm, для чего необходимо каждый элемент матрицы H n заменить матрицей H m , умноженная на этот элемент. Так, например, из матрицы
1
1
H2 = 1 -1
можно получить матрицу H 4 , а из H 4 - матрицу Адамара H 8 :
1
1 1 1 1 1 1 1
1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1
H 8 = 1 1 1 1 -1 -1 -1 -1 .
1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1
1 -1 -1 1 -1 1 1 -1
Эти матрицы Адамара называются матрицами Сильвестра.
Назовём две матрицы Адамара эквивалентными, если одна может быть получена из другой перестановками строк и столбцов и умножением строк и столбцов на - 1.
Теперь перейдём к рассмотрению кодов Адамара.
Пусть H n - нормализованная матрица Адамара порядка n. Если все элементы +1 заменить на 0, а элементы - 1 заменить на 1, то H n превратится в двоичную матрицу Адамара Аn. Так как строки H n ортогональны, то любые две строки матрицы Аn совпадают в n / 2 позициях и различаются в n / 2 позициях, и поэтому расстояние Хэмминга между ними равно n / 2.
Матрица Аn позволяет построить следующие три кода Адамара:
I. ( n - 1, n , n / 2 ) - код Аn , состоящий из строк матрицы А n с выкинутым первым столбцом ( этот столбец состоит из одних нулей ).
Так, например, при n = 4 имеем:
А 4 = 0 0 0 , 1 0 1 , 0 1 1 , 1 1 0 .
II. ( n - 1 , 2 n , n / 2 ) - код В4 , состоящий из слов кода А n и их дополнений.
При n = 4 имеем:
В4 = 000 , 101 , 011 , 110 , 111 , 010 , 100 , 001 .
III. ( n , 2- n , n / 2 ) код С n , состоящий из строк матрицы А n и их дополнений.
При n = 4 имеем:
С4 = 0000, 0101, 0011, 0110, 1111, 1010, 1100, 1001 .
В частности, если n = 2 r, то все три кода Адамара А n , Вn и Сn являются линейными. В остальных случаях, коды получаемые из матриц Адамара Н n (n 2r), чаще всего являются нелинейными.
2.6.1. Доказать, что если n порядок матрицы Адамара, n 1 , 2, то n делится на 4.
2.6.2. Пусть u 1,u 2, . . . , u n , n = 2m, обозначают различные двоичные m- векторы. Доказать, что H n= ( h i j ) , где h i j = ( - 1 )Ui Uj является матрицей Адамара.
2.6.3. Построить коды Адамара А 8 , В8 и С8 .
2.6.4. Установить корректирующие возможности кодов А n , Вn и Сn .
2.6.5. Определить скорости кодов А n , Вn и Сn .
2.6.6. Построить матрицу Адамара порядка n = Pm + 1, где Р - простое число.
2.6.7. Построить матрицы Адамара порядков 92, 116 и 172.
2.6.8. Построить коды Адамара для n = 92, 116 и 172.
2.6.9. Построить новые оптимальные коды на основе кодов Адамара
путём их склеивания.
2.6.10. Построить матрицу Адамара порядка 12n и соответствующие коды Адамара.
2.6.11. Определить, при каких n коды Адамара нелинейны.
