запис коду Хеммінга в осередок ОЗУPORTB, R23; висновок коду Хеммінга в порт BM; повернення на опитування порту А
. Приклади моделювання в Proteus для вихідних повідомлень
Сформуємо код Хеммінга для вихідних даних:
1) для початкового повідомлення отримаємо:
перенесення інформаційних біт в необхідні позиції:
формування контрольних біт:
,
,
.
Додавши контрольні біти, отримаємо код Хеммінга:
Таким чином, для повідомлення сформований код Хеммінга
Зробимо перевірку розрахунків з результатами обчислень в інтегрованому середовищі Proteus на базі мікроконтролера ATmega128 (малюнок 2).
Малюнок 2 - Перетворення вихідного повідомлення в код Хеммінга
Перевірка дала аналогічні результати.
2) для вихідного повідомлення отримаємо:
перенесення інформаційних біт в необхідні позиції:
формування контрольних біт:
,
,
.
Додавши контрольні біти, отримаємо код Хеммінга:
Таким чином, для повідомлення сформований код Хеммінга
Зробимо перевірку розрахунків з результатами обчислень в інтегрованому середовищі Proteus на базі мікроконтролера ATmega128 (малюнок 3).
Рисунок 3 - Перетворення вихідного повідомлення в код Хеммінга
Перевірка дала аналогічні результати.
Висновок
В результаті виконання курсової роботи були вивчені принципи побудови коригуючого коду Хеммінга, розроблена програма перетворення вихідних повідомлень за допомогою коду Хеммінга мовою Асемблер, виконано моделювання виконання коду на базі мікроконтролера ATmega128 за допомогою програми Proteus.
Ефективність використання того чи іншого коду в чому визначається знанням характеру помилок у використовуваному каналі передачі. При невідповідності характеристик реального каналу і моделі, застосованої при побудові коду, різко знижується ефективність його використання. Застосування коригувальних кодів не гарантує безпомилковості прийому переданої інформації, підвищується лише ймовірність отримання достовірної інформації.
Код Хеммінга використовується в деяких прикладних програмах в області зберігання даних, особливо в RAID2, крім того, метод Хеммінга давно застосовується в пам'яті типу ECC дозволяє «на льоту» виправляти одноразові і виявляти дворазові помилки.
Список використаних джерел
1. Абакумов, В. Г. Електронні промислові пристрої / В. Г. Абакумов.- К.: Вiща школа, 1978. - 376 с.
. Блейхут Р. Теорія і практика кодів, контролюючих помилки / Р. Блейхут.- Пер. з англ.- М.: Мир, 1986, 576 с.
. Пітерсон У. Коди, що виправляють помилки / У. Пітерсон, Е. Уелдон.- Пер. з англ.- М.: Мир, 1976, 600 c.
. Лановенко В. В. Електронні промислові пристрої / В. В. Лановенко.- Комсомольськ-на-Амурі: ГОУВПО «КнАГТУ», 2006. - 87 с.