Передача информации по каналу с решающей обратной связью
На первом этапе тестирования вводилось несколько новых данных, и с ними проводились различные операции. Результаты этого тестирования показали правильную работу модуля, обеспечивающего ввод данных (проверялась защита от некорректного ввода и запоминание данных в память),
Результаты тестирования показали устойчивую работу программы .
Тестирование показало, что программа полностью соответ
ствует техническому заданию. Верно разработаны алгоритмы и реализованы процедуры кодирования, декодирования и исправления ошибок.
При тестировании мы получили следующие примеры выполнения программы и алгоритма, что подтверждает правильность задания программы (в данном случае применялся метод черного ящика):
Приведем тестовую таблицу с введенными кодами, закодированными последовательностями, то есть покажем соответствие между входными и выходными данными.
Таблица 4.1. Тестирование программы
Введенный код |
Код с проверочными символами |
Передаваемый код |
Декодированный код |
101010101 |
10101010111100 |
11101010111100 |
10101010111100 |
010000001 |
01000000111101 |
01000000111001 |
01000000111101 |
010100000 |
01010000001111 |
01010000000011 |
невозможно декодировать |
111111110 |
11111111000101 |
11111111000101 |
11111111000101 |
4.2 Описание пользовательского интерфейса
После запуска программы на экране появляется меню, содержащее 4 пункта:
1. Кодировка
2. Помощь
3. О программе
4. Выход
После активации пункта номер 1 открывается окно, отображающее процессы кодирования и декодирования.
4.3. Инструкция пользователю.
Изменение кода происходит с помощью курсорных клавиш и клавиши пробел. Нажатием Enter пользователь подтверждает введенную кодовую комбинацию. Далее отображается закодированное сообщение. Его можно «искажать» по усмотрению пользователя. Дальнейшее нажатие клавиши Enter приведет к декодированию сообщения, если это возможно, в противном случае выводится соответствующее сообщение.
4.4 Выводы
Написанная программа полностью соответствует ТЗ, правильно кодирует и декодирует циклический код (14,9), а также исправляет ошибки.
5. Заключение
В результате проделанной работы была построена математическая модель помехозащищенного циклического кода (14,9), который кодирует информацию так, что при приеме может быть обнаружено две ошибки и одна из них исправлена. Данный код кодирует передаваемое сообщение из 9 бит, количество различных сообщений – более 256 (согласно ТЗ).
Математическая модель данного кода представляет собой программу, написанную с помощью языка Borland Pascal 7.0. Составленная программа работает в соответствии с техническим заданием и позволяет кодировать и декодировать вводимые сообщения.
Также в данной работе были разработаны структурная схема передачи данных с решающей обратной связью, функциональные и принципиальные схемы кодера и декодера с решателями в соответствии с техническим заданием.
Полное описание проведенной работы с пояснительными рисунками, таблицами и различными расчетами содержатся в данной расчетно-пояснительной записке. Графическая часть записки – структурная, функиональная и принципиальная схемы – выполнена в соответствии с требованиями ЕСКД и вынесены в приложение. А также к расчетно-пояснительной записке прилагаются документированный текст программы, перечень элементов, используемых для построения принципиальных схем, текст программы решателя декодера, написанный на языке VHDL и техническое задание.
Также было проведено моделирование работы кодера, декодера и решателей на программе MAX+plus II, где были получены соответствующие временные диаграммы, которые также вынесены в приложение.
На основании вышеизложенного материала можно сделать вывод, что задача, поставленная в техническом задании, – выполнена.
Текст программы на языке VHDL для решателя декодера
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY dec5 IS
PORT
(R1, R2, R3, R4, R5: IN STD_LOGIC;
ERCOR, NXT: OUT STD_LOGIC);
END dec5;
ARCHITECTURE decoder5 OF dec5 IS
BEGIN
process (R1, R2, R3, R4, R5)
begin
if (R1='0' and R2='0' and R3='0' and R4='0' and R5='0') then
ERCOR<='0';
NXT<='1';
elsif (R1='1' and R2='0' and R3='0' and R4='0' and R5='0') then
ERCOR<='1';
NXT<='0';
elsif (R1='0' and R2='1' and R3='0' and R4='0' and R5='0') then
ERCOR<='1';
NXT<='0';
elsif (R1='0' and R2='0' and R3='1' and R4='0' and R5='0') then
ERCOR<='1';
NXT<='0';
elsif (R1='0' and R2='0' and R3='0' and R4='1' and R5='0') then
ERCOR<='1';
NXT<='0';
elsif (R1='0' and R2='0' and R3='0' and R4='0' and R5='1') then
ERCOR<='1';
NXT<='0';
else
ERCOR<='0';
NXT<='0';
end if;
end process;
END decoder5;
Документированный текст программы
program shhh;
uses Crt;
const
On=516; {курсор включён}
Off=1600; {курсор выключен}
n=14; {общее число символов сообщения}
k=9; {число информационных символов}
s=1; {число исправляемых символов}
{Образующая матрица}
a:Array[1 k,1 n]Of Byte=((0,0,0,0,0,0,0,0,1,0,0,1,1,1),
(0,0,0,0,0,0,0,1,0,0,1,1,1,0),
(0,0,0,0,0,0,1,0,0,1,1,1,0,0),
(0,0,0,0,0,1,0,0,0,1,1,1,1,1),
(0,0,0,0,1,0,0,0,0,1,1,0,0,1),
(0,0,0,1,0,0,0,0,0,1,0,1,0,1),
(0,0,1,0,0,0,0,0,0,0,1,1,0,1),
(0,1,0,0,0,0,0,0,0,1,1,0,1,0),
(1,0,0,0,0,0,0,0,0,1,0,0,1,1));
stepen=6; {степень образующего многочлена=6, т.к.
порядковый номер степени начинаем
отсчитывать не с 0, а с 1 }
{Образующий многочлен :
X^5 + X^2 + X + 1}
Polynom:Array[1 stepen]Of byte=(1,0,0,1,1,1);
MenuColor=3; {цвет активного пункта меню}
GroundColor=white; {цвет фона}
CodeLine=5; {номер строки ввода кода}
G_CodeLine=6; {номер строки закодированного сообщения}
D_CodeLine=8; {номер строки искажённого сообщения}
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Арифметическое кодирование. Кодирование длин повторений
- Конденсатор переменной емкости
- Аппарат для ультразвуковой терапии - обобщенная структура, применение ультразвука в хирургии
- Моделирование многокаскадного транзисторного усилителя
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем