Nothing Special   »   [go: up one dir, main page]

RU2575399C1 - Method of decoding ldpc codes and apparatus therefor - Google Patents

Method of decoding ldpc codes and apparatus therefor Download PDF

Info

Publication number
RU2575399C1
RU2575399C1 RU2014134127/08A RU2014134127A RU2575399C1 RU 2575399 C1 RU2575399 C1 RU 2575399C1 RU 2014134127/08 A RU2014134127/08 A RU 2014134127/08A RU 2014134127 A RU2014134127 A RU 2014134127A RU 2575399 C1 RU2575399 C1 RU 2575399C1
Authority
RU
Russia
Prior art keywords
syndrome
vector
error
elements
current
Prior art date
Application number
RU2014134127/08A
Other languages
Russian (ru)
Inventor
Владислав Анатольевич Минеев
Андрей Николаевич Хмельков
Анатолий Михайлович Сомов
Original Assignee
Федеральное государственное унитарное предпритие Ордена Трудового Красного Знамени научно-исследовательский институт радио (ФГУП НИИР)
Filing date
Publication date
Application filed by Федеральное государственное унитарное предпритие Ордена Трудового Красного Знамени научно-исследовательский институт радио (ФГУП НИИР) filed Critical Федеральное государственное унитарное предпритие Ордена Трудового Красного Знамени научно-исследовательский институт радио (ФГУП НИИР)
Application granted granted Critical
Publication of RU2575399C1 publication Critical patent/RU2575399C1/en

Links

Abstract

FIELD: radio engineering, communication.
SUBSTANCE: for a received codeword of a LDPC code, possibly distorted in a communication link, when searching for a correlation vector, a weight-ordered adjacent class of error vectors is generated. When decoding with a "hard" solution, the correlation vector selected is the first generated error vector, which is the leader of the adjacent class of error vectors. When decoding with a "soft" solution, the correlation vector selected is an error vector of an adjacent class having a maximum metric.
EFFECT: obtaining decoding quality which corresponds to maximum-likelihood criterion decoding methods, with both hard and soft solutions, reduced hardware and computational complexity of decoding.
2 cl, 1 dwg

Description

Изобретение относится к области техники связи и, в частности, к системам передачи информации, в которых для ее защиты от искажений в канале связи применяются LDPC-коды. Изобретение может быть использовано в кодеках (кодер-декодер) систем передачи и хранения дискретной информации.The invention relates to the field of communication technology and, in particular, to information transmission systems in which LDPC codes are used to protect it from distortion in the communication channel. The invention can be used in codecs (encoder-decoder) systems for the transmission and storage of discrete information.

Известен итеративный способ декодирования LDPC-кодов с «жестким» решением [1], который включает в себя многократно повторяющуюся процедуру коррекции бит искаженного кодового слова. Сначала вычисляется синдром искаженного кодового слова и формируется «вектор взаимосвязи» каждого бита кодового слова с ненулевыми элементами синдрома. Для этого сканируются элементы синдрома, выделяются ненулевые и для каждого из них инкрементируются позиции «вектора взаимосвязи», которые соответствуют ненулевым элементам строки проверочной матрицы. После завершения формирования «вектора взаимосвязи» инвертируются те биты кодового слова, номера которых соответствуют позициям «вектора взаимосвязи», в которых записано число, превышающее выбранный порог (обычно выбирается порог, равный величине, превышающей половину количества «единиц» в столбце проверочной матрицы LDPC-кода). Если откорректированное кодовое слово имеет ненулевой синдром, то процедура коррекции бит повторяется до тех пор, пока синдром откорректированного кодового слова не станет нулевым. В завершении процесса декодирования выполняется отображение откорректированного кодового слова в информационную последовательность, выполняемое путем обратного преобразования согласно правилу кодирования.A known iterative method for decoding LDPC codes with a “hard” solution [1], which includes a repeatedly repeated procedure for correcting bits of a distorted code word. First, the distorted codeword syndrome is computed and a “relationship vector” of each bit of the codeword with nonzero elements of the syndrome is formed. For this, the elements of the syndrome are scanned, non-zero are selected, and for each of them, the positions of the “relationship vector” are incremented, which correspond to non-zero elements of the row of the verification matrix. After the formation of the “relationship vector” is completed, those bits of the codeword whose numbers correspond to the positions of the “relationship vector” in which a number is written that exceeds the selected threshold (usually a threshold equal to more than half the number of “units” in the column of the LDPC code). If the corrected codeword has a non-zero syndrome, then the bit correction procedure is repeated until the corrected codeword syndrome becomes zero. At the end of the decoding process, the corrected codeword is mapped to an information sequence performed by inverse transformation according to the encoding rule.

К недостаткам итеративного способа декодирования LDPC-кодов с «жестким» решением [1] следует отнести то, что он, во-первых, не относится к классу методов декодирования по критерию максимального правдоподобия. На это указывал Р. Галлагер [1, стр. 64, 94-97], который ввел в рассмотрение LDPC-коды. С его точки зрения у LDPC-кодов достигается разумный компромисс между вычислительной сложностью и достоверностью декодирования. И, во-вторых, некоторые комбинации как исправляемых, так и неисправляемых ошибок приводят к зацикливанию итеративного способа декодирования. Поэтому необходимо вводить ограничение на допустимое количество итераций.The disadvantages of an iterative method for decoding LDPC codes with a “hard” solution [1] include the fact that, firstly, it does not belong to the class of decoding methods by the maximum likelihood criterion. This was pointed out by R. Gallager [1, p. 64, 94-97], who introduced LDPC codes into consideration. From his point of view, a reasonable compromise is achieved between LDPC codes between computational complexity and decoding reliability. And secondly, some combinations of both correctable and uncorrectable errors lead to an iterative decoding method looping. Therefore, it is necessary to introduce a limit on the admissible number of iterations.

Техническим результатом предлагаемого технического решения является повышение качества декодирования LDPC-кодов.The technical result of the proposed technical solution is to improve the quality of decoding LDPC codes.

Для достижения технического результата предложен способ декодирования LDPC-кодов с «жестким» решением, в котором после вычисления синдрома выполняется построение по шагам упорядоченного по весу смежного класса векторов ошибок. На каждом шаге достраиваются, т.е. продолжают формироваться только те фрагменты Vg векторов ошибок, метрика mg которых равна номеру шага t:To achieve a technical result, a method for decoding LDPC codes with a “tough” solution is proposed, in which, after calculating the syndrome, the steps are taken to construct, by weight, an adjacent class of error vectors. At each step, they are being completed, i.e. only those fragments of V g error vectors whose metric m g is equal to the step number t continue to be formed:

Figure 00000001
Figure 00000001

где:Where:

Δi - количество ненулевых элементов текущего синдрома при добавлении во фрагмент вектора ошибки Vg очередного элемента на шаге t,Δ i is the number of nonzero elements of the current syndrome when adding to the fragment of the error vector V g the next element at step t,

r - количество шагов, за которые был сформирован фрагмент Vg вектора ошибки, при этом r меньше или равно текущему шагу t формирования фрагмента вектора ошибки.r is the number of steps for which the fragment V g of the error vector was formed, while r is less than or equal to the current step t of forming the fragment of the error vector.

Текущий синдром st каждого вновь формируемого фрагмента вектора ошибки на шаге t определяется в результате сложения по mod 2 исходного синдрома, полученного на (t-1)-шаге, с j-м столбцом проверочной матрицы:The current syndrome s t of each newly formed fragment of the error vector at step t is determined as a result of modulo 2 addition of the initial syndrome obtained at the (t-1) step with the jth column of the verification matrix:

Figure 00000002
Figure 00000002

где j - позиция добавленного элемента во фрагмент вектора ошибки.where j is the position of the added element in the fragment of the error vector.

Построение упорядоченного по весу смежного класса векторов ошибок завершается, когда текущий синдром одного из векторов Vg становится равным нулевому вектору. Этот момент соответствует локализации вектора ошибки, который является либо лидером смежного класса векторов ошибок (исправляемая ошибка), либо одной из ошибок минимального веса в смежном классе векторов ошибок (неисправляемая ошибка).The construction of the weighted adjacent class of error vectors is completed when the current syndrome of one of the vectors V g becomes equal to the zero vector. This moment corresponds to the localization of the error vector, which is either the leader of the adjacent class of error vectors (correctable error), or one of the errors of the minimum weight in the adjacent class of error vectors (fatal error).

Рассмотрим регулярный LDPC-код, имеющий в разреженной проверочной матрице l «единиц» в столбце и ρ «единиц» в строке.Consider a regular LDPC code that has l “units” in a column and ρ “units” in a row in a sparse check matrix.

Способ декодирования LDPC-кода с использованием упорядоченного по весу смежного класса векторов ошибок:A method for decoding an LDPC code using an ordered weight class of an adjacent class of error vectors:

1. Вычислить синдром декодируемого, возможно искаженного в канале связи, кодового слова. Если синдром равен нулевому вектору, перейти к п. 7.1. Calculate the syndrome of a codeword being decoded, possibly distorted in the communication channel. If the syndrome is equal to the zero vector, go to step 7.

2. Выбрать любую строку проверочной матрицы, которая соответствует ненулевому элементу синдрома, и определить ρ начальных элементов формируемых фрагментов векторов ошибок смежного класса, которые соответствуют позициям ненулевых элементов в выбранной строке проверочной матрицы. Начальный номер шага t=1.2. Select any row of the verification matrix that corresponds to the nonzero element of the syndrome, and determine ρ the initial elements of the generated fragments of error vectors of the adjacent class that correspond to the positions of nonzero elements in the selected row of the verification matrix. The initial step number is t = 1.

3. Вычислить метрику mg (1) и определить текущий синдром st(2) для каждого фрагмента векторов ошибок, сформированного на шаге t.3. Calculate the metric m g (1) and determine the current syndrome s t (2) for each fragment of the error vectors generated in step t.

4. Если текущий синдром st одного из векторов ошибок равен нулевому вектору, то сформировать вектор коррекции из данного вектора ошибки и перейти к п. 6.4. If the current syndrome s t of one of the error vectors is equal to the zero vector, then generate a correction vector from this error vector and go to step 6.

5. Выбрать любую строку проверочной матрицы, которая соответствует ненулевому элементу текущего синдрома, и определить ρ элементов продолжения формируемых фрагментов векторов ошибок смежного класса для каждого сформированного на текущем шаге t фрагмента векторов ошибок, имеющего метрику, равную номеру шага mg=t. Увеличить номер шага t=t+1 и перейти к п. 3.5. Choose any row of the check matrix that corresponds to a non-zero element of the current syndrome, and determine ρ of the continuation elements of generated fragments of error vectors of an adjacent class for each fragment of error vectors generated at the current step t that has a metric equal to the step number m g = t. Increase the step number t = t + 1 and go to step 3.

6. Сложить по mod 2 принятое искаженное кодовое слово со сформированным вектором коррекции.6. Add mod 2 to the received distorted codeword with the generated correction vector.

7. Сформировать информационную последовательность кодового слова.7. Form the information sequence of the code word.

При декодировании LDPC-кодов с «мягким» решением необходимо:When decoding LDPC codes with a “soft” solution, you must:

- вычислять метрику по формуле:- calculate the metric according to the formula:

Figure 00000003
Figure 00000003

где: bi - значение i-го бита кодового слова LDPC-кода, po0, pi1 - условные вероятности передачи по каналу связи на i-й позиции кодового слова 0 или 1 соответственно.where: b i is the value of the i-th bit of the code word of the LDPC code, p o0 , p i1 are the conditional probabilities of transmission over the communication channel at the i-th position of the code word 0 or 1, respectively.

- на шаге t изменить условие определения вектора коррекции: вектор коррекции - сформированный вектор ошибки смежного класса, текущий синдром которого является нулевым вектором, и который имеет максимальную метрику (3). Для этого необходимо на шаге t последовательно запоминать вектора ошибок с «нулевым» синдромом и вычисленной для него метрикой до тех пор, пока метрика очередного вектора ошибки не начнет уменьшаться.- at step t, change the condition for determining the correction vector: the correction vector is the generated error vector of an adjacent class, the current syndrome of which is a zero vector, and which has a maximum metric (3). For this, at step t, it is necessary to sequentially memorize the error vectors with the “zero” syndrome and the metric calculated for it until the metric of the next error vector begins to decrease.

Декодер LDPC-кода с использованием упорядоченного по весу смежного класса векторов ошибок (фиг.1) содержит:The decoder LDPC code using ordered by weight of the adjacent class of error vectors (figure 1) contains:

- блок вычисления синдрома - 1;- block calculation of the syndrome - 1;

- блок формирования начальных элементов векторов ошибок - 2;- block for the formation of the initial elements of the error vectors - 2;

- блок вычисления метрики и текущего синдрома - 3;- unit for calculating the metric and current syndrome - 3;

- блок формирования элементов продолжения векторов ошибок - 4;- block forming the elements of the continuation of the error vectors - 4;

- блок формирования вектора коррекции - 5;- block for the formation of the correction vector - 5;

- блок коррекции - 6;- correction block - 6;

- блок формирования информационной последовательности кодового слова - 7;- block forming the information sequence of the code word - 7;

- оперативное запоминающее устройство - 8.- random access memory - 8.

Блок вычисления синдрома 1 определяет синдром декодируемого кодового слова LDPC-кода.The syndrome 1 calculation unit determines the syndrome of the decoded codeword of the LDPC code.

Блок формирования начальных элементов векторов ошибок 2 определяет исходные ненулевые позиции векторов ошибок смежного класса, соответствующего вычисленному синдрому. Разреженная проверочная матрица позволяет определить ρ начальных ненулевых бит для фрагментов векторов ошибок смежного класса по любому ненулевому элементу синдрома. Выбранные ненулевые начальные значения заносятся в формируемые и хранящиеся в оперативном запоминающем устройстве 8 фрагменты векторов ошибок смежного класса.The unit for generating the initial elements of the error vectors 2 determines the initial nonzero positions of the error vectors of the adjacent class corresponding to the calculated syndrome. The sparse check matrix allows one to determine ρ of the initial nonzero bits for fragments of error vectors of an adjacent class from any nonzero element of the syndrome. The selected nonzero initial values are recorded in fragments of error vectors of an adjacent class generated and stored in the RAM 8.

Блок вычисления метрики и текущего синдрома 3 последовательно перебирает вновь сформированные фрагменты векторов ошибок, сохраненные в оперативном запоминающем устройстве 8, определяет для каждого из них метрику (1) и текущий синдром (2). Текущий синдром является суммой по mod 2 предшествующего синдрома и столбца проверочной матрицы, номер которого соответствует позиции ошибки, определенной в блоке вычисления метрики и текущего синдрома 3. Сформированный текущий синдром запоминается в оперативном запоминающем устройстве 8 совместно со своим фрагментом вектора ошибки. Если для одного из поступивших в блок фрагмента вектора ошибки определен «нулевой» синдром, то вектор ошибки смежного класса сформирован и передается в блок формирования вектора коррекции 5.The unit for calculating the metric and the current syndrome 3 sequentially iterates over the newly formed fragments of the error vectors stored in the random access memory 8, determines for each of them the metric (1) and the current syndrome (2). The current syndrome is the sum of mod 2 of the previous syndrome and the column of the verification matrix, the number of which corresponds to the error position defined in the metric and current syndrome 3 calculation unit. The generated current syndrome is stored in random access memory 8 together with its fragment of the error vector. If a “zero” syndrome is defined for one of the errors vector fragments received in the block, the error class of the adjacent class is generated and transmitted to the block for generating the correction vector 5.

Блок формирования элементов продолжения векторов ошибок 4 последовательно выбирает из оперативного запоминающего устройства 8 сформированные фрагменты векторов ошибок текущего шага t, метрика которых равна номеру шага mg=t, для каждого из выбранных фрагментов по любому ненулевому элементу соответствующего синдрома определяет ρ позиций возможных ошибок, формирует на их основе фрагменты векторов ошибок следующего шага t=t+1 и передает их в блок вычисления метрики и текущего синдрома 3.The block for generating the error vector continuation elements 4 sequentially selects from the random access memory 8 generated fragments of the error vectors of the current step t, the metric of which is equal to the step number m g = t, for each of the selected fragments determines ρ positions of possible errors for any non-zero element of the corresponding syndrome, generates based on them, fragments of error vectors of the next step t = t + 1 and passes them to the block for calculating the metric and current syndrome 3.

Блок формирования вектора коррекции 5 создает вектор коррекции из вектора ошибки, сформированного на шаге t, синдром которого является нулевым вектором.The correction vector generation unit 5 creates a correction vector from an error vector generated in step t, the syndrome of which is a zero vector.

Блок коррекции 6 исправляет ошибки в искаженном кодовом слове по критерию максимального правдоподобия. Для этого искаженное кодовое слово, поступившее с входа блока вычисления синдрома 1, складывается по mod 2 с вектором коррекции, который сформирован в блоке формирования вектора коррекции 5.Correction block 6 corrects errors in the distorted codeword according to the criterion of maximum likelihood. To do this, the distorted code word received from the input of the syndrome 1 calculation unit is added in mod 2 with the correction vector, which is generated in the block for generating the correction vector 5.

Блок формирования информационной последовательности кодового слова 7 выполняет преобразование, обратное правилу кодирования, откорректированного или неискаженного кодового слова LDPC-кода в информационную последовательность, которая передается на выход для дальнейшей обработки.The block for generating the information sequence of the codeword 7 performs the inverse transformation of the encoding rule, the corrected or undistorted codeword of the LDPC code into the information sequence, which is transmitted to the output for further processing.

Оперативное запоминающее устройство 8 выполняет сохранение текущих синдромов и, соответствующих им, фрагментов векторов ошибок смежного класса.Random access memory 8 performs the storage of current syndromes and, corresponding to them, fragments of error vectors of an adjacent class.

Предлагаемое устройство работает следующим образом.The proposed device operates as follows.

Декодируемое кодовое слово, возможно искаженное в канале связи, поступает на вход блока вычисления синдрома 1, в котором определяется синдром.The decoded codeword, possibly distorted in the communication channel, is fed to the input of the syndrome 1 calculation unit, in which the syndrome is determined.

Если синдром является нулевым вектором, то кодовое слово по критерию максимального правдоподобия не искажено, и управление передается в блок формирования информационной последовательности кодового слова 7.If the syndrome is a zero vector, then the code word according to the maximum likelihood criterion is not distorted, and control is transferred to the block for generating the information sequence of the code word 7.

Если синдром не является нулевым вектором, то синдром передается в блок формирования начальных элементов векторов ошибок 2.If the syndrome is not a zero vector, then the syndrome is transmitted to the block for the formation of the initial elements of the error vectors 2.

В блоке формирования начальных элементов векторов ошибок 2 по любому ненулевому элементу синдрома с помощью проверочной матрицы определяются позиции, с которых могут начинаться фрагменты векторов ошибок смежного класса. Эти позиции позволяют сформировать ненулевые начальные элементы фрагментов векторов ошибок смежного класса, которые запоминаются в оперативном запоминающем устройстве 8 и управление передается блоку вычисления метрики и текущего синдрома 3.In the block for generating the initial elements of error vectors 2, for any non-zero element of the syndrome, using the check matrix, we determine the positions from which fragments of error vectors of the adjacent class can begin. These positions allow the formation of nonzero initial elements of fragments of error vectors of an adjacent class, which are stored in random access memory 8 and control is transferred to the unit for calculating the metric and current syndrome 3.

В блоке вычисления метрики и текущего синдрома 3 для каждого вновь сформированного фрагмента вектора ошибки определяется метрика и текущий синдром, который вместе со своим фрагментом вектора ошибки запоминается в оперативном запоминающем устройстве 8. Если текущий синдром одного из векторов ошибки равен нулевому вектору, то формирование векторов ошибок смежного класса завершается и вектор ошибки с «нулевым» синдромом передается в блок формирования вектора коррекции 5, иначе управление передается блоку формирования элементов продолжения векторов ошибок 4.In the block for calculating the metric and the current syndrome 3, for each newly formed fragment of the error vector, the metric and the current syndrome are determined, which, together with its fragment of the error vector, is stored in random access memory 8. If the current syndrome of one of the error vectors is equal to zero vector, then the formation of error vectors of the adjacent class is completed and the error vector with the “zero” syndrome is transmitted to the block for the formation of the correction vector 5, otherwise the control is transferred to the block for the formation of elements longer error vectors 4.

Блок формирования элементов продолжения векторов ошибок 4 последовательно выбирает из оперативного запоминающего устройства 8 сформированные фрагменты векторов ошибок текущего шага, метрика которых равна номеру шага, для каждого из которых определяются элементы продолжения вектора ошибки. Они позволяют продолжить формирование векторов ошибок смежного класса, которые передаются в блок определения метрики и текущего синдрома 3.The block for generating the error vector continuation elements 4 sequentially selects the generated fragments of the error vectors of the current step from the random access memory 8, the metric of which is equal to the step number, for each of which the error vector continuation elements are determined. They allow you to continue the formation of error vectors of an adjacent class, which are transmitted to the unit for determining the metric and current syndrome 3.

В блоке формирования вектора коррекции 5 из вектора ошибки с «нулевым» синдромом формируется вектор коррекции.In the block for generating the correction vector 5, a correction vector is formed from the error vector with the “zero” syndrome.

В блоке коррекции 6 выполняется поразрядное сложение по mod 2 искаженного кодового слова с вектором коррекции.In block 6 correction is performed bitwise addition mod 2 of the distorted code word with the correction vector.

Откорректированное кодовое слово передается в блок формирования информационной последовательности кодового слова 7, в котором формируется информационная последовательность, передаваемая на выход для дальнейшей обработки.The corrected codeword is transmitted to the block for generating the information sequence of the codeword 7, in which the information sequence is generated, which is transmitted to the output for further processing.

Декодирование кодового слова LDPC-кода завершено.Decoding of the LDPC codeword is completed.

Реализация описанного устройства может быть аппаратной, программной или аппаратно-программной.The implementation of the described device may be hardware, software or hardware-software.

Способ декодирования LDPC-кодов может быть применен и для декодирования с «мягким» решением. Для этого в блоке вычисления метрики и текущего синдрома 3 при формировании «нулевого» текущего синдрома необходимо определить метрику для откорректированного кодового слова, запомнить ее в оперативное запоминающее устройство 8 вместе со своим текущим синдромом и вектором ошибки. Выполнение блока вычисления метрики и текущего синдрома 3 и блока формирования элементов продолжения векторов ошибок 4 повторяется до тех пор, пока метрика вновь сформированных векторов ошибок с «нулевыми» синдромами не начнет уменьшаться.A method of decoding LDPC codes can be applied to decoding with a “soft” solution. To do this, in the calculation unit of the metric and current syndrome 3, when forming the “zero” current syndrome, it is necessary to determine the metric for the adjusted code word, store it in RAM 8 along with its current syndrome and error vector. The execution of the calculation unit of the metric and the current syndrome 3 and the block for generating the continuation elements of the error vectors 4 is repeated until the metric of the newly formed error vectors with “zero” syndromes begins to decrease.

Достигаемым техническим результатом предложенного способа декодирования LDPC-кодов с «жестким» и «мягким» решением является повышение качества декодирования LDPC-кодов за счет построения в процессе декодирования упорядоченного по весу смежного класса векторов ошибок, причем предлагаемый способ относится к классу способов декодирования по критерию максимального правдоподобия.Achievable technical result of the proposed method for decoding LDPC codes with a “hard” and “soft” solution is to improve the quality of decoding LDPC codes by constructing an adjacent class of error vectors ordered by weight, the proposed method belongs to the class of decoding methods by the criterion of maximum likelihood.

Список литературыBibliography

1. Галлагер Р.Дж. Коды с малой плотностью проверок на четность / Пер. с англ. // Под ред. Добрушина Р.Л.: М., Мир, 1966.1. Gallager R.J. Codes with a low density of parity checks / Per. from English // Ed. Dobrushina R.L .: M., Mir, 1966.

Claims (2)

1. Способ декодирования LDPC-кода, заключающийся в том, что для принятого возможно искаженного кодового слова определяют синдром и «вектор взаимосвязи» каждого бита кодового слова с ненулевыми элементами синдрома, после этого инвертируют те биты кодового слова, номера которых соответствуют позициям «вектора взаимосвязи», имеющим значения, превышающие выбранный порог, причем определение текущего синдрома, «вектора взаимосвязи» и инверсия бит повторяется до тех пор, пока текущий синдром не станет нулевым вектором, отличающийся тем, что для любого ненулевого элемента синдрома искаженного кодового слова выбирают соответствующую строку проверочной матрицы, по ненулевым элементам выбранной строки определяют начальные элементы фрагментов векторов ошибок смежного класса, формируют эти фрагменты, для каждого из них вычисляют метрику и текущий синдром, далее по шагам для каждого сформированного фрагмента вектора ошибки текущего шага, имеющего метрику, равную номеру шага, по любому ненулевому элементу его текущего синдрома выбирают соответствующую строку проверочной матрицы, по ненулевым элементам которой определяют элементы продолжения фрагментов векторов ошибок смежного класса, формируют новые фрагменты, для которых также вычисляют метрику и текущий синдром, построение смежного класса векторов ошибок завершают тогда, когда текущий синдром одного из векторов ошибок станет нулевым вектором, а при декодировании с «мягким» решением построение упорядоченного по весу смежного класса векторов ошибок завершают тогда, когда сформировано несколько векторов ошибок смежного класса, и в качестве вектора коррекции выбирают вектор ошибки, который имеет максимальную метрику, после чего выполняют коррекцию искаженного кодового слова, из которого формируют информационную последовательность.1. The method of decoding the LDPC code, namely, that for the received possibly distorted codeword, the syndrome and the “relationship vector” of each bit of the codeword with non-zero elements of the syndrome are determined, then those bits of the codeword whose numbers correspond to the positions of the “relationship vector” are inverted "Having values exceeding the selected threshold, and the definition of the current syndrome, the" relationship vector "and the bit inversion is repeated until the current syndrome becomes a zero vector, characterized in that for of any non-zero element of the distorted codeword syndrome, select the corresponding row of the verification matrix, determine the initial elements of fragments of error vectors of an adjacent class by non-zero elements of the selected row, form these fragments, calculate the metric and current syndrome for each of them, then follow the steps for each generated fragment of the error vector the current step, having a metric equal to the step number, for any non-zero element of its current syndrome, select the corresponding row of the check matrix , the non-zero elements of which determine the continuation elements of fragments of error vectors of an adjacent class, form new fragments for which the metric and current syndrome are also calculated, the construction of an adjacent class of error vectors is completed when the current syndrome of one of the error vectors becomes a zero vector, and when decoding with With a “soft” solution, the construction of the weighted adjacent class of error vectors is completed when several error vectors of the adjacent class are generated, and as a correction vector and select the error vector, which has a maximum metric, and then perform the correction of the distorted code word, from which form the information sequence. 2. Устройство декодирования LDPC-кода для реализации способа по п. 1, состоящего из блока вычисления синдрома, блока формирования начальных элементов векторов ошибок, блока вычисления метрики и текущего синдрома, блока формирования элементов продолжения векторов ошибок, блока формирования вектора коррекции, блока коррекции, блока формирования информационной последовательности кодового слова, оперативного запоминающего устройства, при этом блок вычисления синдрома имеет вход для искаженного кодового слова LDPC-кода, а первый выход соединен с первым входом блока формирования информационной последовательности кодового слова для передачи кодового слова, имеющего нулевой синдром, а второй выход соединен с первым входом блока коррекции для передачи искаженного кодового слова, а третий выход соединен с блоком формирования начальных элементов векторов ошибок для передачи искаженного кодового слова и его синдрома, а первый выход блока формирования начальных элементов векторов ошибок соединен с первым входом блока вычисления метрики и текущего синдрома для передачи искаженного кодового слова и сформированных начальных элементов векторов ошибок, а второй выход соединен с оперативным запоминающим устройством для сохранения синдромов и начальных элементов векторов ошибок, блок вычисления метрики и текущего синдрома соединен с блоком формирования элементов продолжения векторов ошибок для передачи текущих синдромов и элементов продолжения векторов ошибок, а также соединен с оперативным запоминающим устройством для сохранения текущих синдромов и считывания элементов продолжения векторов ошибок, блок формирования элементов продолжения векторов ошибок также соединен с оперативным запоминающим устройством для сохранения элементов продолжения векторов ошибок и считывания текущих синдромов сформированных ранее фрагментов векторов ошибок, а третий выход блока вычисления метрики и текущего синдрома соединен с входом блока формирования вектора коррекции для передачи вектора ошибки смежного класса; выход блока формирования вектора коррекции соединен со вторым входом блока коррекции для передачи вектора коррекции; выход блока коррекции соединен со вторым входом блока формирования информационной последовательности кодового слова для передачи откорректированного кодового слова, а также блок формирования информационной последовательности кодового слова имеет выход для передачи откорректированной информационной последовательности кодового слова LDPC-кода для дальнейшей обработки. 2. The LDPC code decoding device for implementing the method according to claim 1, consisting of a block for computing a syndrome, a block for generating the initial elements of the error vectors, a block for calculating the metrics and the current syndrome, a block for generating the elements for continuing the error vectors, a block for generating the correction vector, and a correction block, block forming the information sequence of the code word, random access memory, while the block computing the syndrome has an input for the distorted code word LDPC code, and the first output is connected with the first input of the codeword information sequence generating unit for transmitting the codeword having zero syndrome, and the second output is connected to the first input of the correction unit for transmitting the distorted codeword, and the third output is connected to the initial vector error generating unit for transmitting the distorted codeword and its syndrome, and the first output of the unit for generating the initial elements of the error vectors is connected to the first input of the metric calculation unit and the current syndrome for distortion transmission of the code word and the formed initial elements of the error vectors, and the second output is connected to the random access memory for saving the syndromes and the initial elements of the error vectors, the metric and current syndrome calculation unit is connected to the block for the formation of the error vector continuation elements for transmitting the current syndromes and the continuation elements of the error vectors , as well as connected to random access memory for saving current syndromes and reading elements for continuing error vectors, generating error vector continuation elements is also connected to random access memory for storing error vector continuation elements and reading current syndromes of previously generated error vector fragments, and the third output of the metric calculation unit and the current syndrome are connected to the input of the correction vector generation unit for transmitting an error vector of an adjacent class; the output of the correction vector generation unit is connected to the second input of the correction unit for transmitting the correction vector; the output of the correction block is connected to the second input of the codeword information sequence generating unit for transmitting the corrected codeword, and the codeword information sequence forming unit has an output for transmitting the corrected codeword information sequence of the LDPC code for further processing.
RU2014134127/08A 2014-08-20 Method of decoding ldpc codes and apparatus therefor RU2575399C1 (en)

Publications (1)

Publication Number Publication Date
RU2575399C1 true RU2575399C1 (en) 2016-02-20

Family

ID=

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2023492A2 (en) * 2007-08-06 2009-02-11 Broadcom Corporation Multi-code LDPC (low density parity check) decoder
RU2382493C2 (en) * 2004-08-02 2010-02-20 Квэлкомм Инкорпорейтед Memory-saving low-density parity-check (ldpc) methods and device for realsing said methods
RU2392737C2 (en) * 2004-07-21 2010-06-20 Квэлкомм Инкорпорейтед Ldpc decoding device and method
RU2443053C2 (en) * 2007-01-24 2012-02-20 Квэлкомм Инкорпорейтед Coding and decoding of ldpc packages of variable sizes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2392737C2 (en) * 2004-07-21 2010-06-20 Квэлкомм Инкорпорейтед Ldpc decoding device and method
RU2382493C2 (en) * 2004-08-02 2010-02-20 Квэлкомм Инкорпорейтед Memory-saving low-density parity-check (ldpc) methods and device for realsing said methods
RU2443053C2 (en) * 2007-01-24 2012-02-20 Квэлкомм Инкорпорейтед Coding and decoding of ldpc packages of variable sizes
EP2023492A2 (en) * 2007-08-06 2009-02-11 Broadcom Corporation Multi-code LDPC (low density parity check) decoder

Similar Documents

Publication Publication Date Title
TWI663839B (en) Method for providing soft information with decoder under hard decision hard decoding mode
US8347178B2 (en) Method, device and apparatus for correcting bursts
CN103888148B (en) A kind of LDPC code Hard decision decoding method of dynamic threshold bit reversal
CN108650057B (en) Coding and decoding method, device and system
US7853854B2 (en) Iterative decoding of a frame of data encoded using a block coding algorithm
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
US9960790B2 (en) Belief propagation decoding for short algebraic codes with permutations within the code space
CN101405944B (en) Deletion-correcting decoding method and system of LDPC code
US20200177211A1 (en) Pre-coding and decoding polar codes using local feedback
JP7497100B2 (en) Method and apparatus for encoding and decoding data using concatenated polarity adjusted convolutional codes - Patents.com
US9053047B2 (en) Parameter estimation using partial ECC decoding
CN101453297A (en) Encoding method and apparatus for low density generation matrix code, and decoding method and apparatus
WO2018179246A1 (en) Check bit concatenated polar codes
KR20130125813A (en) Encoding and decoding using elastic codes with flexible source block mapping
JP2001036417A (en) Device, method and medium for correcting and encoding error, and device, method and medium for decoding error correction code
WO2011032387A1 (en) Method and device for decoding reed-solomon (rs) code
KR20090041224A (en) Concatenated decoder and method of concatenated decoding
Grinchenko et al. Improving performance of multithreshold decoder over binary erasure channel
CN106656209A (en) Cascaded code method adopting iterative decoding for correcting synchronization errors
CN111446973B (en) Polarization code belief propagation decoding method based on multi-flip bit set
CN101106437A (en) A decoding method for limited geometrical low density checksum code
US9236890B1 (en) Decoding a super-code using joint decoding of underlying component codes
RU2340088C2 (en) Syndrome decoding method of decoding recurrent code (versions)
WO2012092902A2 (en) Decoding method and decoding device
TWI487291B (en) Cyclic code decoder and method thereof