- •Содержание
- •Тема 1. Информация и информатика
- •Понятие информации
- •Свойства информации
- •Объективность информации
- •Полнота информации. Моделирование
- •Достоверность информации
- •Адекватность информации
- •Актуальность информации
- •Доступность информации
- •Информационные процессы и системы
- •Информационные ресурсы и технологии
- •Информатика и её предыстория
- •Структура информатики и её связь с другими науками
- •Тема 2. Количество и качество информации
- •Уровни проблем передачи информации
- •Меры информации
- •Меры информации синтаксического уровня
- •Меры информации семантического уровня
- •Меры информации прагматического уровня
- •Качество информации
- •Виды и формы представления информации в информационных системах
- •Тема 3. Представление числовой информации в ЭВМ
- •Системы счисления
- •Позиционные системы счисления
- •Перевод чисел из одной системы счисления в другую
- •Двоичная, восьмеричная и шестнадцатеричная системы счисления
- •Двоично-десятичная система счисления
- •Представление числовой информации в ЭВМ
- •Прямой, обратный и дополнительный коды
- •Выполнение арифметических операций над целыми числами
- •Смещённый код и код Грея
- •Представление вещественных чисел в ЭВМ
- •Выполнение арифметических действий над нормализованными числами
- •Погрешности представления числовой информации в ЭВМ
- •Тема 4. Кодирование символьной, графической и мультимедийной информации в ЭВМ
- •Кодирование и запись информации
- •Принципы кодирования информации
- •Аналоговое кодирование
- •Табличное кодирование
- •Цифровое кодирование
- •Аналого-цифровое преобразование
- •Основы цифрового кодирования
- •Двоичный разряд и его особенности
- •Байт
- •Правила записи чисел в различных системах счисления
- •Ранние системы кодирования текстов
- •Двоичное кодирование текста. Система Бэкона
- •Двоичный код переменной длины. Система Морзе
- •Система Бодо. Введение управляющих кодов
- •Система Мюррея. Введение кодов форматирования
- •Система FIELDDATA. Введение кодов-разделителей.
- •Схема кодирования ASCII
- •Отечественные схемы 8-разрядного кодирования текстов
- •Схема кодирования ISO-8859
- •Схема кодирования CP 866
- •Схема кодирования Windows-1251
- •Схема кодирования КОИ-8Р
- •Технология кодирования Unicode
- •Значение стандарта Unicode
- •Механизмы трансформации Unicode
- •Механизм UTF-8
- •Механизм UTF-16
- •Механизм UTF-7
- •Цифровое кодирование изображений
- •Растровая модель компьютерной графики
- •Векторная модель
- •Трёхмерная графическая модель
- •Характеристика графических моделей
- •Кодирование растровых изображений
- •Оптическое разрешение изображения
- •Глубина цвета
- •Кодирование цвета
- •Механизмы образования цвета
- •Теоретические модели RGB и CMY
- •Практические модели sRGB и CMYK
- •Разрядность кодирования цвета
- •Оценка объёма выборки данных
- •Кодирование звукозаписей
- •Цифровое кодирование сигнала
- •Дискретизация сигнала
- •Квантование импульсов сигнала
- •Оценка размера звуковой выборки данных
- •Поток данных
- •Кодирование видеозаписей
- •Оценка размера выборки видеоданных
- •Поток данных при видеозаписи
- •Сжатие данных при кодировании
- •Теоретические аспекты сжатия данных
- •Как измерить данные?
- •Минимальная выборка данных
- •Избыточность кодирования
- •Снижение избыточности данных
- •Обратимость методов сжатия данных
- •Обратимые методы сжатия данных
- •Групповое сжатие
- •Сжатие по словарю
- •Необратимые методы сжатия данных
- •Необратимое сжатие графики. Технология JPEG
- •Необратимое сжатие видео. Технология MPEG
- •Необратимое сжатие звука (технология МР3)
- •Тема 5. Логические функции
- •Основные законы и постулаты алгебры логики
- •Аксиомы (постулаты) алгебры логики
- •Законы алгебры логики
- •Представление функций алгебры логики
- •Тема 6. Помехоустойчивое кодирование
- •Основные определения теории помехоустойчивого кодирования
- •Общий подход к обнаружению ошибок
- •Общий подход к исправлению ошибок
- •Информационная избыточность помехоустойчивых кодов
- •Код Хэмминга
- •Линейные групповые коды
- •Циклические коды
- •Тема 7. Компьютерная обработка информации
- •Поколения электронных вычислительных машин
- •Классификация средств обработки информации
- •Классификация программного обеспечения
- •Системное программное обеспечение ЭВМ
- •Инструментарий технологии программирования
- •Пакеты прикладных программ
- •Тема 8. Автоматизация работы с документами
- •Оформление электронных документов
- •Размер листа
- •Ориентация листа
- •Печатные поля
- •Группировка страниц
- •Колонтитулы
- •Работа с разделами документа
- •Текстовые абзацы, их функции и свойства
- •Свойства шрифта абзаца
- •Выравнивание и переносы
- •Отступы и интервалы
- •Оформление списков, записей и таблиц
- •Оформление списков
- •Оформление записей
- •Параметры табуляции
- •Способ заполнения полей
- •Оформление таблиц
- •Взаимодействие изображений с текстом
- •Способы вставки изображений в документ
- •Режимы взаимодействия изображений и текста
- •Представление нетекстовых объектов в документе
- •Управление представлением изображений
- •Представление невизуальных объектов
- •Визуализация гиперссылкой
- •Визуализация изображением
- •Визуализация значком
- •Числовые диаграммы
- •Структура диаграммы
- •Основные элементы диаграммы
- •Типы диаграмм
- •Автоматизация документооборота
- •Стадии документооборота
- •Принципы стилевого оформления документов
- •Стиль как информационный объект
- •Принцип единства функционального оформления
- •Принцип наследования свойств стилей
- •Применение шаблонов документов
- •Автоматизация настройки программ с помощью шаблонов
- •Принцип наследования шаблонов
- •Корневой шаблон
- •Технология подготовки документов слияния
- •Тема 9. Защита информации
- •Информационные угрозы. Цели и объекты защиты информации
- •Юридические меры защиты информации
- •Способы защиты информации
- •Защита информации от несанкционированного доступа
- •Средства безопасности операционных систем семейства Windows
- •Способы защиты документов Microsoft Office
- •Защита от потерь информации
- •Действия при сбоях в работе программ
- •Вредоносные программы
- •Источники и основные признаки заражения. Способы защиты
- •Средства защиты от вредоносных программ
- •Принцип достаточности защиты
Тема 6. Помехоустойчивое кодирование
Бурное развитие вычислительной техники, а также быстрый рост важности и актуальности задач, решаемых её средствами, заставили искать пути повышения надёжности переработки информации в вычислительных устройствах и системах. Использование результатов теории помехоустойчивого кодирования для этих целей оказалось плодотворным и успешным. Для контроля правильности функционирования цифровых автоматов применяются различные помехоустойчивые коды, позволяющие в сочетании со специальными схемами обнаружения ошибок оперативно сигнализировать о правильности функционирования цифрового автомата.
Основные определения теории помехоустойчивого кодирования
Двоичным вектором длины называется -компонентный вектор |
( |
), каж- |
|
дая компонента которого |
может принимать значение 0 либо 1. |
|
|
Двоичным кодом |
называется множество двоичных векторов. |
|
|
Двоичный код называется равномерным, если он содержит только векторы одинаковой длины. В противном случае код называется неравномерным.
В дальнейшем будем рассматривать только равномерные коды, так как они находят широкое распространение при проектировании надёжных вычислительных средств. Все приводимые ниже определения даются применительно к равномерным двоичным кодам.
Двоичный код называется натуральным, если он содержит все возможные векторы заданной длины.
Длина двоичного кода равна длине его двоичного вектора.
Мощность двоичного кода — число всех различных векторов кода. Мощность кода обозначается | |.
|
Натуральный двоичный код длины имеет мощность, определяемую по формуле |
||
|
| | |
. |
|
|
Расстоянием в смысле Хэмминга между двумя двоичными векторами и |
(обозначается |
|
( |
)) называется число двоичных компонент, в которых эти векторы отличны друг от друга. |
||
|
Весом в смысле Хэмминга двоичного вектора |
(обозначается ( )) называется число еди- |
|
ниц в векторе . |
|
|
|
|
Минимальным расстоянием в смысле Хэмминга кода (обозначается |
) называется |
|
наименьшее из всех возможных расстояний Хэмминга для векторов кода . |
|
Ошибкой называется искажение вектора кода. Кратностью ошибки (обозначается ) называется число компонент вектора, искажаемых ошибкой.
Общий подход к обнаружению ошибок
Общий подход к обнаружению ошибок, возникающих в векторах некоторого кода , основан на следующем простом допущении: векторе ошибкой не принадлежит коду . Если это выполняется, то, построив схему, анализирующую принадлежность векторов коду , ошибку можно обнаружить. Очевидно, натуральный двоичный код не обладает обнаруживающей способностью к ошибкам, так как произвольное искажение любого вектора этого кода переводит его в вектор, также принадлежащий натуральному коду. Для получения кода с обнаружением ошибки (например, -кратной) из натурального кода необходимо удалить некоторые векторы, руководствуясь следующим соображением. В натуральном коде выбирается любой вектор. Выбранный вектор относят к коду с обнаружением -кратной ошибки. Все векторы, отстоящие от выбранного на расстоянии Хэмминга из натурального кода, вычёркиваются. Из оставшихся векторов натурального кода снова выбирается один вектор. Выбранный вектор относят к коду с обнаружением -кратной ошибки, а все векторы, отстоящие от выбранного на расстоянии Хэмминга из натурального кода, вычёркивают. Описанную процедуру повторяют до тех пор, пока все векторы натурального кода не будут исчерпаны. В
результате получаем код с обнаружением |
-кратной ошибки Очевидно, все векторы такого кода |
|
должны отстоять на расстоянии Хэмминга |
|
, так как векторы с меньшим кодовым расстояни- |
ем удалены из натурального кода. Таким образом, |
для кода с обнаружением -кратной ошибки |
|
должно соответствовать условию |
. Полученное условие относится к одному из основных |
положений теории помехоустойчивого кодирования.
Общий подход к исправлению ошибок
Если при обнаружении ошибок достаточно знать, принадлежит ли вектор коду, то для исправления ошибок необходимо знать номера разрядов вектора, искажаемых ошибкой. Очевидно, если два вектора кода при искажении некоторых разрядов дают один и тот же вектор с ошибкой, то по виду вектора с ошибкой восстановить правильный вектор не удаётся. Поэтому, общий подход к исправлению ошибок в векторе кода базируется на следующих допущениях:
вектор с ошибкой коду не принадлежит;
если код корректирует ошибку кратности |
, то любые два вектора кода при искажении |
||||
ошибкой кратности |
не должны давать один и тот же вектор с ошибкой. |
|
|||
Выполнение второго условия приводит к необходимости разнесения любых двух векторов |
, |
||||
кода с коррекцией -кратной ошибки на расстояние Хэмминга ( |
) |
. Действительно, |
|||
если расстояние меньше, найдутся такие ошибки кратности , которые могут перевести векторы |
и |
||||
в один и тот же вектор с ошибкой. |
|
|
|
|
|
Таким образом, для коррекции -кратной ошибки в векторах кода |
необходимо, чтобы вы- |
||||
полнялось соотношение |
. Полученное условие — основополагающее в теории помехо- |
устойчивого кодирования. Для получения кода с коррекцией -кратной ошибки из натурального кода необходимо удалить некоторые векторы, руководствуясь следующими соображениями. В натуральном коде выбирается любой вектор. Выбранный вектор относят к коду с коррекцией -кратной ошибки. Все векторы, отстоящие от выбранного на расстоянии Хэмминга , вычёркивают из натурального кода. Среди оставшихся векторов натурального кода выбирают следующий вектор, относя его к коду с коррекцией -кратной ошибки и т.д. Процедуру повторяют до тех пор, пока все векторы кода не будут исчерпаны.
104
Информационная избыточность помехоустойчивых кодов
Для обнаружения (исправления) ошибок натуральные коды не могут быть использованы. Для получения какой-то обнаруживающей способности из натурального кода необходимо удалить некоторые векторы. Иными словами, натуральный двоичный код разбивается на два множества векторов: запрещённых и рабочих. Последнее эквивалентно тому, что передаваемые по каналам связи сообщения кодируются с избыточностью, т.е. в натуральный код вводятся дополнительные (избыточные) разряды, необходимые для обнаружения или исправления ошибок в коде. Такие разряды обычно называют проверочными. Коды, у которых проверочные разряды всегда расположены в одних и тех же позициях, называются систематическими. В общем случае, неизвестно, какое минимальное число проверочных разрядов нужно добавить к натуральному коду, чтобы образовавшийся систематический код обладал заданной обнаруживающей (корректирующей) способностью. Это свя-
зано с поиском минимума функции ( |
) |
( |
), где — длина систематического кода; — |
число информационных разрядов, а |
|
— минимальное расстояние систематического кода в |
смысле Хэмминга. Точно определить минимум функции не удаётся. Существуют только верхние и нижние оценки, которые делают это приближённо. К нижней оценке можно отнести так называемую границу Хэмминга:
|
|
|
|
|
1 |
d |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
2 |
|
min |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
k |
Cn |
|
|||||
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
i 0 |
|
|
||
где |
— число сочетаний из по , а к верхней оценке — границу Варшамова—Гильберта: |
||||||||
|
|
n k |
|
2d |
min |
1 |
|
||
|
|
|
|
|
i |
|
|||
|
2 |
|
|
|
|
||||
|
|
|
|
Cn i |
|
||||
|
|
|
|
|
|
i 0 |
|
|
|
где ( |
) — число проверочных разрядов систематического кода. Существуют и другие оценки: |
||||||||
граница Плоткина, Элайса и т.д. Для кодов с различными параметрами ( |
) имеются специаль- |
ные таблицы, полученные конкретным просчётом и определяющие минимальное число добавляемых проверочных разрядов.
Код Хэмминга
Современные запоминающие устройства состоят из огромного количества запоминающих элементов, каждый из которых хранит бинарное значение — 0 или 1. При работе подобных устройств могут возникать ошибки, обусловленные воздействием различных факторов. В этом случае для повышения надёжности работы запоминающих устройств используют специальные коды.
Различают коды, обнаруживающие ошибки, и корректирующие коды, позволяющие обнаруживать место, где произошла ошибка, и исправлять её. Простейшим способом обнаружения ошибок является проверка на чётность. В этом случае к битам передаваемого или хранимого -разрядного слова добавляется ещё один бит — бит чётности, значение которого подбирается таким образом, чтобы среди получившихся разрядов ( ) обязательно было чётное число единиц. Такой избыточный код позволяет лишь констатировать факт наличия ошибки в слове даже без указания места, где она произошла.
Для повышения надёжности работы запоминающих устройств используют корректирующие коды. Принцип построения корректирующих кодов заключается в том, что к каждому хранимому или
105
передаваемому |
-разрядному слову добавляют битов с соответствующим их расположением сре- |
|||||
ди битов -разрядного слова. Подобные |
-разрядные коды ( |
) были впервые рассмотре- |
||||
ны в 1948 г. Р. Хэммингом и с тех пор обычно называются кодами Хэмминга. |
|
|
||||
Рассмотрим принцип построения кода Хэмминга для 16-разрядного слова данных ( |
), |
|||||
исправляющего все одиночные ошибки. |
|
|
|
|
||
Сначала определим необходимое число проверочных разрядов |
( |
) из соотноше- |
||||
ния: |
|
|
|
|
|
|
|
|
|
, |
|
|
|
откуда для |
находим |
и |
. |
|
|
|
Далее все биты -разрядного слова нумеруются слева направо начиная с 1, при этом все биты, номера которых равны степени числа 2, являются битами чётности, а остальные — информационными.
В 1, 2, 4, 8 и 16 разрядах данного кода располагаются биты чётности, а в разрядах 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20 и 21 биты данных слова 16-разрядного исходного слова.
Каждый бит чётности используется для контроля лишь определенных разрядов -разрядного слова. Номера контролируемых разрядов для каждого бита чётности приведены в таблице 2.
Таблица 2 — Номера битов чётности и контролируемых ими разрядов слов в коде Хэмминга
Контрольный разряд/номер бита |
Контролируемые разряды |
|
кода Хемминга |
||
|
||
1/1 |
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33… |
|
2/2 |
2 3 6 7 10 11 14 15 18 19 22 23 26 27 30 31 34… |
|
3/4 |
4 5 6 7 12 13 14 15 20 21 22 23 28 29 30 31 36… |
|
4/8 |
8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31 40… |
|
5/16 |
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 48… |
|
6/32 |
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48… |
Как видно из таблицы, в число контролируемых разрядов включается и тот разряд, где расположен сам бит чётности. При этом содержимое бита чётности устанавливается так, чтобы суммарное число единиц в контролируемых им разрядах было чётным.
Код, образованный значениями контрольных разрядов, называют дополнительным кодом. Дополнительный код можно также получить путём инвертирования результата поразрядного сложения (т.е. сложения по модулю 2) номеров тех разрядов кода данных, значения которых равны 1.
Предположим теперь, что из-за воздействия каких-либо возмущающих факторов обнулится одна из единиц в коде Хэмминга. В этом случае номер искажённого разряда определяется суммой номеров неправильных битов чётности.
Определить номер искажённого разряда можно также следующим способом.
После считывания информационного кода данных с искажённым разрядом для него вновь рассчитывается дополнительный код и сравнивается с исходным. Фиксируется код сравнения (по-
106