Коды фирмы IBM

При записи информации на магнитную ленту ошибки возникают чаще всего в пределах одного блока неоднократно, но по одному столбцу. Для борьбы с этими ошибками фирма IBM (США) разработала корректирующий код, который относится к итеративным. В каждом кадре информации формируется одна дополнительная строка.

Проверочные символы на дополнительной дорожке определяются из условия обеспечения нечетности числа единиц вдоль данной строки.

В направлении дорожек используется параллельный циклический код, позволяющий определить номер дорожки, на которой возникла пачка ошибок.

Зная номер дорожки с искаженными символами, и используя результаты проверок по строкам, можно произвести их исправление.

Расположение кодируемого кадра информации на ленте показано в таблице 8.1.

Таблица 8.1

Информационные дорожки Дополнение до нечетности
0 1 2 3 ... j ... n – 1 n
F1(x) a0; 1 a1; 1 · x1 a2; 1 · x2 ... aj – 1; 1 · x j – 1 ... an – 2; 1 · xn – 2 an – 1; 1 · xn – 1
F2(x) a0; 2 a1; 2 · x1 a2; 2 · x2 ... aj – 1; 2 · x j – 1 ... an – 2; 2 · xn – 2 an – 1; 2 · xn – 1
... ... ... ... ... ... ... ... ...
Fi(x) a0; i a1; i · x1 a2; i · x2 ... aj – 1; i · x j – 1 ... an – 2; i · xn – 2 an – 1; i · xn – 1
... ... ... ... ... ... ... ... ...
Fl(x) a0; l a1; l · x1 a2; l · x2 ... aj – 1; l · x j – 1 ... an – 2; l · xn – 2 an – 1; l · xn – 1
Rl(x) a0; l + 1 a1; l + 1 · x1 a2; l + 1 · x2 ... aj – 1; l + 1 · x j – 1 ... an – 2; l + 1 · xn – 2 an – 1; l + 1 · xn – 1

Кодирование циклическим кодом осуществляется следующим образом. Многочлен F1(x), соответствующий информации первой строки, умножается на x и результат приводится по модулю образующего многочлена g(x) степени n, где n – число дорожек, включая контрольную. Например, для 9 дорожек:

Коды фирмы IBM.

Полученный остаток Ri(x) суммируется по модулю два с многочленом F2(x), соответствующим информации второй строки. Сумма снова умножается на x и далее приводится по модулю 2, в результате чего определяется остаток R2(x). Применив этот алгоритм последовательно ко всем строкам кодируемого кадра информации, получим Rl(x) – многочлен степени не выше n – 1, который и записывается в конце кадра (при нечетном числе строк в нем), в качестве символов контрольных символов записывается:

Коды фирмы IBM .

Декодирование производится аналогично кодированию, причем участвует и контрольная строка – Rl(x). Процесс декодирования можно записать следующим образом:

где E(x) – некоторый многочлен, определяющий ошибку, а .

При отсутствии ошибки .

Если R'(x) ≠ 0, то имеет место ошибка.

Если имела место пачка ошибок вдоль одной из дорожек, то она может быть исправлена. http://peredacha-informacii.ru/ В техническом отношении код значительно сложнее кода с проверкой по строке и диагонали.

Дополнительная информация по коду фирмы IBM