Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OPTCODn.doc
Скачиваний:
8
Добавлен:
12.02.2016
Размер:
162.3 Кб
Скачать

Міністерство освіти і науки україни

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”

МЕТОДИ ОПТИМАЛЬНОГО КОДУВАННЯ

МЕТОДИЧНІ ВКАЗІВКИ

до лабораторної роботи з курсу

Проблемно-орієнтовані методи та засоби

інформаційних технологій”

для студентів базового напрямку 6.0305 “Філологія”

Затверджено

на засіданні кафедри

Системи автоматизації проектування”

Протокол № 8 від 26.02.2007 р.

Львів – 2007

Методи оптимального кодування: Методичні вказівки до лабораторної роботи з курсу “Проблемно-орієнтовані методи та засоби комп’ютерних інформаційних технологій” для студентів базового напрямку 6.0305 “Філологія”.

/ Укл.: В.В. Мазур. – Львів: Видавництво Національного університету“ Львівська політехніка”, 2007. - 12 с.

Укладач Мазур В.В., канд. техн. наук, доц.

Відповідальний за випуск Ткаченко С.П., канд. техн. наук, доц.

Рецензент Тимощук П.В., докт. техн. наук., доц.

  1. МЕТА РОБОТИ

Мета роботи – отримати практичні навики використання методів оптимального кодування.

  1. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ

    1. Різновидності кодів.

По формі представлення в каналі передачі розрізняють послідовні і паралельні коди. При послідовних кодах елементарні сигнали, що передають кодову комбінацію посилаються в канал передачі послідовно в часі. Вони можуть бути розділені часовим інтервалом або опитуватися в певні моменти часу (наприклад, як у послідовному інтерфейсі RS - 232 C).

Для паралельних кодів потрібні багатопровідні канали, тому при передачі інфрмації на значну відстань вони використовуються рідко через великі затрати (наприклад, паралельний інтерфейс Centronics). Паралельне представлення найчастіше використовується коли потрібна висока швидкість передачі даних (Centronics – 80 – 120 Кбайт/сек, сучасні двонаправлені системи – до 2 Мбайт/сек).

По можливості виявлення та виправлення помилок розрізняють прості (примітивні) і коректуючі коди.

В простих кодах помилка у будь-якому елементі кодової комбінації приводить до неправильного прийому декодованого повідомлення.

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

По основних законах кодоутворення коди поділяються на комбінаторні (нечислові) і арифметичні (числові).

Комбінаторні коди будуються по законах теорії поєднань. Наприклад, код з m різних символів утворює кодові комбінації з n<m символів. Довжина коду постійна і рівна n, а можлива кількість кодових комбінацій

;

Наприклад, комбінації з 3 по 2: a, b, c =>ab, ac, bc.

Арифметичні (числові, цифрові) коди базуються на системах числення і найчастіше використовуються в технічних системах.

2.1.Рівномірні прості цифрові коди.

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

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

При цьому будь-яке n-розрядне число може бути представлене у вигляді суми

де: lі - значення і-го розрядного коефіцієнта.

Кількість можливих значень lі рівна m (від 0 до m-1).

Приклад: чотирьохрозрядне десяткове число 4752=4*103+7*102+5*101+2*100.

Максимальна кількість кодових комбінацій Nmax=mn.

На практиці в технічних системах найчастіше використовуються двійкові коди

де: li = 01; Nmax = 2n;

N=2010=0*25+1*24+0*23+1*22+0*21+0*20 (0101002)

Двійковий код зручний для обробки машиною, однак для оператора громіздкий, тому використовують вісімкову або шістнадцяткову системи з основою рівною 23 і 2 4 відповідно.

N=(0248)= (0000101002)

N=(01416)= (0000000101002)

Для запису шістнадцяткових чисел використовуються цифри 0-9 та букви А-F.

    1. Складні коди.

Складні коди базуються на системах числення, що мають дві і більше основ. При такому кодуванні числа, задані в системі з основою q, записуються за допомогою цифр іншої системи числення з основою p<q.

Найбільш характерні двійково-десяткові коди. Вони використовуються як проміжні при переводі десяткових у двійкові та навпаки.

У двійково-десятковій системі числення основна система числення десяткова. Однак кожна цифра десяткового числа записується у вигляді чотирьохрозрядного двійкового числа.

Найбільш часто використовують чотирьохрозрядні двійкові вагові коди 8-4-2-1; 7-4-2-1; 5-1-2-1; 2-4-2-1. Так як з 16 комбінацій використовують 10, то код – надлишковий.

Приклад:

8 4 2 1 7 4 2 1 5 1 2 1 2 4 2 1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

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

2 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0

3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

4 0 1 0 0 0 1 0 0 0 1 1 1 0 1 0 0

5 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 1

6 0 1 1 0 0 1 1 0 1 0 0 1 1 1 0 0

7 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 1

8 1 0 0 0 1 0 0 1 1 0 1 1 1 1 1 0

9 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1

    1. Рефлексні (відбиті) коди.

У простому (двійковому) коді при переході від одного числа до сусіднього може бути зміна цифр у кількох розрядах. Це може спричинити значні помилки при кодуванні неперервних повідомлень. Так, наприклад, кодування секторним перетворювачем кута при переході від 7 до 8 (1112 => 10002) тимчасово може дати значення 1111 (помилка у 2 рази).

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

Одним з таких кодів є код Грея. Це непозиційний код, вага одиниці якого не визначається номером розряду. У цих кодах спостерігається симетричність відносно деякої осі відбиття – тобто ідентичність молодших розрядів. Звідси - “рефлексний код” (reflect – відбивати). У коді Грея вага одиниці у j-му розряді по абсолютній величині визначається формулою

Wj=

Причому знак сумованих членів додатній для всіх непарних одиниць в числі (записаних у коді Грея зліва направо) і від’ємний для всіх парних

[1101101]г=--++

=64+32+16+8+4+2+1-32-16-8-4-2-1-8-4-2-1+4+2+1+1=57

двійковий код код Грея двійковий код код Грея

0 0000 0000 8 1000 1100

1 0001 0001 9 1001 1101

2 0010 0011 10 1010 1111

3 0011 0010 11 1011 1110

4 0100 0110 12 1100 1010

5 0101 0111 13 1101 1011

6 0110 0101 14 1110 1001

7 0111 0100 15 1111 1000

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]