- •Кубанский государственный технологический университет Кафедра вычислительной техники и асу
- •351400 – Прикладная информатика в экономике (5 семестр)
- •Введение
- •1 Нормативные ссылки
- •2 Требования к курсовоЙ работе
- •3 Примерный перечень курсовых работ
- •4 Пример выполнения курсово работы
- •Реферат
- •Введение
- •Циклические коды
- •Задание циклических кодов
- •Коды с постоянной четностью единиц
- •Помехоустойчивость циклических кодов
- •Верность передаваемой информации
- •Потери информации
- •Характеристика кодов с постоянной четностью единиц
- •Алгоритмы расчета
- •Задаваемые для расчета технические параметры
- •Описание алгоритма
- •Метод реализации алгоритма
- •Требование к программному изделию
- •Требование к функциональным характеристикам
- •Контроль входной и выходной информации
- •Руководство пользователя
- •Интерфейс пользователя
- •Вывод результатов
- •Тестирование программы
- •Заключение
- •Список использованных источников
- •Приложение а
- •Форма задания на курсовое проектирование
- •Кубанский государственный технологический университет
- •Задание на курсовое проектирование
- •Приложение б
- •Форма титульного листа пояснительной записки
- •Кубанский государственный технологический университет
- •Пояснительная записка
- •Приложение в
-
Помехоустойчивость циклических кодов
Циклические коды можно использовать:
- для исправления ошибок;
- для обнаружения ошибок;
- для исправления и обнаружения ошибок.
-
Верность передаваемой информации
Наиболее предпочтительным является использование циклических кодов в режиме обнаружения ошибок, так как при этом достигается наибольшая верность передаваемой информации, определяемая по формуле
|
|
(1.5) |
Использование
циклических кодов для исправления
ошибок приводит к снижению верности
передаваемой информации, которая
определяется по формуле (1.5), если
исключить коэффициент
и вместо параметра
подставить параметр t,
который определяет кратность гарантийно
исправляемых циклическим кодом ошибок
и связи с
соотношением
.
Режим одновременного исправления и обнаружения ошибок по достигаемой верности занимает промежуточное положение между рассмотренными режимами. Наиболее рациональными следует считать такие системы передачи дискретной информации, в которых циклические коды используются для обнаружения ошибок.
-
Потери информации
Потери информации имеют место в том случае, когда возникает ошибка, обнаруживаемая циклическим кодом, поэтому для обнаружения ошибок можно записать, что
|
|
(1.6) |
где
вероятность появления любой ошибки в
кодовой комбинации.
-
Характеристика кодов с постоянной четностью единиц
Циклический (n, k)-код, построенный при помощи образующего полинома P(x) и не обладающий свойством постоянной четности единиц, может приобрести это свойство, если образующий полином P(x) домножить на двучлен (x+1) и формировать кодовые комбинации нового (n+1, k) – кода на основании полинома
|
|
(1.7) |
В
этом случае циклический (n+1,
k)
– код приобретает свойство дополнительно
обнаруживать все ошибки нечетной
кратности и, следовательно, для определения
вероятности не обнаружения ошибок по
выражению (1.5) необходимо
увеличивать на единицу.
-
Алгоритмы расчета
-
Задаваемые для расчета технические параметры
Исходными данными для построения циклического кода являются:
-
допустимое значение вероятности не
обнаружения ошибок
;
- число информационных единичных элементов первичного кода k;
-
вероятность искажения единичного
элемента кодовой комбинации
,
характеризующая качество канала связи.
-
Описание алгоритма
На рисунке 1 приведена структурная схема алгоритма нахождения образующего полинома циклического кода, удовлетворяющего заданной верности.
1 На первом этапе, используя выражение (1.1), определяем n*, удовлетворяющее следующему условию:
|
|
(2.1) |
2 По заданному k и найденному значению n*(m)определим число проверочных единичных элементов
|
|
(2.2) |
3
Уточняем число проверочных единичных
элементов по таблице в приложении 1,
выбирая ближайшее табличное значение
![]()
4
Определяем табличное значение кратности
гарантийно обнаруживаемых ошибок
,
соответствующее
.
5
Так как табличные коды
могут быть дополнены проверкой на
четность, то определяем максимальную
избыточность
![]()
и
максимальную кратность гарантийно
обнаруживаемых ошибок
.
6 Уточняем длину кодовой комбинации циклического кода
.
Если
n<n*(m),
то будет иметь место так называемый
укороченный циклический (n,k)-код,
который по корректирующей способности
эквивалентен полному циклическому
-коду,
число информационных единичных элементов
которого больше на величину (n*-n).
7
Для найденных значений
,
используя выражение (1.5), определяем
вероятность не обнаружения ошибок
.
8 Проверяем логическое условие
9 При невыполнении условия (2.3) выбираем n*(m+1) и повторяем п. 2-8.
10
Если условие (2.3) выполняется, то методом
перебора определяем минимальное число
проверочных единичных элементов
и соответствующие значения
и
,
для которых выполняется условие (2.3).
11
Выбираем образующий полином P(x)
по таблицам
(приложение 1), соответствующий вычисленным
значениям
и
![]()
,

Рисунок 1. Структурная схема алгоритма нахождения образующего
полинома циклического кода
|
|
(2.3) |
где
- неприводимые многочлены, индекс
которых возрастает с увеличением числа
проверочных элементов
;
-
индекс соответствующий
.
При введении дополнительной проверки на четность
.
С целью сокращения записи все многочлены в приложении В указаны в восьмеричном представлении. При такой записи каждый символ обозначает три двоичных знака в соответствии со следующим кодом:
|
0<=>000 |
4<=>100 |
|
1<=>001 |
5<=>101 |
|
2<=>010 |
6<=>110 |
|
3<=>011 |
7<=>111. |
Коэффициенты многочленов в двоичной записи расположены в порядке убывания, так что коэффициент при слагаемом высшего порядка расположен слева. Например, число 45 в коде n*=31 обозначает многочлен 5-ой степени. В двоичной записи этому числу эквивалентно число
100 101
и соответствующий многочлен равен
.
