Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая сиспи - копия - копия.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
625 Кб
Скачать
☆

Тестирование программ

Показания программы работы кодера (7,4) у нас есть сообщение 1100 мы их хотим закодировать в результате получаем код 1100010.таким образом при делении на образующий многочлен мы дописали вконец остаток из 3 бит 010.Также мы видим, что каждый бит лежит в своем регистре.

Пример декодирования без ошибок, так как вес остатка w=0.

Пример декодирования с исправлением ошибки. Мы сделали ошибку в 4-м информационном бите.

Декодирование с исправлением ошибки происходит за счет деления на образующий многочлен x^3+x+1 и циклических сдвигов влево до тех пор пока w не равно 1,как только это происходит последний остаток складывается с последним делимым многочленом и делается циклические сдвиги в право ровно столько раз сколько есть весов остатков не равных 1. Мы видим, что сообщение с ошибкой 1101010 успешно исправлено и декодировано и получено 1100.

Вывод по курсовой работе.

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

В первом разделе дано понятие циклического кода и математический аппарат построения и использования. Подытоживая, скажем, что систематический код можно генерировать так:

1. Умножаем полином сообщения  на ;

2. Делим  на , чтобы получить остаток ; и

3. Добавляем  к .

Ниже мы продемонстрируем, как эти вычисления можно выполнить, используя сдвиговые регистры с обратной связью.

Поскольку  или, что эквивалентно, , мы видим, что полиномы  и  ортогональны. Далее, полиномы  и  также ортогональны для всех  и . Однако, векторы, соответствующие полиномам  и , ортогональны только, если порядок следования элементов одного из этих векторов реверсировать. То же утверждение применимо к векторам, соответствующим полиномам  и . Действительно, если проверочный полином  используется как порождающий для  дуального кода, ансамбль кодовых слов, полученный так, включают в себя те же кодовые слова, которые генерируются обратным полиномом, за исключением того, что кодовые векторы реверсированы. Это подразумевает, что порождающая матрица для дуального кода, полученная от обратного полинома , может быть также получить непосредственно от . Поскольку проверочная матрица  для циклического кода  является порождающей матрицей для дуального кода, следует, что  также можно получить от .

Покажем, что код Хемминга Нr является циклическим.

Теорема. Код Нг является циклическим с порождающим многочле­ном g(x) = M1(x), где M1(x) - минимальный многочлен примитивного элемента а поля GF(2r).

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

Нг = (1,а,а2,...,а2r)

Пусть f = (c0,c1,...,cn-1)ϵНr. Тогда

Последнее равенство означает, что α есть корень многочлена с(х). Обозна­чим посредством М1(x) минимальный многочлен элемента α. Тогда по свой­ствам минимального многочлена имеет место M1(x)|C(x), то есть фактор-кольцо [Нr] состоит из всех многочленов, кратных M1(x); следовательно, [Нr] - глав­ный идеал с порождающим многочленом M1(x), а [Нr]- циклический код.