АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Самокорректирующиеся коды

Читайте также:
  1. РЕШЕНИЕ

 

В предыдущей лекции рассмотрено алфавитное кодирование (т.е. каждой букве входного алфавита присваивался элементарный код Bi). Пусть { A1,A2 ,A3,…As } – некоторое конечное подмножество попарно различных слов в алфавите I, имеющих одинаковую длину m. Такая ситуация может возникнуть, когда, например, выполнено предварительное алфавитное бинарное кодирование информации (сообщение состоит из цепочки 0 и 1). Если такую цепочку разбить, начиная с начала или конца, на участки одинаковой длины, кратные степени двойки (8, 16, 32 …), то вариантов таких участков будет конечное множество. Это дает возможность создать словарь { A1,A2 ,A3,…As } (где s = 2m) и передавать, запоминать не само сообщение, а последовательность ссылок на номера слов в словаре. Если предварительное кодирование осуществлялось бинарными элементарными кодами одинаковой длины, то такое кодирование в смысле уменьшения длины закодированного сообщения ничего не дает. Однако такой подход дает возможность строить коды, которые могут сами исправлять ошибки, возникающие от помех в линиях связи.

Очевидно, что каждое слово сообщения A допускает разложение вида A =Ai1,Ai2 ,Ai3,…Ain, и имеет единственное такое разложение. Если ограничиться предварительным бинарным кодированием, то Ai = a1 a2 a3…..am номера слов в словаре, записанные в двоичной системе (ai принимает значения 0 или1). Необходимо отметить, что каждый двоичный номер слова может быть однозначно записан и десятеричным числом.

Пусть S”(I) – подмножество всех слов, допускающих разложение указанного вида. Рассмотрим следующую схему кодирования:

A1® B1

A2® B2

A3® B3 (7.1)

….

As® Bs,

где Bi = b1 b2 b3 …bl элементарные двоичные коды, имеющие одинаковую длину l = m + k, при этом такие, чтобы по коду, полученному на выходе канала связи (помеха может изменить 0 на 1 или наоборот, но не может добавить или убрать элемент bi) однозначно восстановить код на входе канала и из него получить исходное сообщение.

 

Построение самокорректирующихся кодов было осуществлено Хеммингом. Рассмотрим случай, когда источник помех может внести не более одного инвертирования в элементарный код Bi (р =1). Вариантов получения элементарного кода Bi будет l +1 (правильный и l штук с инвертированием bi на каждой позиции). Для того, чтобы дополнительных разрядов в коде Bi хватило для кодирования l +1 случаев, необходимо выполнение следующего условия:

2 m 2l / (l + 1) (7.2)

Из этих соображений выбираем как наименьшее целое число, удовлетворяющее неравенству (7.2).

Дальнейшее построение будет состоять из трех этапов:

  1. Построение кодов Хемминга (описание алгоритма кодирования).
  2. Обнаружение ошибок в кодах Хемминга.
  3. Декодирование.

 


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.)