Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к ОТСС.doc
Скачиваний:
63
Добавлен:
16.05.2015
Размер:
3.83 Mб
Скачать

38 Циклические коды бчх. Методика кодирования.

Обнаруживает и исправляет любое число ошибок, в основном, независимых ошибок. Разработан группой американских авторов (Боуза—Чоудхури— Хоквингема) и называется кодом БЧХ.

Заданными величинами при кодировании являются число исправляемых ошибок s и длина слова n.

Методика кодирования

1)Выбор длины слова n (n должно удовлетворяет условиям: д.б. нечётным;

2)Определение кодового расстояния d=2s+1

3)Определение образующего многочлена P(x). ОМ - есть наименьшее общее кратное минимальных многочленов Mi(x) до порядка 2s-1 включительно, причем ОМ состоит из произведения минимальных многочленов

(1) P(x)=НОК*[M1(x)M3(x)…M2s-1(x)], n,k,P(x) – берутся из таблицы.

Если 2 минимальных многочлена будут одинаковыми, то в выражение (1) принимается 1 из них.

4)Определение m –показатель степени образующего многочлена

5)Определение информационных символов k=n-m (блочный разделимый).

6)строится матрица

Пример.: построить код БЧХ, n=15, s=2, d=2S+1=5

P(x)=721(в hex)=111 010 001

7 2 1

m=8, k=7числу остатков

1000000000000000|111010001

111010001

110100010

111010001

0111001100

111010001

000111010000

111010001

1

38 Циклические коды бчх. Методика кодирования.(обратная сторона)

39 Обнаружение ошибок в циклическом коде.

Для обнаружения ошибки принимаемую комбинацию раскладывают на составляющие:

H(x)=F(x)+E(x),

где F(x) – переданная комбинация; E(x) – многочлен ошибок.

Делим на образующий многочлен Р(х):

Если – нет ошибки, иначе(R(x)=1) – есть ошибка.

Пр.: пусть задан код с образующим многочленом Р(х)=1101, d=3,S=1.

Принятая комбинация H(x)=1011100.

H(x)=1011100|1101=P(x)

1101 |11

1101

1101

000=R(x)→Ошибки нет

H(x)=10(0)1100|1101-P(x)

11 01 |1

1001

1101

1001

1101

1000

1101

1010

1101

R(x)=111≠0→Ошибка, w=3>S=1

40 Исправление ошибок с циклическим кодом. Алгоритм исправления кодового остатка.

1.Вычисление остатка принятой комбинации, определение остатка от деления принятой комбинации на образующий многочлен R(x)=

2. Посчет. Если R(x) не равно 0, вес остатка ( количество единиц). Если , то единицы в остатке укажут местоположение ошибочных разрядов. В этом случае, остаток складывается с принятой комб-нацией H(x).

3. Если принятая комбинация циклически сдвигается на один разряд влево (старший разряд идет вслед за младшим разрядом).

Обращение к пункту 1 (повтор, пока не будет выполнено условие исправления) Структура алгоритма:

40. Исправление ошибок с циклическим кодом. Алгоритм исправления кодового остатка.(обратная сторона)

ПРИМЕР

Задана комбинаци циклического кода БЧХ, S=2, P(x)=111010001, H(x)=0010111010(1)0(1)00

001011101010100|111010001

111010001

101001000

111010001

100110011

111010001

111000100

111010001

00101010 Вес остатка w=3>S=2 – сдиг влево:

010111010101000|111010001

111010001

101001000

111010001

100110011

111010001

111000100

111010001

1010100 Вес остатка w=3>S=2 – сдиг влево:

101110101010000|111010001

111010001

101001000

111010001

100110011

111010001

111000100

111010001

10101000 Вес остатка w=3>S=2 – сдиг влево:

011101010100001|111010001

111010001

10000001

Вес остатка w=2=S=2, тогда ЦК складываем по модулю 2 с остатком:

011101010100001

10000001 F(x)=000011101000100

011101000100000 - в комбинации две ошибки