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

Варианты построения декодера

~

y

 

~

 

e

 

 

eˆ

: eˆ y

 

 

ˆ

ˆ

 

 

 

e L

 

 

ˆ

 

 

 

 

 

 

 

 

y

f

1

 

ˆ

 

 

 

 

 

x

~

y

[1…k]

ˆ

ˆ

~

e

: e

y

eˆ L

 

~

 

 

 

 

 

 

 

x

 

 

ˆ

~

~

 

 

 

 

 

 

 

 

 

 

 

x

x

y[1 k]

 

 

 

 

 

 

 

 

 

ˆ

Информационные

 

 

 

 

 

 

 

 

e[1 k]

символы принятого

 

 

 

 

кодового слова

Для систематического кода необходимо исправлять ошибки только в информационных символах.

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

Порождающая

Код с обобщенными проверками на четность

j k : y j x j

 

матрица

 

M E G

j k : y j xi j k : y j yi

 

i:Gi , j k 1

i:Gi , j k 1

 

~

~

 

~

( j k : y j ( yi ) 0)

y B

 

i:Gi , j k 1

 

 

Вектор синдрома s V n–k

 

~

~

j 1 n k

s j yk j ( yi ),

i:Gi , j k 1

Проверочная

G

матрица

H

 

E

~ H s y

(s j 0

~

~

j 1 n k

yk j yi ),

i:Gi , j k 1

~ 0 y B s

 

 

 

Пример: проверочная матрица и вычисление синдрома (6, 3)-кода.

 

 

 

 

 

1 0 0 1 1 1

 

 

 

1

1

1

y

0 x x

0

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

4

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

M

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y5

0 x1 x3 0

 

 

 

 

 

s y H

0 1 0

1 0 1

 

 

G 1

0 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1 1

y

0 x x

x 0

 

 

 

1 1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

1

2

 

3

 

 

 

 

 

 

 

0 0 1

0 1 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

~

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

s

 

0

 

 

 

 

s Hi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

y

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

1

 

2

 

4

 

 

 

 

 

 

 

 

 

H 0 1

1

s

 

0

~

~

~

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

1 0 0

 

2

y

y

3

y

5

 

 

 

 

 

i:yi 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s3 0

~

~

~

 

H

— Строка i матрицы H

 

 

 

 

0

1

0

y1

y2

y3

y6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

0

1

y1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x3

 

 

~

~

 

~

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s1

s

 

 

 

 

 

 

 

 

y4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

y

2

y

4

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s2

s

 

 

~

~

~

 

 

 

 

 

y5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

y

y

3

y

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

~

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s3

 

 

~

~

~

 

 

 

y6

 

 

H

 

 

 

 

 

 

 

 

 

 

 

 

s3 y1

y2

y3

y6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Примеры вычисления значений синдромов

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

1

1

1

~

 

H1

=

111

 

1

0

1

s y H Hi

 

 

 

 

 

 

~

H2=101

 

1

 

i:yi 1

 

0

1

Hi — Строка i матрицы H

H3=011

 

H

 

 

 

1

0

0

 

 

H4=100

 

 

 

 

0 H Hi 0

 

 

 

 

0

1

0

H5=010

 

0

0

1

 

i

H6=001

 

 

 

 

 

 

 

101100 B

111001 B

011010 B

001000 B

 

101100·H=0

111001·H=0 011010·H=100 0

001000·H=011 0

1:111+

 

1:111+

2:101+

3:011=

 

3:011+

 

2:101+

3:011+

011

000010 B

 

 

 

 

4:100=

 

3:011+

5:010=

 

 

 

000010·H=010 0

 

000

 

6:001=

100

 

 

 

 

 

 

 

 

 

 

 

 

000

 

 

 

 

5:010=

 

 

 

 

 

 

 

 

010

Свойства синдромов

В качестве синдрома нулевой вектор имеют только допустимые кодовые слова.

u H 0 u B

Два вектора эквивалентны (принадлежат одному смежному классу в разбиении A/B) тогда и только тогда, когда их синдромы совпадают.

u H v H u v

uv u v B b B u v b : u v b

uv u H (v b) H (v H) (b H) (v H) 0 v H

u H v H (u H) (v H) 0 (u v) H 0 u v B u v

Иллюстрация проверки эквивалентности векторов

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

1

1

1

010111 000010+B

101110 000010+B

011101 000010+B

 

0

 

010111·H=010

101110·H=010

011101·H=011

1

1

0

1

1

2:101+

1:111+

2:101+

H

 

 

1

0

0

4:100+

3:011+

3:011+

0

1

0

5:010+

4:100+

4:100+

 

 

 

0

0

1

6:001=

5:010=

6:001=

 

 

 

010

010

011

 

010111 101110

010111 011101

001000·H=011

000010·H=010

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Синдромный декодер

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[1…k]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

H

 

 

 

 

T

 

 

 

 

 

e[1 k] T (s)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~

 

 

H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Схема вычисления синдрома s y H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TТаблица соответствия синдромов и лидеров смежных классов – выбранных вариантов оценки вектора ошибки.

 

 

 

 

Выделение информационной части искаженного сообщения

 

[1…k]

 

 

~

~

 

 

 

 

 

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

x

y[1 k]

 

 

 

 

 

 

 

 

 

x x e[1 k]

 

 

 

Схема исправления ошибок

ˆ

~

ˆ

 

 

 

Синдромный декодер (6, 3)-кода

~

 

 

 

 

 

 

 

~

 

 

 

 

x1

 

 

 

 

 

xˆ1

 

y1

 

 

 

 

~

 

 

 

 

 

 

~

 

 

 

 

x2

 

 

 

 

 

xˆ2

 

y2

 

 

 

 

~

 

 

 

 

 

 

~

 

 

 

 

x3

 

 

 

 

 

xˆ3

 

 

 

 

 

 

 

ˆ

 

 

 

 

y3

 

 

 

 

s1

 

 

 

 

 

 

~

 

 

 

 

 

e1

 

 

 

 

 

y4

 

 

 

 

s2

 

eˆ2

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

y5

 

 

 

 

s3

T

ˆ

 

 

 

 

 

~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e3

 

 

 

 

 

y6

 

H

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

адрес

 

данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лидер

Строки H

Синдром

s1

s2

s3

eˆ1

eˆ2

eˆ3

 

 

 

0

0

0

0

0

0

1

1

1

000000

 

000

 

 

0

0

1

0

0

0

 

 

 

000001

{6}

001

 

 

 

0

1

0

0

0

0

1

0 1

000010

{5}

010

 

0

1

1

 

0

1

1

0

0

1

H

 

 

000100

{4}

100

 

1

0

0

001000

{3}

011

 

1

0

0

0

0

0

0

1

0

 

 

 

 

1

0

1

0

1

0

 

0

 

010000

{2}

101

 

0

1

100000

{1}

111

 

1

1

0

0

1

1

 

 

 

 

 

 

 

011000

{2,3}

110

 

1

1

1

1

0

0

Пример исправления ошибки синдромным декодером

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

1

1

1

1

0

1

 

1

 

0

1

H

0

 

1

0

0

1

0

 

0

 

0

1

1:111+ 5:010= 101

x 110

y 110010 e 010000

~

y y e 100010

~ H

s y 101

~

x 100 eˆ[1...3] 010

ˆ ~

ˆ

x x

e[1...3] 110 x

~

~

~

1 0 0 1

s1 y1

y2

y4

~

~

~

1 0 1 0

s2 y1

y3

y5

~

~

~

~

s3 y1

y2

y3

y6 1 0 0 0 1

s1 s2 s3 eˆ1 eˆ2 eˆ3

0 0 0 0 0 0

0 0 1 0 0 0

0 1 0 0 0 0

0 1 1 0 0 1

1 0 0 0 0 0

1

0

1

0

1

0

1 1 0 0 1 1

1 1 1 1 0 0

Все реализуют принцип максимального правдоподобия

Сравнение рассмотренных способов декодирования

Декодирование по максимальному правдоподобию (или минимальному расстоянию)

ˆ

~

Выбор из 2k

вариантов

 

 

min d ( y, y)

2k n-разрядных сравнений

yˆ B

 

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

ˆ

ˆ

 

Выбор из 2n-k вариантов:

e

L : e y

 

 

~

 

2n-k сравнений

 

 

Синдромное декодирование

 

~

Непосредственное вычисление

 

s y H

– до (nk)(k+1)+k одноразрядных и

 

ˆ

 

e[1 k] T (s)

2n-k элементов памяти по k разрядов

 

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