Автор: Xelga 2.12.2009, 12:15
Закодировать десятичное число 15 методом Хэмминга, ввести одиночную ошибку и исправить ее.
Помогите решить....
Автор: Евгений М. 2.12.2009, 12:26
Вопрос: Как мы сможем вам помочь с решением, если нет ваших наработков?
Автор: Xelga 2.12.2009, 12:34
Цитата(Евгений М. @ 2.12.2009, 15:26)

Вопрос: Как мы сможем вам помочь с решением, если нет ваших наработков?
1. Определим количество контрольных разрядов k по формуле 2k ≥ n + k + 1.
1510 = 11112
n = 4
2k ≥ 5 + k
23 ≥ 5 +3
k = 3
2. Определим общую структуру кода и места расположения контрольных разрядов.
7 6 5 4 3 2 1
1 1 1 k3 1 k2 k1
3. Определим позиции кода.
№ k3 k2 k1
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
А как дальше не понимаю...
Автор: Inspektor 12.12.2009, 12:00
Чуть ли не первая нормальная тема в разделе, а никто не ответил
. Из пункта 1 мы узнали, что у нас будет 7 разрядов и соответственно число вида:
Код
ХХ1Х111
Теперь делим число на группы:
Код
1 группа: 1, 3, 5, 7
2 группа: 2, 3, 6, 7
3 группа: 4, 5, 6, 7
И заполняем их так, чтобы сумма битов в каждой группе была чётной, т.е. получается:
Код
1111111
Теперь допустим, что при передаче данных произошла ошибка в пятом разряде, т.е. мы получили число:
Код
1111011
Проверим контрольные группы:
1)1+1+0+1=3 нечётное, значит тут ошибка.
2)1+1+1+1=4 чётное, значит ошибок нет.
3) 1+0+1+1=3 нечётное, значит ошибка.
Итого: кривой бит принадлежит одновременно только 1 и 3 группе. У них два общих бита 5 и 7, но 7 принадлежит ещё и 2 группе, а в ней всё в порядке--> ошибка в пятом бите.
Автор: Xelga 13.12.2009, 10:37
Цитата(Inspektor @ 12.12.2009, 15:00)

Чуть ли не первая нормальная тема в разделе, а никто не ответил

. Из пункта 1 мы узнали, что у нас будет 7 разрядов и соответственно число вида:
Спасибо