Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / 9. Помехоустойчивое кодирование сообщений.ppt
Скачиваний:
9
Добавлен:
19.09.2023
Размер:
610.3 Кб
Скачать

Для того же примера система порождающих уравнений будет выглядеть следующим образом:

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р )

1

Sр

1

2k

1 2k n

S Sр

S

2n

 

 

 

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

S – Sр случаях, равных количеству запрещенных комбинаций. Доля исправляемых ошибочных комбинаций от числа обнаруживаемых составляет:

S Sр

 

1

2 k

Sр (S Sр )

Sр

 

 

Эти две величины характеризуют корректирующую способность кода. Однако на практике следует учитывать не только количество, но и вероятностные характеристики тех или иных ошибочных комбинаций.