Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Itog.docx
Скачиваний:
12
Добавлен:
03.09.2019
Размер:
745.71 Кб
Скачать

17) Общие сведения о линейных кодах.

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

Если передаваемые сообщения представляют собой k-разрядные двоичные числа, то групповой код всегда может быть построен таким образом, что эти сообщения будут являться первыми k символами кода. Код, построенный таким образом, обозначается (n; k); иногда код обозначается как (n; k; d). Первое число в скобках показывает общее число символов в коде (длину кода), второе – число информационных символов, третье – кодовое расстояние кода. Оставшиеся r=n-k символов называются проверочными. В групповых кодах проверочные символы образуются путем суммирования по модулю два символов, стоящих на определенных позициях кодового слова. Поскольку операция суммирования по модулю два является линейной, то коды, образованные таким образом, называются линейными.

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

18) Описание линейных блоковых кодов при помощи матриц: формирование проверочной матрицы и порождающей матрицы.

Линейные коды задаются с помощью порождающей G и проверочной H матриц. Эти матрицы связаны основным уравнением кодирования:

G*HT=0

Наиболее удобным и наглядным способом описания линейных блочных кодов

является их задание с использованием порождающей матрицы, являющейся компактной

формой представления системы проверочных уравнений:

1 0 0 … 0 | P00 P01 . . . . P0, n- k- 1

G = 0 1 0 … 0 | P10 P11 . . . . P1, n- k- 1

……… | ……………… .

0 0 0 … 1 | Pk- 1, 0 Pk- 1, 1 . . . . Pk- 1, n- k- 1

единичная матрица | k*k матрица Р k*(n- k)

Линейный блочный систематический (n,k)-код полностью определяется матрицей

G размером k*n с двоичными матричными элементами. При этом каждое кодовое слово

является линейной комбинацией строк матрицы G, а каждая линейная комбинация строк

G - кодовым словом.

Матрицу G можно привести к так называемому приведенно-ступенчатому виду:

G= [Ik;G*] = [Ik;H*T] |k

----n-------

где Ik – единичная подматрица размерностью k.

Пусть m = (m0 , m1 ,. . . , mk -1) будет тем блоком-сообщением, который необходимо

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

Тогда соответствующим ему кодовым словом U будет U = m*G .

С учетом структуры матрицы G символы кодового слова U будут такими:

для i = 0, 1, 2,. . . , k- 1

Ui = mi ;

для i = k, k+1,. . . , n

Ui = m0⋅ P0j + m1⋅ P1j + m2⋅ P2j +…+ mk- 1⋅ Pk- 1, j .

Иными словами, k крайних левых символов кодового слова совпадает с символами

кодируемой информационной последовательности, а остальные (n-к=r) символов

являются линейными комбинациями символов информационной последовательности.

Определенный таким образом код называется линейным блочным систематическим (n,k)-кодом с обобщенными проверками на четность, а задающая его матрица G называется порождающей матрицей кода.

При умножении Ak на G* в приведенно-ступенчатом виде на первых k позициях будет расположен без изменения информационный вектор Ak, так как при умножении какого-либо вектора на единичную матрицу этот вектор не изменяется. i-я проверочная позиция находится из информационных по i-му столбцу подматрицы G* или в вычислении i-го проверочного символа участвуют те информационные символы, которым соответствуют единицы в i-й строке матрицы H.

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

- если некоторая последовательность U является кодовым словом, то U*HT = 0.

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

Проверочная матрица имеет размерность (n-k)*n и следующую структуру :

| P00 P10 … Pk-1, 0 | 1 0 0 … 0

| P01 P11 … Pk-1, 1 | 0 1 0 … 0

H = |P22 P12 … Pk-1, 2 | 0 0 1 … 0

| … … … … | … … … … …

| P0, n-k-1 P1, n-k-1 … Pk-1, n-k-1 | 0 0 0 … 1

P T | I1 (n-k)*(n-k)

где PT - транспонированная подматрица P из порождающей матрицы G ;

I1(n-k)*(n-k) - единичная матрица соответствующего размера.

Исходя из основного уравнения кодирования, проверочная матрица имеет вид

H=[H*;Ir]=[G*T;Ir] |r

-------n------

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