Перейти к:
Повышение эффективности LDPC-декодирования при использовании дополнительной априорной информации
https://doi.org/10.38013/2542-0542-2021-2-90-95
Аннотация
В статье рассмотрено LDPC-декодирование с учетом информации пакетной синхронизации, имеющей, исходя из принципа формирования, более высокую достоверность по отношению к передаваемой информации, и оценена эффективность LDPC-кодирования с учетом дополнительной априорной информации, известной для используемой сигнально-кодовой конструкции.
Для цитирования:
Егоров И.В., Гайворонский Д.В. Повышение эффективности LDPC-декодирования при использовании дополнительной априорной информации. Вестник Концерна ВКО «Алмаз – Антей». 2021;(2):90-95. https://doi.org/10.38013/2542-0542-2021-2-90-95
For citation:
Egorov I.V., Gaivoronskiy D.V. Improving the efficiency of LDPC decoding when using additional a priory information. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2021;(2):90-95. https://doi.org/10.38013/2542-0542-2021-2-90-95
Введение
В 1948 году К. Шеннон [1] доказал, что ошибки приема, вызванные шумом канала, могут быть сведены к минимуму при использовании достаточно большой длины кодового слова (введением достаточной избыточности в передаваемые данные).
Коды LDPC (проверки четности с низкой плотностью) представляют собой семейство кодов с исправлением ошибок. Теория LDPCкодирования была разработана Р. Галлагером [2] в 60-х годах XX века, но сами коды широко не использовались почти два десятилетия. В 80-х годах прошлого века, при появлении вычислительных устройств достаточной производительности, подходы Р. Галлагера получили дальнейшее развитие [3].
Код LPDC – это код, матрица проверки на четность которого имеет низкую плотность [4], то есть количество единиц в матрице мало по сравнению с количеством нулей.
В настоящее время существует множество методик снижения битовой вероятности ошибок (BER) при фиксированном отношении Eb/N0 (соотношение энергии бита к спектральной плотности мощности шума) при декодировании LDPC: оценка Eb/N0 [5], дополнительные корректирующие оценки на шагах декодирования [6] и другие.
В статье рассматривается LDPC-декодирование с учетом информации пакетной синхронизации, имеющей, исходя из принципа формирования, более высокую достоверность по отношению к передаваемой информации и трактуемой как априорно известная.
Кодирование и декодирование LDPC
Кодирование и декодирование LDPC предполагает выбор размеров исходного блока данных (K), кодовой скорости (K/N, где N – размер кодированного блока данных) и порождающей матрицы H размером [M × N], где M = N – K.
Особенности порождающих матриц, их классификация, свойства и методы генерации рассматриваться не будут, отметим лишь, что для процедуры кодирования требуется матрица G размером [K × N], которую можно получить соответствующими преобразованиями из матрицы H [7]. В стандартах на каналы связи или способы помехоустойчивого кодирования обычно приводятся обе матрицы.
Матрица G представляет собой совокупность двух матриц: единичной матрицы I размером [K × K] и матрицы W размером [M × K].
Кодирование
Процедура кодирования выглядит следующим образом: исходный вектор данных транспонируется и умножается на матрицу G, затем в получившейся матрице значения в каждом столбце суммируются по требуемому модулю поля. Результирующий массив размером N – кодированный блок данных.
Пусть in – массив исходных данных, out – закодированное сообщение. Тогда алгоритм LDPC-кодирования выглядит следующим образом (1):
out(i) = Σj=1:M in( j) * G( j, i), (1)
где i = 1:N.
Декодирование
Для различных условий искажения данных и их детектирования разработаны различные, оптимальные с точки зрения вычислительных затрат и корректирующего эффекта типы декодирования: декодирование со стиранием, бит-инверсное декодирование, алгоритм сумм-произведений, алгоритм минимума-сумм, модифицированные алгоритмы минимума-сумм и т.д.
Первые два типа применяются при отсутствии дополнительной информации (оценка отношения Eb/N0, характеристики вероятностей символов и т.д.; предполагается, что ошибки в любом из принятых символов равновероятны) и наименее требовательны к вычислительным ресурсам. Применяются для каналов с относительно высоким отношением Eb/N0 [7]. Последние три типа предполагают (но не требуют) наличия дополнительной информации о данных.
Алгоритмы декодирования последних трех типов
Пусть r – входной массив данных в формате логарифмических коэффициентов правдоподобия (LLR), A(i) – индексы ненулевых ячеек матрицы H столбца i, B(j) – индексы ненулевых ячеек матрицы H строки j.
Алгоритм сумм-произведений выглядит следующим образом:
1. Подготовительный шаг (формирование матрицы M):
M( j, i) = r(i), (2)
где i ∈ B( j), j ∈ A(i).
2. Горизонтальный шаг (вычисление матрицы E):
(3)
где i ∈ B( j), j ∈ A(i).
3. Вертикальный шаг (вычисление вектора L и вектора z):
L(n) = r(n) + Σ i ∈ B( j), j ∈ A(i) E( j, i), (4)
(5)
где n = 1:N.
4. Проверка завершения декодирования: если
H * zT = 0H * zT = 0, (6)
то декодирование закончено.
5. Переход на следующую итерацию (формирование матрицы M):
M( j, i) = r(n) + Σ j'∈ A(i), j'≠ j E( j', i), (7)
где n = 1:N, i ∈ B( j), j ∈ A(i).
Шаги со 2-го по 5-й называются итерацией декодирования и повторяются необходимое количество раз. Потенциально количество итераций увеличивает вероятность правильного декодирования данных. Если в качестве выходного массива использовать массив z – то декодер будет с жестким выходом, если L – то с мягким.
Следует отметить, что шаг проверки завершения (6) может использоваться не на каждой итерации или не использоваться совсем, то есть декодер может работать в режиме с фиксированным количеством итераций.
Алгоритм минимума-сумм повторяет описанный алгоритм, за исключением горизонтального шага (вместо выражения (3) нужно использовать выражение (8)):
(8)
где i ∈ B( j), j ∈ A(i).
Модифицированные алгоритмы минимума-сумм отличаются наличием корректирующих коэффициентов на различных шагах, которые зависят от оценки Eb/N0, оценки мощности сигнала и т.п.
Формирование и обработка информационного пакета
Для пояснения предлагаемой методики необходимо кратко рассмотреть используемую сигнально-кодовую конструкцию. На рисунке 1 представлена структурная схема приемопередатчика.
Рис. 1. Структурная схема приемопередатчика
Исходные данные на передатчике представляют собой массив размером 224 бита. В массив добавляются биты пакетной синхронизации следующим образом: между каждыми семью битами данных вставляется соответствующий по индексу бит 31-элементной псевдослучайной М-последовательности (ПСПс).
[ Данные [0..6]] [ПСПс [0]] [Данные [7:13]] [ПСПс [1] ]...
В результате получается массив данных размером 255 бит, который дополняется одним зарезервированным битом. Получившийся массив поступает на блок LDPC-кодера с кодовой скоростью 1/2. В выходном пакете размером 512 бит контрольные биты размещаются в первой половине пакета, а биты данных – во второй.
Пакет поступает на блок расширения спектра псевдослучайной последовательностью, который по значению соответствующего бита, равному 0, формирует 31-элементную псевдослучайную м-последовательность (ПСП0) при значении 1 – ПСП1.
Следующим звеном выступает ФМ-2 модулятор, затем сигнал излучается в пространство.
На приемной стороне после антенно-фидерного устройства расположен квадратурный демодулятор, выходом которого являются сигналы Ic(t) и Qc(t).
Сигналы Ic(t) и Qc(t) поступают на четыре параллельно расположенных коррелятора: коррелятор ПСП0 для Ic(t) с выходом Ic0(t), ПСП0 для Qc(t) с выходом Qc0(t), ПСП1 для Ic(t) с выходом Ic1(t) и ПСП1 для Qc(t) с выходом Qc1(t).
На следующем шаге рассчитываются магнитуды по псевдоканалам нуля (MAG0 (t)) (9) и единицы (MAG1 (t)) (10), а также синхросигнал (SYNC(t)) как их сумма (11):
MAG0 (t) = I2c0(t) + Q2c0(t), (9)
MAG1 (t) = I2c1(t) + Q2c1(t), (10)
SYNC(t) = MAG0 (t) + MAG1 (t). (11)
Следующий блок обработки – предварительный синхронизатор, который, используя сигнал SYNC(t) и обладая информацией о частоте следования данных, занимается поиском приблизительного интервала по критериям максимума сигнала SYNC(t) на известном интервале (длительность ПСП0 или ПСП1), а также по критерию регулярности следования этих максимумов. Вне зависимости от качества синхронизации на текущий момент синхронизатор в моменты максимума сигнала SYNC(t) выставляет сигнал валидности для сигналов MAG0 (t) и MAG1 (t).
По сигналам MAG0 (t) и MAG1 (t) рассчитывается сигнал LLRs(t) (12), который затем поступает на блок пакетной синхронизации.
LLRs(t) = log(MAG0 (t)) – log(MAG1 (t)). (12)
Блок пакетной синхронизации имеет память глубиной 512 ячеек для хранения входных LLR. При поступлении каждого нового отчета сигнала LLRs(t) данные записываются в конец памяти, при этом все находящиеся в памяти данные сдвигаются на одну ячейку, отсчет из младшей ячейки выбрасывается. Для текущего состояния памяти выполняется проверка на соответствие момента времени окончания приема пакета с использованием коррелятора ПСПc (анализируются соответствующие биты предполагаемого пакета). Критерием детектирования пакета является превышение пиком корреляции ПСПc порога, рассчитываемого по предыдущим пикам.
В случае успешного детектирования пакета в места расположения битов пакетной синхронизации пакета выставляются максимальные значения LLR, соответствующие битам ПСПc. Таким образом, знание на приемнике ПСПc используется в качестве априорной информации.
Принятый пакет поступает на обработку в LDPC-декодер, работающий по алгоритму минимума-сумм с шагом проверки завершения, описанным выше. В качестве матриц H и соответствующей ей матрицы G для процедуры кодирования/декодирования используются матрицы из экспериментального стандарта CCSDS 231.0-O-x.x для системы космической связи [8].
Оценка эффективности LDPC-декодирования
Оценка эффективности LDPC-декодирования проводилась методом моделирования в среде Matlab.
На рисунке 2 представлена зависимость BER от Eb/N0, на рисунке 3 – зависимость требуемого количества итераций для полного восстановления (если это возможно) от Eb/N0 (максимальное количество итераций – 50). В качестве канала используется канал с аддитивным белым гауссовским шумом. Размер выборки случайных данных – 10e5 бит для каждого значения Eb/N0.
В первом случае (синяя пунктирная линия на рисунках 2 и 3) значение LLR в местах расположения битов пакетной синхронизации не изменялись, во втором (красная линия на рисунках 2 и 3) — изменялись по описанному выше алгоритму.
Из результатов моделирования следует, что корректировка LLR битов пакетной синхронизации, с учетом априорного знания их значений (ПСПc), позволяет уменьшить количество итераций (до 1,5 раз) при декодировании и BER (до 7 раз) для диапазона Eb/N0 от –2,6 до 0 дБ.
Вывод
Предложенная методика корректировки LLR битов, основанная на априорном знании бит пакетной синхронизации для представленной сигнально-кодовой конструкции, позволяет повысить эффективность LDPCдекодирования (количество итераций для достижения аналогичного BER до 1,5 раза меньше; BER до 7 раз меньше для одинакового количества итераций).
Список литературы
1. Shannon C. A mathematical theory of communication. The Bell System Technical Journal. Vol. 27. Issue 3. July 1948, P. 379 –423.
2. Gallager R. Low-density parity-check codes. IRE Transactions on information theory. 1962. № 8(1). P. 21–28.
3. Tanner R. A recursive approach to low complexity codes. IEEE transactions on information theory. 1981. № 27(5). P. 533–547.
4. Kou Y., Lin S., Fossorier M.P. Low-density parity-check codes based on finite geometries: a rediscovery and new results. IEEE Transactions on Information theory. 2001. № 47(7). P. 2711–2736.
5. Mohammad R.I., Dewan S.S., MuhammadM.A.F., Imran R. Optimized Min-Sum Decoding Algorithm for Low Density Parity Check Codes Dept. International Journal of Advanced Computer Science and Applications. 2011. Vol. 2. № 12. P. 172–174.
6. Amir H., Djahanshahi A.H. Optimizing and Decoding LDPC codes with Graph-Based Techniques. A dissertation submitted in partial satisfaction of the requirements for the degree. 2010. P. 16–80.
7. Johnson S. Introducing Low-Density ParityCheck Codes. University of Newcastle. May 2010, P. 8–9.
8. Short Blocklength LDPC Codes For Tc Synchronization And Channel Coding, CCSDS 231.0-O-x.x, 2012. P. 15–16.
Об авторах
И. В. ЕгоровРоссия
Егоров Иван Викторович – ассистент кафедры радиотехнических систем.
Область научных интересов: сверхширокополосная радиолокация и связь.
Санкт-Петербург
Д. В. Гайворонский
Россия
Гайворонский Дмитрий Вячеславович – кандидат технических наук, доцент, заместитель декана факультета радиотехники и телекоммуникаций по научной работе, доцент кафедры радиотехнических систем.
Область научных интересов: сверхширокополосная радиолокация и связь.
Санкт-Петербург
Рецензия
Для цитирования:
Егоров И.В., Гайворонский Д.В. Повышение эффективности LDPC-декодирования при использовании дополнительной априорной информации. Вестник Концерна ВКО «Алмаз – Антей». 2021;(2):90-95. https://doi.org/10.38013/2542-0542-2021-2-90-95
For citation:
Egorov I.V., Gaivoronskiy D.V. Improving the efficiency of LDPC decoding when using additional a priory information. Journal of «Almaz – Antey» Air and Space Defence Corporation. 2021;(2):90-95. https://doi.org/10.38013/2542-0542-2021-2-90-95