CN1713530A - LDPC Decoder for Decoding Low Density Parity Check (LDPC) Codewords - Google Patents
LDPC Decoder for Decoding Low Density Parity Check (LDPC) Codewords Download PDFInfo
- Publication number
- CN1713530A CN1713530A CN 200510079444 CN200510079444A CN1713530A CN 1713530 A CN1713530 A CN 1713530A CN 200510079444 CN200510079444 CN 200510079444 CN 200510079444 A CN200510079444 A CN 200510079444A CN 1713530 A CN1713530 A CN 1713530A
- Authority
- CN
- China
- Prior art keywords
- ldpc
- check
- decoder
- message
- codeword
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 claims abstract description 62
- 238000004891 communication Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims description 80
- 238000000034 method Methods 0.000 claims description 48
- 230000008569 process Effects 0.000 claims description 24
- 238000012360 testing method Methods 0.000 claims description 23
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 3
- 230000009977 dual effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 2
- 230000000875 corresponding effect Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 208000011580 syndromic disease Diseases 0.000 description 13
- 230000008901 benefit Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000001788 irregular Effects 0.000 description 6
- 238000004904 shortening Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 238000000844 transformation Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101100524646 Toxoplasma gondii ROM6 gene Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
技术领域technical field
本发明涉及数据通信领域,具体地,涉及用于纠错和检错的冗余编码。The present invention relates to the field of data communication, in particular, to redundant coding for error correction and error detection.
背景技术Background technique
低密度奇偶校验码(LDPC)是一类线性块码,其对较大的数据传输和存储信道集合提供接近传输容量(near capacity)的性能,同时允许可实现的编码和解码策略。LDPC码首先由Gallager在其1960年博士论文中提出(R.Gallager:“Low-density parity check codes”,IRE变换系列第21-28页,1962年1月)。从实际观点来看,Gallager的工作的最为显著的特征在于:引了迭代解码算法,对此算法他已经示出,当应用于稀疏奇偶校验矩阵时,其能够以相对较低的复杂性来实现显著部分的信道容量。Low-density parity-check codes (LDPCs) are a class of linear block codes that provide near capacity performance for larger sets of data transmission and storage channels, while allowing achievable encoding and decoding strategies. LDPC codes were first proposed by Gallager in his doctoral dissertation in 1960 (R. Gallager: "Low-density parity check codes", IRE Transformation Series pp. 21-28, January 1962). From a practical point of view, the most notable feature of Gallager's work is the citation of an iterative decoding algorithm, for which he has shown that, when applied to sparse parity-check matrices, it is possible to A significant portion of the channel capacity is achieved.
利用包括少量非零条目的稀疏奇偶校验矩阵来定义LDPC码。对于每一个奇偶校验矩阵H,存在相应的二分坦纳图(bipartitle Tannergraph),具有变量节点(V)和校验节点(C)。当奇偶校验矩阵H的元素hij为1时,校验节点C与变量节点V相连。奇偶校验矩阵H包括M行和N列。列数N对应于一个已编码码字b内的码字比特数N。该码字包括K个信息比特和M个奇偶校验比特。在奇偶校验矩阵H内的行数对应于码字中的奇偶校验比特的数量M。在相应的坦纳图中,存在M=N-K个校验节点C,每一个校验等式一个校验节点,并且存在N个变量节点,所述码字的每一个码位有一个变量节点。LDPC codes are defined using a sparse parity check matrix comprising a small number of non-zero entries. For each parity check matrix H, there exists a corresponding bipartite Tannergraph, with variable nodes (V) and check nodes (C). When the element h ij of the parity check matrix H is 1, the check node C is connected to the variable node V. The parity check matrix H includes M rows and N columns. The number N of columns corresponds to the number N of codeword bits within an encoded codeword b. The codeword includes K information bits and M parity bits. The number of rows in the parity check matrix H corresponds to the number M of parity bits in the codeword. In the corresponding Tanner graph, there are M=NK check nodes C, one for each check equation, and N variable nodes, one for each code bit of the codeword.
图1示出了稀疏奇偶校验矩阵H和相应的二分坦纳图的示例。Figure 1 shows an example of a sparse parity-check matrix H and the corresponding bipartite Tanner graph.
利用规则二分图来定义规则(dv,dc)-LDPC码。每一个左侧节点(被称为变量节点并表示为v)发出对相应比特参与其中的每一个奇偶校验的dv边缘。每一个右侧节点(被称为校验节点并表示为c)发出对参与相应的奇偶校验的每一个变量节点v的dc边缘。A regular (d v , d c )-LDPC code is defined using a regular bipartite graph. Each left node (called a variable node and denoted v) emits a d v edge for each parity check in which the corresponding bit participates. Each right node (called a check node and denoted c) emits a d c edge to each variable node v participating in the corresponding parity check.
因此,在二分图中,存在N*dv=M*dc个边缘,并且由以下等式给出了LDPC码的设计速率R:Therefore, in the bipartite graph, there are N* dv =M* dc edges, and the design rate R of the LDPC code is given by the following equation:
由于奇偶校验可以是相关的,因此,来自整个规则(dv,dc)-LDPC码的给定LDPC码的实际速率R可以更高。Since parity can be correlated, the actual rate R for a given LDPC code from the overall regular (d v , d c )-LDPC code can be higher.
可以将规则LDPC码推广到不规则LDPC码,其比规则LDPC码表现出更好的性能。(λ(χ),ρ(χ))-不规则LDPC码由不规则二分图来表示,其中每一个左和右节点的次数可以是不同的。全体不规则LDPC码由左和右次数分布来定义。Regular LDPC codes can be generalized to irregular LDPC codes, which exhibit better performance than regular LDPC codes. (λ(χ), ρ(χ))-irregular LDPC codes are represented by an irregular bipartite graph, where the degree of each left and right node can be different. The population of irregular LDPC codes is defined by left and right degree distributions.
其中
为了产生容量接近LDPC码,可以对次数分布进行优化。In order to generate capacity close to LDPC codes, the order distribution can be optimized.
LDPC码能够利用迭代消息传递解码算法,以相对较低的复杂性来实现显著部分的信道容量。这些算法基于编码的坦纳图表示,其中该解码在如图1所示的坦纳图中理解变量节点V和校验节点C之间的消息传递。LDPC codes can utilize an iterative message passing decoding algorithm to achieve a significant portion of the channel capacity with relatively low complexity. These algorithms are based on Tanner graph representations of encodings, where the decoding understands message passing between variable nodes V and check nodes C in a Tanner graph as shown in FIG. 1 .
利用如图2、3所示的简单的示例最佳地说明了LDPC码及其消息传递解码算法如何工作。How LDPC codes and their message-passing decoding algorithms work is best illustrated with simple examples as shown in Figures 2 and 3.
图2示出了针对LDPC码的简单坦纳图,具有四个变量节点V1、V2、V3、V4和两个校验或约束节点C1、C2。因此,码字的块长N=4且奇偶校验位数M=2。结果,信息位k数为N-M=2。Figure 2 shows a simple Tanner graph for an LDPC code, with four variable nodes V 1 , V 2 , V 3 , V 4 and two check or constraint nodes C 1 , C 2 . Therefore, the block length of the codeword is N=4 and the number of parity check bits M=2. As a result, the number k of information bits is NM=2.
定义为信息位数k和块长度N之间的比率的码率R(R=k/N)在该示例中为1/2。The code rate R (R=k/N), defined as the ratio between the number of information bits k and the block length N, is 1/2 in this example.
在图2中示出了与二分坦纳图相对应的奇偶校验矩阵H。A parity check matrix H corresponding to a bipartite Tanner graph is shown in FIG. 2 .
对于LDPC码,存在诸如以下生成矩阵G:For LDPC codes, there is a generator matrix G such as:
G·HT= (1)G H T = (1)
即,生成矩阵G和转置相应奇偶校验矩阵HT的乘积为零。That is, the product of the generator matrix G and the transposed corresponding parity check matrix H T is zero.
图3示出了通过加性白高斯噪声(AWGN)信道相连的两个收发机。LDPC码可以应用于任意可能的通信信道。在数据传输期间,通信信道损坏了所传送的码字,从而使一变为零,或者反之亦然。为了减少比特差错率BER,如图3所示,发射收发机包括LDCP编码器,用于将具有K=2信息位的信息位矢量i与LDPC码的生成矩阵G相乘。在图2的示例中,LDCP编码器输出由该收发机内的调制器所调制的已编码位矢量b。在给定示例中,该调制器将已编码位矢量b的低逻辑值零变换为传输位X=1,而将已编码位矢量b的逻辑高值变换为X=-1。发射收发机通过通信信道将调制后的码字X传送到接收收发机,如图3所示。在给定的示例中,通信信道是具有单边谱噪声密度N=8的二进制输入AWGN信道。Figure 3 shows two transceivers connected by an additive white Gaussian noise (AWGN) channel. LDPC codes can be applied to any possible communication channel. During data transmission, the communication channel corrupts the transmitted codeword, changing ones to zeros, or vice versa. In order to reduce the bit error rate BER, as shown in FIG. 3, the transmitting transceiver includes an LDCP encoder for multiplying an information bit vector i with K=2 information bits by a generator matrix G of an LDPC code. In the example of Figure 2, the LDCP encoder outputs an encoded bit vector b modulated by a modulator within the transceiver. In the given example, the modulator transforms a low logic value zero of the encoded bit vector b into a transmitted bit X=1, and a logic high value of the encoded bit vector b into X=-1. The transmitting transceiver transmits the modulated codeword X to the receiving transceiver through the communication channel, as shown in FIG. 3 . In the given example, the communication channel is a binary input AWGN channel with a one-sided spectral noise density N=8.
接收收发机从具有N值的通信信道中接收码字Y。The receiving transceiver receives a codeword Y from a communication channel having a value N.
通过将噪声添加到传输矢量X上来形成码字Y:The codeword Y is formed by adding noise to the transmitted vector X:
Y=X+噪声 (2)Y=X+noise (2)
对接收到的码字Y进行解调,并计算接收到的码字比特的对数似然比(LLR)。对于二进制输入AWGN信道,按照如下公式来计算对数似然比LLR:The received codeword Y is demodulated and the log-likelihood ratios (LLRs) of the received codeword bits are calculated. For the binary input AWGN channel, the log likelihood ratio LLR is calculated according to the following formula:
图3示出了针对N0=8的对数似然比,其中每一个接收到的码字值用2来除。对数似然比LLR给出了接收到的码字比特具有预定值的先验估计。FIG. 3 shows the log-likelihood ratios for N 0 =8, where each received codeword value is divided by two. The log-likelihood ratio LLR gives an a priori estimate that the received codeword bits have a predetermined value.
将这些估计转发到用于执行LDPC解码处理的收发机内的LDPC解码器中。These estimates are forwarded into an LDPC decoder within the transceiver for performing the LDPC decoding process.
传统的LDPC解码器采用标准消息传递调度来解码LDPC码,被称为溢出调度(flooding schedule),如在R.Gallager:“Low-densityparity check codes”,IRE变换系列第21-28页,1962年1月中所述。Traditional LDPC decoders use a standard message-passing schedule to decode LDPC codes, known as the flooding schedule, as in R. Gallager: "Low-density parity check codes", IRE Transformation Series pp. 21-28, 1962 described in January.
调度是更新规则,用于执行在坦纳图的节点之间传递消息的次序。根据现有技术状态的传统LDPC解码器采用了诸如基于溢出调度的简明传播算法BP的消息传递过程。A schedule is an update rule that enforces the order in which messages are passed between nodes in a Tanner graph. Conventional LDPC decoders according to the state of the art employ message passing procedures such as the overflow-scheduled based concise propagation algorithm BP.
图4示出了采用根据现有技术状态的溢出调度的简明传播BP过程的流程图。Fig. 4 shows a flowchart of the concise propagation BP process with overflow scheduling according to the state of the art.
图5示出了对于图3的示例,利用如图4所示的标准溢出过程的简明传播BP解码处理。FIG. 5 shows the concise propagation BP decoding process using the standard overflow procedure as shown in FIG. 4 for the example of FIG. 3 .
如在图4中可以看出,对接收到的码字Y进行解调并计算对数似然比LLR。As can be seen in Figure 4, the received codeword Y is demodulated and the log-likelihood ratio LLR is calculated.
在初始化步骤S1中,对于所有校验节点和对于所有变量节点,将从校验节点C到变量节点V的消息Rcv设置为零。此外,利用计算出的先验估计Pv或对数似然比对坦纳图内从变量节点到校验节点的消息Qvc进行初始化。In initialization step S1, the message Rcv from check node C to variable node V is set to zero for all check nodes and for all variable nodes. In addition, the message Q vc from the variable node to the check node in the Tanner diagram is initialized by using the calculated prior estimate P v or the log likelihood ratio.
另外,如图4所示,将迭代计数器通路设置为零。Additionally, as shown in Figure 4, the iteration counter path is set to zero.
在步骤S2中,更新从校验节点到变量节点QVC的消息Rcv。由校验节点处理器来执行该计算,如图7所示。In step S2, the message R cv from the check node to the variable node QVC is updated. This calculation is performed by the check node processor, as shown in FIG. 7 .
可以将由校验节点处理器所执行的计算描述为以下等式:The computation performed by a check node processor can be described as the following equation:
对于所有v∈N(c):For all v ∈ N(c):
其中,in,
其中符号(sign)函数定义为where the sign function is defined as
在步骤S3中,由变量节点处理器来更新从变量节点V到校验节点C的消息QVC,如图8所示。In step S3, the message Q VC from the variable node V to the check node C is updated by the variable node processor, as shown in FIG. 8 .
可以将变量到校验消息QVC的更新描述如下:The updating of variables to the check message Q VC can be described as follows:
对于所有C∈N(v)For all C∈N(v)
QVC=QV-RCV Q VC = Q V -R CV
在步骤S4中,根据符号函数的定义,从QV中计算估计矢量 ,并且通过将奇偶校验矩阵H与计算出的估计矢量 相乘来计算校正子矢量S:In step S4, the estimated vector is calculated from Q V according to the definition of the sign function, and the syndrome vector S is calculated by multiplying the parity check matrix H with the calculated estimated vector :
=sign(Q) (6) = sign(Q) (6)
s=H· s = H
在步骤S5中,递增迭代(iteration)计数器iter。In step S5, an iteration counter iter is incremented.
在步骤S6中,校验迭代计数器是否已经达到预定的最大迭代值,即,阈值,或者校正子矢量S是否为零。如果在步骤S6的校验结果为否,则该过程继续进行下一迭代。In step S6, it is checked whether the iteration counter has reached a predetermined maximum iteration value, ie a threshold value, or whether the syndrome vector S is zero. If the result of the check at step S6 is negative, the process continues with the next iteration.
相反,如果步骤S6的校验结果为肯定的,则在步骤S7中校验校正子矢量S是否为零。如果校正子矢量S不为零,则由于已经达到最大迭代次数(解释为解码失败),该迭代已经停止。相应地,LDPC解码器输出表示解码失败的信号。另一方面,如果校正子矢量S为零,则解码成功,即解码处理已经收敛。在这种情况下,LDPC解码器输出最后计算出的估计矢量 ,作为正确的解码码字。On the contrary, if the check result of step S6 is affirmative, it is checked in step S7 whether the syndrome vector S is zero. If the syndrome vector S is non-zero, the iteration has stopped because the maximum number of iterations has been reached (interpreted as a decoding failure). Accordingly, the LDPC decoder outputs a signal indicating failure of decoding. On the other hand, if the syndrome vector S is zero, the decoding is successful, ie the decoding process has converged. In this case, the LDPC decoder outputs the final calculated estimated vector as the correct decoded codeword.
图5示出了直到解码器收敛为止、在每一次迭代之后的计算出的校验到变量消息RCV和变量到校验消息QVC。Fig. 5 shows the calculated check-to-variable message R CV and variable-to-check message Q VC after each iteration until the decoder converges.
对于图3的给出示例,接收收发机的LDPC解码器输出估计矢量 =(1010)T,并且指示该解码已经成功执行。注意,已解码估计矢量 对应于发射收发机内的LDPC编码器的输出。For the given example of Fig. 3, the LDPC decoder of the receiving transceiver outputs the estimated vector φ = (1010) T and indicates that the decoding has been performed successfully. Note that the decoded estimated vector φ corresponds to the output of the LDPC encoder within the transceiver.
图6示出了采用简明传播BP解码算法并使用根据现有技术状态的标准溢出调度的传统LDPC解码器的方框图。Fig. 6 shows a block diagram of a conventional LDPC decoder employing the concise propagation BP decoding algorithm and using standard overflow scheduling according to the state of the art.
如图6所示的根据现有技术状态的LDPC解码器通过输入(IN)接收来自解调器的计算出的对数似然比LLR,并且将其临时存储在RAM中,作为初始化值。The LDPC decoder according to the state of the art as shown in FIG. 6 receives the calculated log-likelihood ratio LLR from the demodulator through an input (IN) and temporarily stores it in RAM as an initialization value.
该RAM与多个变量节点处理器相连,如图8所示。变量节点处理器的输出与针对QVC消息设置的另一RAM相连。利用存储了编码的图形结构的ROM来进行QVC随机存取存储器的寻址。该ROM还控制在QVC-RAM的输出侧上的切换单元。切换单元的输出与多个校验节点处理器相连,如图7所示,用于更新校验到变量消息RCV。将更新后的RCV消息存储在另一RAM中,如图6所示。利用存储了编码的图形结构的第二ROM来执行RCV随机存取存储器的寻址。该ROM还控制在RCV-RAM的输出侧上的切换单元。到切换单元的输出与变量节点处理器相连。This RAM is connected to multiple variable node processors, as shown in Figure 8. The output of the variable node processor is connected to another RAM set up for Q VC messages. The addressing of the QVC random access memory is done by means of a ROM which stores the coded graph structure. The ROM also controls the switching unit on the output side of the QVC -RAM. The output of the switching unit is connected to multiple check node processors, as shown in FIG. 7 , for updating the check variable message R CV . Store the updated R CV message in another RAM, as shown in Figure 6. Addressing of the R CV random access memory is performed with a second ROM storing the coded graphics structure. The ROM also controls the switching unit on the output side of the RCV -RAM. The output to the switching unit is connected to the variable node processor.
校验节点处理器执行校验到变量消息RCV的更新,如结合图4所示的流程图中的步骤S2所描述的。将更新后的校验到变量消息RCV临时存储在RCV-RAM中,如图6所示。The check node processor performs the check to the update of the variable message RCV as described in connection with step S2 in the flowchart shown in FIG. 4 . Temporarily store the updated checksum variable message R CV in R CV -RAM, as shown in FIG. 6 .
变量节点处理器执行变量到校验消息QVC的更新,如结合图4所示的流程图的步骤S3所描述的。将更新的变量到校验消息QVC临时存储在QVC-RAM中。The variable node processor performs the updating of variables to the check message Q VC as described in connection with step S3 of the flowchart shown in FIG. 4 . Temporarily store the updated variable to the check message Q VC in Q VC -RAM.
如图6所示的传统LDPC解码器还包括针对由变量节点处理器计算出的输出QV消息的RAM。A conventional LDPC decoder as shown in FIG. 6 also includes RAM for the output QV message computed by the variable node processor.
收敛测试块(block)计算估计 并计算校正子矢量S,如结合图4的流程图的步骤S4所述的。另外,收敛测试块根据步骤S5、S6、S7来执行这些校验,并且指示该解码是否已经成功,即解码器收敛。在该解码成功的情况下,由LDPC解码器输出最后计算出的估计。The convergence test block calculates the estimate ϕ and calculates the syndrome vector S, as described in connection with step S4 of the flowchart of FIG. 4 . In addition, the convergence test block performs these checks according to steps S5, S6, S7 and indicates whether the decoding has been successful, ie the decoder is converged. In the case of successful decoding, the last calculated estimate is output by the LDPC decoder.
采用如图6所示的溢出更新调度的传统LDPC解码器具有多个缺陷。Conventional LDPC decoders employing an overflow update schedule as shown in FIG. 6 have several drawbacks.
直到解码处理已经收敛为止所需的迭代次数相当高。相应地,具有溢出调度的传统LDPC解码器的解码时间较高。当由阈值定义的解码迭代次数有限时,根据现有技术状态的LDPC解码器的性能会发生恶化。The number of iterations required until the decoding process has converged is quite high. Correspondingly, the decoding time of conventional LDPC decoders with overflow scheduling is high. The performance of LDPC decoders according to the state of the art deteriorates when the number of decoding iterations defined by a threshold is limited.
传统LDPC解码方法和如图6所示的相应LDPC解码器的另一缺陷在于:校验解码是否收敛需要单独的收敛测试块来执行收敛测试。如图6所示的传统LDPC解码器的收敛测试块通过将奇偶校验矩阵H与估计矢量 相乘来计算校正子矢量S。Another disadvantage of the traditional LDPC decoding method and the corresponding LDPC decoder shown in FIG. 6 is that: to check whether the decoding is converged, a separate convergence test block is required to perform the convergence test. The convergence test block of the conventional LDPC decoder as shown in Fig. 6 calculates the syndrome vector S by multiplying the parity check matrix H with the estimated vector ϕ .
采用溢出调度的传统LDPC解码方法和如图6所示的相应LDPC解码器的另一缺陷在于:所需存储尺寸较高。如图6所示的LDPC解码器包括四个随机存取存储器(RAM),即,针对输入PV消息的RAM、针对输出QV消息的RAM、针对QVC消息的另一RAM、以及针对RCV消息的最后一个RAM。另外,LDPC解码器包括两个只读存储器(ROM),用于存储坦纳图的结构。Another disadvantage of the traditional LDPC decoding method using overflow scheduling and the corresponding LDPC decoder shown in FIG. 6 is that the required storage size is relatively high. The LDPC decoder shown in FIG. 6 includes four random access memories (RAMs), namely, a RAM for input PV messages, a RAM for output Q V messages, another RAM for Q VC messages, and a RAM for R CV messages . The last RAM of the message. In addition, the LDPC decoder includes two read-only memories (ROMs) for storing the structure of the Tanner diagram.
发明内容Contents of the invention
因此,本发明的目的是提出克服了上述缺陷的LDPC解码器,特别是提出了一种需要少量迭代来解码接收到的码字的LDPC解码器。Therefore, the object of the present invention is to propose an LDPC decoder which overcomes the above-mentioned drawbacks, in particular an LDPC decoder which requires a small number of iterations to decode received codewords.
另外,本发明的另一目的是描述了一种低复杂度的普通编码器/解码器结构,以相同的硬件来实现对各种速率和长度的LDPC码的编码/解码。In addition, another object of the present invention is to describe a low-complexity common encoder/decoder structure to implement encoding/decoding of LDPC codes of various rates and lengths with the same hardware.
通过具有权利要求1和权利要求12所述的特征的LDPC解码器来实现该目的。This object is achieved by an LDPC decoder having the features of
本发明提出了一种作为通过有噪声信道传送具有属于长度(N)低密度奇偶校验码的多个(N)码字比特的码字(b)的结果,对从有噪声通信信道中接收到的有噪声码字(y)进行解码的LDPC解码器,其中针对所述低密度奇偶校验码,设置了(M×N)奇偶校验矩阵H且满足H*bT=0,其中的码字(Y)具有由K个信息位和M个校验位构成的多个(N)码字比特,其中的奇偶校验矩阵H表示包括根据奇偶校验矩阵H的矩阵元素hij、经由边缘与M个校验节点(C)相连的N个变量节点(V)的二分图,The present invention proposes a method for receiving from a noisy communication channel as a result of transmitting a codeword (b) having a number (N) of codeword bits belonging to a length (N) LDPC code over a noisy channel. The LDPC decoder for decoding the noisy codeword (y) obtained, wherein for the low density parity check code, a (M×N) parity check matrix H is set and satisfies H*b T =0, where The codeword (Y) has a plurality of (N) codeword bits composed of K information bits and M check bits, wherein the parity check matrix H represents the matrix element h ij according to the parity check matrix H, via A bipartite graph of N variable nodes (V) whose edges are connected to M check nodes (C),
其中所述LDPC解码器执行以下解码步骤:Wherein said LDPC decoder performs the following decoding steps:
(a)通过所述通信信道来接收有噪声LDPC码字(Y);(a) receiving a noisy LDPC codeword (Y) over said communication channel;
(b)针对所传送的LDPC码字(b)的每一个码字比特(V),接收所述码字比特(V)具有来自接收到的有噪声码字(Y)和来自通信信道的预定参数的预定值的先验估计(Qv);(b) For each codeword bit (V) of the transmitted LDPC codeword (b), the codeword bit (V) is received with predetermined information from the received noisy codeword (Y) and from the communication channel an a priori estimate of the predetermined value of the parameter (Q v );
(c)针对所述二分图的每一个变量节点(V),将对应于码字比特(V)的计算出的先验估计(Qv)存储在存储器中,作为初始化变量节点值;(c) for each variable node (V) of the bipartite graph, the calculated prior estimate ( Qv ) corresponding to the codeword bit (V) is stored in the memory as the initialization variable node value;
(d)将初始化为零的从每一个校验节点(c)到所述二分图的所有变量节点(V)的校验到变量消息(RCV)存储在所述存储器中;(d) storing in said memory a check-to-variable message (R CV ) initialized to zero from each check node (c) to all variable nodes (V) of said bipartite graph;
(e)根据串行调度来迭代计算所述二分图的所有边缘上的消息,其中在每一次迭代中,串行地经过所述二分图的所有校验节点(c),并且针对所述二分图的每一个校验节点(C),执行以下计算:(e) Iteratively calculate messages on all edges of the bipartite graph according to a serial schedule, wherein in each iteration, pass through all check nodes (c) of the bipartite graph serially, and for the bipartite graph Each check node (C) of the graph performs the following calculations:
(e1)针对与所述校验节点(c)相连的所有邻近变量节点(V),从存储器中读取所存储的消息(QV)和所存储的校验到变量消息(RCV);(e1) reading the stored message (Q V ) and the stored check-to-variable message (R CV ) from memory for all adjacent variable nodes (V) connected to said check node (c);
(e2)通过消息传递计算规则,针对与所述校验节点(C)相连的所有邻近变量节点(V),作为从所述存储器中读取的消息(QV)和校验到变量消息(RCV)的函数来计算变量到校验消息(Qvc);(e2) Through the message passing calculation rule, for all adjacent variable nodes (V) connected to the check node (C), as the message (Q V ) read from the memory and the check-to-variable message ( R CV ) function to calculate variable to check message (Q vc );
(e3)通过消息传递计算规则,针对与所述校验节点(C)相连的所有邻近变量节点(V),作为计算出的变量到校验消息(Qvc)的函数,计算更新的校验到变量消息(RCV new);(e3) Compute the updated checksum as a function of the calculated variable to the checksum message (Q vc ) for all adjacent variable nodes (V) connected to said checkpoint (C) by message passing calculation rules to variable message(R CV new );
(e4)通过消息传递计算规则,针对与所述校验节点(C)相连的所有邻近变量节点(V),作为前述的消息(QV)和更新的校验到变量消息(RCV new)的函数,计算更新的后验消息(QV new);(e4) Through the message passing calculation rule, for all adjacent variable nodes (V) connected to the check node (C), as the aforementioned message (Q V ) and the updated check-to-variable message (R CV new ) function to calculate the updated posterior message (Q V new );
(e5)将更新的后验消息(QV new)和更新的校验到变量消息(RCV new)存储回所述存储器中;(e5) storing the updated a posteriori message (Q V new ) and the updated check-to-variable message (R CV new ) back into said memory;
(f)作为存储在所述存储器中的后验消息(Q)的函数来计算已解码码字(b*);(f) computing the decoded codeword (b * ) as a function of the a posteriori message (Q) stored in said memory;
(g)通过校验奇偶校验矩阵与已解码码字的乘积是否为零来校验所述解码是否已经收敛;(g) checking whether the decoding has converged by checking whether the product of the parity check matrix and the decoded codeword is zero;
(h)一旦所述解码已经收敛或者一旦已经达到预定次数的迭代,则输出已解码码字(b*)。(h) outputting a decoded codeword (b * ) once said decoding has converged or once a predetermined number of iterations has been reached.
根据本发明的LDPC解码器的主要优点在于:LDPC解码器收敛大约为迭代次数的一半(如图13A和14A所示)。结果,当在任意实际应用中解码器迭代次数有限时(如图13B和14B所示),采用串行调度的LDPC解码器的性能好于采用溢出调度的LDPC解码器的性能。可选地,对于给定性能和解码器吞吐量,与采用溢出调度的LDPC解码器相比,采用串行调度的LDPC解码器需要大约一半的处理硬件。The main advantage of the LDPC decoder according to the present invention is that the LDPC decoder converges in about half the number of iterations (as shown in Figures 13A and 14A). As a result, when the number of decoder iterations is limited in any practical application (as shown in Figures 13B and 14B), the performance of LDPC decoders with serial scheduling is better than that of LDPC decoders with overflow scheduling. Alternatively, for a given performance and decoder throughput, an LDPC decoder with serial scheduling requires approximately half the processing hardware compared to an LDPC decoder with overflow scheduling.
根据本发明的LDPC解码器的另一优点在于:与根据如图6所示的现有技术状态的相应LDPC解码器的所需存储尺寸相比,根据本发明的LDPC解码器的存储尺寸大约为其尺寸的一半。Another advantage of the LDPC decoder according to the invention is that the memory size of the LDPC decoder according to the invention is approximately half its size.
根据本发明的LDPC解码器所采用的解码方法可以应用于一般化LDPC码,针对其,二分图中的左和右侧节点以任意码来表示约束。The decoding method adopted by the LDPC decoder according to the present invention can be applied to generalized LDPC codes, for which the left and right nodes in the bipartite graph represent constraints with arbitrary codes.
在根据本发明的解码器的优选实施例中,对其应用解码的码是LDPC码,左侧节点表示根据重复节点的约束而右侧节点表示根据奇偶校验节点的约束。在根据本发明的LDPC解码器的优选实施例中,所采用的消息传递计算规则过程是简明传播(BP)计算规则,还公知为求和-乘积过程。In a preferred embodiment of the decoder according to the invention, the codes to which the decoding is applied are LDPC codes, the left nodes representing constraints according to repeated nodes and the right nodes representing constraints according to parity nodes. In a preferred embodiment of the LDPC decoder according to the invention, the message-passing computation rule process employed is the concise propagation (BP) computation rule, also known as the sum-product process.
在图19中示出了一般化校验节点处理器的优选实施例。A preferred embodiment of a generalized check node processor is shown in FIG. 19 .
在可选实施例中,所采用的消息传递计算规则是最小和过程。In an alternative embodiment, the message passing calculation rule employed is a minimum sum procedure.
在根据本发明的用于解码低密度奇偶校验码字的LDPC解码器的优选实施例中,所计算出的先验估计是对数似然比(log-likelihoodratio,LLR)。In a preferred embodiment of the LDPC decoder for decoding low-density parity-check codewords according to the invention, the calculated a priori estimate is a log-likelihood ratio (LLR).
在可选实施例中,所计算出的先验估计是概率。In an alternative embodiment, the calculated a priori estimates are probabilities.
在用于解码低密度奇偶校验码字的LDPC解码器的优选实施例中,当迭代次数达到可调阈值时,指示解码失败。In a preferred embodiment of the LDPC decoder for decoding low density parity-check codewords, a decoding failure is indicated when the number of iterations reaches an adjustable threshold.
附图说明Description of drawings
在下文中,将参考附图来描述用于解码低密度奇偶校验码字的LDPC解码器的优选实施例。Hereinafter, a preferred embodiment of an LDPC decoder for decoding a low density parity check codeword will be described with reference to the accompanying drawings.
图1示出了根据现有技术状态的稀疏奇偶校验矩阵H和相应二分坦纳图的示例;Figure 1 shows an example of a sparse parity-check matrix H and a corresponding bipartite Tanner graph according to the state of the art;
图2示出了根据现有技术状态的二分坦纳图的简单示例;Figure 2 shows a simple example of a bipartite Tanner diagram according to the state of the art;
图3示出了通过数据通信信道相连的收发机,包括LPDC编码器和用于对由如图2所示的二分坦纳图定义的LDPC码进行解码的LDPC解码器。FIG. 3 shows a transceiver connected by a data communication channel, including an LPDC encoder and an LDPC decoder for decoding an LDPC code defined by a bipartite Tanner graph as shown in FIG. 2 .
图4示出了采用根据现有技术状态的溢出调度的简明传播(BP)-LDPC解码器的流程图;Fig. 4 shows a flowchart of a concise propagation (BP)-LDPC decoder employing overflow scheduling according to the state of the art;
图5示出了用于利用根据现有技术状态的标准溢出调度的简明传播LDPC解码器的多个迭代步骤;Figure 5 shows a number of iterative steps for a concise propagation LDPC decoder utilizing standard overflow scheduling according to the state of the art;
图6示出了根据现有技术状态的传统LDPC解码器的方框图;Figure 6 shows a block diagram of a conventional LDPC decoder according to the state of the art;
图7示出了如图6所示的传统LDPC解码器内的检验节点处理器的电路图;FIG. 7 shows a circuit diagram of a check node processor in the conventional LDPC decoder as shown in FIG. 6;
图8示出了如图6所示设置在根据现有技术状态的LDPC解码器内的变量节点处理器的电路图;Figure 8 shows a circuit diagram of a variable node processor arranged in an LDPC decoder according to the state of the art as shown in Figure 6;
图9示出了利用根据本发明的串行调度的简明传播(BP)-LDPC解码器的流程图;Fig. 9 shows the flowchart of the concise propagation (BP)-LDPC decoder utilizing the serial scheduling according to the present invention;
图10示出了针对图2、3的简单示例,根据本发明的LDPC解码方法的多个迭代步骤;Fig. 10 shows for the simple example of Fig. 2, 3, a plurality of iterative steps according to the LDPC decoding method of the present invention;
图11示出了使用根据本发明的串行调度的通用消息传递LDPC解码器的流程图;FIG. 11 shows a flow chart of a generic message passing LDPC decoder using serial scheduling according to the present invention;
图12示出了将利用传统溢出调度的LDPC解码过程与利用根据本发明的高效串行调度的LDPC解码方法进行比较的表格;12 shows a table comparing the LDPC decoding process utilizing conventional overflow scheduling with the LDPC decoding method utilizing efficient serial scheduling according to the present invention;
图13A示出了当解码器限制为10次迭代时,采用溢出调度的传统LDPC解码器和根据本发明的采用串行调度的LDPC解码器所需的平均迭代次数的仿真结果;Fig. 13A shows when the decoder is limited to 10 iterations, the simulation results of the average number of iterations required by the traditional LDPC decoder using overflow scheduling and the LDPC decoder using serial scheduling according to the present invention;
图13B示出了当解码器限制为10次迭代时,根据现有技术状态的采用溢出调度的传统LDPC解码器和根据本发明的采用串行调度的LDPC解码器块差错率的仿真结果;Fig. 13B shows the simulation results of the block error rate of the traditional LDPC decoder using overflow scheduling according to the state of the art and the LDPC decoder using serial scheduling according to the present invention when the decoder is limited to 10 iterations;
图14A示出了当解码器限制为50次迭代时,传统溢出调度LDPC解码器和根据本发明的采用串行调度的LDPC解码器的平均迭代次数的仿真结果;Fig. 14A shows when the decoder is limited to 50 iterations, the simulation results of the average number of iterations of the conventional overflow-scheduled LDPC decoder and the LDPC decoder using serial scheduling according to the present invention;
图14B示出了当解码器限制为50次迭代时,传统溢出调度LDPC解码器与本发明的采用串行调度的LDPC解码器相比的块差错率;Fig. 14B shows that when the decoder is limited to 50 iterations, the block error rate of the traditional overflow-scheduled LDPC decoder compared with the LDPC decoder of the present invention using serial scheduling;
图15a示出了包括根据本发明的LDPC编码器/解码器的收发机;Figure 15a shows a transceiver comprising an LDPC encoder/decoder according to the present invention;
图15b示出了根据本发明的高效消息传递解码器结构;Figure 15b shows an efficient message passing decoder structure according to the present invention;
图16示出了适合于如图15b所示的根据本发明的解码器结构的优选LDPC码的结构的示例;Figure 16 shows an example of the structure of a preferred LDPC code suitable for the decoder structure according to the present invention as shown in Figure 15b;
图17示出了根据本发明第一实施例的LDPC解码器结构;Fig. 17 shows the LDPC decoder structure according to the first embodiment of the present invention;
图18示出了利用图16所示的示例的LDPC码的根据本发明第一实施例的LDPC解码器的实现的特定示例;FIG. 18 shows a specific example of the realization of the LDPC decoder according to the first embodiment of the present invention using the LDPC code of the example shown in FIG. 16;
图19示出了由根据本发明的LDPC解码器所使用的一般化校验节点处理器;Figure 19 shows a generalized check node processor used by an LDPC decoder according to the present invention;
图20示出了在根据本发明实施例的LDPC解码器内设置的一般化校验节点处理器的优选实现;FIG. 20 shows a preferred implementation of a generalized check node processor disposed within an LDPC decoder according to an embodiment of the present invention;
图21示出了根据本发明第二实施例的LDPC解码器的方框图;Fig. 21 shows the block diagram of the LDPC decoder according to the second embodiment of the present invention;
图22示出了在如图21所示的本发明的第二实施例中的LDPC解码器中使用的一般化校验节点处理器的方框图;FIG. 22 shows a block diagram of a generalized check node processor used in the LDPC decoder in the second embodiment of the present invention as shown in FIG. 21;
图23示出了如图22所示的根据第二实施例的LDPC解码器的一般化校验节点处理器中的QR块的实现;Fig. 23 shows the realization of the QR block in the generalized check node processor of the LDPC decoder according to the second embodiment as shown in Fig. 22;
图24示出了在如图22所示的根据本发明第二实施例的LDPC解码器的一般化校验节点处理器内的S块的实现;Fig. 24 shows the implementation of the S block in the generalized check node processor of the LDPC decoder according to the second embodiment of the present invention as shown in Fig. 22;
图25示出了如图15所示的根据本发明的LDPC解码器内的收敛测试块的优选实施例;Fig. 25 shows the preferred embodiment of the convergence test block in the LDPC decoder according to the present invention as shown in Fig. 15;
图26示出了根据本发明的LDPC解码器中的奇偶校验矩阵结构的示例;Fig. 26 shows the example according to the parity check matrix structure in the LDPC decoder of the present invention;
图27示出了根据本发明的消息传递编码器的优选实施例。Figure 27 shows a preferred embodiment of a message passing encoder according to the present invention.
具体实施方式Detailed ways
从图9中可以看到,根据接收到的信道观察值(即指示接收到的码字比特具有预定值的估计值或估计)来执行根据本发明的用于解码低密度奇偶校验码字的方法。根据接收到的码字Y和通信信道的预定参数来计算这些估计。通信信道的预定参数是已知的。在本发明的可选实施例中,如果通信信道的参数是未知的,则可以使用最小和消息传递计算规则,对于其,不需要通信信道的参数。As can be seen from FIG. 9, the method for decoding a low-density parity-check codeword according to the present invention is performed based on received channel observations (i.e., estimates or estimates indicating that the received codeword bits have predetermined values). method. These estimates are computed from the received codeword Y and predetermined parameters of the communication channel. The predetermined parameters of the communication channel are known. In an alternative embodiment of the invention, if the parameters of the communication channel are unknown, the minimum sum message passing calculation rule may be used, for which no parameters of the communication channel are required.
图11中示出了覆盖所有实施例的一般消息传递解码过程。在优选实施例中,这些估计是接收到的比特的对数似然比(LLR)。A general message passing decoding process covering all embodiments is shown in FIG. 11 . In the preferred embodiment, these estimates are log-likelihood ratios (LLRs) of the received bits.
图15b示出了根据本发明的LDPC解码器1A的优选实施例的方框图。LDPC解码器1A具有输入2a,并且根据来自解调器的信道观察值来接收先验估计值。在第一实施例中,先验估计值是计算出的先验对数似然比(LLR)。在可选实施例中,所计算出的估计是先验概率。Fig. 15b shows a block diagram of a preferred embodiment of an
如图9所示,在初始化步骤S1中,将计算出的对数似然比或概率作为初始化值临时存储在LDPC解码器1A内的随机存取存储器(RAM)3中。该存储器3通过切换单元4与包括多个一般化校验节点处理器的块相连。所述一般化校验节点处理器5也与随机存取存储器7相连。存储器3和切换单元4受到存储了所使用的LDPC码的二分坦纳图的只读存储器6的控制。一般化校验节点处理器5用于更新坦纳图的节点之间的消息。所述一般化校验节点处理器设置有来自存储器7的RCV消息和通过切换单元4来自存储器3的QV消息。一般化校验节点处理器5计算针对RCV和QV消息的新更新值。将更新后的RCV消息存储回存储器7中,并将更新后的QV消息通过切换单元4存储回存储器3中。As shown in FIG. 9, in the initialization step S1, the calculated log-likelihood ratio or probability is temporarily stored as an initialization value in a random access memory (RAM) 3 within the
在本发明的优选实施例中,针对二分坦纳图的每一个校验节点,一般化校验节点处理器5输出符号位Ssign,由收敛测试块8来校验,校验LDPC解码器1是否已经收敛。在本发明的可选实施例中,可以使用标准收敛测试块,如图9中的步骤S4所示(右边的可选方案)。当收敛测试块8意识到LDPC解码处理已经收敛时,其通过经由LDPC解码器1的输出9输出成功指示信号来对此进行指示。在未能实现收敛的情况下,LDPC解码器1经由输出9来指示这样的失败。在成功的情况下,LDPC解码器1经由数据输出10a输出在最后的迭代步骤中计算出的已解码码字。In a preferred embodiment of the present invention, for each check node of the bipartite Tanner graph, the generalized
图19中更详细地示出了图15b中的一般化校验节点处理器5,其中每一个一般化校验节点处理器5包括图7所示的传统校验节点处理器和另外的提取和求和装置。The generalized
在图9所示的初始化步骤S1中,利用针对所有校验节点和所有变量节点的值零来对校验到变量消息RCV进行初始化。另外,将迭代计数器i设置为零。还将另一计数器(有效)初始化为零。In the initialization step S1 shown in Fig. 9, the check-to-variable message R CV is initialized with the value zero for all check nodes and all variable nodes. Also, set the iteration counter i to zero. Another counter (valid) is also initialized to zero.
在步骤S2中,根据坦纳图中的迭代计数器i和校验节点M的数量来计算校验节点数c:In step S2, the number of check nodes c is calculated according to the iteration counter i in the Tanner graph and the number of check nodes M:
c=i·mod m (7)c=i·mod m (7)
在步骤S3,一般化校验节点处理器5执行与校验节点c相对应的消息更新。在本发明的优选实施例中,该一般化校验节点处理器实现了根据以下等式的BP计算规则:In step S3, the generalized
对于所有v∈N(C),其中N(C)是校验节点c的邻近节点的集合,并且其中,For all v ∈ N(C), where N(C) is the set of neighbors of check node c, and where,
其中,in,
并且其中and among them
在本发明的可选实施例中,一般化校验节点处理器实现了根据以下等式的最小和计算规则:In an alternative embodiment of the invention, the generalized check node processor implements a minimum sum calculation rule according to the following equation:
对于所有v∈N(C),For all v ∈ N(C),
对于二分坦纳图的每一个校验节点c和对于与所述校验节点c相连的所有邻近节点,通过消息传递计算规则来计算从邻近变量节点v到该校验节点的输入消息QVC和从所述校验节点c到所述邻近变量节点v的输出消息RCV。作为如根据现有技术状态的溢出调度LDPC解码器中所执行的计算从变量节点V到校验节点c的所有消息QVC且然后从校验节点c到变量节点v的所有消息RCV的替代。根据本发明的解码方法针对每一个校验节点c,串行地计算进入校验节点C的所有消息QVC,然后计算从校验节点c中出去的所有消息RCV。For each check node c of the bipartite Tanner graph and for all adjacent nodes connected to the check node c, the input message Q VC from the adjacent variable node v to the check node is calculated by the message passing calculation rule and Output message R CV from said check node c to said adjacent variable node v. As an alternative to computing all messages Q VC from variable node V to check node c and then R CV from check node c to variable node v as performed in an overflow-scheduled LDPC decoder according to the state of the art . For each check node c, the decoding method according to the present invention serially calculates all messages Q VC entering the check node C, and then calculates all messages R CV going out of the check node c.
与其中仅在下一迭代步骤中传播消息的溢出调度相比,根据本发明的串行调度能够即时地传播消息。The serial schedule according to the present invention is able to propagate messages instantaneously compared to an overflow schedule where messages are propagated only in the next iteration step.
消息QVC并未存储在存储器中。而是根据QVC=QV-RCV,从存储的RCV和QV消息中容易地对其进行计算。Message Q VC is not stored in memory. Instead it is easily calculated from the stored R CV and Q V messages according to Q VC =Q V −R CV .
在根据本发明的方法中,能够同时对没有公共邻近变量节点的所有校验节点c进行更新。In the method according to the present invention, all check nodes c that have no common neighboring variable nodes can be updated simultaneously.
在步骤S3已经由校验节点处理器5对这些消息进行更新之后,在步骤S4中递增迭代计数器i。After these messages have been updated by the
在本发明的一个优选实施例中,在步骤S3中,由校验节点处理器5来计算指示符
指示该校验是否有效。在步骤S4中,如果Ssign=1(校验无效),则对有效计数器进行复位(有效=0)。相反,当该校验有效(Ssign=0)时,在步骤S4中递增有效计数器。In a preferred embodiment of the present invention, in step S3, the
在本发明的另一实施例中,使用标准收敛测试机制,如图16所示,其中在步骤S4中,计算校正子 s=H ,其中 =sign( Q)。In another embodiment of the present invention, a standard convergence testing mechanism is used, as shown in FIG. 16 , wherein in step S4, the syndrome s =H is calculated, where =sign( Q ).
在步骤S5中,校验迭代次数(i/m)是否高于预定最大迭代值(即,阈值),或者有效计数器是否已经达到校验节点m的数量。如果在步骤S5中的校验结果为否定的,则该处理返回到步骤S2。如果步骤S5中的结果为肯定的,则在步骤S6中校验该有效计数器是否等于校验节点的数量M。如果并非如此(即,由于已经达到最大迭代值MaxIter而使迭代已经停止,则LDPC解码器1经由输出9输出失败指示信号。相反,当有效计数器已经达到校验节点M的数量时,该解码成功,并且LDPC解码器1输出最近的估计
,作为接收到的码字的解码值。In step S5, it is checked whether the number of iterations (i/m) is higher than a predetermined maximum iteration value (ie, threshold), or whether the valid counter has reached the number of check nodes m. If the result of the check in step S5 is negative, the process returns to step S2. If the result in step S5 is positive, it is checked in step S6 whether the validity counter is equal to the number M of check nodes. If this is not the case (i.e. the iteration has stopped because the maximum iteration value MaxIter has been reached, the
=Sign(Q) =Sign(Q)
图10示出了对于图2、3的简单示例,由根据本发明的LDPC解码器1利用图9所示的算法执行的简明传播解码过程。Fig. 10 shows, for the simple example of Figs. 2, 3, the concise propagation decoding process performed by the
将由解调器P=[-0.7 0.9 -1.65 -0.6]输出的计算出的对数似然比LLR作为解码器输出存储在LDPC解码器1的存储器3中。在初始化步骤S1中,将存储了校验到变量消息RCV的存储器7初始化为零。The calculated log-likelihood ratio LLR output by the demodulator P=[-0.7 0.9-1.65-0.6] is stored in the
在图10的给定示例中,在达到解码器1的收敛之前,LDPC解码器1执行一个附加迭代步骤(迭代1)。对于每一个校验节点c1,c2,为构成所述校验节点c的邻近节点的每一个变量节点V计算或推算变量到校验消息QVC。然后,对于作为所述校验节点c的邻近节点的每一个变量节点,利用解码方法的步骤S3中的上述等式来更新校验到变量消息RCV和先验消息QV,并且分别存储在存储器7和存储器3中。In the given example of FIG. 10 , the
收敛测试块8根据从一般化校验节点处理器中接收到的符号值Ssign对有效校验进行计数。如果Ssign=0,则校验是有效的。一旦已经对M个连续有效校验进行了计数(M个连续Ssign变量等于0),则确定解码处理已经收敛,并通过LDPC解码器1的端子10来输出实际估计值
=Sign(Q)。The
可选地,由现有技术状态的溢出解码器所使用的标准收敛测试块还能够用于串行解码器。所述标准收敛测试块在每一次迭代的末尾计算校正子矢量s=HbT,其中b=sign(Q)。如果校正子矢量等于0矢量,则解码器收敛。在给定的示例中,串行解码器在一次迭代之后收敛。Alternatively, the standard convergence test blocks used by state-of-the-art overflow decoders can also be used for serial decoders. The standard convergence test block computes the syndrome vector s=Hb T at the end of each iteration, where b=sign(Q). If the syndrome vector is equal to the 0 vector, the decoder converges. In the given example, the serial decoder converges after one iteration.
通过将图10与图5进行比较,明显地,根据本发明(图10)的解码方法仅需要一次迭代步骤,而使用该溢出调度的传统LPDC解码方法(图5)在解码器已经收敛之前需要两次迭代步骤。By comparing Fig. 10 with Fig. 5, it is clear that the decoding method according to the present invention (Fig. 10) requires only one iterative step, while the conventional LPDC decoding method (Fig. 5) using this overflow schedule requires Two iteration steps.
相应地,根据本发明的LPDC解码方法的一个主要优点在于:根据本发明的LPDC解码器1所需的平均迭代次数大约为使用溢出调度的传统LPDC解码器所需的迭代次数的一半。Accordingly, one of the main advantages of the LPDC decoding method according to the invention is that the average number of iterations required by the
图13A、图14A示出了针对10次和50次迭代,在高斯信道上针对块长N=2400和不规则的LPDC码的仿真结果。从图13A、14A中显而易见,使用串行调度的根据本发明的LPDC解码器1的所需迭代次数显著低于使用溢出调度的传统LPDC解码器所需的迭代次数。Figures 13A, 14A show the simulation results for block length N=2400 and irregular LPDC codes on a Gaussian channel for 10 and 50 iterations. It is evident from Figs. 13A, 14A that the required number of iterations of the
此外,根据本发明的LPDC解码器1的性能优于使用溢出调度的传统LPDC解码器的性能。图13B、14B示出了针对10次和50次迭代,LPDC解码器1与传统LPDC解码器相比的块差错率BLER的仿真结果。从图13B、14B中可以看到,当允许解码器执行的迭代次数有限时,根据本发明的LPDC解码器1的块差错率BLER性能显著好于使用溢出调度的传统LPDC解码器的块差错率BLER性能。Furthermore, the performance of the
如图15b所示的根据本发明的LPDC解码器1的另一优点在于:根据本发明的LPDC解码器1内的存储器3、7的存储尺寸显著低于设置在图6所示的现有技术状态的LPDC解码器内的随机存取存储器(RAM)的存储尺寸(一半存储尺寸)。由于在LPDC解码器1中采用了串行调度,不需要设置针对QVC消息的存储器。由于还将利用消息Pv初始化的相同存储器由于存储消息QV,具有基于串行调度的结构的LPDC解码器1仅需要针对E+N个消息的存储器(而如图6所示的现有技术状态的LPDC解码器需要针对2E+2N个消息的存储器),其中E是码的坦纳图中的边缘数量(通常,对于较好的LPDC码,3N<E<4N)。Another advantage of the
采用根据本发明的解码方法的LPDC解码器1的另一优点在于:仅需要一个针对所有校验节点c∈C的包含N(C)的一个数据结构。在使用溢出调度的传统LPDC解码器的标准实现中,必须设置两个不同的数据结构,需要由于存储码的二分坦纳图的存储器的两倍大。如果仅利用单个的数据结构来实现使用传统溢出调度的LPDC解码器,则必须将迭代划分为两个不重叠的计算阶段。然而,这导致了硬件的低效并增加了硬件尺寸。Another advantage of the
已知的是,可以利用级联的适当次数来设计接近信道容量的LPDC码,即,校验节点c具有恒定或几乎恒定的次数。在这样的情况下,仅变量节点次数是不同的。而针对这样的不规则码的传统溢出LPDC解码器需要更复杂的电路,这是由于需要用于处理变化的输入数的计算单元。即使针对这样的不规则码,根据本发明实现的LPDC解码器保持了相同的电路复杂性。原因在于:采用串行调度的LPDC解码器1A仅需要用于处理恒定数量的输入的校验码计算单元。It is known that an LPDC code close to the channel capacity can be designed with an appropriate number of concatenations, ie check node c has a constant or almost constant number. In such cases, only the variable node degrees are different. Whereas conventional overflow LPDC decoders for such irregular codes require more complex circuitry due to the need for computational units for handling the varying number of inputs. Even for such irregular codes, the LPDC decoder implemented according to the invention maintains the same circuit complexity. The reason is that the
LPDC解码器1A与传统LPDC解码器相比的另一优点在于:可以使用更为简单的收敛测试机制。而根据现有技术状态的LPDC解码器必须计算校正子矢量S,LPDC解码器1的指示符Ssign是解码处理的副产品。在根据本发明的LPDC解码器1的传统测试块8中,仅针对M个连续的校验节点,校验变量Ssign的符号是否为正。并且不需要在每一个迭代步骤的末尾执行解码字与奇偶校验矩阵H的相乘,以便校验是否已经达到收敛。Another advantage of
采用溢出调度的LPDC解码器的迭代可以完全并行化,即,同时更新所有变量和校验节点消息。然而,根据本发明的解码方法是串行的,可以并行地对来自节点集合的消息进行更新。当将校验节点划分为子集从而使子集中的任意两个校验节点不与相同的变量节点V相连时,则可以同时对每一个子集中的校验节点进行更新。The iterations of the LPDC decoder with overflow scheduling can be fully parallelized, ie all variables and check node messages are updated simultaneously. However, the decoding method according to the invention is serial, and the updates from the collection of nodes can be done in parallel. When the check nodes are divided into subsets so that any two check nodes in the subset are not connected to the same variable node V, the check nodes in each subset can be updated at the same time.
图12包括的表格示出了与如根据本发明的LPDC解码方法所采用的高效串行调度策略相比、传统LPDC解码器所使用的溢出调度。Fig. 12 includes a table showing overflow scheduling used by a conventional LPDC decoder compared to an efficient serial scheduling strategy as employed by the LPDC decoding method according to the present invention.
图15a示出了包括根据本发明的LPDC编码器/解码器的收发机。所述收发机包括前向纠错层(FEC层),由如图15a所示的LPDC编码器/解码器来实现。在图15b中更详细地示出了根据本发明的LPDC解码器1A,而在图27中示出了LPDC编码器1B的优选实施例。根据本发明的LPDC编码器/解码器1允许在相同的硬件上执行对各种速率和长度码的编码和解码。在优选实施例中,LPDC编码器/解码器1执行多速率和长度LPDC码。在优选实施例中,根据本发明的LPDC编码器/解码器1可在所述设备的存储器中所存储的不同LDPC码之间切换。LPDC编码器/解码器1经由信号处理单元11和收发机前端12与通信信道13相连。信号处理单元11和收发机前端12在LPDC编码器1B的输出处采用了已编码的码字,用于在给定的通信信道13上传输。另外,信号处理单元11和收发机前端12处理来自给定通信信道13的接收信号,并且向LPDC解码器1A提供传输比特的先验估计。在本发明的优选实施例中,传输比特的先验估计是先验LLR。由收发机经由数据传输信道13将已编码码字传送到远程收发机,该远程收发机通过其LPDC解码器1A对该已编码码字进行解码。Figure 15a shows a transceiver comprising an LPDC encoder/decoder according to the present invention. The transceiver includes a forward error correction layer (FEC layer), implemented by an LPDC encoder/decoder as shown in Figure 15a. An
图15b示出了根据本发明的LPDC解码器1A的方框图。LPDC解码器1A经由输入2A,根据来自解调器的信道观察值来接收先验估计值。或者由先验似然比(LLR)或者由先验概率来形成该先验估计。Fig. 15b shows a block diagram of an
将先验估计作为初始化值临时存储在如图15b所示的根据本发明的LPDC解码器1A的随机存取存储器3中。设置QRAM-3来保存QV消息。The a priori estimates are temporarily stored as initialization values in the
QRAM-3经由切换单元4与包括Z个一般化校验节点处理器5-i的处理块相连。QRAM-3 is connected to a processing block including Z generalized check node processors 5-i via switching
根据本发明的串行解码本质上是串行的,然而,可以并行地对校验节点消息的集合进行更新。将校验节点划分为集合B1、……、Bm,从而使集合Bi中的任意两个校验节点c、c’不与相同的变量节点相连,即The serial decoding according to the present invention is serial in nature, however, the set of check node messages can be updated in parallel. Divide the check nodes into sets B 1 ,..., B m , so that any two check nodes c and c' in the set B i are not connected to the same variable node, namely
结果,可以同时对在每一个集合Bi中的校验节点c进行更新。由于在计算节点c之间的复杂互连而导致通常不能进行完全并行的计算,因此串行调度的部分串行特性并非限定性的。此外,当将校验节点c划分为足够的集合Bi时,即使集合Bi并不保持上述特性(11),但是LPDC解码器1A的性能非常接近于串行调度的性能。因此,在优选实施例中,通过将校验节点c划分为
如图15b所示的根据本发明的一般化校验节点处理器5用于更新该图中的节点之间的消息。一般化校验节点处理器5从R-RAM 7中接收RCV消息,并且经由切换单元4从QRAM-3向其提供QV消息。一般化校验节点处理器5计算针对RCV和QV消息的新更新值。将更新的RCV消息存储回R-RAM 7中,而将更新的QV消息通过切换单元4存储回QRAM-3中。从只读存储器(ROM 6)中读取针对切换单元4的切换信息,在所述只读存储器中存储了LDPC码结构。设置Z个一般化校验节点处理器5-i,用于对Z个校验节点的消息执行同时计算。由一般化校验节点处理器5所执行的解码迭代由
步骤构成,其中,在每一个步骤中,由Z个一般化校验节点处理器5来处理Z个校验节点的消息。当前正在处理校验节点c的处理器5-i读取针对所有v∈N(c)的消息QV和RCV消息,执行计算,并且将更新的消息写回到存储器3、7。消息QV、RCV的读取、计算和写回构成了三个处理阶段。由于一般化校验节点处理器5不能在一般化校验节点处理器5的单个时钟周期中完成这三个处理阶段,因此提供了数据处理管道。在可选实施例中,QRAM-3和R-RAM 7允许同时读取和写入。在该实施例中,一般化校验节点处理器5在每一个时钟周期中读取新的消息集合,并且利用每一个时钟写回已经更新的消息集合。在该实施例中,解码迭代将需要M/Z个时钟周期。A generalized
一般化校验节点处理器5针对二分图的各个校验节点c,输出指示符Ssign以校验LPDC解码器1A是否已经收敛。如从图15b中可以看到,一般化校验节点处理器5将各个校正子比特Ssign转发到收敛测试块8。图25中示出了收敛测试块8的优选实施例。收敛测试块8意识到LDPC解码处理已经收敛,并且通过经由LPDC解码器1的输出9输出成功指示信号来对此进行指示。The generalized
图15b示出了如图9所示的根据本发明执行串行调度的LPDC解码器1A的一般结构。针对随机无结构化LDPC码的LPDC解码器的实现引起了较高的复杂性。根据本发明的解码器1A甚至在相对较低的解码速率下也具有许多消息必须要从存储器3、7中读取并且必须要写回到这些存储器3、7中。结果,这需要要由具有复杂寻址机制的多端口存储器形成的存储器3、7。此外,需要复杂的切换单元4将消息从存储器3、7路由到一般化校验节点处理器5。为了使根据本发明的LPDC解码器1A的实现简单,最好使用意识到结构化体系结构的LDPC。这能够简化存储器3、7的寻址机制和经由切换单元4对消息的路由。根据优选实施例,LPDC解码器1A使用基于产生了奇偶校验矩阵由置换矩阵构成的提升图的LDPC码。FIG. 15b shows the general structure of
在下文中,描述了基于产生了由置换矩阵构成的奇偶校验矩阵的提升图的LDPC码的结构。该结构的LDPC码显著地简化了根据本发明的LPDC解码器1的实现。In the following, the structure of an LDPC code based on a lifting graph generating a parity check matrix constituted by a permutation matrix is described. The structured LDPC code considerably simplifies the implementation of the
当利用K=R*N个信息位和M=(1-R)·N个奇偶校验位构成速率为R且具有码长N的LDPC码且构成M*N奇偶校验矩阵H时,LDPC码的M*N奇偶校验矩阵H由Mb*Nb个块矩阵Hb构成,其中
进入块矩阵的每一个数据条目是Z*Z个零矩阵或Z*Z个置换矩阵。该优选实施例优选地使用了有限的种类的置换,能够容易地实现。Each data entry into the block matrix is either Z*Z zero matrices or Z*Z permutation matrices. The preferred embodiment preferably uses a limited variety of permutations, which can be easily implemented.
在优选实施例中,这些置换限制为循环置换,表示为P0、……、PZ-1,其中In a preferred embodiment, these substitutions are limited to cyclic substitutions denoted P 0 , ..., P Z-1 , where
并且 and
置换尺寸Z是LPDC解码器1A所需的等待时间或吞吐量的函数。The permutation size Z is a function of the latency or throughput required by the
可以利用图形提升来解释按照该方式构造的LDPC码的底层图形。将具有Nb个变量节点和Mb个校验节点的小图形提升或复制Z次,从而获得了Z个小的离散图。该小图形的每一个边缘出现了Z次。然后,在图形的Z个拷贝中置换每一个这样的Z个边缘的集合,从而获得了具有N个变量节点和M和校验节点的单个大图形。Graph lifting can be used to explain the underlying graph of an LDPC code constructed in this way. The small graph with N b variable nodes and M b check nodes is lifted or copied Z times, thereby obtaining Z small discrete graphs. Each edge of the gizmo appears Z times. Then, each such set of Z edges is permuted in Z copies of the graph, resulting in a single large graph with N variable nodes and M and check nodes.
图16示出了小型[24,12]LDPC码的简单示例。图16示出了在置换之前和之后的LDPC码。如果小型Mb×Nb图表示(λ(χ),ρ(χ))-不规则LDPC码,则所获得的大型M×N图形也表示(λ(χ),ρ(χ))-不规则LDPC码。Fig. 16 shows a simple example of a small [24,12] LDPC code. Fig. 16 shows LDPC codes before and after permutation. If the small Mb × Nb graph represents a (λ(χ), ρ(χ))-irregular LDPC code, the resulting large M×N graph also represents a (λ(χ), ρ(χ))-irregular LDPC code. Regular LDPC codes.
如上所述的基于置换块矩阵的LDPC码能够简单实现支持高级别并行化的LPDC解码器1A。可以通过串行地逐个处理奇偶校验矩阵H的个块行,来执行解码迭代。利用dc个非零块条目来处理矩阵H的块行涉及从Q-RAM 3和R-RAM 7中读取QV和RCV消息的dc尺寸的Z个块。然后,将这些消息路由到Z个一般化校验节点处理器5,所述一般化校验节点处理器5同时处理与该块行相对应的Z个奇偶校验。然后,将更新的消息写回到存储器3、7。将与奇偶校验矩阵H的块列相对应的Z个QV消息的每一个集合包含在QRAM-3的单个存储单元中。将这些消息一起从QRAM-3中读出,然后通过执行根据H块矩阵的适当置换,将其路由到Z个不同的一般化校验节点处理器5。The LDPC code based on the permuted block matrix as described above enables simple implementation of the
图17示出了根据本发明的LPDC解码器1A的第一实施例。Fig. 17 shows a first embodiment of an
图18示出了针对如图16所示构造的奇偶校验矩阵H,如图17所示的根据第一实施例的LPDC解码器1A的示例。FIG. 18 shows an example of the
在图18所示的示例中,针对小长度24的LPDC码设置LPDC解码器1A。在图18中还示出了R-RAM 7和QRAM-3的初始化值。In the example shown in FIG. 18 , the
由于在dc个时钟周期中对具有dc个非零块条目的矩阵H的行进行处理,从而在每一个时钟周期中,与行中的单个非零块条目相对应地读取消息,因此在 个时钟周期中执行解码迭代。Since a row of matrix H with dc nonzero block entries is processed in dc clock cycles, so that in each clock cycle a message is read corresponding to a single nonzero block entry in the row, then in The decoding iterations are performed in clock cycles.
如果需要根据本发明的LPDC解码器1A来支持更高的解码器数据速率,则在LPDC解码器1A内需要更大数量的Z的一般化校验节点处理器5。这产生了非常小的
Hb矩阵,由于在设计矩阵H时的有限的自由度,可能会产生弱LDPC码。另外,一般化校验节点处理器5不能够完成对校验过程的处理,直到已经将所有dc个消息读取到处理器5中为止。结果,每一个一般化校验节点处理器5的执行管道至少为dc,这对于高速率编码而言可能较高。这可以实质上增加每一个处理器5的执行管道所需的寄存器量,结果,导致了逻辑区的增加和解码器能量消耗的增加。If the
假如矩阵H中的行次数是恒定的(和几乎是恒定的),则如果将附加结构包括在能够同时从dc个不同RAM单元中读取Z个消息的所有dc块的H矩阵中,可以避免这些缺陷。在这种方式下,在单个时钟周期中对H矩阵的每一行进行处理,从而解码迭代花费了
个时钟周期,这允许更小的置换块尺寸Z,结果,在设计Hb时允许更大的块矩阵Hb和增加的自由度。另外,每一个一般化校验节点处理器5的执行管道的长度不再是dc的函数,从而其可以小得多。Assuming that the number of rows in matrix H is constant (and nearly constant), then if additional structure is included in matrix H for all d c blocks capable of reading Z messages from d c different RAM cells simultaneously, These drawbacks can be avoided. In this way, each row of the H matrix is processed in a single clock cycle, thus decoding iterations cost clock cycles, which allows a smaller permutation block size Z and, consequently, a larger block matrix Hb and increased degrees of freedom in designing Hb . In addition, the length of the execution pipeline of each generalized
在优选实施例中,为了支持在单个时钟周期中同时读取所有的行消息,将附加结构包括到LDPC码的H矩阵中。在优选实施例中,按照以下方式来构造奇LDPC码的偶校验矩阵H。将奇偶校验矩阵H的块列划分为dc个集合(或多于dc个集合,然而不超过Nb个集合)。奇偶校验矩阵H的每一个块行需要包含来自dc个不同集合的dc个非零块条目。这能够根据将奇偶校验矩阵H的块列划分为dc个(或更多)集合,将QV消息划分为dc个Q-RAM 7(或者甚至更多)。结果,确保了当处理奇偶校验矩阵H的块行时,将需要读取的Z个QV消息的dc集合存储在不同的dc个(或更多)RAM单元中,并且能够一起读取(而无需设置多端口RAM)。LPDC解码器1A的相应结构形成了如图21所示的第二实施例。In a preferred embodiment, to support simultaneous reading of all row messages in a single clock cycle, additional structure is included into the H-matrix of the LDPC code. In a preferred embodiment, the even check matrix H of the odd LDPC code is constructed in the following manner. Divide the block columns of the parity-check matrix H into d c sets (or more than d c sets, however not more than N b sets). Each block row of the parity-check matrix H needs to contain d c nonzero block entries from d c different sets. This enables the partitioning of the QV message into dc Q-RAMs 7 (or even more) based on partitioning the block columns of the parity-check matrix H into dc (or more) sets. As a result, it is ensured that when processing block rows of the parity-check matrix H, dc sets of Z QV messages that need to be read are stored in different dc (or more) RAM cells and can be read together fetch (without setting up multi-port RAM). The corresponding structure of the
当将如图17所示的根据本发明第一实施例的LPDC解码器1A与如图21所示的第二实施例的LPDC解码器1A进行比较时,根据第一实施例的LPDC解码器1A具有增加的复杂度,结果,需要更多的芯片区域。另外,当与如图21所示的第二实施例的LPDC解码器1A相比时,图17所示的根据第一实施例的LPDC解码器1A具有增加的功率消耗,这是由于第一实施例的LPDC解码器1A在处理器5的执行管道中具有更多的寄存器。相反,如图17所示的根据本发明第一实施例的LPDC解码器1A的主要优点在于:与图21所示的第二实施例的LPDC解码器1A相比,其更具有一般性。原因在于:图17所示的根据第一实施例的LPDC解码器1A并未限制于:校验节点次数dc是固定的。结果,该LPDC解码器1A还能够利用各种校验节点次数对LDPC码进行解码,同时保持高效。When comparing the
在两个实施例的LPDC解码器1A中,在每一个时钟周期中,从Q-RAM3和R-RAM 7中读取且写入。因此,这些RAM存储器由双端口RAM形成。在两个实施例的LPDC解码器1A中,通过考虑对R-RAM 7的顺序寻址,可以简化通常为大RAM的R-RAM 7的复杂性。由于不需要随机存取,通过采用顺序寻址,可以使用具有简化的寻址机制和简化的复杂性的存储器。另外,由于顺序寻址,在优选实施例中,可以将R-RAM 7划分为两个RAM,其中一个R-RAM 7a包含奇地址,而另一R-RAM 7b包含偶地址。因此,在每一个时钟周期中,从一个R-RAM中读取消息,并且将消息写回到另一R-RAM。在该优选实施例中,可以将的复杂度的单端口RAM用于R-RAM 7。In the
在下文中,描述了针对两个实施例的一般化校验节点处理器5的可能实现。当前正在处理校验节点c的BP一般化校验节点处理器5读取针对所有v∈N(c)的消息QV和RCV,并执行以下计算:In the following, a possible implementation of a generalized
对于所有v∈N(c),For all v ∈ N(c),
Qtemp←Qv-Rcv Q temp ←Q v -R cv
Rcv←-1(S-(Qtemp))R cv ← -1 (S-(Q temp ))
Qv←Qtemp+Rcv Q v ← Q temp + R cv
循环结束end of loop
校验节点处理器将更新的消息写回到存储器3、7。The check node processor writes the updated message back to the
注意,在可选实施例中,一般化校验节点处理器5实现了与BP(简明传播)不同的计算规则。Note that in an alternative embodiment, the generalized
例如,该校验节点处理器实现了次最佳、低复杂性最小和计算规则,如下:For example, the check node processor implements sub-optimal, low-complexity min-sum calculation rules as follows:
对于所有v∈N(c),For all v ∈ N(c),
循环结束end of loop
对于所有v∈N(c),For all v ∈ N(c),
循环结束end of loop
图20示出了针对实施例1的BP一般化校验节点处理器5的示意电路图。图22示出了针对实施例2的BP一般化校验节点处理器5的示意电路图。图23和24中示出了QR块和S块的实现。FIG. 20 shows a schematic circuit diagram of the BP generalized
优选地,利用LUT来实现和-1变换。在该BP一般化校验节点处理器的优选实施例中,以2的完全表示执行具有LLR的计算,并且以符号/幅度表示来进行具有(LLR)的计算。将这些消息在2的实现表示中保存为LLR。以符号/幅度表示来执行和-1变换之间要执行的所有计算。可以将两个表示之间的转换包括到和-1变换中。Preferably, the [phi] and [phi] -1 transformations are implemented using a LUT. In the preferred embodiment of the BP generalized check node processor, computations with LLRs are performed in full representation of 2, and computations with [phi](LLR) are performed in sign/magnitude representation. Save these messages as LLRs in the implemented representation of 2. All calculations to be performed between the [phi] and [phi] -1 transformations are performed in sign/magnitude representation. The conversion between the two representations can be included into the [phi] and [phi] -1 transformations.
由于在LPDC解码器1A中避免了对Qvc消息的保存,因此根据以下等式容易地对其进行计算:Since saving of the Qvc message is avoided in
Qvc=Qtemp=Qv-Rcv Qvc = Qtemp = Qv - Rcv
在固定点实现中,在优选实施例中,QV消息具有比RCV消息更大的动态范围以便避免丢失Qvc信息。充分地,利用附加位来表示QV消息。然而,作为结果,一旦QV消息已经达到其最大值,则应该不再对其进行更新。利用图20和23所示的“校验饱和”块来对此进行保持。由于其减小了逻辑能量消耗,因此证明是一个优点。In a fixed-point implementation, QV messages have a larger dynamic range than RCV messages in a preferred embodiment in order to avoid losing Qvc information. Sufficiently, QV messages are represented with additional bits. However, as a result, once the QV message has reached its maximum value, it should no longer be updated. This is maintained using the "Check Saturation" block shown in Figures 20 and 23 . This proves to be an advantage since it reduces logic power consumption.
与其中通过计算校正子来每一个迭代的末尾执行收敛测试的标准溢出调度不同,根据本发明的串行调度允许在解码处理期间的简单收敛校验。通过针对
个连续块校验所有处理器5中的S变量的符号为正,作为解码处理的副产品来执行该操作,如图25所示。一旦检测到收敛,则清空处理器5的执行管道,并且驻留在Q-RAM 3中的QV变量的符号位构成了已解码码字。将收敛测试机制包括到如图17和21所示的控制单元9中。Unlike the standard overflow schedule, where the convergence test is performed at the end of each iteration by computing the syndrome, the serial schedule according to the invention allows a simple convergence check during the decoding process. by targeting Consecutive blocks check that the signs of the S variables in all
对于第一实施例的LDPC解码器1A,通过将各种矩阵H存储在ROM 6中,在相同的液晶上实现各种码率R和码长度N。由于块矩阵描述非常简练,因此保存多个矩阵的开销较小。With the
在第二实施例的LDPC解码器1A中,假定了固定的校验节点次数dc。根据必须支持且具有最高校验节点次数的最高码率来设置节点次数dc。然后,通过取消dc个校验节点处理器输入中的一些来实现较低的码率。In the
可以用于两个LDPC解码器实施例的、在相同液晶上实现多个码率R的可选方案在于:通过行合并,根据单个块矩阵Hb来获得各种码率。通过对没有非零重叠块条目的矩阵Hb的块行进行求和,从一个单个基本块矩阵Hb中构造更高速率的LDPC码。这导致了与更高速率的码相对应的更少维数的奇偶校验矩阵H。例如,当使用由
块矩阵Hb构成的码率为1/2的基本LDPC码时,对该矩阵进行设计,从而使针对i=1、……、
的块行i和块行
没有重叠的非零块条目。然后,将H的块行划分为对,即,针对1、……、
将块行i与块行
匹配。然后,通过对块行对的α一起求和(其中α是1和
之间的数),实现了与速率
LDPC码相对应的更小的
块矩阵Hb。An alternative to realize multiple code rates R on the same liquid crystal, which can be used for both LDPC decoder embodiments, is to obtain various code rates from a single block matrix Hb by row combining. A higher rate LDPC code is constructed from a single basic block matrix Hb by summing the block rows of matrix Hb with no non-zero overlapping block entries. This results in a parity check matrix H of fewer dimensions corresponding to higher rate codes. For example, when using the When the basic LDPC code of
通过这种方式,可以获得针对1/2和3/4之间的任意速率的LDPC码。从基本LDPC码构造更高速率的LDPC码的该结构是有利的,这是由于可以使用相同的解码器硬件对所构造的LDPC码进行解码。通过在两个时钟内将与两个时钟行相对应的消息读取到处理器5中,来处理作为对基本奇偶校验矩阵H中的块行对进行求和的结果的新奇偶校验矩阵H中的行,从而处理器5将所有消息看作如同其属于相同的校验。将支持行合并所需的机制包括在如图23和图24所示的S块和QR块中。每一次当合并两个连续行时,图23、24和25中的控制信号MergeRows能够进行行合并。对合并行的处理需要两倍的时间(两个时钟,而非一个),然而,要处理的行数相应地减少,因此,解码时间保持为相同。该方法的优点在于:使用单个矩阵来获得许多码率R,然而,所获得的LDPC码并非最佳的。In this way, an LDPC code for any rate between 1/2 and 3/4 can be obtained. This structure of constructing higher rate LDPC codes from basic LDPC codes is advantageous since the constructed LDPC codes can be decoded using the same decoder hardware. The new parity check matrix that is the result of summing the block row pairs in the basic parity check matrix H is processed by reading messages corresponding to two clock rows into the
还可以使用缩短和穿孔机制或缩短和穿孔的组合来支持各种码率R和码长度N。缩短降低了码率R而穿孔增加了码率R。在LDPC编码器1B处,将缩短的位(作为信息位)设置为零,然后执行编码。不传送缩短和穿孔位。在LDPC解码器1A处,利用“0”消息(零符号位和最大可靠性)对缩短位进行初始化,并且利用擦除消息对穿孔位进行初始化(并不涉及符号位和零可靠性),然后执行解码。缩短/穿孔LDPC码的解码时间保持与完全LDPC码的解码时间相同(由于LDPC解码器1对完全码进行操作),即使LDPC码会较短。Various code rates R and code lengths N can also be supported using a shortening and puncturing mechanism or a combination of shortening and puncturing. Shortening reduces the code rate R while puncturing increases the code rate R. At the
通过紧缩了Z×Z置换块并因此紧缩了码的奇偶校验矩阵H,可以获得各种码长度N。按照该方式,可以获得长度为
……、N的LDPC码。例如,如果要获得长度为
的LDPC码,则块矩阵Hb由尺寸为
的置换块构成。这意味着:在LDPC解码器1处,每一个Q-RAM存储单元仅包含Z个消息中的
个消息,并且仅
个处理器5用于解码。与缩短/穿孔方法类似,短LDPC码的解码时间与基本LDPC码的解码时间保持相同。在流模式中,通过使用未使用的硬件来解码下一码字,能够对此进行避免。Various code lengths N can be obtained by compacting the ZxZ permutation block and thus the parity check matrix H of the code. In this way, the length can be obtained as ..., the LDPC code of N. For example, if you want to get the length of LDPC code, then the block matrix H b has a size of The replacement block composition. This means: At
为了实现与码长N成线性的解码时间,将更小的H个块矩阵用于更短的LDPC码,从而使所有矩阵包含Z×Z个置换块。因此,实现每一个附加码长N仅需要附加ROM 6来保持H矩阵(由于其简练描述,需要较小ROM),并且不需要LDPC解码器1A的硬件的变化。To achieve a decoding time linear in code length N, smaller H block matrices are used for shorter LDPC codes, so that all matrices contain Z×Z permuted blocks. Therefore, realizing each additional code length N requires only an
通过加强对结构化的LDPC码的附加结构,可以实现线性编码复杂度。所构造的LDPC码是对称的,从而第一
图27示出了如图15a所示的收发机内的LDPC编码器1B的优选实施例。将图27与示出了LDPC解码器1A的结构相比,可以看到,通过相同的硬件实现了根据本发明的LDPC编码器1B。Figure 27 shows a preferred embodiment of the
LDPC编码器1B包括RAM 3、切换单元4、一般化校验节点处理器5的阵列和只读存储器6。设置RAM 7和转换测试单元8并非必须的。由于通过相同的硬件来执行LDPC编码器1B和LDPC解码器1A,因此能够通过设置如图15a所示的并联的两个单元1A、1B(其中第一单元1A执行解码处理而另一单元1B执行编码处理),来形成编码器/解码器1。在可选实施例中,在用于执行编码处理的编码模式和用于执行解码处理的解码模式之间对具有如图15b所示的电路结构的单元进行切换。该实施例具有的优点在于:仅必须在芯片上实现较少的电路。即使当通过设置具有相同硬件的单独LDPC编码器1B和单独LDPC解码器1A来实现FEC层1时,具有以下优点:当设计芯片时根据相同的硬件来形成两个单元。The
在下文中,描述了执行编码的优选实施例,其中i=[i1 i2…iKb]表示划分为Z比特的Kb集合的信息位块,即,ij=[j;1…ij;z]T是Z个连续信息位的列,In the following, a preferred embodiment for performing encoding is described, where i = [i 1 i 2 ... i Kb ] denotes a block of information bits divided into Kb sets of Z bits, i.e., i j = [ j; 1 ... i j; z ] T is a column of Z consecutive information bits,
其中P=[P1 P2…PMb]表示划分为Z比特的Mb个集合的奇偶位块,即Pj=[Pj;1…Pj;z]T是Z个连续奇偶位的列,Among them, P=[P 1 P 2 ... P Mb ] represents the parity block divided into M b sets of Z bits, that is, P j = [P j; 1 ... P j; z ] T is the number of Z consecutive parity bits List,
其中c=[i p]表示划分为Z比特的Nb个集合的码字块,并且其中,where c=[ip] denotes a block of codewords divided into N b sets of Z bits, and where,
A(i;j)表示如图26所示的块矩阵A的(i;j)Z×Z块。A(i;j) represents the (i;j)Z×Z block of the block matrix A shown in FIG. 26 .
通过图27所示的LDPC编码器1B来执行编码,具体如下:Encoding is performed by the
1、计算
2、计算
3、计算
4、计算
5、计算
由LDPC解码器1A使用的相同的数据路径可以用于LDPC编码器1B。因此,可以在用于LDPC解码器1A的相同硬件上执行编码。如果使用更低次的三角Hb矩阵来构造LDPC码,则可以利用解码器来执行编码。利用信息位(±最大QV消息值,表示总的比特可靠性)对与K个信息位相对应的QV消息进行初始化,并且利用擦除(零值-表示无可靠性)对与M个奇偶位相对应的QV消息进行初始化。执行解码,并且在单个迭代之后对擦除的奇偶校验位进行恢复。The same data path used by
为了减小能量消耗,优选地,仅对消息的符号位进行编码期间所执行的计算,这是由于编码仅需要异或(xor)运算。处理器5可以利用表示消息复制的比特,在擦除位和己知位之间进行区分。然后,通过应用以下规则来简单地执行编码:每一个处理器5仅读取一个未知比特,并且将未知位设置为校验中所有其他己知位的异或(异或机制已经存在于处理器中)。In order to reduce energy consumption, calculations performed during encoding are preferably performed only on the sign bit of the message, since encoding requires only an exclusive OR (xor) operation. The
用于实现LDPC编码器-解码器系统1所需的硬件取决于码参数、系统参数和所需性能。将性能测量为允许LDPC解码器1在给定等待时间或吞吐量限制之下执行的迭代次数。假定BP解码。The hardware required for implementing the LDPC encoder-
基本码参数:Basic code parameters:
N-码长N-code length
dv-平均比特次数(比特参与其中的平均校验次数-通常
Rmax-系统所支持的最大码率。R max - the maximum bit rate supported by the system.
dc-最大校验次数d c - the maximum number of checksums
对于右规则码:For the right regular code:
编码器-解码器参数:Encoder-decoder parameters:
fc-编码器-解码器时钟[Mhz]f c - encoder-decoder clock [Mhz]
bpm-每一个消息的比特bpm - bits per message
bpm2-在变换之后的每一个消息的比特bpm 2 - bits per message after conversion
Z-针对实施例1的处理器5的数量,或者针对实施例2的QR块的数量。Z—the number of
解码器性能decoder performance
Rcn-信道比特率(未编码)[Mbps]R cn - channel bit rate (uncoded) [Mbps]
L-最大的解码等待时间[微秒]L - maximum decoding wait time [microseconds]
第一实施例的编码器-解码器复杂度Encoder-decoder complexity of the first embodiment
逻辑:BP处理器~Z0.6K个门Logic: BP processor ~ Z0.6K gates
RAM:1、R-RAM 7:
2、Q-RAM 3:
3、用于管道缓冲的zx((9+dc)(bpm+1)+(3+dc)bmp2)个1位寄存器和读取/写入置换缓冲器。3. zx((9+d c )(bpm+1)+(3+d c )bmp 2 ) 1-bit registers for pipeline buffering and read/write permutation buffers.
ROM 6
第二实施例的编码器-解码器复杂度Encoder-decoder complexity of the second embodiment
逻辑:BP处理器-~Z0.6K个门Logic: BP processor - ~ Z0.6K gates
RAM:1、R-RAM 7:
2、Q-RAM 3:dc个双端口RAM单元,每一个的尺寸为
3、用于管道缓冲的z×(12(bpm+1)+6bmp2-2)个1位寄存器和读取/写入置换缓冲器。3. z×(12(bpm+1)+6bmp 2 −2) 1-bit registers and read/write permutation buffers for pipeline buffering.
ROM 6:
所使用的这些RAM是双端口RAM(TPRAM)。对于R-RAM 7,可以使用单端口RAM。The RAMs used are Dual Port RAMs (TPRAMs). For R-RAM 7, single-port RAM can be used.
Claims (29)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US58167704P | 2004-06-22 | 2004-06-22 | |
| US60/581,677 | 2004-06-22 | ||
| US11/061,232 | 2005-02-18 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN1713530A true CN1713530A (en) | 2005-12-28 |
Family
ID=35718998
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 200510079444 Pending CN1713530A (en) | 2004-06-22 | 2005-06-22 | LDPC Decoder for Decoding Low Density Parity Check (LDPC) Codewords |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN1713530A (en) |
Cited By (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7454685B2 (en) | 2004-11-23 | 2008-11-18 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding low density parity check code using united node processing |
| CN101902230A (en) * | 2009-05-29 | 2010-12-01 | 索尼公司 | Receiving device, receiving method, program and receiving system |
| US7886208B2 (en) | 2006-02-02 | 2011-02-08 | Samsung Electronics Co., Ltd | LDPC decoding apparatus and method based on node memory |
| CN101079638B (en) * | 2006-07-28 | 2011-04-20 | 开曼群岛威睿电通股份有限公司 | Low density parity check decoding system and method for reducing complexity |
| CN101262231B (en) * | 2008-04-25 | 2011-09-28 | 浙江大学 | A decoding method for block low-density check code and reconstruction of multi-mode decoder |
| CN102546102A (en) * | 2011-12-23 | 2012-07-04 | 同济大学 | Quick demodulation method for signal receiving terminal to realize link adaptation |
| CN102957436A (en) * | 2011-08-17 | 2013-03-06 | 北京泰美世纪科技有限公司 | Low-density parity check code decoding device and low-density parity check code decoding method |
| CN103338044A (en) * | 2013-05-24 | 2013-10-02 | 东南大学 | Protograph code for deep space optical communication system |
| CN103384153A (en) * | 2013-07-03 | 2013-11-06 | 清华大学 | Quasi-cyclic LDPC code decoding method and system |
| CN101582697B (en) * | 2008-02-23 | 2014-02-26 | 澜起科技(上海)有限公司 | Low density partily check (ldpc) decoder |
| CN105306198A (en) * | 2015-10-16 | 2016-02-03 | 中国人民解放军国防科学技术大学 | Quantum key distribution random low-density parity-check (LDPC) code parallel decoding method |
| CN105827251A (en) * | 2015-01-23 | 2016-08-03 | 英派尔科技开发有限公司 | Parity check code encoder |
| CN107634764A (en) * | 2016-07-19 | 2018-01-26 | 三星电子株式会社 | Use the decoder and storage control of low density parity check code |
| CN107977283A (en) * | 2016-10-24 | 2018-05-01 | 爱思开海力士有限公司 | Accumulator system and its operating method with LDPC decoder |
| CN108365916A (en) * | 2016-12-21 | 2018-08-03 | 法国矿业电信学校联盟 | The method and apparatus of sub-block decoding data signal |
| CN108462496A (en) * | 2018-04-24 | 2018-08-28 | 成都吉纬科技有限公司 | One kind being based on the newer ldpc decoder of random bit stream |
| CN108933605A (en) * | 2017-05-26 | 2018-12-04 | 爱思开海力士有限公司 | Low-density checksum(LDPC)It is decoded to terminate in advance |
| CN109586731A (en) * | 2017-09-29 | 2019-04-05 | 奈奎斯特半导体有限公司 | System and method for decoding and error code |
| CN109804567A (en) * | 2016-10-13 | 2019-05-24 | 高通股份有限公司 | For the improved minimum and decoder of LDPC code |
| CN109923787A (en) * | 2016-11-02 | 2019-06-21 | 高通股份有限公司 | Premature termination for layered LDPC decoder |
| CN109951250A (en) * | 2017-12-21 | 2019-06-28 | 华为技术有限公司 | The LDPC coding method of signal of communication and device |
| CN109964411A (en) * | 2016-11-04 | 2019-07-02 | 高通股份有限公司 | Efficient list decoding of LDPC codes |
| CN110249565A (en) * | 2016-11-23 | 2019-09-17 | 弗劳恩霍夫应用研究促进协会 | Receiver, transmitter, communication network, data-signal and the method for improving retransmission process in communication network |
| CN110268634A (en) * | 2016-11-23 | 2019-09-20 | 苏伊士集团 | Encoders and decoders using short-length quasi-cyclic semi-regular LDPC codes for low-power applications such as long-range reading |
| CN110521126A (en) * | 2017-04-12 | 2019-11-29 | 索尼半导体解决方案公司 | There is the duplicate shortening LDPC code of code bit for poor throughput network |
| CN110719111A (en) * | 2013-08-27 | 2020-01-21 | 想象力科技有限公司 | Improved decoder for low density parity check codes |
| CN111048140A (en) * | 2018-10-15 | 2020-04-21 | 爱思开海力士有限公司 | Error correction circuit, memory controller and memory system |
| CN111198779A (en) * | 2018-11-19 | 2020-05-26 | 三星电子株式会社 | Semiconductor memory device and memory system |
| CN112019485A (en) * | 2019-05-31 | 2020-12-01 | 华为技术有限公司 | Method and device for generating and verifying a message |
| CN112118014A (en) * | 2016-03-31 | 2020-12-22 | 慧荣科技股份有限公司 | Low density parity check decoding apparatus for performing re-combinable decoding and related methods |
| CN112204889A (en) * | 2018-03-30 | 2021-01-08 | 高通股份有限公司 | Scheduling for layered decoding of Low Density Parity Check (LDPC) codes |
| CN113228520A (en) * | 2018-12-03 | 2021-08-06 | 南布列塔尼大学 | Iterative decoder for decoding a code consisting of at least two constraint nodes |
| CN114520660A (en) * | 2016-05-12 | 2022-05-20 | 高通股份有限公司 | Enhanced puncturing and Low Density Parity Check (LDPC) code structure |
| US12476733B2 (en) | 2017-06-19 | 2025-11-18 | Qualcomm Incorporated | Communication techniques with self-decodable redundancy versions (RVs) using systematic codes |
-
2005
- 2005-06-22 CN CN 200510079444 patent/CN1713530A/en active Pending
Cited By (56)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7454685B2 (en) | 2004-11-23 | 2008-11-18 | Samsung Electronics Co., Ltd. | Method and apparatus for decoding low density parity check code using united node processing |
| US7886208B2 (en) | 2006-02-02 | 2011-02-08 | Samsung Electronics Co., Ltd | LDPC decoding apparatus and method based on node memory |
| CN101079639B (en) * | 2006-02-02 | 2011-02-09 | 三星电子株式会社 | Low density parity check decoding device and method based on node memory |
| CN101079638B (en) * | 2006-07-28 | 2011-04-20 | 开曼群岛威睿电通股份有限公司 | Low density parity check decoding system and method for reducing complexity |
| CN101582697B (en) * | 2008-02-23 | 2014-02-26 | 澜起科技(上海)有限公司 | Low density partily check (ldpc) decoder |
| CN101262231B (en) * | 2008-04-25 | 2011-09-28 | 浙江大学 | A decoding method for block low-density check code and reconstruction of multi-mode decoder |
| CN101902230A (en) * | 2009-05-29 | 2010-12-01 | 索尼公司 | Receiving device, receiving method, program and receiving system |
| CN101902230B (en) * | 2009-05-29 | 2013-11-27 | 索尼公司 | Receiving device, receiving method and receiving system |
| CN102957436A (en) * | 2011-08-17 | 2013-03-06 | 北京泰美世纪科技有限公司 | Low-density parity check code decoding device and low-density parity check code decoding method |
| CN102957436B (en) * | 2011-08-17 | 2017-11-10 | 北京泰美世纪科技有限公司 | A kind of low density parity check code code translator and interpretation method |
| CN102546102B (en) * | 2011-12-23 | 2014-12-10 | 同济大学 | Quick demodulation method for signal receiving terminal to realize link adaptation |
| CN102546102A (en) * | 2011-12-23 | 2012-07-04 | 同济大学 | Quick demodulation method for signal receiving terminal to realize link adaptation |
| CN103338044A (en) * | 2013-05-24 | 2013-10-02 | 东南大学 | Protograph code for deep space optical communication system |
| CN103384153B (en) * | 2013-07-03 | 2016-05-18 | 清华大学 | Quasi-cyclic LDPC code decoding method and system |
| CN103384153A (en) * | 2013-07-03 | 2013-11-06 | 清华大学 | Quasi-cyclic LDPC code decoding method and system |
| CN110719111A (en) * | 2013-08-27 | 2020-01-21 | 想象力科技有限公司 | Improved decoder for low density parity check codes |
| CN110719111B (en) * | 2013-08-27 | 2023-07-25 | 北欧半导体公司 | Improved decoder for low density parity check codes |
| CN105827251A (en) * | 2015-01-23 | 2016-08-03 | 英派尔科技开发有限公司 | Parity check code encoder |
| CN105306198A (en) * | 2015-10-16 | 2016-02-03 | 中国人民解放军国防科学技术大学 | Quantum key distribution random low-density parity-check (LDPC) code parallel decoding method |
| CN105306198B (en) * | 2015-10-16 | 2018-10-26 | 中国人民解放军国防科学技术大学 | A kind of quantum key distribution stochastic pattern low density parity check code parallel decoding method |
| CN112118014A (en) * | 2016-03-31 | 2020-12-22 | 慧荣科技股份有限公司 | Low density parity check decoding apparatus for performing re-combinable decoding and related methods |
| CN112118014B (en) * | 2016-03-31 | 2024-03-15 | 慧荣科技股份有限公司 | Low-density parity check decoding device and related methods for reassembly decoding |
| CN114520660A (en) * | 2016-05-12 | 2022-05-20 | 高通股份有限公司 | Enhanced puncturing and Low Density Parity Check (LDPC) code structure |
| CN107634764A (en) * | 2016-07-19 | 2018-01-26 | 三星电子株式会社 | Use the decoder and storage control of low density parity check code |
| CN109804567A (en) * | 2016-10-13 | 2019-05-24 | 高通股份有限公司 | For the improved minimum and decoder of LDPC code |
| CN109804567B (en) * | 2016-10-13 | 2023-03-17 | 高通股份有限公司 | Improved min-sum decoder for LDPC codes |
| CN107977283B (en) * | 2016-10-24 | 2021-05-25 | 爱思开海力士有限公司 | Memory system with LDPC decoder and method of operation |
| CN107977283A (en) * | 2016-10-24 | 2018-05-01 | 爱思开海力士有限公司 | Accumulator system and its operating method with LDPC decoder |
| CN109923787A (en) * | 2016-11-02 | 2019-06-21 | 高通股份有限公司 | Premature termination for layered LDPC decoder |
| CN109923787B (en) * | 2016-11-02 | 2023-04-04 | 高通股份有限公司 | Early termination for layered LDPC decoder |
| CN109964411A (en) * | 2016-11-04 | 2019-07-02 | 高通股份有限公司 | Efficient list decoding of LDPC codes |
| CN109964411B (en) * | 2016-11-04 | 2024-02-06 | 高通股份有限公司 | Efficient list decoding of LDPC codes |
| CN110249565A (en) * | 2016-11-23 | 2019-09-17 | 弗劳恩霍夫应用研究促进协会 | Receiver, transmitter, communication network, data-signal and the method for improving retransmission process in communication network |
| CN110268634B (en) * | 2016-11-23 | 2023-06-13 | 苏伊士集团 | Encoder and decoder for low-consumption applications such as remote reading using short length quasi-cyclic semi-regular LDPC codes |
| US11405137B2 (en) | 2016-11-23 | 2022-08-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Receiver, transmitter, communication network, data signal and method improving a retransmission process in a communication network |
| CN110268634A (en) * | 2016-11-23 | 2019-09-20 | 苏伊士集团 | Encoders and decoders using short-length quasi-cyclic semi-regular LDPC codes for low-power applications such as long-range reading |
| CN110249565B (en) * | 2016-11-23 | 2022-04-15 | 弗劳恩霍夫应用研究促进协会 | Receiver, transmitter, communication network system and method for improving retransmission process in communication network system |
| CN108365916A (en) * | 2016-12-21 | 2018-08-03 | 法国矿业电信学校联盟 | The method and apparatus of sub-block decoding data signal |
| CN108365916B (en) * | 2016-12-21 | 2021-07-13 | 法国矿业电信学校联盟 | Method and apparatus for sub-block decoding data signal |
| CN110521126A (en) * | 2017-04-12 | 2019-11-29 | 索尼半导体解决方案公司 | There is the duplicate shortening LDPC code of code bit for poor throughput network |
| CN110521126B (en) * | 2017-04-12 | 2023-07-28 | 索尼半导体解决方案公司 | Shortened LDPC codes with code-bit repetition for low-throughput networks |
| CN108933605A (en) * | 2017-05-26 | 2018-12-04 | 爱思开海力士有限公司 | Low-density checksum(LDPC)It is decoded to terminate in advance |
| CN108933605B (en) * | 2017-05-26 | 2022-03-25 | 爱思开海力士有限公司 | Early Termination of Low Density Parity Check (LDPC) Decoding |
| US12476733B2 (en) | 2017-06-19 | 2025-11-18 | Qualcomm Incorporated | Communication techniques with self-decodable redundancy versions (RVs) using systematic codes |
| CN109586731A (en) * | 2017-09-29 | 2019-04-05 | 奈奎斯特半导体有限公司 | System and method for decoding and error code |
| CN109951250A (en) * | 2017-12-21 | 2019-06-28 | 华为技术有限公司 | The LDPC coding method of signal of communication and device |
| CN109951250B (en) * | 2017-12-21 | 2021-01-08 | 华为技术有限公司 | LDPC coding method and device for communication signal |
| CN112204889A (en) * | 2018-03-30 | 2021-01-08 | 高通股份有限公司 | Scheduling for layered decoding of Low Density Parity Check (LDPC) codes |
| CN112204889B (en) * | 2018-03-30 | 2024-03-22 | 高通股份有限公司 | Scheduling for layered decoding of Low Density Parity Check (LDPC) codes |
| CN108462496A (en) * | 2018-04-24 | 2018-08-28 | 成都吉纬科技有限公司 | One kind being based on the newer ldpc decoder of random bit stream |
| CN108462496B (en) * | 2018-04-24 | 2021-04-02 | 成都吉纬科技有限公司 | LDPC decoder based on random bit stream updating |
| CN111048140A (en) * | 2018-10-15 | 2020-04-21 | 爱思开海力士有限公司 | Error correction circuit, memory controller and memory system |
| CN111198779B (en) * | 2018-11-19 | 2024-06-04 | 三星电子株式会社 | Semiconductor memory device and memory system |
| CN111198779A (en) * | 2018-11-19 | 2020-05-26 | 三星电子株式会社 | Semiconductor memory device and memory system |
| CN113228520A (en) * | 2018-12-03 | 2021-08-06 | 南布列塔尼大学 | Iterative decoder for decoding a code consisting of at least two constraint nodes |
| CN112019485A (en) * | 2019-05-31 | 2020-12-01 | 华为技术有限公司 | Method and device for generating and verifying a message |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN1713530A (en) | LDPC Decoder for Decoding Low Density Parity Check (LDPC) Codewords | |
| Mansour et al. | High-throughput LDPC decoders | |
| CN1830149A (en) | Method for encoding low-density parity check code | |
| CN1255761C (en) | Method and device for decoding LDPC codes | |
| Zhang et al. | High-throughput layered decoder implementation for quasi-cyclic LDPC codes | |
| CN1476674A (en) | Evaluating and Optimizing Error Correcting Codes Using Projective Analysis | |
| CN1698272A (en) | Decoding method, decoding device, program, recording/reproduction device and method, and reproduction device and method | |
| JP5138221B2 (en) | Method for min-sum decoding error correction code | |
| Zhang et al. | Two-dimensional correction for min-sum decoding of irregular LDPC codes | |
| CN1701515A (en) | Decoding method, decoding device, and program | |
| CN1855731A (en) | Decoding device and decoding method | |
| CN1866751A (en) | Algebraic construction of ldpc (low density parity check) codes with corresponding parity check matrix having csi (cyclic shifted identity) sub-matrices | |
| CN1593012A (en) | Bit labeling of magnitude-phase shifted clusters for low-density parity-check codes | |
| CN1639985A (en) | LDPC code inspection matrix generation method and inspection matrix generation device | |
| CN1701516A (en) | Check matrix generating method and check matrix generating device | |
| CN115529046B (en) | Log likelihood ratio mapping table in flash memory system | |
| CN1836394A (en) | Apparatus and method for encoding/decoding block low density parity check code in mobile communication system | |
| CN1770640A (en) | A low-density parity-check code encoder/decoder and its generation method | |
| CN1608347A (en) | LDPC code inspection matrix generation method | |
| Mansour et al. | Architecture-aware low-density parity-check codes | |
| CN1201494C (en) | Maximum a posteriori probability decoding method and device | |
| CN101295988A (en) | decoding equipment | |
| CN1956368A (en) | LDPC code vector decode translator and method based on unit array and its circulation shift array | |
| Jiang et al. | Adaptive offset min-sum algorithm for low-density parity check codes | |
| CN101036300A (en) | Checking matrix forming device and communication device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |