Дипломы, курсовые, рефераты, контрольные...
Срочная помощь в учёбе

Циклический несистематический (7, 4) код Хемминга

РефератПомощь в написанииУзнать стоимостьмоей работы

Процедура кодирования в полиномиальной интерпретации сводится к умножению многочлена-сообщения на подходящий неприводимый в поле GF (2) многочлен, называемый порождающим многочленом данного кода. Тогда полученный код будет иметь длину n = 7, число проверочных символов (степень порождающего полинома) r = 3, число информационных символов k = 4, минимальное расстояние d = 3. Лемма 1. Многочлен g (x… Читать ещё >

Циклический несистематический (7, 4) код Хемминга (реферат, курсовая, диплом, контрольная)

Рассмотрим частный вид линейных кодов — циклический код.

Линейный код называют циклическим, если для любого кодового слова [xn, x0, x1… xn-1] циклическая перестановка символов [x0 x1… xn-1 xn] также дает кодовое слово.

Циклический несистематический (7,4) код Хемминга — двоичный циклический код, позволяющий исправлять одну ошибку и находить две.

Процедура построения таких кодов гораздо более управляемая. Однако, нам потребуется перейти от векторного описания кодов к полиномиальному. Последовательность символов основного алфавита (биты в простейшем случае), составляющие сообщения и кодовые слова мы будем интерпретировать как коэффициенты полиномов. Например, считая, что коэффициенты записаны в порядке возрастания степени, сообщение [1010] запишем в виде многочлена 1 + x2. Кодирование сообщения в более «длинное» кодовое слово будет проводится умножением этого многочлена на другой, что дает в результате многочлен более высокой степени.

Введем необходимые операции в кольце Z2.

Деление. Деление в Z2 происходит, как и в обычной арифметике. Для примера рассмотрим:

(1 + x + x2 + x5) / (1 + x2).

x5 + x2 + x + 1.

x5 + x3 | x2 + 1 / x3 + x2 + x + 1.

x3 + x / x2 + 1.

x2 + 1 / 0.

Также необходимо отметить, что в кольце Z2 x + x = 0.

Замечательным свойством полиномиального представления кодов является возможность осуществить циклический сдвиг на одну позицию вправо простым умножением кодового многочлена степени n — 1 на многочлен «x» и нахождения остатка от деления на 1 + xn.

Процедура кодирования в полиномиальной интерпретации сводится к умножению многочлена-сообщения на подходящий неприводимый в поле GF (2) многочлен, называемый порождающим многочленом данного кода.

Умножение. Умножение в Z2 происходит, как и в обычной арифметике. Для примера рассмотрим:

(1 + x + x3) * (x2 + x3) = x2 + x4 + x5 + x6

Лемма 1. Многочлен g (x) является порождающим многочленом линейного циклического кода длины n тогда и только тогда, когда g (x) делит 1 + xn.

Из леммы 1 следует, что для получения порождающего многочлена g (x) нам необходимо разложить на неприводимые множители 1 + xn и выделить многочлен такой степени, который равен n — k. Длина кодового слова n и длина сообщения k связаны соотношением,.

k = n — deg (g (x)),.

где deg (g (x)) обозначает степень g (x).

В качестве делителя 1 + x7 выберем порождающий полином третьей степени: код хемминг программный логика.

g (x) = 1 + x + x3,.

тогда полученный код будет иметь длину n = 7, число проверочных символов (степень порождающего полинома) r = 3, число информационных символов k = 4, минимальное расстояние d = 3.

Показать весь текст
Заполнить форму текущей работой