Примерный перечень курсовых РАБОТ

1. Исследование детерминированных периодических сигналов.

2. Исследование детерминированных непериодических сигналов.

3. Исследование корреляционной функции случайных сигналов.

4. Исследование спектральной плотности случайных сигналов.

5. Исследование амплитудной модуляции сигналов.

6. Исследование квантования сигналов по времени.

7. Исследование квантования сигналов по уровню.

8. Исследование метода накопления при приеме сигналов.

9. Исследование критерия максимального правдоподобия.

10. Исследование критерия максимума апостериорной вероятности.

11. Исследование критерия идеального наблюдателя.

12. Исследование методов эффективного кодирования сообщений.

13. Исследование методов задания линейных систематических кодов.

14. Исследование процесса обнаружения и исправления ошибок избыточными кодами.

15. Алгоритм выбора образующего полинома циклического кода.

16. Исследование помехоустойчивости циклических кодов.

17. Исследование кодирующих устройств циклических кодов.

18. Исследование декодирующих устройств циклических кодов.(делится на полином, проверяется есть ли ошибка , остаток проверяется)

19. Исследование алгоритма работы системы РОС-ОЖ.

20. Исследование алгоритма работы системы РОС-НК.

21. Исследование алгоритма работы системы РОС-АП.

Пример выполнения курсово РАБОТЫ

Тема курсовой работы “Исследование помехоустойчивости циклических кодов” посвящена выбору образующих полиномов циклических кодов и оценке кратности обнаруживаемых ошибок и помехоустойчивости при их применении.

РЕФЕРАТ

Пояснительная записка данной работы содержит 22 страницы, 4 рисунка и 2 таблицы.

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

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

Введение

В настоящее время информация стала фактором, определяющим эффективность любой сферы деятельности. Увеличились информационные потоки и повысились требования к скорости передачи данных, одним из факторов повышения скорости передачи данных служит метод кодирования. Также появилась потребность исправления ошибок, не после повторной передачи кода, а с помощью более точных методов обнаружения ошибок на принимающей стороне. Стали разрабатываться универсальные методы обнаружения ошибок, одним из которых является метод циклических кодов, который обеспечивает надежность передачи данных.

В работе реализуется алгоритм нахождения необходимого полинома и оценивается помехоустойчивость полученного циклического кода.

1 Циклические коды

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

Задание циклических кодов

Алгебраическая структура циклических кодов впервые была исследована Боузом, Чоудхури и Хоквингемом, поэтому они известны как БЧХ-коды.

Эти коды характеризируются следующими свойствами:

– длина кодовых последовательностей

Примерный перечень курсовых РАБОТ - student2.ru (1.1)

где m=1, 2, 3, …;

– число проверочных единичных элементов не превышает величины Примерный перечень курсовых РАБОТ - student2.ru , т. е.

Примерный перечень курсовых РАБОТ - student2.ru (1.2)

– код обнаруживает все пачки ошибок длины

Примерный перечень курсовых РАБОТ - student2.ru (1.3)

– циклический сдвиг разрешенной кодовой комбинации кода приводит к образованию разрешенной комбинации этого же кода. Воспользуемся более простыми методиками, базирующимися на алгебраических понятиях. В этом случае более удобной является запись кодовых комбинаций в виде многочлена переменной Примерный перечень курсовых РАБОТ - student2.ru :

Примерный перечень курсовых РАБОТ - student2.ru (1.4)

где Примерный перечень курсовых РАБОТ - student2.ru основание системы счисления.

Коэффициенты Примерный перечень курсовых РАБОТ - student2.ru представляют собой цифры данной системы счисления. В двоичной системе счисления коэффициенты могут принимать одно из двух значений: 0 или 1. Так, например, двоичное четырехразрядное число 1001 может быть записано в виде полинома

Примерный перечень курсовых РАБОТ - student2.ru  

Это выражение устанавливает однозначное соответствие между двумя формами записи кодовых комбинаций.

Циклические коды образуются путем умножения каждой кодовой комбинации k-элементного безызбыточного кода, выраженной в виде многочлена G(x), на образующий полином P(x) степени (n-k). При этом умножение производится по обычным правилам алгебры с приведением подобных членов по модулю два. Следовательно, в случае отсутствия ошибок любая разрешенная кодовая комбинация циклического кода должна разделиться на образующий полином P(x) без остатка. Появление остатка от деления указывает на наличие ошибок в кодовой комбинации. При этом гарантийно обнаруживаются ошибки, определяемые выражениями (1.2) и (1.3). Кроме того, обнаруживается большая часть Примерный перечень курсовых РАБОТ - student2.ru ошибок более высокой кратности.

Коды с постоянной четностью единиц

Наименьшей избыточностью обладают циклические (k+1,k)–коды, имеющие один проверочный единичный элемент и получившие название кодов с постоянной четностью единиц. Построение этих кодов осуществляется при помощи образующего полинома

Примерный перечень курсовых РАБОТ - student2.ru  

Методами изложенными в (1.1). При этом разрешенные кодовые слова циклического (k+1,k)–кода во всех случаях содержит четное число единиц. Так как образующий полином является двучленом, то произведение G(x) P(x) независимо от числа членов первого сомножителя G(x) всегда будет содержать четное число членов.

Сущность метода состоит в том, что на передающей стороне в конце исходной комбинации G(x) k-элементного простого кода формируется дополнительный контрольный разряд, в который записывается 1, если число единиц в комбинации G(x) нечетное, и 0 – если число единиц четное.

Помехоустойчивость циклических кодов

Циклические коды можно использовать:

- для исправления ошибок;

- для обнаружения ошибок;

- для исправления и обнаружения ошибок.

Верность передаваемой информации

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

Примерный перечень курсовых РАБОТ - student2.ru (1.5)

Использование циклических кодов для исправления ошибок приводит к снижению верности передаваемой информации, которая определяется по формуле (1.5), если исключить коэффициент Примерный перечень курсовых РАБОТ - student2.ru и вместо параметра Примерный перечень курсовых РАБОТ - student2.ru подставить параметр t, который определяет кратность гарантийно исправляемых циклическим кодом ошибок и связи с Примерный перечень курсовых РАБОТ - student2.ru соотношением Примерный перечень курсовых РАБОТ - student2.ru .

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

Потери информации

Потери информации имеют место в том случае, когда возникает ошибка, обнаруживаемая циклическим кодом, поэтому для обнаружения ошибок можно записать, что

Примерный перечень курсовых РАБОТ - student2.ru (1.6)

где Примерный перечень курсовых РАБОТ - student2.ru вероятность появления любой ошибки в кодовой комбинации.

Характеристика кодов с постоянной четностью единиц

Циклический (n, k)-код, построенный при помощи образующего полинома P(x) и не обладающий свойством постоянной четности единиц, может приобрести это свойство, если образующий полином P(x) домножить на двучлен (x+1) и формировать кодовые комбинации нового (n+1, k) – кода на основании полинома

Примерный перечень курсовых РАБОТ - student2.ru (1.7)

В этом случае циклический (n+1, k) – код приобретает свойство дополнительно обнаруживать все ошибки нечетной кратности и, следовательно, для определения вероятности не обнаружения ошибок по выражению (1.5) необходимо Примерный перечень курсовых РАБОТ - student2.ru увеличивать на единицу.

2 Алгоритмы расчета

Задаваемые для расчета технические параметры

Исходными данными для построения циклического кода являются:

- допустимое значение вероятности не обнаружения ошибок Примерный перечень курсовых РАБОТ - student2.ru ;

- число информационных единичных элементов первичного кода k;

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

Описание алгоритма

На рисунке 1 приведена структурная схема алгоритма нахождения образующего полинома циклического кода, удовлетворяющего заданной верности.

1 На первом этапе, используя выражение (1.1), определяем n*, удовлетворяющее следующему условию:

Примерный перечень курсовых РАБОТ - student2.ru (2.1)

2 По заданному k и найденному значению n*(m)определим число проверочных единичных элементов

Примерный перечень курсовых РАБОТ - student2.ru (2.2)

3 Уточняем число проверочных единичных элементов по таблице в приложении 1, выбирая ближайшее табличное значение Примерный перечень курсовых РАБОТ - student2.ru

4 Определяем табличное значение кратности гарантийно обнаруживаемых ошибок Примерный перечень курсовых РАБОТ - student2.ru , соответствующее Примерный перечень курсовых РАБОТ - student2.ru .

5 Так как табличные коды Примерный перечень курсовых РАБОТ - student2.ru могут быть дополнены проверкой на четность, то определяем максимальную избыточность

Примерный перечень курсовых РАБОТ - student2.ru

и максимальную кратность гарантийно обнаруживаемых ошибок Примерный перечень курсовых РАБОТ - student2.ru .

6 Уточняем длину кодовой комбинации циклического кода

Примерный перечень курсовых РАБОТ - student2.ru .

Если n<n*(m), то будет иметь место так называемый укороченный циклический (n,k)-код, который по корректирующей способности эквивалентен полному циклическому Примерный перечень курсовых РАБОТ - student2.ru -коду, число информационных единичных элементов которого больше на величину (n*-n).

7 Для найденных значений Примерный перечень курсовых РАБОТ - student2.ru , используя выражение (1.5), определяем вероятность не обнаружения ошибок Примерный перечень курсовых РАБОТ - student2.ru .

8 Проверяем логическое условие

9 При невыполнении условия (2.3) выбираем n*(m+1) и повторяем п. 2-8.

10 Если условие (2.3) выполняется, то методом перебора определяем минимальное число проверочных единичных элементов Примерный перечень курсовых РАБОТ - student2.ru и соответствующие значения Примерный перечень курсовых РАБОТ - student2.ru и Примерный перечень курсовых РАБОТ - student2.ru , для которых выполняется условие (2.3).

11 Выбираем образующий полином P(x) по таблицам (приложение 1), соответствующий вычисленным значениям Примерный перечень курсовых РАБОТ - student2.ru и Примерный перечень курсовых РАБОТ - student2.ru

Примерный перечень курсовых РАБОТ - student2.ru ,

Примерный перечень курсовых РАБОТ - student2.ru

Рисунок 1. Структурная схема алгоритма нахождения образующего

полинома циклического кода

Примерный перечень курсовых РАБОТ - student2.ru (2.3)

где Примерный перечень курсовых РАБОТ - student2.ru - неприводимые многочлены, индекс Примерный перечень курсовых РАБОТ - student2.ru которых возрастает с увеличением числа проверочных элементов Примерный перечень курсовых РАБОТ - student2.ru ;

Примерный перечень курсовых РАБОТ - student2.ru - индекс соответствующий Примерный перечень курсовых РАБОТ - student2.ru .

При введении дополнительной проверки на четность

Примерный перечень курсовых РАБОТ - student2.ru .

С целью сокращения записи все многочлены в приложении В указаны в восьмеричном представлении. При такой записи каждый символ обозначает три двоичных знака в соответствии со следующим кодом:

0<=>000 4<=>100
1<=>001 5<=>101
2<=>010 6<=>110
3<=>011 7<=>111.

Коэффициенты многочленов в двоичной записи расположены в порядке убывания, так что коэффициент при слагаемом высшего порядка расположен слева. Например, число 45 в коде n*=31 обозначает многочлен 5-ой степени. В двоичной записи этому числу эквивалентно число

100 101

и соответствующий многочлен равен

Примерный перечень курсовых РАБОТ - student2.ru .

Метод реализации алгоритма

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

3 Требование к программному изделию

Требование к функциональным характеристикам

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

Контроль входной и выходной информации

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

4 Руководство пользователя

Интерфейс пользователя

На рисунке 2 показан внешний вид программы при запуске.

Примерный перечень курсовых РАБОТ - student2.ru

Рисунок 2. Внешний вид рабочего окна программы

Рабочее окно программы, как видно из рисунка, состоит из нескольких полей. В левой части окна пользователю предоставляется возможность изменить входные данные, которые установлены по умолчанию. Там же расположена кнопка «Теория по теме работы», с помощью этой кнопки можно просмотреть основную теорию. Между левым и правым полем рабочего окна расположена вертикальная кнопка, которая закрывает поле ввода начальных параметров и открывает таблицу с отчетом проделанных расчетов (рисунок 3). В правой части рабочего окна находится поле с вкладками: «Расчет полинома», на этой вкладке пользователь может последовательно выбирать этапы нахождения образующего полинома, а также сбросить в любое время все пройденные расчеты, возвратившись в начало; «Таблица ЦК» - здесь расположена таблица циклических кодов, по которым производится поиск полинома (рисунок 4). Пользователь может сохранить эту таблицу в файл Excel, для более подробного ознакомления с содержанием таблицы.

Примерный перечень курсовых РАБОТ - student2.ru

Рисунок 3. Вид окна с отчетом проделанной работы

Вкладка «Схема алгоритма» показывает окно с блок-схемой нахождения образующего полинома.

Вывод результатов

Вывод результатов осуществляется в поле рабочего окна программы «Отчет текущих действий», где динамически заполняются поля: «Этап», в котором записывается номер этапа при расчете полинома; «Действие», т. е. в нем отображается действие, которое было произведено для получения результата. Результаты каждого этапа заполняются в поле «Результат».

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

Примерный перечень курсовых РАБОТ - student2.ru

Рисунок 4. Таблица циклических кодов

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

Для тестирования разработанного программного продукта, введем значения вероятности допустимого значения не обнаружения ошибки, количество информационных разрядов и вероятность искажения единичного элемента. Возьмем для тестирования значения, введенные по умолчанию.

Примерный перечень курсовых РАБОТ - student2.ru

При выполнении всех этапов нахождения образующего полинома получаем таблицу 1 с отчетом проделанной работы.

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

Построим циклический код, удовлетворяющий исходным данным, вручную.

1 Определяем n*(m) из условия (2.1):

Примерный перечень курсовых РАБОТ - student2.ru

2 Находим число проверочных элементов

Примерный перечень курсовых РАБОТ - student2.ru

3 В приложении 1для n*(5)=31 выбираем ближайшее значение Примерный перечень курсовых РАБОТ - student2.ru

4 Определяем Примерный перечень курсовых РАБОТ - student2.ru , соответствующее Примерный перечень курсовых РАБОТ - student2.ru

Примерный перечень курсовых РАБОТ - student2.ru

Таблица 1

Этап: Действие: Результат
№ 01 Найти n* :
  При этом m :
№ 02 Определить r* :
№ 03 Определить rt :
  И соответсв. gt :
№ 04 Определить rmax :
  Определить gmax :
№ 05 Уточнить n :
№ 06 Определить Pno : 2,2E-18
№ 07 С проверкой на четность!  
  rmin =
  gmin =
  nmin =
  Ind соотв. rmin =
  При этом Pno = 1,9E-12
№ 08 Полином:  
   
  X^6+X^5+X^3+X^2+X+1  

5 Находим максимальную избыточность

Примерный перечень курсовых РАБОТ - student2.ru

и максимальную кратность гарантийно обнаруживаемых ошибок

Примерный перечень курсовых РАБОТ - student2.ru

6 Уточняем длину кодовой комбинации

Примерный перечень курсовых РАБОТ - student2.ru

7 Из выражения (1.5) для найденных значений Примерный перечень курсовых РАБОТ - student2.ru определяем вероятность не обнаружения ошибок

Примерный перечень курсовых РАБОТ - student2.ru

8 Проверяем логическое условие (2.3):

Примерный перечень курсовых РАБОТ - student2.ru

9 Логическое условие выполняется, причем полученное значение Примерный перечень курсовых РАБОТ - student2.ru значительно меньше допустимого. Затем последовательно подставляем три параметра из таблицы приложения 1, соответствующие найденному m, начиная с наименьших. Будем производить поиск до тех пор пока не найдем наименьшие параметры при которых выполняется условие (2.3). Такими являются первые элементы, соответствующему m из таблицы с проверкой на четность: Примерный перечень курсовых РАБОТ - student2.ru

10 В приложении 1 выбираем неприводимые многочлены Примерный перечень курсовых РАБОТ - student2.ru

Примерный перечень курсовых РАБОТ - student2.ru

Проверка на четность обеспечивается двучленом

Примерный перечень курсовых РАБОТ - student2.ru

Следовательно, образующий полином циклического (23,17)-кода будет иметь следующий вид:

Примерный перечень курсовых РАБОТ - student2.ru

Образующий полином Примерный перечень курсовых РАБОТ - student2.ru является предпосылкой для построения кодирующего и декодирующего устройства циклического кода.

Заключение

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

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

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

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

Разработанное приложение может быть незаменимой частью более сложных программных пакетов для передачи данных на большие расстояния в сочетании с кодирующими и декодирующими приложениями или аппаратными реализациями этих устройств.

Наши рекомендации