Кодирование информации

Автор: Пользователь скрыл имя, 24 Марта 2011 в 13:40, курсовая работа

Описание работы

Объект исследования: кодирование информации.
Предмет исследования: основные алгоритмы экономичного и помехоустойчивого кодирования.
Целью нашего исследования является изучение теоретических основ и процесса кодирования информации, формирования экономичных и помехоустойчивых кодов на примере алгоритмов Хемминга, Хаффмана и Шеннона – Фано.

Содержание

Введение…………………………………….....2

Кодирование информации…………………3
Задача кодирования……………………...3
Экономичное кодирование……………...8
Помехоустойчивое кодирование………16
Практическая реализация кодирования….22
Реализация программы кодирования
по методу Хаффмана………………………...22

Реализация программы – эмулятора
терминала азбуки Морзе…………………….28

Заключение…………………………………...32

Список литературы…………………………..33

Работа содержит 1 файл

курсяк 1п3.doc

— 315.50 Кб (Скачать)

       Реализовано данное приложение средствами среды программирования Borland Delphi 7.

       Условно, всё приложение можно разделить на 3 части: «терминал», «кодер», «декодер». «Терминал» является непосредственной эмуляцией терминала азбуки Морзе. Путём обработки событий нажатия и отпускания клавиши мыши  на вкладке «терминал» главной формы, программа не только воспроизводит звук терминала (_morze.wav) в зависимости от продолжительности нажатия, но и переводит сообщение в строку кода Морзе, а затем и в текстовую с помощью массива morseArray, заполненного кодами букв в азбуке Морзе. 

       procedure TForm1.Timer1Timer(Sender: TObject);

       begin

         t:=t+1;

       end; 

       procedure TForm1.TabSheet1MouseDown(Sender: TObject; Button: TMouseButton;

         Shift: TShiftState; X, Y: Integer);

         var i:byte;

       begin

         timer1.Enabled := false;

         if t>20 then

                 begin

                 For i:=1 to 26 do

                     if ch = morseArray[i] then edit4.Text:=edit4.Text+chr(lg+i);

                   ch:='';

                   edit3.text:=edit3.Text+' ';

                 end;

         t:=0;

         timer1.Enabled := true;

         PlaySound('E:/TEMP/_morze.wav', 0, snd_sync or snd_async); 

       end; 

       procedure TForm1.TabSheet1MouseUp(Sender: TObject; Button: TMouseButton;

         Shift: TShiftState; X, Y: Integer);

       begin

          timer1.Enabled := false;

           if (t<=10) then

                       begin

                         edit3.Text:=edit3.Text+'.';

                         PlaySound(0, 0, snd_sync or snd_async);

                         ch:=ch+'.';

                       end;;

           if (t>10) then

                       begin

                         edit3.Text:=edit3.Text+'_';

                         ch:=ch+'_';

                       end;

           t:=0;

           timer1.Enabled := true;

       end; 

       Вкладка «кодер» представляет собой простое устройство для кодирование введённой строки в азбуку Морзе. Анализ и перевод строки осуществляется с помощью массива morseArray.

       procedure TForm1.Button2Click(Sender: TObject);

       var chIn:char;

           i:integer;

       begin

         Edit2.Text:='';

         i:=1;

         While i<=(length(Edit1.Text)) do

           begin

             chIn:=Edit1.text[i];

             edit2.Text:=edit2.Text+MorseArray[(ord(chIn)-64)]+' ';

             i:=i+1;

           end;

       end;

        Вкладка «декодер» осуществляет обратную задачу: переводит закодированную строку в текст, в соответствии с данным массива morseArray.

       procedure TForm1.Button3Click(Sender: TObject);

       var chIn:string;

           i,j:integer;

       begin

       Edit6.Text:='';

       i:=1;

         While Edit5.Text[i]<>'' do

           begin

             chIn:=chIn+Edit5.Text[i];

             if (Edit5.Text[i+1] = ' ') or (Edit5.Text[i+1] = '')  then

              begin

               for j:=1 to 26 do

                 if chIn = MorseArray[j] then begin Edit6.text:=Edit6.text+chr(lg+j); end;

               chIn:='';

               I:=I+1;

              end;

             i:=i+1;

           end;

       end; 
 
 
 
 
 
 

     ЗАКЛЮЧЕНИЕ

     В ходе курсовой работы была рассмотрена  задача кодирования, которая включает в себя:

     1.Обеспечение  экономичности передачи информации  посредством устранения избыточности.

     2. Обеспечение надежности (помехоустойчивости) передачи информации.

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

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

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

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

СПИСОК  ЛИТЕРАТУРЫ

    1. Аветисян Р.Д., Аветисян Д.О. Теоретические основы информатики. М.: РГГУ, 1997. – 169 с.
    2. Акритас А. Основы компьютерной алгебры с приложениями: Пер. с англ. – М., Мир, 1994 – 554 с.
    3. Лидовский В.И. Теория информации. - М., «Высшая школа», 2002г. – 120с.
    4. Матрос Д.Ш. Элементы абстрактной и компьютерной алгебры: Учеб. Пособие для студ. Пед. Вузов/Д.Ш. Матрос, Г.Б. Поднебесова – М.: Издательский центр «Академия», 2004.– 240 с.
    5. Потапов В.Н. Теория информации. Кодирование дискретных вероятностных источников, уч. пособие, НГУ, Новосибирск, 1999, 71 с.
    6. Скляр Б. Цифровая связь. Теоретические основы и практическое применение. Изд. 2-е, испр.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003 г. – 1104 с.
    7. http://ru.wikipedia.org/

Информация о работе Кодирование информации