Математика/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.

В общем случае при кодировании информации предлагаемым методом формируется кодовый набор:

YK1 х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 r2frbf        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.