49422 (Цифровые автоматы), страница 4

2016-07-30СтудИзба

Описание файла

Документ из архива "Цифровые автоматы", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49422"

Текст 4 страницы из документа "49422"

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

Например: число 1000111011010101110010101 представим по указанной выше схеме, получим:

1

0

0

0

1

0

1

0

1

1

0

0

1

0

1

0

0

1

1

1

0

0

1

1

0

1

0

1

1

0

1

0

0

1

Теперь, если при передаче было получено число:

1

0

0

0

1

0

1

1

0

1

1

0

0

1

0

0

0

0

1

1

1

0

0

1

1

0

1

0

1

1

0

1

0

0

1

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

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

При передаче кода может быть искажен или не искажен любой символ. Если длина кода – n символов, то – полное количество комбинаций кода. По методике Хэмминга можно определить число информационных символов кода, обнаруживающего и корректирующего одиночную ошибку следующим образом:

, где

– число информационных символов в коде;

– число контрольных символов;

– длина кода Хемминга.

Соотношение n, и для кода Хэмминга можно представить в виде таблицы:

Таблица 2.2.a

n

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

0

0

1

1

2

3

4

4

5

6

7

8

9

10

11

11

1

2

2

3

3

3

3

4

4

4

4

4

4

4

4

5

Пусть необходимо передать число 1110=10112. Значит . Используя таблицу 2.2.a получаем: , .

Далее необходимо определить на какой позиции должны находиться контрольные коэффициенты. Позиция контрольных коэффициентов – k в коде вычисляется по формуле – , где i – порядковый номер коэффициента k. Получаем 7-разрядный код:

Таблица 2.2.c

1

2

3

4

5

6

7

Разряды кода Хемминга

k1

k2

И4

k3

И3

И2

И1

Назначение разрядов

1

0

1

1

Значение разряда

Где ki – контрольный коэффициент (отсчет идет слева на право); Иi – информационный символ (отсчет идет справа на лево).

Значение контрольных коэффициентов по правилу: если сумма единиц на проверочных позициях четная, то значение контрольного коэффициента равно 0, в противном случае – 1.

Таблица 2.2.d

Позиция контрольного коэффициента

Проверочные позиции

1

1, 3, 5, 7, 9, 11, 13…

2

2, 3, 6, 7, 10, 11, 14…

4

4, 5, 6, 7, 12, 13, 14…

8

8, 9, 10, 11, 12, 13, 14…

Итак, используя таблицу 2.2.d назодим значения контрольных коэффициентов ki:

k1 = 1 + 0 + 1 = 0;

k2 = 1 + 1 + 1 = 1;

k3 = 0 + 1 +1 = 0.

Получим код Хемминга 0110011 для передачи числа 1110.

Теперь рассмотрим пример корректировки полученного кодированного в коде Хемминга числа, в котором есть сбой. Получили число 0110001. Для исправления ошибки необходимо определить позицию, в которой произошел сбой. Для этого определяем значения контрольных коэффициентов, используя таблицу 2.2.d:

k1 = 0 + 1 + 0 + 1 = 0 – нет ошибки;

k2 = 1 + 1 + 0+ 1 = 1 – ошибка;

k3 = 0 + 0 +0 + 1 = 1 – ошибка.

Номер ошибочного разряда совпадает с суммой позиций контрольных коэффициентов, указавших на наличие ошибки т.е. 2 + 4 = 6. Для исправления ошибки достаточно инвертировать значение 6-го разряда.

Задание. Построить код Хемминга для числа А.

A = 30710 = 1001100112

Используя таблицу 2.2.a получаем: , .

1

2

3

4

5

6

7

8

9

10

11

12

13

Разряды кода Хемминга

k1

k2

И9

k3

И8

И7

И6

k4

И5

И4

И3

И2

И1

Назначение разрядов

1

0

0

1

1

0

0

1

1

Значение разряда

k1 = 1 + 0 + 1 + 1 + 0 + 1 = 0;

k2 = 1 + 0 + 1 + 0 + 0 = 0;

k3 = 0 + 0 +1 + 1 + 1 = 1;

k4 = 1 + 0 + 0 + 1 + 1 = 1.

Получим код Хемминга 0011001110011.

При передаче, получили код с ошибкой 0011001110111. Проверяем:

k1 = 0 + 1 + 0 + 1 + 1 + 1 + 1 = 1; – ошибка;

k2 = 0 + 1 + 0 + 1 + 0 + 1 = 1; – ошибка;

k3 = 1 + 0 + 0 +1 + 1 + 1 = 0; – нет ошибки;

k4 = 1 + 1 + 0 + 1 + 1 + 1 = 1 – ошибка.

Ошибка находится в разряде 1 + 2 + 8 = 11, инвертируем 11-й разряд и получаем исходный код Хемминга.

2.3 Контроль по модулю

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

При числовом методе код заданного числа определяется как наименьший положительный остаток от деления числа на выбранный модуль. Например, определить контрольный код числа 160 по модулю 6. Для этого делим 160 на 6, получаем остаток – 4.

При цифровом методе контроля, контрольный код числа образуется делением суммы цифр числа на выбранный модуль. Например, определить контрольный код числа 160 по модулю 6. Сумма цифр числа 160 равна 7, делим ее на 6. Получим остаток 1, значит это, контроль числа 160 по модулю 6, при цифровом методе контроля.

Числовой метод контроля

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

Операцию сдвига можно представить как передачу слова из i-го разряда в (i+x) разряд. Поэтому, контроль сдвига можно осуществить по методу четности / нечетности.

Контроль выполнения арифметических операций: сложение, вычитание, умножение можно осуществить методом контроля по модулю. Для этого применяют формулы:

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Нет! Мы не выполняем работы на заказ, однако Вы можете попросить что-то выложить в наших социальных сетях.
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
4100
Авторов
на СтудИзбе
670
Средний доход
с одного платного файла
Обучение Подробнее