Главная страница

Введение в теорию кодирования


Скачать 0.91 Mb.
НазваниеВведение в теорию кодирования
АнкорIntroduction_to_Coding_Theory
Дата08.04.2022
Размер0.91 Mb.
Формат файлаpdf
Имя файлаIntroduction_to_Coding_Theory.pdf
ТипУчебное пособие
#452841
страница2 из 13
1   2   3   4   5   6   7   8   9   ...   13
Каким образом действует декодер?
Ищет в таблице полученное на выходе канала связи слово y, например,
y = (1101).
Принимает решение, что вектор ошибок e — это лидер класса смежности, со- держащего вектор y, т. е. e = (1000).
Далее вектор y декодируется в вектор x = y − e = (1101) + (1000) = (0101) и делается вывод, что исходное сообщение было равно (01).
Очевидно, что декодирование, использующее стандартное расположение, являет- ся декодированием по максимуму правдоподобия.
Если линейный код имеет небольшие параметры, то таблица стандартного распо- ложения очень удобна для процесса декодирования. Но в большинстве случаев такая процедура неэффективна, так как требует большого объема вычислений. Например,

2.2. Декодирование линейных кодов
23
если взять линейный код длины 100 и размерности 70, то таблица декодирования содержит 2 70
столбцов и 2 30
строк, т. е. имеет очень большие размеры.
Процесс декодирования может быть упрощен с помощью синдромов. Для деко- дирования достаточно выписать лидеры смежных классов и соответствующие им синдромы. После того как получен вектор y, вычисляется его синдром. Далее отыс- кивается лидер смежного класса a
i
с тем же синдромом и вычитание этого лидера из вектора y
x = y − a
i
дает предположительно посланный вектор x.
2.2.2.
Свойства синдрома
1. Если проверочная матрица имеет (n − k) строк, то синдром S
y
произвольного вектора y ∈ E
n
является вектором длины (n − k).
2. Поскольку по определению линейного кода вектор y является кодовым тогда и только тогда, когда Hy
T
= 0, то справедливо
Утверждение 5. Синдром S
y
вектора y равен 0 тогда и только тогда, когда y
является кодовым вектором.
3. Справедливо
Утверждение 6. Для двоичного линейного кода синдром S
y
принятого вектора
y равен сумме тех столбцов проверочной матрицы H, где произошли ошибки.
Доказательство. Пусть получен вектор y = x + e, где x — кодовый вектор.
Тогда, по определению синдрома и из утверждения 5, имеем
S
y
= Hy
T
= H(x + e)
T
= Hx
T
+ He
T
= He
T
.
Пусть e имеет "1" в координатах с номерами i
1
, i
2
, . . ., i
s
, т. е.
supp(e) = {i
1
, i
2
, . . . , i
s
}
Это означает, что произошли ошибки в i
1
, i
2
, . . . , i
s
координатах. Таким образом,
имеем
He
T
=
s
X
k=1
e
i
k
h
i
k
= h
i
1
+ h
i
2
+ . . . + h
i
s
,
где h
i
k
— это i
k
-й столбец матрицы H. Следовательно,
S
y
=
s
X
k=1
h
i
k
,
т. е. действительно синдром выделяет те позиции вектора, где произошли ошибки. N
4. Имеет место взаимно однозначное соответствие между синдромами и смежны- ми классами.

24
Глава 2.
Декодирование
Утверждение 7. Два вектора u и v принадлежат одному и тому же смеж-
ному классу тогда и только тогда, когда их синдромы равны.
Доказательство. Два элемента группы u и v принадлежат одному и тому же смежному классу по данной подгруппе тогда и только тогда, когда u−v принадлежит этой подгруппе. В нашем случае подгруппой является код C, т. е. u − v ∈ C. Тогда по определению линейного кода выполняется
H(u − v)
T
= 0.
Отсюда Hv
T
= Hu
T
N
Таким образом, синдром содержит всю информацию, которую имеет декодер об ошибках: по принятому слову y вычисляется синдром S
y
. По утверждению 6 син- дром равен сумме тех столбцов проверочной матрицы, где произошли ошибки. По синдрому ищется лидер смежного класса, то есть вектор ошибок и далее — кодовое слово.
Рассмотрим вычисление синдрома для приведенного выше примера. Сначала по порождающей матрице G найдем проверочную матрицу H:
G =
µ
1 0 1 1 0 1 0 1

−→ H =
µ
1 0 1 0 1 1 0 1

.
Затем вычислим синдром для смежного класса с лидером (1000), он равен
µ
1 1

,
т. е. первому столбцу матрицы H. Далее вычислим все синдромы и запишем их в таблицу синдромов.
Сообщение
Лидер Синдром
Код
0000
µ
0 0

Первый смежный класс
1000
µ
1 1

Второй смежный класс
0100
µ
0 1

Третий смежный класс
0010
µ
1 0

Пусть получено слово y = (1100). Вычислим его синдром:
Hy
T
=
µ
1 0 1 0 1 1 0 1





1 1
0 0



 =
µ
1 0

,
он равен третьему столбцу проверочной матрицы H. Ему отвечает лидер смежного класса (0010), он же является искомым вектором ошибок, т. е.
x = y − (0010) = (1100) (0010) = (1110).
Отсюда делаем вывод, что было передано кодовое слово (1110).

2.3. Вероятность ошибки декодирования
25
Упражнение 17. Построить таблицу стандартного расположения для кода с проверочной матрицей


0 1 1 1 0 0 1 0 1 0 1 0 1 1 0 0 0 1


и декодировать два произвольных вектора, один непосредственно с помощью табли- цы стандартного расположения, другой вектор — с помощью таблицы синдромов.
2.3.
Вероятность ошибки декодирования
Определение. Вероятностью ошибки декодирования или вероятностью ошиб-
ки на слово P
ош для данной схемы декодирования называется вероятность появления некодового слова на выходе декодера.
Пусть дан линейный код длины n мощности M с кодовыми словами
{x
1
, . . . , x
M
},
где кодовые слова используются с равной вероятностью. Обозначим вероятность то- го, что на выходе декодера получено слово y 6= x
i
при переданном x
i
через
P (y 6= x
i
|x
i
).
Тогда
P
ош
=
1
M
M
X
i=1
P (y 6= x
i
|x
i
),
т. е. вероятность ошибки на слово равна средней вероятности неправильного декоди- рования.
При декодировании, использующем стандартное расположение, правильное деко- дирование имеем тогда и только тогда, когда вектор ошибок совпадает с лидером смежного класса. Иначе говоря, вероятность ошибки в этом случае равна
P
ош
= P {e 6= лидер смежного класса}.
Если имеем α
i
лидеров смежных классов веса i, i = 0, . . . , n, то вероятность правильного декодирования P
пр.дек.
равна
P
пр.дек.
=
n
X
i=0
α
i
p
i
(1 − p)
n−i
,
(2.1)
поскольку вероятность правильного декодирования кодового слова с некоторым век- тором ошибок v веса i равна
p
i
(1 − p)
n−i
(см. разд. 2.1.).
Так как стандартное расположение обеспечивает декодирование по максимуму правдоподобия, то любая другая схема будет иметь вероятность правильного деко- дирования меньше, чем (2.1), а следовательно, и вероятность ошибки произвольная

26
Глава 2.
Декодирование
схема декодирования будет иметь не меньше, чем вероятность ошибки при декоди- ровании, использующем стандартное расположение, поскольку
P
ош
= 1 − P
пр.дек.
= 1
n
X
i=0
α
i
p
i
(1 − p)
n−i
.
(2.2)
Для кода, приведенного выше, имеем α
0
= 1, α
1
= 3. Таким образом, при p =
1 100
получим
P
ош
= 1 (1 − p)
4
3p(1 − p)
3
= 0, 0103 . . . .
Рассмотрим линейный код с минимальным расстоянием d = 2t + 1. По теореме 3
он исправляет t ошибок и, следовательно, каждый вектор веса не больше t является лидером смежного класса, т. е.
α
i
= C
i
n
, 0 ≤ i ≤ t.
Если вероятность p ошибки в канале очень мала, то (1 − p) 1 и, следовательно,
p
i+1
(1 − p)
n−i−1
= o(p
i
(1 − p)
n−i
).
Отбрасывая в равенстве (2.2) все члены, начиная с i > t, получаем формулу,
аппроксимирующую формулу (2.2) достаточно точно:
P
ош
1
t
X
i=0
C
i
n
p
i
(1 − p)
n−i
.
(2.3)
Аналогично в случае кодового расстояния d = 2t + 2 получаем следующую ап- проксимацию формулы (2.2):
P
ош
1
t
X
i=0
C
i
n
p
i
(1 − p)
n−i
− α
t+1
p
t+1
(1 − p)
n−t−1
.
(2.4)
Если α
i
= 0 при i > t = b(d − 1)/2c, то формула (2.3) становится точной;
при i > t + 1 становится точной формула (2.4). В первом случае код называется
совершенным, во втором — квазисовершенным.
Геометрически это означает, что в первом случае имеем разбиение пространства
E
n
на непересекающиеся шары радиуса t (так как код может исправлять не больше,
чем t ошибок). Во втором случае, поскольку код исправляет все ошибки веса не больше t, некоторые ошибки веса t + 1 и не может исправлять ни одной ошибки веса больше, чем t + 1, имеем покрытие пространства E
n
шарами радиуса t + 1. При этом шары радиуса t + 1 могут пересекаться.
Более тонкой мерой качества декодирования является вероятность ошибки на
символ.
Пусть имеем линейный код мощности M = 2
k
с кодовыми словами x
1
, . . . , x
M
, где первые k символов x
i
1
, . . . , x
i
k
в каждом слове являются информационными. Пусть
y = (y
1
, . . . , y
n
) — слово на выходе декодера.
Определение. Вероятность ошибки на символ P
симв.
равна средней вероятности того, что после декодирования информационный символ является ошибочным:
P
симв.
=
1
kM
k
X
j=1
M
X
i=1
P {y
j
6= x
i
j
|x
i
было послано}.

2.3. Вероятность ошибки декодирования
27
Вернемся к декодированию стандартным расположением. Так как все сообще- ния и ошибки в любом символе независимы и равновероятны (т. е. рассматривается симметричный канал), то достаточно рассмотреть произвольный кодовый вектор
x = (x
1
, . . . , x
n
). Пусть получен вектор y, тогда
P
симв.
=
1
k
k
X
j=1
P {y
j
6= x
i
j
}.
Пусть f (e) — число неправильных информационных символов после декодирования при условии, что e — вектор ошибок, тогда
P
симв.
=
1
k
X
e
f (e)P {e}.
(2.5)
Рассмотрим наш пример: изучая таблицу стандартного расположения, приходим в выводу, что f (e) = 0 для всех векторов ошибок первого столбца, так как в первом столбце стоят лидеры смежных классов; f (e) = 1 для всех векторов ошибок как второго, так и третьего столбцов; f (e) = 2 для всех векторов четвертого столбца.
Отсюда по формуле (2.5) при p = 1/100 получаем
P
симв.
=
1 2
h
1 ·
¡
p
4
+ 3p
3
(1 − p) + 3p
2
(1 − p)
2
+ p(1 − p)
3
¢
+ 2 ·
¡
p
3
(1 − p) + 3p
2
(1 − p)
2
¢i
=
= 0,00530 . . . .

Глава 3
Теорема Шеннона
3.1.
Необходимые понятия
Рассмотрим двоичный симметричный канал связи. Пусть для каждого символа имеется вероятность 0 < p <
1 2
того, что при передаче его по каналу связи про- изойдет ошибка. Пусть C — двоичный код, содержащий M равновероятных кодовых слов x
1
, . . . , x
M
длины n, в котором каждое слово встречается с равной вероятно- стью. Напомним, что вероятностью ошибки на слово или вероятностью ошибки P
C
для данной схемы декодирования называется вероятность появления неправильного кодового слова на выходе декодера. Пусть P
i
— вероятность неправильного декоди- рования при условии, что передано кодовое слово x
i
. Тогда
P
C
:=
1
M
M
X
i=1
P
i
,
где P
i
зависит от вероятности p. Рассмотрим совокупность e
L всех двоичных кодов длины n мощности M и определим
P

(M, n, p) := min
C∈e
L
{P
C
}.
(3.1)
Определение. Функция энтропии H(x) определяется равенством
H(x) = −x log x − (1 − x) log(1 − x)
при 0 < x < 1, при x = 0 и x = 1 полагают H(0) = H(1) = 0.
Отметим, что log x здесь и далее рассматривается по основанию 2.
Определение. Пропускная способность двоичного симметричного канала с ве- роятностью 0 ≤ p ≤
1 2
равна
C(p) = 1 H(p) = 1 + p log p + (1 − p) log(1 − p).
Определение. Скоростью (n, M, d)-кода называется величина (log M)/n.
Теорема 11 (Шеннон К., 1948). Пусть R — любое число, удовлетворяющее
условию 0 < R < C(p), и пусть M
n
= 2
[n·R]
. Тогда
P

(M
n
, n, p) 0 при n → ∞.
28

3.2. Свойства энтропии
29
Теорему Шеннона можно переформулировать следующим образом: для любой сколь угодно малой величины ε > 0 и любого 0 < R < C(p) существует двоичный код
C длины n, мощности M и скорости R такой, что вероятность ошибки декодирования
P
C
< ε, где M определяется из соотношения R = (log M)/n.
Или, говоря неформально, для достаточно больших n существует хороший код длины n, со скоростью, сколь угодно близкой к пропускной способности канала связи.
Прежде чем доказать теорему, рассмотрим несколько важных свойств энтропии по Шеннону и приведем необходимые понятия и утверждения, которые будут ис- пользоваться в доказательстве теоремы Шеннона.
3.2.
Свойства энтропии
Рассмотрим бернуллиевский источник A: буквы входного алфавита a
i
, i = 1, . . . , k
появляются независимо с независимыми вероятностями p
i
, удовлетворяющими усло- вию
k
X
i=1
p
i
= 1.
Энтропия H(A) источника A по Шеннону определяется следующим образом:
H(A) =
k
X
i=1
p
i
log p
i
.
В определенной выше энтропии H(x) имеем два исхода с вероятностями p и 1 − p
соответственно.
Рассмотрим несколько важных свойств энтропии.
Утверждение 8. Справедливо H(A) 0. Энтропия неотрицательна и равна
нулю тогда и только тогда, когда одна из вероятностей равна единице, а остальные
равны нулю.
Доказательство. Действительно, из 0 ≤ p
i
1 имеем
1
p
i
1 и log
1
p
i
0, т. е.
log p
i
0, отсюда −p
i
log p
i
0. Поскольку, по определению, −p
i
log p
i
= 0 при
p
i
= 0, то для любого p
i
0 выполняется −p
i
log p
i
0 и, следовательно,
H(A) =
k
X
i=1
p
i
log p
i
0.
При H(A) = 0 каждое слагаемое равно нулю, а значит, либо p
i
= 0, либо log p
i
= 0,
т. е. p
i
= 1. Так как
P
k
i=1
p
i
= 1, то среди вероятностей p
i
принять значение 1 может лишь одна, остальные равны нулю. Таким образом, неопределенность события рав- на нулю тогда и только тогда, когда исход события заранее известен, в остальных случаях энтропия положительна.
N
Рассмотрим произвольную непрерывную выпуклую вверх функцию
1   2   3   4   5   6   7   8   9   ...   13


написать администратору сайта