Изобретения объединены единым изобретательским замыслом, относятся к области радиотехники, а именно к системам обнаружения ошибок в сигналах, полученных при использовании кода проверки на четность с низкой плотностью, и предназначены для использования в области передачи цифровой информации.
Под помехоустойчивым кодированием понимается кодирование символов цифрового сигнала данных, характеризующееся использованием кодовых комбинаций, позволяющих обнаруживать и (или) исправлять ошибки в этом сигнале (ГОСТ 17657-79. Передача данных. Термины и определения. - с.9).
Под помехоустойчивым декодированием понимается операция обратная кодированию символов цифрового сигнала данных (ГОСТ 17657-79. Передача данных. Термины и определения. - с.9).
Под кодом проверки на четность с низкой плотностью понимается такой код, проверочная матрица которого имеет большинство элементов, равных нулю, и меньшинство - равных единице (R. G. Gallager. Low-Density Parity-Check Codec. - 1963, p.7).
Под параллельным каскадным кодом понимается схема кодирования, состоящая из двух параллельно соединенных через перемежитель кодов (Р.Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. - Москва: Техносфера, 2005, с.238).
Известен способ декодирования низкоплотностного кода - алгоритм распространения доверия (Р.Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. - Москва: Техносфера, 2005, сс. 262-263). Принцип алгоритма заключается в том, что каждый узел итеративно обменивается данными с соседними узлами через соединяющие их ребра. Начальными данными для алгоритма являются мягкие решения демодулятора, а именно логарифмическое отношение правдоподобия (LLR) для каждого бита кодового слова:
где:
L(0)(ci) - логарифмическое отношение правдоподобия i-го элемента кодового слова, нулевой итерации;
Р(ci=0|yi) - условная вероятность того, что передавался 0, при условии, что приняли yi;
Р(ci=1|yi) - условная вероятность того, что передавался 1, при условии, что приняли yi.
В конце каждой итерации формируется вектор LLR:
где
В классическом алгоритме распространения доверия сторонняя информация рассчитывается как сумма произведений, а в упрощенном варианте этого алгоритма - как сумма минимальных элементов. Упрощенный алгоритм по помехоустойчивости уступает классическому примерно 0,5-1 децибел, но получил широкое применение в виду простой реализации на практике.
На выходе алгоритма после выполнения l итераций формируется вектор LLR:
На основе данного вектора принимается жесткое решение - вектор V.
Синдром S кодового слова V рассчитывается по формуле:
S=V·HT,
где вектор S состоит из (n-k) компонент (n - полная длина кодового слова, k - информационная длина кодового слова) и рассчитывается по (n-k) проверочным уравнениям, HT - транспонированная проверочная матрица кода. В случае если вектор V является кодовым словом, все (n-k) компонент равны 0, т.е. все (n-k) проверочных уравнений равны 0.
Недостатком данного способа является отсутствие механизмов борьбы с неразрешенными короткими циклами в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум.
Неразрешенный короткий цикл - цикл длиной шесть ребер, битовые узлы которого декодируются неоднозначно.
Также известен способ и устройство для декодирования канала в системе связи с использованием кода проверки на четность с низкой плотностью (Патент РФ №2446585, МПК Н04Н 60/88).
Недостатком данного способа и устройства является отсутствие механизмов борьбы с неразрешенными короткими циклами в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум.
Наиболее близким по технической сущности к заявляемому изобретению (прототипом) является способ декодирования канала с использованием параллельного каскадного кода проверки на четность с низкой плотностью (Патент РФ №2461964, МПК Н03М 13/11), заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова.
Наиболее близким по технической сущности к заявляемому изобретению (прототипом) является устройство LDPC-декодирования (Патент РФ №2392737, МПК Н03М 13/00), содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен со входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером LDPC, а выход последнего - со входом выходного буфера.
Недостатком данного способа и устройства является относительно низкий процент устранения неразрешенных коротких циклов в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум, а недостатком устройства - отсутствие механизма борьбы с короткими циклами.
Задачей изобретения является способ и устройство помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, позволяющие снизить вероятность ошибки декодирования сигналов.
Задача изобретения решается тем, что способ помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова, согласно изобретению дополнен тем, что при итеративном декодировании через каждые десять итераций формируют дополнительный вектор достоверности мягких решений демодулятора, по которому осуществляют коррекцию мягких решений демодулятора в процессе декодирования кода и определяют множество недостоверных бит, по которым, в дальнейшем, строят вектор частот встречаемости индексов бит при выполнении процедуры выявления и устранения коротких циклов в графе Таннера.
Задача изобретения решается тем, что в устройство LDPC-декодирования, содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен с входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером, а выход последнего с входом выходного буфера, согласно изобретению дополнительно введены модуль коррекции логарифмического отношения правдоподобия бит и счетчик промежуточных итераций декодирования, вход счетчика промежуточных итераций соединен со вторым выходом итеративного декодера LDPC, а выход счетчика промежуточных итераций - с блоком коррекции, выход которого соединен со вторым входом формирователя логарифмического отношения правдоподобия бит.
Дополнительный вектор оценок W(w0, w1,…, wn) имеет размерность, равную длине кодового слова, и показывает степень недостоверности мягкого решения бита. Вектор оценок формируется следующим образом. В случае, если i-й бит после j-й итерации
Перечисленная новая совокупность существенных признаков позволяет снизить вероятность ошибки декодирования при низких соотношениях сигнал/шум за счет учета статистических особенностей построения кода проверки на четность с низкой плотностью.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленных способа и устройства помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, отсутствуют, что указывает на соответствие изобретения условию патентоспособности «новизна».
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на решение указанной задачи.
Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень».
«Промышленная применимость» способа обусловлена наличием элементной базы, на основе которой могут быть выполнены устройства, реализующие данный способ с достижением указанного в изобретении назначения.
Заявленный способ поясняется чертежами, на которых показаны:
фигура 1 - последовательность операций способа помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью:
1 - операция декодирования десяти итераций (0-9);
2 - процедура коррекции мягких решений демодулятора после десятой итерации;
3 - операция декодирования десяти итераций (10-19);
4 - процедура коррекции мягких решений демодулятора после двадцатой итерации;
5 - операция декодирования десяти итераций (20-29);
6 - процедура коррекции мягких решений демодулятора после тридцатой итерации;
7 - операция декодирования десяти итераций (с 10·(k-1) по 10·k);
8 - процедура коррекции мягких решений демодулятора после 10·k итерации;
9 - процедура расчета синдрома кодового слова;
10 - процедура обнаружения и устранения коротких циклов в графе Таннера;
L - кодовое слово, принятое из канала связи;
Ln - кодовое слово после n-й операции декодирования;
Lcycle - кодовое слово с неразрешенными короткими циклами в графе Таннера;
Lwith out cycle - кодовое слово с разрешенными короткими циклами в графе Таннера;
Lcorrect - декодированное кодовое слово;
фигура 2 - общий алгоритм способа помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью:
А1 - инициализация алгоритма декодирования;
А2 - проверка условия: равен номер текущей итерации предельному числу итераций или нет;
A3 - инициализация (обнуление) вектора достоверности мягких решений демодулятора;
А4 - увеличение номера текущей итерации;
А5 - проверка условия: равен нулю номер текущей итерации по модулю 10 или нет;
А6 - выполнение одной итерации декодирования алгоритма распространения доверия;
A7, A8, A9 - формирование вектора достоверности мягких решений демодулятора;
А10, А11, А12, А13, А14, А15 - коррекция мягких решений демодулятора;
А16 - расчет синдрома кодового слова;
А17 - проверка условия: равен синдром кодового слова нулю или нет;
фигура 3 - схема устройства, реализующая алгоритм декодирования кода проверки на четность с низкой плотностью:
В1 - модуль накопления и хранения входных значений до прихода следующего кодового слова;
B2 - модуль хранения логарифмических отношений правдоподобия каждого бита, с возможностью изменения значений в ходе декодирования;
B3 - устройство коррекции входных значений логарифмических отношений правдоподобия каждого бита;
B4 - модуль накопления и хранения декодированных бит;
B5 - декодер низкоплотностного кода;
B6 - счетчик итераций низкоплотностного кодирования;
B7 - устройство контроля и формирования сигналов управления;
фигура 4 - зависимость вероятности ложного декодирования бит от значений вектора достоверности мягких решений демодулятора.
На фигуре 1 представлена последовательность операций способа декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью.
Над принятым из канала связи кодовым словом L в блоке 1 выполняются первые десять итераций декодирования алгоритмом распространения доверия и формируется вектор достоверности мягких решений демодулятора W(w0,w1,…,wn), элементы которого принимают значения от «0» до «9». Если W[i]=9, то i-e мягкое решение декодировалось 9 раз как отрицательное значение, если W[i]=0, то i-е мягкое решение декодировалось 9 раз как положительное значение. В блоке 2 на основе значений вектора W производится коррекция мягких решений демодулятора
Общий алгоритм способа декодирования сигналов с использованием кода проверки на четность с низкой плотностью представлен на фигуре 2. На начальном этапе декодирования сигнала текущее число итераций ставится равным нулю и инициализируется вектор достоверности мягких решений демодулятора:
На фигуре 3 представлена схема устройства, реализующая алгоритм декодирования кода проверки на четность с низкой плотностью.
Декодируемое кодовое слово поступает во входной буфер В1, предназначенный для накопления входных данных во время декодирования и предотвращения потери входных данных. Из входного буфера считывается декодируемое кодовое слово, и в блоке В2 формируется мягкое решение демодулятора, которое в процессе декодирования может изменяться после десяти итераций с помощью модуля коррекции логарифмического отношения правдоподобия бит ВЗ. Исправление ошибок в принятом кодовом слове достигается за счет итеративного декодера LDPC B5. Процесс декодирования контролируется счетчиком промежуточных итераций В6, который формирует сигнал переполнения при достижении значения «10». В этот момент происходит коррекция логарифмических отношений правдоподобия входных бит (мягкого решения демодулятора) В3. Результат декодирования записывается в выходной буфер В4, предназначенный для согласования скорости считывания декодированных бит и тактовой частоты декодера. Все вышеперечисленные блоки формируют сигналы индикации работы на устройство управления В7, которое в зависимости от режима работы формирует различные управляющие воздействия.
Для реализации описанной выше схемы была использована программируемая логическая интегральная схема (ПЛИС) XC6VSX240T-FF1156-1 фирмы Xilinx семейства Virtex-6. В таблице представлены ресурсы ПЛИС, необходимые для реализации предлагаемого способа помехоустойчивого декодирования.
Для оценки эффективности предлагаемого способа помехоустойчивого декодирования по сравнению с существующим способом, описанном в прототипе, была разработана программная модель декодера в среде Microsoft Visual Studio 2008, в которой реализуется алгоритм предлагаемого способа помехоустойчивого декодирования для сигналов стандарта DVB-S2, где код проверки на четность с низкой плотностью входит в состав каскадной конструкции, а также для параллельной схемы турбо-кодирования, где код проверки на четность с низкой плотностью является компонентным кодом. Эксперимент показал, что при использовании модуляции QPSK для стандарта DVB-S2 для всех скоростей кодирования энергетический выигрыш составил 0.2-0.3 дБ. При использовании параллельной схемы турбо кодирования - 0.5 дБ.
Изобретение относится к вычислительной технике. Технический результат заключается в снижении вероятности ошибки декодирования сигналов. Способ помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, в котором после декодирования кода проверки на четность с низкой плотностью осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова, отличающийся тем, что при итеративном декодировании через каждые десять итераций формируют дополнительный вектор достоверности мягких решений демодулятора, по которому осуществляют коррекцию мягких решений демодулятора в процессе декодирования кода и определяют множество недостоверных бит, по которым, в дальнейшем, строят вектор частот встречаемости индексов бит при выполнении процедуры выявления и устранения коротких циклов в графе Таннера. 2 н.п. ф-лы, 4 ил., 1 табл.
1. Способ помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью, осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова, отличающийся тем, что при итеративном декодировании через каждые десять итераций формируют дополнительный вектор достоверности мягких решений демодулятора, по которому осуществляют коррекцию мягких решений демодулятора в процессе декодирования кода и определяют множество недостоверных бит, по которым, в дальнейшем, строят вектор частот встречаемости индексов бит при выполнении процедуры выявления и устранения коротких циклов в графе Таннера.
2. Устройство помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен с входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером LDPC, а выход последнего - со входом выходного буфера, отличающееся тем, что дополнительно введены модуль коррекции логарифмического отношения правдоподобия бит и счетчик промежуточных итераций декодирования, вход счетчика соединен со вторым выходом итеративного декодера LDPC, а выход счетчика промежуточных итераций - с входом модуля коррекции логарифмического отношения правдоподобия бит, выход которого соединен со вторым входом формирователя логарифмического отношения правдоподобия бит.
СПОСОБЫ И УСТРОЙСТВО LDPC-ДЕКОДИРОВАНИЯ | 2005 |
|
RU2392737C2 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ КАНАЛА С ИСПОЛЬЗОВАНИЕМ ПАРАЛЛЕЛЬНОГО КАСКАДНОГО КОДА ПРОВЕРКИ НА ЧЕТНОСТЬ С НИЗКОЙ ПЛОТНОСТЬЮ | 2004 |
|
RU2310274C1 |
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
US 7127659 B2, 24.10.2006 | |||
US 8166367 B2, 24.04.2012 |
Авторы
Даты
2014-07-10—Публикация
2013-01-11—Подача