- •Сибирская Аэрокосмическая Академия
- •Статический метод
- •Энтропия и её свойства
- •Энтропия сложной системы
- •Условная энтропия. Объединение зависимых систем.
- •Полная условная энтропия
- •Теорема сложения энтропий
- •Определение информационных потерь в каналах связи
- •Энтропия и информация
- •Взаимная информация
- •Сумма равна единице
- •Частная информация о системе
- •Частная информация о событии, получаемая в результате сообщения о другом событии.
- •Энтропия и информация для систем с непрерывным множеством состояний
- •Условная энтропия непрерывной системы
- •Количественное определения избыточности
- •Блочное кодирование
- •Избыточность от округления
- •1 Символ – 4 бита
- •Код Хафмана
- •Процедура кодирования
- •Передача информации по дискретным каналам связи
- •Основная теорема Шеннона о кодировании для дискретного канала без помех
- •Дискретный канал с помехами
- •Теорема о кодировании Шеннона для дискретного канала с помехами
- •Корректирующие коды
- •Исправление ошибок с помощью полной кодовой таблицы
- •Разбиение
- •Систематические коды
- •Декодирование систематических кодов
- •Код Хэминга
- •Декодирование кода Хэминга
- •Особенности декодирования.
- •Циклические коды
- •Декодирование циклических кодов
- •Построение декодированного конкретного циклического кода
- •Обнаружение и определение ошибок
- •Коды, обнаруживающие трёхкратные ошибки
Дискретный канал с помехами
Характеризуется канальной матрицей
…
Взаимная информация
Энтропия
на выходе приёмника Средняя
условная энтропия -
это максимальное значение определить
сложно. … …
Определим пропускную способность канала связи, по которому передаются двоичные сигналы со скоростью vx, если вероятность искажения сигнала равна p.
Имеет
источник информации
,
приёмник информации
.
Разложение выполним в виде диаграммы
Правильный
приём Канал
такого типа называют симметричным
бинарным, (т.к. два числа) Искажение




Определим среднюю условную энтропию
Учитывая,
что ,
получим, что объединили -
, т.е потери не будут зависеть от
характерис-тики источника
Поэтому
Пропускная
способность канала
Рассмотрим два крайних условия:
1. Вероятность искажения (Р=0), следовательно, помех нет, следовательно, С = vx и она имеет свое максимальное значение
2. Р=1/2. Значение С = 0 – это минимальное значение пропускной способности
Пример: Определить пропускную способность канала связи, способного передавать 100 симв./сек . Каждый символ искажается с вероятностью 0,01.
![]()
Теорема о кодировании Шеннона для дискретного канала с помехами
Если источник информации имеет энтропию H(z), а канал обладает пропускной способностью С, то:
1. Сообщение, вырабатываемое источником, всегда можно закодировать так, чтобы скорость передачи vz была близка величине vz max.
![]()
И чтобы при этом вероятность ошибки в определении переданного символа была меньше заданного числа.
2. Не существует метода кодирования, позволяющего вести передачу со скоростью выше
vz max и с малой вероятностью ошибки.
То есть, если H’(z) ≤ C, то может быть подобран специальный код, позволяющий вести передачу с малой вероятностью ошибки. Если H’(z) > C то такого кода не существует.
Очевидно, что при уменьшении скорости передачи, можно повысить достоверность, например, методом многократного повторения. Для обеспечения нулевой ошибки, кажется, что скорость передачи должна стремиться к нулю. Теорема же утверждает, что всегда можно обеспечить скорость передачи равной Vz max путем выбора подходящего ввода.
Корректирующие коды
Это коды, которые позволяют обнаруживать и исправлять ошибки.
n – значность кода (из скольки символов состоит данная кодовая комбинация)
N0 = 2n, n – число возможных кодовых комбинаций.
Идея возможности обнаружения ошибок заключается в том, что для передачи используются не все комбинации, а только их часть N.
И это значение N<N0.
Используемые комбинации N называются разрешенные, а остальные N0–N – это запрещенные комбинации.
Если в результате действия помех разрешенная комбинация превращается в запрещенную, то это обнаруживает наличие ошибки. Если совокупность ошибок превращает одну разрешенную комбинацию в другую разрешенную комбинацию, то такие ошибки обнаружены не будут.
Примером кода, обнаружившего одиночную ошибку, является коды с контролем по четности. Сущность таких кодов состоит в следующем:
К исходной кодовой комбинации добавляют 1 или 0, таким образом, чтобы количество (сумма) единиц всегда была четной. Сбой любого одного символа обнаружит ошибку.

информационный
-
контрольный
Код 100
01
10
11
Код 2
00
01
10
11
0
1
1
0
Чтобы принять сигнал правильно, надо повторить передачу.
Количество символов, на которое одна кодовая комбинация отличающаяся от другой кодовой комбинации, называется кодовым расстоянием и обозначается буквой d. d0 – минимальное кодовое расстояние – минимальное количество символов, на которое кодовая комбинация отличается друг от друга.
Для того, чтобы определить кодовое расстояние достаточно просуммировать кодовые комбинации по правилам двоичного поля и подсчитать число единиц в полученном результате.
Пример: Для кода 1
А1 = 00 0 0 = 0 Правила:
А2 = 01 1 0 = 1 четн. – 0
А3 = 10 0 1 = 1 нечетн. – 1
А4 = 11 1 1 = 0
Определим кодовую комбинацию
А1А2
d = 1
А3А4
d = 1
01 01
Для кода 2
А1=000 А2А4 011 А3А2 101
А2=011 110 d = 2 011 d = 2
А3=101 101 110
А4=110
Ошибку можно не только обнаружить, но и исправить, если принятая кодовая комбинация ближе к исходной, чем к любой другой разрешённой комбинации.
Пример: Построим код: К коду 2 добавим два символа, повторив первых два символа получим код 3:
Код 2
А1=000
А2=011
А3=101
А4=110
Код 3
-

0001
10
11
000
101
110
011
информационные разряды контрольные разряды
Определим кодовое расстояние между комбинациями
Строим матрицу кодовых расстояний
|
|
А1 |
А2 |
А3 |
А4 |
d0 = 3 |
|
А1 |
0 |
3 |
3 |
4 | |
|
А2 |
|
0 |
4 |
3 | |
|
А3 |
|
|
0 |
3 | |
|
А4 |
|
|
|
0 |
Пусть передаётся комбинация А3, и она содержит ошибку
![]()
матрица кодовых расстояний
-

А1
А2
А3
А4
Vx
4
3
1
2
vx ближе всего к А3, следовательно посылалась А3 и мы ошибку исправили.
Корректирующая способность кода зависит от минимального кодового расстояния d0. Если
d0 = 3, то он может исправлять ошибку, то есть корректирующую способность кода можно повышать, если увеличивать минимальное кодовое расстояние.
Для построения кодов, которые обнаруживают и исправляют одиночную ошибку d0 = 3, должно выполняться неравенство:
,
где
nи – количество информационных разрядов
n – значность кода
nк – количество контрольных разрядов
n = nи + nк
Поэтому результаты сведем в таблицу:
|
n |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
|
nи |
2 |
3 |
4 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
|
nк |
3 |
3 |
3 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
4 |
Предположим, что строим код на тридцать два сообщения nи = 5, выделяем столбец
nк = 4
n = 9
Расчеты можно вести по формуле.
Для кода, который обнаруживает двойную ошибку, а исправляет одиночную:
-
значения округляются в большую сторону
-
до большего целого числа
Обозначим буквой:
r – кратность обнаруживающих ошибок;
s – кратность исправляемых ошибок;
Тогда для кодов обнаруживающих и исправляющих ошибки:
d0 = r + s + 1,
для кодов, которые только обнаруживают ошибки d0 = n + 1,
для кодов, которые только исправляют ошибки d0 = 2s + 1 (когда r > s).
Если
d0 r s
1
0 0 отличие комбинации
2
1 0
обнаружение
одиночной ошибки
3
1 1 обнаружение одиночной
ошибки и исправление одиночной ошибки
3
2 0 обнаруживающий 2-ую ошибку
Количество контрольных разрядов и значность кода для разных минимальных кодовых расстояний, связано соотношением:
Для кодов, обнаруживающих все трехкратные ошибки.
![]()

количество обнаруженных ошибок
Для кодов, исправляющих двойные ошибки

Для кодов, исправляющих тройные ошибки:
![]()
Для кодов, исправляющих S ошибок:
![]()
Пример: Требуется передавать, обнаруживающим трёхкратные ошибки, все комбинации пятизначного двоичного кода. Чему равна общая длина кода ?
r – кратность обнаруживающих ошибок.
s – кратность исправляемых ошибок.
![]()
nи = 5; nк = 1 + log[6 + log6] = 5
n = nи + nк = 10
Пример: Определить количество информационных разрядов кода длиной в пятнадцать символов, если код исправляет две ошибки.
n=15
![]()
nи = n - nк = 15 – 7 = 8
