Скачиваний:
165
Добавлен:
18.10.2019
Размер:
686.58 Кб
Скачать

2)Кодового дерева;

3)Геометричної моделі;

4)Матриці.

2.У чому полягає спосіб зображення комбінації коду у вигляді кодового дерева?

Комбінації розміщуються в його вузлах.Складається з точок і ліній, точкивузли, а лінії які їх з’єднують ребрами. Перший вузол – корінь дерева, а кількість ребер які треба пройти від кореня до будь-якого вузла – рівнем, або порядком цього вузла.2

3.У чому полягає спосіб зображення комбінацій коду у вигляді геометричної моделі?

4.Які особливості матричного способу подання коду?

5.Чим різняться систематична та статистична надмірності повідомлень і кодів?

6.Що таке оптимальне кодування?

7.На чому ґрунтується побудова оптимального коду на основі алгоритму Шеннона-Фано?

Лабораторна робота №6

Тема: Основні характеристики кодів. Первинне кодування.

Мета: Розглянути класифікацію двійкових кодів та їх характеристики. Ознайомитися із простими (первинними) двійковими кодами.

Порядок виконання роботи:

1.Визначив вісім десяткових та двозначних кодів для унікальних літер прізвища та імені, використавши номер варіанту та кодову таблицю.

2.Визначив кодову відстань між комбінаціями А і В двійкового коду та записав всі кодові відстані.

3.Закодував десяткове число двійково-десятковими кодами: з додатною вагою розрядів; з додатною і від’ємною вагою розрядів; з самодоповненням: Айкена та із надмірністю 3.

4.Перетворив у двійковий код Грея комбінацію двійкового простого коду та зворотній процес.

Контрольні запитання:

1.Які коди належать до первинних (простих)?

Шенона-Фанно, Хаффмена, Морзе.

2.Основні характеристики кодів?

3.Поясніть як обчислити відстань Хеммінга?

Додати по модулю 2 дві комбінація, і кількість біт які відрізняються і є відстань.

4.Як впливає мінімальна кодова відстань простих кодів?

5.Які особливості побудови ДДК з додатною вагою розрядів?

6.Які особливості побудови ДДК з додатною та від’ємною вагою розрядів?

7.Які особливості побудови ДДК із само-доповненням?

8.Які особливості побудови рефлексних кодів (коду Грея)?

Лабораторна робота №7

Тема: Двійкові коди, що виявляють помилки.

Мета: Розглянути класифікацію двійкових кодів, що виявляють помилки та навчитися їх побудові. Закріпити знання про коди і кодування, класифікацію кодів та способи подання кодів.

Порядок виконання роботи:

1.Визначив вісім двозначних кодів для унікальних літер прізвища та імені, використовуючи номер варіанту та кодову таблицю.

2.Закодував комбінацію А двійкового простого коду двійковими кодами, що виявляють помилки, згідно варіанта, поданого в таблиці 7.1. Показав на прикладі виявлення помилок, кількість яких визначається заданим варіантом, та порівняв надмірності цих кодів.

ПРН (1)

00101000 1

00111000 1 помилка R= 1-n/(n+1)

ОКЗ (1)

00101000 01

01101000 01 помилка R=1-k/(k+2)

ІК(3)

01010001 10101110

00010001 10101110 помилка R=1/2

КБ(1)

01010001 1100

01010001 1010 помилка r=log2(8+1)=4

5 – 0011 = 1100 R=1-r/n

КК(1)

01010101 0110011001100110

01010101 0110111001100110 помилка R=1/2

ПП(1)

01010101 01010101

01010101 01110101 помилка R=1/2

ПВ(6)

01010001 000111

01010001 001011 помилка R=1-(log2Cmn)/n

ПРП (1)

01010001 1

01110001 1 помилка R=1-n/(n+1)

Контрольні запитання:

1.Які коди належать до кодів, що виявляють помилки?

2.Де використовуються коди, що виявляють помилки?

3.Як впливає мінімальна кодова відстань коду на його здатність виявляти помилки?

4.Які особливості побудови двійкового коду з перевіркою на парність чи на непарність?

5.Які особливості побудови двійкового інверсного коду (код Бауера)?

6.Які особливості побудови двійкового коду із постійною вагою?

7.Які особливості побудови двійкового коду Бергера, коду із кількістю одиниць кратною трьом?

8. Чим відрізняється двійковий код із простим повторенням від інверсного?

9.Яка надмірність двійкових кодів із перевіркою на парність, інверсного та з простим повторенням?

10.Охарактеризуйте кореляційний код та опишіть метод його побудови. 11.Як визначається надмірність двійкових кодів, що виявляють помилки? 12.Практичні завдання + лекція на тему: “Коди, що виявляють помилки”.

Лабораторна робота №8

Тема: Двійкові коди, що виправляють однократні помилки.

Мета: Розглянути класифікацію двійкових кодів, що виправляють помилки та навчитися їх побудові. Закріпити знання про коди, що виявляють помилки.

Порядок виконання роботи:

 

Код Хеммінга

 

 

 

 

Код Елайеса

 

Код Бергера

 

 

Код з багатократним по-

 

ЛГСК(кількістьдозво-

 

 

 

 

 

 

 

 

 

вторенням / повторення

 

 

лених комбінацій)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0101 0001 0101 0111

 

0010 0011 0111

 

0010 0111 0001

 

0001 0111 /0010

 

 

 

 

 

 

16

 

 

1. Закодував комбінацію кодом Хеммінга.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0101000101010111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k=16, r=5, n=21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

 

0

 

1

 

0

 

1

0

 

0

0

0

1

 

0

 

1

0

0

1

0

 

1

1

1

 

 

 

 

1

2

3

 

4

 

5

 

6

 

7

8

 

9

10

1

12

 

13

14

15

16

17

18

 

19

20

21

 

 

 

r1=3+5+7+9+11+13+15+17+19+20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r2=3+6+7+10+11+14+15+18+19

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r3=5+6+7+12+13+14+15+20+21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r4=9+10+11+12+13+14+15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r5=17+18+19+20+21

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r1=0+1+0+1+0+0+0+0+1+1+1=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r2=0+0+1+0+0+1+0+0+1=1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r3=1+0+1+1+0+1+0+1+1=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r4=0+0+0+1+0+1+0=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r5=1+0+1+1+1=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S={11000}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Робимо помилку.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

 

0

 

1

 

0

 

1

0

 

0

0

0

1

 

0

 

0

0

0

1

0

 

1

1

1

 

 

 

 

1

2

3

 

4

 

5

 

6

 

7

8

 

9

10

1

12

 

13

14

15

16

17

18

 

19

20

21

 

 

r`1=0+1+0+1+0+0+0+0+1+1+1=1

r`2

=0+0+1+0+0+0+0+0+1=0

r`3

=1+0+1+1+0+0+0+1+1=1

r`4

=0+0+0+1+0+0+0=1

r`5

=1+0+1+1+1=0

S`={10110}

11000

10110 01110 = 1410 (біт в якому є помилка)

2. Код Елайеса

001000110111

k=12

0

0

1

0

1

 

0

0

1

1

0

 

0

1

1

1

1

 

 

 

 

 

 

 

0

1

1

0

0

 

00101001100111101100 - закодована комбінація

0

0

1

0

1

0

0

0

1

1

0

0

0

1

1

1

1

0

0

1

1

0

0

0

0 0 0 0 0

Робимо помилку

00101001100111001100

0

0

1

0

1

0

0

0

1

1

0

0

0

1

1

1

 

 

 

0

1

0

1

1

0

0

 

0

0

0

0

0

1

 

 

3. Код Бергера

0

 

0

1

0

0

1

1

1

0

 

0

0

1

0

0

0

1

1

1

 

 

3

 

5

6

7

9

10

1

12

13

 

14

15

17

 

 

 

 

 

 

k=12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r= log2(6+10+11+12+17)=log256=5.8

 

 

 

 

 

 

 

 

 

r=6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5610=111000 ∞ 000111

 

 

 

 

 

 

 

 

 

 

 

 

 

Робимо помилку

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

1

0

0

0

1

1

0

 

0

0

1

1

0

1

1

1

0

3

 

5

6

7

9

10

1

12

13

 

14

15

17

 

 

 

 

 

 

r= log2(6+11+12+17)=log246 4610=011101 ∞ 101110

56-46=10 (біт в якому є помилка)

4.00010111 / 0010

00010111000101110001011100010111 - закодована комбінація Робимо помилку

00010111010101110001011100010111

0

0

0

1

0

1

1

1

0

 

0

1

0

1

1

1

1

0

0

0

1

0

1

1

1

0

0

0

1

0

1

1

1

 

 

 

 

 

 

 

 

0

1

0

0

0

0

0

0

Контрольні запитання:

1.Які коди належать до кодів, що виправляють помилки?

2.Як впливає мінімальна кодова відстань коду на його здатність виправляти помилки?

3.Які особливості побудови лінійного систематичного групового коду?

4.Які особливості побудови коду Хеммінга?

5.Які особливості побудови ітеративного коду Елайеса?

6.Які особливості побудови двійкового коду з багатократним повторенням?

7.Які особливості побудови двійкового коду Бергера?

8.Практичні завдання.

Лабораторна робота №9

Тема: Двійкові циклічні коди.

Мета: Розглянути способи побудови циклічних кодів. Закріпити знання про коди, що виправляють помилки.

Порядок виконання роботи:

Варіант

 

Двійковийциклічний

 

 

КодБЧХ

 

 

 

код

 

 

 

 

 

 

 

 

 

 

 

23

 

1ц1л2ц2л

 

 

1(1ц4л)

 

 

 

 

00100001

 

 

10101

 

 

1. Закодував комбінацію двійковим циклічним кодом.

 

0

 

0

 

 

1

 

 

0

 

 

0

 

 

 

0

 

 

0

1

1

 

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x7

x6

 

x5

x4

x3

 

x2

x1

x0

 

 

 

 

 

 

k=8,

r=4, n=12

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q(x) = x5 + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q(x) * xr = (x5 + 1) * x4 = x9 + x4

 

 

 

 

P(x) = x4 + x3 + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C(x) = Q(x) * xr / P(x)

 

 

 

 

 

 

 

 

 

 

 

x9 + x4

 

 

 

 

| x4 + x3 + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x9

 

+ x8 + x5 | x5 + x4 + x3 + x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x8 + x5 +

x

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x8 + x7 + x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x7 + x5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x7 + x6 + x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x6 +

x

5

 

+ x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x6 +

x

5

 

+ x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3 + x2 = С(x) = 1100

 

 

 

 

 

 

 

 

 

 

 

F(x) = Q(x) + C(x) = x9 + x4 + x3 + x2

 

 

 

Перевіряємо на наявність помилки.

 

 

 

R(x) = F(x) / P(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x9 + x4 + x3 + x2

 

 

 

 

| x4 + x3 + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x9 + x8 + x5

 

 

 

 

 

 

 

| x5 + x4 + x3 + x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x8 + x5 + x4 + x3 + x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x8 + x7 + x4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x7 + x5 + x3 + x2 x7 + x6 + x3

x6 + x5 + x2

x6 + x5 + x2

0

R(x) = 0, це означає що помилок не виявлено. При присутності помилки в R(x) буде присутня остача.

2. Закодував комбінацію кодом БЧХ

1

0

1

0

1

x4

x3

x2

x1

x0

dmin=7, r=10, n=15

Q(x) = x4 + x2 +1

P8 = 24678 = x10 + x8 + x5 + x4 + x2 + x + 1

Q(x) * xr = (x4 + x2 +1) * x10 = x14 + x12 + x10

R(x) = Q(x) * x10 / P(x)

x14 + x12 + x10 | x10 + x8 + x5 + x4 + x2 + x + 1

x14 + x12 + x9 + x8 + x6 + x5 + x4 | x4 + 1 x10 + x9 + x8 + x6 + x5 + x4

x10 + x8 + x5 + x4 + x2 + x + 1 x9 + x6 + x2 + x + 1

F(x) = Q(x) * x10 + R(x) = x14 + x12 + x10 + x9 + x6 + x2 + x + 1 = 101011001000111

Ми отримали закодовану інформацію.

Виконаємо помилку.

F`(x) = x14 + x13 + x9 + x7 + x6 + x3 + x2 + x

Контрольні запитання:

1.Які коди належать до циклічних?

2.Як вибирається твірний поліном у двійкових циклічних кодах?

3.Які є методи побудови двійкових циклічних кодів?

4.Як виявляються та виправляються помилки в двійкових циклічних кодах?

Соседние файлы в папке Лаби готові
  • #
    18.10.2019686.58 Кб165Lab-1-10.pdf
  • #
    18.10.201910.15 Кб112Lab-1.xlsx
  • #
    18.10.20196.51 Кб91Lab-2.xlsx
  • #
    18.10.201910.94 Кб97Lab-4.xlsx
  • #
    18.10.201915.5 Кб93Lab-5.xlsx
  • #
    18.10.201912.77 Кб107Lab-6.xlsx