(4.3.12)
где
![]()
Рассмотрим проверочный узел на рисунке 4.3.2, чтобы вычислить общее выходное сообщение. Каждый проверочный узел выполняет следующие вычисления:
(4.3.13)
-где mcj является j-тым выходным сообщением и mci это i-тое входное сообщение приходящее от узлов переменных. Как и в случае узла переменных, сообщение приходящее от j-ого ребра не используется для вычисления исходящего сообщения в j-том ребре. Сообщения могут быть интерпретированы как LLR битов связанных с узлами переменных по направлению из которых сообщение направляется. В конце процесса декодирования, каждый узел переменных вычисляет выходное значение надежности следующим образом:
, (4.3.16)
где dv - степень узла.
Иными словами, выходное значение надежности бит кодового слова является суммой всех сообщений, направленных на соответствующий узел переменных. Из (3.3.1), LLR, относительно двоичной случайной величины, может быть непосредственно использована для вычисления MAP (максимума апостериорной вероятности) оценки случайной величины. В самом деле, если знак LLRs положительный, вероятность того, что случайная величина равна 0 больше, чем вероятность того, что случайная величина равна 1. И наоборот, если знак LLRs отрицательный, вероятность случайной величины быть равной 0 меньше, чем вероятность случайной величины быть равной 1.
Таким образом, знаки LLRs в (4.3.5) необходимые для принятия решения о битах кодового слова. Подводя итог, алгоритм декодирования Галлагера C включает в себя следующие шаги:
1. Вычисление всех значений для надежности символов в кодовом слове. Эти значения соответствуют, для каждого узла переменных, значению m0 на рисунке 4.3.2.
2. Установить равным 0 все сообщения, приходящие из проверочных узлов.
3. Вычислить выходные сообщения переменных узлов с помощью (3.1.3).
4. Передача сообщений на проверочные узлы.
5. Вычислить сообщения проверочных узлов, используя (4.3.4).
6. Передача сообщений на переменные узлы.
7. Проверка того, что выполнен критерий остановки декодирования, описанный в следующем пункте. Если нет, переход к шагу 2.
8. Вычислить конечные значения надежности, используя (4.3.5).
Критерий остановки декодирования может быть основан на нескольких возможных событиях. Два самых общих это:
- Декодируемые символы формируют действительное кодовое слово (выполняются все проверки)
- Достигается заданное число итераций.
Было обнаружено, что алгоритм Галлагера С обладает интересным свойством – он показывает очень малую вероятность необнаружения ошибочного результата декодирования, т. е. когда процесс декодирования не удается, декодер фиксирует случай необнаружения ошибки. В действительности, в отличии от турбо-кодов, алгоритм BP для LDPC кодов оперирует битами кодового слова, а не информационными битами. Это легко заметить при наблюдении, информационные биты и биты проверок обрабатываются одинаковым способом. Кажется очевидным, что всегда, когда возникает ошибка декодирования, получаемая последовательность бит не является кодовым словом, в том смысле, что обычно не выполняется соотношение (4.2).
В описанном выше алгоритме структура передачи сообщений жестко фиксирована – сначала свои сообщения формирует каждый узел переменных, затем эти сообщения посылаются узлам проверок, которые в свою очередь вычисляют сообщения для своих выходов. Все полученные сообщения затем передаются обратно узлам переменных. Эта схема оптимальна при применении древовидных двудольных графов, т. е. графов без циклов. Если граф имеет циклы, то алгоритм становится подоптимальным и может иметь смысл в адаптации другой схемы планирования вычислений. Другая мотивация для использования других принципов планирования вычислений, в отличие от алгоритма Галлагера, это улучшение вычислительной и реализационной эффективности схем, реализующих алгоритм LDPC.
5 FEC кодирование
Данная подсистема должна осуществлять внешнее кодирование (BCH), внутреннее кодирование (LDPC) и битовое перемежение. Входной поток должен состоять из BBFRAME кадров, а выходной — из FECFRAME кадров.
Каждый BBFRAME кадр (Kbch бит) должен быть обработан подсистемой FEC кодирования для формирования FECFRAME кадра (Nldpc бит). Биты проверки на четность (BCHFEC) внешнего систематического BCH кода должны быть добавлены после BBFRAME кадра, а биты проверки на четность (LDPCFEC) внутреннего LDPC кодера должны быть добавлены после поля BCHFEC, как показано на рисунке 5.1.

Рисунок 5.1 — Формат данных перед битовым перемежением
(Nldpc = 64 800 бит для стандартного FECFRAME кадра, Nldpc = 16 200 бит для короткого FECFRAME кадра) [4]
Внешнее кодирование (BCH)
Исправляющее BCH кодирование (Nbch, Kbch) должно быть применено к каждому BBFRAME кадру для формирования пакета, защищенного от ошибок.
Биты немодулированного кадра формируют биты сообщения M = (mKbch– 1, mKbch– 2, ..., m1, m0) для BCH кодирования, где mKbch– 1 — первый бит заголовка BBHEADER, m0 — последний бит BBFRAME кадра (или поля заполнения, при его наличии).
Внутреннее кодирование (LDPC)
LDPC кодер обрабатывает выходные данные внешнего кодирования, I = (i0, i1,..., iKldpc– 1), как информационный блок размером Kldpc = Nbch, и осуществляет систематическое кодирование его в кодовое слово Λ размером Nldpc.
Таблица 5.1 - Параметры кодирования (для нормального FEC-кадра (Nldpc =64800 битов))
Относительная скорость кодирования LDPC | Размер блока данных до кодирования BCH, Kbch | Размер блока данных после кодирования BCH, Nbch, размер блока до кодирования LDPC, Kldpc | Количество исправляемых кодом BCH ошибок | Размер блока проверочных битов после кодирования кодом BCH, Nbch-Kbch | Размер блока данных после кодирования LDPC,Nldpc |
1/2 | 32 208 | 32 400 | 12 | 192 | 64 800 |
3/5 | 38 688 | 38 880 | 12 | 192 | 64 800 |
2/3 | 43 040 | 43 200 | 10 | 160 | 64 800 |
3/4 | 48 408 | 48 600 | 12 | 192 | 64 800 |
4/5 | 51 648 | 51 840 | 12 | 192 | 64 800 |
5/6 | 53 840 | 54 000 | 10 | 160 | 64 800 |
Cкорость кодирования LDPC как для короткого (Nldpc=16 200 битов), так и для нормального (Nldpc=64 800 битов) FEC-кадра определяется отношением Kldpc/Nldpc. Скорость кодирования LDPC для нормального FEC-кадра определяется значениями, указанными в колонке «относительная скорость кодирования LDPC» в Таблице 5.1. Скорость кодирования LDPC для короткого FEC-кадра определяется значениями, указанными в колонке «эффективная скорость кодирования LDPC» в Таблице 5.1. Т. е. для короткого FEC-кадра идентификатор относительной скорости кодирования LDPC не равен эффективной скорости кодирования LDPC.
5.1 Внутреннее кодирование (LDPC)
Кодер LDPC обрабатывает кодовое слово
длиной Nbch=Kldpc, полученное на выходе кодера BCH, как блок информационных битов, в результате чего формируется кодовое слово λ длиной Nldpc битов:
, (5.1)
Параметры кода LDPC (Nldpc, Kldpc) приведены в Таблицах 7(а) и 7(б).
5.2 Внутреннее кодирование для нормальногоFEC-кадра
Задачей внутреннего кодера является определение Nldpc-Kldpc битов контроля четности
для каждого блока длиной Kldpc информационных битов
. Алгоритм определения битов контроля четности следующий:
а) присвоение начальных значений битам контроля четности
;
б) первый информационный бит i0 суммируется по модулю 2 со всеми битами контроля четности, номера которых определены в первой строке в 1 – А.6. Например, для относительной скорости кодирования 2/3 (см. 3), (все сложения в поле Галуа GF(2)):

в) для следующих 359 информационных битов (im, m=1,2,…,359) номера битов контроля четности определяются в соответствии с формулой:
,
где
– номер бита контроля четности, соответствующего первому информационному биту;
Qldpc – постоянная величина, которая зависит от относиельной скорости кодирования LDPC, Таблица 5.2.
Например, для относительной скорости кодирования 2/3 Qldpc=60, тогда для информационного бита i1 производятся следующие операции сложения по модулю 2:

г) 361-й информационный бит i360 суммируется по модулю 2 со всеми битами контроля четности, номера которых определены во второй строке в
1 – А.6. В соответствии с формулой (5), где x - номер бита контроля четности, соответствующий первому информационному биту i360. Таким образом определяются номера битов контроля четности для следующих 359 информационных битов (im, m=361,362,…,719).
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 |


