25
Помехоустойчивое кодирование Линейные коды

Помехоустойчивое кодирование

  • Upload
    lulu

  • View
    82

  • Download
    0

Embed Size (px)

DESCRIPTION

Помехоустойчивое кодирование. Линейные коды. Некоторые предположения. Блоковый код - код, в котором все слова имеют одинаковую длину . Кодовое слово – слово из некоторого кода С. Исходные предположения относительно канала - PowerPoint PPT Presentation

Citation preview

Page 1: Помехоустойчивое кодирование

Помехоустойчивое кодирование

Линейные коды

Page 2: Помехоустойчивое кодирование

Некоторые предположения

•Блоковый код- код, в котором все слова имеют одинаковую длину.•Кодовое слово – слово из некоторого кода С.

Исходные предположения относительно каналаИсходные предположения относительно канала

1. Сохранение длины. Слово на выходе канала имеет такую же длину, как кодовое слово на входе канала.

2. Независимость ошибок. Вероятность ошибки любого символа сообщения одна и та же.

Page 3: Помехоустойчивое кодирование

Исходная стратегия Исходная стратегия декодированиядекодирования

• При декодировании мы используем принцип максимального правдоподобия, или стратегию ближайшего соседа, согласно которым получатель должен декодировать полученное слово w' как кодовое слово w, ближайшее к w'.

Page 4: Помехоустойчивое кодирование

Расстояние Хэмминга

•Интуитивное понятие “близости'' двух слов формализуется с помощью расстояния Хэмминга d(x, y) слов x, y.•Для двух слов x, y

d(x, y) = число символов, в которых они различаются.

•Примеры: h(10101, 01100) = 3, h(fourth, eighth) = 4

Page 5: Помехоустойчивое кодирование

Свойства расстояния Хэмминга (1)

• (1) d(x, y) = 0 Ű x = y• (2) d(x, y) = d(y, x)• (3) d(x, z) Ł d(x, y) + d(y, z) (неравенство

треугольника)

• Важнейшей характеристикой кодаC является его минимальное расстояние

• d(C) = min {d(x, y) | x,y C, x ą y},

• d (C) дает наименьшее число ошибок, необходимое для перевода одного кодового слова в другое.

Page 6: Помехоустойчивое кодирование

Свойства расстояния Хэмминга (2)

• Теорема (Основная теорема исправления ошибок)• (1) Код C может обнаруживать до s ошибок, если d(C)

ł s + 1.• (2) Код C может исправлять до t ошибок, если d(C) ł

2t + 1.Доказательство (1) Очевидно. • (2) Предположим d(C) ł 2t + 1.

Пусть передается кодовое слово x и получено слово y так что d(x, y) Ł t. Если x' ą x является кодовым словом, тогда d(x' ‚ y) ł t + 1 поскольку в противном случае d(x', y) < t + 1 и следовательно d(x, x') Ł d(x, y) + d(y, x') < 2t + 1 что противоречит предположению d(C) ł 2t + 1.

Page 7: Помехоустойчивое кодирование

Кодирование – введение избыточности –алгебраический

подход

Кодер110 ,...,, kaaa

словонноеИнформацио

110 ,...,, nccс

словоКодовое

Page 8: Помехоустойчивое кодирование

Систематическое кодирование

Кодер110 ,...,, kaaa

словонноеИнформацио

nkk ccaaa

словоКодовое

,...,,,...,, 110

Page 9: Помехоустойчивое кодирование

Кодирование – введение избыточности

(систематическое кодирование)

битыепроверочны

ccfc

ccfc

битынныеинформацио

knn

kkk

kk

),...,(

...

),,...,(

,

...

,

,

1011

10

11

11

00

Page 10: Помехоустойчивое кодирование

Линейное систематические кодирование – линейные функции

функциибулевылинейныеff

битыепроверочны

ccfc

ccfc

битынныеинформацио

nk

knn

kkk

kk

1

1011

10

11

11

00

,...,

,

),...,(

...

),,...,(

,

...

,

,

Page 11: Помехоустойчивое кодирование

Пример линейного систематического кодирования - добавление проверки на

четность(1)Пример.

Информационное слово

Кодовое слово

000 0000

001 0011

010 0101

011 0110

100 1001

101 1010

110 1100

111 1111

.

,

,

,

2103

22

11

00

cccс

ac

Page 12: Помехоустойчивое кодирование

Линейный код (некоторые параметры) - (n,k,d)-код

• n – длина кодовых слов (длина кода)

• k – число информационных разрядов

• d – минимальное кодовое расстояние

• - скорость передачи

• Комментарий: Хороший (n,k,d)-код имеет маленькое n и большие k и d.

n

kR

Page 13: Помехоустойчивое кодирование

Примеры

• C1 = {00, 01, 10, 11} есть (2,2,1)-код.

• C2 = {000, 011, 101, 110} есть (3,2,2)-код.

• C3 = {00000, 01101, 10110, 11011} есть (5,2,3)-код.

Page 14: Помехоустойчивое кодирование

ISBN-ISBN-код – недвоичный кодкод – недвоичный код

•Каждая книга имеет International Standard Book Number, которое представляет собой 10-разрядное кодовое слово создаваемое издателем и имеющее следующую структуру:

• l p m w = x1 … x10

• язык издатель номер взвешенная контрольная сумма• 0 07 709503 0•так что

Издатель добавляет X в 10-ю позицию, если x10 = 10.

•The ISBN code is designed to detect: (a) any single error (b) any double error created by a transposition

11 mod 010

1

i

iix

Page 15: Помехоустойчивое кодирование

ISBN-ISBN-код – недвоичный кодкод – недвоичный код

• Обнаружение одиночной ошибкиОбнаружение одиночной ошибки

• Пусть X = x1 … x10 - правильный код и пусть

• Y = x1 … xJ-1 yJ xJ+1 … x10 , причем yJ = xJ + a, a ą 0

• В таком случае:

11 mod 010

1

10

1

jaixiyi

ii

i

Page 16: Помехоустойчивое кодирование

ISBN-ISBN-код – недвоичный кодкод – недвоичный код

• Обнаружение ошибки перестановкиОбнаружение ошибки перестановки

• Пусть xJ и xk поменялись местами.

. и при

11 mod 0

10

1

10

1

kj

kj

kji

ii

i

xxjk

xxjk

xkjxjkixiy

Page 17: Помехоустойчивое кодирование

Пример линейного систематического кодирования - добавление проверки на

четность(2)Пример.

Информационное слово

Кодовое слово

000 0000

001 0011

010 0101

011 0110

100 1001

101 1010

110 1100

111 1111

.

,

,

,

2103

22

11

00

cccс

2

1

0

3

2

1

0

111

100

010

001

a

a

a

c

c

c

c

Page 18: Помехоустойчивое кодирование

Порождающая матрица

Пусть - кодовое слово длины n - информационное слово длины k

G – nxk порождающая матрица кода

G

G

Page 19: Помехоустойчивое кодирование

Систематический код

• Первые разрядов кодового слова совпадают с информационными битами

1G

IG k

Page 20: Помехоустойчивое кодирование

Порождающая матрица

• Пример.

• Длина слов n=7, число иформационных разрядов =4, число проверочных разрядов n-k=3

G

3

2

1

0

6

5

4

3

2

1

0

1110

0111

1101

1000

0100

0010

0001

a

a

a

a

с

с

с

с

с

с

с

Page 21: Помехоустойчивое кодирование

Проверки

• Пример. Получаем проверки

,

,

,

3216

2105

3204

сссс

сссс

сссс

3

2

1

0

6

5

4

3

2

1

0

1110

0111

1101

1000

0100

0010

0001

a

a

a

a

с

с

с

с

с

с

с

Page 22: Помехоустойчивое кодирование

Проверочная матрица

• Пример.

• H – (n-k)xn проверочная матрица:

,0

,0

0

6321

5210

4320

сссс

сссс

сссс

0

1001110

0100111

0011101

6

5

4

3

2

1

0

с

с

с

с

с

с

с

0H

Page 23: Помехоустойчивое кодирование

Связь порождающей и проверочной матрицы систематического кода

• Пример.•

,

1110

0111

1101

1000

0100

0010

0001

4

P

IG

)(

1001110

0100111

0011101

3IPH

0HGT

Page 24: Помехоустойчивое кодирование

Связь порождающей и проверочной матрицы систематического кода

,)(

kkn

k

kn P

IG )( )(

)(knkkn

nknIPH

0HGT

Page 25: Помехоустойчивое кодирование

Сводка результатов по линейным кодам

• Линейный код задается порождающей ( ) или проверочной ( ) матрицами.

• Код (множество кодовых слов) – линейное подпространство, порожденное столбцами

• С другой стороны – линейный код – дуальное подпространство столбцов матрицы - дуальный код

G

H

GG

G

TH