Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТИ / Lec / ТИ (Best).doc
Скачиваний:
127
Добавлен:
17.03.2015
Размер:
1.01 Mб
Скачать

Блочное кодирование

Пусть первичный алфавит содержит 2-е буквы: а и б. p(A) = 0.7; p(B) = 0.3

H = - 0.7*log 0.7 – 0.3 log 0.3 = 0.881 бит/символ

Составим новый алфавит из 2-х буквенных комбинаций

АА

0.49

1

АВ

0.21

0

1

ВА

0.21

0

0

1

ВВ

0.09

0

0

0

Lср = 1 * 0.49 + 2 * 0.21 + 3 * 0.21 + 4 * 0.09 = 1.81 бит

На одну букву

бит < 1 lср > H 3%

Пример: Составим алфавит из трёх буквенных комбинаций.

Буква

Вероят.

1

2

3

4

ААА

0.343

1

1

ААВ

0.147

1

0

АВА

0.147

0

1

1

ВАА

0.147

0

1

0

АВВ

0.063

0

0

1

1

ВАВ

0.063

0

0

1

0

ВВА

0.063

0

0

0

1

ВВВ

0.027

0

0

0

0

lср = 2.686 бит

.895 бит - это больше 1,5% и H, следовательно, можно делить по четыре группы.

Избыточность от округления

Пример: Кодируются цифры от 0 до 10. Чтобы их представить в виде двоичных, надо

23<10<24

4 бита

1 Символ – 4 бита

Кодируем блоки по 2 цифры

00

01

99

Для передачи информации с помощью двоичной системы 26<99<27

7 бит

На 1 символ: 7/ 2 = 3,5 бита

Кодируются блоки по 3 цифры

000

210 = 1024, 10 бит информации, следовательно, на один символ: 10/3 = 3,3 бита

001

999

Подсчитаем энтропию

Н = log n = log 10 = 3,32 бит

Чтобы определить избыточность, вызванную округлением, воспользуемся:

где m1 – число символов первичного алфавита;

m2 – число символов вторичного алфавита;

L – длина кодовой комбинации.

,

Пример: Передается алфавит из 5 символов: 1, 2, 3, 4, 5, следовательно, m1=5 с помощью двоичных символов 0,1 , следовательно, m2=2.

Для передачи сообщения потребуется:

D0 – избыточность от округления

- коэффициент;

К – большее целое число.

Пример:

Пример: Определить избыточность сообщений от округления при побуквенном и поблочном кодировании, если кодируются цифровые сообщения и передаются в двоичном коде. Кодирование осуществляется блоками по 4, 5, 6 цифр.

Первичный алфавит m1=10

Вторичный алфавит m2 = 2

Первичный алфавит из 2-х букв m1=10000 m2=2

Первичный алфавит из блоков по пять m1=100000

Кодируются символы по шесть букв m1=106

, следовательно, этот алфавит наиболее близок к оптимальному.

Код Хафмана

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

Методика построения кодов следующая:

Пусть есть алфавит А, содержащий буквы а1, а2, …, аn, вероятности появления которых р1, р2,…, рn. Буквы алфавита располагаем в порядке убывания их вероятностей .Берем две последние буквы и объединяем их в одну букву b. Получаем новый алфавит А1

а1, а2, …, аn-2 b

p1, р2,…, рn-2 pn-1 + pn

Алфавит А1 называют сжатым, полученным из алфавита А путем однократного сжатия.

Буквы алфавита А1 располагаем в порядке убывания их вероятностей. Затем проводим процедуру сжатия, получаем алфавит А2. Продолжаем процедуру сжатия до тех пор, пока у нас не останется 2 буквы.

Буква

а1

а2

а3

а4

а5

а6

А

Вероятность

0,4 0

0,2 10

0,2 111

0,1 1101

0,05 11001

0,05 11000

Сжатые алфавиты

А1

0,4 0

0,2 10

0,2 111

0,1 1101

0,1 1100

А2

0,4 0

0,2 10

0,2 111

0,2 110

А3

0,4 0

0,4 11

0,2 10

А4

0,6 (1)

0,4 (0)

Соседние файлы в папке Lec