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

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

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

Тестирование показало, что программа полностью соответ

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

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

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

Таблица 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; {номер строки искажённого сообщения}

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15 
 16  17 


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы