- •1. Елементи теорії надійності
- •Експоненціальний та інші розподіли ймовірності безвідмовної роботи
- •Контрольні питання
- •1.3. Методи забезпечення надійності
- •Контрольні питання
- •1.4. Резервування апаратури
- •Структура буде залишатися працездатною в таких ситуаціях:
- •При порівнянні формул (1.12) з (1.14) та (1.13) з (1.15) можна зробити очевидний висновок: при надійність структур з во з пам’яттю вища, ніж у мажоритарних структур.
- •1.5. Інформаційна надлишковість як універсальний засіб контролю
- •Контрольні питання
- •Контрольні питання
- •2.2. Завадозахищене кодування Фундаментальним поняттям в захисті від завад є інформаційна надлишковість. За к. Шеноном інформаційна надлишковість оцінюється як
- •Контрольні питання
- •2.3. Кодові методи функціонального контролю
- •Контрольні питання
- •2.4. Тестовий контроль
- •Контрольні питання
- •2.5. Імовірнісні та сигнатурні методи контролю
- •Література
Контрольні питання
Що таке корегуюча здатність завадозахищеного кода? Чим вона визначається?
Що спільного і чим відрізняються між собою групові та циклічні коди?
Яку має структуру породжуючи матриця коду?
Які способи утворення циклічних кодів?
Що таке неприводимі поліноми?
У чому полягає процедура декодування циклічних кодів?
У чому полягає основний спосіб утворення БЧХ – кодів?
2.3. Кодові методи функціонального контролю
Спочатку розглянемо традиційну схему використання завадозахищених кодів в системах зв’язку (рис. 2.8).
Рис. 2.8.
У
повідомлення, які генеруються джерелом,
за допомогою кодера повідомлень додається
деяка кількість надлишкових (перевірочних)
розрядів, які забезпечують можливість
виявлення або (і) виправлення помилок.
Кодове слово
надходить до кодера каналу (наприклад,
модуляція радіочастотою). Сформовані
таким чином сигнали передаються по
каналу, в якому діють завади, що може
причинити спотворення сигналів. Після
отримання повідомлення декодер каналу
проводить зворотне перетворення сигналів
на електричному рівні (наприклад,
демодуляцію), після чого у повідомленні
виявляються або (і) виправляються помилки
декодером отримувача. У цій схемі нас
насамперед будуть цікавити функції
кодера повідомлень і декодера отримувача,
які ще майже не пов’язані із електричними
трансформаціями сигналів.
У наведеній схемі канал передачі інформації (телефонна лінія, коаксіальний кабель, радіоканал, оптоволокно тощо) не змінює кодове слово , якщо не враховувати впливу завад. Тому корегуючи властивості, закладені у повідомлення при кодуванні, не змінюються (кодова відстань між окремими словами, саме яка забезпечує можливість корекції, залишається незмінною).
Інша справа, коли ми за цією ж схемою спробуємо використати завадозахищені коди в цифрових пристроях. Виявиться, що кодове слово після проходження через практично будь-яку цифрову схему зміниться так, що закладені при кодуванні корегуючи властивості зникнуть або зміняться.(передусім, порушаться кодові відстані між словами).
Тому для контролю і корекції помилок на виходах цифрових пристроїв застосовується інша схема (рис. 2.9, а) [ ], яка узагальнює більшість розглянутих раніше методів. Так, наприклад, схема апаратного самоконтролю із порівнянням виходів (рис. 2.9,б) та мажоритарне відновлення сигналів (рис. 2.9, в) можуть бути представлені цією універсальною структурою. Відмінність полягає лише в класі завадозахищених кодів, які використовуються: для функціонального контролю – коди з виявленням помилок; для створення пристроїв, нечутливих до відмов компонентів – коди з виправленням помилок. Саме тому кодовий підхід можна вважати найбільш загальним. Його цінність полягає передусім у можливості варіації в широких межах повноти контролю або рівня надійності шляхом вибору відповідних кодів (з більшою, чи меншою корегуючою здатністю).
Рис. 2.9.
Перед тим, як перейти до аналізу загальних властивостей методу, розглянемо кілька простих прикладів. Для спрощення будемо вважати, що вихідний пристрій, до якого застосовується кодовий метод, є комбінаційною схемою і реалізує такі функції:
;
;
;
.
Для функціонального контролю виберемо найпростіший код із однією перевіркою на парність, який виявляє всі помилки непарної кратності. Для цього, як ми вже знаємо, потрібно додати один перевірочний розряд із рівняннями кодування
.
Підставивши значення інформаційних розрядів із (?), отримаємо
-
це функція, яку повинен реалізувати
кодер.
Як бачимо, складність цієї функції
суттєво менша за складність контрольованої
схеми.Власне контроль відбувається у
декодері, функція якого полягає в
підрахунку парності кількості одиниць
у кодовому слові
.
Можна
вибрати й інший код. Наприклад, коли
перевірочний розряд
утворити відповідно до функції
,
то отримаємо “ваговий” код ”3 із 5”,
дозволені кодові комбінації якого
містять рівно 3 одиниці із п’яти розрядів
(табл. 2.2)
Таблиця 2.2.
x1 x2 x3 |
y1 y2 y3 y4 y5 |
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 |
1 0 1 0 1 1 1 1 1 0 0 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 0 0 1 1 0 1 0 1 1 1 0 1 1 0 |
До речі, цей код, як і попередній, виявляє досить велику частину всіх можливих помилок. Відповідно з (1.18) отримаємо
,
тобто 77% помилок, які теоретично можуть виникнути на виходах контрольованого пристрою, виявляється.
Розглянемо
тепер випадок виправлення помилок, для
чого застосуємо код Хемінга з
інформаційними розрядами і,
перевірочними, які задаються рівняннями
кодування
;
;
Зробивши аналогічну підстановку, отримаємо
;
;
Це ті функції, які реалізує кодер. Декодування проводиться за стандартними процедурами, які ми вже розглянули.
Якщо
у нас виникне потреба посилити корегуючи
здатність контролю, можна збільшити
кількість перевірочних розрядів,
додавши, наприклад, ще один
як суму по модулю 2 всіх вихідних сигналів
схеми, тобто
.
Знову, зробивши відповідну підстановку, отримаємо
.
В результаті отримаємо схему, в якій можна не тільки виправляти однократні помилки, але й виявляти двократн Розглянувши наведені приклади, звернемо увагу на таке.
У всіх випадках складність кодера не перевищує складності вихідного пристрою. У порівнянні з мажоритарним методом це можна вважати суттєвим виграшем, але при цьому ми зменшили корегуючи здатність до виправлення лише однократних помилок.
По-друге, для корекції можна було б вибрати інший код з іншими рівняннями кодування або іншою корегуючою здатністю. Ця властивість кодового підходу є найбільш важливою з точки зору можливості оптимізації за критеріями мінімуму апаратних витрат або максимуму корегуючої здатності, що створює сприятливі умови для пошуку компромісних схемних рішень, тобто таких, при яких задані вимоги до надійності забезпечуються мінімальними апаратними витратами.
Зрозуміло, що наведені приклади є занадто простими, для того щоб робити висновки загального характеру. Проте накопичений досвід розробки високонадійної цифрової апаратури показує, що саме на основі кодових методів можна забезпечити бажану селективність і керованість введення надлишковості.
Чому
це важливо? У випадках комп’ютерного
управління реальними об’єктами (а саме
у цих випадках виникає проблема
забезпечення надійності) окремі помилки
можуть бути найбільш небезпечними і
навіть неприпустимими в жодному разі.
Уявімо собі, що ви піднімаєтесь ліфтом,
а ті “ігреки”
– команди на пуск маршового двигуна,
відкриття (закриття) дверей і т.і. Із
вимог безпеки ясно, це неприпустиме
одночасне відкриття дверей кабіни і
пуск двигуна, що рухає кабіну. І саме
така помилка повинна бути принаймні
виявлена, хоча б з тим, щоб заблокувати
виконання відповідних команд. Інші
помилки не є такими небезпечними і не
обов’язково їх виявляти і, тим більше
виправляти. І це зрозуміло: все, що
безпосередньо не загрожує життю людини
можна вважати вторинним. Зрозуміло
також, що всі наявні ресурси (надлишковість
– це зайві витрати) повинні бути
спрямовані саме на найбільш небезпечні
помилки. Тому кодовий підхід, який надає
можливість цілеспрямованого введення
надлишковості і, як ми з’ясували,
узагальнює більшість інших підходів,
є найбільш універсальним.
А тепер щодо співставлення класичних методів (мажоритарного, функціонального контролю за схемою рис. 2.2. та ін.) з кодовим. Із загальнотеоретичних позицій принципової різниці між ними немає, справа тільки в тому, які коди застосовуються. У першому випадку (мажоритарний метод та ін.) – коди з повторенням, які мають потужну корегуючи здатність і, відповідно, вимагають великої надлишковості, у другому – коди з меншою корегуючою здатністю, але й з меншою надлишковістю. Який метод вибрати для конкретного пристрою, залежить від вимог до надійності та наявних ресурсів (припустимих габаритів, ваги і, нарешті, вартості).
Загалом можна стверджувати (про це свідчить накопичений досвід), що у випадках виявлення всіх можливих помилок на виходах пристрою необхідні апаратні витрати знаходяться на рівні подвоїння, а для виправлення (нейтралізації) всіх можливих помилок – потроїння. Зменшення цих витрат можливе лише за рахунок зниження корегуючою здатності і, як наслідок, надійності. Як говорять фахівці з надійності: “За надійність потрібно платити, а за ненадійність доводиться розплачуватися”.
Проте слід зазначити, що реальні апаратні витрати в значній мірі залежать від специфіки конкретного пристрою, до якого застосовуються методи забезпечення надійності, елементної бази та інших, суто технічних факторів.
