Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
разное / ИТ / лабораторная 6 / Лабораторная работа № 6.doc
Скачиваний:
185
Добавлен:
15.06.2014
Размер:
411.65 Кб
Скачать

4.2 Матричное задание кодов

Циклический код может быть задан порождающей и проверочной матрицами. Для их построения достаточно знать порождающий g(x) и проверочный h(x) многочлены. Для несистематического циклического кода матрицы строятся циклическим сдвигом порождающего и проверочного многочленов, т.е. путем их умножения наx:G(n, k)=||g(x); xg(x); ... xk-1g(x)||T; H(n, k)=||h(x); xh(x); ... xr-1h(x)||T.

При построении матрицы H(n,k)старший коэффициент многочлена h(x) располагается справа.

Пример.Для циклического (7,4)-кода с порождающим многочленом g(x)=x3+x+1 матрицы G(n,k)и H(n,k)имеют вид:

0

0

0

1

0

1

1

G(7,4)=

0

0

1

0

1

1

0

0

1

0

1

1

0

0

1

0

1

1

0

0

0

и

1

1

1

0

1

0

0

H(7,4)=

0

1

1

1

0

1

0

0

0

1

1

1

0

1

где h(x)=(x7+1)/g(x)=x4+x2+x+1;

Для систематического циклического кода матрица G(n,k)определяется из выраженияG(n, k)=||Ir; Rk, r||; где Ik- единичная матрица;Rk, r- прямоугольная матрица. Строки матрицыRk,rопределяются из выраженийri(x)=Rg(x)||ai(x)xr||=Rg(x)||xn-i||; гдеai(x)- значение i-той строки матрицыIk; i - номер строки матрицы Rk,r.

Пример.МатрицаG(n,k)для (7,4)-кода на основе порождающего многочленаg(x)=x3+x+1, строится в следующей последовательностиG(7,4)=||I4; R4, 3||. Определяется R4,3, используяri(x)=Rg(x)||ai(x)xr||:

r1(x)=Rg(x)||x3 x3||=x6mod(x3+x+1)=x2+1(101);

r2(x)=x2+x+1(111); r3(x)=x2+x(110); r4(x)=x+1(011);

В результате получаем

1

0

0

0

1

0

1

G(7,4)=

0

1

0

0

1

1

1

0

0

1

0

1

1

0

0

0

0

1

0

1

1

Используя выражениеri(x)=Rg(x)||xn-i||, получим тот же результат. Строки матрицы G(n,k)можно определить непосредственно из выраженияvi(x)=ai(x)xr+ri(x), гдеri(x)=Rg(x)||ai(x)xr||. Проверочная матрица в систематическом виде строится на основе матрицыG(n, k), а именно:H(n, k)=||Rk, rT; Ir||; гдеIr- единичная матрица;Rk, rT- матрица из G(n,k)в транспонированном виде.

Пример.Для (7,4)-кода матрица H(n,k)будет иметь вид:

1

1

1

0

1

0

0

H(7,4)=

0

1

1

1

0

1

0

1

1

0

1

0

0

1

Одна из основных задач, стоящих перед разработчиками устройств защиты от ошибок при передаче дискретных сообщений по каналам связи является выбор порождающего многочлена g(x) для построения циклического кода, обеспечивающего требуемое минимальное кодовое расстояние для гарантийного обнаружения и исправления t-кратных ошибок. Существуют специальные таблицы по выбору g(x) в зависимости от предъявляемых требований к корректирующим возможностям кода. Однако у каждого циклического кода имеются свои особенности формирования g(x). Поэтому при изучении конкретных циклических кодов будут рассматриваться соответствующие способы построения g(x).

Соседние файлы в папке лабораторная 6