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

Лекция 21-22.

Линейные блоковые коды.

Линейные блочные коды

Линейные блочные коды — это класс кодов с контролем четности, которые можно описать парой чисел В процессе кодирования блок из символов сообщения (вектор сообщения) преобразуется в больший блок из п символов кодового слова (кодовый вектор), образованного с использованием элементов данного алфавита. Если алфавит состоит только из двух элементов (0 и 1), код является двоичным и включает двоичные разряды (биты).

k-битовые сообщения формируют набор из 2k последовательностей сообщения, называемых k-кортежами (последовательностями k цифр), k-битовые блоки могут формировать 2n последовательности, также именуемые -кортежами. Процедура кодирования сопоставляет с каждым из 2k -кортежей сообщения один из -кортежей. Блочные коды представляют взаимно однозначное соответствие, в силу чего 2k k-кортежей сообщения однозначно отображаются в множество из -кортежей кодовых слов; отображение производится согласно таблице соответствия. Для линейных кодов преобразование отображения является линейным.

Векторное пространство

Множество всех двоичных n-кортежей, , называется векторным пространством над двоичным полем двух элементов (0 и 1). В двоичном поле определены две операции, сложение и умножение, причем результат этих операций принадлежит этому же множеству двух элементов. Арифметические операции сложения и умножения определяются согласно обычным правилам для алгебраического поля. Например, в двоичном поле правила сложения и умножения будут следующими.

Сложение          Умножение

                 

Операция сложения, обозначаемая символом “ ”, — это та же операция сложения по модулю 2. Суммирование двоичных n-кортежей всегда производится путем сложения по модулю 2.

Векторные подпространства

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

1. Множеству S принадлежит нулевой вектор.

2. Сумма любых двух векторов в S также принадлежит S (свойство замкнутости).

При алгебраическом описании линейных блочных кодов данные свойства являются фундаментальными. Допустим, и — два кодовых слова (или кодовых вектора) в двоичном блочном коде (n, k). Код называется линейным тогда и только тогда, когда также является кодовым вектором. Линейный блочный код — это такой код, в котором вектор, не принадлежащий подпространству, нельзя получить путем сложения любых кодовых слов, принадлежащих этому подпространству.

Например, векторное пространство V4 состоит из следующих шестнадцати 4-кортежей.

0000      0001       0010           0011            0100           0101           0110           0111

1000      1001       1010           1011            1100           1101           1110           1111

Примером подмножества V4, являющегося подпространством, будет следующее.

 0000             0101            1010            1111

Легко проверить, что сложение любых двух векторов подпространства может дать в итоге лишь один из векторов подпространства. Множество из 2k n-кортежей называется линейным блочным кодом тогда и только тогда, когда оно является подпространством векторного пространству Vn всех n-коргежей. На рис. 6.10 показана простая геометрическая аналогия, представляющая структуру линейного блочного кода. Векторное пространство Vn можно представить как составленное из 2n n-кортежей. Внутри этого векторного пространства существует подмножество из 2k л-кортежей, образующих подпространство. Эти 2k вектора или точки показаны разбросанными среди более многочисленных 2n точек, представляющих допустимые или возможные кодовые слова. Сообщение кодируется одним из 2k возможных векторов кода, после чего передается. Вследствие наличия в канале шума приниматься может измененное кодовое слово (один из 2n векторов пространства n-кортежей). Если измененный вектор не слишком отличается (лежит на небольшом расстоянии) от действительного кодового слова, декодер может обнаружить сообщение правильно. Основная задача выбора конкретной части кода подобна цели выбора семейства модулирующих сигналов, и в контексте рис. 6.10 ее можно определить следующим образом.

Рис. 6.10. Структура линейного блочного кода

1. Наполняя пространство Vn максимальным количеством кодовых слов, мы боремся за эффективность кодирования. Это равносильно утверждению, что мы хотим ввести лишь небольшую избыточность (избыток полосы).

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

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