Но это не единственный способ
m0 *2 = r2 + r3 + r4 , m0 *3 = r1 + r2 + r5 ,
m1 *2 = r0 + r2
+ r5 , m1 *3 = r2 +
r3 + r6 ,
m2*2 = r0 + r3 + r4 , m2*3 = r0 + r1
+ r5 ,
m3 *2 = r0 + r2
+ r4 ; m3 *3 = r1 + r2 + r6 ;
(1.30)
m0 *4 = r1 + r4 + r6 , m0 *5 = r3 + r5 + r6 ,
m1 *4 = r0 + r4 + r6
, m1 *5 = r3 + r4 + r5 ,
m2*4 = r4 + r5 + r6 , m2*5 = r1 + r3
+ r6 ,
m3 *4 = r0 + r5
+ r6 ; m3 *5 = r1 +
r4 + r5 .
Таким образом, получилось пять независимых систем уравнений для определения одних и тех же компонент вектора m*, причем, они будут совместными (иметь одинаковые решения) только при отсутствии ошибок в принятой последовательности r, то есть при r = U. В противном случае решения для mi*, даваемые различными системами, будут разными.
Однако можно заметить следующее: в выражениях для mi* каждый из элементов принятой последовательности ri присутствует не более двух раз (то есть не более чем в двух уравнениях из пяти).
Если считать, что в принятой последовательности возможна только одиночная ошибка (а с ошибкой большей кратности этот код не справляется), то ошибочными будут решения не более чем двух уравнений из пяти для каждого из элементов mi*, остальные три уравнения дадут правильное решение. Тогда правильный ответ может быть получен по "большинству голосов", или мажоритарно.
![]() |
Устройством, которое принимает решение по "большинству", является так называемый мажоритарный селектор. При этом схема мажоритарного декодера для одного из символов принятой последовательности (7,4)-кода Хемминга может выглядеть, например, следующим образом (рис. 1.7):
Рис. 1.7
Здесь мажоритарный селектор выполнен в виде аналогового сумматора и компаратора напряжений (напряжение на выходе компаратора = 1, если на его входе больше единиц, и равно 0 в противном случае). Однако возможна и чисто цифровая реализация мажоритарного селектора: он просто выдаст на своем выходе 1, если на его входе больше единиц, и 0 – в противном случае.