|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Способи подання кодівКод кожного виду має свій найраціональніший спосіб подання, що випливає з його властивостей. Проте відомо також кілька загальних способів подання кодів, які є досить універсальними і можуть застосовуватися для опису широких класів кодів. До цих способів належать подання кодів у вигляді: 1 таблиць кодових комбінацій; 2 кодового дерева; 3 геометричної моделі; 4 матриці. Перший спосіб полягає в поданні коду у вигляді таблиці всіх його комбінацій. Наприклад, п'ятиелементний двійковий блоковий код зі сталою вагою, в кожній комбінації якого містяться три одиниці, задається так:
Цей спосіб застосовується для подання будь-яких блокових кодів, але не може бути використаний для неперервних кодів. Другий спосіб подання кодів полягає в зображенні комбінацій коду у вигляді кодового дерева, коли комбінації розміщуються в його вузлах. Під кодовим деревом розумітимемо графічний образ, який складається з точок і ліній, що розходяться від них i також закінчуються точками. Останні називатимемо вузлами, а лінії, які їх з'єднують, – ребрами. Перший вузол, від якого починається розходження ребер, називається коренем дерева, а кількість ребер, які треба пройти від кореня до будь-якого вузла –рівнем, або порядком, цього вузла. Максимальна кількість вузлів, які зустрічаються під час руху вздовж кодового дерева в напрямку від кореня до вершини, визначає висоту h кодового дерева. Вона дорівнює максимальній довжині комбінації коду, побудованому за допомогою цього дерева. Вузли кодового дерева розташовуються на різних рівнях. Кожний рівень дерева рівномірного коду може мати qi вузлів, де q – основа коду, i – номер рівня (i= 1 ,2,...,п, тут n – довжина коду). Для рівномірного двійкового простого коду кількість вузлів на останньому рівні n дорівнює кількості N комбінацій коду, тобто 2n= N. Вузли, що не з'єднуються з наступними рівнями, називаються кінцевими; вони відповідають комбінаціям коду. Основою коду обмежується максимальна кількість ребер, яка може виходити з кожного вузла дерева, а максимальною довжиною кодової комбінації – максимальна кількість рівнів кодового дерева. Кожному вузлу приписується значення розрядів комбінації, що відповідає напрямкам руху вздовж ребер від кореня дерева до вузла. Ребра, що йдуть від кореня до вузлів першого рівня, визначають значення першого зліва розряду кодової комбінації, а ті, що з'єднують вузли першого та другого рівнів, – значення другого зліва розряду і т. д. На рис. 3.1 показано приклади кодових дерев: рівномірних двоелементного двійкового (рис. 3.1, α), двоелементного трійкового (рис. 3.1, б), триелементного двійкового (рис. 3.1, в) та нерівномірного двійкового (рис. 3.1, г). Цей спосіб застосовується для зображення як блокових, так і неперервних кодів.
Рисунок 3.1 - Приклади кодових дерев
За допомогою кодових дерев легко зобразити префіксні коди, що мають властивість префікса й можуть бути утворені послідовним викреслюванням останнього розряду кодової комбінації, причому жодна з комбінацій даного префіксного коду не може бути префіксом його комбінації. Наприклад, префіксами кодової комбінації 10111001 будуть 1, 10, 101, 1011, 10111, 101110, 1011100, 10111001, тобто для однозначного її декодування жодна з комбінацій цього коду не повинна мати перелічені вище комбінації. Та частина, яка доповнює префіксний код до повної кодової комбінації, утворює суфікс, тобто кожна кодова комбінація складається з префікса та суфікса. Префіксні коди можна утворити за допомогою кодового дерева, в якого немає вершини і кожний його кінцевий вузол відповідає комбінації префіксного коду. Третій спосіб подання кодів полягає в зображенні комбінацій коду точками дискретного л-вимірного векторного простору. Так, кожну комбінацію рівномірного блокового коду (з основою q і довжиною n) V= (Vn, Vn-1,..., V2, V1) можна розглядати як вектор або точку деякого и-вимірного векторного простору з координатами Vn, Vn-1,..., V2, V1 Якщо значення q скінченне, а будь-яка координата вектора є цілим додатним числом від 0 до q - 1, то зазначений код можна розглядати як дискретний л-вимірний простір, що складається N = qn точок, які відповідають кінцям усіх можливих векторів. Цей л-вимірний простір дістав назву кодового. Кількість просторових вимірювань кодового простору для коду з будь-якою основою дорівнює довжині n коду, а кількість градацій по кожній з осей (напрямків вимірювання) визначається основою коду і становить q - 1. Якщо для дискретного n-вимірного простору, що тут розглядається, ввести поняття кодової відстані d між точками Vi та Vj, то матимемо d(Vi, VJ) = (3.2) Цілком природно, що для простору з відстанню (3.2), як і для будь-якого іншого кодового простору, d(Vi, VJ) = d(Vj,Vi). Одним з основних параметрів коду з довільною основою q, що визначають його завадостійкість, є мінімальна кодова, відстань dmin. На відміну від кодової відстані d, що визначав кількість станів, які мають пройти якісні ознаки кодової комбінації, щоб опинитися в стані, який відповідає порівнюваній кодовій комбінації, мінімальна кодова відстань характеризує не дві окремо взяті комбінації, а код у цілому, і визначається мінімальною кількістю якісних ознак, за якими відрізняються одна від одної будь-яка пара комбінацій цього коду. Для визначення кодової відстані між комбінаціями коду з основою q треба виконати їх порозрядне віднімання за модулем q. їздова відстань дорівнює вазі комбінації, що складається з різниці значень комбінацій, між якими визначається ця відстань. З'єднавши кожну точку простору, що розглядається, прямими лініями з усіма точками, віддаленими на відстань d(Vi, VJ) = 1, дістанемо геометричну фігуру сіткової структури. Цю фігуру називають геометричною моделлю n-елементного q-коду. Точки дискретного простору, які містить ця геометрична фігура, називаються її вершинами, а лінії, що їх з'єднують, – ребрами. На рис. 3.2 зображено геометричні моделі деяких кодів. Моделлю будь-якого двозначного набору якісних ознак (двоелементного коду) є фігура двовимірного простору – квадрат (рис. 3.2, а) або фігура що складається з квадратів (рис. 3.2, б, д); моделлю будь-якого тризначного набору якісних ознак (триелементного коду)–фігура тривимірного простору–куб (рис. 3.2, в) або фігура, що складається з кубів (рис. 3.2, г, є). Побудова моделі чотиризначного набору якісних ознак (чотириелементного коду), тобто фігури чотиривимірного простору, можлива, якщо тривимірний куб або кожну з його вершин змістити в новому напрямку. Взагалі в цьому разі л-вимірний куб повинен мати 2n вершин, n∙ 2n-1 ребер, n(n - 1) · 2n-3 граней, а найвіддаленіша від певної його вершини точка має знаходитися на відстані л ребер.
Рисунок 3.2 - Геометричні моделі деяких кодів
Розглянемо більш докладно властивості, що випливають з геометричної фігури, яка є моделлю л-елементного двійкового коду й дістала назву n-вимірного куба. Відстань між будь-якими його вершинами, тобто між двома кодовими комбінаціями, згідно з (3.2) можна визначити як кількість розрядів, якими вони різняться. Так, відстань між комбінаціями 010 і 100 дорівнює двом, оскільки вони різняться елементами в двох розрядах – першому та другому. Відмінність елементів однойменних розрядів комбінацій двійкового коду легко визначити, застосувавши до них операцію Додавання за модулем 2. Як відомо, результат такого додавання тільки тоді дорівнює 1, коли числа, що додаються, різняться. З урахуванням цього відстань між будь-якими двома комбінаціями n-елементного двійкового коду (вершинами n-вимірного куба) визначається виразом (3.3)
Відстань між комбінаціями Vi та Vj можна знайти також через кількість одиниць у деякій комбінації Vl [або через її вагу w(Vl) ], здобуту після додавання за модулем 2 комбінацій Vi та Vj(Vl= Vi Vj):
. (3.4) Зручність геометричної моделі зображення будь-якого коду полягає в тому, що кожна її вершина відповідає одній комбінації коду, а відстань між комбінаціями Vi та Vj згідно з (3.2) дорівнює кількості ребер, які треба пройти найкоротшим шляхом з вершини Vi до вершини Vj. Недоліком геометричної моделі є те, що при довжині коду n > З зобразити її у звичайному тривимірному просторі неможливо. Тому вона застосовується лише для рівномірних блокових кодів з метою наочного зображення та полегшення аналізу їхніх властивостей. Четвертий спосіб подання кодів у вигляді матриці з 2n рядками та n стовпцями можливий тільки для рівномірних n-елементних двійкових блокових кодів. Якщо матрицею подається сукупність ненульових комбінацій коду, то кількість рядків дорівнюватиме 2n - 1. З урахуванням того, що матриця л-елементного коду складається з 2n - 1 комбінацій, записаних у вигляді рядків, особливість такого запису полягає в тому, що додавання за модулем 2 будь-якої кількості рядків цієї матриці приводить до появи дозволеної комбінації коду, в тому числі й нульової. Якщо останню відкинути, то дістанемо нову матрицю коду, але вже з меншою кількістю рядків. Повторивши аналогічну операцію додавання рядків матриці за модулем 2, можна знову дістати нульову комбінацію коду. Ця операція повторюється доти, поки не буде здобута матриця з лінійно незалежними рядками, додавання яких за модулем 2 вже не приведе до утворення нульової комбінації коду. Наприклад, щоб побудувати матрицю триелементного двійкового простого коду, треба, записавши у вигляді матриці всі 2n - 1 комбінацій простого коду, крім нульової, послідовно додати їх за модулем 2, виключаючи кожного разу ті комбінації, які в сумі з попередніми утворюють нульову комбінацію:
Друга колонка тут формується так: якщо до третього рядка першої колонки додати суму її першого та другого рядків, то утвориться нульова комбінація, яку виключаємо при запису третьої колонки. Якщо до п'ятого рядка другої колонки після цього додати суму її першого та четвертого рядків, то дістанемо нульову комбінацію в третій колонці. Цю комбінацію також виключаємо, записуючи четверту колонку, і т. д. Таким чином, відкинувши всі нульові комбінації, матимемо шосту колонку з кодовими комбінаціями, що містять тільки по одній одиниці. Це й буде матриця даного коду (сьома колонка). Квадратна матриця, діагональ якої складається з одиниць, а решта її елементів – нулі, називається одиничною. Якщо рядки такої n-елементної матриці додавати за модулем 2, то підбором відповідної комбінації їх можна дістати всі комбінації л-елементного коду. Тому такі матриці ще називаються визначальними. Якщо напрямок головної діагоналі матриці проходить справа наліво, то матриця називається транспонованою. Для розглянутого коду це буде матриця (шоста колонка) Загалом визначальна матриця n-елементного коду записується так: n рядків n стовпців Розглянутий приклад утворення визначальної матриці й здобута одинична матриця можуть бути використані тільки для побудови всіх комбінацій двійкового простого коду з мінімальною кодовою відстанню dmin - 1. Матричний спосіб може бути застосований також для побудови коректувальних кодів з dmin > 1, здатних виявляти та виправляти помилки. Проте при цьому твірна (породжувальна) матриця складається з двох підматриць – уже відомої одиничної (інформаційної) та додаткової (перевірної). За допомогою інформаційної одиничної підматриці Еk утворюють інформаційну частину кодової комбінації коректувального коду, яка складається з k інформаційних елементів і визначає розмір підматриці (k x k:), що відповідає розмірам визначальної квадратної матриці двійкового простого коду, оскільки кількість N комбінацій коректувального коду дорівнює кількості N комбінацій початкового двійкового простого коду, які треба закодувати цим коректувальним кодом. За допомогою додаткової перевірної підматриці Сr,k, утворюють перевірну частину комбінації коректувального коду, що складається з r перевірних елементів. Тому додаткова перевірна підматриця має розмір r x k. Таким чином, загальний розмір твірної матриці коректувальних кодів дорівнює n x k, оскільки n = k + r. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.01 сек.) |