Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Arch_Metod_2.doc
Скачиваний:
15
Добавлен:
04.05.2019
Размер:
1.35 Mб
Скачать

3.3 Шифратор коду Хеммінга

Відстанню Хеммінга між двома n-розрядними двійковими рядками називається число розрядів, в яких ці рядки розрізняються. В геометричній інтерпретації - це мінімальна довжина шляху між двома відповідними вершинами. Наприклад, відстань Хеммінга між двома сусідніми вершинами дорівнює 1; відстань між вершинами 3-мірного куба 001 і 100 дорівнює 2 ( рис. 3.2).

Рисунок 3.2 – Геометрична інтерпретація відстані Хеммінга

Код Хеммінга є коректуючим кодом. В загальному випадку справедливо правило: якщо мінімальна відстань в коді рівно 2c+1, то з його допомогою можна виправляти до c помилок в бітах. Якщо мінімальна відстань коду рівно 2c+d+1, то він дозволяє виправляти до c помилок і знаходити до d помилок в інших бітах. Наприклад, коректуючий код з мінімальною відстанню 3 може виправляти одну помилку (c=1, d=0). Якщо мінімальна відстань коду 4, то можливі два випадки: c=1, d=1, або c=0, d=3.

В розрядах коду Хеммінга, що є ступенем двійки (1,2,4 і т.д.), розміщуються перевірочні біти, в решті розрядів - інформаційні біти. Кожний перевірочний біт разом з деякою підмножиною інформаційних бітів об'єднується в групу згідно наступному правилу. В групу, що відноситься до кожного перевірочного біта, потрапляють такі інформаційні біти, у яких номер позиції в двійковому записі містить 1 в тому ж розряді, що і номер позиції перевірочного біта. Наприклад, перевірочний біт з номером 2 (010) об'єднується в одну групу з інформаційними бітами з номерами 3 (011), 6 (110), 7 (111). Значення перевірочного біта повинне бути таким, щоб повне число одиниць в групі було парним.

Таблиця 3.3 – Код Хеммінга з мінімальною відстанню 3

Інф. біти

Перев. біти

111

110

101

100

011

010

001

0000

000

0

0

0

0

0

0

0

0001

011

0

0

0

0

1

1

1

0010

101

0

0

1

1

0

0

1

0011

110

0

0

1

1

1

1

0

0100

110

0

1

0

1

0

1

0

0101

101

0

1

0

1

1

0

1

0110

011

0

1

1

0

0

1

1

0111

000

0

1

1

0

1

0

0

1000

111

1

0

0

1

0

1

1

1001

100

1

0

0

1

1

0

0

1010

010

1

0

1

0

0

1

0

1011

001

1

0

1

0

1

0

1

1100

001

1

1

0

0

0

0

1

1101

010

1

1

0

0

1

1

0

1110

100

1

1

1

1

0

0

0

1111

111

1

1

1

1

1

1

1

Завдання 3. Розробити VHDL-модель шифратора коду Хеммінга з мінімальною відстанню 3. Вхід - чотири інформаційні біти, вихід - 7-розрядний код Хеммінга.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]