Файл: Хетагуров, Я. А. Повышение надежности цифровых устройств методами избыточного кодирования.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.10.2024
Просмотров: 141
Скачиваний: 0
Таким образом, процедура кодирования (п, к) -кодом сводится iK решению (п—k) уравнений (2-1), позволяю щих вычислить значения контрольных разрядов. Исходя из этих уравнений можно записать матрицу Н размером
(п—k)Xn, называемую проверочной |
или |
контрольной: |
||
|
<?2 |
|
1 О |
|
|
(Г* |
Я,,2 |
О =1 |
|
Н: |
|
|
|
|
al, |
n-h я 2, n-h |
• «h, 7>-h |
О О |
|
|
|
А | 1 п - й ll> |
|
|
где А [ — транспонированная 'подматрица |
А матрицы G ' ; |
|||
1п-& — единичная 'матрица порядка |
(п—!г). |
|||
Каждый |
из п столбцов |
матрицы |
Н соответствует од |
ному разряду кода, при этом столбцы подматрицы At соответствуют информационным разрядам, а столбцы ма трицы 1„_/£ — контрольным. Позиции единиц в i-м век тор-столбце подматрицы At показывают, в .каких кон трольных соотношениях типа (2-1) участвует г'-й инфор мационный разряд, т. е. значения каких контрольных разрядов зависят от значения t'-ro информационного раз ряда. Позиции единиц в г'-й вектор-строке .подматрицы А / показывают, какие разряды включаются в г'-ю сумму по модулю 2, значение которой приписывается t'-му кон трольному разряду.
Например, пусть контрольная матрица Н имеет вид:
|
1 1 0 |
1 |
1 0 |
0 |
||
Н: |
1 0 |
1 1 |
0 |
1 0 |
||
|
0 |
1 1 1 |
0 |
0 |
1 |
Тогда при кодировании числа 1001 получаем 1001.001. Действи тельно, из первой вектор-строки Н следует, что значение первого контрольного разряда (счет информационных и контрольных разря дов условимся вести слева направо) равно сумме по модулю 2 зна чений первого, второго и четвертого информационных разрядов. В со ответствии с этим для кодируемого числа получаем 1+0 + 1=0. Ана логично вычисляются остальные разряды.
Матрицы С и Н связаны следующим легко-проверяе мым соотношением:
G ' H / = 0, |
(2-2) |
32
где Н( — транспонированная контрольная матрица. По этому если принятое слово X принадлежит кодовому множеству, т. е. в .нем отсутствуют ошибки, то матричное •произведение
* H ( = SG'H, = S-0 = 0. |
(2-3) |
Другими словами, выполнение равенства (2-3) свиде тельствует о том, "что слово X принадлежит кодовому множеству. Это же равенство непосредственно следует из правила построения и использования •контрольной ма трицы Н, если вспомнить, что
k
|
|
Cj + |
S SiOtj |
= 0. |
|
|
|
|
(=i |
|
|
Если же |
при передаче возникли ошибки, то |
|
|||
|
(Х+Е) Н( = ХН г - | - £ Н ( |
= 0-|-ЕН/ = £ Н ; , |
(2-4) |
||
где |
E=(eh |
е2 , ..., еп)—вектор |
ошибки. Значение EUt |
||
называется корректором или синдромом. Длина |
коррек |
||||
тора |
(число |
разрядов) |
равна |
(п—к). Таким |
образом, |
для обнаружения некоторого множества ошибок Ф дол жно выполняться следующее неравенство:
EiUt^0 для всех £ г £ Ф . (2-5)
Тогда ненулевая величина корректора будет свиде тельствовать о наличии ошибки. Для обнаружения и исправления множества ошибок Ф, кроме того, необхо димо, чтобы различным ошибкам соответствовали раз личные значения корректора, т. е.
EiHi^EjHi, если
Теорема 2-1. Линейный групповой код имеет мини мальное расстояние d в том и только в том случае, если любые d—1 или менее вектор-столбцов контрольной ма трицы Н линейно независимы.
Доказательство. Матричное произведение (2-4) запи шем следующим образом:
EHl = ei.hi + e2fi2+ .... |
+enhn, |
где 6j — компоненты вектора ошибок, hi— i-fi векторстолбец матрицы Н (или i-я вектор-строка матрицы Н,).
Тогда неравенство (2-5)
п
|
1=1 |
3-236 |
33 |
является условием линейной независимости векторов hi. Так как кратность возникшей ошибки определяется чис лом в{фО (или весом вектора ошибки), то для обнару жения произвольных >(d—1) или менее ошибок необхо димо и достаточно, чтобы любые (d—1) или менее век торов hi были линейно независимы. Отсюда непосредст венно следует утверждение теоремы, если вспомнить, что максимальная кратность ошибок, обнаруживаемых ко
дом с минимальным расстоянием d, равна d—1. |
Теорема |
|||||
доказана. |
|
|
|
|
|
|
Часто на практике возникает задача получения из |
||||||
данного |
систематического |
(/г, &)-кода, описываемого с по |
||||
мощью |
матриц |
G' или |
Н', укороченного |
(п', |
&')-кода |
|
с тем ж е минимальным |
расстоянием. Эта |
задача |
реша |
|||
ется очень просто, так как отбрасывание любых |
|
(k—k') |
||||
столбцов подматрицы Aj матрицы Н (аналогично, |
отбра"- |
|||||
сывание |
(k—k') |
строк матрицы G' и получающихся в ре |
||||
зультате этой операции столбцов из всех нулей) |
не изме |
няет минимального расстояния d. Справедливость этого непосредственно следует из доказанной теоремы, так как исключение из рассмотрения части столбцов /г, матрицы Н не может повлиять на линейную независимость (зави симость) оставшихся столбцов.
Рассмотренные линейные 'групповые корректирующие •коды допускают весьма компактное описание с помощью порождающей или проверочной матриц. Эти коды пред ставляют особый интерес по следующей причине: описан конструктивный способ кодирования и декодирования, т. е. исправления возникших ошибок, отличный от метода перебора. Поэтому групповые коды имеют центральное значение, хотя существуют некоторые негрупловые коды, которые также поддаются простому математическому
описанию и достаточно просто декодируются. |
|
||
Важным |
понятием |
в теории кодирования |
является |
понятие эквивалентности |
кода. Два кода называют экви |
||
валентными, |
если их порождающие матрицы |
совпадают |
|
с точностью до порядка |
следования вектор-столбцов. При |
этом кодовые векторы, соответствующие этим кодам, от личаются только порядком следования символов. Отсюда следует, что перестановка столбцов матрицы G порож дает эквивалентный код.
2-2. к о д ы х э м м и Н г А
Коды Хэмминга с минимальным расстоянием d=S наиболее просто описываются с помощью контрольной матрицы Н. Из теоремы 2-1 следует, что матрица Н, вектор-столбцы которой различны и отсутствует нулевой столбец, соответствует коду с минимальным расстоянием d=3. Действительно, в этом случае не существует таких двоичных коэффициентов ai и а2 , одновременно не рав ных нулю, что
где h\ и hj — вектор-столбцы рассматриваемой матри цы Н.
Для определенности выберем в качестве вектор-столб цов матрицы Н различные четырехразрядные двоичные числа (исключая число нуль):
0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 н = 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Перестановкой столбцов, содержащих одну единицу, показанную матрицу можно привести к виду
|
0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 |
|
|
н, |
0 1 1 1 0 0 0 1 1 1 1 0 1 0 0 |
= I | A L |
|
1 0 1 1 0 1 1 0 0 1 1 0 0 1 0 |
|||
|
|
||
|
I 1 0 1 1 0 1_0 1 0 1 0 0 0 1 |
|
|
где 14 — единичная матрица порядка 4. |
коду Хэмминга |
||
Данная матрица Н соответствует |
(15, 11) с минимальным расстоянием d=3. Использова ние такого кода позволяет исправить любую одиночную ошибку или обнаружить произвольную ошибку кратно сти 2. Если нумерацию информационных и контрольных, разрядов разделимого кода производить слева направо, то в соответствии с матрицей Н получаем систему ли нейных уравнений, с помощью которых вычисляются кон трольные разряды
c,== - ,+s e +s 7 + se + s i + s 1 0 + s11; '
^ = s2 + s3 + s4 + s8 + so + sio + s n; . (2-6)
3* |
35 |
где Ci — контрольные разряды, s; — информационные раз ряды.
Если при передаче кодового слова возникнет одиноч ная ошибка, то окажутся невыполненными те контроль ные соотношения (уравнения для с^, в которые входит значение ошибочного разряда. Например, если ошибка возникла в ^первом информационном разряде, то окажут ся невыполненными третье и четвертое уравнения, т. е. корректор будет равен ООП, совпадая с первым векторстолбцом матрицы Н. Отсюда получаем алгоритм опре деления места одиночной ошибки: местоположение век тор-столбца матрицы Н, совпадающего с вычисленным корректором, указывает место ошибки. Ясно, что вычис ленное значение корректора обязательно совпадает с одним из вектор-столбцов матрицы Н, так как в каче стве вектор-столбцов были выбраны все возможные дво ичные 4-разрядные числа.
Если возникнет ошибка кратности 2, то полученное значение корректора также будет совпадать с одним из вектор-столбцов матрицы Н и ошибки автоматически ис правляются. Однако заметим, что после такого «исправ ления» получается кодовое слово, не совпадающее с тре буемым кодовым словом. Значение корректора, соответ ствующее ошибке кратности 2 и более, получается при помощи поразрядного суммирования по модулю 2 век тор-столбцов матрицы Н, соответствующих ошибочным разрядам.
Например, если ошибка произойдет в первом и втором инфор мационных разрядах, то, складывая первый и второй вектор-столбцы, получаем:
0 + 0 = 0 ; |
|
|
|
|
|
0 + |
1 = |
] ; |
|
|
|
1+0 = 1; |
|
|
|
||
1 + |
1=0. |
|
|
|
|
Другими словами, если при передаче кодового слова |
|||||
.(Sl, |
S2, |
S3, Si, S5, |
. . ., S i i , CU |
CZ, |
C 3 , Ci) |
возникнет ошибка в s4 и |
Sa, то при автоматическом ис |
||||
правлении будет получено |
слово (si, |
S2, |
S3, s,x, S5, ..., s u , |
||
Си c 2 , c 3 , d ) , которое хотя |
и не совпадает с переданным, |
но является кодовым. Поэтому, когда вероятность воз никновения ошибок кратности более единицы значитель на, автоматическое исправление ошибок оказывается не36