Программная реализация алгоритмов кодирования и декодирования для бчх-кодов и кодов рида-маллера

  • 05 окт. 2010 г.
  • 4424 Слова
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
Омский государственный университет им. Ф.М. Достоевского

Математический факультет
Кафедра математической логики и логического программирования

Программная реализация алгоритмов кодирования и декодирования для БЧХ-кодов и кодов Рида-МаллераАттестационная работа
студента группы ММ-102
Антонова В.И.
_______________ (подпись)
Научный руководитель
доцент, кандидат ф.- м. наукАшаева Ю.М.
_______________ (подпись)

Омск - 2005
Содержание
ВВЕДЕНИЕ 3
1. Постановка задачи 4
2. Реализация кодов 5
2.1. Общие сведения 5
2.2. БЧХ(5, 15, 7) 5
2.3. Код Рида-Маллера 5
3. Magic Coder 7
3.1. Руководство пользователя 7
3.1.1. Меню «Файл» 7
3.1.2. Меню «Код» 7
3.2.Добавление новых кодов 8
3.3. Описание модулей программы 9
3.3.1. Модуль «BitsUtils.pas» 9
3.3.2. Модуль «MathUtils.pas» 12
3.3.3. Модуль «Code.pas» 12
3.3.4. Модуль «CodeThreads.pas» 20
3.3.5. Модуль «RM.pas» 25
3.3.6. Модуль «BCH.pas» 27
3.3.7. Прочие модули 29
4. Заключение 30
5. Литература 31

ВВЕДЕНИЕ

С ростом использования электроники икомпьютеров, растет потребность в быстрой и надежной передаче информации по радио- и телефонным каналам связи, а также от одного устройства к другому. В любом канале связи присутствуют шумы – сигналы, которые могут искажать передаваемую по каналу информацию. С этими искажениями можно бороться, преобразуя передаваемую информацию при помощи кода, который будет обнаруживать, и исправлять ошибки. Так, например, в CD и DVD,в модемах, используются коды исправляющие ошибки.
В основе работы всех кодов лежит модифицирование исходных дынных путем добавления некоторой избыточной информации. Эта операция называется кодированием. Добавленная избыточная информация позволяет обнаруживать и исправлять ошибки, которые могли возникнуть при передаче кодированной информации по зашумленному каналу связи. Эта операция называетсядекодированием.
В 1969 году, при помощи искусственных спутников Mariner 6 и Mariner 7, было получено около двухсот фотографий Марса. Каждая фотография состояла из 658 240 восьмибитных пикселей. Таким образом, для каждой фотографии требовалось около 5-ти миллионов бит информации. Эти биты были кодированы кодом, исправляющим ошибки, и переданы со скоростью 16 200 бит в секунду на Землю, где они былиуспешно декодированы.

Постановка задачи

Была поставлена задача создать программную реализацию алгоритмов кодирования и декодирования двоичных кодов исправляющих ошибки: БЧХ-кодов и кодов Рида-Маллера, а также программу для работы с кодами, предоставляющая возможности кодирования и декодирования информации.
Из семейства БЧХ-кодов был выбран БЧХ(5, 15, 7), где
5 – длина информационногослова;
15 – длина кодового слова;
7 – минимальное расстояние кода.
Из семейства кодов Рида-Маллера (RM) был выбран RM(2, 5), где
2 – порядок кода Рида-Маллера
5 – задает длину кодового слова, 25=32.
Для написания программы была выбрана среда разработки Borland Delphi 6.

Реализация кодов

1 Общие сведения

Базовым классом всех кодов является TCode из модуля Code.pas. Сам же TCode являетсянаследником TComponent. TComponent входит в состав стандартной библиотеки классов Delphi VCL. Благодаря наследованию TCode от TComponent, экземпляры класса TCode (и его наследники) можно сохранять в потоки, и, при необходимости, восстанавливать их из потоков (под потоком подразумевается класс TStream, также входящий в состав стандартных библиотек Delphi). Это используется...
tracking img