Практическое занятие № 6
Циклические коды.
Задача 1. Требуется закодировать сообщение 1001. Дано: порождающий полином g(x) = х3 + х2 + 1, общее число разрядов n = 7, число информационных разрядов m =4, число избыточных разрядов k = 3.
Решение:
1. Для кодирования сообщения 1001 определим, какому многочлену оно соответствует: G(x) = 1x3 + 0x2 + 0x1 + 1x0 = x3 + 1.
2. Разделим полином G(x)xk на порождающий g(x) для определения остатка R(x):
G(x)xk = G(x)x3 = (x3 + 1)x3 = x6 + x3
|
х 6+х3 |
х 3+х2+1 |
|
|
||||||||
|
х 6+х 5+ х 3 |
|
|
|
|
|||||||
|
х5 |
|
|
|
||||||||
|
х5+ х4+ х2 |
|
|
|
||||||||
|
х4+х2 |
|
|
|
||||||||
|
х4+ х3+ х |
|
|
|
||||||||
|
х3+х2+ х |
|
|
|
||||||||
|
х3+ х2+ 1 |
|
|
|
||||||||
|
х+1 |
|
остаток |
R(x)=x+1 |
||||||||
3. Суммируем произведение G(x)x3 с полученным остатком x+1 получим кодовый многочлен F(x)
F(x) = G(x) x3 + R(x) = x6+х4+х3 + х+1
В двоичном коде этому многочлену соответствует кодовая комбинация (а6 = 1, а5 = 0, а4 = 0, а3 = 1, а2 = 0, а1 = 1, а0 = 1) - 1001011. В этой кодовой комбинации последние три позиции занимают проверочные разряды (выделены).
Задача 2.
Дано: порождающий полином g(x) = х3 + х2 + 1, общее число разрядов n = 7, число информационных разрядов m =4, число избыточных разрядов k = 3. Принято сообщение 1000011. Проверить наличие ошибки.
Решение:
Этой комбинации соответствует многочлен х6+х+1. Деление на g(x) дает:
|
х 6+х+1 |
х 3+х2+1 |
|
|
||||||||||||
|
х 6+х 5+ х 3 |
|
|
|
|
|||||||||||
|
х5+ х 3+1 |
|
|
|
||||||||||||
|
х5+ х4+ х2 |
|
|
|
||||||||||||
|
х4+ х 3+х2+1 |
|
|
|
||||||||||||
|
х4+ х3+ х |
|
|
|
||||||||||||
|
х2+ х+1 |
|
остаток |
R(x) |
||||||||||||
Ошибка обнаружена.
Задача 3
Задан порождающий
полином
для (7,4)-кода. Построить образующую
матрицу циклического кода. Закодировать
сообщение 1001.
Матрица
для (7,4)-кода на основе строится в следующей
последовательности
.
.
Определяется
,
используя
при
.
Определим остаток
от деления
на образующий полином
.
|
х 6 |
х 3+ х+1 |
|
|
|||||||
|
х 6+ х 4+ х 3 |
|
|
|
|
||||||
|
х4+ х 3 |
|
|
|
|||||||
|
х4+ х2+ х |
|
|
|
|||||||
|
х3 +х2+х |
|
|
|
|||||||
|
х3 +х+1 |
|
|
|
|||||||
|
х2+ 1 |
- остаток |
|
|
|||||||
при
.
Определим остаток
от деления
на образующий полином
.
|
х 5 |
х 3+ х+1 |
|
|
|||||||
|
х 5+ х 3+ х 2 |
|
|
|
|
||||||
|
х3+ х 2 |
|
|
|
|||||||
|
х3+ х+ 1 |
|
|
|
|||||||
|
х2+ х+1 |
- остаток |
|
|
|||||||
при
.
Определим остаток
от деления
на образующий полином
.
|
х 4 |
х 3+ х2+1 |
|
|
|||||
|
х 4+ х 2+ х |
|
|
|
|
||||
|
х2+х |
- остаток |
|
|
|||||
при
.
|
х 3 |
х 3+х +1 |
|
|
|||||
|
х 3+ х + 1 |
|
|
|
|
||||
|
x+ 1 |
- остаток |
|
|
|||||
В результате получаем
.
Процесс
кодирования с помощью такой матрицы
производится следующим образом. Пусть
требуется закодировать информационные
разряды
1 0 0 1= x3 +1.
Суммируются соответствующие строки 1-ю и 4-ю
Пример 4
Задан порождающий
полином
для (7,4)-кода. Принято сообщение
1
0 1 1 1 1 0. Исправить ошибку с помощью
матрицы ошибок.
Решение.
Матрица одиночных ошибок
где
-
единичная матрица;
- прямоугольная проверочная матрица.
Строки матрицы определяются из выражений
- остаток от деления
на образующий полином
,