48006 (665970), страница 3
Текст из файла (страница 3)
де – модуль числа,
{А/р} – ціла частина від ділення числа,
А – контрольне число.
Величина модуля р значно впливає на якість контроля; якщо p = q(де q – основа системи числення, в якій виражене число) і має місце числовий контроль, то контролюється тільки молодший розряд числа і контроль не має сенсу; для справедливі аналогічні роздуми, тому, що якщо
(де n розрядність числа), знову не всі розряди числа беруть участь в контролі і помилки в розрядах які старші m взагалі не сприймаються.
При числовому методі контролю по модулю р для знаходження залишку використовують операцію ділення, яка потребує значних витрат машинного часу.
Цифровий метод контролю. При цифровому методі контролю контрольний код числа утворюється діленням суми цифр числа на обраний модуль:
або , (7)
де – модуль числа,
–
-та цифра числа.
Можливі два шляхи отримання контрольного коду:
-
безпосереднє ділення суми цифр на модуль р;
-
сумування цифр за модулем р.
Другий шлях простіше реалізується, оскільки якщо ai
-
Проте при цифровому методі властивості порівнянь не завжди справедливі. Це відбувається через наявність переносів (запозичень) при наявності арифметичний дій над числами. Тому знаходження контрольного коду результату операції відбувається обов’язково з корекцією.
Арифметичний контроль (AN-контроль) вимагає утворення контрольного коду у вигляді AN, де А – контрольоване число, N – модуль. Вагою арифметичного коду прийнято вважати кількість ненульових символів у кодовій комбінації, а відстань, що визначається як вага різниці кодових комбінацій, називається арифметичною відстанню.
Якщо відстано між двома числами А1 та А2 рівна d, то це означає, що перехід від одного числа до другого досягається додаванням величини d. У цьому випадку всі комбінації чисел, що знаходяться між А1 та А2, є забороненими. Відповідно, для виявлення d-кратної помилки необхідно мати відстань не меншу за d+1. Якщо d=1, то такий код не зможе виявляти помилки. Величина відстані для кодів AN-вигляду залежить від величин А та N.
Для будь-якого числа А в системі основи q=2 існує єдине представлення вигляду де аі=±1 або 0, в якому немоє двох сусідніх коефіцієнтів, відмінних від нуля.
Таке представлення містить мінімальне число ненульових коефіцієнтів і називається канонічним. У канонічному представленні вага будь-якого числа, починаючи з 2і+1 й до числа 2і+2і-1, на одиницю більша за вагу чисел від 1 до 2і-1. Вага чисел, починаючи з 2і+2і-1+1 і до 2і+1, співпадає з вагою чисел 2і+2і-1-1, 2і+2і-1-2 і т.д.
Кількість розрядів для представлення числа AN дорівнює log2(AN)=log2A+log2N, де log2N – надлишковість кода. Таким чином, вибір модуля визначає не тільки надлишковість, але й відстань. В якості модуля доцільно вибирати деяке взаємно просте з основою системи q число, що перевищує саму основу. Можна припустити, що для двійкової системи N=3, і тоді будь-який код вигляду А·3 буде виявляти всі поодинокі помилки. Відповідно, мінімальна надлишковість при довільній основі визначається як logq(q+1), тобто завжди потрібно буде не менше одного, але й не більше двох додаткових розрядів.
Коди з мінімальною відстанню більшою за 2, характеризуються величиною Mq(N, d). Величина Mq(N, d) – найменше число, яке при множенні його на N дає число, вага якого менша за d у представленні за основою q. Іншими словами, якщо число N мало вагу d у представленні за основою q, то добуток N·Mq(N, d) матиме вагу, меншу від d за цією самою основою q.
Якщо число А змінюється в межах 0 ≤А ≤ Mq(N, d) , то при будь-яких N і q мінімальна відстань А·N-кода буде дорівнювати щонайменш d, що випливає з певної кількості Mq(N, d).
В теорії кодування доведено, що M2(N, 3)=(2(N-1)/2+1)/N.
Основний спосіб для відшукання значення Мq – спосіб безпосередніх обчислень (див. Савєльєв А.Я., ст. 163).