Выбор параметров LDPC-кодов для каналов с аддитивным белым гауссовским шумом

УДК 621.396

ВЫБОР ПАРАМЕТРОВ LDPC-КОДОВ ДЛЯ КАНАЛОВ С АДДИТИВНЫМ БЕЛЫМ ГАУССОВСКИМ ШУМОМ

С.А. Акулинин, И.В. Свиридова

В данной статье проанализирована модель помехоустойчивого кодирования с малой плотностью проверок на четность. Получены результаты характеристик кода при различных методах формирования порождающей матрицы, при изменении количества итераций декодирования и для входных данных переменной длины

Ключевые слова: помехоустойчивое кодирование, вероятность декодирования, проверочная матрица

В настоящее время стремительно начали развиваться области, которые неразрывно связаны с обработкой и передачей данных, такие как, мобильная связь, беспроводные сети и устройства хранения данных. Главной задачей, которых является повышение результативности имеющихся методов передачи и разработка алгоритмов, позволяющих увеличить надежность передаваемой информации. Для того, чтобы обеспечить требуемую вероятность ошибки, необходимо обработать информацию при помощи процедур помехоустойчивого кодирования, однако использование

кодирования требует устройств кодера, перемежителя, декодера, а значит и дополнительных затрат на обработку. В условиях, в которых требуется при обеспечении заданной помехоустойчивости сохранить высокую скорость передачи данных, необходимо наличие кодов, позволяющих действенно бороться с происходящими ошибками, и обладающих быстрыми процедурами кодирования и декодирования [1].

LDPC коды (коды с малой плотностью проверок на четность) по сравнению с другими известными схемами кодирования наиболее эффективней исправляет ошибки. LDPC коды могут применятся в любой системе связи, где немаловажна экономия энергии или отношение сигнал/шум очень низко. Данные коды могут использоваться для увеличения

энергетического выигрыша кодирования в тех случаях, где среда распространения позволяет увеличить полосу пропускания. При сравнении турбо-кодов с LDPC кодами можно выявить некоторые отличия. Нерегулярные LDPC-коды

Акулинин Станислав Алексеевич - ВГТУ, д-р техн. наук, профессор, тел. 8(473) 243-77-06, e-mail: kipr@vorstu.ru Свиридова Ирина Владимировна - ВГТУ, аспирант, тел. 8 (473) 243-77-06, e-mail: kipr@vorstu.ru

могут превосходить турбо-коды при примерно одинаковых длинах и скоростях, когда длина блока достаточно велика. Лучший известный двоичный код скорости У с длиной блока 10000000 есть LDPC-код, достигший 0,0045дБ от предела Шеннона для случая передачи двоичных сигналов. Турбо-коды имеют стремление к низкой сложности кодирования, но высокой сложностью декодирования, а в LDPC-кодах наоборот возросла сложность кодирования, но вместе с этим упростился процесс декодирования. Для упрощения сложности декодера и для повышения его быстродействия LDPC-коды используют итеративные методы декодирования, где само декодирование выполняется параллельно. Благодаря своей корректирующей способности LDPC-коды стали частью некоторых современных стандартов передачи данных, таких как DVB-S2, WiMAX, Wi-Fi, а также в других беспроводных системах связи. Однако декодеры таких кодов на данный момент имеют массу ограничений, и их проектирование представляет сложную задачу.

На сегодняшний день коды с низкой плотностью проверок на четность являются лучшими блоковыми кодами [2].

Кодовые символы

Проверки на четность

Рис. 1. Проверочный граф LDPC кода

Матрица проверок на четность имеет размерность т х п, в каждом столбце матрицы j - количество единиц, а в каждой строке к -

количества единиц. Для практики важны коды с очень низкой плотностью проверок на четность, для которых j << m и k << n. Очень низкая плотность значительно снижает вычислительные затраты на реализацию алгоритма декодирования при больших размерах матриц. Итеративная обменная вероятностная процедура декодирования, которая применяется к обработке жестких решений, заключается в следующем: на каждой итерации проверяются соотношения на четность в соответствии с проверочной матрицей кода H.

После первой проверки исправляется символ (ноль заменятся на единицу и наоборот), входящий в наибольшее число невыполненных проверочных соотношений на четность. Интерпретация обменного алгоритма декодирования особенно наглядна на проверочном графе кода. Этот граф также называют графом Таннера. Он имеет две группы проверочных узлов (Bipartite Graph). Первый набор представляет функции правдоподобия принятых n кодовых символов. Второй представляет функции правдоподобия m проверок на чётность. Отметим, что для рассмотренных кодов порождающая матрица G в корне отличается от проверочной матрицы и имеет высокую плотность единиц (High Density) [3]. Все LDPC-коды возможно описать низкоплотностой проверочной матрицей, которая в основном содержит нули и сравнительно малое количество единиц. С увеличением кодового слова количество единиц в матрице растет линейно и имеет порядок О (n).

Отсутствие циклов определенного размера является характерной чертой матрицы LDPC-кода. Под циклом длины 4 понимают получение в проверочной матрице прямоугольника, в углах которого стоят единицы. Определить отсутствие цикла длины 4 возможно при условии, что скалярное произведение столбцов или строк матриц равно не более 1. При условии, что в проверочной матрице будет построен граф, вершинами которого являются единицы, а ребрами являются все соединения вершин, параллельные сторонам матрицы, возможно определить циклы большей длины (6, 8, 10, 12 и т.д.). А минимальным циклом в этом графе и будет являться минимальным циклом в проверочной матрице LDPC-кода.

Из рисунка видно, что ребра графа параллельны сторонам матрицы, поэтому, цикл будет иметь длину как минимум 4, а не 3. В общем, каждый цикл в этом графе будет иметь четную длину, минимальный размер которого равен 4, а максимальный размер обычно не играет роли.

Описать LPDC-код возможно двудольным графом, проверочной матрицей, графическим способом и специальными способами.

Специальный способ не является универсальным и не сможет описать все допустимые LDPC-коды. Однако данный способ является относительным обозначением группы представлений кодов, которые возможно построить по заданным алгоритмам, таким образом, что для повторного отображения кода достаточно знать алгоритм построения и его инициализирующие параметры [4].

Задать код возможно с помощью проверочной матрицы, если каждая строка матрицы является элементом отдельного множества кодовых слов. При условии, что все строки линейно независимы, то строки матрицы могут рассматриваться как основа множества всех кодовых векторов кода. Тем не менее, применение данного способа образовывает сложности для представления матрицы в памяти кодера, так как нужно хранить все строки или столбцы матрицы в виде набора двоичных векторов, из-за чего размер матрицы становится равен jxk бит. Представление кода в виде двудольного графа является наиболее известным графическим способом. Двудольный граф строится следующим способом: сопоставляются все к строки матрицы к нижними вершинам графа, а п столбцов - верхними, далее соединяем верхние и нижние вершины графа только в том

случае, если на пересечении соответствующих строк и столбцов стоят единицы [5].

ь Л

+

+

+

Рис. 3. LDPC-код представлен в виде двудольного графа

Для анализа характеристик кода была создана программная модель в среде Microsoft visual studio c++, реализующая LDPC код, применяемый к сигналу с BPSK модуляцией.

ем и н о

о

в «

о ft <и

m

1

ОД 0,01 QJQ01 QJD001 0Т00001 0,000001

---

-

\

\ N

\ >

01 1 10

Отношение сигнал/шум E</N0 Рис. 4. Зависимость вероятности ошибки в символе от ОСШ для LDPC кодов

Передача информации осуществлялась пакетами по 1024 бита по каналу с аддитивным гауссовым белым шумом (AWGN - Additive White Gaussian Noise). В данной модели код задавался при помощи матрицы контроля четности с количеством рядов М, количеством столбцов N. В работе оценивалась эффективность нескольких способов создания разреженной матрицы контроля четности. Также в модели задавалось обнаружение цикла длиной в четыре единицы с возможным устранением и была реализована возможность устанавливать количество единиц в столбце, была предусмотрена возможность задания количества итераций. На выходе программы получаем матрицу контроля четности MxN для R=1/2.

Декодирование LDPC кода

осуществляется с помощью итерационного распространения доверия или алгоритма

суммы-произведения (SPA). В модели предусмотрены четыре версии SPA декодера (BPSK модулированный сигнал и AWGN канал):

- Probability-domain SPA декодер. Основан на работах Галлагера.

- Log-domain SPA декодер. Похож на Probability-domain SPA, но с использованием логарифмической функции правдоподобия вместо функции вероятности. Преимущество заключается в операциях, которые можно совершить с помощью суммирования, вместо умножения.

- Simplified log-domain SPA. Модифицированная версия log-domain SPA. Для дальнейшего упрощения, логарифмическая функция правдоподобия была заменена на входящую волновую диаграмму, следовательно simplified log-domain декодеру не требуется информация о дисперсии шума. Остальным декодерам нужна информация о дисперсии шума (N/2) для корректной работы. Другие параметры декодеров включают полученный сигнал с шумами, Н-матрицы и число итераций декодирования.

Из всех методов декодирования, реализуемых в данной модели, самый лучший результат показал метод с использованием логарифмической функции правдоподобия. Результаты вычисления для логарифмической функции лучше показателей упрощенной логарифмической функции на 2 х 10- при SNR 5 дБ у и лучше на 6 х 10- , чем у вероятностной функции также при 5 дБ.

При изменении количества итераций вероятность принятия неверного символа уменьшается. При количестве итераций равным 5 вероятность того что будет неверно принят символ равняется 8 х 10 при SNR равным 5 дБ, что при 50 итераций уменьшается до показателя 10" . Но стоит заметить, что чем больше итераций будет проводить декодер, тем большее времени потребуется для декодирования передаваемого сообщения.

Литература

1. Золотарёв, В. В. Теория и алгоритмы многопорогового декодирования [Текст] : учеб. пособие / В. В. Золотарев; под ред. Ю. Б. Зубарева. - Москва : Научная книга, 2006. - 266 с. - ISBN 978-5-9912-0351-7.

2. Золотарёв, В. В. Помехоустойчивое кодирование. Методы и алгоритмы [Текст] : учеб. пособие / В. В. Золотарев, Г. В. Овечкин; под ред. Ю. Б. Зубарева. -

Москва : Справочное издание, 2004. - 126 с. - ISBN 593517-169-4.

3. Свиридова, И. В. Способы контроля помехозащищенности передачи данных [Текст] / И. В. Свиридова, И. В. Остроумов, А. В. Муратов // Труды международного симпозиума надежность и качество. -2013. - Т. 2. - С. 17.

4. Свиридова, И. В. Эффективное многопороговое декодирование недвоичных кодов с предварительной

Воронежский государственный технический университет

оценкой ошибочности проверок [Текст] / И. В. Свиридова, А.В. Башкиров, А.В. Муратов // Вестник Воронежского государственного технического университета. - 2015. - Т. 11, № 3. - С. 99-101.

5. Свиридова И. В. Использование LDPC-кодов [Текст] / И. В. Свиридова, А. В. Башкиров, Л. Н. Коротков // Вестник Воронежского государственного технического университета. - 2013. - Т. 9, № 6-3. - С. 41-44.

SETTING LDPC CODES FOR CHANNELS WITH ADDITIVE WHITE GAUSSIAN NOISE

S.A. Akulinin, I.V. Sviridova

In this article the model error-correcting coding with a low density parity check. The results obtained at various characteristics of the code generation matrix formation methods, changing the number of iterations for decoding a variable length input data

Key words: noiseless coding, the probability of decoding the parity check matrix