Так как частное q(X) имеет такую же степень, как и кодовая комбинация g(X) , то q(X) является кодовой комбинацией того же k - значного кода.
С учетом эквивалентности операций сложения и вычитания по модулю 2,
можно записать
6. Формирование передаваемой кодовой комбинации циклического кода (кодового полинома) - F(x):
7. Передача кодовой комбинации циклического кода в канал.
8. Анализ принятого сообщения F1(x).
Принятое сообщение:
F1(x) = F(x) E(x),
где E(x) - код ошибки.
Многочлен F1(x) делится на образующий полином P(x). Если деление производится без остатка, то ошибок нет, в противном случае номер искаженного байта определяется путем анализа остатка. Без остатка делятся на образующий многочлен только те многочлены, которые принадлежат данному коду, т. е. образующий полином позволяет выбрать из множества кодовых комбинаций, только разрешенные. В циклических кодах остатки от деления многочленов являются опознавателями ошибок.
Пример 1. Закодировать сообщение G(x) = 1001 циклическим кодом, обеспечивающим обнаружение двукратных и исправление однократных ошибок. Показать процесс исправления ошибки в принятой комбинации.
Решение:
1. По заданому k = 4, для S = 1 определим длину кодовой комбинации -n и количество контрольных разрядов -m кода по формуле:
m = [log2 {(k+1)+ [log2(k+1)]}] = [log2 {(4+1)+ [log2(4+1)]}] = 3.
При этом n = k + m = 7, т. е. получим (7, 4) -код.
2. Строим информационный полином соответствующий информационному слову длиной k- бит
G(x) = x3+1=1001.
3. Осуществляем сдвиг кода влево на m = n - k = 3 разрядов, т. е. полином G(x) умножается на xm
G(x) xm = ( x3+1)x3 = x6+ x3 =1001000.
Выбирается образующий полином -P(x) по таблице неприводимых многочленов. Для исправления одиночной ошибки (d0 = 3) образующий полином должен быть степени m = n - k = 3, количеством ненулевых членов не менее d0 = 3 и входящих в разложение двучлена
x7 +1 = (x+1)(x3+ x2+1)(x3+ x+1).
Выбираем образующий полином P(x) = x3 +x +1.
5. Определим остаток R(x) от деления G(x)x m на образующий полином P(x)
x6+x3 x3+x+1 1001000 1011
x6+x4+x3 x3+x 1011 1010
x4 1000
x4+x2 +x 1011
x2 +x 110
Остаток R(x) = x2 +x = 110.
6. Строим передаваемый кодовый полином F(x)
F(x) = xm G(x) R(x) = x6+x3 +x2+x = 1 0 0 1 1 1 0.
7. Рассмотрим процедуру декодирования, обнаружения и исправления ошибки в принятой кодовой комбинации.
Предположим, ошибка произошла в четвертом разряде кодовой комбинации, при этом принятое сообщение имеет вид:
F1(x) = F(x)+E(x) = 1 0 0 0 1 1 0.
Разделим многочлен F1(x), соответствующий полученной кодовой комбинации на образующий полином, при этом вес остатка (количество единиц в коде остатка) должен быть меньше или равен количеству исправляемых ошибок W S .
F 1(x) = 1000110 1011
1011 1011
01111
1011
1000
1011
011 -> остаток W S.
Производим циклический сдвиг и повторяем деление, эту процедуру повторяем до тех пор, пока не выполнится условие W S.
1) 0001101 1011 2) 0011010 1011 3) 0110100 1011 4)1101000 1011
1011 1011 1011 1011
110 1100 1100 1100
1011 1011 1011
W S 111 1110 1110
1011 1011
W S 101 001
W S W = S
Суммируем остаток с последним делимым
1101000
001
1101001
Осуществляем обратный циклический сдвиг на 4 разряда полученной комбинации 1101001
1- 1110100
2- 0111010
3- 0011101
4- 1001110
Отбросив контрольные разряды, получаем переданное информационное слово.
Пример 2. Построить циклический код для передачи 4-х разрядного информационного слова с исправлением одиночной ошибки путем умножения образующего многочлена на многочлен полного 4-х разрядного кода.
Решение: Для передачи 4-х разрядного информационного слова с исправлением одиночной ошибки необходимо использовать (7,4) –код. При этом можно выбрать образующий полином P(x) = x3 +x +1=1011. Умножая образующий многочлен на многочлен полного 4-х разрядного кода, получим следующие кодовые комбинации:
1) 1011 2) 1011 3) 1011 4) 1011 5) 1011
0001 0010 0011 0100 0101
0001011 0010110 1011 0101100 1011
1011 1011
0011101 0100111
6) 1011 7) 1011 8) 1011 9) 1011 10) 1011
0110 0111 1000 1001 1010
10110 1011 1011000 1011 10110
1011 1011 1011 1011
0111010 1011 1010011 1001110
0110001
11) 1011 12) 1011 13) 1011 14) 1011 15) 1011
1011 1100 1101 1110 1111
1011 101100 1011 10110 1011
1011 1011 10110 1011 1011
1011 1110100 1011 1011 1011
1000101 1111111 1100010 1011
1101001
- Тема 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 Ключ
- Функция дискретного логарифма обратная