- •Теория информационных процессов и систем
- •Лекции читает канд.техн.наук, доцент Литвинов Владислав Леонидович
- •Помехоустойчивое кодирование сообщений
- ••Задача о разведчиках. Разведывательный отряд в составе командира и восьми бойцов высадился на
- ••Ранее уже говорилось о понятии помехоустойчивости (способности информационных систем противостоять воздействию помех). Для
- •Общие принципы помехоустойчивого кодирования
- ••Пусть M – число знаков первичного алфавита. Длина равномерного
- ••Сколько информационных бит потребуется командиру разведчиков?
- •Классификация помехоустойчивых кодов
- ••Первый классификационный признак – коды бывают блочными или
- ••Второй классификационные признак, относящийся как к блочным, так и к непрерывным кодам, подразделяет
- •Примеры простейших кодов
- ••Если число единиц в последовательности m четно, то результатом суммирования будет 0, если
- ••Правда, если в принятой последовательности произошло две ошибки, то общее число единиц в
- ••Несмотря на свою простоту и не очень высокую эффективность, коды с проверкой на
- ••Итеративный код. Еще одна простая схема кодирования, которая также часто используется, может быть
- ••Таким образом, по строкам и по столбцам этой таблицы будет выполняться правило четности
- •Порождающие матрицы блочных кодов
- •Для того же примера система порождающих уравнений будет выглядеть следующим образом:
- •• Обычно порождающие матрицы выглядят так:
- ••С учетом структуры матрицы G символы кодового слова U будут такими:
- ••Командир послал трех разведчиков по первой дороге, трех – по второй, двух –
- •Характеристики блочных линейных кодов
- •Пример. Определить кодовое расстояние между комбинациями
- ••При передаче в кодовых комбинациях возникают ошибки типа «инверсия». Если ошибка произошла в
- ••Коэффициент избыточности кода – это отношение количества проверочных битов к длине кода.
- ••Пусть всего Sр разрешенных комбинаций. Каждая из них при передаче может трансформироваться в
- ••Только передача в запрещенные варианты может быть обнаружена.
- ••Определим вероятность ошибочного приема сообщения. Пусть p – вероятность появления ошибки при передаче
- ••Если же требуется найти вероятность ошибки с заданной кратностью t, то следует воспользоваться
- •Связь между корректирующей способностью кода и кодовым расстоянием
- ••Отметим разрешенные комбинации ноликами; остальные, очевидно, будут запрещенными - их отметим крестиками. Видно,
- ••Обобщим рассуждения. Пусть необходимо построить код, обнаруживающий все ошибки кратности τ и меньше.
- ••Для того, чтобы код обеспечивал обнаружение однократных ошибок, необходимо из 8 возможных комбинаций
Для того же примера система порождающих уравнений будет выглядеть следующим образом:
u1 = m1, u2 = m2, u3 = m3,
u4 = m1 m2 m3.
•Однако наиболее удобным и наглядным способом описания линейных блочных кодов является их задание с использованием порождающей матрицы, являющейся компактной формой представления системы проверочных уравнений.
•Линейный блочный (n,k)-код полностью определяется матрицей G размером k n с двоичными матричными элементами. При этом каждое кодовое слово является линейной комбинацией строк матрицы G, а каждая линейная комбинация строк G – кодовым словом.
• Обычно порождающие матрицы выглядят так:
1 |
0 |
... |
0 |
|
P11 |
P12 |
... |
P1,n k |
||
|
||||||||||
|
||||||||||
|
||||||||||
|
||||||||||
G |
0 |
1 |
... |
0 |
|
P |
P |
... |
P |
|
|
||||||||||
|
||||||||||
|
||||||||||
|
|
|
|
|
|
21 |
22 |
|
2,n k |
|
|
|
|
|
|
|
|||||
|
0 |
0 |
... |
1 |
|
P |
P |
... |
P |
|
|
||||||||||
|
||||||||||
|
||||||||||
|
|
|
|
|
|
k1 |
k 2 |
|
k,n k |
|
|
|
|
|
|
|
•Например, для (4,3)-кода с проверкой на четность порождающая матрица будет иметь вид:
|
1 |
0 |
0 |
1 |
|
|
|
|
|
G |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
|
|
1 |
|||
|
|
|
|
|
•Пусть m = (m1, m2,… ,mk) будет тем блоком-сообщением, который необходимо закодировать с использованием данного кода.
•Тогда соответствующим ему кодовым словом U будет
•U = m G
•С учетом структуры матрицы G символы кодового слова U будут такими:
•для i = 1, 2,... , k:
•ui = mi ;
•для i = k+1,... , n:
• ui = m1 P1,i-k m2 P2,i-k m3 P3,i-k … mk Pk,i-k .
•Иными словами, k крайних левых символов кодового слова совпадает с символами кодируемой информационной последовательности, а остальные (n - к) символов являются линейными комбинациями символов информационной последовательности.
•Например, если входная последовательность кодера m = (1 0 1), то с применением порождающей матрицы код будет построен так:
|
1 |
0 |
0 |
1 |
|
|
|
|
|
|
|
|
0 |
1 |
0 |
|
0 1 0 |
U m G 101 |
1 1 |
||||
|
0 |
0 |
1 |
|
|
|
1 |
|
|||
|
|
|
|
|
|
•Командир послал трех разведчиков по первой дороге, трех – по второй, двух – по третьей, по четвертой пошел сам. Составить порождающую матрицу такого кода.
•Ответ: по сюжету задачи сообщение, полученное командиром лично, не может быть искаженным. Поэтому ограничимся исследованием информации, передаваемой бойцами. Следовательно:
|
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
G |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
|
0 |
0 |
0 |
0 |
0 |
0 |
1 |
|
|
1 |
|||||||
|
|
|
|
|
|
|
|
|
•Определенный таким образом код называется линейным блочным
систематическим (n,k)-кодом с обобщенными проверками на четность, а задающая его матрица G называется порождающей матрицей кода.
Характеристики блочных линейных кодов
•Количество разрядов в каждой кодовой комбинации (блоке) называют длиной или значностью кода и обозначают n.
•Символы каждого разряда могут принимать значения 0 или 1.
•Количество единиц в кодовой комбинации называют весом и обозначают ω.
•Например, кодовая комбинация 100101100 имеет значность n = 9 и вес ω = 4.
•Степень отличия двух любых кодовых комбинаций характеризуется
кодовым расстоянием d (расстоянием Хемминга), которое определяется как число разрядов, в которых комбинации отличаются одна от другой.
•Для определения кодового расстояния надо просуммировать (по модулю 2) две кодовые комбинации и определить вес суммы.
Пример. Определить кодовое расстояние между комбинациями
100101100 и 110110101. Просуммируем: 100101100
110110101
010011001
Вес полученной суммы (количество единиц) ω=4, следовательно, кодовое расстояние d=4.
• Определить все кодовые расстояния между безошибочными комбинациями сообщений разведчиков.
•Ответ: расстояние между первой и второй строкой порождающей матрицы – 6, между первой и третьей – 5, между второй и третьей – 5.
•При передаче в кодовых комбинациях возникают ошибки типа «инверсия». Если ошибка произошла в одном разряде блока, она называется однократной, при ошибках в двух, трех и т.д. разрядах они называются двукратными, трехкратными и т.д. Для описания возникающих в канале ошибок используют вектор ошибки, обычно обозначаемый как e и представляющий собой двоичную последовательность длиной n с единицами в тех позициях, в которых произошли ошибки. Вес вектора ошибки равен кратности ошибки.
•Так, вектор ошибки e = (0 0 0 1 0 0 0) означает однократную ошибку в четвертом разряде (четвертом бите), вектор ошибки e = (1 1 0 0 0 0 0) - двукратную ошибку в первом и втором битах и т.д.
•Допустим, по каналу связи передается кодовое слово U , в результате принята последовательность Û, возможно, содержащая ошибки. Если е – вектор ошибок, то Û = U e , или, что то же самое, e = U Û,
U = Û e.
•Помехоустойчивость кодирования обеспечивается за счет введения избыточности. Это значит, что из n символов кодовой комбинации для передачи информации используется k < n символов.
•Коэффициент избыточности кода – это отношение количества проверочных битов к длине кода.
F n k n
•При длине кодового слова n всего возможных кодовых слов – 2n, из них безошибочными могут быть 2k. Соответственно, все множество кодовых комбинаций разбивается на две группы: разрешенные комбинации и запрещенные комбинации. Разрешенных комбинаций
Sр = 2k, запрещенных Sf = S – Sр=2n - 2k. Если на приемной стороне установлено, что принятая комбинация относится к разрешенным, то считается, что сообщение прошло без искажений, а если принята запрещенная комбинация, то делается вывод, что произошла ошибка. Однако, если ошибка такова, что посланная комбинация, претерпев искажения, тем не менее, попала во множество разрешенных комбинаций, такая ошибка обнаружена не будет.
•Пусть всего Sр разрешенных комбинаций. Каждая из них при передаче может трансформироваться в любую из S возможных комбинаций,
т.е. всего имеется S·Sр возможных вариантов передачи. Из них Sр вариантов безошибочной передачи, Sр·(Sр – 1) вариантов ошибочной трансформации в другие разрешенные комбинации и Sр·(S – Sр) вариантов трансформации в запрещенные комбинации.
ошибочная трансформация в запрещенную комбинацию
Sр |
Sр |
S |
безошибочная передача
ошибочная трансформация в разрешенную комбинацию
•Только передача в запрещенные варианты может быть обнаружена.
Доля обнаруживаемых ошибок составляет
Sр (S Sр ) |
1 |
Sр |
1 |
2k |
1 2k n |
|
S Sр |
S |
2n |
||||
|
|
|
•Обнаруженную ошибку можно исправить, если для каждой запрещенной комбинации можно указать единственную исходную, т.е. посланную комбинацию. Таким образом, ошибка исправляется в
S – Sр случаях, равных количеству запрещенных комбинаций. Доля исправляемых ошибочных комбинаций от числа обнаруживаемых составляет:
S Sр |
|
1 |
2 k |
|
Sр (S Sр ) |
Sр |
|||
|
|
•Эти две величины характеризуют корректирующую способность кода. Однако на практике следует учитывать не только количество, но и вероятностные характеристики тех или иных ошибочных комбинаций.