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 Download PDF

Info

Publication number
RU2522299C1
RU2522299C1 RU2013101656/08A RU2013101656A RU2522299C1 RU 2522299 C1 RU2522299 C1 RU 2522299C1 RU 2013101656/08 A RU2013101656/08 A RU 2013101656/08A RU 2013101656 A RU2013101656 A RU 2013101656A RU 2522299 C1 RU2522299 C1 RU 2522299C1
Authority
RU
Russia
Prior art keywords
decoding
vector
output
code
demodulator
Prior art date
Application number
RU2013101656/08A
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
Application filed by Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России) filed Critical Государственное казенное образовательное учреждение высшего профессионального образования Академия Федеральной службы охраны Российской Федерации (Академия ФСО России)
Priority to RU2013101656/08A priority Critical patent/RU2522299C1/en
Application granted granted Critical
Publication of RU2522299C1 publication Critical patent/RU2522299C1/en
Publication of RU2013101656A publication Critical patent/RU2013101656A/en

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

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

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

Под помехоустойчивым кодированием понимается кодирование символов цифрового сигнала данных, характеризующееся использованием кодовых комбинаций, позволяющих обнаруживать и (или) исправлять ошибки в этом сигнале (ГОСТ 17657-79. Передача данных. Термины и определения. - с.9).Interference-resistant coding refers to the coding of the symbols of a digital data signal, characterized by the use of code combinations that can detect and (or) correct errors in this signal (GOST 17657-79. Data transmission. Terms and definitions. - p. 9).

Под помехоустойчивым декодированием понимается операция обратная кодированию символов цифрового сигнала данных (ГОСТ 17657-79. Передача данных. Термины и определения. - с.9).Interference-free decoding is understood as the reverse operation of encoding the symbols of a digital data signal (GOST 17657-79. Data transmission. Terms and definitions. - p. 9).

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

Под параллельным каскадным кодом понимается схема кодирования, состоящая из двух параллельно соединенных через перемежитель кодов (Р.Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. - Москва: Техносфера, 2005, с.238).A parallel cascade code is understood as a coding scheme consisting of two codes connected in parallel through an interleaver (R. Morelos-Zaragoza. The art of noise-resistant coding. Methods, algorithms, applications. - Moscow: Technosfera, 2005, p.238).

Известен способ декодирования низкоплотностного кода - алгоритм распространения доверия (Р.Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. - Москва: Техносфера, 2005, сс. 262-263). Принцип алгоритма заключается в том, что каждый узел итеративно обменивается данными с соседними узлами через соединяющие их ребра. Начальными данными для алгоритма являются мягкие решения демодулятора, а именно логарифмическое отношение правдоподобия (LLR) для каждого бита кодового слова:A known method of decoding a low-density code is the trust propagation algorithm (R. Morelos-Zaragoza. The art of noise-resistant coding. Methods, algorithms, application. - Moscow: Technosphere, 2005, pp. 262-263). The principle of the algorithm is that each node iteratively exchanges data with neighboring nodes through the edges connecting them. The initial data for the algorithm are the soft solutions of the demodulator, namely the logarithmic likelihood ratio (LLR) for each bit of the codeword:

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

Figure 00000001
, L ( 0 ) ( c i ) = log P ( c i = 0 | | | y i ) P ( c i = one | | | y i )
Figure 00000001
,

где:Where:

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

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

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

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

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

Figure 00000002
, L ¯ ( l + one ) = L ¯ ( 0 ) + α L ¯ e x t ( l )
Figure 00000002
,

гдеWhere

L ¯ ( l + 1 )

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

L ¯ ( 0 )

Figure 00000004
- мягкие решения демодулятора; L ¯ ( 0 )
Figure 00000004
- soft demodulator solutions;

L ¯ e x t ( l )

Figure 00000005
- сторонняя информация на l-й итерации. L ¯ e x t ( l )
Figure 00000005
- third-party information at the l-th iteration.

В классическом алгоритме распространения доверия сторонняя информация рассчитывается как сумма произведений, а в упрощенном варианте этого алгоритма - как сумма минимальных элементов. Упрощенный алгоритм по помехоустойчивости уступает классическому примерно 0,5-1 децибел, но получил широкое применение в виду простой реализации на практике.In the classical confidence spreading algorithm, third-party information is calculated as the sum of the products, and in a simplified version of this algorithm, as the sum of the minimum elements. The simplified noise immunity algorithm is inferior to the classical one by about 0.5-1 decibels, but has been widely used in view of a simple implementation in practice.

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

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

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

На основе данного вектора принимается жесткое решение - вектор V.Based on this vector, a tough decision is made - vector V.

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

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

где вектор S состоит из (n-k) компонент (n - полная длина кодового слова, k - информационная длина кодового слова) и рассчитывается по (n-k) проверочным уравнениям, HT - транспонированная проверочная матрица кода. В случае если вектор V является кодовым словом, все (n-k) компонент равны 0, т.е. все (n-k) проверочных уравнений равны 0.where the vector S consists of (nk) components (n is the total length of the codeword, k is the informational length of the codeword) and is calculated by (nk) verification equations, H T is the transposed verification matrix of the code. If the vector V is a codeword, all (nk) components are 0, i.e. all (nk) test equations are 0.

Недостатком данного способа является отсутствие механизмов борьбы с неразрешенными короткими циклами в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум.The disadvantage of this method is the lack of mechanisms to deal with unresolved short cycles in the Tanner graph of the low-density code that are generated as a result of iterative decoding of the code by the confidence propagation algorithm, and, as a result, there is a high probability of decoding error at low signal to noise ratios.

Неразрешенный короткий цикл - цикл длиной шесть ребер, битовые узлы которого декодируются неоднозначно.Unresolved short cycle - a cycle with a length of six edges, the bit nodes of which are decoded ambiguously.

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

Недостатком данного способа и устройства является отсутствие механизмов борьбы с неразрешенными короткими циклами в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум.The disadvantage of this method and device is the lack of mechanisms to deal with unresolved short cycles in the Tanner graph of the low-density code that are generated as a result of iterative decoding of the code by the confidence propagation algorithm, and, as a result, there is a high probability of decoding error at low signal to noise ratios.

Наиболее близким по технической сущности к заявляемому изобретению (прототипом) является способ декодирования канала с использованием параллельного каскадного кода проверки на четность с низкой плотностью (Патент РФ №2461964, МПК Н03М 13/11), заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова.The closest in technical essence to the claimed invention (prototype) is a channel decoding method using a parallel cascading low density density parity check code (RF Patent No. 2461964, IPC Н03М 13/11), which consists in the fact that after decoding the parity check code with a low density, the procedure for identifying and eliminating short unresolved cycles in the Tanner graph is carried out, namely, by the threshold value, a plurality of indices of invalid bits are determined, a vector is constructed from the obtained set p frequency of occurrence G, determine the indices having the maximum frequency of occurrence in the vector G, change their sign in the opposite in the code word that was received by the decoder, and again decode the resulting word.

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

Недостатком данного способа и устройства является относительно низкий процент устранения неразрешенных коротких циклов в графе Таннера низкоплотностного кода, которые образуются в результате итеративного декодирования кода алгоритмом распространения доверия, и, как следствие, высокая вероятность ошибки декодирования при низких соотношениях сигнал/шум, а недостатком устройства - отсутствие механизма борьбы с короткими циклами.The disadvantage of this method and device is the relatively low percentage of elimination of unresolved short cycles in the Tanner graph of the low-density code, which are generated as a result of iterative decoding of the code by the trust propagation algorithm, and, as a result, the high probability of decoding errors at low signal-to-noise ratios, and the disadvantage of the device is lack of a mechanism to combat short cycles.

Задачей изобретения является способ и устройство помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, позволяющие снизить вероятность ошибки декодирования сигналов.The objective of the invention is a method and apparatus for noise-free decoding of signals obtained using a low-density parity check code, which reduces the likelihood of signal decoding errors.

Задача изобретения решается тем, что способ помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова, согласно изобретению дополнен тем, что при итеративном декодировании через каждые десять итераций формируют дополнительный вектор достоверности мягких решений демодулятора, по которому осуществляют коррекцию мягких решений демодулятора в процессе декодирования кода и определяют множество недостоверных бит, по которым, в дальнейшем, строят вектор частот встречаемости индексов бит при выполнении процедуры выявления и устранения коротких циклов в графе Таннера.The objective of the invention is solved in that a method for noise-free decoding of signals obtained using a low-density parity check code, which consists in the fact that after decoding a low-density parity check code, a procedure for identifying and eliminating short unresolved cycles in the Tanner graph is performed, namely the threshold value determines the set of indices of invalid bits, from the resulting set, construct the frequency vector of occurrence G, determine the indices having the maximum frequency occurrences in the vector G, they change the sign in the opposite in the code word that was sent to the decoder, and again decode the resulting word, according to the invention is supplemented by the fact that iterative decoding every ten iterations forms an additional vector of reliability of the soft solutions of the demodulator, according to which carry out the correction of the soft decisions of the demodulator in the process of decoding the code and determine the set of unreliable bits, which, in the future, build the vector of frequencies of occurrence of indices bit when performing the procedure for identifying and eliminating short cycles in the Tanner graph.

Задача изобретения решается тем, что в устройство LDPC-декодирования, содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен с входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером, а выход последнего с входом выходного буфера, согласно изобретению дополнительно введены модуль коррекции логарифмического отношения правдоподобия бит и счетчик промежуточных итераций декодирования, вход счетчика промежуточных итераций соединен со вторым выходом итеративного декодера LDPC, а выход счетчика промежуточных итераций - с блоком коррекции, выход которого соединен со вторым входом формирователя логарифмического отношения правдоподобия бит.The objective of the invention is solved in that in an LDPC decoding device containing an input buffer, a bit likelihood logarithmic shaper, an iterative LDPC decoder, an output buffer and a control device, an input buffer output is connected to an input of a bit likelihood logarithm shaper, the output of which is connected to an iterative decoder and the output of the latter with the input of the output buffer, according to the invention, a module for correction of the logarithmic likelihood ratio of bits and an intermediate counter are additionally introduced For accurate decoding iterations, the input of the intermediate iteration counter is connected to the second output of the iterative LDPC decoder, and the output of the intermediate iteration counter is connected to the correction unit, the output of which is connected to the second input of the bit likelihood ratio generator.

Дополнительный вектор оценок W(w0, w1,…, wn) имеет размерность, равную длине кодового слова, и показывает степень недостоверности мягкого решения бита. Вектор оценок формируется следующим образом. В случае, если i-й бит после j-й итерации ( j = 0..9 ¯ )

Figure 00000007
принимает значение меньше нуля, то i-е значение индекса вектора оценок увеличивается на единицу. Таким образом, после каждой десятой итерации элементы вектора оценок принимают значения от 0 до 9. Если i-й элемент равен 0, то данный элемент десять раз декодировался как положительное значение (т.е. в жестком виде 0), а если элемент равен 9, то данный элемент десять раз декодировался как отрицательное значение (т.е. в жестком виде 1). Коррекция мягких решений демодулятора L(0)(ci) осуществляется следующим образом. Если W[i]=0 и L(0)[i]<0, то L(0)[i]=0, а если W[i]=9 и L(0)[i]>0, то L(0)[i]=-1. После чего элементы вектора W(w0, w1,…) обнуляются и за следующие десять итераций формируются заново. Также вектор дополнительных оценок участвует в процедуре определения и разрешения коротких циклов в графе Таннера, а именно с его помощью определяют индексы недостоверных бит. Недостоверные биты - это биты, которые можно с одинаковой вероятностью декодировать как «0», так и «1». В прототипе (Патент РФ №2461964, МПК Н03М 13/11) недостоверные биты определяются по абсолютному пороговому значению. При наиболее оптимальном пороге, установленном экспериментально, вероятность, рассчитанная по формуле P=n/N, где N - число индексов, биты которых имеют абсолютное значение меньше порогового, a n - число индексов из N, которые декодировались неверно, составляет «0.25», т.е. из ста отобранных индексов только 25 декодировалось неверно. В случае использования вектора достоверности мягких решений демодулятора W(w0, w1,…, wn) для определения недостоверных бит, где недостоверными решениями являются те, которые имеют в векторе W значение, равное «4» или «5», вероятность, рассчитанная по выше написанной формуле, равна «0.491». Таким образом, при использовании вектора достоверности мягких решений демодулятора формируется наиболее полное множество недостоверных бит. На фигуре 4 показана зависимость вероятности ложного декодирования бит от значений вектора достоверности мягких решений демодулятора.An additional vector of estimates W (w 0 , w 1 , ..., w n ) has a dimension equal to the length of the code word and shows the degree of inaccuracy of the soft bit solution. The vector of estimates is formed as follows. In case the ith bit after the jth iteration ( j = 0..9 ¯ )
Figure 00000007
takes a value less than zero, then the ith value of the index of the vector of estimates increases by one. Thus, after every tenth iteration, the elements of the estimation vector take values from 0 to 9. If the ith element is 0, then this element was decoded ten times as a positive value (i.e., in hard form 0), and if the element is 9 , then this element was decoded ten times as a negative value (i.e., in hard form 1). Correction of soft solutions of the demodulator L (0) (c i ) is as follows. If W [i] = 0 and L (0) [i] <0, then L (0) [i] = 0, and if W [i] = 9 and L (0) [i]> 0, then L (0) [i] = - 1. After that, the elements of the vector W (w 0 , w 1 , ...) are zeroed and over the next ten iterations are formed anew. Also, the vector of additional estimates participates in the procedure for determining and resolving short cycles in the Tanner graph, namely, with its help, indices of invalid bits are determined. Invalid bits are bits that can be decoded with the same probability as “0” or “1”. In the prototype (RF Patent No. 2461964, IPC Н03М 13/11), invalid bits are determined by the absolute threshold value. At the most optimal threshold established experimentally, the probability calculated by the formula P = n / N, where N is the number of indices whose bits have an absolute value less than the threshold, an is the number of indices from N that were decoded incorrectly, is “0.25”, t .e. out of a hundred selected indices, only 25 were decoded incorrectly. In the case of using the reliability vector of soft solutions of the demodulator W (w 0 , w 1 , ..., w n ) to determine invalid bits, where invalid solutions are those that have a value in the vector W equal to "4" or "5", the probability calculated according to the above written formula, is equal to "0.491". Thus, when using the reliability vector of soft solutions of the demodulator, the most complete set of invalid bits is formed. The figure 4 shows the dependence of the probability of false decoding of bits on the values of the reliability vector of soft decisions of the demodulator.

Перечисленная новая совокупность существенных признаков позволяет снизить вероятность ошибки декодирования при низких соотношениях сигнал/шум за счет учета статистических особенностей построения кода проверки на четность с низкой плотностью.The listed new set of essential features allows to reduce the likelihood of decoding errors at low signal-to-noise ratios by taking into account the statistical features of constructing a low-density parity check code.

Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленных способа и устройства помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, отсутствуют, что указывает на соответствие изобретения условию патентоспособности «новизна».The analysis of the prior art made it possible to establish that there are no analogues that are characterized by a combination of features that are identical to all the features of the claimed method and device for noise-free decoding of signals received using the low-density parity check code, which indicates that the invention meets the patentability condition of “novelty”.

Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного объекта, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на решение указанной задачи.Search results for known solutions in this and related fields of technology in order to identify features that match the distinctive features of the claimed object from the prototype showed that they do not follow explicitly from the prior art. The prior art also did not reveal the popularity of the impact provided for by the essential features of the claimed invention transformations on the solution of this problem.

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

«Промышленная применимость» способа обусловлена наличием элементной базы, на основе которой могут быть выполнены устройства, реализующие данный способ с достижением указанного в изобретении назначения.The "industrial applicability" of the method is due to the presence of an element base, on the basis of which devices can be made that implement this method with the achievement of the destination specified in the invention.

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

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

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

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

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

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

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

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

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

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

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

10 - процедура обнаружения и устранения коротких циклов в графе Таннера;10 is a procedure for detecting and eliminating short cycles in the Tanner column;

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

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

L n c o r r e c t

Figure 00000008
- скорректированное кодовое слово после n-й операции декодирования; L n c o r r e c t
Figure 00000008
- the corrected codeword after the nth decoding operation;

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

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

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

фигура 2 - общий алгоритм способа помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью:figure 2 is a General algorithm for a noiseless decoding of signals received using a low density parity check code:

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

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

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

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

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

А6 - выполнение одной итерации декодирования алгоритма распространения доверия;A6 - execution of one iteration of decoding a confidence-propagation algorithm;

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

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

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

А17 - проверка условия: равен синдром кодового слова нулю или нет;A17 - condition check: the codeword syndrome is equal to zero or not;

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

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

B2 - модуль хранения логарифмических отношений правдоподобия каждого бита, с возможностью изменения значений в ходе декодирования;B2 - module for storing the logarithmic likelihood relations of each bit, with the ability to change values during decoding;

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

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

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

B6 - счетчик итераций низкоплотностного кодирования;B6 - counter of iterations of low-density coding;

B7 - устройство контроля и формирования сигналов управления;B7 - device for monitoring and generating control signals;

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

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

Над принятым из канала связи кодовым словом L в блоке 1 выполняются первые десять итераций декодирования алгоритмом распространения доверия и формируется вектор достоверности мягких решений демодулятора W(w0,w1,…,wn), элементы которого принимают значения от «0» до «9». Если W[i]=9, то i-e мягкое решение декодировалось 9 раз как отрицательное значение, если W[i]=0, то i-е мягкое решение декодировалось 9 раз как положительное значение. В блоке 2 на основе значений вектора W производится коррекция мягких решений демодулятора L n c o r r e c t

Figure 00000008
, вектор достоверности W обнуляется и в блоках 3, 4, 5, 6, 7, 8 процесс повторяется. В блоке 9 после 10·k итераций выполняется расчет синдрома кодового слова. В случае если синдром равен 0, кодовое слово поступает на выход (Lcorrect), в противном случае - на процедуру обнаружения и устранения коротких циклов в графе Таннера (Lcycle). Данная процедура выполняется, как и в прототипе, за исключением того, что множество недостоверных бит определяется не по пороговому значению, а по значениям вектора достоверности мягких решений демодулятора, а именно недостоверные биты - биты, имеющие значения вектора W, равные «4» или «5». После устранения коротких циклов кодовое слово Lwith out cycle вновь поступает на блок 1 и заново повторяется весь цикл обработки.The first ten decoding iterations of the decoding algorithm adopted by the trust propagation algorithm are performed over the code word L received from the communication channel and the confidence vector of soft decisions of the demodulator W (w 0 , w 1 , ..., w n ) is formed, the elements of which take values from "0" to 9". If W [i] = 9, then ie the soft solution was decoded 9 times as a negative value, if W [i] = 0, then the ith soft solution was decoded 9 times as a positive value. In block 2, based on the values of the vector W, the soft solutions of the demodulator are corrected L n c o r r e c t
Figure 00000008
, the confidence vector W is zeroed and in blocks 3, 4, 5, 6, 7, 8 the process is repeated. In block 9, after 10 · k iterations, the codeword syndrome is calculated. If the syndrome is 0, the code word is output (L correct ), otherwise, the procedure for detecting and eliminating short cycles in the Tanner graph (L cycle ). This procedure is performed, as in the prototype, except that the set of invalid bits is determined not by the threshold value, but by the values of the reliability vector of the soft decisions of the demodulator, namely, invalid bits - bits having the values of the vector W equal to "4" or "5". After eliminating short cycles, the code word L with out cycle reappears to block 1 and the entire processing cycle is repeated.

Общий алгоритм способа декодирования сигналов с использованием кода проверки на четность с низкой плотностью представлен на фигуре 2. На начальном этапе декодирования сигнала текущее число итераций ставится равным нулю и инициализируется вектор достоверности мягких решений демодулятора: n = 0 , W[m] = 0 , m = 0 , ,N-1 ¯

Figure 00000009
(блок А1). Далее проверяется условие: не превышает ли номер текущей итерации предельное число итераций декодирования (блок А2). В случае превышения кодовое слово поступает на выход, в противном случае - снова происходит инициализация вектора достоверности мягких решений демодулятора (блок A3) и текущий номер итерации декодирования увеличивается на один (блок А4). Затем проверяется условие: равен ли нулю по модулю десять номер текущей итерации (блок А5). Если не равен, то продолжается формирование вектора недостоверности мягких решений демодулятора (блок А7, А8, А9). В противном случае - вектор достоверности мягких решений демодулятора сформирован и выполняется коррекция мягких решений демодулятора - от начала до конца кодового слова в цикле (блок А10) перебираются значения вектора достоверности. Если элемент вектора принимает крайние значения - «0» или «9» (блок A11), то проверяется условие: если для конкретного мягкого решения бита значение вектора достоверности равно «0» (данный бит десять раз декодировался как положительное значение), а мягкое решение демодулятора -отрицательное значение (блок А 12), то мягкому решению демодулятора присваивается значение «0» (блок А13). Если для конкретного мягкого решения бита значение вектора достоверности равно «9» (данный бит десять раз декодировался как отрицательное значение), а мягкое решение демодулятора - положительное значение (блок А14), то мягкому решению демодулятора присваивается значение «-1» (блок А15). После коррекции мягких решений демодулятора рассчитываем синдром декодированного кодового слова (блок 17), если он равен «0», то кодовое слово поступает на выход. В противном случае данное кодовое слово снова поступает на вход блока 1, и весь цикл обработки повторяется заново.The general algorithm of a signal decoding method using a low-density parity check code is shown in Figure 2. At the initial stage of signal decoding, the current number of iterations is set to zero and the reliability vector of soft solutions of the demodulator is initialized: n = 0 , W [m] = 0 , m = 0 , ... , N-1 ¯
Figure 00000009
(block A1). Next, the condition is checked: does the current iteration number not exceed the limit number of decoding iterations (block A2). In case of exceeding, the code word is output, otherwise, the vector of the reliability vector of soft decisions of the demodulator (block A3) is initialized again and the current decoding iteration number is increased by one (block A4). Then, the condition is checked: does the modulus of the current iteration equal ten modulo zero (block A5). If not equal, then the formation of the vector of unreliability of soft decisions of the demodulator continues (block A7, A8, A9). Otherwise, the reliability vector of soft decisions of the demodulator is generated and correction of soft decisions of the demodulator is performed - from the beginning to the end of the code word in the loop (block A10), the values of the reliability vector are selected. If the vector element takes extreme values - “0” or “9” (block A11), then the condition is checked: if for a particular soft decision of a bit, the value of the reliability vector is “0” (this bit was decoded as a positive value ten times), and the soft decision If the demodulator is a negative value (block A 12), then the soft decision of the demodulator is assigned the value "0" (block A13). If for a specific soft bit decision the value of the confidence vector is “9” (this bit was decoded ten times as a negative value), and the soft solution of the demodulator is a positive value (block A14), then the soft decision of the demodulator is set to “-1” (block A15) . After correction of the soft decisions of the demodulator, we calculate the syndrome of the decoded codeword (block 17), if it is “0”, then the codeword is output. Otherwise, this code word is fed back to the input of block 1, and the entire processing cycle is repeated again.

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

Декодируемое кодовое слово поступает во входной буфер В1, предназначенный для накопления входных данных во время декодирования и предотвращения потери входных данных. Из входного буфера считывается декодируемое кодовое слово, и в блоке В2 формируется мягкое решение демодулятора, которое в процессе декодирования может изменяться после десяти итераций с помощью модуля коррекции логарифмического отношения правдоподобия бит ВЗ. Исправление ошибок в принятом кодовом слове достигается за счет итеративного декодера LDPC B5. Процесс декодирования контролируется счетчиком промежуточных итераций В6, который формирует сигнал переполнения при достижении значения «10». В этот момент происходит коррекция логарифмических отношений правдоподобия входных бит (мягкого решения демодулятора) В3. Результат декодирования записывается в выходной буфер В4, предназначенный для согласования скорости считывания декодированных бит и тактовой частоты декодера. Все вышеперечисленные блоки формируют сигналы индикации работы на устройство управления В7, которое в зависимости от режима работы формирует различные управляющие воздействия.The decoded codeword enters the input buffer B1, designed to accumulate input data during decoding and prevent loss of input data. A decoded codeword is read from the input buffer, and a soft demodulator solution is generated in block B2, which during decoding can be changed after ten iterations using the correction module for the logarithmic likelihood ratio of the OT bits. Error correction in the received codeword is achieved through the iterative decoder LDPC B5. The decoding process is controlled by an intermediate iteration counter B6, which generates an overflow signal when the value "10" is reached. At this moment, the logarithmic likelihood ratios of the input bits (soft demodulator solution) B3 are corrected. The decoding result is recorded in the output buffer B4, designed to match the read speed of the decoded bits and the clock frequency of the decoder. All of the above blocks generate operation indication signals to control device B7, which, depending on the operating mode, generates various control actions.

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

Таблица 1Table 1 Ресурсоемкость предлагаемого способа помехоустойчивого декодированияThe resource consumption of the proposed method error-correcting decoding Ресурсоемкость Slice LogicResource Intensity Slice Logic используетсяis used всегоTotal процентыinterest Количество Slice RegistersNumber of Slice Registers 3639136391 5888058880 61%61% Количество Slice LUTsNumber of Slice LUTs 4576545765 5888058880 77%77% Количество используемых как логикаThe number used as logic 4560045600 5888058880 77%77% Количество используемых как памятьThe amount used as memory 165165 2432024320 0%0% Ресурсоемкость специализированных блоковResource intensity of specialized blocks Количество Block RAM/FIFONumber of Block RAM / FIFO 153153 244244 62%62% Количество BUFG/BUFGCTRLsNumber of BUFG / BUFGCTRLs 66 3232 18%eighteen% Количество DSP48EsNumber of DSP48Es 180180 640640 28%28% Количество PLL ADVsNumber of PLL ADVs 1one 66 16%16%

Для оценки эффективности предлагаемого способа помехоустойчивого декодирования по сравнению с существующим способом, описанном в прототипе, была разработана программная модель декодера в среде Microsoft Visual Studio 2008, в которой реализуется алгоритм предлагаемого способа помехоустойчивого декодирования для сигналов стандарта DVB-S2, где код проверки на четность с низкой плотностью входит в состав каскадной конструкции, а также для параллельной схемы турбо-кодирования, где код проверки на четность с низкой плотностью является компонентным кодом. Эксперимент показал, что при использовании модуляции QPSK для стандарта DVB-S2 для всех скоростей кодирования энергетический выигрыш составил 0.2-0.3 дБ. При использовании параллельной схемы турбо кодирования - 0.5 дБ.To evaluate the effectiveness of the proposed method of noise-free decoding in comparison with the existing method described in the prototype, a software model of the decoder was developed in the Microsoft Visual Studio 2008 environment, which implements the algorithm of the proposed method of noise-free decoding for DVB-S2 standard signals, where the parity check code is low density is part of the cascade design, as well as for a parallel turbo coding scheme, where the low density parity check code is a component code . The experiment showed that when using QPSK modulation for the DVB-S2 standard for all coding rates, the energy gain was 0.2-0.3 dB. When using a parallel turbo coding scheme - 0.5 dB.

Claims (2)

1. Способ помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью заключающийся в том, что после декодирования кода проверки на четность с низкой плотностью, осуществляют процедуру выявления и устранения коротких неразрешенных циклов в графе Таннера, а именно по пороговому значению определяют множество индексов недостоверных бит, по полученному множеству строят вектор частот встречаемости G, определяют индексы, имеющие максимальную частоту появления в векторе G, изменяют в них знак на противоположный в кодовом слове, которое поступало на декодер, и снова выполняют декодирование полученного слова, отличающийся тем, что при итеративном декодировании через каждые десять итераций формируют дополнительный вектор достоверности мягких решений демодулятора, по которому осуществляют коррекцию мягких решений демодулятора в процессе декодирования кода и определяют множество недостоверных бит, по которым, в дальнейшем, строят вектор частот встречаемости индексов бит при выполнении процедуры выявления и устранения коротких циклов в графе Таннера.1. The method of error-correcting decoding of signals obtained using a low density parity check code, which consists in the fact that after decoding a low density parity check code, a procedure for identifying and eliminating short unresolved cycles in the Tanner graph is performed, namely, the threshold value is determined a plurality of indices of invalid bits, based on the obtained set, construct a vector of occurrence frequencies G, determine indices having a maximum frequency of occurrence in the vector G, change to x the opposite sign in the code word that was sent to the decoder, and again decode the resulting word, characterized in that iterative decoding every ten iterations forms an additional vector of reliability of the soft decisions of the demodulator, which corrects the soft decisions of the demodulator in the process of decoding the code and determine the set of unreliable bits, by which, in the future, build the vector of frequencies of occurrence of the bit indices during the identification and elimination procedure short cycles in the Tanner graph. 2. Устройство помехоустойчивого декодирования сигналов, полученных с использованием кода проверки на четность с низкой плотностью, содержащее входной буфер, формирователь логарифмического отношения правдоподобия бит, итеративный декодер LDPC, выходной буфер и устройство управления, выход входного буфера соединен с входом формирователя логарифмического отношения правдоподобия бит, выход которого соединен с итеративным декодером LDPC, а выход последнего - со входом выходного буфера, отличающееся тем, что дополнительно введены модуль коррекции логарифмического отношения правдоподобия бит и счетчик промежуточных итераций декодирования, вход счетчика соединен со вторым выходом итеративного декодера LDPC, а выход счетчика промежуточных итераций - с входом модуля коррекции логарифмического отношения правдоподобия бит, выход которого соединен со вторым входом формирователя логарифмического отношения правдоподобия бит. 2. An error-correcting device for decoding signals received using a low-density parity check code containing an input buffer, a bit likelihood log-shaper generator, an LDPC iterative decoder, an output buffer and a control device, and an input buffer output connected to the input of the bit-likelihood ratio generator, the output of which is connected to an iterative LDPC decoder, and the output of the latter is connected to the output buffer input, characterized in that the of the log of the likelihood ratio of bits and the counter of intermediate iterations of decoding, the counter input is connected to the second output of the iterative decoder LDPC, and the output of the counter of intermediate iterations is connected to the input of the module of the correction of the log likelihood of bits, the output of which is connected to the second input of the generator of the log likelihood of the bits.
RU2013101656/08A 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
RU2013101656/08A 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
RU2013101656/08A 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 RU2013101656A (en) 2014-07-20

Family

ID=51215342

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013101656/08A 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
RU2013101656A (en) 2014-07-20

Similar Documents

Publication Publication Date Title
TWI663839B (en) Method for providing soft information with decoder under hard decision hard decoding mode
US9998148B2 (en) Techniques for low complexity turbo product code decoding
US8601337B2 (en) Decoding method and decoding device
US8918694B2 (en) Non-concatenated FEC codes for ultra-high speed optical transport networks
KR101718543B1 (en) Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same
US10439643B2 (en) Reed-Solomon decoders and decoding methods
US20120185755A1 (en) Method for performing soft decision decoding of euclidean space reed-muller codes
CN101345601B (en) Interpretation method and decoder
KR20040101743A (en) Apparatus and method for decoding of ldpc in a communication system
US9564921B1 (en) Method and system for forward error correction decoding based on a revised error channel estimate
US10892783B2 (en) Apparatus and method for decoding polar codes
US9077530B2 (en) Method and arrangement for conveying additional bits in a communication system
Hatami et al. A threshold-based min-sum algorithm to lower the error floors of quantized LDPC decoders
Wang et al. A low-complexity belief propagation based decoding scheme for polar codes-decodability detection and early stopping prediction
US20240128988A1 (en) Method and device for polar code encoding and decoding
CN100539441C (en) A kind of interpretation method of low density parity check code
US9231620B2 (en) Iterative decoding device and related decoding method for irregular low-density parity-check code capable of improving error correction performance
RU2522299C1 (en) Method and apparatus for noise-immune decoding of signals obtained using low-density parity check code
US8650459B1 (en) Soft input, soft ouput mappers and demappers for block codes
Yatribi et al. Gradient-descent decoding of one-step majority-logic decodable codes
US20170222659A1 (en) Power improvement for ldpc
US9590658B1 (en) High-speed low-power LDPC decoder design
KR102045438B1 (en) Method and Apparatus for Decoding of Low-density parity-check
US10778248B1 (en) Low-density parity-check decoding with de-saturation
US20220337269A1 (en) Block code encoding and decoding methods, and apparatus therefor

Legal Events

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

Effective date: 20150112