Просуммируем по модулю 2 единичные значения каждой из трех строк и приравняем сумму к нулю.
|
с2 а1 а2 а3=0; |
|
|
|
|||||||||
|
с1 а0 а2 а3=0; |
|
|
|
|||||||||
|
с0 |
а0 |
а1 |
а3=0. |
|
|
|
||||||
СибАДИ |
|||||||||||||
Реш в полученную систему уравнений, находим значения с0, с1, |
|||||||||||||
с2 и занос м х в табл. 2.3.10. |
|
|
Таблица 2.3.10 |
|
|||||||||
|
|
|
Кодовое слово |
|
|
|
|||||||
с контрольными разрядами |
|
||||||||||||
|
а3 |
а2 |
а1 |
с2 |
а0 |
с1 |
с0 |
|
|
||||
|
1 |
|
0 |
0 |
|
1 |
1 |
|
0 |
|
0 |
|
|
Дво чное ч сло с2 а1 а2 а3 |
с1 а0 а2 а3 |
с0 а0 а1 а3 |
|||||||||||
является указателем разряда, где есть ошибка, и называется синдро- |
|||||||||||||
мом ошибки S. Если S=000, кодовая комбинация передана без иска- |
|||||||||||||
жений. |
|
|
|
|
|
|
|
|
|
|
|
||
Предположим, что кодовое слово было передано без искажений, |
|||||||||||||
тогда проверка контрольных соотношений приведет к результату |
|||||||||||||
|
с2 а1 а2 а3=0; |
|
|
|
|||||||||
|
с1 а0 а2 а3=0; |
|
|
(2.3.11) |
|||||||||
|
с0 а0 а1 а3=0. |
|
|
|
|||||||||
Так как в данном случае информация передана без искажений, S=000. Информационное слово I получается из кодового слова С путем отбрасывания контрольных разрядов:
1001100 I 1001. |
(2.3.12) |
Предположим теперь, что на приемной стороне было получено |
|
кодовое слово С*, в котором в разряде а2 вместо 0 оказалась 1. |
|
С*=1101100. |
(2.3.13) |
Это означает, что кодовое слово было принято с ошибкой, тогда проверочные равенства в приемнике дадут синдром ошибки:
56
с2 а1 а2 а3=1 0 1 1=1; с1 а0 а2 а3=0 1 1 1=1; (2.3.14) с0 а0 а1 а3=0 1 0 1=0.
Полученный синдром S=110 указывает, что ошибка произошла в
шестом разряде (1102=6), значит, шестой разряд надо исправить (про- |
|
СибАДИ |
|
сто инвертировать). Тогда будем иметь |
|
С*=1101100→ С=1001100. |
(2.3.15) |
Далее нформац онное слово I получается из кодового слова С |
|
путем отбрасыван я контрольных разрядов: |
|
1001100 I 1001. |
(2.3.16) |
Так можно о наружить |
исправить любую однократную ошиб- |
ку (в любом разряде). |
|
В с стемат ческом коде информационное слово занимает пер- |
|
вые k разрядов, проверочное – оставшиеся n–k. |
|
Для кода (7,4) кодовое |
слово имеет вид, приведенный в |
табл. 2.3.11. |
|
Таблица 2.3.11
Кодовое 7-разрядное слово в систематическом коде Хемминга (7,4)
а3 а2 а1 а0 с2 с1 с0
Информационные разряды аi являются элементами единичной матрицы k×k. В систематическом коде номер ошибочного разряда определяется по синдрому с помощью матрицы H(n, k). Номер столбца, совпадающий с синдромом, соответствует разряду кодового слова, который содержит ошибку.
Групповые коды удобно задавать при помощи матриц, размерность которых определяется параметрами k и n. Число строк равно k, а число столбцов равно n=k+r.
57
|
|
a11 a12 ...a1k |
p11 p12 ... p1r |
|
|
|
||
G(n,k) |
|
a21 |
a22 ...a2k |
p21 |
p22 ... p2r |
|
. |
(2.3.17) |
|
... ... ... ... ... ... ... ... |
|
||||||
|
|
|
|
|
||||
|
|
ak1 |
ak2 ...akk |
pk1 |
pk2 ... pkr |
|
|
|
СибАДИ |
||||||||||||
Коды, порождаемые этими матрицами, называются (n,k)-кодами, |
||||||||||||
а соответствующ е м матрицы – |
порождающими (образующими, |
|||||||||||
производящ ми). Порождающая матрица G состоит из информацион- |
||||||||||||
ной Ikk проверочной Rkr матриц. |
Порождающая матрица является |
|||||||||||
сжатым оп сан ем л нейного кода |
может быть представлена в ка- |
|||||||||||
нонической (т повой) форме |
|
|
|
|
|
|
|
|
|
|
||
|
G(n,k) |
|
IkkRkr |
. |
|
|
|
(2.3.18) |
||||
В качестве |
нформационной матрицы удобно использовать еди- |
|||||||||||
ничную матр цу, |
ранг которой определяется количеством информа- |
|||||||||||
ционных разрядов: |
|
|
|
|
|
|
|
|
|
|
||
|
|
1 |
0 |
0 |
|
|
0 ... |
0 |
|
|
|
|
|
|
0 |
1 |
0 |
|
|
0 ... |
0 |
|
|
|
|
|
Ikk |
0 |
0 |
1 |
|
|
0 ... |
0 |
|
. |
(2.3.19) |
|
|
|
. . . . ... . |
|
|
|
|||||||
|
|
0 |
0 |
0 |
|
0 ... |
1 |
|
|
|
||
Строки единичной матрицы представляют собой линейно независимые комбинации, т.к. их попарное суммирование по модулю два не приводит к нулевой строке.
Пусть требуется передать кодовое слово 1101, содержащее 4 информационных разряда (k=4), но с помощью систематического кода, исправляющего одну одиночную ошибку.
Как было установлено, Nk=2k=24=16. Из условий 2r≥n+1 и n=k+r имеем 2r≥k+r+1=4+r+1=5+r, откуда r=3. Кодовое расстояние определится из условия d≥2p+1, где p – число исправляемых ошибок. При p=1 dmin=3.
58
Для кода (7,4)
|
|
1 |
0 |
0 |
0 |
|
I44 |
|
0 |
1 |
0 |
0 |
. (2.3.20) |
0 |
0 |
1 |
0 |
|||
СибАДИ |
||||||
|
0 |
0 |
0 |
1 |
|
|
троки порождающей матрицы представляют собой первые k комбинац й коррект рующего кода (информационная матрица Ikk). Последующ е r столбцов порождающей матрицы представляют собой коррект рующ е разряды с0, с1, с2, предназначенные для обнаружения ли справлен я оши ки в информационной части кода. Это проверочная матр ца Rkr.
Вес каждой строки проверочной матрицы (количество единиц в
строке) должен быть |
|
|
|
WR |
dmin WI |
3 1 2, |
(2.3.21) |
kr |
kk |
|
|
где WIkk – вес каждой строки информационной матрицы. |
|||
В качестве строк проверочной матрицы R43 |
могут быть выбраны |
||
трехзначные двоичные ком инации с числом единиц, большим или равным двум: 111; 110; 101; 011.
Окончательный вид проверочной матрицы:
|
|
1 |
1 |
1 |
|
|
1 |
1 |
1 |
|
||||
R43 |
|
1 |
1 |
0 |
, или R43 |
|
0 |
1 |
1 |
, или |
||||
|
1 |
0 |
1 |
|
1 |
1 |
0 |
|||||||
|
|
0 |
1 |
1 |
|
|
1 |
0 |
1 |
|
||||
|
0 |
1 |
1 |
|
|
|
1 |
0 |
1 |
|
|
(2.3.22) |
||
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
||||||||||
R43 |
1 |
0 |
1 |
|
|
, или R43 |
1 |
1 |
1 |
|
|
и т. д. |
||
1 |
1 |
0 |
|
|
1 |
1 |
0 |
|
|
|||||
|
1 |
1 |
1 |
|
|
|
0 |
1 |
1 |
|
|
|
||
Как видно, основным требованиям могут удовлетворять несколько матриц. Выбор матрицы определяется по дополнительным
59
требованиям: минимум корректирующих разрядов или максимальная простота аппаратуры. Полученную комбинацию в виде проверочной матрицыRkr приписывают справа к информационной матрице и получают порождающую матрицу корректирующего кода.
Выберем четвертую из приведенных матриц. Тогда порождаю-
щая матрица кода G(7,4) примет вид |
|
|
|
|
|
|
|
||||
СибАДИ |
|||||||||||
|
а3 |
а2 |
а1 |
а0 |
с2 |
с1 |
с0 |
а3 |
|
||
|
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
|
||
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
|
а2 |
|
|
G(7,4) |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
|
а |
k. |
(2.3.23) |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
а0 |
|
||||||||
n
Столбцы проверочной матрицы Rkr определяют правила формирования проверок.
Процесс кодирования состоит во взаимно-однозначном соответствии k-разрядных информационных слов I и n-разрядных кодовых слов С.
Произведение информационного слова на порождающую матрицу дает кодовое слово C=IG.
Информационному слову I=1101 соответствует следующее кодовое слово:
|
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
1101 |
|
|
|
|
0 |
1 |
0 |
0 |
1 |
1 |
1 |
|
|
|
|
1101001 |
|
|
|
. |
(2.3.24) |
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
0 |
0 |
1 |
0 |
1 |
1 |
0 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
0 |
0 |
0 |
1 |
0 |
1 |
1 |
|
|
|
|
|
|
|
|
|
|
||||||||
Процесс декодирования состоит в определении соответствия принятого кодового слова переданному информационному. Это осу-
ществляется с помощью матрицы H(n, k). |
|
|
|||||||
|
H(n,k) |
|
|
|
RT I |
rr |
|
, |
(2.3.25) |
|
|
|
|
||||||
|
|
|
|
|
kr |
|
|
|
|
где RT |
– транспонированная проверочная матрица (поменять строки |
||||||||
kr |
|
|
|
|
|
|
|
|
|
на столбцы); Irr – единичная матрица.
60