Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Рассмотрим создание кода Хемминга на конкретном примере по шагам.
1.Число или сообщение, которое надо закодировать, представляется в двоичной системе счисления. Получают информационные разряды, т.е. разряды, которые несут информацию о числе или сообщении.
Возьмем для примера произвольное число 10.
10=10102.
2. Далее высчитывают k – количество контрольных разрядов, которые надо добавить к полученным информационным разрядам, необходимых для того, чтобы не только обнаружить ошибку, но и найти номер разряда, в котором произошла эта ошибка. Получают общее количество разрядов n = m + k, где m – количество информационных разрядов, k – количество контрольных разрядов.
Существует таблица, по которой определяется количество контрольных разрядов в зависимости от количества информационных разрядов m. Таким образом можно подсчитать и общее количество разрядов в числе:
m 0 0 1 1…4 4…11 11…26 26…57 57…
k 1 2 2 3…3 4…4 5….5 6….6 7…
n 1 2 3 4…7 8…15 16…31 32…63 64…
Из приведенной таблицы видно, что этот метод кодирования очень рациональный, т.к. на большое число информационных разрядов требуется малое число контрольных разрядов, и чем больше число информационных разрядов, тем больше эффект.
В нашем примере m =4. По таблице определим, что k =3, а n =7.
3. Теперь надо узнать, в какие позиции в коде Хэмминга поместить контрольные разряды. Номер позиции вычисляется по формуле 2q, где q = 0, 1, 2, …
Для нашего примера номера контрольных разрядов: 1, 2, 4. Код Хэмминга будет выглядеть следующим образом:
k 1 k 2 m 1 k 3 m 2 m 3 m 4 (в общем виде)
или: k 1 k 2 1 k 3 0 1 0 (подставили конкретные значения информационных разрядов на соответствующие места в коде).
4. Вычисляются значения контрольных разрядов. Для этого составляется следующая таблица для вычисления значений контрольных разрядов:
Порядковый номер | Вспомогательные столбцы | |||
Вычисление k 1 | Вычисление k 2 | Вычисление k 3 | Код числа | |
0 0 1 | 0 0 1 | 0 0 1 | k 1 | |
0 1 0 | 0 1 0 | 0 1 0 | k 2 | |
3 | 0 1 1 | 0 1 1 | 0 1 1 | |
1 0 0 | 1 0 0 | 1 0 0 | k 3 | |
1 0 1 | 1 0 1 | 1 0 1 | ||
6 | 1 1 0 | 1 1 0 | 1 1 0 | |
1 1 1 | 1 1 1 | 1 1 1 | ||
Сумма по модулю 2 на пересечении | k 1=1 (нечетн) | k 2=0 (четн) | k 3=1 (нечетн) |
Для вычисления k 1 считают количество единиц, стоящих на пересечении строк, где в коде числа записана 1, и столбца последних разрядов. Если сумма четная, то k 1=0, иначе k 1=1. Для вычисления k 2 учитываются разряды предпоследнего столбца. Остальные контрольные разряды вычисляются аналогично. В нашем примере k 1=1, k 2=0, k 3=1.
5. Получают код Хэмминга для кодируемого числа, в нашем случае для числа 10:
1011010.
Дата публикования: 2015-09-17; Прочитано: 214 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!