- •Тема 1. Предмет и методы теории информации и кодирования
- •1.1. Введение
- •1.2. Основные понятия и определения
- •1.3. Системы передачи информации
- •Тема 2. Математическая теория информации
- •2.1. Количество информации, и ее мера
- •2.2. Свойства количества информации
- •2.3. Энтропия информации
- •5.2. График энтропии для двух альтернативных событий
- •2.4. Свойства энтропии сообщений
- •2.5. Безусловная энтропия и ее свойства
- •2.6. Условная энтропия.
- •2.5. Энтропия объединения
- •Энтропия объединения (совместная энтропия) находится при помощи матрицы ( табл.3) путем суммирования по строкам или столбцам всех вероятностей вида
- •Уяснению взаимосвязи между рассмотренными видами энтропий дискретных систем способствует их графическое изображение.
- •Тема 3. Основы теории кодирования
- •3.1.Основные понятия и определения
- •3.2. Классификация кодов
- •3.3. Способы представления кодов
- •Тема 4. Каналы связи
- •4.1. Каналы связи, их классификация и характеристики
- •Пропускная способность дискретного канала связи
- •Дискретный канал связи без помех
- •Дискретный канал связи с помехами
- •Пример. По каналу связи передаются сообщения, вероятности которых соответственно равны:
- •Пропускная способность бинарного, симметричного канала
- •Избыточность сообщений
- •Тема 5. Оптимальное кодирование
- •5.1. Основные понятия и определения
- •5.2. Код Шеннона-Фано
- •5.3. Код Хаффмена
- •Тема 6. Помехоустойчивое кодирование
- •6.1. Общие положения
- •6.2. Обнаруживающие коды
- •Тема 7. Корректирующие коды
- •7.1. Основные понятия
- •7.2 Линейные групповые коды
- •7.3. Код хэмминга
- •Тема 8. Циклические коды
- •8.1. Операции над циклическими кодами
- •8.2. Циклические коды, исправляющие одиночную ошибку
- •Если задана длина кодовой комбинации, то число контрольных разрядов определяем по формуле
- •Так как частное q(X) имеет такую же степень, как и кодовая комбинация g(X) , то q(X) является кодовой комбинацией того же k - значного кода.
- •8.3. Матричная запись циклического кода
- •8.4. Циклические коды, обнаруживающие трехкратные ошибки
- •Тема 9. Коды боуза-чоудхури- хоквингема
- •Сигнальные символы это вспомогательные данные, облегчающие декодирование: служебные сигналы, сигналы синхронизации и т. Д.
- •Тема 10. Введение в криптологию
- •0 1 2 3 4 5 6 7 8 9 25 Ключ
- •4 7 9 2 3 5 1 6 8 Ключ
- •Функция дискретного логарифма обратная
8.3. Матричная запись циклического кода
Кроме полиномиального представления циклических кодов, их можно представлять в матричной форме.
Существует ряд методов построения образующих матриц. В зависимости от используемого метода она может быть представлена в канонической или не в канонической форме. Образующая матрица в канонической форме может быть представлена из двух матриц: единичной транспонированной IkT, соответствующей k информационным разрядам и дополнительной Rkm, соответствующей проверочным разрядам.
Дополнительная матрица может быть построена несколькими способами:
- путем вычисления многочлена R(x), как частного от деления информационного многочлена xmG(x), на образующий полином P(x);
- путем деления последней строки транспонированной матрицы на образующий полином P(x), при этом промежуточные остатки будут представлять собой строки дополнительной матрицы.
Образующую матрицу, не имеющую каноническую форму можно построить следующим образом: первая строка получается путем дописывания к образующему многочлену, представленному двоичным кодом, k-1 нулей со стороны старшего разряда. Каждая следующая строка получается путем циклического сдвига на один разряд влево.
Например, для образующего многочлена Р(х) = x4+x3+1 = 1 1 0 0 1 образующая матрица имеет вид
,
но при таком методе построения матрица не имеет канонической формы.
Пример 1. Построить циклический код для передачи 4-х разрядного информационного слова с исправлением одиночной ошибки путем умножения строки единичной матрицы ранга- k на образующий многочлен и циклического сдвига.
Решение:
Для кода (7, 4) строка единичной матрицы имеет вид 0 0 0 1.
Умножив ее на образующий полином P(x) = x3 +x2 +1 = 1101, получим
0001 1101= 0001101.
Остальные строки получим путем циклического сдвига кодовых комбинаций образующей матрицы.
.
Строки образующей матрицы представляют собой 4 кодовые комбинации, а остальные может быть получены путем суммирования по модулю 2 всевозможных сочетаний строк матрицы.
Пример 2. Построить образующую матрицу циклического кода, обнаруживающего все одиночные и двойные ошибки при передаче 7-разряд-ного информационного слова.
Решение:
1. Определим количество проверочных разрядов. Для k = 7 и d0 = S+1 = 3;
m = [log2 {(k+1)+ [log2(k+1)]}]=[log2 {(7+1)+ [log2(7+1)]}] = 4.
При этом n = 11, т. е. получили (11, 7)-код.
2. По таблице неприводимых многочленов выбираем образующий полином Р(х) = x4 +x3+1 = 1 1 0 0 1, т. е. степени большей или равной m и числом ненулевых членов больше или равно d0.
3. Строим транспонированную единичную матрицу IkT
.
4. Определяем элементы дополнительной матрицы, как остатки от деления последней строки транспонированной матрицы на образующий полином. При этом число остатков должно быть не меньше k, число разрядов в остатке равно m, а число единиц в каждом остатке не менее d0 -1. Если после приписывания 0 к остатку получаем число короче делителя, то получаем два остатка с нулем до и после остатка.
1000000 11001
11001
10010
11001
10110
11001
11110
11001
1010
Строим образующую матрицу G(n, k)
Пример 3. Построить циклический код для передачи 4-х разрядного информационного слова с исправлением одиночной ошибки с использованием образующий матрицы.
Решение:
1. Определим количество проверочных разрядов при k = 4 и d0 = S+1 = 3
m = [log2 {(k+1)+ [log2(k+1)]}] = [log2 {(4+1)+ [log2(4+1)]}] = 3.
При этом n = k +m = 7, т. е. получим (7, 4)- код.
2. По таблице неприводимых многочленов выбираем образующий полином Р(х) = x3 +x2+1 = 1 1 0 1 , т. е. степени большей или равной m и числом ненулевых членов больше или равно d0.
3
10000 1101
1101
1010
1101
1110
1101
0110
4. Строки образующей матрицы представляют собой 4 кодовые комбинации, а остальные комбинации могут быть получены путем суммирования по модулю 2 всевозможных сочетаний строк матрицы.
a1 = 0001101 a2 = 0010111 a3 = 0100011 a4 = 1000110
a5 = a1 a2 a6 = a1 a3 a7 = a1 a4 a8 = a2 a3
0001101 0001101 0001101 0010111
0010111 0100011 1000110 0100011
0011010 0101110 1001011 0110100
a9 = a2 a4 a10 = a3a4 a11 = a1a2a3 a12 = a1a2a4
0010111 0100011 0001101 0001101
1000110 1000110 0010111 0010111
1010001 1100101 0100011 1000110
0111001 1011100
a13 = a1a3a4 a14 = a2a3a4 a15 = a1a2a3a4
0001101 0010111 0001101
0100011 0100011 0010111
1000110 1000110 0100011
1101000 1110010 1000110
1111111
Пример 4. Построить циклический код для передачи 4-х разрядного информационного слова с исправлением одиночной ошибки с использованием образующий матрицы. Образующую матрицу сформировать путем умножения транспонированной единичной матрицы на образующий полином.
Решение:
1. Определим количество проверочных разрядов при k = 4 и d0 = S+1 = 3
m = [log2 {(k+1)+ [log2(k+1)]}] = [log2 {(4+1)+ [log2(4+1)]}] = 3.
При этом n = k+m = 7, т. е. получим (7, 4)-код.
2. По таблице неприводимых многочленов выбираем образующий полином Р(х) = x3 +x+1 = 1 1 0 1 , т.е. степени большей или равной m и числом ненулевых членов больше или равно d0.
3
00011011=0001011
00101011=0010110
01001011=0101100
10001011=1011000
При этом матрица не имеет канонического вида.
Строки образующей матрицы представляют собой 4 кодовые комбинации а остальные может быть получены путем суммирования по модулю 2 всевозможных сочетаний строк матрицы.