RU2549134C1 - Device for decoding ldpc codes - Google Patents

Device for decoding ldpc codes Download PDF

Info

Publication number
RU2549134C1
RU2549134C1 RU2013145265/08A RU2013145265A RU2549134C1 RU 2549134 C1 RU2549134 C1 RU 2549134C1 RU 2013145265/08 A RU2013145265/08 A RU 2013145265/08A RU 2013145265 A RU2013145265 A RU 2013145265A RU 2549134 C1 RU2549134 C1 RU 2549134C1
Authority
RU
Russia
Prior art keywords
inputs
input
outputs
switch
output
Prior art date
Application number
RU2013145265/08A
Other languages
Russian (ru)
Other versions
RU2013145265A (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 RU2013145265/08A priority Critical patent/RU2549134C1/en
Application granted granted Critical
Publication of RU2549134C1 publication Critical patent/RU2549134C1/en
Publication of RU2013145265A publication Critical patent/RU2013145265A/en

Links

Images

Abstract

FIELD: physics, computer engineering.
SUBSTANCE: invention relates to computer engineering and telecommunication systems. The device for decoding LDPC codes includes: a control device, first through third memory units, an arithmetic unit, first and second stacks, first through fifth counters, a first latch register, a T flip-flop, first through sixth switches, a code comparator circuit, first and second AND elements, a first adder.
EFFECT: high throughput of LDPC code device due to the exclusion of codeword symbols, reliability of which is higher than a given threshold, from LDPC code checking levels at each iteration of the decoding algorithm.
2 cl, 3 dwg

Description

Изобретение относится к системам телекоммуникаций и вычислительной техники и может найти применение в устройствах приема информации из канала передачи или воспроизведения информации с высоким уровнем ошибок.The invention relates to telecommunication systems and computer technology and may find application in devices for receiving information from a transmission channel or reproducing information with a high level of errors.

Известно устройство декодирования LDPC-кодов (см. патент 7181676 США. МПК7 H03M 13/45. Layered decoding approach for low density parity check (LDPC) codes / Dale E. Hocevar - заявлено 11.02.2005 №11/056755; опубл. 20.02.2007), содержащее: память с произвольным доступом, сумматоры, блоки обновления проверок, блоки обновления символов, блок прямых перестановок, блок обратных перестановок.A known device for decoding LDPC codes (see US patent 7181676. IPC 7 H03M 13/45. Layered decoding approach for low density parity check (LDPC) codes / Dale E. Hocevar - claimed 11.02.2005 No. 11/056755; publ. 20.02 .2007), containing: random access memory, adders, check update blocks, symbol update blocks, direct permutation block, reverse permutation block.

Известное устройство реализует алгоритм итеративного декодирования по слоям, что позволяет улучшить сходимость алгоритма.The known device implements an iterative decoding algorithm in layers, which allows to improve the convergence of the algorithm.

Недостаток устройства - относительно высокая вычислительная сложность используемого алгоритма, что ограничивает его применение.The disadvantage of this device is the relatively high computational complexity of the algorithm used, which limits its application.

Наиболее близким по технической сущности к заявляемому изобретению является выбранное в качестве прототипа устройство декодирования LDPC-кодов (см. патент 2005/0283707 США. МПК7 H03M 13/00. LDPC decoder for decoding a low-density parity check (LDPC) codewords / Eran Sharon, Simon Litsyn - заявлено 18.02.2005 №11/061232; опубл. 22.12.2005), содержащее: два блока памяти с произвольным доступом, процессоры проверочных нод, схему коммутации, постоянное запоминающее устройство, хранящее структуру графа, блок проверки сходимости.The closest in technical essence to the claimed invention is a prototype device for decoding LDPC codes (see US 2005/0283707. IPC 7 H03M 13/00. LDPC decoder for decoding a low density parity check (LDPC) codewords / Eran Sharon, Simon Litsyn - announced 02/18/2005 No. 11/061232; publ. 12/22/2005), comprising: two random access memory blocks, test node processors, a switching circuit, read-only memory that stores the graph structure, a convergence check block.

Устройство-прототип выполняет процедуру последовательного декодирования LDPC-кодов, исправляющую большее число ошибок.The prototype device performs the sequential decoding of LDPC codes, correcting a larger number of errors.

Недостатком прототипа можно считать относительно большую вычислительную сложность алгоритма декодирования.The disadvantage of the prototype can be considered relatively large computational complexity of the decoding algorithm.

Технической задачей изобретения является уменьшение вычислительной сложности используемого алгоритма декодирования, обеспечивающее меньшие аппаратные затраты и более высокую пропускную способность декодера.An object of the invention is to reduce the computational complexity of the decoding algorithm used, which provides lower hardware costs and a higher decoder throughput.

Поставленная техническая задача решается тем, что в устройство декодирования LDPC-кодов, содержащее первый и второй блоки памяти, согласно изобретению введены третий блок памяти, арифметическое устройство, первый и второй стеки, первый-пятый счетчики, первый регистр-защелка, T-триггер, первый-шестой коммутаторы, схема сравнения кодов, первый и второй элементы И, первый сумматор, причем вторые входы шестого коммутатора являются входами устройства декодирования LDPC-кодов, выходы шестого коммутатора соединены с входами данных первого блока памяти, выходы первого блока памяти соединены с входами данных первого стека, с первыми входами данных арифметического устройства и вторыми входами схемы сравнения кодов, выходы первого стека соединены со вторыми входами данных арифметического устройства, выходы арифметического устройства соединены с первыми входами шестого коммутатора и третьими входами устройства управления, первый выход схемы сравнения кодов соединен с первым входом первого логического элемента И, второй выход схемы сравнения кодов соединен с первым входом второго логического элемента И, выход первого логического элемента И соединен со входом декремента пятого счетчика и T-входом T-триггера, выход второго логического элемента И соединен со входами записи первого и второго стеков и первым входом управления арифметического устройства, выходы пятого счетчика соединены с младшими разрядами первых входов первого коммутатора и первыми входами устройства управления, выход T-триггера соединен со старшим разрядом первых входов первого коммутатора, третьим входом управления арифметического устройства и вторым входом устройства управления, выходы первого коммутатора соединены с входами данных второго блока памяти, младшие разряды выходов второго блока памяти соединены с входами данных пятого счетчика, старший разряд выходов второго блока памяти соединен с входом данных T-триггера, выходы второго стека соединены со вторыми входами второго коммутатора и вторыми входами пятого коммутатора, выходы второго коммутатора соединены с входами данных третьего блока памяти, выходы третьего блока памяти соединены с входами данных первого регистра-защелки, выходы первого регистра-защелки соединены с входами данных второго стека и третьими входами пятого коммутатора, выходы пятого коммутатора соединены с адресными входами первого блока памяти, выходы первого счетчика соединены со вторыми входами третьего коммутатора, выходы второго счетчика соединены с первыми входами третьего коммутатора, выходы третьего счетчика соединены со вторыми входами четвертого коммутатора, выходы четвертого счетчика соединены с третьими входами четвертого коммутатора и вторыми входами первого сумматора, выходы третьего коммутатора соединены с адресными входами второго блока памяти, выходы четвертого коммутатора соединены с адресными входами третьего блока памяти, выходы первого сумматора соединены с входами данных четвертого счетчика, первые выходы устройства управления соединены с первыми входами схемы сравнения кодов, второй выход устройства управления соединен с входами чтения первого и второго стеков и вторым входом управления арифметического устройства, третий выход устройства управления соединен со вторыми входами первого и второго логических элементов И, четвертые выходы устройства управления соединены со вторыми входами первого коммутатора, пятый выход устройства управления соединен с входом управления первого коммутатора, шестой выход устройства управления соединен с входом сброса пятого счетчика, седьмые выходы устройства управления соединены с третьими входами третьего коммутатора, восьмые выходы устройства управления соединены с третьими входами шестого коммутатора, девятые выходы устройства управления соединены с четвертыми входами шестого коммутатора, десятый выход устройства управления соединен с входом сброса первого счетчика, одиннадцатые выходы устройства управления соединены с входами управления шестого коммутатора, двенадцатый выход устройства управления соединен с входом инкремента первого счетчика, тринадцатые выходы устройства управления соединены с входами управления третьего коммутатора, четырнадцатый выход устройства управления соединен с входом сброса второго счетчика, пятнадцатый выход устройства управления соединен с входом записи второго блока памяти, шестнадцатый выход устройства управления соединен с входом инкремента второго счетчика, семнадцатый выход устройства управления соединен с входом записи первого блока памяти, восемнадцатые выходы устройства управления соединены с первыми входами первого сумматора, девятнадцатый выход устройства управления соединен с входом загрузки четвертого счетчика, двадцатый выход устройства управления соединен с входом сброса четвертого счетчика, двадцать первый выход устройства управления соединен с входом инкремента третьего счетчика, двадцать второй выход устройства управления соединен с входом сброса третьего счетчика, двадцать третьи выходы устройства управления соединены с первыми входами четвертого коммутатора, двадцать четвертые выходы устройства управления соединены с входами управления четвертого коммутатора, двадцать пятые выходы устройства управления соединены с входами управления пятого коммутатора, двадцать шестые выходы устройства управления соединены с первыми входами пятого коммутатора, двадцать седьмой выход устройства управления соединен с входом управления второго коммутатора, двадцать восьмые выходы устройства управления соединены с первыми входами второго коммутатора, двадцать девятый выход устройства управления соединен с входом записи третьего блока памяти, тридцатый выход устройства управления соединен с входом загрузки первого регистра-защелки, тридцать первый выход устройства управления соединен с входами загрузок пятого счетчика и T-триггера, тридцать второй выход устройства управления соединен с входом сброса арифметического устройства, старший (знаковый) разряд выходов первого блока памяти является выходом устройства декодирования LDPC-кодов, причем арифметическое устройство содержит третий стек, первый и второй блоки вычисления функции g, шестой счетчик, второй регистр-защелку, первый и второй D-триггера, седьмой-девятый коммутаторы, второй сумматор, дешифратор, первый и второй элементы ИЛИ, третий-шестой элементы И, схему инверсии знака, причем первые входы седьмого коммутатора являются первыми входами данных арифметического устройства, вторые входы седьмого коммутатора соединены со вторыми входами второго сумматора и являются вторыми входами данных арифметического устройства, выходы седьмого коммутатора соединены со вторыми входами первого блока вычисления функции g и вторыми входами восьмого коммутатора, выходы первого блока вычисления функции g соединены с первыми входами восьмого коммутатора, выходы восьмого коммутатора соединены с входами данных второго регистра-защелки, выходы второго регистра-защелки соединены с первыми входами первого блока вычисления функции g, первыми входами второго блока вычисления функции g, первыми входами девятого мультиплексора и входами данных третьего стека, выходы второго блока вычисления функции g соединены со вторыми входами девятого коммутатора, выходы девятого коммутатора соединены с входами схемы инверсии знака, выходы схемы инверсии знака соединены с первыми входами второго сумматора, выходы третьего стека соединены со вторыми входами второго блока вычисления функции g и третьими входами девятого коммутатора, вход управления схемы инверсии знака является третьим входом управления арифметического устройства, вход инкремента шестого счетчика соединен с D-входом второго D-триггера, первым входом второго логического элемента ИЛИ, первым входом третьего логического элемента И и является первым входом управления арифметического устройства, вход декремента шестого счетчика соединен с D-входом первого D-триггера, вторым входом второго логического элемента ИЛИ, первым входом шестого логического элемента И, вторым входом четвертого логического элемента И, вторым входом пятого логического элемента И, входом управления седьмого коммутатора, входом чтения третьего стека и является вторым входом управления арифметического устройства, вход сброса второго регистра-защелки соединен с входом сброса шестого счетчика, входом сброса первого D-триггера, входом сброса второго D-триггера и является входом сброса арифметического устройства, выходы шестого счетчика соединены с входами дешифратора, первый выход дешифратора соединен с вторым входом третьего логического элемента И, второй выход дешифратора соединен с первым входом четвертого логического элемента И, выход третьего логического элемента И соединен с первым входом первого логического элемента ИЛИ, выход первого логического элемента ИЛИ соединен со входом управления восьмого коммутатора, выход второго логического элемента ИЛИ соединен с входом загрузки второго регистра-защелки, выход первого D-триггера соединен со вторым входом шестого логического элемента И, выход второго D-триггера соединен с первым входом пятого логического элемента И, выход пятого логического элемента И соединен со входом записи третьего стека, выход четвертого логического элемента И соединен со первым входом управления девятого коммутатора, выход шестого логического элемента И соединен со вторым входом управления девятого коммутатора и вторым входом первого логического элемента ИЛИ, выходы второго сумматора являются выходами арифметического устройства.The stated technical problem is solved in that in the device for decoding LDPC codes containing the first and second memory blocks, according to the invention, a third memory block, an arithmetic device, first and second stacks, first to fifth counters, a first register latch, a T-trigger, first to sixth switches, code comparison circuit, first and second AND elements, first adder, wherein the second inputs of the sixth switch are inputs of the LDPC code decoding device, the outputs of the sixth switch are connected to the data inputs of the first block The outputs of the first memory block are connected to the data inputs of the first stack, to the first data inputs of the arithmetic device and the second inputs of the code comparison circuit, the outputs of the first stack are connected to the second data inputs of the arithmetic device, the outputs of the arithmetic device are connected to the first inputs of the sixth switch and the third inputs of the device control, the first output of the code comparison circuit is connected to the first input of the first logical element AND, the second output of the code comparison circuit is connected to the first input of the second of the logical element AND, the output of the first logical element And is connected to the decrement input of the fifth counter and the T-input of the T-trigger, the output of the second logic element And is connected to the recording inputs of the first and second stacks and the first control input of the arithmetic device, the outputs of the fifth counter are connected to the least significant bits the first inputs of the first switch and the first inputs of the control device, the output of the T-trigger is connected to the senior bit of the first inputs of the first switch, the third control input of the arithmetic device and in by the input of the control device, the outputs of the first switch are connected to the data inputs of the second memory block, the least significant bits of the outputs of the second memory block are connected to the data inputs of the fifth counter, the highest bit of the outputs of the second memory block is connected to the data input of the T-trigger, the outputs of the second stack are connected to the second inputs the second switch and the second inputs of the fifth switch, the outputs of the second switch are connected to the data inputs of the third memory block, the outputs of the third memory block are connected to the data inputs of the first register latches, the outputs of the first register-latches are connected to the data inputs of the second stack and the third inputs of the fifth switch, the outputs of the fifth switch are connected to the address inputs of the first memory block, the outputs of the first counter are connected to the second inputs of the third switch, the outputs of the second counter are connected to the first inputs of the third switch , the outputs of the third counter are connected to the second inputs of the fourth switch, the outputs of the fourth counter are connected to the third inputs of the fourth switch and second inputs of the first sum the torus, the outputs of the third switch are connected to the address inputs of the second memory block, the outputs of the fourth switch are connected to the address inputs of the third memory block, the outputs of the first adder are connected to the data inputs of the fourth counter, the first outputs of the control device are connected to the first inputs of the code comparison circuit, the second output of the control device connected to the reading inputs of the first and second stacks and the second control input of the arithmetic device, the third output of the control device is connected to the second inputs of the of the second and second logical elements AND, the fourth outputs of the control device are connected to the second inputs of the first switch, the fifth output of the control device is connected to the control input of the first switch, the sixth output of the control device is connected to the reset input of the fifth counter, the seventh outputs of the control device are connected to the third inputs of the third switch , the eighth outputs of the control device are connected to the third inputs of the sixth switch, the ninth outputs of the control device are connected to the fourth inputs of of that switch, the tenth output of the control device is connected to the reset input of the first counter, the eleventh outputs of the control device are connected to the control inputs of the sixth switch, the twelfth output of the control device is connected to the increment input of the first counter, the thirteenth outputs of the control device are connected to the control inputs of the third switch, the fourteenth output of the device control is connected to the reset input of the second counter, the fifteenth output of the control device is connected to the recording input of the second block and the memory, the sixteenth output of the control device is connected to the increment input of the second counter, the seventeenth output of the control device is connected to the recording input of the first memory block, the eighteenth outputs of the control device are connected to the first inputs of the first adder, the nineteenth output of the control device is connected to the load input of the fourth counter, the twentieth output the control device is connected to the reset input of the fourth counter, the twenty-first output of the control device is connected to the input of the increment of the third count sensor, twenty-second output of the control device is connected to the reset input of the third counter, twenty-third outputs of the control device are connected to the first inputs of the fourth switch, twenty-fourth outputs of the control device are connected to the control inputs of the fourth switch, twenty-fifth outputs of the control device are connected to the control inputs of the fifth switch, the twenty-sixth outputs of the control device are connected to the first inputs of the fifth switch, the twenty-seventh output of the control device is connected connected to the control input of the second switch, the twenty-eighth outputs of the control device are connected to the first inputs of the second switch, the twenty-ninth output of the control device is connected to the recording input of the third memory block, the thirtieth output of the control device is connected to the boot input of the first register-latch, the thirty-first output of the control device connected to the inputs of the downloads of the fifth counter and T-flip-flop, the thirty-second output of the control device is connected to the reset input of the arithmetic device, the oldest (sign (i) the discharge bit of the outputs of the first memory block is the output of the LDPC code decoding device, the arithmetic device comprising a third stack, first and second blocks for calculating the function g, a sixth counter, a second register-latch, the first and second D-flip-flops, seventh-ninth switches, second adder, decoder, first and second elements OR, third to sixth elements AND, sign inversion circuit, the first inputs of the seventh switch being the first data inputs of an arithmetic device, the second inputs of the seventh switch connected to the second inputs of the second adder are the second data inputs of the arithmetic device, the outputs of the seventh switch are connected to the second inputs of the first unit of calculation of the function g and the second inputs of the eighth switch, the outputs of the first unit of the calculation of the function g are connected to the first inputs of the eighth switch, the outputs of the eighth switch are connected to the data inputs the second register-latch, the outputs of the second register-latch are connected to the first inputs of the first unit of calculation of function g, the first inputs of the second unit of calculation functions g, the first inputs of the ninth multiplexer and data inputs of the third stack, the outputs of the second block of calculation of the function g are connected to the second inputs of the ninth switch, the outputs of the ninth switch are connected to the inputs of the sign inversion circuit, the outputs of the sign inversion circuit are connected to the first inputs of the second adder, the outputs of the third stack connected to the second inputs of the second unit of calculation of the function g and the third inputs of the ninth switch, the control input of the sign inversion circuit is the third control input of the arithmetic three, the input of the increment of the sixth counter is connected to the D-input of the second D-trigger, the first input of the second logical element OR, the first input of the third logical element And is the first control input of the arithmetic device, the input of the decrement of the sixth counter is connected to the D-input of the first D-trigger , the second input of the second logical element OR, the first input of the sixth logical element And, the second input of the fourth logical element And, the second input of the fifth logical element And, the control input of the seventh switch, the read input of the third stack and is the second control input of the arithmetic device, the reset input of the second latch register is connected to the reset input of the sixth counter, the reset input of the first D-trigger, the reset input of the second D-trigger and is the reset input of the arithmetic device, the outputs of the sixth counter are connected to the inputs of the decoder, the first output of the decoder is connected to the second input of the third logical element And, the second output of the decoder is connected to the first input of the fourth logical element And, the output of the third The AND gate is connected to the first input of the first OR gate, the output of the first OR gate is connected to the control input of the eighth switch, the output of the second OR gate is connected to the load input of the second latch register, the output of the first D-trigger is connected to the second input of the sixth logical gate And, the output of the second D-trigger is connected to the first input of the fifth logical element And, the output of the fifth logical element And is connected to the recording input of the third stack, the output of the fourth logical element And connected to the first control input of the ninth switch, the output of the sixth logical element AND is connected to the second control input of the ninth switch and the second input of the first logical OR, the outputs of the second adder are the outputs of the arithmetic device.

Взаимодействие введенных функциональных блоков обеспечивает последовательное уточнение оценок символов слов LDPC-кода с одновременным упрощением проверочных уравнений.The interaction of the introduced functional blocks provides a consistent refinement of the word character estimates of the LDPC code while simplifying the verification equations.

Сущность изобретения состоит в том, что для уменьшения вычислительной сложности используемого итеративного алгоритма декодирования на каждой его итерации из проверочных уравнений LDPC-кода исключаются символы кодового слова, надежность которых выше заданного порога. Проверочные уравнения в процессе декодирования упрощаются и вырождаются. Вычислительная сложность каждой последующей итерации уменьшается.The essence of the invention lies in the fact that to reduce the computational complexity of the iterative decoding algorithm used at each iteration, codeword symbols whose reliability is higher than a given threshold are excluded from the LDPC code verification equations. The verification equations in the decoding process are simplified and degenerate. The computational complexity of each subsequent iteration is reduced.

На фиг.1 приведена функциональная схема предлагаемого устройства декодирования LDPC-кодов; на фиг.2 - функциональная схема арифметического устройства; на фиг.3 - функциональная схема стека.Figure 1 shows the functional diagram of the proposed device for decoding LDPC codes; figure 2 is a functional diagram of an arithmetic device; figure 3 is a functional diagram of the stack.

В описании устройства и на чертежах используются следующие обозначения:In the description of the device and in the drawings, the following notation is used:

АУ - арифметическое устройство;AU - arithmetic device;

ПУ - проверочное уравнение;PU - verification equation;

УУ - устройство управления;UU - control device;

Cnt - счетчик;Cnt - counter;

Mux - коммутатор (мультиплексор);Mux - switch (multiplexer);

DC - дешифратор;DC - decoder;

LLR - Log likelihood ratio (логарифмическое отношение правдоподобия);LLR - Log likelihood ratio (log-likelihood ratio);

RAM - память с произвольным доступом;RAM - random access memory;

Rg - регистр;Rg is the register;

y1-y7 - управляющие сигналы;y 1 -y 7 - control signals;

n - количество символов в кодовом слове LDPC-кода;n is the number of characters in the codeword of the LDPC code;

r - число проверочных уравнений в LDPC-коде.r is the number of verification equations in the LDPC code.

Устройство декодирования LDPC-кодов (фиг.1) содержит устройство управления 1, первый-третий блоки памяти 2-4; арифметическое устройство 5; первый и второй стеки 6, 7; первый-пятый счетчики 8-10, 11.1, 12; первый регистр-защелку 13; T-триггер 14; первый-шестой коммутаторы 15-20; схему сравнения кодов 21; первый и второй элементы И 22, 23, первый сумматор 11.2.A device for decoding LDPC codes (FIG. 1) comprises a control device 1, first to third memory blocks 2-4; arithmetic device 5; first and second stacks 6, 7; first to fifth counters 8-10, 11.1, 12; the first register latch 13; T-trigger 14; first to sixth switches 15-20; code comparison scheme 21; the first and second elements And 22, 23, the first adder 11.2.

Вторые входы шестого коммутатора 20 являются входами устройства декодирования LDPC-кодов, на которые подаются входные данные (DIn).The second inputs of the sixth switch 20 are the inputs of the device decoding LDPC codes, which are fed with input data (DIn).

Выходы шестого коммутатора 20 соединены с входами данных первого блока памяти 2. Выходы первого блока памяти 2 соединены с входами данных первого стека 6, с первыми входами данных арифметического устройства 5 и вторыми входами схемы сравнения кодов 21. Выходы первого стека 6 соединены со вторыми входами данных арифметического устройства 5. Выходы арифметического устройства 5 соединены с первыми входами шестого коммутатора 20 и третьими входами устройства управления 1. Первый выход схемы сравнения кодов 21 соединен с первым входом первого логического элемента И 22. Второй выход схемы сравнения кодов 21 соединен с первым входом второго логического элемента И 23. Выход первого логического элемента И 22 соединен со входом декремента пятого счетчика 12 и T-входом T-триггера 14. Выход второго логического элемента И 23 соединен со входами записи первого и второго стеков 6 и 7 и первым входом управления арифметического устройства 5. Выходы пятого счетчика 12 соединены с младшими разрядами первых входов первого коммутатора 15 и первыми входами устройства управления 1. Выход T-триггера 14 соединен со старшим разрядом первых входов первого коммутатора 15, третьим входом управления арифметического устройства 5 и вторым входом устройства управления 1. Выходы первого коммутатора 15 соединены с входами данных второго блока памяти 3. Младшие разряды выходов второго блока памяти 3 соединены с входами данных пятого счетчика 12. Старший разряд выходов второго блока памяти 3 соединен с входом данных T-триггера 14. Выходы второго стека 7 соединены со вторыми входами второго коммутатора 16 и вторыми входами пятого коммутатора 19. Выходы второго коммутатора 16 соединены с входами данных третьего блока памяти 4. Выходы третьего блока памяти 4 соединены с входами данных первого регистра-защелки 13. Выходы первого регистра-защелки 13 соединены с входами данных второго стека 7 и третьими входами пятого коммутатора 19. Выходы пятого коммутатора 19 соединены с адресными входами первого блока памяти 2. Выходы первого счетчика 8 соединены со вторыми входами третьего коммутатора 17. Выходы второго счетчика 9 соединены со первыми входами третьего коммутатора 17. Выходы третьего счетчика 10 соединены со вторыми входами четвертого коммутатора 18. Выходы четвертого счетчика 11.1 соединены с третьими входами четвертого коммутатора 18 и вторыми входами первого сумматора 11.2. Выходы третьего коммутатора 17 соединены с адресными входами второго блока памяти 3. Выходы четвертого коммутатора 18 соединены с адресными входами третьего блока памяти 4. Выходы первого сумматора 11.2 соединены с входами данных четвертого счетчика 11.1.The outputs of the sixth switch 20 are connected to the data inputs of the first memory block 2. The outputs of the first memory block 2 are connected to the data inputs of the first stack 6, with the first data inputs of the arithmetic device 5 and the second inputs of the code comparison circuit 21. The outputs of the first stack 6 are connected with the second data inputs arithmetic device 5. The outputs of the arithmetic device 5 are connected to the first inputs of the sixth switch 20 and the third inputs of the control device 1. The first output of the code comparison circuit 21 is connected to the first input of the first logic and element 22. The second output of the code comparison circuit 21 is connected to the first input of the second logic element And 23. The output of the first logic element And 22 is connected to the decrement input of the fifth counter 12 and the T-input of the T-trigger 14. The output of the second logic element And 23 is connected with recording inputs of the first and second stacks 6 and 7 and the first control input of the arithmetic device 5. The outputs of the fifth counter 12 are connected to the least significant bits of the first inputs of the first switch 15 and the first inputs of the control device 1. The output of the T-trigger 14 is connected to the first bit of the first inputs of the first switch 15, the third control input of the arithmetic device 5 and the second input of the control device 1. The outputs of the first switch 15 are connected to the data inputs of the second memory block 3. The lower bits of the outputs of the second memory block 3 are connected to the data inputs of the fifth counter 12. Senior the outputs of the second memory block 3 are connected to the data input of the T-flip-flop 14. The outputs of the second stack 7 are connected to the second inputs of the second switch 16 and the second inputs of the fifth switch 19. The outputs of the second switch and 16 are connected to the data inputs of the third memory unit 4. The outputs of the third memory unit 4 are connected to the data inputs of the first register-latch 13. The outputs of the first register-latch 13 are connected to the data inputs of the second stack 7 and the third inputs of the fifth switch 19. The outputs of the fifth switch 19 connected to the address inputs of the first memory block 2. The outputs of the first counter 8 are connected to the second inputs of the third switch 17. The outputs of the second counter 9 are connected to the first inputs of the third switch 17. The outputs of the third counter 10 are connected to the second and the inputs of the fourth switch 18. The outputs of the fourth counter 11.1 are connected to the third inputs of the fourth switch 18 and the second inputs of the first adder 11.2. The outputs of the third switch 17 are connected to the address inputs of the second memory block 3. The outputs of the fourth switch 18 are connected to the address inputs of the third memory block 4. The outputs of the first adder 11.2 are connected to the data inputs of the fourth counter 11.1.

Первые выходы устройства управления 1 соединены с первыми входами схемы сравнения кодов 21. Второй выход устройства управления 1 соединен с входами чтения первого и второго стеков 6 и 7 и вторым входом управления арифметического устройства 5. Третий выход устройства управления 1 соединен со вторыми входами логических элементов И 22 и 23. Четвертые выходы устройства управления 1 соединены со вторыми входами первого коммутатора 15. Пятый выход устройства управления 1 соединен с входом управления первого коммутатора 15. Шестой выход устройства управления 1 соединен с входом сброса пятого счетчика 12. Седьмые выходы устройства управления 1 соединены с третьими входами третьего коммутатора 17. Восьмые выходы устройства управления 1 соединены с третьими входами шестого коммутатора 20. Девятые выходы устройства управления 1 соединены с четвертыми входами шестого коммутатора 20. Десятый выход устройства управления 1 соединен с входом сброса первого счетчика 8. Одиннадцатые выходы устройства управления 1 соединены с входами управления шестого коммутатора 20. Двенадцатый выход устройства управления 1 соединен с входом инкремента первого счетчика 8. Тринадцатые выходы устройства управления 1 соединены с входами управления третьего коммутатора 17. Четырнадцатый выход устройства управления 1 соединен с входом сброса второго счетчика 9. Пятнадцатый выход устройства управления 1 соединен с входом записи второго блока памяти 3. Шестнадцатый выход устройства управления 1 соединен с входом инкремента второго счетчика 9. Семнадцатый выход устройства управления 1 соединен с входом записи первого блока памяти 2. Восемнадцатые выходы устройства управления 1 соединены с первыми входами первого сумматора 11.2. Девятнадцатый выход устройства управления 1 соединен с входом загрузки четвертого счетчика 11.1. Двадцатый выход устройства управления 1 соединен с входом сброса четвертого счетчика 11.1. Двадцать первый выход устройства управления 1 соединен с входом инкремента третьего счетчика 10. Двадцать второй выход устройства управления 1 соединен с входом сброса третьего счетчика 10. Двадцать третьи выходы устройства управления 1 соединены с первыми входами четвертого коммутатора 18. Двадцать четвертые выходы устройства управления 1 соединены с входами управления четвертого коммутатора 18. Двадцать пятые выходы устройства управления 1 соединены с входами управления пятого коммутатора 19. Двадцать шестые выходы устройства управления 1 соединены с первыми входами пятого коммутатора 19. Двадцать седьмой выход устройства управления 1 соединен с входом управления второго коммутатора 16. Двадцать восьмые выходы устройства управления 1 соединены с первыми входами второго коммутатора 16. Двадцать девятый выход устройства управления 1 соединен с входом записи третьего блока памяти 4. Тридцатый выход устройства управления 1 соединен с входом загрузки первого регистра-защелки 13. Тридцать первый выход устройства управления 1 соединен с входами загрузок пятого счетчика 12 и T-триггера 14. Тридцать второй выход устройства управления 1 соединен с входом сброса арифметического устройства 5.The first outputs of the control device 1 are connected to the first inputs of the code comparison circuit 21. The second output of the control device 1 is connected to the reading inputs of the first and second stacks 6 and 7 and the second control input of the arithmetic device 5. The third output of the control device 1 is connected to the second inputs of the logical elements AND 22 and 23. The fourth outputs of the control device 1 are connected to the second inputs of the first switch 15. The fifth output of the control device 1 is connected to the control input of the first switch 15. The sixth output of the control device Phenomenon 1 is connected to the reset input of the fifth counter 12. The seventh outputs of the control device 1 are connected to the third inputs of the third switch 17. The eighth outputs of the control device 1 are connected to the third inputs of the sixth switch 20. The ninth outputs of the control device 1 are connected to the fourth inputs of the sixth switch 20. Tenth the output of the control device 1 is connected to the reset input of the first counter 8. The eleventh outputs of the control device 1 are connected to the control inputs of the sixth switch 20. The twelfth output of the control device Level 1 is connected to the increment input of the first counter 8. The thirteenth outputs of the control device 1 are connected to the control inputs of the third switch 17. The fourteenth output of the control device 1 is connected to the reset input of the second counter 9. The fifteenth output of the control device 1 is connected to the recording input of the second memory unit 3. The sixteenth output of the control device 1 is connected to the input of the increment of the second counter 9. The seventeenth output of the control device 1 is connected to the input of the recording of the first memory block 2. The eighteenth outputs of the device The control device 1 is connected to the first inputs of the first adder 11.2. The nineteenth output of the control device 1 is connected to the boot input of the fourth counter 11.1. The twentieth output of the control device 1 is connected to the reset input of the fourth counter 11.1. The twenty-first output of the control device 1 is connected to the increment input of the third counter 10. The twenty-second output of the control device 1 is connected to the reset input of the third counter 10. The twenty-third outputs of the control device 1 are connected to the first inputs of the fourth switch 18. The twenty-fourth outputs of the control device 1 are connected to the control inputs of the fourth switch 18. The twenty-fifth outputs of the control device 1 are connected to the control inputs of the fifth switch 19. The twenty-sixth outputs of the control device 1 are connected to the first inputs of the fifth switch 19. The twenty-seventh output of the control device 1 is connected to the control input of the second switch 16. The twenty-eighth outputs of the control device 1 are connected to the first inputs of the second switch 16. The twenty-ninth output of the control device 1 is connected to the recording input of the third memory unit 4. The thirtieth output of the control device 1 is connected to the boot input of the first register-latch 13. The thirty-first output of the control device 1 is connected to the boot inputs of the fifth counter 12 and the T-trigger 14. Thirty-second output of the control device 1 is connected to the reset input of the arithmetic unit 5.

Старший (знаковый) разряд выходов первого блока памяти 2 является выходом устройства декодирования LDPC-кодов (DOut).The senior (signed) bit of the outputs of the first memory block 2 is the output of the device for decoding LDPC codes (DOut).

Все триггеры, регистры, счетчики, используемые в устройстве декодирования LDPC-кодов, меняют свое состояние по окончанию тактового интервала в зависимости от управляющих сигналов. Тактовый сигнал на фигурах изобретения не показан, но его наличие подразумевается.All triggers, registers, counters used in the device for decoding LDPC codes change their state at the end of the clock interval, depending on the control signals. The clock signal in the figures of the invention is not shown, but its presence is implied.

Первый блок памяти 2 имеет емкость в 2n слов, каждое из которых содержит LLR одного символа кодового слова (n - длина кодового слова LDPC-кода).The first memory block 2 has a capacity of 2n words, each of which contains an LLR of one character of a codeword (n is the length of the codeword of the LDPC code).

Второй блок памяти 3 имеет емкость в r слов, каждое из которых содержит описание одного проверочного уравнения по четности LDPC-кода (r - число проверочных уравнений в LDPC-коде). Старший разряд слова описания содержит признак четности, который определяет разновидность проверочного уравнения. Если признак нулевой, осуществляется проверка по четности, если единичный - по нечетности. Остальные разряды слова описания содержат количество членов проверочного уравнения.The second memory block 3 has a capacity of r words, each of which contains a description of one parity equation in the LDPC code (r is the number of verification equations in the LDPC code). The most significant category of the description word contains the parity criterion, which determines the type of verification equation. If the sign is zero, a parity check is performed, if one is odd. The remaining bits of the description word contain the number of members of the verification equation.

Третий блок памяти 4 содержит номера символов кодового слова, входящих в проверочные уравнения. Номера символов одного проверочного уравнения хранятся в соседних словах, количество которых определяется описанием проверочного уравнения. Общее число слов третьего блока памяти 4 равняется суммарному числу единиц в проверочной матрице H LDPC-кода.The third block of memory 4 contains the symbol numbers of the codeword included in the verification equations. The symbol numbers of one verification equation are stored in adjacent words, the number of which is determined by the description of the verification equation. The total number of words of the third memory block 4 is equal to the total number of units in the check matrix H of the LDPC code.

При подаче логической единицы на первый вход управления девятого коммутатора 33 на его выходы передается содержимое его третьих входов. При подаче логической единицы на второй вход управления девятого коммутатора 33 на его выходы передается содержимое его первых входов. При подаче логических нулей на входы управления девятого коммутатора 33 на его выходы передается содержимое его вторых входов.When a logical unit is supplied to the first control input of the ninth switch 33, the contents of its third inputs are transmitted to its outputs. When a logical unit is supplied to the second control input of the ninth switch 33, the contents of its first inputs are transmitted to its outputs. When applying logical zeros to the control inputs of the ninth switch 33, the contents of its second inputs are transmitted to its outputs.

Схема сравнения кодов 21 сравнивает значение LLR символа, подаваемое на его вторые входы, со значением порога Thres, подаваемого на его первые входы. Причем сначала находится модуль LLR. Если этот модуль больше порога или равен ему, на первом выходе схемы формируется логическая единица, в противном случае - логический ноль. На втором выходе схемы формируется сигнал инверсный к сигналу на первом выходе.The code comparison circuit 21 compares the LLR value of the symbol supplied to its second inputs with the value of the threshold Thres supplied to its first inputs. And at first the LLR module is located. If this module is greater than the threshold or equal to it, a logical unit is formed at the first output of the circuit, otherwise a logical zero. At the second output of the circuit, an inverse signal is generated to the signal at the first output.

Арифметическое устройство (фиг.2) содержит третий стек 24; первый и второй блоки вычисления функции g 25, 26; шестой счетчик 27; второй регистр-защелку 28; первый и второй D-триггера 29. 30; седьмой-девятый коммутаторы 31-33; второй сумматор 34; дешифратор 35; первый и второй элементы ИЛИ 36, 37, третий-шестой элементы И 38-41, схему инверсии знака 42.The arithmetic device (figure 2) contains a third stack 24; the first and second blocks of the calculation of the function g 25, 26; sixth counter 27; second latch register 28; the first and second D flip-flops 29. 30; seventh-ninth switches 31-33; second adder 34; decoder 35; the first and second elements OR 36, 37, the third to sixth elements AND 38-41, the sign inversion circuit 42.

Первые входы седьмого коммутатора 31 являются первыми входами данных арифметического устройства 5 (DI1). Вторые входы седьмого коммутатора 31 соединены со вторыми входами второго сумматора 34 и являются вторыми входами данных арифметического устройства 5 (DI2). Выходы седьмого коммутатора 31 соединены со вторыми входами первого блока вычисления функции g 25 и вторыми входами восьмого коммутатора 32. Выходы первого блока вычисления функции g 25 соединены с первыми входами восьмого коммутатора 32. Выходы восьмого коммутатора 32 соединены с входами данных второго регистра-защелки 28. Выходы второго регистра-защелки 28 соединены с первыми входами первого блока вычисления функции g 25, первыми входами второго блока вычисления функции g 26, первыми входами девятого мультиплексора 33 и входами данных третьего стека 24. Выходы второго блока вычисления функции g 26 соединены со вторыми входами девятого коммутатора 33. Выходы девятого коммутатора 33 соединены с входами схемы инверсии знака 42. Выходы схемы инверсии знака 42 соединены с первыми входами второго сумматора 34. Выходы третьего стека 24 соединены со вторыми входами второго блока вычисления функции g 26 и третьими входами девятого коммутатора 33.The first inputs of the seventh switch 31 are the first data inputs of the arithmetic device 5 (DI1). The second inputs of the seventh switch 31 are connected to the second inputs of the second adder 34 and are the second data inputs of the arithmetic device 5 (DI2). The outputs of the seventh switch 31 are connected to the second inputs of the first block of function calculation g 25 and the second inputs of the eighth switch 32. The outputs of the first block of calculation of function g 25 are connected to the first inputs of the eighth switch 32. The outputs of the eighth switch 32 are connected to the data inputs of the second register-latch 28. The outputs of the second register-latch 28 are connected to the first inputs of the first unit for calculating the function g 25, the first inputs of the second unit for calculating the function g 26, the first inputs of the ninth multiplexer 33 and data inputs of the third ka 24. The outputs of the second block calculating the function g 26 are connected to the second inputs of the ninth switch 33. The outputs of the ninth switch 33 are connected to the inputs of the sign inversion circuit 42. The outputs of the sign inversion circuit 42 are connected to the first inputs of the second adder 34. The outputs of the third stack 24 are connected to the second the inputs of the second block computing function g 26 and the third inputs of the ninth switch 33.

Вход управления схемы инверсии знака 42 является третьим входом управления арифметического устройства 5 (Par).The control input of the sign inversion circuit 42 is the third control input of the arithmetic device 5 (Par).

Вход инкремента шестого счетчика 27 соединен с D-входом второго D-триггера 30, первым входом второго логического элемента ИЛИ 37, первым входом третьего логического элемента И 38, и является первым входом управления арифметического устройства 5 (Forward).The increment input of the sixth counter 27 is connected to the D-input of the second D-trigger 30, the first input of the second OR gate 37, the first input of the third AND gate 38, and is the first control input of the arithmetic device 5 (Forward).

Вход декремента шестого счетчика 27 соединен с D-входом первого D-триггера 29, вторым входом второго логического элемента ИЛИ 37, первым входом шестого логического элемента И 41, вторым входом четвертого логического элемента И 39, вторым входом пятого логического элемента И 40, входом управления седьмого коммутатора 31, входом чтения третьего стека 24 и является вторым входом управления арифметического устройства 5 (Backward).The decrement counter input of the sixth counter 27 is connected to the D-input of the first D-flip 29, the second input of the second logical element OR 37, the first input of the sixth logical element AND 41, the second input of the fourth logical element And 39, the second input of the fifth logical element And 40, control input the seventh switch 31, the read input of the third stack 24 and is the second control input of the arithmetic device 5 (Backward).

Вход сброса второго регистра-защелки 28 соединен с входом сброса шестого счетчика 27, входом сброса первого D-триггера 29, входом сброса второго D-триггера 30 и является входом сброса арифметического устройства 5 (Reset).The reset input of the second register-latch 28 is connected to the reset input of the sixth counter 27, the reset input of the first D-trigger 29, the reset input of the second D-trigger 30 and is the reset input of the arithmetic device 5 (Reset).

Выходы шестого счетчика 27 соединены с входами дешифратора 35. Первый выход дешифратора 35 соединен с вторым входом третьего логического элемента И 38. Второй выход дешифратора 35 соединен с первым входом четвертого логического элемента И 39. Выход третьего логического элемента И 38 соединен с первым входом первого логического элемента ИЛИ 36. Выход первого логического элемента ИЛИ 36 соединен со входом управления восьмого коммутатора 32. Выход второго логического элемента ИЛИ 37 соединен с входом загрузки второго регистра-защелки 28. Выход первого D-триггера 29 соединен со вторым входом шестого логического элемента И 41. Выход второго D-триггера 30 соединен с первым входом пятого логического элемента И 40. Выход пятого логического элемента И 40 соединен со входом записи третьего стека 24. Выход четвертого логического элемента И 39 соединен со первым входом управления девятого коммутатора 33. Выход шестого логического элемента И 41 соединен со вторым входом управления девятого коммутатора 33 и вторым входом первого логического элемента ИЛИ 36.The outputs of the sixth counter 27 are connected to the inputs of the decoder 35. The first output of the decoder 35 is connected to the second input of the third logical element And 38. The second output of the decoder 35 is connected to the first input of the fourth logical element And 39. The output of the third logical element And 38 is connected to the first input of the first logical OR element 36. The output of the first OR gate 36 is connected to the control input of the eighth switch 32. The output of the second OR gate 37 is connected to the load input of the second register-latch 28. The output of the first The D-flip-flop 29 is connected to the second input of the sixth logical element AND 41. The output of the second D-flip-flop 30 is connected to the first input of the fifth logical element And 40. The output of the fifth logical element And 40 is connected to the recording input of the third stack 24. The output of the fourth logical element And 39 connected to the first control input of the ninth switch 33. The output of the sixth logical element AND 41 is connected to the second control input of the ninth switch 33 and the second input of the first logical OR 36.

Выходы второго сумматора 34 являются выходами арифметического устройства 5 (DO).The outputs of the second adder 34 are the outputs of the arithmetic device 5 (DO).

Вторые входы пятого и шестого логических элементов И 40 и 41 являются инверсными.The second inputs of the fifth and sixth gates And 40 and 41 are inverse.

Коммутаторы, используемые в арифметическом устройстве 5, работают следующим образом.The switches used in the arithmetic device 5, operate as follows.

При подаче логической единицы на вход управления седьмого коммутатора 31 на его выходы передается содержимое его вторых входов. При подаче логического нуля на вход управления седьмого коммутатора 31 на его выходы передается содержимое его первых входов.When a logical unit is supplied to the control input of the seventh switch 31, the contents of its second inputs are transmitted to its outputs. When a logical zero is applied to the control input of the seventh switch 31, the contents of its first inputs are transmitted to its outputs.

При подаче логической единицы на вход управления восьмого коммутатора 32 на его выходы передается содержимое его вторых входов. При подаче логического нуля на вход управления восьмого коммутатора 32 на его выходы передается содержимое его первых входов.When a logical unit is supplied to the control input of the eighth switch 32, the contents of its second inputs are transmitted to its outputs. When a logical zero is applied to the control input of the eighth switch 32, the contents of its first inputs are transmitted to its outputs.

При подаче логической единицы на первый вход управления девятого коммутатора 33 на его выходы передается содержимое его третьих входов. При подаче логической единицы на второй вход управления девятого коммутатора 33 на его выходы передается содержимое его первых входов. При подаче логических нулей на входы управления девятого коммутатора 33 на его выходы передается содержимое его вторых входов.When a logical unit is supplied to the first control input of the ninth switch 33, the contents of its third inputs are transmitted to its outputs. When a logical unit is supplied to the second control input of the ninth switch 33, the contents of its first inputs are transmitted to its outputs. When applying logical zeros to the control inputs of the ninth switch 33, the contents of its second inputs are transmitted to its outputs.

Блоки вычисления функции g 25, 26 (выражение для функции приведено ниже в виде формулы (2)) могут быть реализованы известным способом с использованием таблиц (LUT).Blocks for calculating the function g 25, 26 (the expression for the function is given below in the form of formula (2)) can be implemented in a known manner using tables (LUT).

Стек (фиг.3) содержит десятый - (x+9)-ой коммутаторы 43.1-43.x; третий - (x+2)-ой регистры-защелки 44.1-44.x; третий элемент ИЛИ 45, здесь x обозначает глубину стека (максимальное число хранимых в стеке слов).The stack (Fig. 3) contains the tenth - (x + 9) th switches 43.1-43.x; the third is (x + 2) -th latch registers 44.1-44.x; the third element is OR 45, here x denotes the depth of the stack (the maximum number of words stored on the stack).

По схеме, изображенной на фиг.3, реализованы все стеки, используемые в устройстве декодирования LDPC-кодов, (первый стек 6, второй стек 7, третий стек 24). Они отличаются только глубиной (параметр x) и количеством разрядов в запоминаемых словах.According to the scheme depicted in figure 3, all the stacks used in the device decoding LDPC codes (first stack 6, second stack 7, third stack 24) are implemented. They differ only in depth (parameter x) and the number of digits in the memorized words.

Первые входы десятого коммутатора 43.1 являются входами данных стека (DI).The first inputs of the tenth switch 43.1 are the data inputs of the stack (DI).

Выходы десятого коммутатора 43.1 соединены с входами данных третьего регистра-защелки 44.1. Выходы третьего регистра-защелки 44.1 соединены со первыми входами одиннадцатого коммутатора 43.2 и являются выходами стека (DO). Выходы (x+9)-го коммутатора 43.x соединены с входами данных (x+2)-го регистра-защелки 44.x. Выходы (x+2)-го регистра-защелки 44.x соединены со вторыми входами (x+8)-го коммутатора 43.x-1. На вторые входы (x+9)-го коммутатора 43.x подается константа - нулевое слово.The outputs of the tenth switch 43.1 are connected to the data inputs of the third register-latch 44.1. The outputs of the third register-latch 44.1 are connected to the first inputs of the eleventh switch 43.2 and are the outputs of the stack (DO). The outputs of the (x + 9) th switch 43.x are connected to the data inputs of the (x + 2) th register-latch 44.x. The outputs of the (x + 2) th register-latch 44.x are connected to the second inputs of the (x + 8) th switch 43.x-1. The second inputs of the (x + 9) th switch 43.x are supplied with a constant - a zero word.

Для значений i (i=2, … x-1): выходы (i+9)-го коммутатора 43.i соединены с входами данных (i+2)-го регистра-защелки 44.i; выходы (i+2)-го регистра-защелки 44.i соединены с первыми входами (i+10)-го коммутатора 43.i+1; и со вторыми входами (i+8)-го коммутатора 43.i-1.For the values of i (i = 2, ... x-1): the outputs of the (i + 9) th switch 43.i are connected to the data inputs of the (i + 2) th register-latch 44.i; the outputs of the (i + 2) -th register-latch 44.i are connected to the first inputs of the (i + 10) -th switch 43.i + 1; and with the second inputs of the (i + 8) -th switch 43.i-1.

Первый вход логического элемента ИЛИ 45 является входом чтения стека (R). Второй вход логического элемента ИЛИ 45 соединен со входами управления десятого - (x+9)-го коммутаторов 43.1-43.x и является входом записи стека (W). Выход логического элемента ИЛИ 45 соединен со входами загрузок третьего - (x+2)-го регистров-защелок 44.1-44.x.The first input of the OR gate 45 is the stack read input (R). The second input of the OR gate 45 is connected to the control inputs of the tenth - (x + 9) -th switch 43.1-43.x and is the input to the stack record (W). The output of the OR gate 45 is connected to the inputs of the downloads of the third - (x + 2) th register-latches 44.1-44.x.

Стек работает следующим образом.The stack works as follows.

При подаче на вход записи стека (W) логической единицы на выходы всех коммутаторов 43.1-43.x передаются слова с их первых входов, при этом входы данных каждого следующего регистра-защелки логически подключаются к выходам предыдущих регистров-защелок (образуя сдвиговый регистр на x слов, реализующий сдвиг вниз), на вход регистра-защелки 44.1 подаются записываемые в стек данные (DO). Одновременно с помощью третьего логического элемента ИЛИ 45 на входы загрузок всех регистров-защелок 44.1-44.x подается логическая единица. По окончанию тактового интервала все регистры-защелки 44.1-44.x загружают слова, которые подаются на их входы. Таким образом, осуществляется сдвиг регистра стека в глубину с записью в вершину стека (регистр-защелку 44.1) слова, подаваемого на входы стека.When a logical unit of the stack entry (W) is fed to the input of the outputs of all switches 43.1-43.x, the words from their first inputs are transmitted, while the data inputs of each next latch register are logically connected to the outputs of the previous latch registers (forming a shift register by x words that implements a shift down), the data written to the stack (DO) are fed to the input of the register-latch 44.1. At the same time, using the third logical element OR 45, a logical unit is fed to the download inputs of all register-latches 44.1-44.x. At the end of the clock interval, all latch registers 44.1-44.x load the words that are fed to their inputs. Thus, the stack register is shifted in depth with writing to the top of the stack (register-latch 44.1) the words supplied to the inputs of the stack.

При подаче на вход чтения стека (R) логической единицы на выходы всех коммутаторов 43.1-43.x передаются слова с их вторых входов, при этом входы данных каждого предыдущего регистра-защелки логически подключаются к выходам следующих регистров-защелок (образуя сдвиговый регистр на x слов, реализующий сдвиг вверх), на вход регистра-защелки 44.x подается слово нулей). Одновременно с помощью третьего логического элемента ИЛИ 45 на входы загрузок всех регистров-защелок 44.1-44.x подается логическая единица. По окончанию тактового интервала все регистры-защелки 44.1-44.x загружают слова, которые подаются на их вход. Таким образом, осуществляется сдвиг регистра стека наверх с записью в вершину стека (регистр-защелку 44.1) ранее записанного в стек слова.When a logical unit is fed to the read (stack) input input to the outputs of all switches 43.1-43.x, the words from their second inputs are transmitted, while the data inputs of each previous latch register are logically connected to the outputs of the following latch registers (forming a shift register by x words that implements an upward shift), the word zeros is fed to the input of the register-latch 44.x). At the same time, using the third logical element OR 45, a logical unit is fed to the download inputs of all register-latches 44.1-44.x. At the end of the clock interval, all latch registers 44.1-44.x load the words that are fed to their input. Thus, the stack register is shifted upwards and written to the top of the stack (register-latch 44.1) of the word previously written onto the stack.

Чаще всего для декодирования LDPC-кодов используют алгоритм декодирования с итеративным распространением доверия (IBP, iterative belief-propagation), известный также как алгоритм sum-product и как алгоритм message-passing (см. Морелос-Сарагоса. Искусство помехоустойчивого кодирования. Методы, алгоритмы, применение. - М.: Техносфера, 2005. - 320 с.).Most often, for decoding LDPC codes, an iterative belief-propagation (IBP) decoding algorithm is used, also known as the sum-product algorithm and the message-passing algorithm (see Morelos-Zaragoza. The art of noise-resistant coding. Methods, algorithms , application. - M .: Technosphere, 2005. - 320 p.).

В представленном изобретении используется модификация этого алгоритма, предусматривающая обновление значений LLR (Log likelihood ratio - логарифмическое отношение правдоподобия) принятых символов слова LDPC-кода после обработки каждого проверочного уравнения кода.In the present invention, a modification of this algorithm is used, which provides for updating the LLR values (Log likelihood ratio) of the received word characters of the LDPC code after processing each verification code equation.

Данный алгоритм итеративный, он предусматривает выполнение следующих этапов.This algorithm is iterative, it involves the following steps.

1) Счетчик итераций обнуляется.1) The iteration counter is reset.

2) Выбирается первое проверочное уравнение (ПУ) из множества действительных ПУ. Если множество действительных ПУ - пусто, осуществляется переход к п.10.2) The first verification equation (PU) is selected from the set of valid PUs. If the set of valid PUs is empty, go to step 10.

3) Осуществляется проверка значений LLR символов, входящих в проверочное уравнение. Если модуль значения больше заданного порога или равен ему, оценка символа считается надежной, и она больше не меняется («замораживается»). Соответствующий символ удаляется из проверочного уравнения, при этом проверочное уравнение модифицируется. Если значение замороженного символа соответствует двоичной 1, то четность уравнения меняется.3) Validation of the LLR values of the characters included in the verification equation. If the value module is greater than or equal to the specified threshold, the symbol score is considered reliable, and it does not change anymore (“freezes”). The corresponding symbol is removed from the verification equation, while the verification equation is modified. If the value of the frozen symbol corresponds to binary 1, then the parity of the equation changes.

4) Если в результате модификации в ПУ не остается членов, оно считается вырожденным. Если остается только один член, в качестве оценки LLR символа, адресуемого этим членом, берется значение порога (с учетом знака) и символ «замораживается. Единственный член из уравнения удаляется (уравнение также становится вырожденным).4) If, as a result of a modification, no members remain in the PU, it is considered degenerate. If there is only one member left, the threshold value (taking into account the sign) is taken as an estimate of the LLR of the character addressed by this member and the symbol “freezes.” The only term in the equation is removed (the equation also becomes degenerate).

5) Если уравнение вырождается, оно удаляется из множества действительных ПУ и осуществляется переход к п.8.5) If the equation degenerates, it is removed from the set of valid PUs and the transition to step 8 is performed.

6) Осуществляется обновление значений LLR символов, входящих в проверочное уравнение.6) The LLR values of the symbols included in the verification equation are updated.

7) Модифицированное ПУ заменяет прежнее ПУ в множестве действительных ПУ.7) The modified PU replaces the previous PU in the set of valid PUs.

8) Выбирается следующее проверочное уравнение из множества действительных ПУ. Если все ПУ обработаны, осуществляется переход к следующему пункту, в противном случае переход к п.3.8) The following verification equation is selected from the set of valid PUs. If all PUs have been processed, go to the next step, otherwise go to step 3.

9) Счетчик итераций инкрементируется. Если его величина меньше заданного предельного числа итераций, осуществляется переход к п.2.9) The iteration counter is incremented. If its value is less than the specified limit number of iterations, the transition to step 2.

10) Осуществляется вывод жестких решений, в качестве которых используется знаковые разряды LLR символов кодового слова. Обновление значений LLR символов, входящих в проверочное уравнение, выполняется на 6 этапе следующим образом:10) Hard decisions are made, which are used as the sign bits LLR characters of the code word. The LLR values of the symbols included in the verification equation are updated in step 6 as follows:

Figure 00000001
Figure 00000001

где

Figure 00000002
- значение LLR символа ij кодового слова; g() - функция, используемая для оценки LLR символа на основе проверочного уравнения; p - число членов проверочного уравнения.Where
Figure 00000002
- LLR value of the symbol i j codeword; g () is the function used to estimate the LLR of a symbol based on a test equation; p is the number of members of the verification equation.

Функция g() от двух аргументов может быть определена следующим образом (см. патент 1379001 EP. МПК7 H03M 13/13. Methods and system for decoding low density parity check (LDPC) codes / Mustafa Eroz, Feng-Wen Sun, Lin-Nan Lee - заявлено 02.07.2003 №03254214.4; опубл. 07.01.2004):The function g () of the two arguments can be defined as follows (see patent 1379001 EP. IPC 7 H03M 13/13. Methods and system for decoding low density parity check (LDPC) codes / Mustafa Eroz, Feng-Wen Sun, Lin- Nan Lee - stated 02.07.2003 No. 03254214.4; publ. 07.01.2004):

Figure 00000003
Figure 00000003

где LUTg(a,b)=ln(1+e-|a+b|)-ln(1+e-|a-b|).where LUT g ( a , b) = ln (1 + e - | a + b | ) -ln (1 + e - | ab | ).

Функция g() от более чем двух аргументов может быть вычислена рекурсивно.The g () function of more than two arguments can be calculated recursively.

В представленном изобретении арифметическое устройство 5 реализует обновление значений LLR символов последовательно в два прохода.In the present invention, the arithmetic device 5 implements an update of the LLR values of the characters sequentially in two passes.

В прямом проходе на первые входы арифметического устройства 5 последовательно поступают

Figure 00000004
,
Figure 00000005
, …,
Figure 00000006
,
Figure 00000007
- значения LLR символов, входящих в проверочное уравнение. При этом вычисляется последовательность вспомогательных переменных fj:In a direct passage to the first inputs of the arithmetic device 5 sequentially arrive
Figure 00000004
,
Figure 00000005
, ...,
Figure 00000006
,
Figure 00000007
- LLR values of the symbols included in the verification equation. In this case, the sequence of auxiliary variables f j is calculated:

Figure 00000008
Figure 00000008

Figure 00000009
Figure 00000009

Figure 00000010
Figure 00000010

...

Figure 00000011
Figure 00000011

При выполнении обратного прохода на вторые входы арифметического устройства 5 последовательно поступают в обратном порядке из первого стека 6 те же самые значения LLR символов, которые подавались в арифметическое устройство 5 во время первого прохода,

Figure 00000012
,
Figure 00000006
, …,
Figure 00000005
,
Figure 00000004
. При этом вычисляется последовательность вспомогательных переменных bj:When performing a reverse pass to the second inputs of the arithmetic device 5, the same LLR values of the characters that were fed to the arithmetic device 5 during the first pass sequentially arrive in the reverse order from the first stack 6,
Figure 00000012
,
Figure 00000006
, ...,
Figure 00000005
,
Figure 00000004
. In this case, the sequence of auxiliary variables b j is calculated:

Figure 00000013
Figure 00000013

Figure 00000014
Figure 00000014

Figure 00000015
Figure 00000015

...

Figure 00000016
Figure 00000016

Также во время обратного прохода последовательно вычисляются и выводятся из арифметического устройства 5 новые значения LLR символов:Also, during the return pass, new LLR symbol values are sequentially calculated and output from the arithmetic device 5:

Figure 00000017
Figure 00000017

Figure 00000018
Figure 00000018

Figure 00000019
Figure 00000019

В процессе обработки устройством декодирования LDPC-кодов принятого кодового слова можно выделить три фазы.In the process of processing the device decoding LDPC codes of the received codeword, three phases can be distinguished.

В первой фазе LLR символов последовательно загружаются в первый блок памяти 2 (фиг.1) через шестой коммутатор 20, вторые входы которого являются входами данных устройства. Адреса ячеек первого блока памяти в этом случае формируются устройством управления 1, с двадцать шестых выходов которого они поступают на первые входы пятого коммутатора 19 и подаются далее на адресные входы первого блока памяти 2. Строб записи в память также формируется УУ 1.In the first phase, LLR symbols are sequentially loaded into the first memory unit 2 (Fig. 1) through the sixth switch 20, the second inputs of which are the data inputs of the device. The addresses of the cells of the first memory block in this case are formed by the control device 1, from the twenty-sixth outputs of which they go to the first inputs of the fifth switch 19 and are then sent to the address inputs of the first memory block 2. A write gate to the memory is also formed by УУ 1.

Также в первой фазе УУ 1 осуществляет инициализацию второго и третьего блоков памяти 3 и 4. Для этого в них записываются начальные значения параметров проверочных уравнений, определяемые проверочной матрицей H используемого LDPC-кода. Для инициализации используются первый - четвертый коммутаторы 15-18: через первый и второй коммутаторы 15, 16 в блоки памяти 3, 4 записываются параметры, через третий и четвертый 17, 18 передаются адреса соответствующих ячеек памяти.Also, in the first phase, the control unit 1 initializes the second and third memory blocks 3 and 4. For this, they store the initial values of the parameters of the verification equations determined by the verification matrix H of the used LDPC code. For initialization, the first and fourth switches 15-18 are used: through the first and second switches 15, 16, parameters are written into memory blocks 3, 4, and the addresses of the corresponding memory cells are transmitted through the third and fourth 17, 18.

Во второй фазе осуществляется итеративное декодирование кодового слова. Вторая фаза является основной, она будет подробно рассмотрена ниже.In the second phase, iterative decoding of the codeword is performed. The second phase is the main, it will be discussed in detail below.

В третьей фазе исправленное кодовое слово выгружается из первого блока памяти 2, его символы подаются на выход устройства. В качестве символов кодового слова берутся жесткие решения, представляющие собой знаковые разряды LLR. Адреса ячеек первого блока памяти в этом случае формируются устройством управления 1, с двадцать шестых выходов которого они поступают на первые входы пятого коммутатора 19 и подаются далее на адресные входы первого блока памяти 2.In the third phase, the corrected code word is unloaded from the first memory block 2, its characters are sent to the output of the device. Tough decisions are taken as symbols of the code word, which are LLR signed digits. The addresses of the cells of the first memory block in this case are formed by the control device 1, from the twenty-sixth outputs of which they go to the first inputs of the fifth switch 19 and are then fed to the address inputs of the first memory block 2.

Рассмотрим более подробно работу устройства декодирования LDPC-кодов во второй фазе обработки принятого кодового слова.Let us consider in more detail the operation of the apparatus for decoding LDPC codes in the second phase of processing the received codeword.

В этой фазе устройство декодирования выполняет заданное число итераций.In this phase, the decoding device performs a given number of iterations.

Количество итераций декодирования подсчитывается устройством управления 1. Декодирование завершается при выполнении декодером заданного числа итераций. Также декодирование завершается при отсутствии действительных проверочных уравнений, которые должны содержаться во втором и третьем блоках памяти 3 и 4. Отсутствие действительных ПУ определяется по нулевому значению поля числа членов ПУ в ячейке второго блока памяти 3, находящейся по нулевому адресу.The number of decoding iterations is calculated by the control device 1. Decoding is completed when the decoder performs a specified number of iterations. Also, decoding is completed in the absence of valid verification equations, which should be contained in the second and third memory blocks 3 and 4. The absence of valid PUs is determined by the zero value of the field of the number of PU members in the cell of the second memory block 3 located at the zero address.

В каждой итерации устройство декодирования обрабатывает все действительные проверочные уравнения, параметры которых хранятся во втором и третьем блоках памяти 3 и 4.In each iteration, the decoding device processes all valid verification equations whose parameters are stored in the second and third memory blocks 3 and 4.

Обработка одного действительного проверочного уравнения начинается с чтения описания ГТУ из второго блока памяти 3. Число членов ПУ из описания ПУ заносится в пятый счетчик 5, признак четности помещается в T-триггер 14.Processing one valid verification equation begins by reading the description of the gas turbine from the second memory block 3. The number of PU members from the PU description is entered in the fifth counter 5, the parity flag is placed in the T-trigger 14.

После чего из третьего блока памяти 4 в первый регистр-защелку 13 последовательно считываются номера позиций символов кодового слова, входящих в обрабатываемое уравнение. Эти номера используются как адреса первого блока памяти 2 для чтения последовательности значений LLR символов, входящих в проверочное уравнение. Для этого содержимое первого регистра-защелки 13 подается на третьи входы пятого коммутатора 19 и далее на адресные входы первого блока памяти 2. Последовательность номеров позиций символов кодового слова, входящих в уравнение, также запоминается во втором стеке 7.Then from the third memory block 4 into the first register-latch 13 sequentially reads the position numbers of the symbols of the codeword included in the processed equation. These numbers are used as the addresses of the first memory block 2 to read the sequence of LLR values of the characters included in the verification equation. To do this, the contents of the first register-latch 13 is fed to the third inputs of the fifth switch 19 and then to the address inputs of the first memory block 2. The sequence of position numbers of the codeword symbols included in the equation is also stored in the second stack 7.

Последовательность значений LLR символов, входящих в проверочное уравнение, одновременно подается на вторые входы схемы сравнения кодов 21, первые входы данных арифметического устройства 5 и на входы данных первого стека 6. Помещаются в стек и обрабатываются АУ 5 только не «замороженные» значения LLR, чей модуль не превышает порог Thres. Это соответствует прямому проходу модификации LLR символов, входящих в проверочное уравнение.The sequence of LLR values of the symbols included in the verification equation is simultaneously fed to the second inputs of the code comparison circuit 21, the first data inputs of the arithmetic device 5 and to the data inputs of the first stack 6. Only non-frozen LLR values are pushed onto the stack and processed by AC 5, whose the module does not exceed the Thres threshold. This corresponds to a direct pass of the LLR modification of the symbols included in the verification equation.

Для определения и обработки «замороженных» значений LLR символов используется схема сравнения кодов 21 и первый и второй логические элементы И 22 и 23. Схема сравнения сравнивает коды, поступающие на ее входы. На первые входы подается значение порога, выдаваемого УУ 1, на вторые входы подается последовательность значений LLR символов, считанная из первого блока памяти 2. Если значение LLR по модулю больше или равно значения порога на первом выходе схемы сравнения кодов 21 формируется логическая 1 (признак «замороженности»), на втором выходе схемы сравнения формируется инверсное значение к первому выходу. Единичное значение сигнала на выходе первого логического элемента И 22 уменьшает на единицу число членов ПУ, хранящееся в пятом счетчике 12, и меняет четность ПУ, признак которой хранится в T-триггере. Единичное значение сигнала на выходе второго логического элемента И 23 разрешает запись значений LLR в первый стек бив АУ 5 и соответствующих значениям LLR номеров символов во второй стек 7.To determine and process the "frozen" values of LLR characters, a code comparison scheme 21 and the first and second logic elements And 22 and 23 are used. The comparison circuit compares the codes received at its inputs. The first inputs are supplied with a threshold value issued by UU 1, the second inputs are fed with a sequence of LLR values of characters read from the first memory block 2. If the LLR value is greater than or equal to the threshold value at the first output of the code comparison circuit 21, logical 1 is generated (sign “ icing ”), at the second output of the comparison circuit, an inverse value is formed to the first output. A single value of the signal at the output of the first logical element And 22 reduces by one the number of PU members stored in the fifth counter 12, and changes the parity of the PU, the sign of which is stored in the T-trigger. A single value of the signal at the output of the second logical element AND 23 allows the LLR values to be written to the first stack of AC 5 and the corresponding LLR values of symbol numbers to the second stack 7.

Если после прямого прохода содержимое пятого счетчика 12 обнулилось или стало равно 1, обратный проход не выполняется, параметры вырожденного проверочного уравнения во второй и третий блоки памяти не сохраняется. Если содержимое пятого счетчика 12 стало равно 1, в первый блок памяти 2 в качестве значения LLR записывается значение порога с соответствующим знаком по адресу, равному номеру единственного оставшегося символа.If, after a direct pass, the contents of the fifth counter 12 are reset or equal to 1, the reverse pass is not performed, the parameters of the degenerate verification equation in the second and third memory blocks are not saved. If the contents of the fifth counter 12 has become equal to 1, the threshold value with the corresponding sign at the address equal to the number of the only remaining character is written into the first memory block 2 as the LLR value.

Если проверочное уравнение не выродилось (содержимое пятого счетчика 12 больше 1), после завершения прямого прохода начинается обратный проход модификации LLR символов, входящих в проверочное уравнение. Во время прохода на вторые входы данных арифметического устройства 5 из первого стека 6 подается последовательность значений LLR символов, входящих в проверочное уравнение, в обратном порядке. Во время обратного прохода на выходах АУ 5 появляются модифицированные значения LLR символов, которые записываются в первый блок памяти 2 по адресам, считанным из второго стека 7. Одновременно адреса, считанные из второго стека 7, являющиеся номерами символов, входящими в ПУ, заносятся в третий блок памяти 4. Модифицированное описание ПУ записывается из T-триггера 14 и пятого счетчика 12 во второй блок памяти 3 по адресу, хранящемуся во втором счетчике 9, который затем инкрементируется. Таким образом, сохраняется модифицированное ПУ.If the verification equation does not degenerate (the contents of the fifth counter 12 are greater than 1), after the direct pass is completed, the reverse pass of the modification of LLR symbols included in the verification equation begins. During the passage to the second data inputs of the arithmetic device 5 from the first stack 6, a sequence of LLR values of symbols included in the verification equation is fed in the reverse order. During the return pass, the modified values of LLR characters appear on the outputs of AU 5, which are written to the first memory block 2 at the addresses read from the second stack 7. At the same time, the addresses read from the second stack 7, which are the numbers of characters included in the PU, are entered in the third memory block 4. A modified description of the PU is recorded from the T-flip-flop 14 and the fifth counter 12 to the second memory block 3 at the address stored in the second counter 9, which is then incremented. Thus, the modified PU is saved.

Первый счетчик 8, хранящий адрес текущего описания ПУ, инкрементируется, и описанный процесс повторяется для следующего и затем для всех действительных проверочных уравнений, описание которых хранится во втором и третьем блоках памяти 3 и 4.The first counter 8, which stores the address of the current PU description, is incremented, and the described process is repeated for the next and then for all valid verification equations, the description of which is stored in the second and third memory blocks 3 and 4.

Вычислительная сложность устройства декодирования LDPC-кодов уменьшается по сравнению с прототипом за счет последовательного уменьшения вычислительной сложности итераций алгоритма декодирования с увеличением номера итерации. Это определяется уменьшением числа членов проверочных уравнений (за счет «замораживания» символов кодового слова) и уменьшением числа ПУ (за счет их вырождения).The computational complexity of the device decoding LDPC codes is reduced compared with the prototype due to the sequential decrease in the computational complexity of iterations of the decoding algorithm with increasing iteration number. This is determined by a decrease in the number of members of the verification equations (due to the "freezing" of the codeword characters) and a decrease in the number of PUs (due to their degeneration).

Арифметическое устройство 5 (фиг.2) во время прямого прохода работает следующим образом.Arithmetic device 5 (figure 2) during a direct pass works as follows.

Значения LLR символов, поступающие на первые входы данных арифметического устройства 5 (DI1), передаются на выходы седьмого коммутатора 31, поскольку второй сигнал управления арифметическим устройством 5 (Backward), поступающий на вход управления коммутатором 31, не активен.The LLR values of the symbols supplied to the first data inputs of the arithmetic device 5 (DI1) are transmitted to the outputs of the seventh switch 31, since the second control signal of the arithmetic device 5 (Backward), which is input to the control input of the switch 31, is inactive.

Первое значение LLR

Figure 00000004
через восьмой коммутатор 32, выходы которого на это время подключаются к его вторым входам, загружается во второй регистр-защелку 28, формируя значение f1 в соответствии с формулой (3). Для управления коммутатором 32 в это время активизируется (принимает значение, равное логической единице) сигнал на выходе логического элемента И 38, поступающий далее через логический элемент ИЛИ 36 на вход управления восьмого коммутатора. Соответствующий временной интервал определяется нулевым состоянием шестого счетчик 27, во время которого на первом выходе дешифратора 35 появляется логическая 1.First LLR value
Figure 00000004
through the eighth switch 32, the outputs of which are connected to its second inputs at this time, is loaded into the second latch register 28, forming the value f 1 in accordance with formula (3). To control the switch 32 at this time, the signal at the output of the AND gate 38 is activated (takes a value equal to a logical unit), which then goes through the OR gate 36 to the control input of the eighth switch. The corresponding time interval is determined by the zero state of the sixth counter 27, during which logical 1 appears at the first output of the decoder 35.

Следующие значения LLR поступают на вторые входы первого блока вычисления функции g 25, на первые входы которого поступают значения fj-1 с выходов второго регистра-защелки 28. Результаты вычисления функции g через восьмой коммутатор 32, выходы которого в это время подключены к его первым входам, записываются во второй регистр-защелку 28, формируя тем значения fj в соответствии с формулами (4-6). С выходов второго регистра-защелки 28 значения fj записываются в третий стек 24. Второй D-триггер 30 необходим для синхронизации сигнала записи в стек с появлением значений fj на выходах второго регистра-защелки 28.The following LLR values go to the second inputs of the first unit of calculation of the function g 25, the first inputs of which receive the values f j-1 from the outputs of the second register-latch 28. The results of the calculation of the function g through the eighth switch 32, the outputs of which are connected to its first inputs are recorded in the second register-latch 28, thereby forming the values of f j in accordance with formulas (4-6). From the outputs of the second register-latch 28, the values of f j are written to the third stack 24. The second D-trigger 30 is needed to synchronize the write signal to the stack with the appearance of the values f j at the outputs of the second register-latch 28.

Во время обратного прохода арифметическое устройство 5 работает следующим образом.During the return pass, the arithmetic device 5 operates as follows.

Значения LLR символов, поступающие на вторые входы данных арифметического устройства 5 (DI2) в обратном порядке, передаются на выходы седьмого коммутатора 31, поскольку второй сигнал управления арифметическим устройством 5 (Backward), поступающий на вход управления коммутатором 31, активен.The LLR values of the symbols supplied to the second data inputs of the arithmetic device 5 (DI2) in the reverse order are transmitted to the outputs of the seventh switch 31, since the second control signal of the arithmetic device 5 (Backward), which is input to the control input of the switch 31, is active.

Первое в обратной последовательности значение LLR

Figure 00000020
через восьмой коммутатор 32, выходы которого на это время подключаются к его вторым входам, загружается во второй регистр-защелку 28, формируя значение bp в соответствии с формулой (7). Для управления коммутатором 32 в это время активизируется (принимает значение, равное логической единице) сигнал на выходе логического элемента И 41, поступающий далее через логический элемент ИЛИ 36 на вход управления восьмого коммутатора. Соответствующий временной интервал определяется с помощью первого D-триггера 29, на D-вход которого подается сигнал управления "Backward".First in reverse order of LLR
Figure 00000020
through the eighth switch 32, the outputs of which are connected to its second inputs at this time, is loaded into the second latch register 28, forming the value of b p in accordance with formula (7). To control the switch 32 at this time, a signal is activated (takes a value equal to a logical unit) at the output of the AND gate 41, which then passes through the OR gate 36 to the control input of the eighth switch. The corresponding time interval is determined using the first D-flip-flop 29, to the D-input of which a control signal "Backward" is applied.

Следующие значения LLR поступают на вторые входы первого блока вычисления функции g 25, на первые входы которого поступают значения bj+1 с выходов второго регистра-защелки 28. Результаты вычисления функции g через восьмой коммутатор 32, выходы которого в это время подключены к его первым входам, записываются во второй регистр-защелку 28, формируя тем значения bj в соответствии с формулами (8-10).The following LLR values go to the second inputs of the first unit of calculation of the function g 25, the first inputs of which receive the values of b j + 1 from the outputs of the second register-latch 28. The results of the calculation of the function g through the eighth switch 32, the outputs of which are connected to its first inputs are recorded in the second register-latch 28, thereby forming the values of b j in accordance with formulas (8-10).

Во время обратного прохода на выходе арифметического устройства 5 появляются модифицированные значения LLR символов.During the backward pass, modified LLR symbol values appear at the output of the arithmetic device 5.

Первым появляется новое значение

Figure 00000021
(см. формулу 11), для этого используется второй сумматор 34, на вторые входы которого постоянно подаются значения LLR, поступающие на вторые входы данных арифметического устройства 5, на первые входы сумматора в 34 это время через девятый коммутатор 33 (третьи входы) и схему инверсии знака 42 из стека подается значение fp-1.New value comes first
Figure 00000021
(see formula 11), for this, a second adder 34 is used, on the second inputs of which LLR values are constantly supplied to the second inputs of the arithmetic device 5, at the first inputs of the adder at 34 this time through the ninth switch 33 (third inputs) and the circuit sign inversion 42 from the stack, the value f p-1 is supplied.

Затем появляются значения LLR, вычисляемые по формуле (12), для этого на первые входы второго сумматора 34 через девятый коммутатор 33 (вторые входы) и схему инверсии знака 42 с выходов второго блока вычисления функции g 26 подается значение g(fj,bj+2,). При этом на первые входы второго блока вычисления функции g 26 поступают величины bj+2 с выходов второго регистра защелки 28, на вторые входы второго блока вычисления функции g поступают величины fj с выходов третьего стека 24.Then LLR values calculated by formula (12) appear, for this, the value g (f j , b j is supplied to the first inputs of the second adder 34 through the ninth switch 33 (second inputs) and the sign inversion circuit 42 from the outputs of the second unit of calculation of the function g 26 +2, ). At the same time, the values of b j + 2 from the outputs of the second register of the latch 28 are supplied to the first inputs of the second block of calculation of the function g 26, and the quantities f j from the outputs of the third stack 24 are received at the second inputs of the second block of the calculation of function g.

Последним на выходах арифметического устройства 5 появляется новое значение

Figure 00000004
(см. формулу 13), для этого на первые входы второго сумматора 34 через девятый коммутатор 33 (первые входы) и схему инверсии знака 42 с выходов второго регистра-защелки 28 подается значение b2. Соответствующий этому временной интервал определяется нахождением шестого счетчика 27 в состоянии «1», при этом на втором выходе дешифратора 35 появляется логическая 1, которая пропускается во время обратного прохода четвертым логическим элементом И 39 на первый вход управления девятого коммутатора 33.Last at the outputs of arithmetic device 5 appears a new value
Figure 00000004
(see formula 13), for this, the value b 2 is supplied to the first inputs of the second adder 34 through the ninth switch 33 (first inputs) and the sign inversion circuit 42 from the outputs of the second register-latch 28. The corresponding time interval is determined by the sixth counter 27 in the state “1”, while at the second output of the decoder 35 appears logical 1, which is skipped during the return pass by the fourth logical element And 39 to the first control input of the ninth switch 33.

Если на третьем входе управления арифметического устройства 5 (Par) присутствует логическая 1, схема инверсии знака меняет знак величины изменения LLR, это необходимо делать для проверочных уравнений, сумма символов которых должна быть нечетной.If logic 1 is present at the third control input of the arithmetic device 5 (Par), the sign inversion circuit changes the sign of the magnitude of the LLR change, this must be done for test equations, the sum of characters of which must be odd.

Предлагаемое устройство состоит из простых по своему функциональному назначению элементов и поэтому легко может быть реализовано на ПЛИС или специализированной БИС.The proposed device consists of simple in its functional purpose elements and therefore can easily be implemented on FPGA or specialized LSI.

Предлагаемое устройство декодирования LDPC-кодов по сравнению с прототипом обладает преимуществом, заключающемся в меньшей вычислительной сложности. Это в свою очередь определяет меньшую аппаратную сложность или (и) более высокую пропускную способность устройства.The proposed device decoding LDPC codes in comparison with the prototype has the advantage of less computational complexity. This in turn determines less hardware complexity or / and higher device throughput.

Claims (2)

1. Устройство декодирования LDPC-кодов, содержащее первый и второй блоки памяти, отличающееся тем, что в устройство введены третий блок памяти, арифметическое устройство, первый и второй стеки, первый-пятый счетчики, первый регистр-защелка, T-триггер, первый-шестой коммутаторы, схема сравнения кодов, первый и второй элементы И, первый сумматор, причем вторые входы шестого коммутатора являются входами устройства декодирования LDPC-кодов, выходы шестого коммутатора соединены с входами данных первого блока памяти, выходы первого блока памяти соединены с входами данных первого стека, с первыми входами данных арифметического устройства и вторыми входами схемы сравнения кодов, выходы первого стека соединены со вторыми входами данных арифметического устройства, выходы арифметического устройства соединены с первыми входами шестого коммутатора и третьими входами устройства управления, первый выход схемы сравнения кодов соединен с первым входом первого логического элемента И, второй выход схемы сравнения кодов соединен с первым входом второго логического элемента И, выход первого логического элемента И соединен со входом декремента пятого счетчика и T-входом T-триггера, выход второго логического элемента И соединен со входами записи первого и второго стеков и первым входом управления арифметического устройства, выходы пятого счетчика соединены с младшими разрядами первых входов первого коммутатора и первыми входами устройства управления, выход T-триггера соединен со старшим разрядом первых входов первого коммутатора, третьим входом управления арифметического устройства и вторым входом устройства управления, выходы первого коммутатора соединены с входами данных второго блока памяти, младшие разряды выходов второго блока памяти соединены с входами данных пятого счетчика, старший разряд выходов второго блока памяти соединен с входом данных T-триггера, выходы второго стека соединены со вторыми входами второго коммутатора и вторыми входами пятого коммутатора, выходы второго коммутатора соединены с входами данных третьего блока памяти, выходы третьего блока памяти соединены с входами данных первого регистра-защелки, выходы первого регистра-защелки соединены с входами данных второго стека и третьими входами пятого коммутатора, выходы пятого коммутатора соединены с адресными входами первого блока памяти, выходы первого счетчика соединены со вторыми входами третьего коммутатора, выходы второго счетчика соединены со первыми входами третьего коммутатора, выходы третьего счетчика соединены со вторыми входами четвертого коммутатора, выходы четвертого счетчика соединены с третьими входами четвертого коммутатора и вторыми входами первого сумматора, выходы третьего коммутатора соединены с адресными входами второго блока памяти, выходы четвертого коммутатора соединены с адресными входами третьего блока памяти, выходы первого сумматора соединены с входами данных четвертого счетчика, первые выходы устройства управления соединены с первыми входами схемы сравнения кодов, второй выход устройства управления соединен с входами чтения первого и второго стеков и вторым входом управления арифметического устройства, третий выход устройства управления соединен со вторыми входами первого и второго логических элементов И, четвертые выходы устройства управления соединены со вторыми входами первого коммутатора, пятый выход устройства управления соединен с входом управления первого коммутатора, шестой выход устройства управления соединен с входом сброса пятого счетчика, седьмые выходы устройства управления соединены с третьими входами третьего коммутатора, восьмые выходы устройства управления соединены с третьими входами шестого коммутатора, девятые выходы устройства управления соединены с четвертыми входами шестого коммутатора, десятый выход устройства управления соединен с входом сброса первого счетчика, одиннадцатые выходы устройства управления соединены с входами управления шестого коммутатора, двенадцатый выход устройства управления соединен с входом инкремента первого счетчика, тринадцатые выходы устройства управления соединены с входами управления третьего коммутатора, четырнадцатый выход устройства управления соединен с входом сброса второго счетчика, пятнадцатый выход устройства управления соединен с входом записи второго блока памяти, шестнадцатый выход устройства управления соединен с входом инкремента второго счетчика, семнадцатый выход устройства управления соединен с входом записи первого блока памяти, восемнадцатые выходы устройства управления соединены с первыми входами первого сумматора, девятнадцатый выход устройства управления соединен с входом загрузки четвертого счетчика, двадцатый выход устройства управления соединен с входом сброса четвертого счетчика, двадцать первый выход устройства управления соединен с входом инкремента третьего счетчика, двадцать второй выход устройства управления соединен с входом сброса третьего счетчика, двадцать третьи выходы устройства управления соединены с первыми входами четвертого коммутатора, двадцать четвертые выходы устройства управления соединены с входами управления четвертого коммутатора, двадцать пятые выходы устройства управления соединены с входами управления пятого коммутатора, двадцать шестые выходы устройства управления соединены с первыми входами пятого коммутатора, двадцать седьмой выход устройства управления соединен с входом управления второго коммутатора, двадцать восьмые выходы устройства управления соединены с первыми входами второго коммутатора, двадцать девятый выход устройства управления соединен с входом записи третьего блока памяти, тридцатый выход устройства управления соединен с входом загрузки первого регистра-защелки, тридцать первый выход устройства управления соединен с входами загрузок пятого счетчика и T-триггера, тридцать второй выход устройства управления соединен с входом сброса арифметического устройства, старший (знаковый) разряд выходов первого блока памяти является выходом устройства декодирования LDPC-кодов.1. A device for decoding LDPC codes, containing the first and second memory blocks, characterized in that the third memory block, the arithmetic device, the first and second stacks, the first to fifth counters, the first register-latch, T-trigger, the first- sixth switches, code comparison circuit, first and second elements AND, first adder, the second inputs of the sixth switch being inputs of the LDPC code decoding device, the outputs of the sixth switch are connected to the data inputs of the first memory block, the outputs of the first memory block are connected inens with data inputs of the first stack, with the first data inputs of the arithmetic device and second inputs of the code comparison circuit, the outputs of the first stack are connected to the second data inputs of the arithmetic device, the outputs of the arithmetic device are connected to the first inputs of the sixth switch and the third inputs of the control device, the first output of the comparison circuit codes connected to the first input of the first logical element And, the second output of the circuit comparing codes connected to the first input of the second logical element And, the output of the first the logical element And is connected to the decrement input of the fifth counter and the T-input of the T-trigger, the output of the second logical element And is connected to the recording inputs of the first and second stacks and the first control input of the arithmetic device, the outputs of the fifth counter are connected to the least significant bits of the first inputs of the first switch and the first the inputs of the control device, the output of the T-trigger is connected to the senior bit of the first inputs of the first switch, the third control input of the arithmetic device and the second input of the control device, the outputs of the first switch are connected to the data inputs of the second memory block, the least significant bits of the outputs of the second memory block are connected to the data inputs of the fifth counter, the highest bit of the outputs of the second memory block is connected to the data input of the T-trigger, the outputs of the second stack are connected to the second inputs of the second switch and second inputs of the fifth switch, the outputs of the second switch are connected to the data inputs of the third memory block, the outputs of the third memory block are connected to the data inputs of the first register-latch, the outputs of the first register-protect The tabs are connected to the data inputs of the second stack and the third inputs of the fifth switch, the outputs of the fifth switch are connected to the address inputs of the first memory block, the outputs of the first counter are connected to the second inputs of the third switch, the outputs of the second counter are connected to the first inputs of the third switch, the outputs of the third counter are connected to the second the inputs of the fourth switch, the outputs of the fourth counter are connected to the third inputs of the fourth switch and the second inputs of the first adder, the outputs of the third switch with are connected to the address inputs of the second memory block, the outputs of the fourth switch are connected to the address inputs of the third memory block, the outputs of the first adder are connected to the data inputs of the fourth counter, the first outputs of the control device are connected to the first inputs of the code comparison circuit, the second output of the control device is connected to the read inputs of the first and the second stacks and the second control input of the arithmetic device, the third output of the control device is connected to the second inputs of the first and second logic elements And, the fourth outputs of the control device are connected to the second inputs of the first switch, the fifth output of the control device is connected to the control input of the first switch, the sixth output of the control device is connected to the reset input of the fifth counter, the seventh outputs of the control device are connected to the third inputs of the third switch, the eighth outputs of the control device connected to the third inputs of the sixth switch, the ninth outputs of the control device are connected to the fourth inputs of the sixth switch, the tenth output of the device The control is connected to the reset input of the first counter, the eleventh outputs of the control device are connected to the control inputs of the sixth switch, the twelfth output of the control device is connected to the increment input of the first counter, the thirteenth outputs of the control device are connected to the control inputs of the third switch, the fourteenth output of the control device is connected to the reset input the second counter, the fifteenth output of the control device is connected to the recording input of the second memory unit, the sixteenth output of the device the two controls are connected to the increment input of the second counter, the seventeenth output of the control device is connected to the recording input of the first memory block, the eighteenth outputs of the control device are connected to the first inputs of the first adder, the nineteenth output of the control device is connected to the boot input of the fourth counter, the twentieth output of the control device is connected to the input resetting the fourth counter, the twenty-first output of the control device is connected to the input of the increment of the third counter, the twenty-second output of the device the two controls are connected to the reset input of the third counter, the twenty-third outputs of the control device are connected to the first inputs of the fourth switch, the twenty-fourth outputs of the control device are connected to the control inputs of the fourth switch, the twenty-fifth outputs of the control device are connected to the control inputs of the fifth switch, the twenty-sixth outputs of the control device connected to the first inputs of the fifth switch, the twenty-seventh output of the control device is connected to the control input of the second comm tator, twenty-eighth outputs of the control device are connected to the first inputs of the second switch, twenty-ninth output of the control device is connected to the recording input of the third memory block, the thirtieth output of the control device is connected to the boot input of the first register-latch, the thirty-first output of the control device is connected to the inputs of the fifth downloads counter and T-flip-flop, the thirty-second output of the control device is connected to the reset input of the arithmetic device, the senior (signed) bit of the outputs of the first memory block This is the output of the LDPC decoding device. 2. Устройство по п.1, отличающееся тем, что арифметическое устройство содержит третий стек, первый и второй блоки вычисления функции g, шестой счетчик, второй регистр-защелку, первый и второй D-триггера, седьмой-девятый коммутаторы, второй сумматор, дешифратор, первый и второй элементы ИЛИ, третий-шестой элементы И, схему инверсии знака, причем первые входы седьмого коммутатора являются первыми входами данных арифметического устройства, вторые входы седьмого коммутатора соединены со вторыми входами второго сумматора и являются вторыми входами данных арифметического устройства, выходы седьмого коммутатора соединены со вторыми входами первого блока вычисления функции g и вторыми входами восьмого коммутатора, выходы первого блока вычисления функции g соединены с первыми входами восьмого коммутатора, выходы восьмого коммутатора соединены с входами данных второго регистра-защелки, выходы второго регистра-защелки соединены с первыми входами первого блока вычисления функции g, первыми входами второго блока вычисления функции g, первыми входами девятого мультиплексора и входами данных третьего стека, выходы второго блока вычисления функции g соединены со вторыми входами девятого коммутатора, выходы девятого коммутатора соединены с входами схемы инверсии знака, выходы схемы инверсии знака соединены с первыми входами второго сумматора, выходы третьего стека соединены со вторыми входами второго блока вычисления функции g и третьими входами девятого коммутатора, вход управления схемы инверсии знака является третьим входом управления арифметического устройства, вход инкремента шестого счетчика соединен с D-входом второго D-триггера, первым входом второго логического элемента ИЛИ, первым входом третьего логического элемента И и является первым входом управления арифметического устройства, вход декремента шестого счетчика соединен с D-входом первого D-триггера, вторым входом второго логического элемента ИЛИ, первым входом шестого логического элемента И, вторым входом четвертого логического элемента И, вторым входом пятого логического элемента И, входом управления седьмого коммутатора, входом чтения третьего стека и является вторым входом управления арифметического устройства, вход сброса второго регистра-защелки соединен с входом сброса шестого счетчика, входом сброса первого D-триггера, входом сброса второго D-триггера и является входом сброса арифметического устройства, выходы шестого счетчика соединены с входами дешифратора, первый выход дешифратора соединен с вторым входом третьего логического элемента И, второй выход дешифратора соединен с первым входом четвертого логического элемента И, выход третьего логического элемента И соединен с первым входом первого логического элемента ИЛИ, выход первого логического элемента ИЛИ соединен со входом управления восьмого коммутатора, выход второго логического элемента ИЛИ соединен с входом загрузки второго регистра-защелки, выход первого D-триггера соединен со вторым входом шестого логического элемента И, выход второго D-триггера соединен с первым входом пятого логического элемента И, выход пятого логического элемента И соединен со входом записи третьего стека, выход четвертого логического элемента И соединен со первым входом управления девятого коммутатора, выход шестого логического элемента И соединен со вторым входом управления девятого коммутатора и вторым входом первого логического элемента ИЛИ, выходы второго сумматора являются выходами арифметического устройства. 2. The device according to claim 1, characterized in that the arithmetic device comprises a third stack, first and second blocks for calculating the function g, a sixth counter, a second latch register, a first and second D-trigger, seventh-ninth switches, a second adder, a decoder , the first and second elements OR, the third to sixth elements AND, a sign inversion circuit, the first inputs of the seventh switch being the first data inputs of an arithmetic device, the second inputs of the seventh switch connected to the second inputs of the second adder and being the second input arithmetic data, the outputs of the seventh switch are connected to the second inputs of the first unit of calculation of function g and the second inputs of the eighth switch, the outputs of the first unit of calculation of function g are connected to the first inputs of the eighth switch, the outputs of the eighth switch are connected to the data inputs of the second register-latch, the outputs of the second register-latch connected to the first inputs of the first unit of calculation of the function g, the first inputs of the second unit of calculation of the function g, the first inputs of the ninth multiplexer and input and data of the third stack, the outputs of the second block of function calculation g are connected to the second inputs of the ninth switch, the outputs of the ninth switch are connected to the inputs of the sign inversion circuit, the outputs of the sign inversion circuit are connected to the first inputs of the second adder, the outputs of the third stack are connected to the second inputs of the second block of the function calculation g and the third inputs of the ninth switch, the control input of the sign inversion circuit is the third control input of the arithmetic device, the increment input of the sixth counter is connected to the D-input the house of the second D-trigger, the first input of the second logical element OR, the first input of the third logical element AND is the first control input of the arithmetic device, the decrement input of the sixth counter is connected to the D-input of the first D-trigger, the second input of the second logical element OR, the first input the sixth logical element And, the second input of the fourth logical element And, the second input of the fifth logical element And, the control input of the seventh switch, the read input of the third stack and is the second input of the control arithmetic device, the reset input of the second register-latch is connected to the reset input of the sixth counter, the reset input of the first D-trigger, the reset input of the second D-trigger and is the reset input of the arithmetic device, the outputs of the sixth counter are connected to the inputs of the decoder, the first output of the decoder is connected to the second input of the third logical element And, the second output of the decoder is connected to the first input of the fourth logical element And, the output of the third logical element And is connected to the first input of the first logical of the OR gate, the output of the first OR gate is connected to the control input of the eighth switch, the output of the second OR gate is connected to the boot input of the second register-latch, the output of the first D-trigger is connected to the second input of the sixth logical gate And, the output of the second D-trigger is connected with the first input of the fifth logical element AND, the output of the fifth logical element And is connected to the recording input of the third stack, the output of the fourth logical element And is connected to the first control input of the ninth switch , the output of the sixth logical element AND is connected to the second control input of the ninth switch and the second input of the first logical element OR, the outputs of the second adder are the outputs of the arithmetic device.
RU2013145265/08A 2013-10-10 2013-10-10 Device for decoding ldpc codes RU2549134C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2013145265/08A RU2549134C1 (en) 2013-10-10 2013-10-10 Device for decoding ldpc codes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2013145265/08A RU2549134C1 (en) 2013-10-10 2013-10-10 Device for decoding ldpc codes

Publications (2)

Publication Number Publication Date
RU2549134C1 true RU2549134C1 (en) 2015-04-20
RU2013145265A RU2013145265A (en) 2015-04-20

Family

ID=53282661

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013145265/08A RU2549134C1 (en) 2013-10-10 2013-10-10 Device for decoding ldpc codes

Country Status (1)

Country Link
RU (1) RU2549134C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU168191U1 (en) * 2016-10-13 2017-01-23 Общество с ограниченной ответственностью "Силовая электроника" LDPC decoding device
RU2811085C1 (en) * 2023-04-04 2024-01-11 Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" Data decoding method based on ldpc code

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1648090A2 (en) * 2004-10-04 2006-04-19 Broadcom Corporation Efficient design to implement LDPC (low density parity check) decoder
EP2012433A2 (en) * 2007-07-02 2009-01-07 Broadcom Corporation LDPC (low density parity check) decoder with distributed processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1648090A2 (en) * 2004-10-04 2006-04-19 Broadcom Corporation Efficient design to implement LDPC (low density parity check) decoder
EP2012433A2 (en) * 2007-07-02 2009-01-07 Broadcom Corporation LDPC (low density parity check) decoder with distributed processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU168191U1 (en) * 2016-10-13 2017-01-23 Общество с ограниченной ответственностью "Силовая электроника" LDPC decoding device
RU2811085C1 (en) * 2023-04-04 2024-01-11 Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" Data decoding method based on ldpc code

Also Published As

Publication number Publication date
RU2013145265A (en) 2015-04-20

Similar Documents

Publication Publication Date Title
Leroux et al. Hardware architectures for successive cancellation decoding of polar codes
US9692450B2 (en) Systems and methods for early exit of layered LDPC decoder
AU2005225107B2 (en) Method and apparatus for decoding low density parity check code using united node processing
US11005499B2 (en) LDPC decoder, semiconductor memory system, and operating method thereof
Zhang et al. Low-complexity reliability-based message-passing decoder architectures for non-binary LDPC codes
CN110719111B (en) Improved decoder for low density parity check codes
EP1881610A1 (en) Encoder and decoder by ldpc encoding
KR20070058477A (en) Memory efficient ldpc decoding methods and apparatus
KR101459135B1 (en) Methods and apparatus for low-density parity check decoding using hardware-sharing and serial sum-product architecture
KR20140078610A (en) Checksum using sums of permutation sub-matrices
US9195536B2 (en) Error correction decoder and error correction decoding method
CN109802688B (en) Multilevel LDPC decoding system and method
Berhault et al. Partial sums generation architecture for successive cancellation decoding of polar codes
Kim et al. A high-speed layered min-sum LDPC decoder for error correction of NAND flash memories
US10833704B1 (en) Low-density parity check decoder using encoded no-operation instructions
Thi et al. Two-extra-column trellis min–max decoder architecture for nonbinary LDPC codes
US10554226B2 (en) Method for controlling a check node of a NB-LDPC decoder and corresponding check node
EP3926834A1 (en) Ldpc decoder apparatus, device, system, method and computer program
KR101631128B1 (en) Ldpc decoder with a variable node updater which uses a scaling constant
RU2549134C1 (en) Device for decoding ldpc codes
Sulek et al. GF (q) LDPC decoder design for FPGA implementation
Marelli et al. BCH and LDPC error correction codes for NAND flash memories
US11108410B1 (en) User-programmable LDPC decoder
Phillips et al. Estimating adders for a low density parity check decoder
US8347167B2 (en) Circuits for implementing parity computation in a parallel architecture LDPC decoder

Legal Events

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

Effective date: 20151011