Изобретение относится к области теории кодирования, в частности к системам кодирования с исправлением ошибок с целью повышения эффективности использования спектра при передаче данных в цифровой системе радиосвязи.
В классе линейных блоковых кодов можно особо выделить подкласс кодов с низкой плотностью проверок на четность [Gallager R. “Low Density Parity Check Codes”// MIT Press 1963. Особенностью данного кода является наличие простой графической модели алгоритма декодирования определяемого как декодирование на графе (фиг. 1). Декодирование на графе следует понимать в том смысле, что граф определяет разбиение всего кодового слова на более короткие коды, причем короткие коды могут перекрываться друг с другом. Избежать данных перекрытий можно путем повторения перекрывающихся кодовых символов. Разные копии принятого кодового символа или мягкого решения об этом символе входят в различные кодовые слова более короткого кода, при этом все кодовые слова короткого кода могут быть декодированы независимо. Такая структура может быть представлена в виде двудольного графа один тип вершин, которого ассоциирован с кодовыми символами, причем количество ребер исходящих из каждой вершины соответствует количеству повторений кодового символа (переменная вершина обозначена прямоугольником). Другой тип вершин соответствует коротким кодам, причем каждая вершина есть кодовое слово с количеством кодовых символов равным числу входящих ребер (проверочная вершина обозначена кругом). Каждой проверочной вершине может быть приписана контрольная сумма, как индикатор наличия ошибок в коротком коде. Переменные вершины могут быть соединены только с проверочными вершинами, и, наоборот, проверочные вершины могут быть соединены только с переменными вершинами, что позволяет рассматривать граф как двудольный.
Такой двудольный граф называют графом Таннера [Tanner R.M. A Recursive Approach to Low Complexity Codes / R.M. Tanner // IEEE Transaction on Information Theory. - 1981. -Vol. IT27, № 9. - P. 533547]. По сути для линейного блокового кода граф Таннера является графическим представлением проверочной матрицы. Безошибочное декодирование характеризуется равенством нулю всех контрольных сумм - кодовых ограничений.
Код с низкой плотностью проверок на четность может быть декодирован в мягких решениях, используя алгоритм обмена сообщений (фиг. 1). Алгоритм обмена сообщениями [Gallager R. “Low Density Parity Check Codes”// MIT Press 1963] инициализируют каждый переменную вершину информацией о достоверности приема каждого символа (мягким решением), полученной из канала.
Вычисляют значение исходящего сообщения от переменной вершины равного апостериорной вероятности для кодового символа принять определенное значение кодового символа, отнесенного к этому переменной вершине для каждого ребра двудольного графа.
В каждой проверочной вершине модифицируют исходящие сообщения от тех переменных вершин, с которым они связаны ребром двудольного графа, и для которого они являются входящими, ставя в соответствие каждому ребру исходящие сообщения проверочной вершине, которые равны второму набору вероятностей для кодового символа принять определенное значение.
Обновляют исходящие сообщение переменной вершине входящими сообщениями, которые являются исходящими сообщениями проверочной вершине.
Повторяют итерации определенное число раз или до тех пор, пока кодовые ограничения не будут выполнены.
Знак исходящего сообщения выбирают таким, чтобы удовлетворить кодовым ограничениям. Абсолютное значение исходящего сообщения вычисляют при помощи функции
Есть несколько методов для определения функции
Другой метод задания функции
Где функция
Существует модификация предложенного метода, где дополнительное слагаемое
Модификации этого алгоритма приведена в [W.K Leung,W.L Lee,A.Wu,L.Ping,“ Efficient implementation technique of LDPC decoder ”Electron.Lett..,vol.37(20),pp.1231-1232,Sept2001]. Данный метод не требует таблицы, но приводит к некоторому ухудшению характеристик, но зато позволяет сократить число операций при декодировании.
Следуя терминологии из [П. Камерон, Дж. Ван Линт “Теория графов теория кодирования и блок-схемы”// M. Наука 1980], определим путь на графе как последовательность вершин, в которой соседние вершины смежные. Цикл - это путь, где начальные и конечные точки совпадают. Граф связен, если между любыми двумя вершинами существует путь, а метрикой расстояния между двумя вершинами будем считать длину кратчайшего пути между ними. Диаметром графа будем считать наибольшее значение расстояния между двумя любыми вершинами в графе, а обхватом графа - длину кратчайшего цикла без повторяющихся ребер при условии, что такой цикл существует. Валентностью вершины будем называть количество ребер, исходящих из этой вершины или количество вершин смежных данной. Если все вершины графа имеют одинаковую валентность, то граф будем называть регулярным. Эффективность декодирования на графе в первую очередь зависит от структуры графа, а именно от наличия на графе дефектов в виде структур, приводящим к кодовым словам с низким весом. Одним из таких дефектов является “останавливающее множество” [Tom Richardson y Rudiger Urbanke “The Capacity of Low-Density Parity-Check Codes under Message-Passing Decoding”// March 9, 2001], а так же петель или циклов [David MacKay, Good Error-Correcting Codes Based on Very Sparse Matrices// IEEE Transaction on information theory, Vol 45, march 1999], где “останавливающее множество” как подмножество проверочных вершин, для которого не существует переменных вершин, соединенных единственным ребром с каким-либо из проверочных вершин, входящих в это подмножество. Множество переменных вершин, соединенных с останавливающим подмножеством, содержит наиболее вероятные комбинации ошибок. Однако, как было отмечено выше, граф может быть задан путем отдельного задания шаблона повторения и группирования, а также закона перемежения. Причем, предполагая идеальное перемежение, получены оптимизированные шаблоны повторения-группирования, которые основаны на неравномерном повторении [H. Jin, A. Khandekar and R. J. McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 18, Brest, France, September 2000], [Thomas J. Richardson and Rüdiger L Urbanke . Efficient Encoding of Low-Density Parity Check Codes]. В связи с этим актуальной является задача отдельной разработки перемежителя, позволяющего построить по известным оптимизированным шаблонам повторения-группирования двудольный граф, содержащий наименьшее число дефектов.
В настоящее время широкую известность получил класс “турбо-образных” (“turbo-like”) кодов, среди которых выделяются коды с “повторением - накоплением”, известные из [H. Jin, A. Khandekar and R. J. McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 1-8, Brest, France, September 2000]. Кодирование кодов с “повторением - накоплением” осуществляют в следующем порядке: повторение каждого информационного символа, перемежение повторенных символов, накопление суммы по модулю 2 перемеженных символов. Данные коды обладают свойствами, как турбо-кодов, так и кодов с низкой плотностью проверок на четность и могут быть декодированы как в параллельном режиме - алгоритм обмена сообщениями, так и в последовательном режиме - алгоритм MAP. Следует отметить, что в последнем случае алгоритм по существу является гибридным, состоящим из MAP алгоритма декодирования сверточного кода с двумя состояниями и алгоритма обмена сообщениями с неравномерно повторенными информационными символами [J. Li, Low-Complexity, Capacity-Approaching Coding Schemes: Design, Analysis and Applications, Ph.D. dissertation, Texas A&M University, 2002. ]. Из [H. Jin, A. Khandekar and R. J. McEliece, “Irregular repeat-accumulate codes," Proceedings of the Second International Symposium on Turbo Codes and Related Topics, pp. 1-8, Brest, France, September 2000] известно, что наибольшая эффективность от применения достигается неравномерным или иррегулярным повторением информационных символов. Кроме того, характеристики кодов повторения с накоплением в большой степени характеризуются перемежителем, который совместно с шаблоном иррегулярного повторения и шаблоном накопления контрольных сумм определяют граф Таннера для данного кода. Требования к перемежителю заключаются в том, чтобы обеспечить достаточное разнесение повторенных символов, обеспечив тем самым отсутствие или малое число кодовых слов с низким весом. Существуют два класса перемежителей: случайный и детерминистический. Для формирования случайного перемежителя применяют датчик случайных чисел, при помощи которого определяют номер перемежаемого символа в последовательности после перемежения. Последовательность получаемых номеров подвергают проверке на достаточность разнесения подряд идущих повторенных информационных символов с выбраковкой (откатом назад) последовательностей, не прошедших подобной проверки. Известен, в частности, алгоритм S-random [S. Dolinar and D. Divsalar “Weight Distribution for turbo codes using random and non-random permutation” JPL Progress report 42-122 pp 56-65 Aug 15,1995]. Известен патент [United States Patent 6,453,442 Sadjadpour, et al., September 17, 2002 Two stage S--Random interleaver], где реализован модифицированный S-random алгоритм.
Псевдослучайные перемежители требуют много памяти для хранения и не могут быть сгенерированы на приемной и передающей стороне независимо или же такая генерация потребует больших вычислительных и временных затрат. От этого недостатка свободны детерминистические перемежители, где способ взаимно однозначного соответствия перемежения определяется путем задания параметризованного алгоритма. Такие перемежителя могут формироваться “на лету”, то есть непосредственно в процессе декодирования, и задаются путем определения параметров алгоритма (несколько положительных целых чисел).
Известно решение, представляющее собой псевдослучайный взаимно простой интерливер, [United States Patent 6,857,087 Crozier, et al. February 15, 2005 High-performance low-memory interleaver banks for turbo-codes]. Такой способ, известный как DRP перемежитель, заключается в перемежении последовательности
перемежают элементы в каждой из
перемежают
перемежают элементы внутри каждой из
Существенной особенностью данного способа является то, что шаг 2 выполняют путем взаимно-простого перемежителя, соответствующего преобразованию вида
Из [J. Sun and O.Y. Takeshita. Interleavers for turbo codes using permutation polynomials over integer rings. IEEE Trans.Inform. Theory, vol.51, Jan. 2005] известен ARP интерливер. Интерливер ARP (почти регулярный перемежитель) представляет собой преобразование вида:
Из патента US 8239711 "QPP interleaver/de-interleaver for turbo codes" известен следующий способ перемежения кодовых символов.
Входные биты внутреннего перемежителя турбокода обозначены как
Входные и выходные номера связаны следующим соотношением:
Где выходной индекс
Параметры
Для того чтобы эта схема была реализуемой, работа перемежителей не должна приводить к конфликтам при доступе к памяти. К числу таких конфликтов можно, например, отнести попытку одновременной записи и чтения отдельной ячейки памяти. Память обычно реализуют в виде блоков (“банков”) памяти, таким образом, что к каждому блоку за один квант времени возможен либо доступ на запись (по указанному адресу), либо доступ на чтение. Условие может быть записано в следующем виде:
Где
Пусть
Нам надо доказать, что
1) QPP:
Таким образом, мы видим, что последнее выражение не зависит от
2) ARP:
Последнее выражение не зависит от
Далее доказательство аналогично при условии, что
В основе заявляемого способа классический иррегулярный код повторений с накоплениями с низкой плотностью проверок на четность [D. Divsalar, H. Jin, and R. J. McEliece. "Coding theorems for ‘turbo-like’ codes." Proc. 36th Allerton Conf. on Communication, Control and Computing, Allerton, Illinois, Sept. 1998, pp. 201-210.], где применен новый эффективный перемежитель.
Наиболее близким аналогом по технической сущности к предлагаемому является способ перемежения кодовых символов, представленный в патенте РФ 2700398 "Способ передачи данных в системе цифровой радиосвязи на основе кодов с низкой плотностью проверок на четность и способ перемежения кодовых символов", H03M 13/11, 13/27, 13/29, принятый за прототип.
Способ-прототип перемежения последовательности кодовых символов, состоит в том, что:
разбивают последовательность символов для перемежения на подпоследовательности символов для перемежения;
осуществляют обмен кодовыми символами между и/или внутри подпоследовательностей, образуя перемеженные подпоследовательности кодовых символов;
формируют из подпоследовательностей финальную перемеженную последовательность;
последовательность символов для перемежения количеством
в каждой из подпоследовательностей производят перемежение по установленному правилу перемежения подпоследовательностей, для этого
формируют пилотную псевдослучайную подпоследовательность таким образом, что в пилотной подпоследовательности выполняется условие
для определения пилотной псевдослучайной подпоследовательности номеров формируют множество номеров
устанавливают начальное целые положительные значение параметра разнесения
формируют множество пар чисел
инициализируют
случайным образом выбирают из множества
выполняют проверку дистанционного разнесения перемеженных символов для чего для всех
если все полученные значения разные, то увеличивают значение
если хотя бы две разности оказываются равны, то повторно выбирают другой элемент
при невозможности найти элемент, удовлетворяющий проверке дистанционного разнесения перемеженных символов, повторяют весь алгоритм заново с уменьшенным параметром разнесения
повторяют процедуру до тех пор, пока множество
формируют перемеженные подпоследовательности, располагая элементы в соответствии с их новыми номерами в каждой подпоследовательности, используя пилотную псевдослучайную последовательность номеров;
объединяют перемеженные подпоследовательности в первую перемеженную последовательность;
в первой перемеженной последовательности выполняют второе перемежение для чего для каждого символа в последовательности формируют его новый номер в последовательности по порядку путем выполнения преобразования вида
формируют вторую перемеженную последовательность, располагая элементы первой перемеженной последовательности в соответствии с новыми номерами;
для каждого
формируют финальную перемеженную последовательность, располагая элементы в соответствии с их новыми номерами.
В способе-прототипе шаг получения второй перемеженной последовательности путем линейного алгебраического перемежения:
Задача, которую решает заявляемый способ, состоит в снижении вероятности ошибки при помехоустойчивом кодировании за счет улучшения дистанционных свойств перемежителя.
Для решения поставленной задачи в способе, перемежения последовательности кодовых символов, состоящем в том, что разбивают последовательность символов для перемежения на подпоследовательности символов для перемежения, осуществляют обмен кодовыми символами между и/или внутри подпоследовательностей, образуя перемеженные подпоследовательности кодовых символов, формируют из подпоследовательностей финальную перемеженную последовательность, последовательность символов для перемежения количеством
Графические материалы, используемые в описании:
Фиг. 1 - алгоритм декодирования на графе - обмен сообщениями.
Фиг. 2 - граф Петерсона и заданный на нем код по способу Таннера.
Фиг. 3 - способ перемежения кодовых символов.
Фиг. 4 - блок-схема устройства для осуществления предлагаемого способа.
Фиг. 5 - результаты моделирования.
Заявляемый способ перемежения кодовых символов в цифровой системе связи на основе кодов с низкой плотностью проверок на четность, заключается в том, что
разбивают последовательность символов для перемежения на подпоследовательности символов для перемежения;
осуществляют обмен кодовыми символами между и/или внутри подпоследовательностей, образуя перемеженные подпоследовательности кодовых символов;
формируют из подпоследовательностей финальную перемеженную последовательность;
последовательность символов для перемежения количеством
в каждой из подпоследовательностей производят перемежение по установленному правилу перемежения подпоследовательностей, для этого формируют пилотную псевдослучайную подпоследовательность таким образом, что в пилотной подпоследовательности выполняется условие
для определения пилотной псевдослучайной подпоследовательности номеров формируют множество номеров
устанавливают начальное целые положительные значение параметра разнесения
формируют множество пар чисел
инициализируют
случайным образом выбирают из множества
выполняют проверку дистанционного разнесения перемеженных символов для чего
для всех
если все полученные значения разные, то увеличивают значение
если хотя бы две разности оказываются равны, то повторно выбирают другой элемент
при невозможности найти элемент, удовлетворяющий проверке дистанционного разнесения перемеженных символов, повторяют весь алгоритм заново с уменьшенным параметром разнесения
повторяют процедуру до тех пор, пока множество
формируют перемеженные подпоследовательности, располагая элементы в соответствии с их новыми номерами в каждой подпоследовательности, используя пилотную псевдослучайную последовательность номеров;
объединяют перемеженные подпоследовательности в первую перемеженную последовательность;
в первой перемеженной последовательности выполняют второе перемежение для чего
для каждого символа в последовательности формируют его новый номер в последовательности по порядку путем выполнения преобразования вида
формируют вторую перемеженную последовательность, располагая элементы первой перемеженной последовательности в соответствии с новыми номерами;
для каждого
формируют третью перемеженную последовательность, располагая элементы в соответствии с их новыми номерами;
для первых K элементов в третьей перемеженной последовательности вычисляют функцию дистанционного разнесения перемежителя для каждого из первых K элементов для чего
для произвольного номера
обратным преобразованием получают
обратным преобразованием получают
находят
обратным преобразованием получают
обратным преобразованием получают
находят
обратным преобразованием получают
обратным преобразованием получают
сортируют вектор, составленный из индексов
делают циклическую перестановку в векторе
вычитают из вектора
определяют
осуществляют все возможные циклические перестановки элементов третьей последовательности, для которых выполняется
определяют
Для пояснения на фиг. 3 представлен алгоритм предлагаемого способа перемежения кодовых символов.
Отличие от прототипа заключается во введении последовательности циклических сдвигов
Предлагаемый способ может быть реализован устройством, блок-схема которого изображена на фиг. 4, где обозначено:
1 - блок управления (БУ);
2.1 - 2.K - генератор адресов (ГА);
3.1 -3.K - блок памяти (БА).
Устройство (перемежитель) содержит блок управления 1, первый выход которого соединен с входами K генераторов адресов 2.1 - 2K, выходы которых соединены с первыми входами соответствующих блоков памяти 3.1 - 3.K, вторые входы которых подсоединены ко второму выходу блока управления. Третьи входы блоков памяти 3.1 - 3.K предназначены для входных данных, а выходы - выходных данных.
Функционирование устройства происходит следующим образом.
Сигналы с первого выхода блока управления 1 поступают на входы генераторов адресов 2.1 - 2.K, в котором они независимо формируют адреса для записи и чтения в блоках памяти 3.1 - 3.K и по сигналу синхронизации, поступающего на вторые входа блоков памяти 3.1 - 3.K со второго выхода блока управления 1 в блоках памяти 3.1 - 3.K осуществляют запись или чтение данных.
Задать правило перемежения удобно в виде прямоугольной матрицы, состоящей из
Кодовый символ записывают в соответствующую его номеру строку и столбец. Каждые
Для получения финальной перемеженной последовательности используют способ перемежения последовательности кодовых символов, описанный выше.
Сопоставительный анализ заявляемых способов с прототипом показывает, что предлагаемое изобретение существенно отличается от известных решений, так как позволяют повысить качество радиосвязи за счет выполнения дополнительных циклических сдвигов в каждом из банков перемежителя, повышая тем самым дистанционное разнесение кодовых символов в перемежителе, что снижает вероятность ошибки в радиоканале передачи данных.
Таким образом, заявляемый способ позволяет достичь энергетический выигрыш кодирования в среднем 0.5 Дб по сравнению с прототипом (фиг. 5). А также заявляемый способ, как и прототип, допускает параллельную реализацию декодирующего устройства без потери характеристик помехоустойчивости.
Изобретение относится к области теории кодирования, в частности к системам для объединенного кодирования с исправлением и обнаружением ошибок с целью повышения эффективности использования спектра при передаче данных в цифровой системе радиосвязи. Технический результат - способ позволяет существенно улучшить свойства дистанционного разнесения перемеженных символов, тем самым способствуя решению задачи повышения качества связи. Результат достигается за счет выполнения дополнительных циклических сдвигов в каждом из банков перемежителей, повышая тем самым дистанционное разнесение кодовых символов в перемежителе, что снижает вероятность ошибки в радиоканале передачи данных. 5 ил.
Способ перемежения последовательности кодовых символов, состоящий в том, что разбивают последовательность символов для перемежения на подпоследовательности символов для перемежения, осуществляют обмен кодовыми символами между и/или внутри подпоследовательностей, образуя перемеженные подпоследовательности кодовых символов, формируют из подпоследовательностей финальную перемеженную последовательность, последовательность символов для перемежения количеством
Способ передачи данных в системе цифровой радиосвязи на основе кодов с низкой плотностью проверок на четность и способ перемежения кодовых символов | 2018 |
|
RU2700398C1 |
СПОСОБ ПЕРЕДАЧИ ИНФОРМАЦИИ С ИСПОЛЬЗОВАНИЕМ АДАПТИВНОГО ПЕРЕМЕЖЕНИЯ | 2003 |
|
RU2265960C2 |
УСТРОЙСТВО И СПОСОБ ГЕНЕРИРОВАНИЯ И ДЕКОДИРОВАНИЯ КОДОВ В СИСТЕМЕ СВЯЗИ | 2002 |
|
RU2236756C2 |
СПОСОБ ПЕРЕДАЧИ ГОЛОСОВЫХ ДАННЫХ В СИСТЕМЕ ЦИФРОВОЙ РАДИОСВЯЗИ И СПОСОБ ПЕРЕМЕЖЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТИ КОДОВЫХ СИМВОЛОВ (ВАРИАНТЫ) | 2006 |
|
RU2323520C2 |
US 6453442 B1, 17.09.2002 | |||
US 8239711 B2, 07.08.2012 | |||
US 6857087 B2, 15.02.2005. |
Авторы
Даты
2021-09-14—Публикация
2021-01-18—Подача