7.1. Основные понятия
В соответствии с теоремой Шеннона для дискретного канала с помехами, достоверность передаваемой информации может быть обеспечена применением корректирующих кодов.
Помехоустойчивыми или корректирующими кодами называются коды, позволяющие обнаружить и устранить ошибки при передаче информации из-за воздействия помех.
Наиболее распространенным является класс кодов с коррекцией одиночных и обнаружением двойных ошибок (КО-ОД). Самым известных среди этих кодов является код Хэмминга, имеющий простой и удобный для технической реализации алгоритм обнаружения и исправления одиночной ошибки.
В ЭВМ эти коды используются для повышения надежности оперативной памяти (ОП) и магнитных дисков. Число ошибок в ЭВМ зависит от типа неисправностей элементов схем (например, неисправность одного элемента интегральной схемы (ИС) вызывает одиночную ошибку, а всей ИС ОП - кратную). Для обнаружения кратных ошибок используется код КО-ОД-ООГ (коррекция одиночной, обнаружение двойной и обнаружение кратной ошибки в одноименной группе битов).
Среди корректирующих кодов широко используются циклические коды, в ЭВМ эти коды применяются при последовательной передаче данных между ЭВМ и внешними устройствами, а также при передаче данных по каналам связи. Для исправления двух и более ошибок (d0 5) используются циклические коды БЧХ (Боуза - Чоудхури - Хоквингема), а также Рида-Соломона, которые широко используются в устройствах цифровой записи звука на оптические компакт-диски и позволяющие осуществлять коррекцию групповых ошибок. Способность кода обнаруживать и исправлять ошибки достигается за счет введений избыточности в кодовые комбинации, т. е. кодовым комбинациям из к - двоичных информационных символов, поступающих на вход кодирующего устройства, соответствует на выходе последовательность из n - двоичных символов (такой код называется (n, k) - кодом).
Если N0 = 2n - общее число кодовых комбинаций, а N = 2k - число разрешенных, то число запрещенных кодовых комбинаций равно 2n -2k.
При этом число ошибок, которое приводит к запрещенной кодовой комбинации равно:
,
где S - кратность ошибки, т. е. количество искаженных символов в кодовой комбинации S = 0, 1, 2, ...
Cni - сочетания из n элементов по i, вычисляемое по формуле:
,
для S = 0 ;
S = 1 ;
S = 2 ; S = 3 ; и т. д.
Для исправления S ошибок количество комбинаций кодового слова, составленного из m проверочных разрядов N = 2m, должно быть больше возможного числа ошибок (13.2), при этом количество обнаруживаемых ошибок в два раза больше, чем исправляемых
2m откуда .
Для одиночной ошибки, как наиболее вероятной .
При передаче кода может быть искажен любой информационный символ, а может и не быть ошибки вовсе, т.е., если всего символов, то должен быть создан такое число комбинаций из проверочных символов , что можно было свободно различать вариант. Поэтому:
, где - полное число комбинаций кода.
Для практических расчетов при определении числа контрольных разрядов для корректирующих кодов с минимальным кодовым расстоянием удобно пользоваться выражением : m = [log2(1+n)] или, если удобно в расчетах использовать число информационных символов, то m = [log2 {(k+1)+ [log2(k+1)]}], где квадратные скобки обозначают округление до большего целого.
В таблице 1 приведены соотношения между длиной кодовой комбинации и количеством информационных и контрольных разрядов для кода исправляющего одиночную ошибку, а также эффективность использования канала связи.
Для исправления двукратной ошибки
или .
Таблица 7.1
-
N
7
10
15
31
63
127
255
K
4
6
11
26
57
120
247
M
3
4
4
5
6
7
8
0,57
0,6
0,75
0,84
0,9
0,95
0,97
Введение избыточности в кодовые комбинации при использовании корректирующих кодов существенно снижает скорость передачи информации и эффективность использования канала связи.
Например, для кода (31, 26) скорость передачи информации равна
,
т. е. скорость передачи уменьшается на 16%.
Как видно из таблицы 1, чем больше n, тем эффективнее используется канал.
Пример 1. Определить количество проверочных разрядов для систематического кода исправляющего одиночную ошибку и состоящего из 20 информационных разрядов.
Решение: Общая длина кодовой комбинации равна n = k+m, где k- количество информационных разрядов, а m- проверочных разрядов.
Для обнаружения двойной и исправления одиночной ошибки зависимости для разрядов имеют вид , при этом
m = [log2 {(k+1)+ [log2(k+1)]}]=[log2 {(20+1)+ [log2(20+1)]}]=5,
т. е. получим (25, 20)-код.
- Тема 1. Предмет и методы теории информации и кодирования
- 1.1. Введение
- 1.2. Основные понятия и определения
- 1.3. Системы передачи информации
- Тема 2. Математическая теория информации
- 2.1. Количество информации, и ее мера
- 2.2. Свойства количества информации
- 2.3. Энтропия информации
- 5.2. График энтропии для двух альтернативных событий
- 2.4. Свойства энтропии сообщений
- 2.5. Безусловная энтропия и ее свойства
- 2.6. Условная энтропия.
- 2.5. Энтропия объединения
- Энтропия объединения (совместная энтропия) находится при помощи матрицы ( табл.3) путем суммирования по строкам или столбцам всех вероятностей вида
- Уяснению взаимосвязи между рассмотренными видами энтропий дискретных систем способствует их графическое изображение.
- Тема 3. Основы теории кодирования
- 3.1.Основные понятия и определения
- 3.2. Классификация кодов
- 3.3. Способы представления кодов
- Тема 4. Каналы связи
- 4.1. Каналы связи, их классификация и характеристики
- Пропускная способность дискретного канала связи
- Дискретный канал связи без помех
- Дискретный канал связи с помехами
- Пример. По каналу связи передаются сообщения, вероятности которых соответственно равны:
- Пропускная способность бинарного, симметричного канала
- Избыточность сообщений
- Тема 5. Оптимальное кодирование
- 5.1. Основные понятия и определения
- 5.2. Код Шеннона-Фано
- 5.3. Код Хаффмена
- Тема 6. Помехоустойчивое кодирование
- 6.1. Общие положения
- 6.2. Обнаруживающие коды
- Тема 7. Корректирующие коды
- 7.1. Основные понятия
- 7.2 Линейные групповые коды
- 7.3. Код хэмминга
- Тема 8. Циклические коды
- 8.1. Операции над циклическими кодами
- 8.2. Циклические коды, исправляющие одиночную ошибку
- Если задана длина кодовой комбинации, то число контрольных разрядов определяем по формуле
- Так как частное q(X) имеет такую же степень, как и кодовая комбинация g(X) , то q(X) является кодовой комбинацией того же k - значного кода.
- 8.3. Матричная запись циклического кода
- 8.4. Циклические коды, обнаруживающие трехкратные ошибки
- Тема 9. Коды боуза-чоудхури- хоквингема
- Сигнальные символы это вспомогательные данные, облегчающие декодирование: служебные сигналы, сигналы синхронизации и т. Д.
- Тема 10. Введение в криптологию
- 0 1 2 3 4 5 6 7 8 9 25 Ключ
- 4 7 9 2 3 5 1 6 8 Ключ
- Функция дискретного логарифма обратная