Систематические линейные блочные коды (слбк) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Систематические линейные блочные коды (слбк)



Основные понятия

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

Они задаются с помощью порождающей и проверочной матриц, которые связаны основным уравнением кодирования:

,

где - транспонированная проверочная матрица (строки переписаны в столбцы );

- нулевая матрица.

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

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

Если две порождающие матрицы различаются только порядком расположения столбцов, то определяемые ими коды называются эквивалентными. Они имеют одинаковые кодовые расстояния и, следовательно, одинаковые способности обнаруживать и исправлять ошибки.

Пример 3.1:

Код Рида-Маллера (8, 4) задается следующей порождающей матрицей:

.

 

Матрица содержит строк и столбцов. Единицы в каждой строке этой матрицы показывают, какие символы кодовой комбинации нужно сложить по модулю два, чтобы получить нуль. Используется для проверки правильности приема.

Чаще всего применяют систематические линейные коды. Такие коды задаются матрицами в систематической (приведено-ступенчатой или канонической) форме:

,

где , - единичные подматрицы размерностью и соответственно;

- прямоугольная подматрица размерностью ;

- прямоугольная подматрица размерностью .

Пример 3.2:

Систематический код Рида-Маллера (8, 4) задается порождающей матрицей:

.

Найдем проверочную матрицу:

.

Кодирование информации

1) С помощью матрицы : операция кодирования заключается в умножении информационного вектора на порождающую матрицу , т.е.

,

где - кодовый вектор.

Пример 3.3:

Рассмотрим кодирование информационного слова кодом Рида-Маллера (8, 4):

=(11000011).

2) С помощью матрицы : в СЛБК информационные символы слова входят без изменения в кодовое слово и занимают в нем первые позиций, к ним добавляются проверочных символов, правила формирования которых задает проверочная матрица.

Единицы в -ой строке подматрицы указывают, какие информационные символы необходимо просуммировать по модулю два, чтобы получить -ый проверочный.

Пример 3.4:

Из матрицы систематического кода Рида-Маллера запишем правила формирования проверочных символов:

,

,

,

.

Тогда для .

Код с четным числом единиц

Это простейший систематический код с параметрами . Он строится добавлением к комбинации из информационных символов одного проверочного, равного сумме всех информационных символов по модулю два. При этом каждая кодовая комбинация содержит четное число единиц. Если в принятой кодовой комбинации окажется нечетное число единиц, то делается вывод о наличии в ней ошибок.

Порождающая и проверочная матрицы такого кода:

,

.

Уравнение кодирования: .

Этот код имеет и позволяет обнаруживать любое нечетное число ошибок.

Коды хэмминга

Это линейные блочные коды с параметрами , где - положительное целое число, - число проверочных символов. Для задания кодов Хэмминга обычно используется проверочная матрица. Ее столбцами являются все ненулевые двоичные числа длиной .

Они обладают кодовым расстоянием и способны исправлять только одну или обнаруживать две ошибки.

Примеры полных кодов Хэмминга: (7, 4), (15, 11), (31, 26), (63, 57).

Пример 3.5:

Рассмотрим код Хэмминга (7, 4). Проверочная матрица:

Порождающая матрица:

.

Модификациями кодов Хэмминга являются укороченные и удлиненные коды Хэмминга.

Чтобы получить проверочную матрицу укороченного кода Хэмминга, необходимо в проверочной матрице полного кода исключить любые Т столбцов, относящиеся к информационным разрядам, где Т - параметр укорочения.

Удлиненные коды Хэмминга получаются путем введения дополнительной проверки на четность всех символов кодового слова.

Коды Хэмминга обладают очень слабой корректирующей способностью и отдельно практически не используются. Очень хорошие результаты позволяет получить применение данных кодов в составе каскадных схем кодирования. Каскадные коды состоят из двух или более кодов: кодовые слова одного кода являются информационными символами для кода следующей ступени.

ЦИКЛИЧЕСКИЕ КОДЫ

Основные понятия

Поиск более простых процедур кодирования и декодирования привел к появлению циклических кодов.

Циклические коды – линейные блочные коды, обладающие свойством цикличности: если - кодовое слово циклического кода, то его циклическая перестановка также является кодовым словом.

Пример 4.1:

.

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

Все преобразования кодовых слов циклических кодов производятся в виде математических операций над полиномами (многочленами). Для этого кодовые слова представляются в форме полиномов:

,

где - коэффициенты полинома;

- символическая переменная.

Пример 4.2:

.

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

Циклические коды задаются с помощью порождающего (образующего) и проверочного полиномов.

Любой полином степени , который делит без остатка полином вида , называется порождающим полиномом:

,

где - коэффициенты полинома.

Полиномы всех кодовых слов делятся без остатка на порождающий полином.

Порождающая матрица строится на основе полинома .

Для несистематического циклического кода:

.

Для систематического циклического кода:

,

где - прямоугольная подматрица , строками которой являются коэффициенты полинома остатка от деления на полином , где - номер строки.

Пример 4.3:

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

Для несистематического кода:

.

Для систематического кода:

.

Результат деления полинома вида на порождающий полином называется проверочным полиномом:

,

где - коэффициенты полинома.

При отсутствии ошибок в принятом кодовом слове остаток от деления произведения на полином вида равен нулю:

.

Проверочная матрица строится на основе полинома .

Для несистематического циклического кода:

Для систематического циклического кода:

.

ДОМАШНЕЕ ЗАДАНИЕ:

2. Найти полином для задачи из примера 4.3. Записать матрицу .

 

Кодирование информации

Существует два способа кодирования:

- несистематическое кодирование:

,

где - полином информационного слова,

- полином кодового слова;

- систематическое кодирование:

,

где - остаток от деления произведения на полином .

Пример 4.3:

Закодировать слово циклическим кодом из примера 4.3.

Несистематическое кодирование:

.

Систематическое кодирование:

1) ;

2) ;

3) .

Кодирующие устройства

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

Правила построения схем умножения и деления:

- число ячеек памяти равно старшей степени полинома . Ячейка для старшей степени отсутствует;

- число сумматоров на единицу меньше веса полинома : при умножении отбрасывается сумматор для младшей степени; при делении – для старшей. Сумматоры устанавливают перед ячейками памяти для соответствующих степеней;

- при умножении множимое подается одновременно на вход и на все сумматоры, при делении делимое подается только на первый сумматор, а частное на выход и на все сумматоры. Множимое и делимое поступает на вход, начиная со старшего разряда.

Рисунок 4.1 – Кодер несистематического циклического кода.

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

 
Рисунок 4.2 – Кодер систематического циклического кода.

Кодер реализует алгоритм . Вначале ключ находится в положении 1, а ключ замкнут. Информационные символы, подаваемые на вход, через ключ поступают на выход, а через ключ - в кодирующее устройство, где через тактов образуется проверочных символов, представляющих собой остаток от деления произведения на полином . Затем ключ переводится в положение 2, а ключ размыкается. Регистр делает тактов, выдавая проверочные символы на выход.

Пример 4.4:

1 Построить схему кодера циклического кода из примера 4.3.

Рисунок 4.3 – Кодер несистематического кода.

2 Схему кодера систематического кода построить самостоятельно.

 

ДОМАШНЕЕ ЗАДАНИЕ:

1. [3.1.2] с.315…318;

[3.1.3] с.200…204;

[3.1.5] с.149…150;

[3.1.14] с.263…270, 282…286.



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 1340; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.171.12 (0.053 с.)