Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры автоматизация и моделирование в ИД Сулим.docx
Скачиваний:
119
Добавлен:
22.02.2019
Размер:
1.83 Mб
Скачать

14. Кодирование информации, кодирование как процесс представления информации в цифровой форме

Информация, поступающая в АСУ от датчиков, с клавиатурных устройств ЭВМ и по каналам связи может носить непрерывный и дискретный характер. Непрерывные сигналы перед вводом их в ЭВМ преобразуются в дискретную форму с помощью АЦП. Текстовая информация состоит из конечного числа символов.

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

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

При передаче информации в условиях помех - достоверность распознавания, кот. обеспечивается внесением избыточности. При кодировании информации обычно используются позиционные системы исчисления, при которых значения каждого символа зависят его положения (розера) по отношению к другим символам. Двоичный код неудобен при вводе и выводе информации, т. к. оператору трудно оценивать непривычные числа. Поэтому получили распространение и другие системы исчисления. Наиболее распространены восьмеричные и двоичные десятичные исчисления. В восьмеричной системе для записи всех возможных чисел используются восемь цифр от 0 до 7. Перевод из восьмеричной системы в двоичную осуществляется заменой каждой восьмеричной цифры равным двоичным трехразрядным числом. F.ex:

714 = 111 001 101 (111 = 7,001 = 1,101 = 4)

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

15. Код Шеннона–Фано

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

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

Последовательность построения такого кода можно изложить в следующем виде:

1. Буквы первичного алфавита записываются в таблицу в порядке убывания их вероятности появления в сообщении.

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

Например:

z1. Вероятность появления Рz1=0,27 Pz2=0,23 Pz3=0,16 Pz4=0,16 Pz5=0,1 Pz6=0,08

Рz1=0,27

Pz2=0,23 0,5

Pz3=0,16

Pz4=0,16

Pz5=0,1

Pz6=0,080,5

Это идеальный пример, но нужно как можно ближе подгонять к половине!! При чем не переставляя буквы местами.

3. Буквы первой группы в качестве первого символа получают 1. А буквам второй группы – 0.

4. Эти две подгруппы снова разбиваются в свою очередь на две подгруппы. С условием, чтобы вероятности в этих подгруппах были приблизительно одинаковыми и равны ¼. Каждой подгруппе присваивается 1 первой половине, 0 – второй половине. Таким образом, разбиваются так подгруппы, пока не дойдет до одной буквы.

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