Коды Хемминга
Американский ученый Р. Хемминг предложил способ кодирования информации, позволяющий не только обнаруживать, но и исправлять ошибки при передаче одиночного слова любой разрядности. Эти коды – систематические. Пусть разрядность слова равна m. Для контроля информации требуется k дополнительных разрядов. Число k выбирается согласно следующим правилам.
1. Контролирующее число k выбирается так, чтобы оно имело количество комбинаций, достаточное для распознавания одной из m+k позиций или для сигнализации отсутствия ошибки. Полученное таким образом число описывает n=m+k+1 событий. Следовательно, необходимо, чтобы выполнялось неравенство 2k≥(m+n+1).
2. (m+k)-разрядные позиции нумеруются от единицы до (m+k), начиная от младшей значащей. Контрольные разряды k обозначаются P0, P1, P2, …,Pk-1 и помещаются в разряды, имеющие номера 1,2,4,8, …,2k-1 (m+k)-разрядного числа. Остальные m разрядов могут быть размещены в любом порядке между контрольными разрядами.
3. Контрольные разряды P0, P1, P2, …,Pk-1 выбраны таким образом, чтобы для определенных разрядов слова служить в качестве контрольных избыточных разрядов.
Проверка | Проверяемые разряды |
| ||||||||||||||
| 1 |
| 1 | 3 | 5 | 7 | 9 | 11 | 13 | 15 | … |
|
|
|
|
|
| 2 |
| 2 | 3 | 6 | 7 | 10 | 11 | 14 | 15 | 18 | 19 | 22 | … |
|
|
| 3 |
| 4 | 5 | 6 | 7 | 12 | 13 | 14 | 15 | 20 | 21 | 22 | 23 | … |
|
| 4 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 24 | 25 | 26 | 27 | … |
|
| … |
|
| . | . | . |
|
|
|
|
|
|
|
|
|
|
P0 выбрано с таким расчетом, чтобы в позициях 1, 3, 5, 7, 9, 11 … число единиц каждого слова было четным, P1 выбрано для того, чтобы выполнялось условие четности в разрядах 2, 3, 6, 7, 10, 11, 14, 15 …, аналогично P2 контролирует позиции 4,5,6,7,12,13,14,15,20… и P3 − для разрядов 8, 9,10,11,12,13, 14,15,24,25… .
На основании рассмотренных правил в табл. 6 показаны семиразрядные коды. Контрольные разряды обозначены P0, P1 и P2 и помещены в позициях 1, 2 и 4.
Операция обнаружения и исправления ошибок выполняется путем нахождения k-разрядного контрольного числа. При этом младший значащий разряд контрольного числа находится посредством проведения контроля на четность над разрядами 1,3,5,7,9… . Если контроль показывает правильность передачи, то пишется нуль, иначе − единица. Следующий разряд контрольного числа
Таблица 6
|
| Разряды
|
| ||||||
| Число | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
|
|
| A | B | C | P2 | D | P1 | P0 |
|
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
|
| 1 | 0 0 | 0 | 0 | 0 | 1 | 1 | 1 |
|
| 2 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
|
| 3 | 0 | 0 | 1 | 1 | 1 | 1 | 0 |
|
| 4 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
|
| 5 | 0 | 1 | 0 | 1 | 1 | 0 | 1 |
|
| 6 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
|
| 7 | 0 | 1 | 1 | 0 | 1 | 0 | 0 |
|
| 8 | 1 | 0 | 0 | 1 | 0 | 1 | 1 |
|
| 9 | 1 | 0 | 0 | 1 | 1 | 0 | 0 |
|
| 10 | 1 | 0 | 1 | 0 | 0 | 1 | 0 |
|
| 11 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
|
| 12 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
|
| 13 | 1 | 1 | 0 | 0 | 1 | 1 | 0 |
|
| 14 | 1 | 1 | 1 | 1 | 0 | 0 | 0 |
|
| 15 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
|
определяется путем проверки на четность разрядов 2,3,7,10,11,14,15,… . Остальные разряды контрольного числа находятся аналогично.
Если контрольное число равно нулю, то это означает, что при передаче информации ошибка не произошла. Если же контрольное число не равно нулю, то оно указывает на тот разряд числа, где зафиксирована ошибка, которую необходимо исправить.
Пусть, например, передается число шесть 0110011, а принимается в виде 0110111, то есть произошла ошибка в третьем разряде. Выполняя контроль на четность с помощью разрядов P0, P1 и P2, находим:
Контрольное число
P0 (1, 3, 5, 7) = (1, 1, 1, 0) нечетность 1
P1 (2, 3, 6, 7) = (1, 1, 1, 0) нечетность 1
P2 (4, 5, 6, 7) = (0, 1, 1, 0) четность 0
Полученное контрольное число равно 011, что соответствует ошибке в третьем разряде.
Таким образом, дополнительный разряд Pi выбран так, чтобы проверять четность той совокупности разрядных позиций, чьи контрольные числа содержат единицу в позиции 2i.
Yandex.RTB R-A-252273-3- Арифметические и логические основы вычислительной техники учебное пособие
- Введение
- Арифметические основы вычислительной техники Системы счисления
- Двоичная система счисления
- Восьмеричная система счисления
- Шестнадцатеричная система счисления
- Критерии выбора системы счисления
- Перевод чисел из одной системы счисления в другую
- Перевод целых чисел
- Перевод правильных дробей
- Перевод чисел из одной системы счисления в другую, основание которой кратно степени 2
- Кодирование чисел
- Переполнение разрядной сетки
- Модифицированные коды
- Машинные формы представления чисел
- Погрешность выполнения арифметических операций
- Округление
- Нормализация чисел
- Последовательное и параллельное сложение чисел
- Сложение чисел с плавающей запятой
- Машинные методы умножения чисел в прямых кодах
- Ускорение операции умножения
- Умножение с хранением переносов
- Умножение на два разряда множителя одновременно
- Умножение на четыре разряда одновременно
- Умножение в дополнительных кодах
- Умножение на два разряда множителя в дополнительных кодах
- Матричные методы умножения
- Машинные методы деления
- Деление чисел в прямых кодах
- Деление чисел в дополнительных кодах
- Методы ускорения деления
- Двоично-десятичные коды
- Суммирование чисел с одинаковыми знаками в bcd-коде
- Суммирование чисел с разными знаками в bcd-коде
- Система счисления в остаточных классах (сок)
- Представление отрицательных чисел в сок
- Контроль работы цифрового автомата
- Некоторые понятия теории кодирования
- Обнаружение и исправление одиночных ошибок путем использования дополнительных разрядов
- Коды Хемминга
- Логические основы вычислительной техники Двоичные переменные и булевы функции
- Способы задания булевых функций
- Основные понятия алгебры логики
- Основные законы алгебры логики
- Формы представления функций алгебры логики
- Системы функций алгебры логики
- Минимизация фал
- Метод Квайна
- Метод Блейка - Порецкого
- Метод минимизирующих карт Карно (Вейча)
- Б в Рис. 19. Таблица истинности и карта Карно
- Минимизация конъюнктивных нормальных форм
- Минимизация не полностью определенных фал
- Кубическое задание функций алгебры логики
- Метод Квайна −Мак-Класки
- Алгоритм извлечения (Рота)
- Нахождение множества простых импликант
- Определение l-экстремалей
- Минимизация фал методом преобразования логических выражений
- Применение правил и законов алгебры логики к синтезу некоторых цифровых устройств Синтез одноразрядного полного комбинационного сумматора
- Синтез одноразрядного комбинационного полусумматора
- Синтез одноразрядного полного комбинационного сумматора на двух полусумматорах
- Синтез одноразрядного комбинационного вычитателя
- Объединенная схема одноразрядного комбинационного сумматора-вычитателя
- Триггер со счетным входом как полный одноразрядный сумматор
- Введение в теорию конечных автоматов Основные понятия теории автоматов
- Способы задания автоматов
- Структурный автомат
- Память автомата
- Канонический метод структурного синтеза автоматов
- Принцип микропрограммного управления
- Граф-схема алгоритма
- Пример синтеза мпа по гса
- Синтез мпа Мили по гса
- Синхронизация автоматов
- Литература
- 220013, Минск, п.Бровки, 6