Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Дискретка / кодирование.ppt
Скачиваний:
27
Добавлен:
23.05.2015
Размер:
968.7 Кб
Скачать

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

M E

 

G

Матрица из блоков

 

1

0

0

G11

G12

G1n k

0

1

 

0

G

G

 

G

 

M

 

 

21

22

 

 

2n k

 

 

 

 

 

0

0

 

1

G

G

 

G

 

 

 

 

 

k1

k 2

 

k ,n k

k столбцов

n–k столбцов

единичной

матрицы G

матрицы E

(произвольной)

 

 

x j

, j k

y

 

 

k

 

j

 

 

 

 

xi & Gi, j k

, j k

 

 

 

 

 

 

i 1

 

k строк

y x,

x G

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

Проверочные символы

 

 

 

Реализация систематического кода с матричным кодированием

 

 

 

 

1

0

0

1

1

1

 

 

k

 

 

 

 

 

 

 

 

1

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y j

xi

& Mij , j 1 n

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1 0

1 0 1

 

 

i 1

 

 

 

 

G 1

 

 

0 1

 

 

0

0

1

0

1

1

y j

xi ,

j 1 n

 

 

 

 

 

0

 

 

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 3

n 6

 

n k 3

 

 

 

 

 

 

 

 

 

 

i:Mij 1

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

y1

 

 

 

 

y1 x1

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

y2

k информационных

 

 

 

 

 

 

 

 

 

 

 

 

 

y

2

x

2

 

 

 

 

 

 

 

 

 

 

 

 

 

символов

 

 

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y3

 

 

 

 

y3 x3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y4

 

 

 

 

y4 x1

x2

 

 

 

 

 

 

 

 

 

 

 

 

y5

n–k проверочных

 

y5 x1

x3

 

 

 

 

 

 

 

 

 

 

 

 

символов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y6 x1 x2 x3

 

 

 

G

 

 

 

 

 

 

 

y6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Код с обобщенными

 

КУ систематического кода

 

 

 

 

yˆ

 

 

проверками на четность

 

 

~

 

 

 

y4 0 x1 x2 0

 

 

 

 

 

 

 

y[1 k]

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

y

 

?

 

[1…k]

x

y5

0 x1

x3

0

 

 

 

 

 

y[k 1 n]

 

 

 

 

 

 

 

G

 

 

 

 

ДКУ

 

 

y6

0 x1

x2

x3

0

 

 

 

 

 

 

 

 

 

систематического кода

 

Замкнутое множество допустимых кодовых слов

 

x

 

 

 

 

y f (x)

 

x1

x2

x3

 

y1

y2

y3

y4

y5

y6

 

0

0

0

 

0

0

0

0

0

0

0

0

1

 

0

0

1

0

1

1

0

1

0

 

0

1

0

1

0

1

0

1

1

 

0

1

1

1

1

0

1

0

0

 

1

0

0

1

1

1

1

0

1

 

1

0

1

1

0

0

1

1

0

 

1

1

0

0

1

0

1

1

1

 

1

1

1

0

0

1

y1 x1 y2 x2 y3 x3

y4 x1 x2 y5 x1 x3

y6 x1 x2 x3

1

0

1

1

0

0

 

0

1

1

1

1

0

1

1

0

0

1

0

 

B = {000000, 001011, 010101, 011110, 100111, 101100, 110010, 111001}

~

d=4

d=3

d=1

d=2

d=4

d=3

d=5

d=2

y 011101

 

 

 

min

 

 

 

 

 

 

 

 

ˆ

 

ˆ

 

 

 

 

 

 

y 010101 x 010

 

 

 

Разбиение множества двоичных векторов на смежные классы по подгруппе допустимых кодовых слов и таблица стандартной расстановки двоичного группового кода

z B {z b | b B}

 

A

 

B

{z B | z A}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

 

 

B

 

2k z

 

z B

 

2k

 

A

 

2n

 

A

B

 

 

 

 

 

 

2n k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A B 2n–k классов по 2k векторов

z z z B Каждый вектор принадлежит своему классу

0 B

0 B B

Одним из классов является подгруппа допустимых кодовых слов. Он порождается, в частности, нулевым вектором, который тоже является допустимым кодовым словом.

u z B u B z B Каждый класс есть в точности множество

образующих его векторов.

 

 

Отношение эквивалентности между двоичными векторами по

A

B

u 1 u u v u v B u v B

 

 

 

Таблица стандартной расстановки

0 = 0+0

b1 = 0+b1

b2 = 0+b2

b2k–1 = 0+b2k–1

 

 

 

 

z1= z1+0

z1 + b1

z1 + b2

z1 + b2k–1

 

 

z2 = z2+0

z2 + b1

z2 + b2

z2 + b2k–1

 

2n–k

 

 

z2n–k–1 = z2n–k–1+0

z2n–k–1 + b1

z2n–k–1 + b2

z2n–k–1 + b2k–1

 

 

 

 

 

 

 

 

 

 

 

 

2k

Строки – различные классы разбиения – смежные классы образующего элемента zm по подгруппе B.

Заголовочная строка – класс, образованный вектором 0 – подгруппа допустимых кодовых слов

Заголовки столбцов – элементы B – допустимые кодовые слова.

Заголовки строк – образующие элементы классов.

Выбор образующих элементов – лидеров классов

u z B

w(z) w(u)

z Лидер класса z+B

Лидер класса – вектор минимального веса в своем классе.

Каждый класс есть в точности множество образующих его векторов.

Выберем в качестве образующих элементов вектора минимального веса – лидеры классов.

 

~

 

 

Декодирование посредством лидеров

ˆ

 

 

 

 

 

& u z B

w(z) w(u)

 

 

 

y z B

e z

 

~

 

 

 

~

 

 

 

 

 

y z B

b B y

z b

 

 

 

 

 

~

 

~

 

 

 

 

 

 

 

d( y,b) w( y b) w(z b b) w(z)

 

 

 

 

 

~

 

~

 

 

 

 

 

 

b B d( y

,b ) w( y

b ) w(z

b b )

 

 

 

 

b B & b B b b B. b b b .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

~

,b) w(z)

b B z b b z b u z B d( y

,b ) w(u) d( y

Иллюстрация к схеме декодирования посредством лидеров классов.

Расстояния между векторами в таблице стандартной расстановки двоичного группового кода

u z B

w(z) w(u)

0

z

yˆ b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b

 

 

b

 

 

 

 

 

 

~

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

,b)

w(z)

 

 

 

 

,b ) w(u) w(z)

 

 

 

 

 

 

 

 

 

d( y

 

 

 

 

d( y

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

u z b

 

 

 

 

 

 

 

 

 

 

 

 

y z b

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

z

 

Заголовок столбца

e

Заголовок строки

 

 

Пример декодирования посредством лидеров для (6,3) кода

B = {000000, 001011, 010101, 011110, 100111, 101100, 110010, 111001}

000000

 

001011

010101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100111

101100

110010

111001

 

 

011110

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

000001

 

001010

010100

011111

 

100110

101101

110011

111000

000010

 

001001

010111

011100

 

100101

101110

110000

111011

000100

 

001111

010001

011010

 

100011

101000

110110

111101

 

 

 

 

 

 

 

 

 

 

 

 

 

000011

011101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

101111

100100

111010

110001

001000

 

 

 

 

 

 

010110

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

010000

 

011011

000101

001110

 

110111

111100

100010

101001

100000

 

101011

110101

111110

 

000111

001100

010010

011001

011000

 

010011

001101

000110

 

111111

110100

101010

100001

В первых 7 строках единственный выбор лидера:

000000, 000001, 000010, 000100, 001000, 010000, 100000.

В последней строке три равноправных варианта выбора лидера: 011000, 000110, 100001

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 010110

 

001000 B : 010110

 

001000

 

 

011110

 

 

 

d( y,000000) w( y) 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

010110+

010110+

010110+

010110+

 

010110+

 

 

 

 

010110+

010110+

001011= 010101= 011110= 100111= 101100=

 

 

 

 

110010=

111001=

011101

 

 

 

 

 

 

 

000011

001000

110001

 

 

 

 

 

111010

 

 

 

 

 

 

 

 

100100

101111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d=4

 

 

 

 

 

 

 

 

 

 

 

 

 

d=2

 

d=1

 

d=3

 

 

 

 

 

 

d=4

 

d=2

d=5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y 011110

000000

001011

010101

011110

100111

101100

110010

111001

000001

001010

010100

011111

100110

101101

110011

111000

000010

001001

010111

011100

100101

101110

110000

111011

000100

001111

010001

011010

100011

101000

110110

111101

001000

000011

011101

010110

101111

100100

111010

110001

010000

011011

000101

001110

110111

111100

100010

101001

100000

101011

110101

111110

000111

001100

010010

011001

011000

010011

001101

000110

111111

110100

101010

100001

~ Решение (выбор варианта исправления ошибки) не всегда единственное:

y 110100 011000 B :110100 011000 101100

110100+

110100+

110100+

110100+

110100+

110100+

110100+

110100+

000000=

001011=

010101= 011110= 100111=

101100= 110010= 111001=

110100

111111

100001

101010

010011

011000

000110

001101

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d=3

d=6

 

d=2

 

d=3

d=3

 

d=2

 

 

d=2

 

d=3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Три равноправных максимально правдоподобных варианта для исправления ошибки ( yˆ ): 110100, 110100, 110100. Выбранный лидер Оценки вектора ошибок ( eˆ ): 100001, 011000, 000110. (произвольно)

Декодирование посредством лидеров следует правилу декодирования по минимуму расстояния.

Настоящий вектор ошибок

e

 

 

~

 

и принятое искаженное сообщение y всегда

находятся в одном классе.

 

~

 

 

 

 

 

 

 

 

e y

 

 

 

Максимально правдоподобные варианты оценок вектора ошибок

ˆ

 

 

 

 

 

 

 

 

лидеры классов.

 

 

 

 

e

 

 

 

 

 

 

 

L {z | u z B

w(z) w(u)} Множество лидеров классов

ˆ

 

 

~

 

Множество максимально

 

 

ˆ

ˆ

ˆ

правдоподобных оценок

~

 

 

 

 

 

 

 

 

 

 

 

E {e | e L & y e}

вектора ошибки для

 

 

y

 

 

 

 

 

 

 

исправления принятого

 

 

Если для каждого класса отобрать один вариант, то имеем поиск по 2n–k вариантам (классам ошибок), а не 2k допустимым кодовым словам.

2n–k<<2k при кодировании большими блоками с малой избыточностью

n=56 k=48 nk=8: 256<<281474976710656

Соседние файлы в папке Дискретка