Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТИК_Лекция 9_16-20.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.27 Mб
Скачать

Лекция 18. Кодирование информации систематическим кодом.

План:

  1. Систематические коды

  2. Код Хемминга

18.1. Систематические коды

Как уже отмечалось, в настоящее время наиболее широкий класс корректирующих кодов составляют систематические коды. Эти коды относятся к группе разделимых блочных кодов, в которых из n символов, образующих кодовую комбинацию, k символов являются информационными, а остальные n-k- избыточными, предназначенными для проверки. Проверочные символы во всех комбинациях занимают одни и те же позиции.

Все разрешенные кодовые комбинации систематического (n, k) - кода можно получить, располагая k исходными разрешенными кодовыми комбинациями. Исходные кодовые комбинации должны удовлетворять следующим условиям:

  1. В число исходных комбинаций не должна входить нулевая.

  2. Кодовое расстояние между любыми парами исходных комбинаций не должно быть меньше dmin.

  3. Каждая исходная комбинация, как и любая ненулевая разрешенная комбинация, должна содержать количество единиц не менее dmin.

  4. Все исходные комбинации должны быть линейно независимы, т.е. ни одна из них не может быть получена путем суммирования других.

Исходные комбинации могут быть получены с помощью производящей матрицы. Производящая матрица содержит k строк и n столбцов. Она позволяет получить все возможные комбинации кода путем суммирования по модулю два (mod2) всех возможных сочетаний строк.

По производящей матрице строится проверочная матрица, которая служит для создания алгоритмов кодирования и декодирования, а следовательно, кодирующего и декодирующего устройства.

Производящую матрицу образуют путем приписывания справа к единичной квадратной матрице J размера k (информационной матрице) дополнительной матрицы D, содержащей n-k столбцов и k строк, например:

Требования к дополнительной матрице:

1. Количество единиц в строке должно быть не менее d –1 (одна 1 содержится в строке единичной матрицы).

2. Сумма по mod2 двух любых строк должна содержать не менее d –2 единиц(2 единицы содержатся в сумме по mod2 двух строк единичной матрицы).

Проверочные символы образуются за счет линейных операций над информационными символами. Удобно проверочные уравнения составлять с помощью проверочной матрицы Н, которая строится следующим образом:

1. Строится подматрица, являющаяся транспонированной по отношению к дополнительной матрице:

  1. Справа к ней приписывается единичная квадратная матрица размера n-k:

Единицы в каждой строке проверочной матрицы соответствуют символам кода ( ), сумма которых по mod2 должна быть равна 0.

Рассмотрим пример построения кода, исправляющего одиночные ошибки t=1 и имеющего n =7. Определяем кодовое расстояние d=2t+1=3. Полное число одиночных ошибок равно 7, т.е. Е1 = n. Число проверочных символов  вычислим по формуле:

n-k .

Откуда следует и соответственно, число информационных символов k=4.

Строим производящую матрицу, содержащую k - строк, n-k - столбцов. Вид производящей матрицы зависит от вида дополнительной матрицы D.

и т.д.

Возьмем, например, дополнительную матрицу D , тогда производящая матрица А7,4 будет иметь следующий вид:

Определяя суммы по mod2 всех возможных сочетаний строк производящей матрицы, получим 2k-1 ненулевых комбинаций систематического кода, используемых для передачи кодированных информационных сообщений:

1 2=1100110

1 3=1010101

……………….

1 2 3 4=1111111.

Всего имеем таким образом 15 комбинаций.

По производящей матрице строим проверочную матрицу:

Строки дополнительной матрицы являются столбцами транспонированной матрицы .

Из Н получаем следующие уравнения проверки для 1, 2 и 3-ей строк:

r1=a2 a3 a4 a5=0,

r2= a1 a3 a4 a6=0,

r3= a1 a2 a4 a7=0.

Анализ этих уравнений показывает, что:

элемент а1 входит в уравнение 2 и 3;

элемент а2 входит в уравнение 1 и 3;

элемент а3 входит в уравнение 1 и 2;

элемент а4 входит в уравнение 1, 2, 3

и т.д.

Следовательно, искажение одного из элементов аi нарушает вполне определенные уравнения, по которым можно определить и восстановить искаженный элемент.

Составим таблицу 1 восстановления искаженных символов.

Таблица 1

Соответствие номеров искаженных символов уравнениям проверок

Уравнения

проверок

№ искаженного элемента

a1

a2

a3

a4

a5

a6

a7

r1

0

1

1

1

1

0

0

r2

1

0

1

1

0

1

0

r3

1

1

0

1

0

0

1

Если ri = 0, то уравнение не нарушено и искаженных символов нет, если ri = 1, уравнение нарушено и имеется искаженный символ.

Значения проверочных символов получаем из уравнений проверок для строк:

из r1 получим a5=a2 a3 a4,

из r2 получим a6=a1 a3 a4,

из r3 получим a7=a1 a2 a4.

Пусть источник выдает сообщение в виде кода 1011, которому соответствуют символы (а1а4), кодирующее устройство добавляет символы a5 =0, a6 =1 и a7=0. В результате формируется кодовая комбинация 1011010 (а1а7), которая передается по каналу. Если на приемной стороне получили искаженную комбинацию 1010010, то решение уравнений проверок:

r1= a2 a3 a4 a5=1

r2= a1 a3 a4 a6=1

r3= a1 a2 a4 a7=1

покажет, что исказился элемент а4, т.к. он входит во все уравнения проверок.

Кодовая комбинация вида Rj=r1,r2,…,rn-k называется контрольной последовательностью, опознавателем или синдромом ошибки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]