Виявлення та виправлення помилок: відмінності між версіями

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