Циклические коды
Реферат.
Циклические коды.
Выполнили:
.
Проверил:
СОДЕРЖАНИЕ
1. Введение
..............................
2. Постановка
задачи ..............................
3. Операции
над циклическими кодами ..............................
4. Принцип
построения циклических кодов
..............................
4.1. Получение кодовой комбинации добавлением остатка R(x) ...... 8
4.2. Получение кодовой комбинации умножением на образующий
полином ......................
§ 1
Введение
Код ,в котором кодовая комбинация, полученная путем циклического сдвига разрешенной кодовой комбинации является также разрешенной кодовой комбинацией называется циклическим ( полиномиальным, кодом с циклическими избыточными проверками-ЦИП).
Сдвиг осуществляется справа налево, при этом крайний левый символ переносится в конец комбинации.
Циклический код относится к линейным, блочным, корректирующим, равномерным кодам.
В
циклических кодах кодовые
Циклические коды являются разновидностью систематических кодов
и поэтому обладают всеми их свойствами. Первоначально они были созданы для упрощения схем кодирования и декодирования. Их эффек-
тивность при обнаружении и исправлении ошибок обеспечила им широеое применение на практике.
Циклические
коды используются в ЭВМ при
последовательной передаче данных .
§ 2
Постановка задачи
Построить циклический код для передачи 31 разрядной кодовой комбинации с исправлением однократной ошибки ( n=31 ,s=1) двумя
способами.
Показать
процесс обнаружения и
§ 3 Операции над циклическими кодами
1. Сдвиг справа налево
G(x)=x4+x2+1 Û 0010101;
G(x)×x=x5+x3+x Û 0101010.
2. Операции сложения и вычитания выполняются по модулю 2 .
Они являются эквивалентними и ассоциативными :
G1(x)+G2(x)=>G3(x);
G1(x) -G2(x)=>G3(x);
G2(x)+G1(x)=>G3(x);
Пример:
G1(x)= x5 +x3+x;
G2(x)=x4 +x3 +1;
G3(x)=G1(x) Å G2(x) = x5
+x4+x+1.
3. Операция деления является обычным делением
многочленов, только вместо вычитания
используется сложеное по модулю 2 :
G1(x)=x6+x4+x3 ;
G2(x)=x3+x2+1 .
x6+x4+x3 x3+x2+1
Å x6+x5+x3 x3 +x2
x5 + x4
Å x5 + x4 +x2
то же в двоичном коде:
1011000
1101
Å1101
1100
1100
Å 1101
100
Все операции легко реализуются
аппаратно на регистрах сдвига с обратными
связям.
§ 4
Принцип построения
циклических кодов
Идея построения циклических кодов базируется на использовании неприводимых многочленов. Неприводимым называется много-член,который не может бять представлен в виде произведения многочленов низших степеней ,т.е. такой многочлен делиться только на самого себя или на единицу и не делиться ни на какой другой многочлен. На такой многочлен делиться без остатка двучлен xn+1.Неприводимые многочлены в теории циклических кодов играют роль образующих полиномов.
Чтобы понять принцип построения циклического кода,умножаем комбинацию простого k-значного кода Q(x) на одночлен xr ,а затем делина образующий полином P(x) , степень которого равна r. В результате умножения Q(x) на xr степень каждого одночлена, входящего в Q(x), повы-шается на r. При делении произведения xrQ(x) на образующий полином получается частное C(x) такой же степени, как и Q(x).Результат можно представить в вид
Q(x) xr
R(x)
¾¾¾¾
= C(x) + ¾¾¾ ,
(1)
P(x) P(x)
где R(x) - остаток от деления Q(x) xr на P(x).
Частное C(x) имеет такую же степень, как и кодовая комбинация Q(x) простого кода, поэтому C(x) является кодовой комбинацией этого же
постого k-значного кода. Следует заметить,что степень остатка не может быть больше степени образующего полинома, т.е. его наивысшая степень может быть равна (r-1). Следовательно, наибольшее число разрядов остатка R(x) не превышает числа r.
Умножая
обе части равенства (1) на P(x) и
произведя некоторые
F(x) = C(x) P(x) = Q(x) xr + R(x) (2)
Таким образом, кодовая комбинация циклического n-значного кода может
быть получена двумя способами:
1) умножение кодовой комбинации Q(x) простого кода на одночлен xr
и добавление к этому произведению остатка R(x) , полученного в результате деления произведения Q(x) xr на образующий полином P(x);
2) умножения кодовой комбинации C(x) простого k-значного на образующий полином P(x).
При построении циклических
они занимают k старших разрядов комбинации, а остальные (n-k) разрядов
отводятся под контрольные.
При втором способе образования циклических кодов информа-
ционные
и контрольные символы в комбинациях
циклического кода не отделены друг от
друга, что затрудняет процесс декодирования.
§ 4.1
Получение кодовой комбинации
добавлением остатка
R(x)
Построить циклический код для передачи 31 разрядной кодовой
комбинации с исправлением однократной ошибки ( n=31, s=1)
Решение.
1. Определим число контрольных разрядов - m :
m = log2 (n+1) = log2 (31+1) = 5.
2. Определим
количество информационных
k = n-m = 26,
т.е получили (31, 26 ) - код .
3. Строим информационный полином,сответствующий информационному слову длиной k-бит:
G(x)=
4. Осуществлям сдвиг кода влево на m=n-k=5 разрядов т.е полином G(x) умножается на xm :
xm G(x)= (x2+1) x5= x7+
x5 =
5. Выбирается образующий многочлен-P(x) по таблице неприводимых многочленов. Для исправления одиночной ошибки (d0=3) образующий полином P(x) должен быть степени m=n-k=5 и количеством ненулевых членов не меньше минимального кодового расстояния d0 =3. Исходя из
этого образуюший полином P(x) равен :
P(x)= x5 + x4 +x3 +x 2 +1 = 111101.
6. Определим остаток R(x) от деления G(x)×x m на образующий по-
лином P(x)
x7+ x5
x7 + x6 +x5 +x 4 +x2 x2 +x +1 111101 111
x6 + x4 +x2
x6 + x5 +x4 +x 3
+x
x5 + x3
+x2 +x
x5 + x4 +x3 +x 2
+1
x4 +x +1
Остаток R(x)= x4+x+1 =10011.
7. Строим передаваемый кодовый пролином F(x) :
F(x)=xm G(x)ÅR(x)= x7+ x5+
x4+x+1 =
8. Пусть в принятом сообщении произошла ошибка в тридцать первом разряде,при зтом принятое кодовое сообщение имеет вид :
F¢(x)=F(x) Å
E(x)= 100000000000000000000001011001
9. Разделим многочлен F1(x) соотвествующий полученной кодовой ком-бинации на образующий полином, при этом вес остатка (количество единиц в коде остатка) должен быть меньше или равен количеству ошибок W £S
100000000000000000000001011001
111101
111010
111101
111000
111101
101000
111101
101010
111101
101110
111101
100110
111101
110110
111101
101100
111101
100010
111101
111110
Сравниваем вес полученного остатка w с числом исправляемых ошибок
w>s
.
10. Производим
циклический сдвиг принятой
разряд влево
и повторяем п.9 пока w £ s.
a) 000000000000000000000010110011
100011
Складываем по модулю 2 последнее делимое с последним остатком:
000000000000000000000010110011
Å
000000000000000000000010110011
Осуществляем обратный сдвиг на 1 разряд полученной комбинации
000000000000000000000001011001
Отбросив контрольные
разряды , получаем переданное информацинное
слово.
§ 4.2 Построение кодовой комбинации путем умножения
на образующий
полином
Построить циклический код для передачи 31 разрядной кодовой
комбинации с исправлением однократной ошибки ( n=31, s=1) путем умножения образующего многочлена на многочлен полного 31 разрядного кода.
Решение.
1. Строим информационный полином,сответствующий информационному слову длиной k-бит:
G(x)=
2. Строим передаваемый кодовый полином
00000000000000000000000101
00000000000000000000000101
00000000000000000000000101
00000000000000000000000101
00000000000000000000000101
00000000000000000000000101
000000000000000000000001100100
3. Процесс исправления однократной ошибки аналогичен описанному
в § 4.1.

- Циклические колебания в экономике развитых стран
- Циклический характер развития рыночной экономики
- Циклический характер экономического развития и антициклическая политика
- Циклическое воздействие на пласты при заводнении
- Циклическое развитие мировой экономики
- Циклическое развитие экономики
- Цикличность
- Цикл деловой активности
- Циклдерди программалоо
- Цикл дидактических игр и упражнений
- Цикли ділової активності в економічній системі. Моделі економічного зростання
- Циклическая и линейная модели периодизации жизни человека
- Циклическая (цивилизационная) концепция О.Шпенглера
- Циклические алгоритмы