лекции / ОПК
.pdf
pm
|
r |
mk |
( ) |
|
|
|
|
|
|
|
|
δqmn’ |
ck |
|
|
|
|
|
|
|
|
|
|
Рис. 27. Вычисление rmk |
|
|
|||
Для вычисления сообщения r |
находится набор ребер |
N m \ k |
двухстороннего |
||
mk |
|
|
|
|
|
графа, входящих в узел pm , при этом исключается ребро, соединяющее битовый узел ck
с проверочным узлом pm . Далее согласно выражениям (3.3.14) и (3.13.15) производится вычисление сообщения rmk от проверочного узла pm к битовому узлу ck . pm
r |
|
qmk( ) |
mk |
( ) |
|
|
|
ck 
rk Рис. 28 Вычисление qmk
Аналогичным способом выполняется второй этап вычисления выражений (3.3.11) и
(3.3.12), соответствующий вычислению сообщений от битовых узлов к проверочным (см.
Рис. 28). При этом учитывается априорная информация P rk | ck кодового бита ck ,
полученная на основе принятого символа rk .
Псевдокод алгоритма декодирования кодов с малой плотностью проверки на четность приведен ниже:
51
Инициализация
Переменная qmn инициализируются следующим образом
|
|
1 |
|
|
|
|
|
|
|
2 |
|
|
|||
|
|
|
|
|
|
|
|
|
rk 1 |
|
|||||
|
|
|
|
|
|
|
|
|
|
exp |
|
|
|
, |
ck 0 |
|
|
|
|
|
|
|
|
2 |
|||||||
|
|
|
|
|
|||||||||||
|
|
2 |
2 |
|
|
|
|
|
2 |
|
|
||||
qmk fk |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
(Ошибка! Текст |
|||||||
|
|
1 |
|
|
|
|
|
|
rk 1 2 |
|
|||||
|
|
|
|
|
|
|
|
|
|
exp |
|
|
|
, |
ck 1 |
|
|
|
|
|
|
|
|
|
2 |
||||||
|
|
|
|
|
|
|
|||||||||
|
|
2 2 |
|
|
|
|
|
2 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|||||
указанного стиля в документе отсутствует..102)
Вычисление сообщений проверочных узлов
Для каждого ребра исходящего из проверочного узла с индексом m M (k)
вычисляется сообщение
rmk |
|
qmi ' , |
(Ошибка! Текст указанного |
|
|
i' N m \ k |
|
|
|
|
стиля в документе отсутствует..103) |
где rmk 0 12 1 rmk , rmk 1 12 1 rmk .
Вычисление сообщений битовых узлов |
|
|
Для каждого ребра, исходящего из битового |
узла с индексом k 0,..., n 1 , |
|
вычисляется внешнее сообщение, исключающее информацию проверочного узла m |
||
qmk 0 mk fk 0 |
rm'k 0 |
(Ошибка! Текст |
m' M k \ m |
|
|
|
указанного стиля в документе отсутствует..104) |
|
qmk 1 mk fk 1 |
rm'k 1 |
(Ошибка! Текст |
m' M k \ m |
|
|
|
указанного стиля в документе отсутствует..105) |
|
Постоянные нормировки mk |
и mk выбираются таким образом, чтобы выполнялось |
|
условие нормировки вероятности qmk 0 qmk 1 1. |
|
|
Вычисление выражений проверки на четность
Для каждого элемента кодовой последовательности с индексом k 0,..., n 1
вычисляется полная вероятность
52
qk 0 k fk 0 |
rm'k 0 |
(Ошибка! Текст указанного |
m' M k |
|
|
|
|
стиля в документе отсутствует..106) |
qk 1 k fk 1 |
rm'k 1 . |
(Ошибка! Текст указанного |
m' M k |
|
|
стиля в документе отсутствует..107)
Постоянные нормировки k и k выбираются таким образом, чтобы выполнялось условие нормировки вероятности qk 0 qk 1 1. На основе вероятностей кодовых узлов
вычисляются решения
|
|
|
0 1/ 2 |
|
0, |
q |
k |
|
|
ck |
|
1 1/ 2 |
(Ошибка! Текст указанного |
|
|
|
|||
1, |
q |
k |
|
|
|
|
|
|
|
|
|
|
|
стиля в документе отсутствует..108) |
Если проверка на четность c HT 0 не выполняется, и число итераций не превысило максимального значения, процедура декодирования повторяется.
Заметим, что при вычислении сообщений для ребер исходящих из битовых и проверочных узлов исключается информация соответствующего ребра. Таким образом, на каждой итерации вычисляется только внешняя информация, которая передается далее по графу. При этом для вычисления выражений проверки на четность учитывается полная
информация. Можно показать, что если в графе отсутствуют замкнутые циклы, то приведенный выше алгоритм осуществляет оценку, обеспечивающую максимум апостериорной вероятности для каждого кодового бита. Однако для двухстороннего графа с обхватом информация возвращается к началу цикла на итерации и алгоритм в общем случае не является оптимальным. Не смотря на это, результаты моделирования практических схем показали, что эффективность алгоритма декодирования кодов остается достаточно высокой при использовании кодов с обхватом 6 или более.
Основным недостатком полученного итеративного алгоритма декодирования является вычислительная неустойчивость, связанная с наличием большого числа умножений. На практике предпочтительным является реализация алгоритма декодирования на основе операций сложения. Для этого декодирование необходимо проводить в области логарифма вероятности. Тогда вычислительно-емкие операции умножения и деления заменяются относительно простыми операциями сложения и деления. Для упрощения процедуры декодирования будем использовать следующее выражение для произведения множителей
53
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
exp( log |
|
) , |
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
ai |
|
|
sign(ai ) |
|
ai |
|
|
|
|
|
(Ошибка! Текст |
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
i |
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
указанного стиля в документе отсутствует..109) |
|||||||||||||||||||||
Введем функцию |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
x |
|
|
exp x 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
tanh |
|
|
|
|
|
|
|
, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(Ошибка! Текст указанного стиля в |
|||||||||||
|
exp x 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
документе отсутствует..110) |
|||||||
и получим равенство для логарифма отношения апостериорной вероятности |
|
|
|
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
p rk | ck |
0 |
|
|
|
|
|
|
1 |
|
qmn' 0 qmn' 1 |
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n' N m \ k |
|
|
|
|
||||||||||||||
|
|
|
|
L c |
|
| r log |
|
|
|
|
|
|
|
|
|
log |
|
|
|
|
|
|
|
|
|
|
|
. |
||||||||||
|
|
|
|
k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
qmn' 0 qmn' 1 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
p rk | ck 1 |
|
|
|
|
m M (k ) 1 |
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n' N m \ k |
|
|
|
|
|||
|
|
|
|
|
|
(Ошибка! Текст указанного стиля в документе отсутствует..111) |
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
||
Используя определения q |
|
q |
|
|
0 q |
|
1 |
и LLR q |
|
log |
qmn' |
, простая |
||||||||||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
mn' |
|
|
|
mn' |
|
|
mn' |
|
|
|
|
|
|
|
|
mn' |
q |
1 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mn' |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
LLR |
q |
mn' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
подстановка дает |
q |
|
|
tanh |
|
|
|
|
|
|
|
|
|
. Тогда равенство (3.3.25) можно представить в |
||||||||||||||||||||||||
mn' |
|
|
2 |
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
следующем виде |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
L ck | r 2 |
rk |
|
|
|
|
log |
|
1 smk exp Amk |
|
, |
|
|
|
|
(Ошибка! Текст |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
k |
1 smk exp Amk |
|
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
|
2 |
m M |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
указанного стиля в документе отсутствует..112) |
|||||||||||||||||||||
где коэффициенты smk |
|
и Amk |
|
определяются как |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
smk |
|
sign qmn' |
|
sign LLR qmn' , |
|
(Ошибка! Текст |
||||||||||||||||||||||||||||||
|
|
|
|
|
n' N m \ k |
|
|
|
|
|
|
|
|
|
n' N m \ k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
указанного стиля в документе отсутствует..113) |
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
LLR q |
mn' |
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
Amk |
|
|
|
|
|
log |
tanh |
|
|
|
|
|
|
|
|
. |
|
|
|
(Ошибка! Текст |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
n' N m \ k |
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
указанного стиля в документе отсутствует..114)
Легко видеть, что коэффициент smk содержит информацию о знаке сообщения, т.е. «жестком» решении, а коэффициент Amk об абсолютном значении сообщения, т.е.
надежности этого решения.
Равенство (3.3.26) можно упростить
54
L ck | r 2 |
rk |
|
|
|
|
|
Amk |
|
|
|
|
|
|
tanh |
|
|
(Ошибка! Текст |
||
|
|
|
|||||||
2 |
k |
smk log |
|
. |
|||||
|
|
m M |
|
|
2 |
|
|||
|
|
|
указанного стиля в документе отсутствует..115) |
||||
|
|
x |
|
|
|
|
|
|
|
|
|||||
Вводя обозначение x log |
|
tanh |
|
|
|
|
, получим |
|
|||||||
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
||||
|
L ck | r 2 |
rk |
|
|
smk Amk , |
|
|
(Ошибка! Текст |
||||||||
|
2 |
|
|
|||||||||||||
|
|
|
|
|
|
|
m M k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
указанного стиля в документе отсутствует..116) |
|||||||
|
|
|
|
|
|
|
LLR qmn' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
где A |
|
log |
|
tanh |
|
|
|
LLR q |
|
. |
График функции x |
|||||
|
|
|
|
|||||||||||||
mk |
|
|
|
|
|
|
2 |
|
|
|
|
|
mn' |
|
|
|
|
n' N m \ k |
|
|
|
|
|
|
|
|
|
|
n' N m \ k |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
представлен на Рис. 29.
(x)
6
5
4
3
2
1
00 |
1 |
2 |
3 |
4 |
5 |
6 |
|
|
|
x |
|
|
|
Рис. 29. График функции x для x 0
Отметим, что функция x является обратной, т.е. 1 x x для x 0.
Псевдокод алгоритма декодирования кодов с малой плотностью проверки на четность в области логарифма вероятности можно записать следующим образом:
Инициализация
Переменная LLR qmk инициализируются следующим образом
55
|
|
|
|
|
|
0 |
|
|
2rk |
|
|
|
|
||
|
LLR q |
|
log |
qmk |
|
|
|
|
|
(Ошибка! Текст |
|||||
|
|
|
1 |
2 |
|
|
|||||||||
|
|
|
mk |
|
q |
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mk |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
указанного стиля в документе отсутствует..117) |
||||||
Вычисление сообщений проверочных узлов |
|
|
|
||||||||||||
Для |
каждого |
ребра |
исходящего |
из |
проверочного узла |
с |
индексом m M (k) |
||||||||
вычисляется сообщение Rmk smk Amk , где Amk |
LLR qmn' . |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
n' N m \ k |
|
|
|
Вычисление сообщений битовых узлов |
|
|
|
|
|
||||||||||
Для |
каждого |
ребра |
исходящего |
из |
битового |
узла с |
индексом k 0,..., n 1 |
||||||||
вычисляется сообщение, |
LLR qmk LLR qk Rmk , где LLR qk |
Rmk . |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m M k |
|
Вычисление выражений проверки на четность
Для каждого элемента кодовой последовательности с индексом k 0,..., n 1 с
помощью LLR qk вычисляется «жесткое» решение
|
|
0 |
|
0, LLR q |
|
||
ck 1, LLR q k 0 . |
(Ошибка! Текст указанного стиля в |
||
|
k |
|
|
|
|
|
|
документе отсутствует..118)
Если проверка на четность c HT 0 не выполняется, и число итераций не превысило максимального значения, процедура декодирования повторяется.
Заметим, что алгоритм на основе логарифма вероятности является вычислительно устойчивым по сравнению с алгоритмом декодирования в области вероятности. Стоит также отметить, что для декодирования принятой последовательности требуется информация о мощности аддитивного шума 2 .
Упрощение алгоритма декодирования кодов с малой плотностью проверки на четность возможно при использовании различных аппроксимаций функции .
Например, используя простейшую аппроксимацию
56
|
x |
|
min x |
|
||
|
|
(Ошибка! Текст указанного стиля в |
||||
|
|
i |
|
i |
i |
|
|
i |
|
|
|
|
|
документе отсутствует..119)
можно получить следующее упрощение выражения (3.3.30)
L сk | r 2 |
rk |
|
|
smk |
min LLR qmn' . |
(Ошибка! Текст |
|
2 |
|||||||
|
|
m M |
k |
n' N m \ k |
|
указанного стиля в документе отсутствует..120)
Вэтом случае сообщение исходящее из проверочного соответствует входящему ребру
сминимальным значением LLR qmn' . Поскольку вычисление функции min можно
проводить с точностью до постоянного множителя, постоянный множитель мощности шума 2 можно опустить при инициализации LLR qmk . Это дает дополнительное
упрощение алгоритма декодирования кодов с малой плотностью проверки на четность,
т.к. не требует оценки 2 на приемнике.
3.4. Методы эффективного кодирования кодов с малой плотностью проверки на
четность
В этом разделе рассматривается вычислительно эффективный алгоритм кодирования кодов с малой плотностью проверки на четность. Сокращение сложности кодирования достигается за счет использования разреженности проверочной матрицы кода. Пусть
проверочная матрица кода размерности m n задается матрицей H. |
По определению |
|
линейного блокового кода, |
любая кодовая последовательность |
с удовлетворяет |
следующему равенству |
|
|
HсT 0 . |
(Ошибка! Текст указанного стиля в |
|
|
документе отсутствует..121) |
|
На первом этапе с помощью алгоритма последовательного исключения система уравнений приводится к равносильной системе с проверочной матрицей треугольного вида, представленной на Рис. 30.
57
n-m
m
1
1 1
0
m
1 1
1 1 1
n
Рис. 30 Эквивалентная проверочная матрица кода треугольного вида
Пусть |
кодовая |
последовательность |
задается объединением |
систематического |
|||
u u0 ,u1,...,uk 1 и |
проверочного |
p p0 , p1,..., pn k 1 |
векторов |
– с s,p . Тогда |
|||
проверочная |
последовательность p |
длины |
m n k |
бит может |
быть получена из |
||
уравнения (3.4.2) последовательно с помощью метода обратной подстановки |
|||||||
|
|
k 1 |
l 1 |
|
|
|
|
|
pl Hl , ju j Hl, j k p j |
|
|
(Ошибка! Текст |
|||
|
|
j 0 |
j 0 |
|
|
|
|
указанного стиля в документе отсутствует..122)
Сложность процедуры кодирования, главным образом определяется преобразованием проверочной матрицы к треугольному виду, что требует порядка O n3 операций и обратной подстановкой для получения проверочных бит, что требует порядка O n2
операций. Поскольку после преобразования проверочной матрицы к треугольному виду,
эквивалентная матрица в общем случае не является разреженной, фактическое число требуемых операций для кодирования может быть значительным.
Рассмотрим другой подход кодирования использующий разреженность проверочной матрицы кода. Предположим, что проверочную матрицу с помощью элементарных операций перестановки столбцов и строк можно привести к следующему виду
A |
B |
T |
, |
(Ошибка! Текст указанного |
H |
|
|
||
C |
D |
E |
|
|
|
|
|
|
стиля в документе отсутствует..123) |
где размеры матриц A, B, |
T, C, D и E равны m g n m, m g g , m g m g , |
|||
g n m , g g и m g g соответственно (см. Рис. 31).
58
n-m |
g |
m-g |
|
|
1 1 |
1 1 1 |
0 |
A |
B |
m-g |
|
m |
T |
|
1 |
|
|
||
C |
D |
E |
g |
|
|||
|
n |
|
|
Рис. 31 Эквивалентная проверочная матрица кода приблизительно треугольного вида |
|||
Умножая матрицу H слева на матрицу
|
I |
|
0 |
, |
|
|
|
|
|
|
(Ошибка! Текст указанного стиля в |
|
|
1 |
|
|
|
|
|
|
|
||
ET |
|
I |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
документе отсутствует..124) |
можно получить |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
A |
|
B |
T |
|
||
|
|
|
|
|
1 |
A C |
ET |
1 |
|
. |
(Ошибка! Текст |
|
|
ET |
|
B D 0 |
|
|
|||||
указанного стиля в документе отсутствует..125)
Пусть с s,p1,p2 кодовая последовательность состоящая из систематической части
s и двух проверочных частей p1 и p2 длиной g и m g |
соответственно. Тогда из |
||
равенств (3.4.1) и (3.4.5) можно получить систему из двух уравнений |
|||
AsT BpT |
TpT |
0 |
|
1 |
2 |
. |
(Ошибка! Текст |
|
|
||
ET 1A C sT ET 1B D pT 0 |
|
||
|
|
1 |
|
указанного стиля в документе отсутствует..126)
Пусть Φ ET 1B D является невырожденной, тогда из выражения (3.4.6) можно получить первую проверочную последовательность
59
|
pT Φ 1 ET 1A C sT . |
(Ошибка! Текст указанного |
|
1 |
|
|
|
стиля в документе отсутствует..127) |
Поскольку матрица Φ 1 ET 1A C |
может быть вычислена заранее, значение |
|
вектора pT |
может быть получено с помощью O g k операций. |
|
1 |
|
|
Сложность вычисления p1T можно сократить с помощью поэтапного вычисления
вектора p1T . На первом этапе данного метода вычисляется произведение AsT , требующее
O n операций в силу разрежѐнности матрицы A . На втором этапе, полученный вектор
умножают на матрицу T 1 . Поскольку T треугольная матрица и T 1AsT yT
эквивалентно решению системы уравнений AsT TyT , вектор yT может быть получен с помощью обратной подстановки с помощью O n операций. Произведение CsT может быть также получено за O n операций в силу разрежѐнности матрицы С . На последнем этапе вычисляется произведение Φ 1 ET 1AsT CsT , что требует порядка O g 2
операций из-за общего (не разреженного) вида матрицы Φ 1 . Таким образом. Общее
число операций требуемых для вычисления |
pT |
равно O n g 2 . Аналогичным образом |
||
|
|
|
1 |
|
можно получить значения второго проверочного вектора p2 с помощью выражения |
||||
pT |
1 |
, |
|
(Ошибка! Текст указанного |
T 1 AsT BpT |
|
|||
2 |
1 |
|
|
|
стиля в документе отсутствует..128)
требующее порядка O n операций.
60
