Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АКР_ПП.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.01 Mб
Скачать

1.3 Циклічний надлишковий код, що коректує, 7,4 (crc3)

Найважливішою вимогою до системи передачі даних є забезпечення високої достовірності повідомлень, які приймаються.

Надлишкові коди - одне з найбільш ефективних засобів забезпечення високої достовірності повідомлень, які передаються і приймаються у каналі зв’язку. При побудові надлишкового коду для передачі інформації використовується лише частина кодових комбінацій – дозволені комбінації, які відрізняються одна від одної більше, ніж в одному розряді. Решта комбінацій не використовується і відноситься до заборонених. Це означає, що з n символів кодової комбінації для передачі інформації використовується k символів. Тоді:

N=2n (1)

Де: N – загальне число кодових комбінацій;

N e=2k (2)

Де: N e – дозволені комбінації для передачі у каналі зв’язку.

У відповідності з вище наведеним всю множину повідомлень N можна поділити на дві групи:

- множина N e=2k дозволених комбінацій;

- множина (N - N e)= 2n - 2k заборонених комбінацій;

Неважко побачити, що при використанні надлишкових кодів помилка в одному розряді приводить до заміни дозволеної комбінації на заборонену.

При достатньо великому відрізненні дозволених комбінацій однієї від іншої можна виявити двох кратну, трьох кратну і т.д. помилки, оскільки вони приведуть до створення заборонених комбінацій.

Більшість розроблених кодів призначені для коректування взаємно незалежних помилок визначеної кратності і пакетів помилок.

1.3.1 Зв’язок коректованої здатності коду з кодовою відстанню

Для оцінки ступеню різниці між любими комбінаціями даного коду використовується термін мінімальної кодової відстані d min (distance - відстань). Для виявлення всіх помилок кратності t r (revelation - виявлення) ця відстань повинна відповідати умові:

d min >= t r + 1 (3)

Розглянемо приклад коду CRC3 з n=7, k=4 та r=3, який призначений для виявлення і виправлення всіх одно кратних помилок - d min=3. Кодова матриця відстаней набуде наступного вигляду:

Таблиця 1 – Матриця кодових відстаней для CRC3 k=4

Code

1000 101

0100 111

0010 110

0001 011

1100 010

1010 011

1001 110

0110 001

0101 100

0011 101

1110 100

1011 000

0111 010

1101 001

1111 111

0000 000

1000 101

0

3

4

4

4

3

3

4

4

3

3

4

7

3

4

3

0100 111

3

0

3

3

3

4

4

3

3

4

4

7

4

4

3

4

0010 110

4

3

0

4

4

3

3

4

4

3

3

4

3

7

4

3

0001 011

4

3

4

0

4

3

3

4

4

3

7

4

3

3

4

3

1100 010

4

3

4

4

0

3

3

4

4

7

3

4

3

3

4

3

1010 011

3

4

3

3

3

0

4

3

7

4

4

3

4

4

3

4

1001 110

3

4

3

3

3

4

0

7

3

4

4

3

4

4

3

4

0110 001

4

3

4

4

4

3

7

0

4

3

3

4

3

3

4

3

0101 100

4

3

4

4

4

7

3

4

0

3

3

4

3

3

4

3

0011 101

3

4

3

3

7

4

4

3

3

0

4

3

4

4

3

4

1110 100

3

4

3

7

3

4

4

3

3

4

0

3

4

4

3

4

1011 000

4

7

4

4

4

3

3

4

4

3

3

0

3

3

4

3

0111 010

7

4

3

3

3

4

4

3

3

4

4

3

0

4

3

4

1101 001

3

4

7

3

3

4

4

3

3

4

4

3

4

0

3

4

1111 111

4

3

4

4

4

3

3

4

4

3

3

4

3

3

0

7

0000 000

3

4

3

3

3

4

4

3

3

4

4

3

4

4

7

0

Рисунок 3 – Обчислена кодова відстань d min для коду CRC3

Як видно з матриці відстаней d min>3. Очевидна справедливість умови:

d<=n (4)

Тому неможливо виявити помилки кратності n.

Для виправлення помилок кратності t c (correction - виправлення) кодова відстань повинна задовольняти умові:

d min >= 2*t с + 1 (5)

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

Для виправлення всіх помилок кратності до t c і одночасного виявлення всіх помилок кратності t r (t r >= t c) кодова відстань повинна відповідати умові:

d min >= t r + t с + 1 (6)

При цьому необхідно мати на увазі, що, якщо виявлена кодом помилка має кратність t r > t с, така помилка виправлена бути не може, тобто у даному випадку код тільки виявляє помилку.

Можливості коду, що дозволяють коректувати, у залежності від кодової відстані наведені у таблиці:

Таблиця 2 – Залежність здатності коректування коду від кодової відстані

d min

t r

t с

Можливість, яка надається кодом

1

0

0

Відрізняти одну комбінацію від іншої

2

1

0

Виявляти одно кратні помилки

3

1

1

Виправляти (з виявленням) одно кратні помилки

3

2

0

Виявляти двох кратні помилки

4

2

1

Виправляти однократні і виявляти двох кратні помилки

4

3

0

Виявляти трьох кратні помилки

5

2

2

Виправляти (з виявленням) двох кратні помилки

5

3

1

Виправляти одно кратні і виявляти трьох кратні помилки

5

4

0

Виявляти чотирьох кратні помилки

Ідея побудови коду з даною коректованою здатністю ґрунтується у внесенні у код такого надлишку r (redundancy - надлишок), який забезпечив би відстань між любими кодовими комбінаціями даного коду не менше d min. Нажаль питання про визначення мінімальної кількості надлишкових символів у коді не вирішений. Експериментально визначено, що найбільш близькі значення дає межа Варшамова – Гілберта:

Для кодів з d min=3 отримане точне співвідношення між числом перевірочних символів r і довжиною коду n:

r>=log 2 (1 + n) (8)