Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТИ / Lec / Линейно групповые коды

.doc
Скачиваний:
32
Добавлен:
17.03.2015
Размер:
54.78 Кб
Скачать

Линейно групповые коды (ЛГК)

Линейными называются коды, в которых проверочные и информационные символы связаны значениями с законами линейной комбинаторики. Т.е. с помощью определённой линейной комбинации можно построить кодовую комбинацию.

Свойства ЛГК:

1) Сумма (разность) кодовых векторов даёт вектор принадлежащий данному коду.

ЛГК относят к систематическим кодам. Минимальное кодовое расстояние равно минимальному весу ненулевых кодовых векторов. ЛГК обозначается (П, nu) и задаются с помощью производящих матриц. Производящая матрица строится, как результат слияния информационной (И) и проверочной (П) матриц.

Матрица имеет nk – столбцов и nu – строк.

В качестве П выбирают комбинации один и ноль. При этом исходят из следующих соображений: чем больше единиц в матрице П, тем оптимальней считается матрица в точке обнаружения вероятности ошибок.

Вес каждой строки матрицы П WП = d0 – 1. Т.о. пораждающая матрица С приводится к следующему виду:

Строки производящей матрицы представляют собой nu комбинации искомого кода. Остальные комбинации кода можно получить двумя способами:

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

  2. ЛГК можно построить по производящей матрице, используя информационную часть кода, путём суммирования строк матрицы П.

Пример: Построить производящую матрицу для ЛГК, способную исправлять одиночную ошибку при передачи кода на 16 сообщений.

nu = 4; nk = log(nu + 1 + log(nu + 1)) = 3

d0 = 3; n = 7 – значность кода

(единичная матрица)

Пример: Построить образующую матрицу ЛГК, способную передавать 100 сообщений и исправлять одиночную ошибку.

N = 100 = ; nu = 7; nk = 4; n = 11;

Строим производящую матрицу:

Пример: Построить групповой код по заданной производящей матрице

Выписываем информационные части кода:

1) 0000 5) 0010

2) 1000 6) 1010

  1. 0100 7) 0110 и т.д.

  2. 1100 8) 1110

К каждой информационной части строим конкретный разряд:

  1. 000

  2. 111 – берём первую строку матрицы П

  3. 110 – 2 – ю

  4. 111 – складываем первую и вторую строку

110

001

  1. 101

  2. 111

101

010 - 1 - я + 3 - я

  1. 110

101

011 - 2 - я + 3 - я

  1. 111

110

001

100

Декодирование ЛГК

В процессе декодирования осуществляется проверки по определённой схеме. Число проверок равно числу контрольных разрядов. S(S1, S2, …,) – строится проверочный вектор, который называется синдром. Если вес синдрома равен нулю, то комбинация принята правильно. Если какой – либо разряд содержит единицу, то имеется ошибка. Каждому разряду соответствует свой синдром. Вид синдрома определяется с помощью производящей матрицы. Набор синдромов содержится в специальной проверочной матрице H, которая строится из матрицы H = [ПТInk] Ink - единичная матрица. Столбцы матрицы представляют значение синдрома для каждого разряда.

Схема проверок: принятый сигнал vx представляем в виде информационной части

vx = (a1, a2, …,an, P1, P2,…,Pm)

Схема проверок строится:

  1. Проверка S1

Суммируется разряд P1 и те разряды из информационной части a1 + …+ an, номера которых совпадают с номерами ненулевых разрядов первого столбца матрицы П.

2) Проверка S2

Суммируется разряд P2 и те разряды информационной части a1 + …+ an, номера которых совпадают с номерами ненулевых разрядов второго столбца матрицы П.

Пример: Задана производящая матрица C7,4 и составим схему проверок

И П

S1 = P1 + a2 + a3 + a4

S2 = P2 + a1 + a3 + a4

S3 = P3 + a1 + a2 + a3

Строим H:

Если разряды синдрома соответствуют одному столбцу матрицы Н, т.е. S1 = 0, S2 = 1, S3 = 1, то ошибка в первом разряде.

Пример: Пусть имеется информационная часть ЛГК, которая исправляет одиночную ошибку. Дана производящая матрица С7,4. Получим корректирующие разряды, для этого сложим первую и вторую строку, следовательно, полный код.

a1a2 a3a4P1P2P3

v1 = 1100110 vx = 1101110

Cхема проверок осталось такой же

Проведём проверки:

S

1 = 1 + 1 + 0 + 0 = 0

S2 = 1 + 1 + 0 + 0 = 0

S3 = 0 + 1 + 1 + 0 = 0

П

усть vx = 1101110, т.е. ошибка в четвёртом разряде.

S1 = 1 + 1 + 0 + 1 = 1

S2 = 1 + 1 + 0 + 1 = 1 - это соответствует ошибке в четвёртому разряду

S3 = 0 + 1 + 1 + 1 = 1

Соседние файлы в папке Lec