Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
краткие ответы ФНПО.doc
Скачиваний:
16
Добавлен:
29.05.2015
Размер:
331.26 Кб
Скачать

Построение кодов обнаружения ошибок (защитных кодов)

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

Построение кодов обнаружения ошибок основано на трех основных принципах:

1) Использование признаков делимости

2) Запрещение использования определенной части кодовых слов.

3) Запрещение использования определенных символов.

1. Построение кодов обнаружения ошибок с использованием признака делимости числа

Суть данного способа построения кодов обнаружения ошибок состоит в следующем: допустим необходимо построить код обнаружения ошибок для табельного номера, состоящего из четырех цифр: 5621 а) в данном случае выбирается число М, называемое модулем (желательно простое целое число) и исходное кодовое число делится на модуль М. Например, М=9

5621 : 9

54

22

18

41

36

5

и остаток от деления (в данном случае равный 5) дописывается справа от исходного кодового слова. Таким образом, табельный номер примет вид 56215, где первые четыре разряда информационные, а последний контрольный.

б) контроль по модулю "10". Допустим, необходимо построить код обнаружения ошибок для номенклатурного номера материала 62154. Находим сумму чисел: 6+2+1+5+4=18.

Далее определяется ближайшее, большее 18, число кратное 10. Это число 20. Определяется разность этих чисел 20-18=2. Полученное значение и является контрольным разрядом. Таким образом, будет обрабатываться на всех стадиях число 621542, содержащее 5 информационных разрядов и 1 контрольный. В данном случае присутствует избыточная информация, введение которой оправдано необходимостью контроля правильности преобразования информации. Однако, данный способ не позволяет обнаружить ошибки, связанные с перестановкой цифр.

Для этого существует способ построения кодов обнаружения ошибок с учетом весовых коэффициентов. Суть которого в том, что на каждый разряд числа «навешивается» весовой коэффициент. Далее применяется контроль по модулю «10», только с использованием весовых коэффициентов числа.

Например, требуется построить код инвентарного номера оборудования 190624. Для каждого разряда числа вводится весовой коэффициент, причем, чем старше разряд, тем больше коэффициент. Данное число имеет весовые коэффициенты:

6 5 4 3 2 1

1 9 0 6 2 4

Находится сумма цифр числа, умноженных на весовые коэффициенты: 1*6+9*5+0*4+6*3+2*2+4*1=77. Находится разность между ближайшим большим числом, кратным 10, и данным числом 80-77=3 и эта разность дописывается к исходному кодовому числу в качестве контрольного разряда: 1906243.

Построение защитных кодов для информации, представленной в двоичном коде

Одним из основных способов контроля двоичной информации является контроль «на ЧЕТ». В исходном кодовом числе подсчитывается количество единиц, если оно является нечетным, в качестве контрольного разряда к числу приписывается 1, если четным - 0. В полученном кодовом слове число единиц должно быть обязательно четным.

Например: а) 110011 - исходное кодовое слово

1100110 - кодовое слово с контрольным разрядом

б) 11001 - исходное кодовое слово

110011 - кодовое слово с контрольным разрядом

Коды обнаружения ошибок, построенные по принципу применения кодовых словарей

Данный способ построения кодов обнаружения ошибок заключается в использовании слов, входящих в специальным образом составленные кодовые словари. Только данные слова являются разрешенными, все остальные запрещенными для использования. Если кодовое слово, подлежащее преобразованию, содержится в кодовом словаре, значит информация преобразуется без ошибок, если данного слова в кодовом словаре нет, значит выдается сообщение об ошибке. Кодовые словари могут быть построены на 10 и на 100 слов.

Пример построения кодового словаря на 10 слов:01 12 23 34 45 56 67 78 89 90. Все остальные двузначные слова являются запрещенными. В данном случае коэффициент использования информационной емкости кода равен: 10/99=0,1.

Здесь 10- количество слов в словаре , 99 - максимально возможное количество цифр в словаре.

Например, если получено при передаче информации слово 13, то выдается сообщение об ошибке, т.к. данное слово в кодовом словаре

отсутствует. В случае одиночной ошибки она может быть исправлена: это может быть либо слово 23,либо - 12.

Кодовый словарь на 100 слов строится следующим образом:

Сотни

Десятки

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

001

012

023

034

045

056

067

078

089

090

102

113

124

135

146

157

168

179

180

191

203

214

225

236

247

258

269

270

281

292

304

315

326

337

348

359

360

371

382

393

405

416

427

438

449

450

461

472

483

494

506

517

528

539

540

551

562

573

584

595

607

618

629

630

641

652

663

674

685

696

708

719

720

731

742

753

764

775

786

797

809

810

821

832

843

854

865

876

887

898

900

912

923

934

945

956

967

978

989

999

Проверка правильности переданных кодовых слов выполняется несколькими способами. Основные способы контроля приведены ниже:

  • похожие по написанию цифры кодового слова (3 и 8, 5 и 6, 9 и 0, 6 и 9 и т.д.) ;

  • ошибки, совершенные при вводе с клавиатуры (рядом расположенные клавиши: с 1 рядом 2 и 4, с 5 – рядом 2, 4 и 6 и т.д.);

  • перестановка цифр числа при вводе с клавиатуры.

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

Очень часто в процессе преобразования информации возникают ошибки, связанные с нечетким заполнением первичных документов или с нажатием на устройствах передачи или подготовки данных ошибочно рядом расположенной клавиши. При нечетком заполнении документов бывает сложно различить похожие по начертанию цифры 4 и 7, 0 и 6, 0 и 9. Для избежания подобного рода ошибок, а также устранения возможности ошибок при нажатии рядом расположенных на клавиатуре клавиш запрещается использовать для построения кодовых слов следующие символы: например: 0,6,9. Все остальные символы являются разрешенными. В случае, если в процессе преобразования информации возникает кодовое слово, содержащее разрешенные символы, выдается сообщение об ошибке.