Помехоустойчивое кодирование
description
Transcript of Помехоустойчивое кодирование
Помехоустойчивое кодирование
Линейные коды
Некоторые предположения
•Блоковый код- код, в котором все слова имеют одинаковую длину.•Кодовое слово – слово из некоторого кода С.
Исходные предположения относительно каналаИсходные предположения относительно канала
1. Сохранение длины. Слово на выходе канала имеет такую же длину, как кодовое слово на входе канала.
2. Независимость ошибок. Вероятность ошибки любого символа сообщения одна и та же.
Исходная стратегия Исходная стратегия декодированиядекодирования
• При декодировании мы используем принцип максимального правдоподобия, или стратегию ближайшего соседа, согласно которым получатель должен декодировать полученное слово w' как кодовое слово w, ближайшее к w'.
Расстояние Хэмминга
•Интуитивное понятие “близости'' двух слов формализуется с помощью расстояния Хэмминга d(x, y) слов x, y.•Для двух слов x, y
d(x, y) = число символов, в которых они различаются.
•Примеры: h(10101, 01100) = 3, h(fourth, eighth) = 4
Свойства расстояния Хэмминга (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) дает наименьшее число ошибок, необходимое для перевода одного кодового слова в другое.
Свойства расстояния Хэмминга (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.
Кодирование – введение избыточности –алгебраический
подход
Кодер110 ,...,, kaaa
словонноеИнформацио
110 ,...,, nccс
словоКодовое
Систематическое кодирование
Кодер110 ,...,, kaaa
словонноеИнформацио
nkk ccaaa
словоКодовое
,...,,,...,, 110
Кодирование – введение избыточности
(систематическое кодирование)
битыепроверочны
ccfc
ccfc
битынныеинформацио
aс
aс
aс
knn
kkk
kk
),...,(
...
),,...,(
,
...
,
,
1011
10
11
11
00
Линейное систематические кодирование – линейные функции
функциибулевылинейныеff
битыепроверочны
ccfc
ccfc
битынныеинформацио
aс
aс
aс
nk
knn
kkk
kk
1
1011
10
11
11
00
,...,
,
),...,(
...
),,...,(
,
...
,
,
Пример линейного систематического кодирования - добавление проверки на
четность(1)Пример.
Информационное слово
Кодовое слово
000 0000
001 0011
010 0101
011 0110
100 1001
101 1010
110 1100
111 1111
.
,
,
,
2103
22
11
00
cccс
aс
aс
ac
Линейный код (некоторые параметры) - (n,k,d)-код
• n – длина кодовых слов (длина кода)
• k – число информационных разрядов
• d – минимальное кодовое расстояние
• - скорость передачи
• Комментарий: Хороший (n,k,d)-код имеет маленькое n и большие k и d.
n
kR
Примеры
• C1 = {00, 01, 10, 11} есть (2,2,1)-код.
• C2 = {000, 011, 101, 110} есть (3,2,2)-код.
• C3 = {00000, 01101, 10110, 11011} есть (5,2,3)-код.
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
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
ISBN-ISBN-код – недвоичный кодкод – недвоичный код
• Обнаружение ошибки перестановкиОбнаружение ошибки перестановки
• Пусть xJ и xk поменялись местами.
. и при
11 mod 0
10
1
10
1
kj
kj
kji
ii
i
xxjk
xxjk
xkjxjkixiy
Пример линейного систематического кодирования - добавление проверки на
четность(2)Пример.
Информационное слово
Кодовое слово
000 0000
001 0011
010 0101
011 0110
100 1001
101 1010
110 1100
111 1111
.
,
,
,
2103
22
11
00
cccс
aс
aс
aс
2
1
0
3
2
1
0
111
100
010
001
a
a
a
c
c
c
c
Порождающая матрица
Пусть - кодовое слово длины n - информационное слово длины k
G – nxk порождающая матрица кода
G
G
Систематический код
• Первые разрядов кодового слова совпадают с информационными битами
1G
IG k
Порождающая матрица
• Пример.
• Длина слов 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
с
с
с
с
с
с
с
Проверки
• Пример. Получаем проверки
,
,
,
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
с
с
с
с
с
с
с
Проверочная матрица
• Пример.
• H – (n-k)xn проверочная матрица:
,0
,0
0
6321
5210
4320
сссс
сссс
сссс
0
1001110
0100111
0011101
6
5
4
3
2
1
0
с
с
с
с
с
с
с
0H
Связь порождающей и проверочной матрицы систематического кода
• Пример.•
,
1110
0111
1101
1000
0100
0010
0001
4
P
IG
)(
1001110
0100111
0011101
3IPH
0HGT
Связь порождающей и проверочной матрицы систематического кода
•
,)(
kkn
k
kn P
IG )( )(
)(knkkn
nknIPH
0HGT
Сводка результатов по линейным кодам
• Линейный код задается порождающей ( ) или проверочной ( ) матрицами.
• Код (множество кодовых слов) – линейное подпространство, порожденное столбцами
• С другой стороны – линейный код – дуальное подпространство столбцов матрицы - дуальный код
G
H
GG
G
TH