RU2522299C1 - Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code - Google Patents

Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code

Info

Publication number
RU2522299C1
RU2522299C1 RU2013101656A RU2013101656A RU2522299C1 RU 2522299 C1 RU2522299 C1 RU 2522299C1 RU 2013101656 A RU2013101656 A RU 2013101656A RU 2013101656 A RU2013101656 A RU 2013101656A RU 2522299 C1 RU2522299 C1 RU 2522299C1
Authority
RU
Grant status
Grant
Patent type
Prior art keywords
decoding
vector
output
demodulator
input
Prior art date
Application number
RU2013101656A
Other languages
Russian (ru)
Other versions
RU2013101656A (en )
Inventor
Илья Николаевич Молчанов
Эдуард Петрович Стельмах
Александр Александрович Проскурин
Артем Николаевич Нестеренко
Андрей Николаевич Шкердин
Original Assignee
Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Images

Abstract

FIELD: information technology.
SUBSTANCE: method for noise-immune decoding of signals obtained using a low-density parity check (LDPC) code, where after decoding a LDPC code, the method includes a procedure for detecting and eliminating short unresolved cycles in a Tanner graph, and specifically determining a set of invalid bit indices; based on the obtained set, constructing a frequency of occurrence vector G; determining indices having maximum frequency of occurrence in the vector G; changing the sign therein to an opposite sign in a codeword arriving at the decoder and re-decoding the obtained word; the method being characterised by that during iterative decoding, after every ten iterations, the method includes forming an additional evidential vector of demodulator relaxed solutions, from which demodulator relaxed solutions are corrected when decoding the code and determining a set of invalid bits, from which the frequency of occurrence vector of bit indices is then constructed when detecting and eliminating short cycles in a Tanner graph.
EFFECT: low error probability in signal decoding.
2 cl, 4 dwg, 1 tbl

Description

Изобретения объединены единым изобретательским замыслом, относятся к области радиотехники, а именно к системам обнаружения ошибок в сигналах, полученных при использовании кода проверки на четность с низкой плотностью, и предназначены для использования в области передачи цифровой информации. Inventions united by a single inventive concept relate to the field of radio engineering, namely to systems detect errors in the signals obtained using the parity check with a low density, and are intended for use in the field of digital data transmission.

Под помехоустойчивым кодированием понимается кодирование символов цифрового сигнала данных, характеризующееся использованием кодовых комбинаций, позволяющих обнаруживать и (или) исправлять ошибки в этом сигнале (ГОСТ 17657-79. Передача данных. Термины и определения. - с.9). Under error-correcting coding refers to encoding digital data signal symbols, characterized by using codewords allowing detection and (or) to correct errors in the signal (GOST 17657-79 Data Transmission Definitions -... P.9).

Под помехоустойчивым декодированием понимается операция обратная кодированию символов цифрового сигнала данных (ГОСТ 17657-79. Передача данных. Термины и определения. - с.9). Under error-correcting decoding operation inverse understood encoded symbols of the digital data signal (GOST 17657-79 Data Transmission Definitions -... P.9).

Под кодом проверки на четность с низкой плотностью понимается такой код, проверочная матрица которого имеет большинство элементов, равных нулю, и меньшинство - равных единице (RG Gallager. Low-Density Parity-Check Codec. - 1963, p.7). Under the parity check code with a low density is meant such code, the check matrix of which most elements is equal to zero, and a minority - equal to unity (RG Gallager Low-Density Parity-Check Codec -.. 1963, p.7).

Под параллельным каскадным кодом понимается схема кодирования, состоящая из двух параллельно соединенных через перемежитель кодов (Р.Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. - Москва: Техносфера, 2005, с.238). Under the parallel concatenated code refers to a coding scheme consisting of two parallel connected across interleaver codes (Zaragoza R.Morelos art error-correcting encoding methods, algorithms, applications - Moscow:... Technosphere 2005, s.238).

Известен способ декодирования низкоплотностного кода - алгоритм распространения доверия (Р.Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. - Москва: Техносфера, 2005, сс. 262-263). Known is a method of decoding a low-density code - belief propagation (Zaragoza R.Morelos art error-correcting encoding methods, algorithms, applications - Moscow:... Technosphere, 2005, pp 262-263.). Принцип алгоритма заключается в том, что каждый узел итеративно обменивается данными с соседними узлами через соединяющие их ребра. The principle of the algorithm is that every node iteratively communicates with adjacent nodes through their joining edges. Начальными данными для алгоритма являются мягкие решения демодулятора, а именно логарифмическое отношение правдоподобия (LLR) для каждого бита кодового слова: Initial data for the algorithm is a soft decision demodulator, namely the log likelihood ratio (LLR) for each bit of the codeword:

L L ( ( 0 0 ) ) ( ( c c i i ) ) = = log log P P ( ( c c i i = = 0 0 | | y y i i ) ) P P ( ( c c i i = = 1 one | | y y i i ) )

Figure 00000001
, .

где: Where:

L (0) (c i ) - логарифмическое отношение правдоподобия i-го элемента кодового слова, нулевой итерации; L (0) (c i) - log likelihood ratio i-th element of the code word, the iteration zero;

Р(c i =0|y i ) - условная вероятность того, что передавался 0, при условии, что приняли y i ; P (c i = 0 | y i) - the conditional probability that a 0 was transmitted, with the proviso that took y i;

Р(c i =1|y i ) - условная вероятность того, что передавался 1, при условии, что приняли y i . P (c i = 1 | y i) - the conditional probability that the transmitted one, provided that took y i.

В конце каждой итерации формируется вектор LLR: At the end of each iteration, LLR vector is formed:

L L ¯ ¯ ( ( l l + + 1 one ) ) = = L L ¯ ¯ ( ( 0 0 ) ) + + α α L L ¯ ¯ e e x x t t ( ( l l ) )

Figure 00000002
, .

где Where

L L ¯ ¯ ( ( l l + + 1 one ) )

Figure 00000003
- вектор логарифмического отношения правдоподобия на (l+1)-й итерации; - vector of log likelihood ratio for (l + 1) th iteration;

L L ¯ ¯ ( ( 0 0 ) )

Figure 00000004
- мягкие решения демодулятора; - soft decisions of the demodulator;

L L ¯ ¯ e e x x t t ( ( l l ) )

Figure 00000005
- сторонняя информация на l-й итерации. - sided information on the l-th iteration.

В классическом алгоритме распространения доверия сторонняя информация рассчитывается как сумма произведений, а в упрощенном варианте этого алгоритма - как сумма минимальных элементов. In the classical belief propagation sided information is calculated as the sum of the products, and in a simplified version of the algorithm - the sum of the minimal elements. Упрощенный алгоритм по помехоустойчивости уступает классическому примерно 0,5-1 децибел, но получил широкое применение в виду простой реализации на практике. Simplified algorithm of noise immunity is inferior to the classical approximately 0.5-1 dB, but has been widely used since the simple implementation.

На выходе алгоритма после выполнения l итераций формируется вектор LLR: At the exit algorithm after l iterations LLR vector is formed:

L L ¯ ¯ ( ( l l ) ) = = [ [ L L ( ( l l ) ) ( ( c c 1 one ) ) , . L L ( ( l l ) ) ( ( c c 2 2 ) ) , . ... , . L L ( ( l l ) ) ( ( c c n n ) ) ] ]

Figure 00000006
. .

На основе данного вектора принимается жесткое решение - вектор V. On the basis of this vector to make tough decisions - vector V.

Синдром S кодового слова V рассчитывается по формуле: S codeword V syndrome calculated by the formula:

S=V·H T , S = V · H T,

где вектор S состоит из (nk) компонент (n - полная длина кодового слова, k - информационная длина кодового слова) и рассчитывается по (nk) проверочным уравнениям, H T - транспонированная проверочная матрица кода. where the vector S consisting of (nk) a component (n - the total code word length, k - codeword length information) calculated according to (nk) screening the equations, H T - transposed parity check matrix of the code. В случае если вектор V является кодовым словом, все (nk) компонент равны 0, т.е. If V is a vector codeword, all the (nk) component is equal to 0, i.e., все (nk) проверочных уравнений равны 0. all (nk) parity equations are equal to 0.

Недостатком данного способа является отсутствие механизмов борьбы с неразрешенными короткими циклами в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум. The disadvantage of this method is the lack of control mechanisms unresolved short cycles in the Tanner graph of low-density code which are formed as a result of the iterative decoding code belief propagation, and as a result, a high probability of decoding errors at low signal / noise ratio.

Неразрешенный короткий цикл - цикл длиной шесть ребер, битовые узлы которого декодируются неоднозначно. Unauthorized short cycle - a cycle length of six ribs, bit units which uniquely decoded.

Также известен способ и устройство для декодирования канала в системе связи с использованием кода проверки на четность с низкой плотностью (Патент РФ №2446585, МПК Н04Н 60/88). Also it is known a method and apparatus for decoding a channel in a communication system using at a low density parity check code (RF Patent №2446585, IPC N04N 60/88).

Недостатком данного способа и устройства является отсутствие механизмов борьбы с неразрешенными короткими циклами в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум. The disadvantage of this method and apparatus is the lack of control mechanisms unresolved short cycles in the Tanner graph of low-density code which are formed as a result of the iterative decoding code belief propagation, and as a result, a high probability of decoding errors at low signal / noise ratio.

Наиболее близким по технической сущности к заявляемому изобретению (прототипом) является способ декодирования канала с использованием параллельного каскадного кода проверки на четность с низкой плотностью (Патент РФ №2461964, МПК Н03М 13/11), заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят векто The closest in technical essence to the claimed invention (prototype) is a channel decoding method using a parallel concatenated code parity low density (RF Patent №2461964, IPC N03M 13/11), comprising the steps that, after decoding the parity check code, low density procedure is performed to identify and eliminate short cycles unresolved in the Tanner graph, namely on the threshold value determined by the set of indices of unreliable bits from the obtained plurality construct vectors р частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова. p G occurrence frequencies determined codes having a maximum frequency of a vector G, which is changed in the opposite sign in the codeword that is received at the decoder and decoding is performed again received word.

Наиболее близким по технической сущности к заявляемому изобретению (прототипом) является устройство LDPC-декодирования (Патент РФ №2392737, МПК Н03М 13/00), содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен со входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером LDPC, а выход последнего - со входом выходного буфера. The closest in technical essence to the claimed invention (prototype) is LDPC-decoding device (RF patent №2392737, IPC N03M 13/00) comprising an input buffer, shaper bit logarithmic likelihood ratio, the iterative decoder LDPC, the output buffer and a control device output an input buffer coupled to the input of the bit logarithmic likelihood ratio, which output is connected to an iterative decoder LDPC, a last output - to the input of the output buffer.

Недостатком данного способа и устройства является относительно низкий процент устранения неразрешенных коротких циклов в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум, а недостатком устройства - отсутствие механизма борьбы с короткими циклами. The disadvantage of this method and apparatus is a relatively low percentage of eliminating unauthorized short cycles in the Tanner graph of low-density code which are formed as a result of the iterative decoding code belief propagation, and as a result, a high probability of decoding errors at low signal / noise ratio, and devices drawback - the absence of a mechanism to combat short cycles.

Задачей изобретения является способ и устройство помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, позволяющие снизить вероятность ошибки декодирования сигналов. The object of the invention is a method and apparatus of error-correcting decoding signals received using the parity check code with a low density, that reduce the probability of decoding error.

Задача изобретения решается тем, что способ помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту Object of the invention is achieved in that a method of error-correcting decoding signals obtained using a parity check with a low density, which consists in that after at low density parity decoding code verification is performed to identify and eliminate short unresolved cycles procedure in the Tanner graph, namely by the threshold value determining the set of indices of unreliable bits from the obtained plurality of occurrence frequencies of the vector construct G, determined codes having the maximum frequency появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова, согласно изобретению дополнен тем, что при итеративном декодировании через каждые десять итераций формируют дополнительный вектор достоверности мягких решений демодулятора, по которому осуществляют коррекцию мягких решений демодулятора в процессе декодирования кода и определяют множество недостоверных бит, по которым, в дальнейшем, строят вектор частот встречаемости индексов appearance vector G, changing them to the opposite sign in the codeword that is received at the decoder, and then decoding is performed obtained words according to the invention is complemented in that the iterative decoding every ten iterations form an additional vector reliability of the soft decisions of the demodulator, according to which correction is performed in the demodulator soft decisions code decoding process and determine a plurality of unreliable bits for which, hereinafter, the vector construct indices occurrence frequencies бит при выполнении процедуры выявления и устранения коротких циклов в графе Таннера. bit when performing procedures to identify and eliminate short cycles in a Tanner graph.

Задача изобретения решается тем, что в устройство LDPC-декодирования, содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен с входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером, а выход последнего с входом выходного буфера, согласно изобретению дополнительно введены модуль коррекции логарифмического отношения правдоподобия бит и счетчик промежу Object of the invention is achieved in that in the LDPC-decoding device comprising an input buffer, shaper logarithmic relationship bit likelihood iterative decoder LDPC, the output buffer and a control device, the input buffer output connected to input of the logarithmic relationship bit likelihood whose output is connected to an iterative decoder and the output of the latter with the input of the output buffer, according to the invention is further administered correction unit bit logarithmic likelihood ratio count and the intermediate точных итераций декодирования, вход счетчика промежуточных итераций соединен со вторым выходом итеративного декодера LDPC, а выход счетчика промежуточных итераций - с блоком коррекции, выход которого соединен со вторым входом формирователя логарифмического отношения правдоподобия бит. accurate decoding iterations, iterations counter intermediate input connected to the second output of the iterative decoder LDPC, and the output of the intermediate iteration counter - a correction unit, whose output is connected to a second input of the bit logarithmic likelihood ratio.

Дополнительный вектор оценок W(w 0 , w 1 ,…, w n ) имеет размерность, равную длине кодового слова, и показывает степень недостоверности мягкого решения бита. Additional evaluations vector W (w 0, w 1, ..., w n) has the dimension equal to the codeword length, and indicates the degree of unreliability of soft decision bits. Вектор оценок формируется следующим образом. Vector estimates formed as follows. В случае, если i-й бит после j-й итерации In case the i-th bit after the j-th iteration ( ( j j = = 0..9 0..9 ¯ ¯ ) )

Figure 00000007
принимает значение меньше нуля, то i-е значение индекса вектора оценок увеличивается на единицу. takes a value less than zero, then the i-th value of the evaluation vector index incremented. Таким образом, после каждой десятой итерации элементы вектора оценок принимают значения от 0 до 9. Если i-й элемент равен 0, то данный элемент десять раз декодировался как положительное значение (т.е. в жестком виде 0), а если элемент равен 9, то данный элемент десять раз декодировался как отрицательное значение (т.е. в жестком виде 1). Thus, taking values ​​from 0 to 9. If the i-th element is equal to 0, then the item is ten times decoded as a positive value (i.e., in hard as 0) after each iteration of the tenth elements of the vector estimates, and if the item is 9 , the active element is ten times decoded as a negative value (i.e., in hard as 1). Коррекция мягких решений демодулятора L (0) (c i ) осуществляется следующим образом. Correction of the soft decisions of the demodulator L (0) (c i) is carried out as follows. Если W[i]=0 и L (0) [i]<0, то L (0) [i]=0, а если W[i]=9 и L (0) [i]>0, то L (0) [i]=-1. When W [i] = 0 and L (0) [i] <0, L (0) [i] = 0, and if W [i] = 9 and L (0) [i]> 0, then L (0) [i] = - 1. После чего элементы вектора W(w 0 , w 1 ,…) обнуляются и за следующие десять итераций формируются заново. Then the vector elements W (w 0, w 1, ...) are set to zero and the next ten iterations formed anew. Также вектор дополнительных оценок участвует в процедуре определения и разрешения коротких циклов в графе Таннера, а именно с его помощью определяют индексы недостоверных бит. Also additional vector estimations involved in the determination procedure and permits short cycle in the Tanner graph, and with its help determine indices unreliable bits. Недостоверные биты - это биты, которые можно с одинаковой вероятностью декодировать как «0», так и «1». Invalid bits - are bits that can be decoded with the same probability as "0" and "1". В прототипе (Патент РФ №2461964, МПК Н03М 13/11) недостоверные биты определяются по абсолютному пороговому значению. In the prototype (RF Patent №2461964, IPC N03M 13/11), the invalid bits are determined by the absolute threshold value. При наиболее оптимальном пороге, установленном экспериментально, вероятность, рассчитанная по формуле P=n/N, где N - число индексов, биты которых имеют абсолютное значение меньше порогового, an - число индексов из N, которые декодировались неверно, составляет «0.25», т.е. In the most optimum threshold established experimentally, the probability calculated by the formula P = n / N, where N - number of indices, which bits have an absolute value less than the threshold, an - the number of indexes of N, which are decoded incorrectly, is "0.25", m .e. из ста отобранных индексов только 25 декодировалось неверно. one hundred selected indexes only 25 decoded incorrectly. В случае использования вектора достоверности мягких решений демодулятора W(w 0 , w 1 ,…, w n ) для определения недостоверных бит, где недостоверными решениями являются те, которые имеют в векторе W значение, равное «4» или «5», вероятность, рассчитанная по выше написанной формуле, равна «0.491». In the case of vector reliability soft decisions of the demodulator W (w 0, w 1, ..., w n) for the determination of unreliable bits, where unreliable solutions are those having a vector W value of "4" or "5", the probability calculated according to the formula above written, is "0.491". Таким образом, при использовании вектора достоверности мягких решений демодулятора формируется наиболее полное множество недостоверных бит. Thus, when using the vector reliability demodulator soft decisions forming the most complete set of unreliable bits. На фигуре 4 показана зависимость вероятности ложного декодирования бит от значений вектора достоверности мягких решений демодулятора. Figure 4 shows the probability of false decoding bits from the values ​​of vector reliability of the soft decisions of the demodulator.

Перечисленная новая совокупность существенных признаков позволяет снизить вероятность ошибки декодирования при низких соотношениях сигнал/шум за счет учета статистических особенностей построения кода проверки на четность с низкой плотностью. Listed new set of essential features reduces the probability of decoding errors at low signal / noise ratio by taking into account the statistical characteristics of constructing parity check a low density.

Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленных способа и устройства помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, отсутствуют, что указывает на соответствие изобретения условию патентоспособности «новизна». Conducted prior art analysis revealed that analogs characterized by the combination of features that are identical to all features of the claimed method and apparatus of error-correcting decoding signals received using the parity check code with a low density, are absent, indicating that the invention conforms to the patentability criterion of "novelty".

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. search of known solutions in the art and related fields of technology in order to identify features matching with features distinctive from the prototype of the claimed subject showed that they do not follow a clear manner from the prior art. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на решение указанной задачи. The prior art also was not found popularity influence envisaged essential features of the claimed invention transforms at solution of this problem.

Следовательно, заявленное изобретение соответствует условию патентоспособности «изобретательский уровень». Therefore, the claimed invention meets the patentability criterion "Inventive Level".

«Промышленная применимость» способа обусловлена наличием элементной базы, на основе которой могут быть выполнены устройства, реализующие данный способ с достижением указанного в изобретении назначения. "Industrial Applicability" method due to the presence of the element base, on which the device can be performed, realizing this method is the achievement of the purpose invention.

Заявленный способ поясняется чертежами, на которых показаны: The inventive method is illustrated by drawings, in which:

фигура 1 - последовательность операций способа помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью: Figure 1 - of a method of error-correcting decoding signals received using the parity check code, a low density:

1 - операция декодирования десяти итераций (0-9); 1 - decoding operation ten iterations (0-9);

2 - процедура коррекции мягких решений демодулятора после десятой итерации; 2 - procedure for correction of soft decisions of the demodulator after the tenth iteration;

3 - операция декодирования десяти итераций (10-19); 3 - decoding operation ten iterations (10-19);

4 - процедура коррекции мягких решений демодулятора после двадцатой итерации; 4 - the procedure is the soft decisions of the demodulator correction after the twentieth iteration;

5 - операция декодирования десяти итераций (20-29); 5 - decoding operation ten iterations (20-29);

6 - процедура коррекции мягких решений демодулятора после тридцатой итерации; 6 - a procedure correction of soft decisions of the demodulator after the thirtieth iteration;

7 - операция декодирования десяти итераций (с 10·(k-1) по 10·k); 7 - decoding operation ten iterations (10 · (k-1) to 10 · k);

8 - процедура коррекции мягких решений демодулятора после 10·k итерации; 8 - a procedure correction of soft decisions of the demodulator after 10 · k iteration;

9 - процедура расчета синдрома кодового слова; 9 - the procedure for calculating the codeword syndrome;

10 - процедура обнаружения и устранения коротких циклов в графе Таннера; 10 - procedure to detect and eliminate short cycles in the Tanner graph;

L - кодовое слово, принятое из канала связи; L - codeword received from communication channel;

L n - кодовое слово после n-й операции декодирования; L n - codeword after the n-th decoding operation;

L L n n c c o o r r r r e e c c t t

Figure 00000008
- скорректированное кодовое слово после n-й операции декодирования; - corrected codeword after n-th decoding operation;

L cycle - кодовое слово с неразрешенными короткими циклами в графе Таннера; L cycle - codeword with unresolved short cycles in the Tanner graph;

L with out cycle - кодовое слово с разрешенными короткими циклами в графе Таннера; L with out cycle - a code word with allowed short cycles in the Tanner graph;

L correct - декодированное кодовое слово; L correct - a decoded codeword;

фигура 2 - общий алгоритм способа помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью: Figure 2 - a general algorithm for error-correcting decoding process signals received using the parity check code, a low density:

А1 - инициализация алгоритма декодирования; A1 - initialize the decoding algorithm;

А2 - проверка условия: равен номер текущей итерации предельному числу итераций или нет; A2 - check conditions: equal number of the current iteration, limiting the number of iterations or not;

A3 - инициализация (обнуление) вектора достоверности мягких решений демодулятора; A3 - initialize (reset) the vector reliability soft decisions of the demodulator;

А4 - увеличение номера текущей итерации; A4 - increase in number of the current iteration;

А5 - проверка условия: равен нулю номер текущей итерации по модулю 10 или нет; A5 - check conditions: zero number of the current iteration of the module 10 or not;

А6 - выполнение одной итерации декодирования алгоритма распространения доверия; A6 - an iteration decoding belief propagation;

A7, A8, A9 - формирование вектора достоверности мягких решений демодулятора; A7, A8, A9 - forming vector reliability soft decisions of the demodulator;

А10, А11, А12, А13, А14, А15 - коррекция мягких решений демодулятора; A10, A11, A12, A13, A14, A15 - correction of soft decisions of the demodulator;

А16 - расчет синдрома кодового слова; A16 - calculation codeword syndrome;

А17 - проверка условия: равен синдром кодового слова нулю или нет; A17 - Checking conditions: is the code word syndrome is zero or not;

фигура 3 - схема устройства, реализующая алгоритм декодирования кода проверки на четность с низкой плотностью: Figure 3 - scheme of the device that implements the algorithm to a low density parity check code decoding:

В1 - модуль накопления и хранения входных значений до прихода следующего кодового слова; B1 - input value accumulation and storage module before the next codeword;

B2 - модуль хранения логарифмических отношений правдоподобия каждого бита, с возможностью изменения значений в ходе декодирования; B2 - a storage unit of logarithmic likelihood ratios of each bit, with the possibility of changing values ​​during decoding;

B3 - устройство коррекции входных значений логарифмических отношений правдоподобия каждого бита; B3 - correction device input values ​​of logarithmic likelihood ratios of each bit;

B4 - модуль накопления и хранения декодированных бит; B4 - storage unit and storing the decoded bits;

B5 - декодер низкоплотностного кода; B5 - low-density code decoder;

B6 - счетчик итераций низкоплотностного кодирования; B6 - Counter for Low coding iterations;

B7 - устройство контроля и формирования сигналов управления; B7 - a control unit and generating a control signal;

фигура 4 - зависимость вероятности ложного декодирования бит от значений вектора достоверности мягких решений демодулятора. Figure 4 - the dependence of the probability of false decoding bits from the values ​​of vector reliability of the soft decisions of the demodulator.

На фигуре 1 представлена последовательность операций способа декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью. Figure 1 shows the sequence of operations of the signal decoding process obtained using a parity check code with a low density.

Над принятым из канала связи кодовым словом L в блоке 1 выполняются первые десять итераций декодирования алгоритмом распространения доверия и формируется вектор достоверности мягких решений демодулятора W(w 0 ,w 1 ,…,w n ), элементы которого принимают значения от «0» до «9». Above received from the communication channel codeword L in block 1 the first ten algorithm trust propagation decoding iterations and formed vector reliability of the soft decisions of the demodulator W (w 0, w 1, ..., w n), elements of which take values from "0" to " 9". Если W[i]=9, то ie мягкое решение декодировалось 9 раз как отрицательное значение, если W[i]=0, то i-е мягкое решение декодировалось 9 раз как положительное значение. When W [i] = 9, ie the soft decision decode 9 times as a negative value when W [i] = 0, the i-th soft decision decode 9 times as a positive value. В блоке 2 на основе значений вектора W производится коррекция мягких решений демодулятора In block 2 based vector W correction values ​​produced soft decisions of the demodulator L L n n c c o o r r r r e e c c t t

Figure 00000008
, вектор достоверности W обнуляется и в блоках 3, 4, 5, 6, 7, 8 процесс повторяется. Vector reliability and W is zeroed in blocks 3, 4, 5, 6, 7, 8, the process is repeated. В блоке 9 после 10·k итераций выполняется расчет синдрома кодового слова. In block 9 after 10 · k iterations calculates codeword syndrome. В случае если синдром равен 0, кодовое слово поступает на выход (L correct ), в противном случае - на процедуру обнаружения и устранения коротких циклов в графе Таннера (L cycle ). If the syndrome is 0, a code word is output (L correct), otherwise - on the detection procedure and to eliminate short cycles in the Tanner graph (L cycle). Данная процедура выполняется, как и в прототипе, за исключением того, что множество недостоверных бит определяется не по пороговому значению, а по значениям вектора достоверности мягких решений демодулятора, а именно недостоверные биты - биты, имеющие значения вектора W, равные «4» или «5». This procedure is performed as in the prior art, except that the set of false bit is not determined by the threshold value, and from the values ​​of vector reliability of the soft decisions of the demodulator, namely, the invalid bits - bits having the value of the vector W, equal to "4" or " five". После устранения коротких циклов кодовое слово L with out cycle вновь поступает на блок 1 и заново повторяется весь цикл обработки. After eliminating the short codeword cycles L with out cycle again enters the unit 1 and again repeats the entire processing cycle.

Общий алгоритм способа декодирования сигналов с использованием кода проверки на четность с низкой плотностью представлен на фигуре 2. На начальном этапе декодирования сигнала текущее число итераций ставится равным нулю и инициализируется вектор достоверности мягких решений демодулятора: The general algorithm decoding method for using a low density parity check code is shown in Figure 2. In the initial stage of the decoding signal the current number of iterations is put equal to zero and initializes the vector reliability soft decisions of the demodulator: n n = = 0 0 , W[m] , W [m] = = 0 0 , m , m = = 0 0 , . ... ,N-1 , N-1 ¯ ¯

Figure 00000009
(блок А1). (Block A1). Далее проверяется условие: не превышает ли номер текущей итерации предельное число итераций декодирования (блок А2). Next, the condition is checked: whether the current iteration number does not exceed the limit number of decoding iterations (block A2). В случае превышения кодовое слово поступает на выход, в противном случае - снова происходит инициализация вектора достоверности мягких решений демодулятора (блок A3) и текущий номер итерации декодирования увеличивается на один (блок А4). In case of excess codeword is output, otherwise - again initializes the vector reliability demodulator soft decisions (block A3) and the current decoding iteration number is increased by one (block A4). Затем проверяется условие: равен ли нулю по модулю десять номер текущей итерации (блок А5). Then the condition is checked: whether is zero modulo ten number of the current iteration (block A5). Если не равен, то продолжается формирование вектора недостоверности мягких решений демодулятора (блок А7, А8, А9). If not equal, then the formation of the vector unreliability soft decisions of the demodulator (block A7, A8, A9). В противном случае - вектор достоверности мягких решений демодулятора сформирован и выполняется коррекция мягких решений демодулятора - от начала до конца кодового слова в цикле (блок А10) перебираются значения вектора достоверности. Otherwise - vector reliability demodulator soft decisions generated and executed correction demodulator soft decisions - from the beginning to the end of the codeword in the cycle (block A10) are moving confidence value vector. Если элемент вектора принимает крайние значения - «0» или «9» (блок A11), то проверяется условие: если для конкретного мягкого решения бита значение вектора достоверности равно «0» (данный бит десять раз декодировался как положительное значение), а мягкое решение демодулятора -отрицательное значение (блок А 12), то мягкому решению демодулятора присваивается значение «0» (блок А13). If the vector element takes the extreme values ​​- "0" or "9" (block A11), the condition is checked: if for a particular soft decision bit value of the vector reliability is "0" (the bit is ten times decoded as a positive value), and the soft decision demodulator -negative value (A block 12), then the soft decision demodulator is set to "0" (block A13). Если для конкретного мягкого решения бита значение вектора достоверности равно «9» (данный бит десять раз декодировался как отрицательное значение), а мягкое решение демодулятора - положительное значение (блок А14), то мягкому решению демодулятора присваивается значение «-1» (блок А15). If a particular bit soft decision value is equal to the vector reliability "9" (ten times the bit was decoded as a negative value), and the soft decision demodulator - positive value (block A14), then the soft decision demodulator is set to "-1" (block A15) . После коррекции мягких решений демодулятора рассчитываем синдром декодированного кодового слова (блок 17), если он равен «0», то кодовое слово поступает на выход. After the soft decisions of the demodulator forward correction decoded codeword syndrome (block 17) if it is "0", then the codeword is output. В противном случае данное кодовое слово снова поступает на вход блока 1, и весь цикл обработки повторяется заново. Otherwise, this code word is again supplied to the input of the block 1, the entire processing cycle repeats.

На фигуре 3 представлена схема устройства, реализующая алгоритм декодирования кода проверки на четность с низкой плотностью. Figure 3 is a diagram of a device implementing the algorithm to a low density parity check code decoding.

Декодируемое кодовое слово поступает во входной буфер В1, предназначенный для накопления входных данных во время декодирования и предотвращения потери входных данных. Decoded codeword fed into B1 input buffer for accumulating input data during decoding, and to prevent the loss of input data. Из входного буфера считывается декодируемое кодовое слово, и в блоке В2 формируется мягкое решение демодулятора, которое в процессе декодирования может изменяться после десяти итераций с помощью модуля коррекции логарифмического отношения правдоподобия бит ВЗ. Is read from the input buffer decoded codeword, and the block B2 is formed by soft decision demodulator that is in the process of decoding may be changed after ten iterations using correction unit bit log likelihood ratio OT. Исправление ошибок в принятом кодовом слове достигается за счет итеративного декодера LDPC B5. Correction of errors in the received codeword is achieved by an iterative decoder LDPC B5. Процесс декодирования контролируется счетчиком промежуточных итераций В6, который формирует сигнал переполнения при достижении значения «10». The decoding process is controlled by the iteration counter intermediate B6, which generates an overflow signal when the value "10". В этот момент происходит коррекция логарифмических отношений правдоподобия входных бит (мягкого решения демодулятора) В3. At this point, there is a correction of the logarithmic likelihood ratios input bits (soft decision demodulator) B3. Результат декодирования записывается в выходной буфер В4, предназначенный для согласования скорости считывания декодированных бит и тактовой частоты декодера. The result of the decoding is written into the output buffer B4, intended for rate matching reading the decoded bits and the clock frequency of the decoder. Все вышеперечисленные блоки формируют сигналы индикации работы на устройство управления В7, которое в зависимости от режима работы формирует различные управляющие воздействия. All the above blocks provide signals indicating operation B7 control device which, depending on the operating mode generates various control actions.

Для реализации описанной выше схемы была использована программируемая логическая интегральная схема (ПЛИС) XC6VSX240T-FF1156-1 фирмы Xilinx семейства Virtex-6. To implement the scheme described above was used programmable logic integrated circuit (FPGA) XC6VSX240T-FF1156-1 company Xilinx Virtex-6 family. В таблице представлены ресурсы ПЛИС, необходимые для реализации предлагаемого способа помехоустойчивого декодирования. The table shows the FPGA resources required to implement the proposed method for error-correcting decoding.

Таблица 1 Table 1
Ресурсоемкость предлагаемого способа помехоустойчивого декодирования Resource capacity of the method of error-correcting decoding
Ресурсоемкость Slice Logic Resource use Slice Logic используется used всего Total проценты interest
Количество Slice Registers Number of Slice Registers 36391 36391 58880 58880 61% 61%
Количество Slice LUTs Number of Slice LUTs 45765 45765 58880 58880 77% 77%
Количество используемых как логика Number used as logic 45600 45600 58880 58880 77% 77%
Количество используемых как память Number used as a memory 165 165 24320 24320 0% 0%
Ресурсоемкость специализированных блоков Resource use specialized units
Количество Block RAM/FIFO Number Block RAM / FIFO 153 153 244 244 62% 62%
Количество BUFG/BUFGCTRLs Number BUFG / BUFGCTRLs 6 6 32 32 18% 18%
Количество DSP48Es Number DSP48Es 180 180 640 640 28% 28%
Количество PLL ADVs Number of PLL ADVs 1 one 6 6 16% sixteen%

Для оценки эффективности предлагаемого способа помехоустойчивого декодирования по сравнению с существующим способом, описанном в прототипе, была разработана программная модель декодера в среде Microsoft Visual Studio 2008, в которой реализуется алгоритм предлагаемого способа помехоустойчивого декодирования для сигналов стандарта DVB-S2, где код проверки на четность с низкой плотностью входит в состав каскадной конструкции, а также для параллельной схемы турбо-кодирования, где код проверки на четность с низкой плотностью является компонентным кодо To evaluate the effectiveness of the method of error-correcting decoding as compared with the existing method described in the prior art, it was developed by a software decoder model in Microsoft Visual Studio 2008 medium in which is implemented an algorithm of the method of error-correcting decoding for a DVB-S2 standard signal, wherein the verification code parity low density part of the cascade structure, but also for parallel turbo coding scheme, wherein the verification code on a low density parity component is Kodo . . Эксперимент показал, что при использовании модуляции QPSK для стандарта DVB-S2 для всех скоростей кодирования энергетический выигрыш составил 0.2-0.3 дБ. The experiment showed that when using a QPSK modulation for DVB-S2 standard for all encoding rates energy gain was 0.2-0.3 dB. При использовании параллельной схемы турбо кодирования - 0.5 дБ. When using the parallel turbo coding scheme - 0.5 dB.

Claims (2)

  1. 1. Способ помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью, осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в ни 1. A method for error-correcting decoding signals obtained using a low density parity check code consisting in that, after the at a low density parity check code decoding, the procedure is performed to identify and eliminate short cycles unresolved in the Tanner graph, and it is determined by the threshold value a plurality of bit indexes unreliable, obtained by a plurality of occurrence frequencies of the vector construct G, determined codes having a maximum frequency of a vector G, no change in х знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова, отличающийся тем, что при итеративном декодировании через каждые десять итераций формируют дополнительный вектор достоверности мягких решений демодулятора, по которому осуществляют коррекцию мягких решений демодулятора в процессе декодирования кода и определяют множество недостоверных бит, по которым, в дальнейшем, строят вектор частот встречаемости индексов бит при выполнении процедуры выявления и устранения x opposite sign in the codeword that is received at the decoder, and then decoding is performed the received word, characterized in that the iterative decoding every ten iterations form an additional vector reliability of the soft decisions of the demodulator, by which the correction of the soft decisions of the demodulator during code decoding and determining a plurality of unreliable bits for which, hereinafter, the vector construct occurrence frequency index bit when performing detection and elimination procedure коротких циклов в графе Таннера. short cycles in a Tanner graph.
  2. 2. Устройство помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен с входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером LDPC, а выход последнего - со входом выходного буфера, отличающееся тем, что дополнительно введены модуль корре 2. Device error-correcting decoding signals received using the parity check code with a low density, comprising: input buffer driver bit logarithmic likelihood ratio, the iterative decoder LDPC, the output buffer and a control device, the input buffer output connected to the input of driver bit logarithmic likelihood ratio, an output connected to an iterative decoder LDPC, a last output - to the input of the output buffer, characterized in that it additionally introduced correlator module кции логарифмического отношения правдоподобия бит и счетчик промежуточных итераций декодирования, вход счетчика соединен со вторым выходом итеративного декодера LDPC, а выход счетчика промежуточных итераций - с входом модуля коррекции логарифмического отношения правдоподобия бит, выход которого соединен со вторым входом формирователя логарифмического отношения правдоподобия бит. ktsii log likelihood ratio and bit counter intermediate decoding iterations counter input coupled to the second output of the iterative decoder LDPC, and the output of the intermediate iteration counter - to the input module logarithmic likelihood ratio correction bits, whose output is connected to a second input of the bit logarithmic likelihood ratio.
RU2013101656A 2013-01-11 2013-01-11 Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code RU2522299C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2013101656A RU2522299C1 (en) 2013-01-11 2013-01-11 Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2013101656A RU2522299C1 (en) 2013-01-11 2013-01-11 Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code

Publications (2)

Publication Number Publication Date
RU2522299C1 true RU2522299C1 (en) 2014-07-10
RU2013101656A true RU2013101656A (en) 2014-07-20

Family

ID=51215342

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013101656A RU2522299C1 (en) 2013-01-11 2013-01-11 Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code

Country Status (1)

Country Link
RU (1) RU2522299C1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2667370C1 (en) * 2017-11-07 2018-09-19 Валерий Владимирович Золотарев Method for decoding linear cascade code

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127659B2 (en) * 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus
RU2310274C1 (en) * 2003-11-14 2007-11-10 Самсунг Электроникс Ко., Лтд. Device and method for encoding/decoding a channel with usage of parallel cascade even parity check code with low density
RU2392737C2 (en) * 2004-07-21 2010-06-20 Квэлкомм Инкорпорейтед Ldpc decoding device and method
US8166367B2 (en) * 2007-12-06 2012-04-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding channel in a communication system using low-density parity-check codes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2310274C1 (en) * 2003-11-14 2007-11-10 Самсунг Электроникс Ко., Лтд. Device and method for encoding/decoding a channel with usage of parallel cascade even parity check code with low density
RU2392737C2 (en) * 2004-07-21 2010-06-20 Квэлкомм Инкорпорейтед Ldpc decoding device and method
US7127659B2 (en) * 2004-08-02 2006-10-24 Qualcomm Incorporated Memory efficient LDPC decoding methods and apparatus
US8166367B2 (en) * 2007-12-06 2012-04-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding channel in a communication system using low-density parity-check codes

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2667370C1 (en) * 2017-11-07 2018-09-19 Валерий Владимирович Золотарев Method for decoding linear cascade code

Also Published As

Publication number Publication date Type
RU2013101656A (en) 2014-07-20 application

Similar Documents

Publication Publication Date Title
Poulliat et al. Design of regular (2, d/sub c/)-LDPC codes over GF (q) using their binary images
Trifonov Efficient design and decoding of polar codes
US7895500B2 (en) Systems and methods for reduced complexity LDPC decoding
US20050204271A1 (en) Method for decoding a low-density parity check (LDPC) codeword
US20100042890A1 (en) Error-floor mitigation of ldpc codes using targeted bit adjustments
US20050149840A1 (en) Apparatus for encoding and decoding of low-density parity-check codes, and method thereof
US20050229087A1 (en) Decoding apparatus for low-density parity-check codes using sequential decoding, and method thereof
US20070022354A1 (en) Method for encoding low-density parity check code
US6751770B2 (en) Decoder for iterative decoding of binary cyclic codes
Miller et al. Bounds on the maximum-likelihood decoding error probability of low-density parity-check codes
US20050257124A1 (en) Node processors for use in parity check decoders
US7055090B2 (en) Coding apparatus, coding method, decoding apparatus, and decoding method
US20050204272A1 (en) Decoding apparatus and method and information processing apparatus and method
US20030023917A1 (en) Node processors for use in parity check decoders
US20110126078A1 (en) Decoder and decoding method for low-density parity check codes constructed based on reed-solomon codes
US20090259912A1 (en) Ldpc codes and stochastic decoding for optical transmission
US20020002695A1 (en) Method and system for decoding
US7500172B2 (en) AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
Kabashima et al. Statistical mechanics of low-density parity-check codes
US8245117B1 (en) Low complexity chien search in chase-type decoding of reed-solomon codes
US7853854B2 (en) Iterative decoding of a frame of data encoded using a block coding algorithm
Guruswami et al. Polar codes: Speed of polarization and polynomial gap to capacity
Zimmermann et al. Reduced complexity LDPC decoding using forced convergence
Lentmaier et al. On the thresholds of generalized LDPC convolutional codes based on protographs
US8464142B2 (en) Error-correction decoder employing extrinsic message averaging

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20150112