Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_chast_Proektirovanie_IS_TIPiS.docx
Скачиваний:
20
Добавлен:
21.08.2019
Размер:
940.3 Кб
Скачать

5. Помехоустойчивое кодирование, циклические коды, коды Хэмминга.

Кодирование - запись информации в виде сообщения и переход от одной формы записи информации к другой.

Код - правило, описывающее отображение одного набора знаков в другой набор знаков, а также множество образов при этом отображении.

Кодовое слово -это последовательность символов кодового алфавита, соответствующая одному символу исходного алфавита. Множество кодов делят на две большие группы: равномерные (код, в котором все кодовые слова состоят из одинакового количества символов кодового алфавита) и неравномерные (коды, в которых присутствуют кодовые слова разной длины).

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

Основная идея при составлении помехоустойчивых кодов заключается в том, чтобы принятая получателем последовательность символов после воздействия предполагаемых помех оставалась ближе к той последовательности, которая была сгенерирована источником информации, чем к другим последовательностям. При этом обычно степень близости двух последовательностей определяется числом одинаковых разрядов и называется расстоянием Хемминга. Практическая реализация этой идеи достигается введением при кодировании избыточности (дополнительных разрядов), что позволяет так сформировать кодовые слова, чтобы они удовлетворяли дополнительным условиям, проверка которых получателем дает возможность обнаружить и исправить ошибки.

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

Построение кода Хемминга: позволяет исправлять одиночные ошибки типа замещения. Пусть дано сообщения типа а=а1…аm кодируется словом b=b1…bn, n>m. Обозначим k=n-m. Пусть канал замещает не более одной ошибки типа замещения в слове длины n. При заданном n количество дополнительных разрядов k подбирается таким образом, чтобы 2k>=n+1. тогда имеем: 2k>=n+1 => (2n/(n+1))>=2n-k => (2n/(n+1))>=2mПредположим, что имеется код, содержащий m информационных разрядов и k контрольных разрядов. Запись на k позиций определяется при проверке на четность каждой из проверяемых k групп информационных символов. Пусть было проведено k проверок. Если результат проверки свидетельствует об отсутствии ошибок, запишем 0, если есть ошибка - 1. Запись полученной последовательности символов образует двоичное число.

Свойство кодов Хэмминга таково, что контрольное число указывает номер позиции, где произошла ошибка. При отсутствии ошибки в коде данная последовательность будет содержать только нули. Полученное число описывает таким образом n=(m+k+1) событий. Следовательно, справедливо неравенство 2k>=(m+k+1).