Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КонспЛекций.doc
Скачиваний:
58
Добавлен:
23.08.2019
Размер:
4.22 Mб
Скачать

Матричное представление циклических кодов

Циклический код может быть задан порождающей матрицей.

Для формирования строк порождаю­щей матрицы разделимого циклического кода берут не произволь­ные информационные комбинации кода Q(x), а только те из них, которые содержат единицу в одном разряде. Эти комбинации умножают на хr и находят остаток от деления Qi(xxr на P(x). Обозначим полученный остаток Ri(x). Тогда i-строку порождающей матрицы записывают в виде Qi(xxr Ri(x).

Матрица, со­стоящая из этих строк, может быть представлена как две подматрицы:

где ETk - единичная транспонированная подматрица, содержащая Qi(х) комбинаций информационного кода;

Cr,k - подматрица размером (kr), строки которой образованы остатками от деления Ri(x).

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

Пример

Требуется записать порождающую матрицу циклического кода (7;4), если образующий полином кода имеет вид Р(х)=х3+х+1 или в двоичном коде Р(0,1) = 1011.

По условию n=7; k=4; r=n-k=3. Следовательно, информационная часть кодовой комбинации содержит 4 элемента.

Для формирования строк порождаю­щей матрицы разделимого циклического кода составим информационные комбинации Q(x) состоящие из 4 элементов и содержащие единицу только в одном разряде. Очевидно, таких комбинаций четыре:

Найдем 1-ю строку производящей матрицы. Для этого определим остаток от деления Q1(xxr на P(x):

Будем выполнять все вычисления над двоичными числами:

Записываем первую строку порождающей матрицы в виде Q1(xxr R1(x)=0001000 011=0001011.

Аналогично найдем 2-ю строку производящей матрицы. Остаток от деления Q2(xxr на P(x):

Как и раньше будем выполнять все вычисления над двоичными числами:

Записываем вторую строку порождающей матрицы в виде Q2(xxr R2(x)=0010000 110=0010110.

Определяем третью строку:

,

тогда третья строка имеет вид Q3(xxr R3(x)=0100000 111=0100111.

Для четвертой строки имеем:

четвертая строка имеет вид Q4(xxr R4(x)=1000000 101=1000101.

Производящая матрица G7,4 имеет вид:

Строки матрицы G7,4 являются первыми 4 комбинациями циклического кода. Пятая комбинация является нулевой. Остальные 11 комбинаций получаются суммированием по модулю 2 всех сочетаний строк матрицы.

Замечание: выше было сказано, что порождающая матрица может быть представлена как две подматрицы. Действительно, слева от пунктирной черты расположена единичная транспонированная матрица размера (kk) (в рассмотренном примере (44)). Она содержит информационные комбинации кода, содержащие единицу в одном разряде. Справа от пунктирной черты - подматрица размером (kr) (в примере (43)), строки которой образованы остатками от деления Ri(x).

Общие сведения об итеративном коде

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

Рассмотрим принцип построения итеративного кода на следующем примере. Предположим, что передаются информационные кодовые комбинации F(0,1) = 10111 00101 11100 01001 11101. Т.е. имеем 5 информационных комбинаций, каждая их которых содержит 5 элементов.

Сначала информационные элементы по группам записываются в виде таблицы:

Далее к каждой строке и к каждому столбцу дописываются про­верочные элементы в соответствии с каким-либо правилом коди­рования. Например, для кода с одной проверкой на четность по­лучим

Проверка на четность составляется таким образом, чтобы число единиц было четно по строкам, и по столбцам.

По­лученные кодовые комбинации являются комбинациями простейшего двумерного кода, проверочные разряды которого сосредо­точены в нижней строке и правом столбце. Каждый информаци­онный разряд кодовой комбинации входит в состав двух итери­руемых кодов с проверкой на четность (по строкам и столбцам). Передача комбинации итеративного кода обычно происходит по­следовательно от первой строки до последней. Приведенный код является простейшим итеративным кодом с d0=4. Этот код об­наруживает все ошибки кратности до трех и все ошибки нечетной кратности.

Для итеративного кода верны следующие соотношения:

  1. Длина кодовой комбинации

где S - кратность итерирования (количество итерируемых кодов);

ni – число элементов в строке и в столбце с учетом проверочных элементов;

П – знак произведения.

Для рассматриваемого примера S=2, n1=n2=6, тогда n=6·6=36 – длина кодовой комбинации.

  1. Число информационных разрядов в кодовой комбинации

где ki – число информационных разрядов в итерируемых кодах.

В примере в обоих итерируемых кодах одинаковое число информационных разрядов (одинаковое число разрядов в строке и столбце без учета проверочных элементов), т.е. k1=k2=5, тогда k=k1·k2=5·5=25 – число информационных элементов в кодовой комбинации.

  1. Минимальное кодовое расстояние

где d0i – минимальное кодовое расстояние итерируемых кодов.

В примере d01= d02=2, тогда d0= d01· d02=2·2=4.

В зависимости от свойств итерируемых кодов итератив­ный код может быть систематическим, и несистематиче­ским, разделимым и неразделимым и т. д.