[go: up one dir, main page]

CN100544212C - High-speed LDPC decoder with reduced memory requirements - Google Patents

High-speed LDPC decoder with reduced memory requirements Download PDF

Info

Publication number
CN100544212C
CN100544212C CNB2006100379189A CN200610037918A CN100544212C CN 100544212 C CN100544212 C CN 100544212C CN B2006100379189 A CNB2006100379189 A CN B2006100379189A CN 200610037918 A CN200610037918 A CN 200610037918A CN 100544212 C CN100544212 C CN 100544212C
Authority
CN
China
Prior art keywords
check
decoding
module
node
cpu
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CNB2006100379189A
Other languages
Chinese (zh)
Other versions
CN1822510A (en
Inventor
高明伦
沙金
李丽
张仲金
李伟
何书专
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CNB2006100379189A priority Critical patent/CN100544212C/en
Publication of CN1822510A publication Critical patent/CN1822510A/en
Application granted granted Critical
Publication of CN100544212C publication Critical patent/CN100544212C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明公开了一种高速的减少存储需求的低密度校验码解码器,它包含参数结点计算单元VPU模块、校验结点计算单元CPU模块和控制逻辑模块;VPU模块接收待解码序列,存储该原始信息并开始迭代解码,在迭代解码过程中,CPU模块与VPU模块相互传递信息,各自进行行操作和列操作,并由CPU存储校验操作结果;控制逻辑模块对VPU模块和CPU模块的循环操作进行控制,并输出解码得到的合法码字。本发明针对移位LDPC码,充分利用最小和解码算法来降低存储需求以及高度并行来提高解码速率,节省了消息存储需求,达到了更快的解码速度和更高的吞吐率。

The invention discloses a high-speed low-density check code decoder with reduced storage requirements, which includes a parameter node calculation unit VPU module, a check node calculation unit CPU module and a control logic module; the VPU module receives a sequence to be decoded, Store the original information and start iterative decoding. During the iterative decoding process, the CPU module and the VPU module transfer information to each other, respectively perform row operations and column operations, and the CPU stores the verification operation results; the control logic module controls the VPU module and the CPU module. The loop operation is controlled, and the legal codeword obtained by decoding is output. Aiming at shifted LDPC codes, the invention fully utilizes the minimum sum decoding algorithm to reduce storage requirements and highly parallelizes to increase decoding rate, saves message storage requirements, and achieves faster decoding speed and higher throughput rate.

Description

The loe-density parity-check code decoder of minimizing storage demand at a high speed
One, technical field
The invention belongs to the fec arrangement in the digital communication system, can in channel coding method is the Modern Communication System of LDPC sign indicating number, adopt, be particularly useful in the communication system of high decoding speed high-throughput requirement.
Two, background technology
The transmission of data in communication system through regular meeting because noise etc. is a series of former thereby cause various mistakes, because the existence of these mistakes has limited the speed of message transmission and the quality of transmission thereof greatly.Therefore, communication system generally uses the encoding and decoding technique of signal to guarantee reliable communication on the noisy communication channel.The dreamboat of coding techniques is to reach shannon limit in the communication system (Shannon ' s limit).In present existing coding method, low-density checksum (LDPC) coding method has shown the coding efficiency near shannon limit in some cases.
The LDPC sign indicating number to use now more Turbo code and have similar performance, one of their main difference is that the decoding of LDPC sign indicating number is easier, is more suitable in parallel processing in essence.In addition, has long minimum range between LDPC sign indicating number code word, to such an extent as to compare with Turbo code, the error of LDPC sign indicating number flat (error floor) appears at very low error rate zone, and the wrong code word probability that can't detect be one extremely low very near 0 value.The LDPC sign indicating number has caused very big concern because of its remarkable performance, and is widely regarded as up-and-coming error correction/encoding method in the communication system applications.
The LDPC sign indicating number is as a kind of linear block codes, and most of elements of its parity check matrix H are " 0 ", so be called " low-density ".It is the process of the continuous transmission information (message passing) of an iteration that the information of LDPC is propagated (blief propogation) decoding algorithm.Iteration through certain number of times makes the signal phasor that solves satisfy all check equations, and promptly multiplying each other with parity matrix is 0.
The type solution code calculation of LDPC sign indicating number is sum-product algorithm (Sum product algorithm).For this interpretation method, to the parameter node, the updating message that obtains will add up with the information of the check-node that links to each other with it, this be " with "; Equally, to check-node, the updating message that obtains is the long-pending form of all parameter nodal informations that are attached thereto, and this is " amassing "; Close and be called " with long-pending ".Sum-product algorithm is exactly the iteration transmission that utilizes parameter node and the direct updating message of check-node, seeks the correct code word that satisfies all check equations.
The decoding algorithm of general LDPC sign indicating number is to use log-likelihood ratio (Log-likelihood Ratio, Log likelihood ratio) to calculate confidence spread (LLR-Belief Propagation, LLR-BP) algorithm that diffuses information.It utilizes the LLR value to replace genuine probable value, avoids the multiplying in the sum-product algorithm, so that hardware is realized.The LLR-BP algorithm is actual to be the algorithm identical with sum-product algorithm.The LLR-BP algorithm has superior performance, and when the length long enough of code word, it will approach the channel capacity limit of Shannon theory.Yet the LLR-BP algorithm has used Log function and super tangent (tanh) function in the iterative decoding processing procedure, has always increased the difficulty of complexity of calculation and realization.
Therefore, people have proposed the approximate data simplified, the BP-based approximate data (it is approximate to be commonly referred to as " min-sum ") that proposes as people such as Chen and Fossorier etc.These algorithms are compared the complexity and the decoding performance that have reduced iterative decoding and are descended seldom with the LLR-BP algorithm.The Min-sum algorithm has avoided the LLR-BP algorithm to use complicated function in the iterative decoding process, but selects to have the bit value of minimum LLR from a plurality of bits relevant with given parity check equations, and this has reduced decoding complex degree widely.
The basic procedure of Min-sum algorithm is as follows:
1, initialization process is determined the value Z of parameter node Mn, Z MnFor each enters code element y at first nValue.
2, row is handled (check-node operation).Z MnFor propagating into the likelihood probability of check-node " m " from parameter node " n ", N (m) n represent the set of all the parameter nodes except n parameter node that link to each other with m check-node, L Mn (i)Be the reliability information that is transmitted to parameter node " n " by check-node " m ", subscript i represents iteration the i time.Finish the renewal of check-node by equation (1) to the parameter nodal information.
L mn ( i ) = Π n ′ ∈ N ( m ) \ n sign ( Z mn ′ ( i - 1 ) ) × min n ′ ∈ N ( m ) \ n | Z mn ′ ( i - 1 ) | ) - - - ( 1 )
3, row are handled (parameter nodal operation).L n (0) initial value that receives for channel, M (n) m represent to link to each other with parameter node " n " except m check-node the set of all check-nodes.Finish of the renewal of parameter node by equation (2) formula to check-node information.
Z mn ( i ) = L n ( 0 ) + Σ m ′ ∈ M ( n ) \ m L m ′ n ( i ) - - - ( 2 )
4, decoding.Z n (i)Value calculate by equation (3) and finish, if Z n (i)〉=0, C then n=1, if Z n (i)<0, C then n=0.The value of code element c is just obtained like this.The LDPC decoder is carried out parity check equation, to determine whether the result is satisfied with.If check equations obtains well satisfying, then this decoding finishes.If this check equations fails to satisfy, then repeated execution of steps 2,3, correctly or to decoding reach maximum iteration time up to decoding.
Z n ( i ) = L n ( 0 ) + Σ m ′ ∈ M ( n ) L m ′ n ( i ) - - - ( 3 )
Such decoding algorithm has been simplified complexity of decoding greatly, and simultaneously it does not need to know some information about channel noise, and this has brought very big easy to practical application.But this has also caused the decline on the decoding performance, therefore, equation (2) is increased by weights, to improve its decoding performance.To dissimilar LDPC sign indicating numbers,, can make the performance of the decoding performance of min-sum algorithm and LLR-BP algorithm suitable by selecting suitable α value.
Z mn ( i ) = L n ( 0 ) + α Σ m ′ ∈ M ( n ) \ m L m ′ n ( i ) - - - ( 4 )
By the simplification of decoding algorithm, greatly reduce the complexity that the LDPC decoder is realized.But the implementation complexity of high performance LDPC sign indicating number decoder is still higher, and this also is a reason also not adopted widely of LDPC sign indicating number up to the present.
Some LDPC sign indicating number decoder architectures of Ti Chuing mainly all were to adopt half parallel structure in recent years, promptly added parallel composition in serial process, to solve the wiring complexity issue in the Parallel Implementation.But this just must increase memory to preserve the intermediate object program in the decode procedure, has caused the decoder area to increase, and has also reduced decode rate simultaneously.Up to the present, also there is not a kind of structure to address these problems.
Three, summary of the invention
The object of the present invention is to provide a kind of loe-density parity-check code decoder of minimizing storage demand of high speed, this decoder has overcome the deficiencies in the prior art, the only storage that the result of line operate is compressed, reduced the decoding storage demand, have high degree of parallelism, can reach very high decoding speed and throughput.
The objective of the invention is to be achieved through the following technical solutions:
A kind of loe-density parity-check code decoder of minimizing storage demand of high speed is characterized in that: it comprises parameter node computing unit (VPU) module, parity check nodes computing unit (CPU) module and control logic module; The CPU module receives sequence to be decoded, stores this raw information and begins iterative decoding, information is passed to the VPU module carry out the parameter nodal operation; The VPU module is sent the operation result into the CPU module and is gone check-node operation and storage operation result; Control logic module is controlled the cycling of VPU module and CPU module, and the legal-code that obtains of output decoder.
Among the present invention, described iterative decoding contains successively and has the following steps:
1. receive sequence to be decoded, and store this raw information;
2. the maximum iterations that allows is set, with iterations zero setting, the beginning iterative decoding; Object LDPC sign indicating number is (N, M) (c, regular LDPC sign indicating number t), P=N/t=M/c;
3. P is listed as operation, i.e. the parameter nodal operation;
4. the result of row operation is sent into the check-node arithmetic element and carry out line operate, be i.e. check-node operation, and storage operation result; The operation of every row is divided into t time to be carried out, and M is capable to be handled simultaneously;
5. repeating step 3., 4. finish up to whole matrix manipulation is then finished iteration one time;
6. when decoding obtains a legal-code or reach maximum allowing iterations, stop decoding, the code word that output decoder obtains.
The CPU module comprises verification operation part, message output and symbol storage area among the present invention; Verification operation is partly finished check-node to the renewal of parameter nodal information and the storage and the transmission of line operate result; It is the result of last iteration that the message output provides the needed information of row operation to the VPU module; The symbol storage area is used for storing nearest input symbol of message position.
In CPU part of the present invention,, specific as follows comprising the decoding process of the cyclic shift of CPU and the configuration of information memory cell (register) thereof:
(1) information storage means of the memory cell old_reg of CPU, new_reg and signreg;
(2) old_reg of CPU, the new_reg displacement mode in each iterative process, and when each iteration finishes new_reg to the mapping mode of old_reg;
(3) CPU selection mode that corresponding VPU is given information.
At the message output of CPU of the present invention, the sizes values that CPU gives information to VPU is judged selection by the index of register.The index value is in t time of iteration operation among the new_reg, zero setting when finding minimum value, otherwise carry out from add operation.The old_reg value is given by new_reg when each iteration finishes, and wherein the index value is proceeded from add operation in the old-reg transmittance process, when the index value is t, should the value of cycle VPU from CPU is second minimum value then, otherwise is minimum value.
The class LDPC sign indicating number that decoder was suitable among the present invention is called displacement LDPC sign indicating number, and its make as depicted in figs. 1 and 2.Displacement LDPC sign indicating number is a kind of LDPC (1 number of the identical and every row of 1 number of every row is identical) sign indicating number of rule.Consider that a row is the LDPC sign indicating number of c for the t column weight heavily, decomposes its check matrix as shown in Figure 1.Check matrix H is by c * t sub-matrix H IjForm, each submatrix is the square formation of a P * P, and the row of each square formation is heavy to be 1 with column weight.This LDPC sign indicating number information bit K=P*t then, the bit number M=P*c of verification, code word size N=K+M.Fig. 2 has illustrated the make of displacement LDPC numeral matrix with a simple example:
1) at first constructs H I1, i.e. c square formation of first row, they are to obtain after being exchanged by the random column of unit matrix, and every row contains one 1 in the P * P square formation that has guaranteed to obtain, and every row contain one 1.
2) then for each square formation that obtains, will wherein all 1 move up 1, the top move on to below, then obtained secondary series submatrix H I2
3) continue to obtain all submatrixs on the right by that analogy.
The check matrix that constructs according to this generally has the capable redundancy of c, the code check R of displacement LDPC sign indicating number〉c/ (c+t).Displacement LDPC sign indicating number has certain randomness, and its error-correcting performance is suitable with general random LDPC sign indicating number as can be known by emulation.
The present invention is by adopting improved minimum and decoding algorithm, at displacement LDPC sign indicating number, the decoding device of design conserve memory demand at a high speed.
The present invention has following characteristics:
(1), it is a kind of decomposition check node calculation step, and utilizes calculating intermediate object program constantly to transmit to satisfy the LDPC sign indicating number decoding policy that is correctly decoded between parity check nodes;
(2), it is preservation and their the continuous transmission between parity check nodes that utilizes line operate intermediate object program, reduces the line between parity check nodes arithmetic element and the parameter node arithmetic element.Only need keep in communication to reach each parity check nodes arithmetic element with a parameter node arithmetic element.
(3) utilize the min-sum decoding algorithm, the external information of transmitting mutually between parameter node and the parity check nodes is only stored the message of parity check nodes to the parameter node, the i.e. result of line operate or intermediate object program.And the mode with compression is stored, and only stores minimum value, second minimum value, minimum value position and sign bit, reaches the purpose that reduces storage demand.
(4), the present invention is not effective to any LDPC sign indicating number, and only effective to displacement LDPC sign indicating number, but the LDPC sign indicating number of structure is arranged for other, as half circulation (Quasi-Cyclic) LDPC sign indicating number, can be mapped to again on this framework through the form that rank transformation is converted into displacement LDPC sign indicating number and realize.
(5), realization of the present invention needs parameter node arithmetic element N/t, parity check nodes arithmetic element M, wherein each parity check nodes arithmetic element has only the input of a message in a clock cycle, and the parity check nodes arithmetic element of the general LDPC decoder of logic that its realization is shared is wanted much less.
The present invention makes full use of minimum and decoding algorithm reduces storage demand and highly-parallel realizes improving decode rate.It has reduced the wiring complexity than general full parallel decoding framework, has saved the message stores demand, can carry out the longer LDPC sign indicating number decoder design of long code; Compare general serial or half code parallel decoder,, can reach the throughput of decoding speed and Geng Gao faster because the message stores demand has been saved in the storage that the present invention only compresses the result of line operate.
Studies show that the present invention can save 70% external information storage demand to high code rate LDPC code, and in serial or part parallel decoder, the external information memory usage area of chip more than 70%.And degree of parallelism height of the present invention can be finished iteration one time with t clock cycle, and this will obtain than serial or faster decoding speed and the higher throughput of part parallel decoder.
Four, description of drawings
Fig. 1: the total structure mode figure of displacement LDPC code check matrix;
Fig. 2: the make figure of displacement LDPC code check matrix;
Fig. 3: decoding order schematic diagram;
Fig. 4: CPU first, verification operation part schematic diagram;
Fig. 5: CPU second portion, message output schematic diagram;
Fig. 6: CPU third part, symbol storage area schematic diagram;
Fig. 7: three kinds of register schematic diagrames that are used for storing external information;
Fig. 8: line operate result register cyclic shift schematic diagram;
Fig. 9: be the VPU configuration diagram;
Figure 10: the floor plan that is embodiment;
Figure 11: the layout figure that is embodiment.
Five, embodiment
A kind of loe-density parity-check code decoder of minimizing storage demand of high speed of the present invention, it comprises parameter node computing unit VPU module, parity check nodes computing unit CPU module and control logic module; Parameter node computing unit (VPU) receives sequence to be decoded, store this raw information and begin iterative decoding, in the iterative decoding process, CPU module and VPU module are transmitted information mutually, carry out line operate and row operation separately, and by CPU storage verification operation result; Control logic module is controlled the cycling of VPU module and CPU module, and the legal-code that obtains of output decoder.
The algorithmic descriptions of principle of the present invention and employing is as follows:
Suppose that check matrix H is made up of c * t sub-matrix, each submatrix is the square formation of a P * P.Then this decoder comprises P parameter node processing unit (VPU) and M=c * P code check node processing unit (CPU).Each decoding iteration needs t clock cycle.Each cycle has P VPU and M CPU to carry out data processing operation simultaneously.The annexation of CPU and VPU determines that by the first row submatrix of check matrix H each VPU links to each other with c CPU, and each CPU links to each other with 1 VPU.With matrix shown in Figure 3 is example, and VPU1 links to each other with CPU4,5, and VPU2 links to each other with CPU2,7, analogizes therewith.
CPU partly is a key component of the present invention.Following elder generation elaborates to the framework of CPU.
CPU finishes check node calculation, specifically can promptly find out two and the multiplication of all sign bits of absolute value minimum in t message corresponding to certain delegation referring to formula (1).The CPU part mainly comprises checked operation part, message output, sign bit storage area and relevant register storage area.
Fig. 4 has represented the first of CPU: the verification operation part.Press the decoding order of Fig. 3, we resolve into t time with every row operation and carry out, only import data (information of transmitting to this check-node that obtains by present clock period parameter node processing units row operational computations) at every turn, its size is compared with two minimum values in the existing intermediate object program (the new_reg register by a last check-node that links to each other with this check-node provides), upgrade two minimum values.If the value of input message becomes new minimum value, then be necessary to upgrade the minimum value position, be about to the index amount and put 0, otherwise index will add 1 certainly.In addition, multiplied each other in the sign position of input symbol of message position and existing intermediate object program (being XOR).Deposit these four result: minimum value min, the second minimum value 2nd-min, minimum value position index and sign bit sign in register Reg_new at last.The concrete selection mode of two minimum values is as follows: input information value magnitude (absolute value) compares with the min value that a last check-node transmits, if this value of information is less than min, then the min value is substituted by this value of information, former min value is as new 2nd-min value, upgrade the index value simultaneously, with the zero setting of index value; If the input information value is greater than the min value, then min remains unchanged, and oneself adds index value, selects less one with stylish 2nd-min value in input information value and former 2nd-min value.
Fig. 5 has represented the second portion of CPU: the message output.The line operate result (being provided by old_reg) of last iteration is provided from a last adjacent C PU for it, the symbol place value that provides according to value and the CPU third part of index extracts this moment corresponding check node to the message of parameter node, be transferred to continuous VPU, finish of the renewal of these row parameter node to check-node information for it.After this clock cycle finished, the old_reg value of this check-node continued to transmit to its next adjacent CPU.The concrete selection of subtend VPU input message is as follows: sign bit carries out XOR by respective symbol position among the signreg of the sign bit among the old_reg and this check-node and obtains.Choosing by index of data value judged, if the index value equates that with t then the biography of this output is 2nd-min to the value size of VPU, otherwise is min.Index continues after adding, and provides the result to its next adjacent C PU.
Fig. 6 has represented the third part of CPU: the symbol storage area.It only is made up of the FIFO of a t position, ejects a sign bit in each clock cycle and squeezes among this FIFO for the use of CPU second portion and with the current VPU of obtaining symbol of message position.
Here, designed (8192,7168) (4,32) regular QC-LDPC sign indicating number decoder and made example, at first it has been converted to the form of displacement LDPC sign indicating number, and adopted the decoder described in the present invention fully.It is example that this decoder adopts four bit quantizations.
Respectively used one group of register in Fig. 4,5,6, Fig. 7 understands the content of these register-stored specifically.New_reg stores the line operate object information of current current iteration, comprising current minimum value min, the current second minimum value 2nd-min, current minimum value position index with as the long-pending sign of all sign bits of pre-treatment.The line operate object information of old_reg storage previous iteration is comprising the long-pending sign of minimum value min, the second minimum value 2nd-min, minimum value position index and all sign bits.The signreg sequential storage enter 32 symbol of message positions of this CPU recently.
Fig. 8 is core of the present invention, promptly by shift register the intermediate object program of line operate is constantly transmitted between CPU, and this transmission is the transmission of CPU in turn very regularly.The purpose of doing like this is to make t message that each CPU handles in t the clock cycle of an iteration all from same VPU, and has reduced line between CPU and the VPU with this, has overcome the bottleneck of complete Parallel Implementation LDPC decoding.Can see that in Fig. 8 old_reg also in transmission constantly, has also guaranteed that in like manner the message of each CPU output all offers same VPU.When each iteration finished, when also promptly 32 steps of a line operate were finished, the result changed old_reg over to by new_reg with this iteration, offered in the next iterative process check-node to the generation of parameter node messages.
Cooperating Fig. 3 below, specify its operation principle, be simplified illustration, is example with first row matrix only.By Fig. 3, VPU1,2,3,4 links to each other with CPU4,2,3,1 respectively, and this annexation is constant all the time in iterative process.In first cycle, first piece to be operated, the information after VPU handles is stored in respectively in the register of the CPU that is attached thereto, leaves among the CPU2 as the result of VPU2.Second clock cycle, to second capable processing of piece, meanwhile, as Fig. 8, the value among the CPU (comprising the value among old_reg and the new_reg) circulates successively and moves down one, moves among the CPU3 as the value among the former CPU2.At this moment, CPU3 still links to each other with VPU3, this cycle VPU3 utilizes the value of the old_reg from CPU3 to finish the renewal of parameter node to check-node information, calculating the value of gained handles via CPU3, deposit in its new_reg register, can see, be still the row that this matrix second row is carried out so in essence and handle.Pass through t clock cycle so successively, finish the operation of whole row, promptly finish the once renewal of check-node to the parameter nodal information.Finish the mapping of new_reg by the mode among Fig. 8 again, beginning iterative decoding process next time to old_reg.By such decoder architecture, greatly reduce the line between CPU and the VPU.
Fig. 9 has represented the configuration diagram of VPU, and it has finished the calculating of formula (2) and (3), and the scale module has been finished in (4) about scale operation or the operation of removing side-play amount (offset).It and general VPU framework are similar.
Figure 10 and Figure 11 have showed the floor plan (floorplan) and the layout figure (layout) of this design example, and this design is based on 6 layers of smithcraft of the SMIC of SMIC 0.18 μ m and carries out.In Figure 10,1024 array of small squares at center are represented 1024 CPU, and 256 peripheral big squares are represented 256 VPU.Can guarantee that with arranging regularly among CPU such as Figure 10 the transmission between the CPU shift register is local communication mostly, reduce the wiring difficulty like this.Can be by seeing among Figure 11, the design's wiring complexity mainly concentrates among the CPU array, and complicated originally CPU and the interconnection between VPU no longer are problems.
Below provide some data effect of the present invention is described.Demand for the external information storage, with (8192,7168) (4,32) regular LDPC sign indicating number 6bit is quantified as example, common LDPC decoder architecture needs the memory space of 6 * 8192 * 4=196608bit at least, and framework of the present invention only needs the memory space of (16+16+32) * 1024=65536bit, has saved nearly 70% external information storage demand, and in serial or part parallel framework, the external information memory usage area of chip more than 70%.And framework degree of parallelism height of the present invention can be finished once with t clock cycle
Iteration, this will obtain than serial or faster decoding speed and the throughput of part parallel framework.
Compare with parallel fully decoder architecture, full parallel architecture realizes 1/2 code check under 0.16 μ m technology, and the LDPC sign indicating number decoder of 1024bit code length needs the area of 7mm * 7mm, and throughput is 1Gbps.Its chip is in order to hold complicated wiring, and the logic utilance only is 50%.Utilize framework of the present invention, under 0.18 μ m technology, realize code check〉the LDPC sign indicating number decoder of 0.875,8196 code length only needs the area of 4mm * 4mm, and working clock frequency can reach 200MHz, throughput is 3.2Gbps (being assumed to be iteration 16 times), and the logic utilance is 70%.

Claims (2)

1、一种高速的减少存储需求的低密度校验码解码器,其特征在于:它包含参数结点计算单元模块、校验结点计算单元模块和控制逻辑模块;参数结点计算单元接收待解码序列,存储原始信息并开始迭代解码,在迭代解码过程中,校验结点计算单元模块与参数结点计算单元模块相互传递信息,各自进行行操作和列操作,并由校验结点计算单元存储校验操作结果;控制逻辑模块对参数结点计算单元模块和校验结点计算单元模块的循环操作进行控制,并输出解码得到的合法码字;通过移位寄存器将行操作的中间结果不断在校验结点计算单元之间传递;所述校验结点计算单元包括校验操作部分、消息输出部分和符号存储部分;校验操作部分完成校验节点到参数节点信息的更新以及行操作处理结果的储存与传递;消息输出部分向参数结点计算单元提供列操作所需要的信息即上次迭代的结果;符号存储部分用来存储最近输入消息的符号位。1. A high-speed low-density check code decoder that reduces storage requirements, is characterized in that: it includes a parameter node calculation unit module, a check node calculation unit module and a control logic module; the parameter node calculation unit receives the Decode the sequence, store the original information and start iterative decoding. During the iterative decoding process, the check node computing unit module and the parameter node computing unit module transfer information to each other, perform row operations and column operations respectively, and are calculated by the check node The unit stores the result of the check operation; the control logic module controls the loop operation of the parameter node calculation unit module and the check node calculation unit module, and outputs the legal codeword obtained by decoding; the intermediate result of the row operation is passed through the shift register Constantly transfer between the check node calculation units; the check node calculation unit includes a check operation part, a message output part and a symbol storage part; the check operation part completes the update of the check node to the parameter node information and the row Storage and delivery of operation processing results; the message output part provides the information required by the column operation to the parameter node calculation unit, that is, the result of the last iteration; the symbol storage part is used to store the sign bit of the latest input message. 2、根据权利要求1所述的高速的减少存储需求的低密度校验码解码器,其特征在于:所述迭代解码依次含有如下步骤:2. The high-speed low-density check code decoder with reduced storage requirements according to claim 1, wherein said iterative decoding comprises the following steps in sequence: ①接收待解码序列,并存储待解码序列的原始信息;① Receive the sequence to be decoded and store the original information of the sequence to be decoded; ②设置最大允许迭代次数,将迭代次数置零,开始迭代解码;对象LDPC码为(N,M)(c,t)的规则LDPC码,其校验矩阵行数为N列数为M。其中N为LDPC码码长,M为校验的个数,c为校验矩阵每列“1”的个数,t为校验矩阵每行“1”的个数;令P=N/t=M/c,是LDPC码校验矩阵中每个子矩阵的大小;2. Set the maximum allowable number of iterations, set the number of iterations to zero, and start iterative decoding; the object LDPC code is a regular LDPC code of (N, M) (c, t), and the number of check matrix rows is N and the number of columns is M. Wherein N is the code length of LDPC codes, M is the number of checks, c is the number of "1" in each column of the check matrix, and t is the number of "1" in each row of the check matrix; make P=N/t =M/c is the size of each sub-matrix in the check matrix of the LDPC code; ③对从左到右的P个列同时进行列操作,即参数节点操作;③ Perform column operations on P columns from left to right at the same time, that is, parameter node operations; ④将列操作运算的结果送入校验节点运算单元进行行操作,即校验节点操作,并存储操作结果;每行的行操作分为t次进行,M行同时进行处理;④ Send the result of the column operation operation to the check node operation unit for row operation, that is, the check node operation, and store the operation result; the row operation of each row is divided into t times, and M rows are processed at the same time; ⑤重复步骤③、④直到整个校验矩阵操作结束,则完成一次迭代;⑤Repeat steps ③ and ④ until the entire check matrix operation ends, then one iteration is completed; ⑥当解码得到一个合法码字或达到最大允许迭代次数时,停止解码,输出解码得到的码字。⑥ When a legal codeword is obtained or the maximum allowable number of iterations is reached, stop decoding and output the codeword obtained by decoding.
CNB2006100379189A 2006-01-23 2006-01-23 High-speed LDPC decoder with reduced memory requirements Expired - Fee Related CN100544212C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100379189A CN100544212C (en) 2006-01-23 2006-01-23 High-speed LDPC decoder with reduced memory requirements

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100379189A CN100544212C (en) 2006-01-23 2006-01-23 High-speed LDPC decoder with reduced memory requirements

Publications (2)

Publication Number Publication Date
CN1822510A CN1822510A (en) 2006-08-23
CN100544212C true CN100544212C (en) 2009-09-23

Family

ID=36923612

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100379189A Expired - Fee Related CN100544212C (en) 2006-01-23 2006-01-23 High-speed LDPC decoder with reduced memory requirements

Country Status (1)

Country Link
CN (1) CN100544212C (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4823176B2 (en) * 2007-08-31 2011-11-24 パナソニック株式会社 Decoding method and decoding apparatus
CN101854177B (en) * 2009-04-01 2013-01-02 中国科学院微电子研究所 LDPC decoder with high throughput rate
CN102045072A (en) * 2011-01-18 2011-05-04 浙江大学 Low-complexity method for decoding low density parity check (LDPC) code
CN108462496B (en) * 2018-04-24 2021-04-02 成都吉纬科技有限公司 LDPC decoder based on random bit stream updating
US11018695B1 (en) * 2019-11-11 2021-05-25 SK Hynix Inc. Fast-converging bit-flipping decoder for low-density parity-check codes
CN112233720B (en) * 2020-10-27 2022-06-24 北京得瑞领新科技有限公司 Hardware implementation method and device of low-delay LDPC decoder and decoder
CN115425988B (en) * 2022-07-29 2024-02-09 北京融为科技有限公司 High-speed LDPC full-mode column transformation method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198383A (en) * 2001-12-27 2003-07-11 Mitsubishi Electric Corp Inspection matrix generation method for ldpc coding
CN1625057A (en) * 2003-12-04 2005-06-08 北京泰美世纪科技有限公司 High structural LDPC coding and decoding method and coder and decoder
CN1713531A (en) * 2004-06-23 2005-12-28 株式会社东芝 Decoding apparatus and method for decoding the data encoded with an LDPC code

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003198383A (en) * 2001-12-27 2003-07-11 Mitsubishi Electric Corp Inspection matrix generation method for ldpc coding
CN1625057A (en) * 2003-12-04 2005-06-08 北京泰美世纪科技有限公司 High structural LDPC coding and decoding method and coder and decoder
CN1713531A (en) * 2004-06-23 2005-12-28 株式会社东芝 Decoding apparatus and method for decoding the data encoded with an LDPC code

Also Published As

Publication number Publication date
CN1822510A (en) 2006-08-23

Similar Documents

Publication Publication Date Title
CN101106381B (en) Hierarchical LDPC decoder and decoding processing method
US8347170B2 (en) Method and apparatus for performing decoding using LDPC code
US7373581B2 (en) Device, program, and method for decoding LDPC codes
CN102265520B (en) Encoding method, encoder, and decoder
CN101924565B (en) LDPC encoders, decoders, systems and methods
CN100544212C (en) High-speed LDPC decoder with reduced memory requirements
CN116827357A (en) Method and device for encoding and decoding structured low-density parity check code LDPC
CN100425000C (en) Twin-turbo structure low-density parity-check code decoder and decoding method
CN104868925A (en) Encoding method, decoding method, encoding device and decoding device of structured LDPC codes
CN101232288B (en) A kind of decoding method and decoder of LDPC code based on parity check matrix
CN102664638A (en) FPGA (Field Programmable Gate Array) realization method for multi-code-length LDPC (Low Density Parity Check) code decoder on basis of hierarchical NMS (Network Management System) algorithm
CN101777921B (en) Structured LDPC code decoding method and device for system on explicit memory chip
CN107786211A (en) A kind of Algebraic Structure acquisition methods, coding method and the encoder of IRA QC LDPC codes
CN101499804A (en) Multi-code rate decoder for quasi-cyclic low density parity check code
CN103384153B (en) Quasi-cyclic LDPC code decoding method and system
CN105553485B (en) BCH coding and decoding device and its decoding method based on FPGA
WO2021063217A1 (en) Decoding method and apparatus
TWI520501B (en) Memory controller
CN106936444A (en) One kind set interpretation method and set decoder
CN111384970B (en) Decoding method, device and communication equipment
CN115664899A (en) A channel decoding method and system based on graph neural network
CN100589357C (en) LDPC code vector decode translator and method based on unit array and its circulation shift array
CN110730003A (en) A kind of LDPC coding method and LDPC encoder
CN108649963B (en) QC-LDPC decoder, layered decoding method, storage device and communication module
CN101958718B (en) Improved semi-parallel decoder for low density parity check (LDPC) code and decoding method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20060823

Assignee: Wuxi I-CORE Electronics Co., Ltd.

Assignor: Nanjing University

Contract record no.: 2014320000691

Denomination of invention: High speed storage demand reducing low density correction code decoder

Granted publication date: 20090923

License type: Exclusive License

Record date: 20141016

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090923

Termination date: 20180123