Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПТЦА.docx
Скачиваний:
50
Добавлен:
12.02.2016
Размер:
135.4 Кб
Скачать

1.4 Виконати ефективне кодування визначених літер прізвища, при умові, що отримане

за допомогою кодової таблиці число - десяткове і говорить про те, скільки разів у "повідомленні" зустрічається дана літера (при цьому, "повідомлення" складається всього з 8 обраних літер).

Визначити ефективність проведенного кодування та порівняти її з ентропією джерела повідомлення і ефективністю рівномірного кодування, тобто з випадком, коли довжина коду для кожної літери одна й та сама. За допомогою отриманих кодів скласти повідомлення, яке складається з визначених літер у тій послідовності, в якій вони зустрічаються у прізвищі. Визначити довжину (в бітах) повідомлення при ефективному і рівномірному кодуванні.

С 35 0,12

А 78 0,3

Л 33 0,11

Ш 17 0,06

Н 23 0,08

И 11 0,04

К 53 0,19

Д 28 0,1  

∑278 ∑100%

Літера

Імовірність

Ефективний код

Не ефективний код

код

довжина

код

довжина

А

0,3

11

2

000

3

К

0,19

10

2

001

3

С

0,12

011

3

010

3

Л

0,11

010

3

011

3

Д

0,1

001

3

100

3

Н

0,08

0001

4

101

3

Ш

0,06

00001

5

110

3

И

0,04

00000

5

111

3

H = = - ( 0.3*log20.3 + 0.19*log20.19 + 0.12*log20.12 + 0.11*log20.11 + 0.1*log0.1 +

0.08*log20.08 + 0.06*log20.06 + 0.04*log20.04 ) = - ( - 0.522 – 0.456 – 0.3684 – 0.3509 – 0.33 – 0.2936 – 0.2442 – 0.1868) = - ( - 2.7519) = 2.7519

Lсер. не еф = = 3 =3

Lсер. еф = = 2*0.3 + 2*0.19 + 3*0.12 + 3*0.11 + 3*0.1 + 4*0.08 + 5*0.06 + 5*0.04 = 0.6 + 0.38 + 0.24 + 0.33 + 0.3 + 0.32 + 0.3 + 0.2 = 2.67

Lсер. еф. < H < Lсер. не еф.

011 11 010 00001 0001 00000 10 001 27 біт

010 000 011 110 101 111 001 100 24 біт

1.5 Для шістнадцяти розрядного двійкового коду (1ц1л)(2ц1л)(1ц8л)(2ц8л) сформувати код Геммінга (Hamming) і продемонструвати його реакцію на однократний збій. Результати подати у вигляді таблиці.

355316 = 00110101010100112

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

1

0

0

0

0

1

1

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

k1

k2

i3

k4

i5

i6

i7

k8

i9

i10

i11

i12

i13

i14

i15

k16

i17

i18

i19

i20

i21

1 0 0 0 0 1 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1

(1)

k1 = i3 # i5 # i7 # i9 # i11 # i13 # i15 # i17 # i19 # i21 = 0 # 0 # 1 # 0 # 0 # 0 # 0 # 1 # 0 # 1 = 1

k2 = i3 # i6 # i7 # i10 # i11 # i14 # i15 # i18 # i19 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 0 # 0 = 0

k4 = i5 # i6 # i7 # i12 # i13 # i14 # i15 # i20 # i21 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 1 # 1 = 0

k8 = i9 # i10 # i11 # i12 # i13 # i14 # i15 = 0 # 1 # 0 # 1 # 0 # 1 # 0 = 1

k16 = i17 # i18 # i19 # i20 # i21 = 1 # 0 # 0 # 1 # 1 = 1

K1 = i3 # i5 # i7 # i9 # i11 # i13 # i15 # i17 # i19 # i21 = 0 # 0 # 1 # 0 # 0 # 0 # 0 # 1 # 1 # 1 = 0

K2 = i3 # i6 # i7 # i10 # i11 # i14 # i15 # i18 # i19 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 0 # 1 = 1

K4 = i5 # i6 # i7 # i12 # i13 # i14 # i15 # i20 # i21 = 0 # 1 # 1 # 1 # 0 # 1 # 0 # 1 # 1 = 0

K8 = i9 # i10 # i11 # i12 # i13 # i14 # i15 = 0 # 1 # 0 # 1 # 0 # 1 # 0 = 1

K16 = i17 # i18 # i19 # i20 # i21 = 1 # 0 # 1 # 1 # 1 = 0

K # k = (K16 # k16)(K8 # k8)(K4 # k4)(K2 # k2)(K1 # k1) = (0 # 1)(1 # 1)(0 # 0)(1 # 0)(0 # 1) = 100112