на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Кодирование методом Файра
p align="left">Рассмотрим методику построения кодирующего устройства. Пусть требуется составить схему кодирующего устройства для многочлена

P(X)=X5+X2+X+1.

Схематичное изображение кодирующего устройства можно увидеть на рисунке 2.1.

Рис. 2.1. Схематичное изображение кодирующего устройства

Схема, изображенная на рис. 2.1, работает следующим образом. В исходном состоянии ключ К1 находится в положении 1, а ключ К2 замкнут. Все подлежащие кодированию информационные символы, начиная со старшего разряда, поступают одновременно на выход и через сумматор на входе в схему кодирования. После того как пройдет последний символ k, ключ К1 переключится в положение 2, а ключ К2 размыкается. После этого регистр делает m шагов, равных числу ячеек, т.е. восемь шагов. И весь остаток поступает на выход. Этот остаток представляет собой контрольные символы, следующие за информационными символами.

Принципиальная схема данного кодирующего устройства представлена в приложениях.

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

Поясним назначение выводов разъема:

XT1: Внешний ГТИ (генератор тактовых импульсов).

XT2: Вход кодирующего устройства. Подача входных импульсов.

XT3: Выход кодирующего устройства.

XT4: +5 Вольт

XT5: общий. (0 Вольт)

Перечень элементов, используемый в кодере - представлен также в приложении и таблице 2.1.

2.2 Выбор микросхем для реализации принципиальной схемы кодера

Таблица 2.1. Перечень элементов схемы

Поз. обозн.

Наименование

Количество

DD1, DD2

КР531ТМ8

2

DD3, DD4

КР1554ЛП5

2

Для реализации схемы памяти используются микросхемы серии КР531ТМ8, которые содержат по четыре D - триггера, имеющих общую цепь питания. У каждого триггера есть выходы Q и Q. Для реализации функции сложения по модулю 2 используются микросхемы серии КР1554ЛП5. Они содержат по четыре логических элемента исключающее ИЛИ.

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

3. Описание программных средств, разработанных в ходе реализации проекта

3.1 Структура системы

Для решения задачи предлагается объектно-ориентированный подход. Это наиболее перспективный подход к реализации любой задачи. Кроме того, язык MSVС++ 6.0 - это полностью объектно-ориентированный язык, включающий в себя удобные средства реализации этого подхода.

Объектно-ориентированный подход имеет преимущества перед другими методами, прежде всего, из-за его наглядности, структурированности: методы и переменные, логически связанные между собой, объединены в классы. Сообщение между различными классами доступно через имена этих классов.

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

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

Возможности MSVС++ 6.0 по решению задач, предполагающих работу с информацией разнообразны, поскольку на этом языке программирования можно реализовать практически любой алгоритм. Поставленную задачу можно решить, используя алгоритмы сложения по модулю 2. В языке С есть средство для решения второй проблемы. Сложение по модулю два осуществляется при использовании оператора ^. Он является эквивалентом оператора mod в языке программирования Pascal и реализует сложение по модулю два справа и слева стоящих от него операндов. Общая структура этой команды:

(Результат) = (Операнд1) ^ (Операнд2)

Результат сложения можно представить в виде таблицы

Таблица 3.1. Сложение по модулю два

Операнд 1

Операнд 2

Результат

0

0

0

0

1

1

1

0

1

1

1

0

Для конкретной реализации в программе должны содержаться массивы для хранения требуемых для работы алгоритма переменных: CODE - массив разрядов, входящих в сообщение, должен вводиться пользователем (9 разрядов - информационные). И массив G_CODE для закодированного сообщения (9 разрядов - информационные, 5 разрядов - проверочные).

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

3.2 Входные данные, форма представления результатов

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

3.3 Спецификация на программу в целом

Программа выполняет следующие функции:

1). Кодирование заданной битовой последовательности с помощью кодов Файра;

2) Схематично представляет две матрицы - дополнительную и единичную.

3) Выводит динамически результат колирования, т.е. достаточно только изменить входное сообщение и результат тут же просчитывается и выводится на экран.

Итак, входные данные:

BOOL information[8] - массив, куда заносятся биты сообщения, которые необходимо заколировать.

BOOL m[8] [7] - массив для хранения дополнительной матрицы, заранее посчитанной для кодера. Матрица имеет 8 строк, т. к. у нас 8 информционных бит и 7 столбцов, т. к. у нас 7 проверочных символов.

Выходные данные:

BOOL pro[7] - 7 проверочных символов, которые получены в результате кодирования.

При создании программы било сделано нововведение, а именно - программа написана полностью на API. Это позволило намного сократить полученный EXE-файл. А также увеличить скорость работы программы. Такое введение было сделано с целью получения дополнительного опыта в программировании. Т.к. на API был сделан полностью интерфейс со своими особенностями, то текст программы получился обширным, содержащий большое кол-во модулей, классов, объектов, переменных. В связи с этим, с расчетном задании не была приведена спецификация на программные модули.

3.4 Системные требования

486dx2-66

16 Mb RAM

2Mb Video Ram

Screen Resolution 800*600*16bit

HDD - 1 Mb

OS Windows 98, МЕ, ХР, Windows NT 4.0 или выше.

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

В программе широко использовались элементы Единого Пользовательского Интерфейса (Common User Access), а также элементы технологии TOP DOWN.

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

4. Результативная часть

4.1 Тестирование

Тестирование - это процесс, посредством которого проверяется правильность программы. Его цель - показать, что программа правильно работает в соответствии с проектными спецификациями.

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

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

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

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

При тестировании мы получили следующие примеры выполнения программы и алгоритма, что подтверждает правильность задания программы (в данном случае применялся метод черного ящика):

Приведем тестовую таблицу с введенными кодами, закодированными последовательностями, то есть покажем соответствие между входными и выходными данными.

Таблица 4.1. Тестирование программы

Введенный код

Проверочные символы

Код с проверочными символами

10000000

1110011

100000001110011

01000000

1001010

010000001001010

11111111

0100010

111111110100010

11110000

1111101

111100001111101

00000011

1001110

000000111001110

00000110

1111011

000001101111011

10101010

0111100

101010100111100

4.2 Описание пользовательского интерфейса

После запуска программы на выполнение на экране появляется диалоговое окно, содержащее 4 поля:

1) Поле ввода информационных бит.

2) Поле, иллюстрирующее единичную матрицу.

3) Поле, иллюстрирующее дополнительную матрицу.

4) Поле, иллюстрирующее закодированное сообщение.

4.3 Инструкция пользователю

Для ввода информационных бит - необходимо в поле ввода проставить галочки в тех битах, которые = 1. Там, где должны быть нули, оставить пустым.

После ввода информации - программа автоматически просчитывает выходной код и выводит его в поле ответа. Дополнительные иллюстрирующие поля показывают дополнительную информацию.

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

Заключение

В результате проделанной работы была построена математическая модель помехозащищенного группового кода Файра (15, 8), который кодирует информацию так, что при приеме может быть обнаружена пачка ошибок длиной 3 и исправлена пачка ошибок длиной 2 (bs = 2, br = 3). Данный код кодирует передаваемое сообщение из 8 бит, количество различных сообщений - 128.

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.