
- •Введение в помехоустойчивое кодирование
- •Функциональная схема процесса повышения достоверности
- •Двоичное блоковое кодирование
- •Двоичный блоковый (n, k) код
- •Структура декодирующего устройства
- •Геометрическая интерпретация вероятности
- •Независимость событий A и B
- •Геометрическая интерпретация формул полной вероятности и формул Байеса для вычисления вероятностей гипотез
- •Оценивание по принципу максимального правдоподобия
- •Оценивание по принципу максимального правдоподобия
- •Другие возможные соображения по выбору правил принятия решений.
- •Алгебраическая модель представления искажений при передаче двоичного вектора по ненадежному каналу
- •Некоторые новые обозначения
- •Некоторые упрощения для варианта оценивания по максимуму правдоподобия
- •Декодирование по минимуму расстояния
- •Пример декодирования по минимуму расстояния: распознавание написания цифр почтового индекса.
- •Исправление ошибок считывания
- •Двоичные групповые коды
- •Матричное кодирование – способ построения группового кода.
- •Систематический код
- •Замкнутое множество допустимых кодовых слов
- •Разбиение множества двоичных векторов на смежные классы по подгруппе допустимых кодовых слов и
- •Таблица стандартной расстановки
- •Выбор образующих элементов – лидеров классов
- •Иллюстрация к схеме декодирования посредством лидеров классов.
- •Пример декодирования посредством лидеров для (6,3) кода
- •Декодирование посредством лидеров следует правилу декодирования по минимуму расстояния.
- •Варианты построения декодера
- •Проверочная матрица для систематического кода
- •Примеры вычисления значений синдромов
- •Свойства синдромов
- •Иллюстрация проверки эквивалентности векторов
- •Синдромный декодер (6, 3)-кода
- •Пример исправления ошибки синдромным декодером
- •Все реализуют принцип максимального правдоподобия
- •Исправляемые конфигурации ошибок
- •Какова вероятность неправильного декодирования?
- •Пример для (6, 3)-кода
- •Вероятность ошибочного декодирования блока (6, 3)-кода
- •Частичное декодирование
- •Пример: Частичное декодирование (6, 3)-кода
- •Вариант частичного декодера

Варианты построения декодера
~
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 |
– до (n–k)(k+1)+k одноразрядных и |
|
ˆ |
|
e[1 k] T (s) |
2n-k элементов памяти по k разрядов |
|