ВУЗ:
Составители:
Рубрика:
42
форме записи стоит единицав младшем разряде (при
2
0
).Второе представляет собой сумму по мо-
дулю 2 всех разрядов, в двоичных номерах которых стоит единица на позиции
2
1
, т. е. в предпо-
следнем разряде. Третье составлено как сумма по модулю 2 тех разрядов, в двоичных номерах ко-
торых имеется единица на третьем месте, считая с конца (т. е. при 2
2
), и т. д.
Анализ уравнений (1.77) показывает, что разряды
a
1
;a
2
;a
4
:::
входят только по одному разу
в каждое из этих уравнений. Поэтому именно эти разряды удобно принять в качестве провероч-
ных. Приравнивая проверочные уравнения нулю при отсутствии ошибок, т. е. полагая
r
1
= r
2
= : : : r
k
= 0
, нетрудно найти требуемые значения проверочных разрядов:
(1.78)
Так как информационные и проверочные разряды в полученной кодовой комбинации строго
разграничены (разнесены), код Хемминга относят к разделимым кодам (в неразделимых кодах
обычно отсутствует четкое деление на информационные и проверочные разряды).
Пример 1.3. Пусть требуется передать кодовую комбинацию А = (1011)
2
. Так как
n = 4
, то из табл.
1.4 находим
k = 3
. Следовательно, проверочные разряды должны располагаться внутри кодовой
комбинации на первом, втором и четвертом местах, а информационные - на третьем, пятом, шестом
и седьмом местах. При этом передаваемая комбинация принимает вид
A
0
= (a
1
a
2
1a
4
011)
2
.
Пользуясь (1.78), определяем значения символов в проверочных разрядах:
a
1
= 1 © 0 © 1 = 0;
a
2
= 1 © 1 © 1 = 1
;
a
4
= 0 © 1 © 1 = 0
. Таким образом, должна передаваться комбинация
A
0
= (0110011)
2
.
Если при передаче информации произошла одиночная ошибка и на приемной стороне кодовая ком-
бинация имеет вид (0100011), то результаты проверок (1.77) оказываются следующими:
В данномслучае контрольное число
r = (r
3
r
2
r
1
)
2
= (011)
2
равно трем, что указывает на наличие
ошибки в третьем разряде.
На практике также широко распространена группа корректирующих кодов, называемых
циклическими. Эти коды хорошо приспособлены для обнаружения и исправления не только оди-
ночных ошибок, но и ошибок высокой кратности (пакетов ошибок), имеют простые кодирующие и
декодирующие устройства.
При построении циклического кода удобно представить кодовую комбинацию (1.70) в виде
полинома:
A (x) = a
1
x
nЎ 1
+ a
2
x
nЎ 2
+ ::: + a
n
x
0
где
x
- фиктивная переменная, заменяющая собой число 2 - основание системы счисления.
Так, например, от комбинации
A = (1011)
2
= 1ў2
3
+ 0ў2
2
+ 1ў2
2
+ 1ў2
0
можно перейти к
полиному
A(x) = 1ўx
3
+ 0ўx
2
+ 1ўx
1
+ 1ўx
0
= x
3
+ x + 1
. Над полиномами можно произво-
дить любые алгебраические операции, как и над двоичными числами. Исключение составляет
сложение, которое должно производиться только по модулю 2:
0ўx
i
+ 0ўx
i
= 0ўx
i
,
0ўx
i
+ 1ўx
i
= 1ўx
i
,
1ўx
i
+ 0ўx
i
= 1ўx
i
,
1ўx
i
+ 1ўx
i
= 0ўx
i
. Как следствие,
Ў1ўx
i
= 1ўx
i
, т.
е. вычитание заменяется сложением.
Циклические коды образуются путем умножения комбинацииисходного кода, выраженной в
виде полинома
A (x)
степени
(n Ў 1)
, на образующий полином
G (x)
степени
k
(в соответствии с
указанным правилом, разрешенными считаются лишь те кодовые комбинации, которые делятся без
остатка на полином
G (x)
). В качестве образующего полинома
G (x)
обычно выбирают какой-либо
неприводимый полином от аргумента
x
, т. е. такой, который не может быть представлен в виде
произведения сомножителей - полиномов с вещественными коэффициентами. К неприводимым
полиномам относятся:
G(x) = x + 1
;
G(x) = x
2
+ x + 1
;
G(x) = x
3
+ x
2
+ 1
;
G(x) = x
3
+ x + 1
;
G(x) = x
4
+ x
3
+ 1
и т. д. Степень
k
образующего полинома
G (x)
задается исходя из требования к
корректирующей способности кода. Так, если циклический код должен обеспечивать обнаружение
42
форме записи стоит единицав младшем разряде (при20).Второе представляет собой сумму по мо-
дулю 2 всех разрядов, в двоичных номерах которых стоит единица на позиции 21, т. е. в предпо-
следнем разряде. Третье составлено как сумма по модулю 2 тех разрядов, в двоичных номерах ко-
торых имеется единица на третьем месте, считая с конца (т. е. при 2 2), и т. д.
Анализ уравнений (1.77) показывает, что разряды a1; a2; a4 : : :входят только по одному разу
в каждое из этих уравнений. Поэтому именно эти разряды удобно принять в качестве провероч-
ных. Приравнивая проверочные уравнения нулю при отсутствии ошибок, т. е. полагая
r 1 = r 2 = : : : r k = 0, нетрудно найти требуемые значения проверочных разрядов:
(1.78)
Так как информационные и проверочные разряды в полученной кодовой комбинации строго
разграничены (разнесены), код Хемминга относят к разделимым кодам (в неразделимых кодах
обычно отсутствует четкое деление на информационные и проверочные разряды).
Пример 1.3. Пусть требуется передать кодовую комбинацию А = (1011)2. Так как n = 4, то из табл.
1.4 находим k = 3. Следовательно, проверочные разряды должны располагаться внутри кодовой
комбинации на первом, втором и четвертом местах, а информационные - на третьем, пятом, шестом
и седьмом местах. При этом передаваемая комбинация принимает вид A0 = (a1 a2 1a4 011)2 .
Пользуясь (1.78), определяем значения символов в проверочных разрядах: a1 = 1 © 0 © 1 = 0;
a2 = 1 © 1 © 1 = 1;a4 = 0 © 1 © 1 = 0. Таким образом, должна передаваться комбинация
A0 = (0110011) 2.
Если при передаче информации произошла одиночная ошибка и на приемной стороне кодовая ком-
бинация имеет вид (0100011), то результаты проверок (1.77) оказываются следующими:
В данномслучае контрольное число r = (r 3 r 2 r 1 ) 2 = (011) 2 равно трем, что указывает на наличие
ошибки в третьем разряде.
На практике также широко распространена группа корректирующих кодов, называемых
циклическими. Эти коды хорошо приспособлены для обнаружения и исправления не только оди-
ночных ошибок, но и ошибок высокой кратности (пакетов ошибок), имеют простые кодирующие и
декодирующие устройства.
При построении циклического кода удобно представить кодовую комбинацию (1.70) в виде
полинома:
A (x) = a1xnЎ 1 + a2xnЎ 2 + : : : + an x0
где x - фиктивная переменная, заменяющая собой число 2 - основание системы счисления.
Так, например, от комбинации A = (1011)2 = 1ў23 + 0ў22 + 1ў22 + 1ў20 можно перейти к
полиному A (x) = 1 ўx3 + 0ўx2 + 1ўx1 + 1ўx0 = x3 + x + 1. Над полиномами можно произво-
дить любые алгебраические операции, как и над двоичными числами. Исключение составляет
сложение, которое должно производиться только по модулю 2: 0 ўxi + 0 ўxi = 0 ўxi ,
0 ўxi + 1 ўxi = 1 ўxi , 1 ўxi + 0 ўxi = 1 ўxi , 1 ўxi + 1 ўxi = 0 ўxi . Как следствие, Ў1 ўxi = 1 ўxi , т.
е. вычитание заменяется сложением.
Циклические коды образуются путем умножения комбинацииисходного кода, выраженной в
виде полинома A (x) степени (n Ў 1), на образующий полином G (x) степени k (в соответствии с
указанным правилом, разрешенными считаются лишь те кодовые комбинации, которые делятся без
остатка на полином G (x)). В качестве образующего полинома G (x)обычно выбирают какой-либо
неприводимый полином от аргумента x , т. е. такой, который не может быть представлен в виде
произведения сомножителей - полиномов с вещественными коэффициентами. К неприводимым
полиномам относятся: G (x) = x + 1; G(x) = x2 + x + 1; G(x) = x3 + x2 + 1; G(x) = x3 + x + 1;
G (x) = x4 + x3 + 1и т. д. Степень k образующего полинома G (x) задается исходя из требования к
корректирующей способности кода. Так, если циклический код должен обеспечивать обнаружение
Страницы
- « первая
- ‹ предыдущая
- …
- 40
- 41
- 42
- 43
- 44
- …
- следующая ›
- последняя »
