Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция-СДЭ.docx
Скачиваний:
82
Добавлен:
24.12.2018
Размер:
281.32 Кб
Скачать

Классификация помехоустойчивых кодов

ИЗБЫТОЧНЫЕ КОДЫ

БЛОЧНЫЕ

НЕПРЕРЫВНЫЕ

(СВЕРТОЧНЫЕ)

РАЗДЕЛИМЫЕ

ЛИНЕЙНЫЕ

НЕЛИНЕЙНЫЕ

ИТЕРАТИВНЫЕ

ЦИКЛИЧЕСКИЕ

ХЭММИНГА

НЕРАЗДЕЛИМЫЕ

С постоянным весом

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

В непрерывных (древовидных) кодах передаваемая последовательность образуется без предварительного разбиения информационной последовательности на независимые блоки. Процессы кодирования и декодирования являются непрерывными. Проверочные символы размещаются между информационными по определенному алгоритму. Часто последовательность на выходе кодера вообще нельзя разделить на информационные и проверочные символы. При этом каждый информационный символ влияет на формирование нескольких десятков символов выходной последовательности.

Блочные коды делятся на разделимые и неразделимые в зависимости от метода введения избыточности. В разделимых кодах информационные элементы обычно размещаются в начале слова. Проверочные элементы вычисляются по определенным правилам и размещаются обычно в конце кодового слова. В неразделимых кодах символы кодовых слов не делят на информационные и проверочные. К таким кодам относятся коды с постоянным соотношением нулей и единиц в кодовых словах. Например, при связи по коротковолновым радиоканалам используется 7-ми элементный равновесный код. Из общего числа N0=27=128 кодовых слов используется только N=35 слов равного веса , каждое из которых содержит 4 нуля и 3 единицы. Из этих слов составлен международный алфавит МА№3.

Разделимые двоичные коды делятся в свою очередь на линейные и нелинейные.

Линейными кодами называются коды, в которых сумма по модулю 2 двух или более разрешенных кодовых слов дает другое разрешенное кодовое слово.

Нелинейные коды этим свойством не обладают. К ним относятся итеративные коды. Итеративные коды – это коды с контрольным суммированием, причем каждое кодовое слово участвует в нескольких системах проверок.

Среди линейных кодов большую группу составляют циклические коды. Их отличительное свойство состоит в том, что циклическая перестановка символов кодового слова приводит к получению другого разрешенного кодового слова.

Лекция 7

Линейные коды

Блочным линейным кодом называется (n,k) код, проверочные символы которого являются линейными комбинациями информационных символов. Здесь:

n – длина кода, то есть длина кодовых слов

k – число информационных символов

Обозначим U – последовательность из k информационных символов.

U=(u1, u2,…….uk)

Обозначим V – кодовое слово линейного кода длиной n символов.

V=(v1, v2,……….vn)

Кодовое слово V формируется из последовательности U по следующему правилу:

Коэффициенты l,i представляют собой фиксированные двоичные символы, не зависящие от u .При выборе разных совокупностей l,i получаются различные линейные коды.

Отношение R=k/n называется скоростью кода, а величина W=1-R – называется избыточностью кода.

Линейный код может быть задан в виде таблицы кодовых слов или при помощи указания коэффициентов l,i . Второй способ более экономичен.

При задании линейного кода с помощью набора коэффициентов l,i записывается образующая матрица G . Матрица G имеет размер kxn . Первые k столбцов представляют собой единичную матрицу kxk , следующие n-k столбцов представляют совокупность коэффициентов l,i (матрица проверочных элементов).

Это запись образующей матрицы в канонической форме.

В строке матрицы проверочных элементов должно быть не менее чем (dmin-1) единиц, а расстояние Хэмминга между строками не менее (dmin-2), где dmin - кодовое расстояние.

При заданной информационной последовательности и образующей матрице кодовое слово V получают следующим образом

Vi=Ui при 1<=i<=k

и

Vi=U1*1,i  U2*2,i  ….  Uk*k,i при k+1<=i<=n

Пример

Пусть разделимый линейный код (5,3) задан при помощи образующей матрицы G

Запишем в виде формул процедуру нахождения символов кодового слова, если задана некоторая информационная последовательность U=(u1,u2,u3). Кодовое слово будет содержать 5 символов V=(v1,v2,v3,v4,v5).

Если в информационной последовательности имеется только один символ 1 на j – ой позиции, а на остальных позициях находятся нули U=(000….1j….0), то соответствующее кодовое слово V будет представлять собой j – ю строку матрицы G. Обозначим j – ю строку матрицы G, как gj. Произвольное кодовое слово можно представить в виде суммы по модулю 2 строк образующей матрицы с номерами j ,значения которых совпадают с номерами ненулевых разрядов в информационной последовательности.

Вернемся к примеру, приведенному выше. Пусть U=(101), тогда V=(10111), кодовое слово получилось как сумма по модулю 2 первой и третьей строк образующей матрицы.

Свойства линейных кодов

  1. Любые К линейно-независимых кодовых слов задают все множество 2к слов линейного кода и могут составить его образующую матрицу. Произвольная образующая матрица может быть приведена к каноническому виду суммированием строк по mod2.

Кодовые слова Vj являются линейно-независимыми, если сумма по модулю 2 вида

только когда все коэффициенты j равны 0.

  1. Сумма по модулю 2 любого числа кодовых слов также является словом данного линейного кода.

  2. Нулевая последовательность всегда является кодовым словом.

  3. Кодовое расстояние dmin равно минимальному весу ненулевого кодового слова.

  4. Из любого линейного (n,k) кода с кодовым расстоянием dmin можно получить код (n-i, k-i) с кодовым расстоянием не меньше dmin . Для этого из образующей матрицы G исходного кода вычеркивают любые i строк и i, ставших нулевыми столбцов. Например, задан код (5,3) с образующей матрицей G, кодовое расстояние которого равно dmin=2.

Получим укороченный код (4,2), вычеркнув первую строку и первый столбец, ставший нулевым, в матрице G. Образующая матрица укороченного кода G' имеет вид

Кодовое расстояние укороченного кода dmin=2.

Задача 1

Образующая матрица линейного кода имеет вид

Какие из приведенных последовательностей являются кодовыми словами данного кода?

  1. 1000

  2. 100011

  3. 10101

  4. 11011

  5. 00000

Задача 2

Какие из приведенных матриц являются образующими матрицами линейного кода (5,3)?

Лекция 8