Радиотехника и связь
DOI 10.25987^Ти.2019.15.6.007 УДК 621.3.049.77
ОПТИМИЗАЦИЯ ПРОЕКТИРОВАНИЯ ДЕКОДЕРОВ НИЗКОПЛОТНОСТНЫХ КОДОВ НА ОСНОВЕ МОДИФИЦИРОВАННОГО АЛГОРИТМА МШ^ЦМ
М.В. Хорошайлова, И.В. Свиридова, А.О. Кузнецова, Т.Д. Ижокина
Воронежский государственный технический университет, г. Воронеж, Россия
Аннотация: показано, как результат моделирования производительности алгоритмов декодирования может быть использован для оптимизации параметров алгоритма и что обработка с использованием метода распараллеливания может не только резко повысить производительность оценки, но может также сделать вычислительную оптимизацию алгоритмов декодирования осуществимой на практике. Представленный метод распараллеливания позволяет повысить производительность и упростить задачи вычислительной оптимизации алгоритмов декодирования. Одним из способов решения задач декодирования является применение целочисленной линейной программы. Выполнение линейного программирования для декодирования существенно зависит от используемой композиции линейного программирования. Приведены примеры моделирования некоторых алгоритмов низкоплотностного кода, также показаны результаты моделирования с использованием модифицированного алгоритма тт^ит. Показано, что модифицированный алгоритм выигрывает в производительности исправления ошибок, особенно в высоком диапазоне воздействия шума. Представлен распараллеленный метод ускоренного проектирования и оптимизации работы низкоплотностных алгоритмов декодирования. С использованием разработанных критериев для оценки эффективности алгоритмов декодирования получается оптимизировать выбор параметров алгоритма с применением нелинейных методов оптимизации. Показано, что все эти действия, направленные на оптимизацию, приводят к полуавтоматической модели алгоритма
Ключевые слова: LDPC-декодирование, алгоритм декодирования, эффективность декодирования, производительность алгоритмов
Введение
Пожалуй, одной из основных проблем при передаче информации в системе связи является достоверность переданной информации по каналам с шумами. В настоящее время одним из наиболее используемых кодов для передачи цифровой информации являются LDPC (Low Density Parity Check - низкой плотности проверок на четность) коды, которые очень популярны в системе достоверной передачи данных и FEC (forward error correction - прямое исправление ошибок). Они обладают лучшей производительностью исправления ошибок по сравнению с турбо-кодами и имеют одни из лучших схем кодирования с точки зрения простоты их реализации. Для оптимизации алгоритмов декодирования и для эффективности декодирования, необходимо высокое число моделирований, что усложняет весь процесс разработки.
Несмотря на большое число исследований, проведённых относительно этих алгоритмов декодирования, по-прежнему существует достаточно много вопросов, касающихся эф-
© Хорошайлова М.В., Свиридова И.В., Кузнецова А.О., Ижокина Т.Д., 2019
фективности декодирования в зависимости от некоторых параметров используемого алгоритма. Эти недостатки усложняют моделирование LDPC-декодера при разработке микросхемы. По этой причине часто производительность алгоритма декодирования вычисляется путем численного моделирования изменения параметров алгоритмов вручную. Из-за вычислительной сложности алгоритмов декодирования и требования высокого уровня уверенности в результате, оценка производительности декодирования может занять очень много времени. Для оптимизации алгоритмов декодирования требуется высокое количество численного моделирования.
Декодирование LDPC-кодов
В системе связи данные передаются в приемник через канал связи и кодируются в передающем устройстве. Примерная схема системы связи с использованием низкоплот-ностного кода показана на рис. 1.
Одна из характеристик кода - частота проверки его на четность. В случае, если код имеет пониженную плотность проверок, то такие коды можно отнести к линейным блоковым кодам с разреженной МхМ проверочной
матрицей Н, которая, в свою очередь, используется для формулировки некоторых характеристик кода. Двоичный линейный блоковый код определяется с помощью векторов
х £ {0,1}п. Каждая строка матрицы проверки четности соответствует одной проверочной итерации.
LDPC кодер ь Модулятор 1 ш Канал f D ь Демодулятор LDPC декодер
1 11
Передаваемое Передатчик ! сообщение I
Г Р — ! ! — ■!—■ I— — i1
Преемник Декодированное] сообщение
191П19В11911911ГВ11 I I I I 9 I В] IB
Рис. 1. Упрощенное представление системы связи с использованием LDPC-кода
Рис. 2. Система оптимизации
Для декодирования принятой информации используются два метода, часто обсуждаемых в литературе [4]. Один из методов называется символ за символом максимального апостериорного (symbol-by-symbol maximum a posteriori - SBS-MAP) декодирования. Данный метод использует минимальную вероятность появления ошибочных бит декодированных данных. Другой метод называется максимальным декодированием последовательности правдоподобия (maximum likelihood sequence decoding - MLSD). Такой подход минимизирует вероятность появления ошибочного слова декодированных данных. Оба подхода затруднены для реализации.
По этой причине используются приближенные алгоритмы для декодирования низ-коплотностных кодов. В качестве приближения декодирования используется метод «символ за символом» максимального апостериорного декодирования, который основан на алго-
ритме распространения доверия [2]. Для аппроксимации максимального декодирования последовательности правдоподобия используется подход, основанный на линейном программировании [3].
Используются два способа для решения задач декодирования с применением уравнения проверки четности. Одним из этих способов является построение двудольного графа Таннера [2]. Этот граф состоит из группы проверочных узлов и группы переменных узлов и соответствующих связей между этими группами. Декодирование с использованием алгоритма распространения доверия можно изобразить в виде передачи сообщений, которые соответствуют вероятности проверочных значений на графе Таннера. Из-за неоптимальности алгоритма изменения на графе Таннера влияют на эффективность декодирования. Эти параметры могут быть оптимизированы с помощью предложенного метода.
Вторым способом для решения задачи декодирования является использование целочисленной линейной программы. Использование дополнительных ограничений может улучшить производительность декодирования для линейного программирования [5]. Выбор таких ограничений также может быть сделан с помощью нашей системы оптимизации.
Оптимизация алгоритмов декодирования
Из-за отсутствия оптимизированных алгоритмов можно регулировать различные параметры алгоритма, влияя на производительность декодирования. В эту оптимизацию могут быть включены и другие части системы связи, например, представление в символьном виде информации с использованием модуляции, как показано в работе [6].
Здесь используется канал с аддитивным белым гауссовым шумом (AWGN). Этот канал определяется одним параметром - отношение сигнал-шум (SNR). Основная проблема состоит в том, что набор параметров часто выполняется по-разному для значений другого канала SNR. Для того, чтобы сделать оптимизацию на практически соответствующий диапазон SNR, многие моделирования должны быть сделаны с тем же набором параметров, но с разными значениями канала SNR.
Для оптимизации алгоритмов декодирования использовали структуру, показанную на рис. 2. Оптимизация начинается с выбора параметров по умолчанию. Алгоритмы итерационно выполняются с выбранным набором параметров, а затем параллельно моделируются для разных значений SNR канала. Для высокой достоверности результатов моделирования должно быть смоделировано до 109 кодовых слов. Производительность декодирования, полученная по результатам моделирования используется для дальнейшего выбора параметров.
Вместо использования скорости передачи ошибочного бита и слова (BER / WER) используется увеличение скорости ошибки при заданных значениях SNR в качестве производительности.
Допустим, Р - чередование некоторых параметров алгоритма дешифрования. Для произведения дальнейшего расчета необходимо подсчитать потери, характерные для этого набора параметров в виде
с(Р) = Zs WERref(s) - WER
(s).
(1)
Таким образом происходит сравнение идеального значения WERref с полученным выражением, которое зависит от частоты ошибок слова s при данных значениях SNR, полученного с помощью алгоритма дешифрования с использованием набора параметров Р.
Данный подход дает возможность совершенствовать алгоритм для SNR диапазонов: чем выше сумма WER, тем лучший получается набор параметров.
Результаты обоих типов оптимизированных алгоритмов ВР и LP комбинируются с помощью весовой функции, найденной с помощью системы оптимизации.
Модифицированный алгоритм min-sum
По сравнению с оригинальной двойной проверкой алгоритма min-sum, версия одной проверки может быть не только быстрее, но также может быть более эффективной для памяти. Мы можем снизить объем памяти за счет
Z (k)
хранения ^ n
r(k )
которые имеют N элементов,
вместо ^тп , которые имеют N ■ (средняя
степень переменного узла) элементов.
Рассматривая версию аппаратной реализации, необходимо затронуть вопрос экономии памяти, что является важным параметром в случае использования алгоритма тт-8ит в беспроводных либо мобильных вычислительных устройствах, где объем памяти может быть не так велик. Для решения этой проблемы используется версия одной проверки, которая позволяет сохранять только адресации из контрольных узлов в переменные узлы.
Поскольку упрощенный тт-8ит алгоритм имеет только горизонтальную проверку, площадь схемы может быть снижена, если требуются только соединения от контрольных узлов к переменным узлам.
Для работы начального алгоритма тт-8ит требуется большой объем памяти, который используется в основном для хранения
сообщений переменного узла Zmmn и сообщений проверочного узла . Даже при условии, что используется одна ячейка памяти для хранения как Zmmn и , все еще необходимо некоторое количество ^ \М(и)| ячеек памяти. Следует помнить, что каждый ненулевой эле-
мент проверочной матрицы Н требует по одной ячейке для хранения.
В случае использования Ь бит (Ь=6 ~ 8 на практике) для сохранения некоторого значения, которое соответствует числу ячеек памяти и определяется как Ь • ^ |М(п)| . Использование такого объема памяти характеризуется высоким потреблением энергии из-за частого использования данных ячеек, в частности, чтение или запись.
Для решения этой проблемы необходимо понаблюдать за сообщениями проверочного
т(к)
узла Ттп , которые вычисляются с помощью горизонтальной проверки. Сообщения прове-
т(к)
рочного узла Ьтп
¿тп _ п sgn й"4 )• .шп I2-
А А 4 7 п'е^(т)\п
п 'еN (т)\п
7 (к) _ 7 (0) + ^ Т(к)
тп п т'п ■
т 'еМ ( п)\п
Все сообщения проверочного узла Т® для одного и того же т имеют равные показатели, за исключением одного. Первое абсолютное значение - это минимальное значение
¿Г! узла т. Второе абсолютное значение -
следующее минимальное абсолютное значение
Ык-1)|.
тп
Для получения более точного результата сообщений проверочного узла Т® узла т
вычисляются с помощью
Z (к
n'eN (m)\ni
и
примем Af как первое абсолютное значение
Ak) - min Lk)\
m ,,, J mn
neN (m) I
По
данным
(k-1)
уравнения получаем
Ln = п sgn te" )■, mn Z
A A 4 7 n'eN(m)\nl
n' e N ( m)\n
A<mk) - min \Zim¡n-X)\ . Данное выражение является
m n N(m) mn
Z(k-1)
х- -- -v тп узла m.
Допустим, Bm:) - второе абсолютное зна-
из чего сле-
(k)
чение уравнения Bm) - min \Lmn
m n N(m) mn
C.(k)
дует, что за nm следует положение
L
(к)
сле-
дующего критического абсолютного значения, ) - argmaxi^ .
n n(m)
По данным
zu = п sgn (zmn-1) )■, min Z
4 7 n'eN(m)\nl
( к-1)
уравнения извлекаем
n
n' e N ( m)\n
mk) = arg min |Z(k-1)|
m О ... . mn
n N ( m )
n1 e N ( m)\nl
. Таким образом, положе-
ние следующего критического абсолютов) ~(к) у(к-1)
ного значения Вт , пт есть позиция 7тп минимального абсолютного значения.
Из уравнения 7'к _ + ^ также
(k-1)
имеем B - min Z . .
m ,,, 4.~(k J mn
n e N ( m)\~mk" 1
I v(k)
нимальным значением \Z'
m n m' e M ( n)\n
что является ми-
одного и того же проверочного узла т.
пусть признак ьт будет ^тп,
smn _ sgn(Lmkn) . Пусть /(4 В, п, ~) функция определяется как
В, если п _
f (A, B, n, = <
все остальное.
Сообщение проверочного узла может
быть восстановлено из его знака smn , двух аб-
« A (k) n(k)
солютных значений Лт и Bm и положения
~mk) как imn=£Уйтк).зтк), n, ~k)).
В алгоритме одного сканирования min-sum, подставляя вычисления imn к вычисле-
-Ák)
ниям smn , Am
(k)
D(k) ~(k)
Bm и nm , получаем память
эффективной версии алгоритма одного сканирования min-sum.
Инициализация:
A(0) = B(0) = ~(0) = 0, s(0) = sgn(L(0))
m m m > mn o V n / •
Горизонтальная проверка (правило обновления проверочного узла):
7 (к) = 7 (0)
nn
Lk-1) = „(k-1) г A -1) rt^1) n~(¿-1))
mn mn m m m
L(k) = ПsgnÍZ(k-1) -L(k-1))• min |Z(k-1) -L(i
mn I I О V n mn / . n m
A A 4 7 n' (= m)\nl
n' e N (m)\n
n
n' e N ( m)\nl
A(k) = min |z(k) I,
m mn
n N(m)
B(k) = max IZ(k) I,
m , mn '
n N(m)
■ ' m=sgn(zmn).
Г( k-1)
(2) (3)
= arg max Z(
(k)
= 0,
если
Z(k) > 0;
п е N (т)1
Декодирование:
иначе х('к _ 1.
В памяти эффективной версии алгоритма единичного сканирования шт^иш сообщения
предыдущего проверочного узла
L(
(k-1)
из пове-
рочного узла т рассчитываются на лету и хранятся как временные данные во время расчета
сообщений проверочного узла того же
, (к) mn
А (к) m
B
(к) m
n
(к)
проверочного узла т. sm
7 (к)
¿п являются данными, хранимыми в памяти.
Алгоритм единичного сканирования тт-8ит полностью эквивалентен оригинальному алгоритму тт-8ит. Чтобы изменить алгоритм единичного сканирования тт-8ит на нормализованный тт-8ит алгоритм, уравнения должны быть изменены
А(к) = X min Iik)
m к J mn
neN (m)l I
B( k) = X max \Ik)\
m к mn
neN (m) I
где X - константа итерации к, удовлетворяющая 0< <1.
Чтобы заменить алгоритм единичного сканирования min-sum эквивалентным алгоритмом смещения min-sum, уравнения
А(к) = min \lIk)\ и Bк) = max|1(к)1 должны
m mn m mn
neN (m)l I neN (m) I
быть изменены на
Am) = max(min Щ - ß,0),
neN (m)l
Bm) = max(max|-ß,0),
ne N(m)
где ß - константа, удовлетворяющая ß>0. Результаты моделирования
На рис. 3 показаны результаты моделирования с использованием подготовленной оптимальной версии сложного алгоритма LP / ВР и некоторые из полученных результатов моделирования частных алгоритмов для кода LDPC.
Если судить по влиянию на снижение частоты ошибок слов, то использование комбинированного алгоритма гораздо выгоднее, чем один алгоритм. Разница особо видна в высоком диапазоне SNR.
ЕЬика |
Рис. 3. Частота ошибок слов для оптимизации алгоритма декодирования
Рис. 4 показывает сравнение между выполнением Sum-Product, Min-Sum и улучшенным Min-Sum (MMS) алгоритмов. Видно, что масштабирование мягких данных не компенсирует только потери производительности
благодаря аппроксимации, но также приводит к высокой производительности по сравнению с алгоритмом Sum-Product, в связи с сокращением к завышенной оценке погрешности.
Рис. 4. Сравнение различных алгоритмов декодирования
Заключение
Литература
Представлен метод распараллеливания, позволяющий повысить производительность и упростить задачи вычислительной оптимизации алгоритмов декодирования. Одним из способов задач декодирования является использование целочисленной линейной программы. Выполнение линейного программирования для декодирования существенно зависит от используемой композиции линейного программирования. Использование дополнительных ограничений может улучшить производительность линейного программирования декодирования. Выбор таких ограничений также может быть сделан с помощью представленной системы оптимизации.
Показано, что алгоритм единичного сканирования шт^иш является упрощенной версией оригинального алгоритма шт^иш для декодирования низкоплотностных кодов. Он объединяет горизонтальное и вертикальное сканирование в алгоритме шт^иш в одной горизонтальной развертке. Также представлено эффективное использование памяти для алгоритма одного сканирования шт^иш, в котором сообщения проверочных узлов проверки сохраняются с помощью сопоставления их характеристик, а также сообщений критических абсолютных значений вместе. При этом все адаптации также используются для дешифрования LDPC-кодов в двоичной системе.
1. Design of LDPC-decoders for low error rate performance/ Z. Zhang, L. Dolecek, B. Nikolic, V. Anantharam, M. Wainwright //submitted to IEEE Trans. Comm., www.eecs.berkeley.edu/~ananth/2008+ /TC0M0303.pdf
2. Lowering LDPC error floors by postprocessing/ Z. Zhang, L. Dolecek, B. Nikolic, V. Anantharam, M. Wain-wright// In Proc. of Globecom. 2008. pp. 1-6.
3. Хорошайлова М.В. Архитектура канального кодирования на основе ПЛИС для 5G беспроводной сети с использованием высокоуровневого синтеза // Вестник Воронежского государственного технического университета. 2018. Т. 14. № 2. С. 99-105.
4. Хорошайлова М.В. Verilog-описание и реализация на ПЛИС LDPC-декодера для высокоскоростной передачи данных // Вестник Воронежского государственного технического университета. 2018. Т. 14. № 2. С. 120-124.
5. Башкиров А.В., Хорошайлова М.В., Белецкая С.Ю. Использование стохастического вычисления для реализации недвоичного LDPC-декодера на ПЛИС // Вестник Воронежского государственного технического университета. 2016. Т. 12. № 5. С. 70-73.
6. Золотарёв В.В., Овечкин Г.В. Помехоустойчивое кодирование. Методы и алгоритмы: учеб. пособие / под ред. Ю.Б. Зубарева. М.: Справочное издание, 2004. 126 с. ISBN 5-93517-169-4.
7. Верификация LDPC-кодов / Н.В. Астахов, А.В. Башкиров, А.С. Костюков, М.В. Хорошайлова, О.Н. Чирков // Вестник Воронежского государственного технического университета. 2017. Т. 13. № 1. С. 74-77.
8. Помехоустойчивый алгоритм декодирования ортогональных пространственно-временных блочных кодов систем MIMO в замирающих каналах радиосвязи/ О.Н. Чирков, И.С. Бобылкин, И.В. Свиридова, А.А. Матвеев, М.И. Соболев // Надежность и качество: тр. междунар. симпозиума. Пенза: Пензенский государственный университет, 2019. Т. 2. С. 90-92.
Поступила 15.11.2019; принята к публикации 13.12.2019 59
Информация об авторах
Хорошайлова Марина Владимировна - канд. техн. наук, старший преподаватель, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: pmv2205@mail.ru, ORCID: https://orcid.org/0000-0001-9167-9538
Свиридова Ирина Владимировна - старший преподаватель, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: ri-ss-ka@mail.ru, ORCID: https://orcid.org/0000-0001-5279-0807 Кузнецова Анастасия Олеговна - студент, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: kuznecova070703@gmail.com, ORCID: https://orcid.org/0000-0001-6743-6624 Ижокина Татьяна Дмитриевна - студент, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), e-mail: tatyanaizhokina@yandex.ru, ORCID: https://orcid.org/0000-0002-7905-3257
OPTIMIZATION OF DESIGNING DECODERS OF LOW-DENSITY CODES BASED ON THE
MODIFIED MIN-SUM ALGORITHM
M.V. Khoroshaylova, I.V. Sviridova, A.O. Kuznetsova, T.D. Izhokina
Voronezh State Technical University, Voronezh, Russia
Abstract: the article shows how the result of modeling the performance of decoding algorithms can be used to optimize the algorithm parameters, and that processing using the parallelization method can not only dramatically increase the evaluation performance, but can also make the computational optimization of decoding algorithms feasible in practice. The presented paral-lelization method allows one to increase productivity and simplify the tasks of computational optimization of decoding algorithms. One way to solve decoding problems is to apply an integer linear program. The execution of linear programming for decoding substantially depends on the composition of linear programming used. Examples of modeling some low-density code algorithms are given, and simulation results using the modified min-sum algorithm are also shown. It is shown that the modified algorithm wins in error correction performance, especially in a high range of noise exposure. A parallelized method of accelerated design and optimization of low-density decoding algorithms is presented. Using the developed criteria for evaluating the efficiency of decoding algorithms, it turns out to optimize the selection of algorithm parameters using non-linear optimization methods. It is shown that all these actions aimed at optimization lead to a semi-automatic model of the algorithm
Key words: LDPC decoding, decoding algorithm, decoding efficiency, algorithm performance
References
1. Zhang Z., Dolecek L., Nikolic B., Anantharam V., Wainwright M. "Design of LDPC decoders for low error rate performance," submitted to IEEE Trans. Comm., www.eecs.berkeley.edu/~ananth/2008+ /TCOM0303.pdf
2. Zhang Z., Dolecek L., Nikolic B., Anantharam V., Wainwright M. "Lowering LDPC error floors by postprocessing", Proc. of Globecom, 2008, pp. 1-6.
3. Khoroshaylova M.V. "Architecture of FPGA based channel coding for 5G wireless network using high-level synthesis", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo Gosudarstvennogo Tekhnicheskogo Universiteta), 2018, vol.14, no. 2, pp. 99-105.
4. Khoroshaylova M.V. "Verilog description and implementation on the FPGA LDPC decoder for high-speed data transmission", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo Gosudarstvennogo Tekhnicheskogo Universiteta), 2018, vol. 14, no. 2, pp. 120-124.
5. Bashkirov A.V., Khoroshaylova M.V., Beletskaya S.Yu. "Use of stochastic computation for realization of non-binary LDPC-decoder on FPGA", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo Gosudarstvennogo Tekhnicheskogo Universiteta), 2016, vol. 12, no 5, pp. 70-73.
6. Zolotarev V.V., Ovechkin G.V. ed. Zubarev Yu.B. "Interference-free coding. Methods and algorithms" ("Pomek-houstoychivoye kodirovanie. Metody i algoritmy: ucheb. posobie"), Moscow, 2004, 126 p.
7. Astakhov N.V., Bashkirov A.V., Kostyukov A S., Khoroshaylova M.V., Chirkov O.N. "Verification of LDPC codes", Bulletin of Voronezh State Technical University (Vestnik Voronezhskogo Gosudarstvennogo Tekhnicheskogo Universiteta), 2017, vol. 13, no. 1, pp. 74-77.
8. Chirkov O.N., Bobylkin I.S., Sviridova I.V., Matveev A.A., Sobolev M. I. "Noise-resistant algorithm of decoding orthogonal space-time block codes of MIMO systems in fading radio channels", Proc. of the International Symposium Reliability and Quality (Nadezhnost' i kachestvo: tr. mezhdunar. simpoziuma), Penza State University, 2019, vol. 2, pp. 90-92.
Submitted 15.11.2019; revised 13.12.2019
Information about the authors
Marina V. Khoroshaylova, Cand. Sc. (Technical), Assistant Professor, Voronezh State Technical University (14, Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: pmv2205@mail.ru, tel. 8-910-732-66-13, orcid.org/0000-0001-9167-9538 Irina V. Sviridova, Assistant Professor, Voronezh State Technical University (14, Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: riss-ka@mail.ru, ORCID: https://orcid.org/ 0000-0001-5279-0807
Anastasiya O. Kuznetsova, Student, Voronezh State Technical University (14, Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: kuzne-cova070703@gmail.com, ORCID ID - https://orcid.org/0000-0001-6743-6624
Tat'yana D. Izhogina, Student, Voronezh State Technical University (14, Moskovskiy prospekt, Voronezh 394026, Russia), e-mail: tatyanaizhokina@yandex.ru, ORCID ID - https://orcid.org/0000-0002-7905-3257