Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
chast2.doc
Скачиваний:
6
Добавлен:
11.02.2016
Размер:
240.13 Кб
Скачать
    1. Корректирующий циклический код кцк генерируется порождающим полиномом

Обнаруживает и корректирует одну ошибку. Контрольные биты размещаются в конце кода после информационных бит. Количество контрольных бит: nк=nи+2.

Контрольные биты вычисляются в помощью порождающего полинома степени nк. Порождающие полиномы создаются на алгебраических полях Гаусса.

Генерация.

                  1. Исходник: 1001101 =М

Макет:(16;7)1001101К1К2К3К4К5К6К7К8К9

Для расчета значений контрольных бит подбираем порождающий полином 9й степени. g(x)= x9+x8+x+1

Запишем порождающий полином в бинарной форме, записывая только все коэффициенты полинома: g(x)=1100000011

Вычислим значения контрольных бит делением макета на порождающий полином (деление по модулю 2).

1001101000000000 1100000011

1100000011

1011010110

1100000011

1110101010

1100000011

1010100100

1100000011

1101001110

1100000011

010011010 = м(х)=9 бит = nк

К1К2К3К4К5К6К7К8К9 = 010011010

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

КЦК(16;7)=1001101010011010

Диагностика.

Принятый КЦК делится по mod2 на порождающий полином g(x). По форме остатка m(x) определяется наличие и адрес ошибки:

  1. Если содержит обрамление и одну единицу внутри обрамления, то ошибка в информационной части кода (АО ) и единица указывает адрес ошибки;

  2. Если содержит одну единицу и все остальные биты равны нулю, то ошибка находится в контрольной части и единица указывает адрес контрольного бита с ошибкой;

  3. Если остаток m(x) = 000000000, то ошибки нет;

  4. Если остаток m(x) отличается от этих трех вариантов, то КЦК содержит более одной ошибки, что КЦК не выполняет.

Ошибка в информационной части КЦК:

Принято: 1101101010011010

1101101010011010 1100000011

1100000011

1101001011

1100000011

1001000010

1100000011

101000001=> m(x)=9 бит

­­­­ Наличие обрамления указывает на то, что ошибка находится в информационной части кода, а 1 внутри обрамления указывает адрес ошибки АО =(отбрасываем обрамление).

Коррекция.

Инверсия ошибочной позиции – стояла 1, ставим 0 (1→0).

Декодирование

Удаление всех контрольных бит. Сообщение – 1001101

Ошибка в контрольной части КЦК.

Принято: 1001101010011011

1001101010011011 1100000011

1100000011

1011010010

1100000011

1110100011

1100000011

1010000010

1100000011

1100000011

1100000011

000000001 => m(x)=9 бит

Наличие лишь одной единицы среди всех нулей указывает на ошибку в контрольной части, и 1 указывает, что ошибка в последнем контрольном бите.

Коррекция.

Инверсия ошибочной позиции – стояла 1, ставим 0 (1→0).

Декодирование

Удаление всех контрольных бит. Сообщение – 1001101

Эффективность.

  1. Обнаруживает и корректирует одну ошибку;

  2. Удобный типовой алгоритм генерации и диагностики;

  3. Контрольные биты размещены в конце КЦК.

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