- •Лабораторна робота № 1 Кодування в дискретних каналах
- •Мета роботи
- •Задача 2.1
- •Задача 2.2 (для самостійного розв’язання)
- •Системи числення
- •Алгоритм перетворення цілих чисел між системами числення.
- •Задача 3.1
- •Задача 3.2
- •Задача 3.3
- •Задача 3.4 (для самостійного розв’язання)
- •Основні операції над елементами поля. Кодова відстань.
- •Задача 4.1 (для самостійного розв’язання)
- •Задача 4.2
- •Задача 4.3 (для самостійного розв’язання)
- •Задача 4.4 (для самостійного розв’язання)
- •Способи подання кодів. Кодові дерева.
- •Задача 5.1
- •Задача 5.2 (для самостійного розв’язання)
Задача 3.2
Виконати перетворення (100)10Z2
Розв'язання.
-100 | 2__
10 | -50 | 2__
0 4 -25 |2__
-10 2_ -12 | 2__
10 -5 12 -6 | 2___
0 4 0 6 -3 | 2__
1 0 2 1
1 ←
(100)10(1100100)2.
Щоб перевести число з вісімкової системи числення у двійкову, достатньо замінити кожну вісімкову цифру рівним їй трьохрозрядним двійковим числом.
Для перетворення з десяткової системи у шістнадцяткову, потрібно спочатку перевести число у двійкову систему числення, потім розбити отримане двійкове число на тетради, доповнюючи, якщо потрібно, їх нулями у старших розрядах, а потім перетворити отримані двійкові тетради у шістнадцятирічні числа або букви.
Задача 3.3
Виконати перетворення (100)10Z16.
Розв'язання. Спочатку робимо перетворення (100)10Z2: (100)10 = (1100100)2. Потім отримане число розбиваємо на тетради і доповнюємо нулями старші розряди: 0110 та 0100. В результаті отримали два полубайта, кожен з якого перетворюємо на шістнадцяткові цифри: 6 та 4. Отже, (100)10 = (64)16.
Задача 3.4 (для самостійного розв’язання)
Виконати перетворення (10010)2Z10; (64)16Z10; (375)8Z10; (745)8Z2; (22)8Z2. Заповнити даними таблицю 3.1:
Таблиця 3.1
Числа |
|||
десяткові |
двійкові |
Вісімкові |
шістнадцяткові |
1 |
|
|
|
2 |
|
|
|
3 |
|
|
|
4 |
|
|
|
5 |
|
|
|
6 |
|
|
|
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
15 |
|
|
|
16 |
|
|
|
Основні операції над елементами поля. Кодова відстань.
З точки зору зручності фізичної реалізації логічних елементів та простоти виконання ними арифметичних і логічних дій перевагу має двійкова система числення. Дійсно, логічні елементи, які відповідають цій системі, повинні мати тільки два стійких стани. Задача розрізнення сигналів у цьому випадку зводиться до задачі виявлення: чи є імпульс, чи ні, що значно простіше. Тому розглянемо деякі операції над елементами саме двійкових кодів (q=2).
Правило додавання за модулем 2
0
0=0;
0 1=1;
1 0=1;
1 1=0.
Наприклад, при додаванні за модулем 2 двійкових послідовностей чисел 0111000 і 10010 матимемо
,
тобто, результатом додавання цифр певного розряду є «0», якщо сума одиниць у ньому парна, і «1», якщо сума одиниць у ньому непарна.
На відміну від звичайного арифметичного додавання операція додавання двійкових чисел за модулем 2 полягає в тому, що в даному разі розглядають конкретну пару двійкових знаків незалежно від інших чисел двійкової послідовності. Тому результат попередніх операцій при додаванні чергової пари двійкових знаків не враховують, тоді як при звичайних арифметичних операціях цей результат треба враховувати обов'язково, коли при додаванні двох двійкових чисел (наприклад, одиниць) записується 0, а 1 переноситься в старший розряд.
Правило віднімання за модулем 2 нічим не відрізняється від операції додавання.
Правило множення за модулем 2
Множення здійснюється у два етапи. На першому етапі проводиться множення як у звичайній арифметиці, а на другому – виконується додавання за модулем 2 як показано на прикладі:
* 11
11
11_
101
Правило ділення за модулем 2
Ділення також здійснюється у два етапи. Перший - як в звичайній арифметиці, а на другому проводиться додавання за модулем 2.
10001 | 101
101 | 101
101
101
0
