Коригувальні коди

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Курс: Теорія інформації та кодування
Тема: КОРИГУВАЛЬНА КОДИ

Зміст
1. КОРИГУВАЛЬНА Коди. ОСНОВНІ ПОНЯТТЯ
2. ЛІНІЙНІ ГРУПОВІ КОДИ
3. Код Хеммінга
Список Літератури

1. КОРИГУВАЛЬНА Коди. ОСНОВНІ ПОНЯТТЯ
Відповідно до теореми Шеннона для дискретного каналу з перешкодами, ймовірність помилки при передачі даних по каналу зв'язку може бути як завгодно малої при виборі відповідного методу кодування сигналу, тобто перешкода не накладає суттєвих обмежень на точність передачі інформації (даних). Достовірність переданої інформації може бути забезпечена застосуванням коригувальних кодів.
Завадостійким або коригуючими кодами називаються коди, що дозволяють виявити і усунути помилки при передачі інформації через дії перешкод.
Найбільш поширеним є клас кодів з корекцією одиночних і виявленням подвійних помилок (КО-ОД). Самим відомих серед цих кодів є код Хеммінга, що має простий і зручний для технічної реалізації алгоритм виявлення та виправлення одиночної помилки.
У ЕОМ ці коди використовуються для підвищення надійності оперативної пам'яті (ОП) і магнітних дисків. Кількість помилок в ЕОМ залежить від типу несправностей елементів схем (наприклад, несправність одного елемента інтегральної схеми (ІС) викликає одиночну помилку, а всієї ІС ОП - кратну). Для виявлення кратних помилок використовується код КО-ОД-ООГ (корекція одиночної, виявлення подвійний і виявлення кратної помилки в однойменній групі бітів).
Серед коригувальних кодів широко використовуються циклічні коди, в ЕОМ ці коди застосовуються при послідовній передачі даних між ЕОМ і зовнішніми пристроями, а також при передачі даних по каналах зв'язку. Для виправлення двох і більше помилок (d 0 ³ 5) використовуються циклічні коди БЧХ (Боуза - Чоудхурі - хоквінгема), а також Ріда-Соломона, які широко використовуються в пристроях цифрового запису звуку на магнітну стрічку або оптичні компакт-диски і дозволяють здійснювати корекцію групових помилок. Здатність коду виявляти і виправляти помилки досягається за рахунок введень надмірності в кодові комбінації, тобто кодовою комбінаціям з к двійкових інформаційних символів, що надходять на вхід кодує пристрої, відповідає на виході послідовність з n двійкових символів (такий код називається (n, k) - кодом).
Якщо N 0 = 2 n - загальне число кодових комбінацій, а N = 2 k - число дозволених, то число заборонених кодових комбінацій одно
N 0-N = 2 n -2 k.
При цьому число помилок, що призводить до забороненої кодової комбінації одно:
, (1)
де S - кратність помилки, тобто кількість спотворених символів у кодовій комбінації S = 0, 1, 2, ...
C n i - Поєднання з n елементів по i, яке обчислюється за формулою:
, (2)
для S = 0;
S = 1;
S = 2;
S = 3; і т. д.
Для виправлення S помилок кількість комбінацій кодового слова, складеного з m перевірочних розрядів N = 2 m, повинно бути більше можливого числа помилок (2), при цьому кількість виявлених помилок у два рази більше, ніж виправляти
(3)
2 m ³ звідки .
Для одиночної помилки, як найбільш вірогідною .
Залежно від вихідних даних коду (n або k) можна використовувати
формули
. (4)
При цьому, m = [log 2 (1 + n)] або m = [log 2 {(k +1) + [log 2 (k +1 )]}], де ква-дратние дужки позначають округлення до більшого цілого.
У таблиці 1 наведені співвідношення між довжиною кодової комбінації і кількістю інформаційних та контрольних розрядів для коду виправляє одиночну помилку, а також ефективність використання каналу зв'язку.
Для виправлення дворазової помилки
або . (5)
Введення надмірності в кодові комбінації при використанні коригувальних кодів істотно знижує швидкість передачі інформації та ефективність використання каналу зв'язку.
Наприклад, для коду (31, 26) швидкість передачі інформації дорівнює
,
тобто швидкість передачі зменшується на 16%.

Таблиця 1

n

7
10
15
31
63
127
255
k
4
6
11
26
57
120
247
m
3
4
4
5
6
7
8

0,57
0,6
0,75
0,84
0,9
0,95
0,97
Як видно з таблиці 1, чим більше n, тим ефективніше використовується канал.
Приклад 1. Визначити кількість перевірочних розрядів для систематичного коду виправляє одиночну помилку і складається з 20 інформаційних розрядів.
Рішення: Загальна довжина кодової комбінації дорівнює n = k + m, де k - кількість інформаційних розрядів, а m - перевірочних розрядів.
Для виявлення подвійний і виправлення одиночної помилки залежності для розрядів мають вигляд , При цьому
m = [log 2 {(k +1) + [log 2 (k +1 )]}]=[ log 2 {(20 +1) + [log 2 (20 +1 )]}]= 5,
тобто отримаємо (25, 20)-код.
2. ЛІНІЙНІ ГРУПОВІ КОДИ
Лінійним називається код, в якому перевірочні символи являють собою лінійні комбінації інформаційних. Груповим називається код, який утворює алгебраїчну групу по відношенню операції додавання за модулем два.
Властивість лінійного коду: сума (різниця) кодових векторів линів-ного коду дає вектор, що належить цим кодом. Властивість групового коду: мінімальне кодова відстань між кодовими векторами одно мінімальній вазі ненульових векторів. Вага кодового вектора дорівнює числу одиниць в кодової комбінації.
Групові коди зручно задавати за допомогою матриць, розмірність яких визначається параметрами k і n. Число рядків дорівнює k, а число стовпців одно n = k + m.
. (6)

Коди, породжувані цими матрицями, називаються (n, k)-кодами, а відповідні їм матриці породжують (утворюючими, що виробляють). Породжує матриця G складається з інформаційної I kk і перевірочної R km матриць. Вона є стислим описом лінійного коду і може бути представлена ​​в канонічній (типової) форми
. (7)
В якості інформаційної матриці зручно використовувати одиничну матрицю, ранг якої визначається кількістю інформаційних розрядів
. (8)
Рядки одиничної матриці представляють собою лінійно-незалежні комбінації (базисні вектора), тобто їх по парне підсумовування за модулем два не призводить до нульової рядку.
Рядки породжує матриці являють собою перші k комбінацій коригуючого коду, а інші кодові комбінації можуть бути отримані в результаті підсумовування за модулем два всіляких поєднань цих рядків.
Стовпці додаткової матриці R km визначають правила формування перевірок. Кількість одиниць в кожному рядку додаткової матриці повинна задовольняти умові r 1 ³ d 0 -1, але число одиниць визначає число суматорів за модулем 2 в шифратора і дешифратор, і чим їх більше, тим складніше апаратура.
Твірна матриця коду G (7,4) може мати вигляд
і т.д.
Процес кодування полягає у взаємно - однозначним дотриманням k-розрядних інформаційних слів - I і n-розрядних кодових слів - з
c = IG. (9)
Наприклад: інформаційного слову I = [1 0 1 0] відповідає наступне кодове слово
. (10)
При цьому, інформаційна частина залишається без змін, а коригувальні розряди визначаються шляхом підсумовування за модулем два тих рядків перевірочної матриці, номери яких співпадають з номерами розрядів, що містять одиницю в інформаційній частини коду.
Процес декодування полягає у визначенні відповідності прийнятого кодового слова, переданому інформаційного. Це здійснюється за допомогою перевірочної матриці H (n, k).
, (11)

де R mk T-транспонована перевірочна матриця (поміняти рядка на стовпці); I mm - Одинична матриця.
Для (7, 4) - коду перевірочна матриця має вигляд
. (12)
Тим G (n, k) і H (n, k) існує однозначний зв'язок, тому що вони визначаються відповідно до правил перевірки, при цьому для будь-якого кодового слова має виконуватися рівність cH T = 0.
Рядки перевірочної матриці визначають правила формування перевірок. Для (7, 4)-коду
p 1 Å + a 1 Å + a 2 Å a 4 = S 1;
p 2 Å + a 1 Å + a 2 Å a 3 = S 2; (13)
p 3 Å + a 1 Å + a 3 Å a 4 = S 3.
Отриманий синдром порівнюємо зі стовпцями матриці і визначаємо розряд, в якому сталася помилка, номер стовпця дорівнює номером помилкового розряду. Для виправлення помилки помилковий біт необхідно проінвертіровать.
Приклад 1. Побудувати груповий код здатний передавати 16 символів первинного алфавіту з виправленням одиночної помилки. Показати процес кодування, декодування і виправлення помилки для переданого інформаційного слова 1001.

Рішення:
1. Побудуємо виробляє матрицю G (n, k).
Якщо обсяг коду N = 2 k = 16, то кількість інформаційних розрядів к = 4. Мінімальна кодова відстань для виправлення одиночної помилки d 0 = 2s +1 = 3. По заданій довжині інформаційного слова, використовуючи співвідношення:
n = k + m, 2 n ³ (n +1) 2 k і 2 m ³ n +1
обчислимо основні параметри коду n і m.
m = [log 2 {(k +1) + [log 2 (k +1 )]}]=[ log 2 {(4 +1) + [log 2 (4 +1 )]}]= 3.
Звідки n = 7, тобто необхідно побудувати (7, 4)-код.
В якості інформаційної матриці I k (7, 4) - вибираємо одиничну матрицю (4'4), а в якості перевірочної матриці R km (7, 4) - вибираємо матрицю (4'3), кожен рядок якої містить число одиниць більше або дорівнює двом (r 1 £ d 0 -1).
Таким чином, в якості виробляє можна прийняти матрицю
.
2. Визначимо комбінації коректуючого коду.
Для заданого числа інформаційних розрядів k = 4, число кодових комбінацій дорівнює N = 2 k = 2 4 = 16.
1) 0000 5) 0010 9) 0001 13) 0011
2) 1000 6) 1010 10) 1001 14) 1011
3) 0100 7) 0110 11) 0101 15) 0111
4) 1100 8) 1110 12) 1101 16) 1111
Старшинство розрядів приймаємо зліва на право, відповідно до їх надходженням на вхід декодера.
Знаходимо коригувальні розряди для кожного інформаційного слова, як результат підсумовування за модулем два рядків перевірочної матриці номери, яких збігаються з номерами одиниць в інформаційних розрядах коду.
Наприклад, для інформаційного слова I = [1001] кодове слово має вигляд
.
Передані в канал кодові комбінації мають вигляд:
1) 0000 000 5) 0010 110 9) 0001 101 13) 0011 011
2) 1000 111 6) 1010 001 10) 1001 010 14) 1011 100
3) 0100 011 7) 0110 101 11) 0101 110 15) 0111 000
4) 1100 100 8) 1110 010 12) 1101 101 16) 1111 111
Процес декодування полягає у визначенні відповідності прийнятого кодового слова, переданому інформаційного та здійснюється за допомогою перевірочної матриці H (7, 4).

Для збудованого (7, 4)-коду перевірочна матриця має вигляд
.
Рядки перевірочної матриці визначають правила формування перевірок, що дозволяють визначити синдром помилки.
Нехай у процесі передачі відбулася помилка у 2-му інформаційному розряді 1 1 0 1 1 0 0 1
Відповідно до перевірочної матрицею складаємо перевірочні вектори
p 1 Å a 1 Å a 2 Å a 4 = S 1 = 0 Å 1 Å 1 Å 0 = 0;
p 2 Å a 1 Å a 2 Å a 3 = S 2 = 0 Å 1 Å 1 Å 1 = 1;
p 3 Å a 1 Å a 3 Å a 4 = S 3 = 1 Å 1 Å 0 Å 1 = 1.
Синдром 011 показує, що помилка сталася в 2-му інформаційному розряді, який необхідно проінвертіровать.
Приклад 2. Побудувати твірну матрицю групового коду, для передачі 100 різних повідомлень і здатну виправляти можли-но більше число помилок.
Рішення: Обсяг коду дорівнює N = 2 k. При 100 повідомленнях: 100 £ N £ 2 k, звідки k = 7. По заданій довжині інформаційного слова, використовуючи співвідношення:
n = k + m, 2 n ³ (n +1) 2 k і 2 m ³ n +1
обчислимо основні параметри коду n і m.
m = [log 2 {(k +1) + [log 2 (k +1 )]}]=[ log 2 {(7 +1) + [log 2 (7 +1 )]}]= 4.
Звідки n = 11, т. е. отримали (11, 7)-код.
В якості інформаційної матриці вибираємо одиничну матрицю I (7x7). Перевірочна матриця містить 4 шпальти і 7 рядків, які містять r 1 £ d 0 -1 одиниць у чотирирозрядний коді (2, 3, 4-одиниці).
.
3. Код Хеммінга
Код Хеммінга відноситься до класу лінійних кодів і являє собою систематичний код - код, в якому інформаційні та контрольні біти розташовані на суворо визначених місцях в кодової комбінації.
Код Хеммінга, як і будь-який (n, k) - код, містить до інформаційних і m = nk надлишкових (перевірочних) біт.
Надмірна частина коду будується т. о. щоб можна було при декодуванні не тільки встановити наявність помилки але, і вказати номер позиції в якій сталася помилка, а значить і виправити її, Інвертувати значення відповідного біта.
Існують різні методи реалізації коду Хеммінга і кодів які є модифікацією коду Хеммінга. Розглянемо алгоритм побудови коду для виправлення одиночної помилки.
1. По заданій кількості інформаційних символів - k, або інформаційних комбінацій N = 2 k, використовуючи співвідношення:
n = k + m, 2 n ³ (n +1) 2 k і 2 m ³ n +1 (14)
m = [log 2 {(k +1) + [log 2 (k +1)]}]
обчислюють основні параметри коду n і m.
2. Визначаємо робітники і контрольні позиції кодової комбінації. Номери контрольних позицій визначаються за законом 2 i, де i = 1, 2, 3, ... тобто вони рівні 1, 2, 4, 8, 16, ... а інші позиції є робочими.
3. Визначаємо значення контрольних розрядів (0 або 1) за допомогою багаторазових перевірок кодової комбінації на парність. Кількість перевірок одно m = nk. У кожну перевірку включається один контро-ний і певні перевірочні біти. Якщо результат перевірки дає парне число, то контрольному біту присвоюється значення -0, в іншому випадку - 1. Номери інформаційних біт, що включаються в кожну перевірку, визначаються за допомогою бінарного коду натуральних n-чисел розрядністю - m (табл. 1, для m = 4) або за допомогою перевірочної матриці H (m 'n), стовпці якої представляють запис у двійковій системі всіх цілих чисел від 1 до 2 k - 1 перерахованих у зростаючому порядку. Для m = 3 перевірочна матриця має вигляд
. (15)

Кількість розрядів m - визначає кількість перевірок.
У першу перевірку включають коефіцієнти, що містять 1 в молодшому (першому) розряді, тобто b 1, b 3, b 5 і т. д.
  У другу перевірку включають коефіцієнти, що містять 1 в другому розряді, тобто b 2, b 3, b 6 і т. д.
  У третю перевірку - коефіцієнти які містять 1 у третьому розряді і т. д.
Таблиця 1
Десяткові числа
(Номери розрядів
кодової комбінації)
Двійкові числа і їх розряди
3
2
1
1
2
3
4
5
6
7
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
Для виявлення та виправлення помилки складаються аналогічні перевірки на парність контрольних сум, результатом яких є двійкове (nk)-розрядне число, зване синдромом і вказує на становище помилки, тобто номер помилкову позицію, який визначається за двійковій запису числа, або за перевірочної матриці.
Для виправлення помилки необхідно проінвертіровать біт у помилкову позицію. Для виправлення одиночної помилки і виявлення подвійної використовують додаткову перевірку на парність. Якщо при виправленні помилки контроль на парність фіксує помилку, то значить в кодової комбінації дві помилки.
Схема кодера і декодера для коду Хеммінга наведена на рис. 1.
Приклад 1. Побудувати код Хеммінга для передачі повідомлень у вигляді послідовності десяткових цифр, представлених у вигляді 4-х разрярних двійкових слів. Показати процес кодування, декодування та виправлення одиночної помилки на прикладі інформаційного слова 0101.
Рішення:
1. По заданій довжині інформаційного слова (k = 4), визначимо кількість контрольних розрядів m, використовуючи співвідношення:
m = [log 2 {(k +1) + [log 2 (k +1 )]}]=[ log 2 {(4 +1) + [log 2 (4 +1 )]}]= 3,
при цьому n = k + m = 7, тобто отримали (7, 4)-код.
2. Визначаємо номери робочих і контрольних позиції кодової комбінації. Номери контрольних позицій вибираємо за законом 2 i .
Для розглянутої задачі (при n = 7) номери контрольних позицій рівні 1, 2, 4. При цьому кодова комбінація має вигляд:
b 1 b 2 b 3 b 4 b 5 b 6 b 7
до 1 до 2 0 до 3 1 0 1
3. Визначаємо значення контрольних розрядів (0 або 1), використовуючи перевірочну матрицю (5).
Перша перевірка:
k 1 Å b 3 Å b 5 Å b 7 = k 1 Å0Å1Å1 буде парному при k 1 = 0.
Друга перевірка:
k 2 Å b 3 Å b 6 Å b 7 = k 2 Å0Å0Å1 буде парному при k 2 = 1.
Третя перевірка:
k 3 Å b 5 Å b 6 Å b 7 = k 3 Å1Å0Å1 буде парному при k 3 = 0.
1 2 3 4 5 6 7
Передана кодова комбінація: 0 1 0 0 1 0 1
Припустимо прийнято: 0 1 1 0 1 0 1

Для виявлення та виправлення помилки складемо аналогічні про-перевірки на парність контрольних сум, відповідно до перевірочної матрицею результатом яких є двійкове (nk)-розрядне число, зване синдромом і вказує на становище помилки, тобто, номер помилкову позицію.
1) k 1 Å b 3 Å b 5 Å b 7 = 0Å1Å1Å1 = 1.
2) k 2 Å b 3 Å b 6 Å b 7 = 1Å1Å0Å1 = 1.
3) k 3 Å b 5 Å b 6 Å b 7 = 0Å1Å0Å1 = 0.
Порівнюючи синдром помилки з стовпцями перевірочної матриці, визначаємо номер помилкового біта. Синдрому 011 відповідає третій стовпець, тобто помилка в третьому розряді кодової комбінації. Символ в 3-й позиції необхідно змінити на зворотний.
Приклад 2. Побудувати код Хеммінга для передачі кодової комбінації 1 1 0 1 1 0 1 1. Показати процес виявлення і виправлення помилки у відповідному розряді кодової комбінації.
Рішення: Розглянемо алгоритм побудови коду для виправлення одиночної помилки.
1. По заданій довжині інформаційного слова (k = 8), використовуючи співвідношення обчислимо основні параметри коду n і m.
m = [log 2 {(k +1) + [log 2 (k +1 )]}]=[ log 2 {(9 +1) + [log 2 (9 +1 )]}]= 4,
при цьому n = k + m = 12, тобто отримали (12, 8)-код.
2. Визначаємо номери робочих і контрольних позиції кодової комбінації. Номери контрольних позицій вибираємо за законом 2 i .
Для розглянутої задачі (при n = 12) номери контрольних позицій рівні 1, 4, 8.
При цьому кодова комбінація має вигляд:
b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 b 10 b 11 b 12
до 1 до 2 1 до 3 1 0 1 до 4 1 0 1 1
3. Визначаємо значення контрольних розрядів (0 або 1) шляхом багато-кратних перевірок кодової комбінації на парність. Кількість перевірок одно m = nk. У кожну перевірку включається один контрольний і певні перевірочні біти.
Номери інформаційних біт, що включаються в кожну перевірку визначається за допомогою бінарного коду натуральних n-чисел розрядністю - m.
0001 b 1 Кількість розрядів m - визначає кількість прове-
0010 b 2 Верокая.
0011 b 3 1) до 1 Å b 3 Å b 5 Å b 7 Å b 9 Å а 11 = до 1 Å1Å1Å1Å1Å1 =>
0100 b 4 парна при до 1 = 1
0101 b 5 2) до 2 Å b 3 Å b 6 Å b 7 Å b 10 Å b 11 = до 2 Å1Å0Å1Å0Å1 =>
0110 b 6 парна при до 2 = 1
0111 b 3 липня) до 3 Å b 5 Å b 6 Å b 7 Å b 12 = до 3 Å1Å0Å1Å1 =>
1000 b 8 парна при до 3 = 1
1001 b 4 вересні) до 4 Å b 9 Å b 10 Å b 11 Å b 12 = до 1 Å1Å0Å1Å1 =>
1010 b 10 парна при до 4 = 1
1011 b 11
1100 b 12
  Передана кодова комбінація: 1 2 3 4 5 6 7 8 9 10 11 12
1 1 1 1 1 0 1 1 1 0 1 1
Припустимо, прийнято: 1 1 1 1 0 0 1 1 1 0 1 1

Для виявлення та виправлення помилки складемо аналогічні про-перевірки на парність контрольних сум, результатом яких є двійкове (nk)-розрядне число, зване синдромом і вказує на становище помилки, тобто номер помилкову позицію.
1) до 1 Å b 3 Å b 5 Å b 7 Å b 9 Å b 11 = 1Å1Å0Å1Å1Å1 = 1
2) до 2 Å b 3 Å b 6 Å b 7 Å b 10 Å b 11 = 1Å1Å0Å1Å0Å1 = 0
3) до 3 Å b 5 Å b 6 Å b 7 Å b 12 = 1Å0Å0Å1Å1 = 1
4) до 4 Å b 9 Å b 10 Å b 11 Å b 12 = 1Å1Å0Å1Å1 = 0
Виявлена ​​помилка в розряді кодової комбінації з номером 0101, тобто в 5-му розряді. Для виправлення помилки необхідно проінвертіровать 5-й розряд в кодової комбінації.



Рис. 1. Схема кодера - а і декодера - б для простого (7, 4) коду Хеммінга
Розглянемо застосування коду Хеммінга. У ЕОМ код Хеммінга найчастіше використовується для виявлення і виправлення помилок у ВП, пам'яті з виявленням та виправленням помилок ECC Memory (Error Checking and Correcting). Код Хеммінга використовується як при паралельній, так і при послідовній запису. У ЕОМ значна частина інтенсивності потоку помилок припадає на ОП. Причинами постійних несправностей є відмови ІС, а випадкових зміна вмісту ВП за рахунок флуктуації напруги живлення, короткочасних перешкод і випромінювань. Несправність може бути в одному біті, лінії вибірки розряду, слова або всієї ІС. Збій може виникнути при формуванні коду (паралельного), адреси чи даних, тому захищати необхідно і те й ін Зазвичай дешифратор адреси вбудований в м / схему і недоступний для споживача. Найбільш часто помилки дають осередки пам'яті ЗУ, тому головним чином захищають записувані і зчитуються дані.
Найбільше застосування в ЗУ знайшли коди Хеммінга з d min = 4, виправляють поодинокі помилки і виявляють подвійні.
Перевірочні символи записуються або в основний, або спеціальне ЗУ. Для кожного записуваного інформаційного слова (а не байта, як при контролі за паритетом) за певними правилами обчислюється функція згортки, результат якої розрядністю в кілька біт також записується в пам'ять. Для 16-ти розрядного інформаційного слова використовується 6 додаткових біт (32 - 7 біт, 64 -8 біт). При зчитуванні інформації схема контролю, використовуючи надлишкові біти, дозволяє виявити помилки різної кратності або виправити одиночну помилку. Можливі різні варіанти поведінки системи:
- Автоматичне виправлення помилки без повідомлення системи;
- Виправлення одноразової помилки і повідомлення системи тільки про багаторазових помилках;
- Не виправлення помилки, а тільки повідомлення системи про помилки;
Модуль пам'яті з вбудованою схемою виправлення помилок-EOS 72/64 (ECC on Simm). Аналог мікросхема до 555 вж 1-це 16 розрядна схема з виявленням та виправленням помилок (УІО) за кодом Хеммінга (22, 16), використання якої дозволяє виправити однократні помилки і виявити всі двох кратні помилки в ЗУ.
Надлишкові (контрольні) розряди дозволяють виявити і виправити помилки в ЗУ в процесі запису і зберігання інформації.
У складі ВЖ-1 використовуються 16 інформаційних та 6 контрольних розрядів. (DB - інформаційне слово, CB - контрольне слово).
При записі здійснюється формування коду, що складається з 16 інформаційних та 6 контрольних розрядів, що представляють результат підсумовування за модулем 2 восьми інформаційних розрядів відповідно до коду Хеммінга. Сформовані контрольні розряди разом з інформаційними надходять на схему і записуються в ЗУ.
(22, 16)



4 схе (72, 64)

Рис.2. Схема контролю
При зчитуванні шестнадцатіразрядное слово декодується, відновлюючись разом з 6 розрядним словом контрольним, надходять на схему порівняння і контролю. Якщо досягнуто рівність всіх контрольних розрядів і двійкових слів, то помилки немає.
Будь-яка одноразова помилка в 16 розрядному слові даних змінює 3 байти в 6 розрядному контрольному слові. Виявлений помилковий біт інвертується.

Список Літератури
1. Гриценко В.М, Недвійкова арифметичні коригувальні коди, Пробл. передачі інформ., 5:4 (1969), 19-27
2. Злотник Б.М. Перешкодостійкі коди в системах связі.-M.: Радіо і зв'язок, 1989.-232 c.
3. Кловський Д.Д. Теорія передачі сигналів. -М.: Зв'язок, 1984.
4. Ковалгін Ю.А., Вологдін Е. І. Цифрове кодування звукових сигналів. Видавництво: Корона-Принт, 2004. - 240с.
5. Колесник В.Д., Полтирев Г.Ш. Курс теорії інформації. М.: Наука, 2006.
6. Мікропроцесорні кодери та декодери / В.М. Муттер, Г.А. Петров і др.-М.: Радіо і зв'язок, 1991.-184 с.
7. Пітерсон У., Коди, що виправляють помилки, пров. з англ., М., 1964.
8. Семенюк В.В. Економне кодування дискретної інформації. - СПб.: СПбГІТМО (ТУ), 2001
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Диплом
72кб. | скачати


Схожі роботи:
Коди без пам`яті Коди Хаффмена Коди з пам`яттю
Циклічні коди Коди БЧХ
Коди Фібоначі Коди Грея
Дохід та коригувальні проводки
Лінійні блокові коди
Системи числення та коди
Коди Боуза Чоудхурі хоквінгема
Коди Боуза-Чоудхурі-хоквінгема
Штрихові коди новий предмет бібліотечної технології
© Усі права захищені
написати до нас