Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
00666.doc
Скачиваний:
84
Добавлен:
23.12.2018
Размер:
12.14 Mб
Скачать

3.6Коды кодирования источника информации

Код Хаффмана и некоторые другие коды, например, код LZW, позволяют представить обрабатываемую информацию без потерь в цифровом виде меньшим количеством бит. Они направлены на использование наиболее экономного способа представления в цифровом виде аналоговой информации. Эти коды относятся к кодам кодирования источника информации: непосредственно получаемого числового значения отсчета видеосигнала, звукового сигнала и т.п.

Код Хаффмана. При кодировании по Хаффману в первую очередь анализируется информация, содержащаяся в сообщении, определяется вероятность появления в нем определенных символов. Затем все символы располагаются в порядке убывания появления их вероятностей. Символы с большой вероятностью появления кодируются минимальным количеством бит (коротким словом), а символы с малой вероятностью появления — большим количеством бит (длинным цифровым словом, если слова меньшей длины уже использованы). Основная задача — использовать для передачи сообщения воз- можно меньшее количество бит за счет предоставления наиболее вероятных символов цифровыми словами наименьшей длины, а менее вероятных — цифровыми словами большей длины. Поэтому код Хаффмана представляет собой совокупность цифровых слов переменной длины. Например, в текстах на русском языке наиболее часто встречаются буквы Р, О, И, Е, П. Для увеличения скорости передачи текста (информации) они кодируются очень коротким цифровым словом — одним или двумя битами в 8-битовом слове. Менее встречаемые буквы, такие как Ь, Ъ, Ф и т.д. кодируются большим количеством бит — более длинным словом. Код Хаффмана обладает свойством префексности, т. е. конец одного его слова не является началом следующего цифрового слова, что позволяет обойтись без разделителей между словами. Следует отметить, что кодирование по Хаффману не эффективно, если значения элементов в сообщении распределены статистически равномерно, чего при передаче чернобелых изображений практически не бывает.

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

3.7 Коды кодирования данных канала

Полученные при кодировании кодом Хаффмана или другими подобными кодами сообщения в сжатой экономной цифровой форме очень чувствительны к воздействию помех, которые могут привести к потере целых блоков кодированной информации. Поэтому существуют такие коды, как коды Хемминга, Рида — Соломона, сверхточные коды и т.п., позволяющие повысить помехоустойчивость пере- даваемой цифровой информации по каналу приема/передачи, что очень важно. Эти коды относятся к другой большой группе кодов к кодам кодирования данных канала.

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

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

Схема содержит трех входовый элемент, выполняющий функцию ИСКЛЮЧАЮЩЕЕ ИЛИ (не ВКЛЮЧАЮЩЕЕ ИЛИ). Особенность этой функции в том, что, если на вход(ы) ее схемы, но не на все, подать нечетное количество логических единиц, то на выходе появится также логическая единица. При четном количестве на входах на выходе появится нуль. Состояние на выходе схемы ИСКЛЮЧАЮЩЕЕ ИЛИ в зависимости от количества на входах показано в табл

Как видно, в каждой строке таблицы, отражающей передаваемое цифровое слово, всегда содержится четное количество единиц: О, 2, 4. Если в передаваемом слове появится ошибка, то оно будет содержать нечетное количество единиц. Это фиксируется детектором ошибок, который находится на приемной стороне и представляет четырехвходовый логический элемент ИСКЛЮЧАЮЩЕЕ ИЛИ. Детектор ошибок обнаруживает нечетное количество принятых единиц и на его выходе появляется единица — сигнал ошибки. Система с использованием контрольного бита четности обнаруживает ошибку, но не исправляет ее. Исправить ее можно при помощи кода Хемминга, который содержит в цифровом слове несколько дополнительных бит контроля четности и представляет линейный код с возможностью исправления в слове любой одиночной ошибки. При необходимости исправления нескольких кратных ошибок коды Хемминга обобщаются, что приводит к кодам Боуза — Чоудхури- Хокенгема (БЧХ). Эти коды весьма эффективны и обеспечивают хорошее исправление ошибок, довольно простое аппаратное построение (с использованием сдвиговых регистров), кодирование и декодирование. Коды БЧХ при необходимости могут также обобщаться и получаются сложные линейные коды Рида—Соломона, дающие возможность исправления блоковых ошибок.

Перемежение

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

Цель перемежения следующая. В условиях плохого приема при воздействии помех может произойти потеря целой, рядом стоящей, совокупности бит или появление группы ошибок. Если не использовать перемежение, то возможная потеря совокупности бит принадлежала бы одному или двум кодовым словам, и эту потерю практически нельзя было бы восстановить на приемной стороне. Благо- даря перемежению, потерянная совокупность бит распределяется ( при восстановлении в декодере на приемной стороне первоначального порядка следования ) на несколько не рядом стоящих слов и восстанавливается различными исправляющими кодами. Известно несколько способов перемежения: диагональное, сверхточное, межблоковое и блоковое.

Наиболее простым и распространенным из них является блоковое. Оно представляет собой прямоугольную блок-матрицу, со- стоящую из К кодовых слов (строк), каждое из которых содержит и бит, что образует и столбцов. Считывание данных (обход матрицы) при передаче выполняется сверху- вниз, как показано на рис. 3.8.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]