Преобразование и кодирование информации. Код Хемминга
Изучение метода преобразования и кодирования информации, используемого для передачи данных по физическим каналам вычислительных сетей и телекоммуникаций. Разработать диалоговой программы, формирующей сообщение в виде классического кода Хемминга.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 22.03.2015 |
Размер файла | 162,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ЛАБОРАТОРНАЯ РАБОТА №2
Преобразование и кодирование информации. Код Хемминга
Цель работы: изучить метод преобразования и кодирования информации «код Хемминга», используемый для передачи данных по физическим каналам вычислительных сетей и телекоммуникаций.
Задание: разработать и реализовать диалоговую программу, формирующую сообщение в виде классического кода Хемминга (7,4). Смоделировать ситуацию возникновения ошибки в коде при передачи, проанализировать полученный код при приеме.
Ход работы:
1. На рис.1 изображено окно рабочей программы. Программа моделирует работу передатчика сообщения -> модулятора -> демодулятора -> приемника сообщения. При передаче сообщения может произойти ошибка, в случае которой, по результатом сравнения синдрома кода, выводится сообщение о неверной передаче сообщения.
Рисунок 1
код хемминг кодирование информация
2. Листинг программы
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SETI_LABA1
{
public partial class Form1 : Form
{
public bool AddMod2(bool a, bool b)
{
if (a != b) return true;
else return false;
}
public string ToStr(bool a)
{
if (a == true) return "1";
else return "0";
}
public bool ToBool(int a)
{
if (a == 1) return true;
else return false;
}
public bool ToBool(string a)
{
if (a == "1") return true;
else return false;
}
public string Invert(string a)
{
if (a == "1") return "0";
else return "1";
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
private void button1_Click_1(object sender, EventArgs e)
{
textBox12.Text = textBox1.Text;
textBox11.Text = textBox2.Text;
textBox10.Text = textBox3.Text;
textBox9.Text = textBox4.Text;
textBox16.Text = ToStr(AddMod2(AddMod2(ToBool(textBox1.Text), ToBool(textBox2.Text)), ToBool(textBox3.Text)));
textBox15.Text = ToStr(AddMod2(AddMod2(ToBool(textBox2.Text), ToBool(textBox3.Text)), ToBool(textBox4.Text)));
textBox14.Text = ToStr(AddMod2(AddMod2(ToBool(textBox1.Text), ToBool(textBox2.Text)), ToBool(textBox4.Text)));
textBox22.Text = textBox12.Text;
textBox21.Text = textBox11.Text;
textBox20.Text = textBox10.Text;
textBox19.Text = textBox9.Text;
Random r = new Random();
if (r.Next(2) == 0)
{
int rand = r.Next(5);
if (rand == 0) textBox22.Text = Invert(textBox22.Text);
else if (rand == 1) textBox21.Text = Invert(textBox21.Text);
else if (rand == 2) textBox20.Text = Invert(textBox20.Text);
else if (rand == 3) textBox19.Text = Invert(textBox19.Text);
}
textBox18.Text = ToStr(AddMod2(AddMod2(AddMod2(ToBool(textBox22.Text), ToBool(textBox21.Text)), ToBool(textBox20.Text)), ToBool(textBox16.Text)));
textBox17.Text = ToStr(AddMod2(AddMod2(AddMod2(ToBool(textBox21.Text), ToBool(textBox20.Text)), ToBool(textBox19.Text)), ToBool(textBox15.Text)));
textBox13.Text = ToStr(AddMod2(AddMod2(AddMod2(ToBool(textBox22.Text), ToBool(textBox21.Text)), ToBool(textBox19.Text)), ToBool(textBox14.Text)));
textBox8.Text = textBox22.Text;
textBox7.Text = textBox21.Text;
textBox6.Text = textBox20.Text;
textBox5.Text = textBox19.Text;
if (textBox18.Text == "0" && textBox17.Text == "0" && textBox13.Text == "0") label1.Text = "Сообщение передано верно";
else label1.Text = "Ошибка при передаче!!!";
}
}
}
Вывод
В ходе проделанной работы мы изучили метод преобразования и кодирования информации «код Хемминга», используемый для передачи данных по физическим каналам вычислительных сетей и телекоммуникаций.
Размещено на Allbest.ru
Подобные документы
Изучение принципов построения корректирующего кода Хемминга, предназначенного для обнаружения и исправления одиночной ошибки. Анализ технических средств надежной передачи больших массивов данных. Примеры моделирования в Proteus для исходных сообщений.
курсовая работа [1,8 M], добавлен 25.05.2013Повышение верности передачи информации, ввод дополнительной избыточности. Статистика ошибок. Основные определения и понятия теории кодирования. Способность кода исправлять ошибки. Классификация помехоустойчивых кодов. Код Хемминга, циклические коды.
реферат [66,4 K], добавлен 01.11.2011Этапы проектирования микропроцессорной системы для контроля переданной информации использованием модифицированного кода Хемминга. Назначение микропроцессорного комплекта, генератора тактовых импульсов. Разработка аппаратной и программной части системы.
курсовая работа [576,2 K], добавлен 21.01.2011Представление и классификация кодов, построение кода с заданной коррекцией. Характеристика корректирующих кодов (код Хемминга, код БЧХ). Разработка схемотехнической реализации кодера и декодера. Выбор способа представления информации в канале передачи.
курсовая работа [131,1 K], добавлен 02.01.2011Функции основных блоков структурной схемы системы передачи дискретных сообщений. Определение скорости передачи информации по разным каналам. Принципы действия устройств синхронизации, особенности кодирования. Классификация систем с обратной связью.
курсовая работа [478,7 K], добавлен 13.02.2012Цель и понятие кодирования сообщений. Засекречивание передаваемой информации. Помехоустойчивое кодирование. Экономное кодирование - сокращения объема информации и повышения скорости ее передачи или сокращения полосы частот, требуемых для передачи.
реферат [51,3 K], добавлен 11.02.2009Использование помехоустойчивого кодирования в системах передачи информации. Построение структурной схемы восьмиразрядного микроконтроллера M68HC11. Разработка алгоритма кодирования и декодирования информации. Подключение внешних портов ввода/вывода.
курсовая работа [1,7 M], добавлен 05.09.2014Формы представления информации, ее количественная оценка. Сущность и первичное кодирование дискретных сообщений. Совокупность технических средств, предназначенных для передачи информации. Система преобразования сообщения в сигнал на передаче и приеме.
реферат [84,0 K], добавлен 28.10.2011Исследование и специфика использования инверсного кода и Хемминга. Структурная схема устройства передачи данных, его компоненты и принцип работы. Моделирование датчика температуры, а также кодирующего и декодирующего устройства для инверсного кода.
курсовая работа [530,1 K], добавлен 30.01.2016Схема кодирования звуковой информации. Аналоговая и дискретная формы представления информации. Выделение количества уровней громкости в процессе кодирования звуковой информации. Качество двоичного кодирования звука. Расчет информационного объема.
презентация [613,8 K], добавлен 26.11.2012