Математика/2. Перспективы систем информатики
Старший научный сотрудник Борисов К. Ю.,
д. т. н., профессор Павлов А.А.,
младший научный сотрудник Павлов П.А.,
Заслуженный деятель науки РФ, д. т. н.,
профессор Царьков А.Н.,
к.т.н., старший научный сотрудник Хоруженко
О.В.
Межрегиональное
общественное учреждение «Институт инженерной физики», Россия
Метод коррекции байтовых ошибок с аддитивным
формированием вектора ошибки
Предлагается метод построения
корректирующего кода, исправляющего одиночные байты ошибок (под байтом ошибки
понимаются ошибки, кратность которых не превышает число разрядов b блока
информации), реализующего линейную
процедуру построения кода с синдромным декодированием.
Для получения
кодового расстояния, позволяющего обеспечить исправление байтовых ошибок кратности b в двоичном
наборе, содержащем k=b2b
информационных символов, используем r=b+log2(b2b) контрольных разрядов. Обозначим вторую часть
контрольных разрядов буквой q= log2(b2b).
Для каждого блока информации
выберем свою совокупность проверок, используя 2b матриц кодирования информации размерности b x q.
Каждой матрице
присвоим свой номер, равномерно выбирая значения чисел из множества {0, 1, 2 ....... b2b}. Номер
матрицы формируется проверкой на четность строк сформированных матриц.
Например, для b=3 имеем восемь матриц, для которых выбраны номера: 0, 1,2,3, 6,12,
13, 21:
№ 13 №2 № 3 №6
011 0 110
0 101 0 000 0
Х = 111
1 Z= 000 0
A= 000
0 C= 101 0
001 1 011 0 100 0 111 1
000 0 001 1
111 1 010 1
001 1 011
0 010
1 011 0
№1 №12 №0
№12
000 0 000 0 000
0 001 1
E= 110 0 F= 100 1
G= 000 0 H= 110 0
000 0 111
1 000 0 100 1
011 0 110 0 000 0 011 0
100
1 101 0
000 0 111 1
Значения контрольных разрядов формируются
сложением по mod2 элементов строк матриц,
имеющих единичные значения, которые затем объединяются по mod2.
Для рассматриваемого примера значения
второй части контрольных разрядов формируется проверками:
r1g=
х2Åх3 Å z1Å z2 Åa1Åa3Åh3; r2g= х1Åх2Åх3 Åc1Åc3 Å e1Åe2 Åf1 Å h1Å h2;
r3g=
х3 Åz2Åz3 Åa1 Åc1Åc2Åc3 Åf1 Åf2Åf3Åh1; r4g=
z3 Åa1 Åa2Åa3Åс2 Åe2Åe3 Åf1Åf2Åh2 Åh3; r5g= х3 Åz2Åz3 Åa2 Åc2 Åc3 Åe3 Åf1Åf3Åh1Åh2Åh3.
В общем случае при кодировании информации
предлагаемым методом формируется кодовый набор:
YK=х1 х2.... хb, у1 у2…. уb,………, z1 zz…. zb х1 х2.... хb1 r11 r21…….. rq1
у1 у2…. уb2 r12 r22…….. rq2
Å ………………………………..
z1 zz…. zbw r1w r2w…….. rqw
r1f r2f… rbf r1g r2g…….. rqg ,
Результат сложения по mod2 переданных значений контрольных разрядов rif , rig и контрольных разрядов rifП , rigП, сформированных относительно полученных информационных разрядов
даст значение синдрома ошибки, включающего две части:
S=
s10 s20…
…….sb0 s11 s21… …..sq1
.
Sf Sg
Первая часть синдрома ошибки-Sf определяет вектор ошибки (ошибочные разряды в блоке
информации), а значение второй части
синдрома ошибки Sg определяет номер
ошибочного блока (байта) информации.
Стратегия декодирования заключается на
следующих положениях:
1. Sf =0; Sg=0.
Ошибок нет;
2.
Sf =0; Sg ¹0.
Произошла ошибка в контрольных разрядах или не корректируемая ошибка в
двух байтах информации;
3. Sf ¹0; Sg ¹0 (Sg =0).
Произошла ошибка в информационных байтах (в одном байте- корректируемая, в двух- обнаруживаемая).
В табл.1 представлены значения синдромов
ошибок для рассматриваемого примера.
Таблица 1 -Значения синдромов для кода (24,8)
Значение первой части синдрома ошибок |
Значения проверок второй части синдрома ошибок |
|
|||||||
X |
Z |
A |
C |
E |
F |
G |
H |
||
100 010 001 110 101 011 111 |
01000 11000 10101 10000 11101 01101 00101 |
10000 10101 00111 00101 10111 00010 00010 |
10110 00011 10010 10101 00100 10001 00111 |
01100 00111 01101 01011 00001 01010 00110 |
01001 01110 00010 00011 01011 01000 00001 |
01111 00110 00101 01001 01010 00011 01100 |
00000 00000 00000 00000 00000 00000 00000 |
01101 01011 10011 00110 11110 11000 10101 |
Литература:
1.
Щербаков Н.С. Достоверность работы цифровых
устройств. М:
Машиностроение, 1989.