Виявлення та виправлення помилок: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
Вилучено вміст Додано вміст
Shynkar (обговорення | внесок) |
Shynkar (обговорення | внесок) |
||
Рядок 21:
В дійсності, використовувані коди виявлення помилок належать до тих же класів кодів, що і коди, що виправляють помилки. Фактично будь-який код, що виправляє помилки, може бути також використаний для виявлення помилок (при цьому він буде здатний виявити більше число помилок, ніж був здатний виправити).
==Блокові коди==
Нехай кодована інформація поділяється на фрагменти довжиною k біт, які перетворюються в кодові слова довжиною n біт. Тоді відповідний блоковий код зазвичай позначають '''(n, k)'''. При цьому число '''R = k/n''' називається швидкістю коду.
Якщо вихідні '''k''' біт код залишає незмінними, і додає '''n - k''' перевірочних, такий код називається систематичним, інакше несистематичним.
Задати блоковий код можна по-різному, в тому числі таблицею, де кожній сукупності з k інформаційних біт зіставляється n біт кодового слова. Проте хороший код повинен задовольняти як мінімум такими критеріями:
* Здатність виправляти якомога більше число помилок,
* Якомога менша надмірність,
* Простота кодування і декодування.
Неважко бачити, що наведені вимоги суперечать один одному. Саме тому існує велика кількість кодів, кожен з яких придатний для свого кола завдань.
Практично всі використовувані коди є лінійними. Це пов'язано з тим, що нелінійні коди значно складніше досліджувати, і для них важко забезпечити прийнятну легкість кодування та декодування.
== Див. також ==
[[ru:Обнаружение и исправление ошибок]]
[[Категорія:Телекомунікації]]
{{Доробити}}
|