Основы арифметики цифровых процессоров. Вашкевич Н.П - 157 стр.

UptoLike

156
Рассмотрим случай, когда не было ошибки при передаче кода.
Тогда точно такой же код принял приемник. Теперь приемник прове-
ряет правильность передачи кода, вычисляя следующие выражения:
С
11
1
1
2
4
5
7
=1^0^1^1^0^1=0;
С
12
2
1
3
4
6
7
=1^0^0^1^1^1=0;
С
13
3
2
3
4
=0^1^0^1=0;
С
14
4
5
6
7
=0^0^1^1=0.
Поскольку значение, составленное из контрольных битов, равно
нулю, ошибки нет, и код передается от приемника далее.
Рассмотрим случай, когда была ошибка при передаче кода.
Пусть ошибка произошла во втором бите, т.е. принят код:
М
7
М
6
М
5
С
4
М
4
М
3
М
2
С
3
М
1
С
2
С
1
1
1
0
1
0
0
0
1
Теперь приемник проверяет правильность передачи кода, вычис-
ляя следующие выражения:
С
11
1
1
2
4
5
7
=1^0^1^1^0^1=0;
С
12
2
1
3
4
6
7
=0^0^0^1^1^1=1;
С
13
3
2
3
4
=0^1^0^1=0;
С
14
4
5
6
7
=0^0^1^1=0.
Поскольку значение, составленное из контрольных битов, равно
0010
(2)
, ошибка во втором бите. Приемник меняет значение этого би-
та на противоположное.
Код Хэмминга является равномерно защищенным, исправляет
ошибки как в информационных, так и в контрольных битах. С его
помощью возможно исправление одиночной и обнаружение двойной
ошибки. Для того чтобы обнаружить двойную ошибку, в код Хэм-
минга вводят дополнительный контрольный бит E
0
. Значение E
0
вы-
числяется как сумма по модулю 2 всех разрядов кода Хэмминга, т.е.
он дополняет код Хэмминга по четности. На стороне приемника,
кроме получения контрольных разрядов, которые определяют пози-
цию с ошибкой, вычисляется контрольный разряд E
10
:
E
10
0
^<сложенные по модулю 2 все остальные биты принятого
кода>.
   Рассмотрим случай, когда не было ошибки при передаче кода.
Тогда точно такой же код принял приемник. Теперь приемник прове-
ряет правильность передачи кода, вычисляя следующие выражения:
   С11=С1^М1^М2^М4^М5^М7=1^0^1^1^0^1=0;
   С12=С2^М1^М3^М4^М6^М7=1^0^0^1^1^1=0;
   С13=С3^М2^М3^М4=0^1^0^1=0;
   С14=С4^М5^М6^М7=0^0^1^1=0.
   Поскольку значение, составленное из контрольных битов, равно
нулю, ошибки нет, и код передается от приемника далее.
   Рассмотрим случай, когда была ошибка при передаче кода.
Пусть ошибка произошла во втором бите, т.е. принят код:
          М7 М6 М5 С 4 М4 М3 М2 С 3 М1 С 2 С 1
          1   1     0   0   1    0    1   0    0   0    1
   Теперь приемник проверяет правильность передачи кода, вычис-
ляя следующие выражения:
   С11=С1^М1^М2^М4^М5^М7=1^0^1^1^0^1=0;
   С12=С2^М1^М3^М4^М6^М7=0^0^0^1^1^1=1;
   С13=С3^М2^М3^М4=0^1^0^1=0;
   С14=С4^М5^М6^М7=0^0^1^1=0.
   Поскольку значение, составленное из контрольных битов, равно
0010(2), ошибка во втором бите. Приемник меняет значение этого би-
та на противоположное.
   Код Хэмминга является равномерно защищенным, исправляет
ошибки как в информационных, так и в контрольных битах. С его
помощью возможно исправление одиночной и обнаружение двойной
ошибки. Для того чтобы обнаружить двойную ошибку, в код Хэм-
минга вводят дополнительный контрольный бит E0. Значение E0 вы-
числяется как сумма по модулю 2 всех разрядов кода Хэмминга, т.е.
он дополняет код Хэмминга по четности. На стороне приемника,
кроме получения контрольных разрядов, которые определяют пози-
цию с ошибкой, вычисляется контрольный разряд E10:
   E10=Е0^<сложенные по модулю 2 все остальные биты принятого
кода>.

                               156