Кодекс Хеммінга: приклади виправлення помилок

Зміст:

Anonim

Що таке помилка?

Передані дані можуть бути пошкоджені під час спілкування. На це може вплинути зовнішній шум або інші фізичні збої. У такій ситуації вхідні дані не можуть збігатися з вихідними даними. Ця невідповідність відома як "Помилка".

Помилки даних можуть призвести до втрати важливих або захищених даних. Більша частина передачі даних у цифрових системах здійснюватиметься у формі „передачі бітів”. Навіть незначні зміни можуть вплинути на роботу всієї системи. У послідовності даних, якщо 1 змінити на 0 або 0 змінити на 1, це називається "Помилка біта".

У цьому посібнику з коду Хеммінга ви дізнаєтесь:

  • Що таке помилка?
  • Види помилок
  • Що таке виявлення та виправлення помилок?
  • Що таке код Хеммінга?
  • Історія коду Хеммінга
  • Застосування коду Хеммінга:
  • Переваги коду Хеммінга
  • Недоліки коду Хеммінга
  • Процес кодування повідомлення за допомогою коду Хеммінга
  • Процес дешифрування повідомлення в коді Хеммінга

Види помилок

В основному існує три типи бітових помилок, які виникають при передачі даних від відправника до одержувача.

  • Однобітові помилки
  • Багатобітові помилки
  • Серійні помилки

Помилки одного біта

Зміна, зроблена одним бітом у всій послідовності даних, відома як "Помилка одного біта". Однак виникнення однобітової помилки не так часто. Більше того, ця помилка виникає лише в паралельній системі зв'язку, оскільки дані передаються побітово в одній лінії. Тому є більше шансів, що на одній лінії може бути шумно.

Кілька бітових помилок

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

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

Серійні помилки

Зміна набору бітів у послідовності даних відома як "помилка вибуху". Цей тип помилок даних обчислюється від зміни першого біта до зміни останнього біта.

Що таке виявлення та виправлення помилок?

У цифровій системі зв'язку помилка буде передаватися з однієї системи зв'язку в іншу. Якщо ці помилки не буде виявлено та виправлено, дані будуть втрачені. Для ефективного зв'язку системні дані повинні передаватися з високою точністю. Це буде зроблено шляхом спочатку виявлення помилок та їх виправлення.

Виявлення помилок - це метод виявлення помилок, які є в даних, переданих від передавача до приймача в системі передачі даних.

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

Три типи кодів виявлення помилок:

  • Перевірка парності
  • Перевірка циклічного резерву (CRC)
  • Перевірка поздовжнього резерву (LRC)

Перевірка парності:

  • Він також відомий як перевірка паритету.
  • Він має економічно ефективний механізм виявлення помилок.
  • У цій техніці надлишковий біт відомий як біт парності. Він додається до кожної одиниці даних. Загальна кількість одиниць в одиниці повинна стати парною, що називається бітом паритету.

Перевірка поздовжнього резервування

У цій техніці виявлення помилок блок бітів організований у табличному форматі. Метод LRC допомагає розрахувати біт парності для кожного стовпця. Набір цього паритету також надсилається разом із вихідними даними. Блок парності допомагає перевірити надмірність.

Перевірка циклічного резервування

Перевірка циклічного резервування - це послідовність зайвих, яка повинна бути додана до кінця блоку. Ось чому отримана одиниця даних повинна ділитися на друге, заздалегідь визначене двійкове число.

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

Що таке код Хеммінга?

Код Хеммінга - це лінійний код, який корисний для виявлення помилок до двох негайних бітових помилок. Він здатний до однобітових помилок.

У коді Хеммінга джерело кодує повідомлення, додаючи в повідомлення зайві біти. Ці надлишкові біти в основному вставляються та генеруються в певних місцях повідомлення, щоб виконати процес виявлення та виправлення помилок.

Історія коду Хеммінга

  • Код Хеммінга - це техніка, побудована RWHamming для виявлення помилок.
  • Код Хеммінга слід застосовувати до одиниць даних будь-якої довжини і використовує взаємозв'язок між даними та бітами надмірності.
  • Він працював над проблемою методу виправлення помилок і розробив все більш потужний масив алгоритмів, який називається кодом Хеммінга.
  • У 1950 році він опублікував Кодекс Хеммінга, який сьогодні широко використовується в таких додатках, як пам'ять ECC.

Застосування коду Хеммінга

Ось декілька поширених програм використання коду Хеммінга:

  • Супутники
  • Пам'ять комп'ютера
  • Модеми
  • PlasmaCAM
  • Відкриті роз'єми
  • Екрануючий дріт
  • Вбудований процесор

Переваги коду Хеммінга

  • Метод коду Хеммінга ефективний у мережах, де потоки даних задаються для однобітових помилок.
  • Код Хеммінга не тільки забезпечує виявлення бітової помилки, але також допомагає вам зробити відступ бітової помилки, щоб її можна було виправити.
  • Простота використання кодів Hamming робить їх найкращими придатними для використання в пам’яті комп’ютера та виправлення однієї помилки.

Недоліки коду Хеммінга

  • Однобітовий код виявлення та виправлення помилок. Однак, якщо помилка заснована на декількох бітах, результат може призвести до іншого біта, який повинен бути правильним для зміни. Це може призвести до подальшої помилки даних.
  • Алгоритм коду Хеммінга може вирішити лише окремі бітові проблеми.

Процес кодування повідомлення за допомогою коду Хеммінга

Процес, який використовує відправник для кодування повідомлення, включає такі три етапи:

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

Коли вищезазначені надлишкові біти вбудовані в повідомлення, воно надсилається користувачеві.

Крок 1) Розрахунок загальної кількості зайвих бітів.

Припустимо, що повідомлення містить:

  • n - кількість бітів даних
  • p - кількість надлишкових бітів, які додаються до нього, щоб np міг вказувати принаймні (n + p + 1) різні стани.

Тут (n + p) зображує місце помилки в кожному з (n + p) бітових положень, а один додатковий стан вказує на відсутність помилки. Оскільки p біти можуть вказувати на 2 p стану, 2 p має принаймні дорівнювати (n + p + 1).

Крок 2) Розміщення зайвих бітів у правильному положенні.

P надлишкові біти слід розміщувати в бітових положеннях степенів 2. Наприклад, 1, 2, 4, 8, 16 і т. Д. Вони позначаються як p 1 (у положенні 1), p 2 (у положенні 2) , p 3 (у положенні 4) тощо.

Крок 3) Обчислення значень надлишкового біта.

Надлишковими бітами повинні бути біти парності, що робить число 1s парним або непарним.

Два типи паритету -

  • Загальна кількість бітів у повідомленні робиться навіть називається парною парністю.
  • Загальна кількість бітів у повідомленні робиться непарною називається непарною парністю.

Тут весь надлишковий біт, p1, повинен обчислюватися як парність. Він повинен охоплювати всі бітові позиції, двійкове представлення яких повинно містити 1 в 1-й позиції, за винятком позиції p1.

P1 - це біт парності для кожного біта даних у позиціях, двійкове представлення яких включає 1 у менш важливій позиції, не включаючи 1 Like (3, 5, 7, 9,

... )

P2 - біт парності для кожного біта даних у позиціях, двійкове представлення яких включає 1 у позиції 2 справа, не включаючи 2 Like (3, 6, 7, 10, 11,

…)

P3 - біт парності для кожного біта в позиціях, двійкове представлення яких включає 1 у позиції 3 справа, не включає 4 Подоба (5-7, 12-15,

…)

Процес дешифрування повідомлення в коді Хеммінга

Отримувач отримує вхідні повідомлення, які вимагають проведення перерахунку для пошуку та виправлення помилок.

Процес перерахунку здійснюється на наступних етапах:

  • Підрахунок кількості зайвих бітів.
  • Правильне позиціонування всіх зайвих бітів.
  • Перевірка парності

Крок 1) Підрахунок кількості зайвих бітів

Ви можете використовувати ту саму формулу для кодування, кількість зайвих бітів

2 p ≥ n + p + 1

Тут кількість бітів даних і p - це кількість зайвих бітів.

Крок 2) Правильне розміщення всіх зайвих бітів

Тут p є надлишковим бітом, який знаходиться в бітових положеннях степенів 2, Наприклад, 1, 2, 4, 8 тощо.

Крок 3) Перевірка парності

Біти парності потрібно обчислювати на основі бітів даних та зайвих бітів.

p1 = парність (1, 3, 5, 7, 9, 11

…)

p2 = парність (2, 3, 6, 7, 10, 11

…)

p3 = парність (4-7, 12-15, 20-23

…)

Резюме

  • Передані дані можуть бути пошкоджені під час спілкування
  • Три типи бітових помилок: 1) Помилки одного біта 2) Помилки декількох бітів 3) Помилки розривного біта
  • Зміна, зроблена одним бітом у всій послідовності даних, відома як "Помилка одного біта".
  • У послідовності даних, якщо відбувається зміна двох або більше бітів послідовності даних передавача до приймача, це називається "Множинні бітові помилки".
  • Зміна набору бітів у послідовності даних відома як "помилка вибуху".
  • Виявлення помилок - це метод виявлення помилок, які є в даних, переданих від передавача до приймача в системі передачі даних
  • Три типи кодів виявлення помилок: 1) Перевірка парності 2) Перевірка циклічної надмірності (CRC) 3) Перевірка поздовжньої надмірності (LRC)
  • Код Хеммінга - це лінійний код, який корисний для виявлення помилок до двох негайних бітових помилок. Він здатний до однобітових помилок.
  • Код Хеммінга - це техніка, побудована RWHamming для виявлення помилок.
  • Типовими програмами використання коду Хеммінга є супутники комп'ютерної пам'яті, модеми, вбудований процесор тощо.
  • Найбільша перевага методу коду Хеммінга ефективна в мережах, де потоки даних надаються для однобітових помилок.
  • Найбільшим недоліком методу коду Хеммінга є те, що він може вирішити лише окремі бітові проблеми.
  • Ми можемо виконати процес шифрування та декодування повідомлення за допомогою коду Hamming.