Способы задания линейных кодов
1. Перечислением кодовых слов, т.е. составлении списка всех кодовых слов кода.
Пример. В таблице 1 представлены все кодовые слова (5,3) - кода (ai - информационные, а bi - проверочные символы).
Таблица 1 | |||||
№ | a1 | a2 | a3 | b1 | b2 |
2. Системой проверочных уравнений, определяющих правила формирования проверочных символов по известным информационным:
где
j - номер проверочного символа;
i - номер информационного символа;
hij - коэффициенты, принимающие значения 0 или 1 в соответствии с правилами формирования конкретных групповых кодов.
Пример. Для кода (5,3) проверочные уравнения имеют вид:
b1= a2 + a3;
b2= a1 + a2.
3. Матричное, основанное на построении порождающей и проверочной матриц.
Векторное пространство Vn над GF(2) включает в себя 2n векторов (n-последовательностей), а подпространством его является множество из 2k кодовых слов длины n, которое однозначно определяется его базисом, состоящим из k линейно независимых векторов. Поэтому линейный (n,k) - код полностью определяется набором из k кодовых слов, принадлежащих этому коду. Набор из k кодовых слов, соответствующих базису, обычно представляется в виде матрицы, которая называется порождающей.
Пример. (5,3) - код, который был представлен в таблице 1, может быть задан матрицей
Остальные кодовые слова получаются сложением строк матриц в различных сочетаниях.
Общее количество различных вариантов порождающих матрицу определяется выражением
|
Для исключения неоднозначности в записи G(n,k) вводят понятие о канонической или систематической форме матрицы, которая имеет вид
где
Ik - единичная матрица, содержащая информационные символы;
Rk,r - прямоугольная матрица, составленная из проверочных символов.
Пример. Порождающая матрица в систематическом виде для (5,3) - кода
Порождающая матрица G(n,k) в систематическом виде может быть получена из любой другой матрицы посредством элементарных операций над строками (перестановкой двух произвольных строк, заменой произвольной строки на сумму ее самой и ряда других) и дальнейшей перестановкой столбцов.
Проверочная матрица в систематическом виде имеет вид
где Ir - единичная матрица; - прямоугольная матрица в транспонированном виде матрицы Rk,r из порождающей матрицы.
Пример. Проверочная матрица (5,3) - кода
Основные свойства линейных кодов
1. Произведение любого кодового слова на транспонированную проверочную матрицу дает нулевой вектор размерности (n-k)
Пример. для кода (5,3)
2. Произведение некоторого кодового слова , т.е. с ошибкой, на транспонированную проверочную матрицу называется синдромом и обозначается Si(x)
3. Между порождающей и проверочной матрицами в систематическом виде существует однозначное соответствие, а именно:
4. Кодовое расстояние d0 (n,k) - кода равно минимальному числу линейно зависимых столбцов проверочной матрицы
Пример.
для кода (5,3):
для кода (5,2):
5. Произведение информационного слова на порождающую матрицу дает кодовое слово кода
|
Пример. для кода (5,3)
6. Два кода называются эквивалентными, если их порождающие матрицы отличаются перестановкой координат, т.е. порождающие матрицы получаются одна за другой перестановкой столбцов и элементарных операций над строками.
7. Кодовое расстояние любого линейного (n,k) - кода удовлетворяет неравенству (граница Сингтона). Линейный (n,k) - код, удовлетворяющий равенству , называется кодом с максимальным расстоянием.