- •«Теория кодирования»
- •Первичные коды и эффективное кодирование
- •Префиксные коды
- •Примерами префиксных кодов являются коды Шеннона-Фано и Хаффмана. Код Шеннона-Фано
- •Код Хаффмана
- •Кодирование факсимильных изображений. Коды кдс-1, кдс-2, кдс-3
- •Основные параметры помехоустойчивых кодов
- •Классификация помехоустойчивых кодов
- •Коды: общие сведения, основные свойства
- •Линейные блоковые коды
- •Условия и свойства формирования разрешенных кодовых последовательностей лбк
- •Задание линейных кодов с помощью порождающих и проверочных матриц
- •Кодирование информации линейным блоковым кодом
- •Синдромное декодирование
- •Мажоритарное декодирование
- •Циклические коды: общие сведения, определение
- •Свойства циклических кодов
- •Способ построения кодовых последовательностей с использованием порождающей матрицы
- •Назначение и способы построения проверочной матрицы циклического кода
- •Способ формирования кодовых последовательностей циклического кода с использованием образующего полинома
- •Многотактные фильтры
- •Кодирование информации циклическими кодами
- •Декодирование информации циклическими кодами
- •Синдромный метод декодирования цк
- •I Табличное синдромное декодирование
- •II Схемное синдромное декодирование
- •Многомерные коды: определение, классификация
- •Матричные коды: определение, принцип построения, свойства, параметры, достоинства и недостатки
- •Итеративные коды: определение, принцип построения, основные характеристики
- •Каскадные коды: определение, принцип построения, основные характеристики
- •Сверточные коды: определение, параметры, классификация
- •Задание систематических сверточных кодов
- •I. Задание систематических ск с помощью порождающей матрицы g(х)
- •II. Задание систематических ск с помощью проверочной матрицы h(х)
- •III. Задание систематических ск с помощью разностных треугольников
- •Кодирование информации сверточными кодами
- •Структурная схема кодера
- •Жесткое пороговое декодирование сск
- •Мягкое пороговое декодирование сск
- •Многопороговое декодирование сск
- •Структурная схема декодера
- •Список литературы
Способ построения кодовых последовательностей с использованием порождающей матрицы
Кодовая
последовательность ЦК при заданной
порождающей
матрице Gk,n(x)
и
заданном информационном блоке
Q(x)
формируется
по правилу
,
т. е.произведения
вектора-строки Q(x),
содержащего
k
информационных
двоичных символов, на порождающую
матрицу
G(x)
размером
k×n.
При
этом, если используется каноническая
(приведенно-ступенчатая) G(x),
то
будут формироваться
кодовые последовательности систематического
разделимого
ЦК. Порождающая матрица G(x)
строится
довольно
просто, если задан образующий полином
Р(х)
и
длина кодовой
последовательности п.
Пример:
Сформировать
кодовую последовательность ЦК
с параметрами
,
если
,Q(x)=x+1.
Переводим
Р(х)
из
записи в форме полинома в двоичную
форму записи, т.е.
Далее
формируем
первую строку порождающей матрицы
G5,10(х)
следующим
образом:
двоичную последовательность 110101
дополняем справа четырьмя
нулями; в результате получаем разрешенную
кодовую последовательность
вида 1101010000 длиной n=10
двоичных символов.
Следующий шаг - выполнение (k-1)=(5-l)=4
циклических сдвига
двоичных символов первой строки G(x).
В результате получаем следующую порождающую матрицу

F(x)=Q(x)*P(x)=(x+1)(x5+x4+x2+1)=x6+x5+x3+x+x5+x4+x2+1=x6+x4+x3+x2+x+1 (0001011111)
или

1101010000
0110101000
F(x)=Q(x)*G5,10(x)=00011* 0011010100 = 0001011111
0001101010
0000110101
Пример:
Рассмотрим
способ формирования кодовых
последовательностей
ЦК с использованием единичной матрицы
и
остатков от деления![]()
Для рассмотрения сущности формирования кодовых последовательностей ЦК используем данные предыдущего примера.
Так как k = 5, то используем следующие единичные векторы:
![]()
Записываем Q1(x)...Q5(x) в виде единичной подматрицы размером (5x5).

Далее
определяем проверочные символы: каждой
строки по следующей
методике: делим
и
берем остатки от деления для первой
строки – от первого такта деления, т.е.
R1(x),
для
второй строки – после двух
тактов деления, т. е. R2(x)
и
т. д. Полученные символы дописываем к
соответствующим строкам единичной
подматрицы:


10000
10101
01000 11111
F(x)=Q(x)*G5,10(x)=00011* 00100 01011 = 0001110000
00010 00011
00001 10011
Назначение и способы построения проверочной матрицы циклического кода
Проверочные матрицы Hl,n(x) ЦК могут использоваться для выбора как способов кодирования информации, так и алгоритмов декодирования. Проверочные матрицы ЦК могут быть построены с использованием порождающей матрицы Gk,n(x), единичной матрицы проверок и проверочного полинома h(x).
Сущность способа построения проверочной матрицы Нl,n(x) c использованием канонической порождающей матрицы Gk,n(x) состоит в следующем.
Пусть задана следующая каноническая порождающая матрица ЦК с параметрами (n,k,do)=(7,4,3) вида:

1000 101
G4,7(x) = 0100 111
0010 110
0001 011
Первый столбец проверочной матрицы Н3,7(х) для данного кода записываем, используя проверочные символы первой строки G4,7(x), а второй, третий и четвертый столбцы H3,7(x) формируем путем записи проверочных символов второй, третьей и четвертой строк G4,7(x) и далее записываем три столбца единичной подматрицы. В результате получаем следующую проверочную матрицу:


а1а2а3а4
b1b2b3
1110 100
H3,7(x) = 0111 010
1101 001
Ненулевые символы строк проверочной матрицы определяют позиции информационных символов, участвующие в формировании проверочных уравнений. Так для построенной проверочной матрицы H3,7(x) можно сформировать следующие три проверочных уравнения: b1=а1a2a3,b2=а2a3a4,b3=а1a2a4.
Принцип построения проверочной матрицы с использованием единичной подматрицы и остатков от деления аналогичен принципу построения порождающей матрицы. Количество остатков от деления хп+1 на Р(х) должно быть равно количеству строк единичной подматрицы.
Сущность
принципа построения проверочной матрицы
ЦК
с
использованием проверочного полинома
h(x)
состоит
в следующем.
Первоначально определяем проверочный
полином как
отношение хп+1
на
Р(х),
т.е.
Полученный
полином переводим в двоичную форму
записи, записываем
в виде первой строки проверочной матрицы
Нl,k(х)
идополняем
нулями до количества столбцов, равное
п.
Далее
выполняем
(l-1)
циклический
сдвиг двоичных символов первой
строки.
Пример:
Построить
проверочную матрицу ЦК с параметрами![]()
Решение:
1) определяем проверочный полином
![]()
2) переводим h(x) в двоичную форму записи h(x) – 11101;
3) записываем 11101 в виде первой строки Н3,7(х) и дополняем справа двумя нулевыми символами до n=7;
4) выполняя (l-1)=(3-1)=2 циклических сдвига двоичных символов первой строки Н3,7(х) строим проверочную матрицу Н3.7(х) следующего вида:

Проверочные уравнения: b1=а1a2a3,
b2=а2a3a4,
b3= а3a4b1= а3a4 а1a2a3= а1a2a4.
