

1
3.6. Геометрическая модель кода
Геометрической моделью n-мерного кода является n-мерный куб, размещенный в n-мерном пространстве. При этом по каждой из n взаимно ортогональных осей откладывается k различных значений ординат, каждая из которых равна одному из k значений соответствующего разряда кода.
Пример 3.7. Рассмотрим геометрическую модель 3-разрядного двоичного кода (рис. 3.8).
Геометрической моделью является 3-мерный куб, каждая из 8 вершин которого соответствует кодовой комбинации двоичного неизбыточного кода. Кружками обведены вершины куба, соответствующие рабочим комбинациям кода, обнаруживающего ошибки из примера 4.4. Каждое ребро куба соответствует расстоянию Хемминга d = 1. На модели видно, что для кода, обнаруживающего ошибки, минимальное расстояние между рабочими комбинациями равно двум (dmin = 2).
Из рис. 3.8 видно, что кодовое расстояние между вершинами куба, соответствующими рабочим комбинациям 101 и 010 (пример 3.5), равно 3.
|
001 |
|
101 |
|
111 |
011 |
100 |
|
|
010 |
000 |
|
110 |
|
|
Рис. 3.8. Геометрическая модель 3-разрядного двоичного кода
Сплошными линиями обведены сигнальные зоны, соответствующие каждой из двух рабочих комбинаций кода, исправляющего однократные ошибки.
3.7. Связь между кодовым расстоянием Хемминга и максимальной кратностью обнаруживаемых и исправляемых ошибок
Обозначим через s максимальную кратность исправляемых ошибок перехода (в дальнейшем – просто ошибок), r – максимальную кратность обнаруживаемых ошибок, ес – максимальную кратность исправляемых ошибок стирания. При использовании обозначения «максимальная крат-

2
ность» предполагается, что код исправляет либо обнаруживает все ошибки указанной кратности и меньше.
Сформулируем и докажем ряд утверждений.
Утверждение 3.1. Для того чтобы код обнаруживал любые ошибки кратности r и меньше, минимальное кодовое расстояние должно удовлетворять условию
dmin ≥ r + 1. |
(3.17) |
Краткое доказательство. Как было показано в подразд. 3.3, сигнальные зоны кода, обнаруживающего ошибки, состоят только из рабочих комбинаций кода. Таким образом, если между комбинациями кода расстояние не меньше r + 1, то не существует никакой ошибки кратности r и меньше, которая перевела бы одну комбинацию кода в сигнальную зону другой (для этого потребуется, по крайней мере, ошибка кратности (r + 1)). Следовательно, все ошибки кратности r и меньше будут обнаружены.
Пример 3.8. Пусть r = 1, поэтому dmin = 1 + 1 = 2. Рассмотрим геометрическое представление кода (рис. 3.9).
Мз
Vi |
Vj |
Рис. 3.9. Геометрическая иллюстрация обнаружения ошибки кратности r = 1
Рабочие комбинации Vi и Vj имеют dij = dmin = 2, а кодовое расстояние до любой из комбинаций множества Mз равно d = 1. Поэтому при любой однократной ошибке будет принята кодовая комбинация из Mз. Это даст возможность обнаружить однократную ошибку. При двукратной ошибке вместо одной рабочей комбинации Vi будет принята другая рабочая комбинация Vj. Это приведет к трансформации сообщения.
Код с dmin = 2 был рассмотрен в примере 3.4, из которого видно, что не существует ни одной ошибки нечетной кратности, способной вызвать трансформацию (см. рис. 3.4), т.к. любая такая ошибка переведет рабочую комбинацию кода в запрещенную и будет обнаружена. Но так как двукратные ошибки при этом обнаружены не будут, то код с dmin = 2 в соответствии с утверждением 3.1 гарантирует обнаружение однократных ошибок.
Пусть r = 2, поэтому dmin = 2 + 1 = 3. Рабочие комбинации Vi и Vj имеют dij = dmin = 3, а кодовое расстояние d до любой из комбинаций множества Mз равно 1 или 2. Поэтому при любой однократной или двукратной ошибке будет принята кодовая комбинация из Mз. Это даст возможность обнаружить такие ошибки. При трехкратной ошибке вместо одной рабочей

3
комбинации Vi будет принята другая рабочая комбинация Vj. Это приведет к трансформации сообщения.
Распространив приведенные соображения по закону математической индукции для произвольного значения r, можно считать утверждение доказанным.
Утверждение 3.2. Для того чтобы код исправлял любые ошибки кратности s и меньше, минимальное расстояние должно удовлетворять условию
dmin ≥ 2s + 1. |
(3.18) |
Краткое доказательство. В сигнальную зону каждой рабочей комбинации кода, кроме рабочей комбинации, входят еще запрещенные комбинации, удаленные от рабочей на расстояние s и меньше. Согласно условию (3.13) сигнальные зоны не должны пересекаться. Для обеспечения этого условия достаточно соблюдение (3.18), т. к. непересекающиеся сигнальные зоны каждой рабочей комбинации разделяются по крайней мере одним кодовым переходом. Таким образом, при соблюдении (3.18) любая ошибка кратности s и меньше не способна перевести передаваемую рабочую комбинацию в чужую сигнальную зону и, следовательно, в соответствии с правилом принятия решения (п. 3.4) будет исправлена.
Пример 3.9. Пусть s = 1, тогда согласно (3.18) dmin = 3. В примере
3.5 рассмотрен подобный код. Из рис. 3.6 и 3.8 видно, что dmin = 3 гарантирует соблюдение условий (3.18), т. е. сигнальные зоны (СЗ) двух рабочих
комбинаций кода не пересекаются. Каждая сигнальная зона состоит из всех возможных запрещенных комбинаций, удаленных от рабочей на d = 1, что соответствует однократным искажениям, и, значит, любая однократная ошибка будет исправлена.
Рассмотрим геометрическое представление кода (рис. 3.10). СЗi СЗj
Vi |
Vj |
Рис. 3.10. Геометрическая иллюстрация исправления ошибки кратности s = 1
Рабочие комбинации Vi и Vj имеют dij = dmin = 3, а кодовое расстояние до любой из комбинаций собственной сигнальной зоны СЗ равно d = S = 1. Поэтому при любой однократной ошибке будет принята кодовая комбинация из СЗ. Это даст возможность исправить ошибку, заменив комбинацию из СЗ на соответствующую ей рабочую комбинацию. При двукратной ошибке будет принята комбинация из сигнальной зоны другой рабочей комбинации. Это приведет к исправлению другой рабочей комбинации

4
и, соответственно, трансформации сообщения. Таким образом, код с dmin = 3 гарантирует исправление однократной ошибки.
Распространив приведенные соображения по закону математической индукции для произвольного значения s, можно считать утверждение доказанным.
Утверждение 3.3. Для того чтобы код исправлял ошибки кратности s и обнаруживал ошибки кратности от s + 1 до r (s < r), минимальное расстояние должно быть не меньше чем s + r + 1, т. е.
dmin ≥ s + r + 1. |
(3.19) |
Краткое доказательство. Проанализированная в утверждении 3.2 конструкция сигнальных зон кода, исправляющего s-кратные ошибки, согласно условию (3.19) требует расстояния между сигнальными зонами, равного по крайней мере 2s + 1.
Пусть r = s + ∆ (∆ ≥ 1). Тогда (3.19) гарантирует выполнение требования (3.18), т.е. ошибки кратности s и меньше будут исправлены. При этом ошибки кратности s < r' ≤ r = s + ∆ (∆ ≥ 1) порождают запрещенные комбинации кода, не принадлежащие ни одной сигнальной зоне. Они удалены от соответствующей рабочей комбинации на кодовое расстояние больше s, в то же время они не переведут рабочую комбинацию в чужую сигнальную зону, т. е. будут обнаружены.
Пример 3.10. Пусть s = 1, r = 2, тогда dmin = 4.
Изобразим фрагмент геометрической модели кода, состоящий из
|
|
|
|
|
|
|
|
|
двух рабочих комбинаций: Vi |
и V j , таких, что d(Vi ,V j ) = 4 (рис. 3.11). |
|||||||
СЗi |
|
|
Мз |
СЗj |
||||
Vi |
|
|
|
|
|
|
Vj |
Рис 3.11. Фрагмент геометрической модели кода с dmin = 4
Образуем сигнальные зоны, удовлетворяющие условию (3.13), т.е. непересекающиеся и состоящие из рабочей комбинации и запрещенных комбинаций, удаленных от рабочей на d = 1. Следовательно, такой код исправляет любую однократную ошибку. В то же время любая двукратная
ошибка переведет Vi или V j в запрещенную комбинацию из множества Мз,
отличного от обеих сигнальных зон. Применив процедуру оптимального декодирования и установив, что d(Vi( j) Мз ) = 2, можно обнаружить ошибку
и стереть сообщение.
5
При трехкратной ошибке будет принята комбинация из сигнальной зоны другой рабочей комбинации. Это приведет к исправлению другой рабочей комбинации и, соответственно, трансформации сообщения.
Распространив приведенные соображения по закону математической индукции для произвольного значения s и r, можно считать утверждение доказанным.
В зависимости от минимального кодового расстояния корректирующая способность кода может быть перераспределена на разные действия.
dmin |
Корректирующие свойства кода: |
|
|
1 |
• отсутствуют, т. к. код является неизбыточным, |
2 |
• обнаружение однократной ошибки (r = 1), |
3 |
• исправление однократной ошибки (s = 1), |
|
• обнаружение двукратной ошибки (r = 2), |
|
• исправление однократной (s = 1) и обнаружение двукратной |
4 |
ошибки (r = 2), |
|
• обнаружение трехкратной ошибки (r = 3), |
|
• исправление двукратной ошибки (s = 2), |
5 |
• исправление однократной (s = 1) и обнаружение трехкратной |
|
ошибки (r = 3), |
|
• обнаружение четырехкратной ошибки (r = 3). |
Избыточность вносится в код на передающей стороне и не зависит от корректирующих свойств кода, поскольку определяется только dmin. Очевидно, что корректирующие свойства кода реализуются при процедуре декодирования.