[go: up one dir, main page]

CN111900998B - LDPC code dynamic turning decoding method based on packet parallel processing - Google Patents

LDPC code dynamic turning decoding method based on packet parallel processing Download PDF

Info

Publication number
CN111900998B
CN111900998B CN202010818446.0A CN202010818446A CN111900998B CN 111900998 B CN111900998 B CN 111900998B CN 202010818446 A CN202010818446 A CN 202010818446A CN 111900998 B CN111900998 B CN 111900998B
Authority
CN
China
Prior art keywords
bit
decoding
bits
sequence
flip
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.)
Active
Application number
CN202010818446.0A
Other languages
Chinese (zh)
Other versions
CN111900998A (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.)
Southeast University
Original Assignee
Southeast 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 Southeast University filed Critical Southeast University
Priority to CN202010818446.0A priority Critical patent/CN111900998B/en
Publication of CN111900998A publication Critical patent/CN111900998A/en
Application granted granted Critical
Publication of CN111900998B publication Critical patent/CN111900998B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

The invention discloses a dynamic overturn decoding method of an LDPC code by grouping parallel processing, which is characterized in that whether the decoding is in a state cycle or not is detected by detecting an overturn sequence of two adjacent iterations in the process of the iteration overturn decoding, and after the state cycle is detected, a grouping bit overturn threshold and an overturn bit number are dynamically changed, so that the invalid iteration of bit overturn decoding is effectively eliminated, and the system performance is improved. The invention judges whether the state cycle condition exists in the grouped bit reversal decoding through simple check formula calculation, namely when the two adjacent check formula sequences are the same, the iterative decoding is determined to fall into the error cycle, and the bit can not be effectively reversed. After the circulation state is judged, the method of dynamically changing the packet bit turning threshold and the turning bit number is adopted to effectively break the state circulation and obtain the performance improvement. The improved method is established on the basis of hard decision flip decoding, and has the advantages of rapid iterative convergence, high decoding throughput rate and low implementation complexity.

Description

一种分组并行处理的LDPC码动态翻转译码方法A Dynamic Flipping Decoding Method for LDPC Codes Based on Packet Parallel Processing

技术领域technical field

本发明涉及LDPC码的一种迭代译码方法,具体涉及到基于一种分组硬判决比特翻转译码算法的改进算法,属于译码技术领域。The invention relates to an iterative decoding method of LDPC codes, in particular to an improved algorithm based on a packet hard-decision bit flip decoding algorithm, and belongs to the technical field of decoding.

背景技术Background technique

低密度奇偶校验(LDPC,Low Density Parity Check)码是一种线性分组码,可以用Tanner图和校验矩阵H来表示,其校验矩阵中非零元素的个数远远的小于零元素的个数。由于其具有逼近香农极限的优越性能,引起信道编码领域的极大关注,目前LDPC码在移动和深空通信等领域得到广泛的应用,并具有十分重要的应用前景。对于规则的LDPC码,其每行与每列含有非零元素的数量一致,其中,每列(行)中非零元素的个数称为列(行)重。LDPC码字经过信道传输后,接收端要对其进行信道译码,LDPC译码算法主要分为硬判决译码算法、软判决译码算法以及混合判决译码算法三大类。软判决译码算法因为软信息的引入,加大了译码算法的复杂度,而硬判决译码算法思想简单,复杂度低,易于在硬件实现。Low Density Parity Check (LDPC, Low Density Parity Check) code is a linear block code, which can be represented by Tanner diagram and parity check matrix H. The number of non-zero elements in the parity check matrix is far less than zero elements the number of . Because of its superior performance close to the Shannon limit, it has attracted great attention in the field of channel coding. At present, LDPC codes have been widely used in mobile and deep space communications and other fields, and have very important application prospects. For regular LDPC codes, each row and each column contain the same number of non-zero elements, where the number of non-zero elements in each column (row) is called the column (row) weight. After the LDPC code word is transmitted through the channel, the receiving end needs to perform channel decoding on it. The LDPC decoding algorithm is mainly divided into three categories: hard decision decoding algorithm, soft decision decoding algorithm and mixed decision decoding algorithm. The soft-decision decoding algorithm increases the complexity of the decoding algorithm due to the introduction of soft information, while the hard-decision decoding algorithm has simple ideas, low complexity, and is easy to implement in hardware.

比特翻转(BF,Bit Flipping)译码是由Gallager提出一种硬判决译码方法,该译码方法在每次迭代过程中,仅翻转具有最大翻转权重的一个比特位,但是在有限的迭代次数下,能够纠正的比特数十分有限,算法收敛慢,导致译码性能差;为了加快收敛速度,提出在每次迭代过程中翻转具有最大翻转权重的所有比特位,虽然算法仅涉及实数运算,实现简单,但是寻找最大的翻转权重值使算法复杂度增加。有学者提出在译码算法中增加新的参数:门限阈值,将达到门限值的所有比特位进行翻转。因此,在每次迭代译码的过程中,可能有多个比特位被翻转,增加了译码的收敛速度,并且不需要寻找最大的翻转权重,减小了算法复杂度。Bit Flipping (BF, Bit Flipping) decoding is a hard-decision decoding method proposed by Gallager, which only flips one bit with the maximum flipping weight in each iteration, but in a limited number of iterations Under the condition, the number of bits that can be corrected is very limited, and the algorithm converges slowly, resulting in poor decoding performance; in order to speed up the convergence speed, it is proposed to flip all the bits with the maximum flip weight in each iteration, although the algorithm only involves real operations, The implementation is simple, but finding the maximum flip weight value increases the complexity of the algorithm. Some scholars propose to add a new parameter in the decoding algorithm: the threshold threshold, and flip all the bits that reach the threshold. Therefore, in each iterative decoding process, multiple bits may be flipped, which increases the convergence speed of decoding, and does not need to find the maximum flip weight, reducing the complexity of the algorithm.

在迭代译码过程中,若将达到门限值的所有比特位进行翻转,可能造成原本正确的比特被翻转,也就是存在过校正问题,基于此,一种新的译码算法被提出——MBF算法(见文献:Jaehwan Jung,In-Cheol Park.Multi-Bit Flipping Decoding of LDPC Codes forNAND Storage Systems.IEEE Communication Letters.VOL.21,NO.5,MAY 2017.),该算法提出,在确定的翻转门限值Th下,存在最佳的翻转比特数Fx,将翻转权值达到门限值的比特视为候选者,若候选者的数量超过Fx,则将候选者按照翻转权重由大到小,选取前Fx个进行翻转,否则将所有的候选者进行翻转。但是对翻转权重比较排序,寻找全局前Fx个比特位,复杂度大,在硬件上需要大量比较单元和存储单元,基于此,作者又提出了一种AMBF算法,将码字分为Q组,从每组选取翻转权重值最大的一个比特位组成大小为Q的候选翻转比特集,从中选取Fx个翻转权重最大的局部最大值进行翻转。In the iterative decoding process, if all the bits that reach the threshold value are flipped, the original correct bits may be flipped, that is, there is an overcorrection problem. Based on this, a new decoding algorithm is proposed—— MBF algorithm (see literature: Jaehwan Jung, In-Cheol Park.Multi-Bit Flipping Decoding of LDPC Codes forNAND Storage Systems.IEEE Communication Letters.VOL.21,NO.5,MAY 2017.), the algorithm proposed, in the determined Under the flipping threshold T h , there is an optimal number of flipping bits F x , and the bits whose flipping weight reaches the threshold are regarded as candidates. If the number of candidates exceeds F x , the candidates are selected according to the flipping weight by From large to small, select the first F x to flip, otherwise flip all the candidates. However, to compare and sort the flipping weights and find the first F x bits globally is very complicated, and requires a large number of comparison units and storage units on the hardware. Based on this, the author proposes an AMBF algorithm to divide the codewords into Q groups. , select a bit with the largest flipping weight value from each group to form a candidate flipping bit set of size Q, and select F x local maxima with the largest flipping weights for flipping.

发明内容SUMMARY OF THE INVENTION

发明目的:为了克服现有技术中存在的不足,本发明提供一种分组并行处理的LDPC码动态翻转译码方法,在迭代翻转译码过程中检测相邻两次迭代的翻转序列,是否导致译码处于状态循环,并在检测到状态循环后,动态改变分组比特翻转门限和翻转比特数,有效破除比特翻转译码的无效迭代,提升系统性能。本发明通过简单的校验式计算判断分组比特翻转译码中是否存在状态循环情况,即当相邻两次校验式序列相同,则确定迭代译码陷入错误循环,无法有效翻转比特。在判断出循环状态后,采用动态改变分组比特翻转门限和翻转比特数的方法有效打破状态循环,获得性能改善。该方法提高了译码可靠性,而且在整个译码过程中仍然没有引入软信息,硬件实现简单,迭代收敛迅速快,译码吞吐率高,算法复杂度低。Purpose of the invention: In order to overcome the deficiencies in the prior art, the present invention provides a dynamic inversion decoding method for LDPC codes processed in parallel by grouping. In the iterative inversion decoding process, the inversion sequences of two adjacent iterations are detected to determine whether the decoding results in The code is in a state loop, and after the state loop is detected, the packet bit flip threshold and the number of flip bits are dynamically changed, effectively eliminating the invalid iteration of bit flip decoding and improving system performance. The present invention judges whether there is a state cycle in packet bit flip decoding through simple check formula calculation, that is, when two adjacent check formula sequences are the same, it is determined that iterative decoding falls into an error cycle and cannot effectively flip bits. After the cycle state is judged, the method of dynamically changing the packet bit flipping threshold and the number of flipping bits is used to effectively break the state cycle and improve performance. This method improves the decoding reliability, and no soft information is introduced in the whole decoding process, the hardware implementation is simple, the iterative convergence is fast, the decoding throughput rate is high, and the algorithm complexity is low.

技术方案:为实现上述目的,本发明采用的技术方案为:Technical scheme: in order to achieve the above object, the technical scheme adopted in the present invention is:

一种分组并行处理的LDPC码动态翻转译码方法,对一个编码长度为N的LDPC码,校验矩阵HM×N,维度为M行N列,hm,n记为矩阵第m行第n列的元素。每行的非零元素列坐标集合为B(m),hm,n=1,n∈B(m),m=1,…,M,每列的非零元素行坐标集合为A(n),hm,n=1,m∈A(n),n=1,…,N,包括以下步骤:A dynamic flipping decoding method for LDPC codes that is grouped and processed in parallel. For an LDPC code with a code length of N, the parity check matrix H M×N has a dimension of M rows and N columns, and h m,n is recorded as the mth row of the matrix The elements of n columns. The set of column coordinates of non-zero elements in each row is B(m), h m, n = 1, n∈B(m), m = 1,..., M, and the set of row coordinates of non-zero elements in each column is A(n ), h m, n =1, m∈A(n), n=1,…, N, including the following steps:

步骤1、初始化:将LDPC码大小为M×N的校验矩阵H=[hm,n]M×N的全部M个行校验式初始化为维度为M的全零行向量s0=[s1,s2,…,sM]0=0M,hm,n为校验矩阵第m行第n列的元素,翻转门限为Th=t0,每次迭代允许翻转的最大比特数为Fx=f0,最大迭代次数为kmax,将长度N的编码比特顺序分为Q组g1,g2,…,gQ,其中,前Q-1个分组的比特长度为

Figure BDA0002633596050000021
q=1,…,Q-1,最后一个分组gQ的比特长度为LQ=N-(Q-1)L1,其中,L1表示第一个分组的比特长度,对信道输出的加噪码字r=(r1,r2,...,rN)进行硬判决,得到初始长度为N的硬判决比特序列z1=(z1,z2,...,zN),即如果rn>0,则zn=1,否则zn=0,n=1,2,...,N,迭代次数k=1,进入迭代译码。Step 1. Initialization: Initialize all M row check formulas of the check matrix H=[h m,n ] M×N of LDPC code size M×N to an all-zero row vector s 0 =[ s 1 , s 2 ,…,s M ] 0 =0 M , h m, n are the elements of row m and column n of the parity check matrix, the flipping threshold is T h =t 0 , and the maximum bit that is allowed to flip in each iteration The number is F x =f 0 , the maximum number of iterations is k max , and the coded bits of length N are sequentially divided into Q groups g 1 , g 2 ,...,g Q , where the bit length of the first Q-1 groups is
Figure BDA0002633596050000021
q=1,...,Q-1, the bit length of the last packet g Q is L Q =N-(Q-1)L 1 , where L 1 represents the bit length of the first packet, and the addition of the channel output Random code word r=(r 1 , r 2 ,...,r N ) performs hard decision, and obtains a hard decision bit sequence z 1 =(z 1 ,z 2 ,...,z N ) with an initial length of N , that is, if r n >0, then z n =1, otherwise z n =0, n=1, 2,...,N, the number of iterations k=1, and enter iterative decoding.

步骤2、计算校验式:由sk=zk*HT(mod 2)计算当前迭代的M个校验式,sk,zk分别表示第k次迭代的校验式和译码序列的值,HT表示H的转置,mod表示求余函数,若全为零sk=0M,说明所有码字均满足校验,译码成功,输出当前码字序列zk,译码成功。否则若k≤kmax,执行迭代译码步骤3,若k>kmax,译码失败,输出初始硬判决码字z1,结束迭代译码,其中,k表示当前迭代次数。Step 2. Calculation of check formulas: calculate the M check formulas of the current iteration by s k =z k *H T (mod 2), s k and z k respectively represent the check formulas and decoding sequences of the kth iteration HT represents the transposition of H, and mod represents the remainder function. If all zeros s k =0 M , it means that all codewords satisfy the checksum and the decoding is successful. Output the current codeword sequence z k and decode success. Otherwise, if k≤k max , perform the iterative decoding step 3, if k>k max , the decoding fails, output the initial hard decision code word z 1 , and end the iterative decoding, where k represents the current iteration number.

步骤3、计算翻转权重:对Q个分组g1,g2,…,gQ,分别根据式En=∑m∈A(n)(2sm-1),并行计算所有比特位的翻转权重En,n=1,…,N,其中,A(n)为第n个比特位参与的校验式集合,hm,n=1,m∈A(n)。Step 3. Calculation of flipping weights: For Q groups g 1 , g 2 ,...,g Q , calculate the flipping weights of all bits in parallel according to the formula E n =∑ m∈A(n) (2s m -1) E n ,n=1,...,N, where A(n) is a set of check formulas involving the nth bit, h m,n =1,m∈A(n).

步骤4、确定翻转比特集:对Q个分组g1,g2,…,gQ,并行找出每个组内具有最大翻转权重的一个比特位nq=arg max{En’,n’∈gq},q=1,…,Q,得到一个大小为Q的候选翻转比特集κ={n1,n2,…,nQ}。Step 4. Determine the flip bit set: for Q groups g 1 , g 2 ,...,g Q , find a bit in parallel with the maximum flip weight in each group n q =arg max{E n' ,n' ∈g q }, q=1,...,Q, get a candidate flip bit set κ={n 1 ,n 2 ,...,n Q } whose size is Q.

步骤5、状态循环检测:将当前迭代过程中的校验式序列sk与前次迭代的校验式序列sk-1进行比较,调整门限值。Step 5, state loop detection: compare the check formula sequence sk in the current iteration process with the check formula sequence sk -1 in the previous iteration, and adjust the threshold value.

步骤6、翻转比特位:在候选翻转比特集κ中,进一步筛选翻转权重达到或超过门限Th的比特位得到集合κ*={n”∈κ,En”≥Th},集合大小记为Nκ,再对集合κ*的比特位排列,根据排列后的集合κ*得到新的码字序列zk+1Step 6. Flip bits: In the candidate flip bit set κ, further screen the bits whose flip weight reaches or exceeds the threshold T h to obtain a set κ*={n”∈κ,E n ”≥T h }, the size of the set is recorded is N κ , then arrange the bits of the set κ*, and obtain a new codeword sequence z k+1 according to the arranged set κ*.

步骤7、更新迭代次数:迭代次数加一,k=k+1,执行译码步骤2。Step 7. Update the number of iterations: add one to the number of iterations, k=k+1, and execute decoding step 2.

优选的:步骤5中调整门限值的方法:若sk=sk-1相同,调整门限值为Th=t1,翻转比特数为Fx=f1,否则Th=t0,Fx=f0Preferably: the method of adjusting the threshold value in step 5: if s k =s k-1 is the same, adjust the threshold value T h =t 1 , flip the number of bits to F x =f 1 , otherwise T h =t 0 ,F x =f 0 .

优选的:步骤6中根据排列后的集合κ*得到新的码字序列zk+1的方法:若集合κ*中比特位个数Nκ≥Fx,选择集合κ*中前Fx个比特位{ni,i=1,…,Fx,ni∈κ*},对序列zk中相应位置的比特元素进行位翻转,若集合κ*中比特数Nκ<Fx,则按照集合κ*中的全部比特位,对序列zk中相应位置的比特元素进行位翻转,从而得到新的码字序列zk+1Preferably: the method of obtaining a new codeword sequence z k+1 according to the arranged set κ* in step 6: if the number of bits N κ ≥ F x in the set κ*, select the first F x in the set κ* Bits {n i , i=1,...,F x ,n i ∈κ*}, perform bit flipping on the bit elements at the corresponding positions in the sequence z k , if the number of bits N κ <F x in the set κ*, then According to all the bits in the set κ*, the bit elements at the corresponding positions in the sequence z k are flipped to obtain a new codeword sequence z k+1 .

优选的:步骤6中对集合κ*的比特位按翻转权重进行排列。Preferably: in step 6, the bits of the set κ* are arranged according to the flip weight.

优选的:步骤6中对集合κ*的比特位按翻转权重大小进行降序排列。Preferably: in step 6, the bits of the set κ* are arranged in descending order according to the flipping weight.

本发明相比现有技术,具有以下有益效果:Compared with the prior art, the present invention has the following beneficial effects:

本发明提出的译码方法,通过自动检测相邻两次校验式的值,动态调整翻转门限Th和每次迭代允许的最大翻转比特数Fx,从而改变候选比特集中的比特位,相应地,引起比特位翻转情况的变化,达到打破状态循环的效果,获得译码性能的改善。对于不同的码字,循环情况有所不同,这将关系到,打破循环对性能的改善情况,由于循环导致码字最终译码错误占比较重的码字,能够带来明显的改进。另外,每个组中比特位翻转权重的计算以及具有最大翻转权重值的比特位的寻找都是在组间并行处理的,缩短了译码延迟,有利于低延时硬件的应用。The decoding method proposed by the present invention dynamically adjusts the flipping threshold T h and the maximum flipping bit number F x allowed for each iteration by automatically detecting the values of two adjacent check formulas, thereby changing the bits in the candidate bit set, and correspondingly Ground, cause the change of the bit flip situation, achieve the effect of breaking the state cycle, and obtain the improvement of the decoding performance. For different codewords, the cycle situation is different, which will be related to the improvement of performance by breaking the cycle. Because the cycle leads to codewords whose final decoding errors account for a relatively large codeword, it can bring obvious improvements. In addition, the calculation of the bit flipping weight in each group and the search for the bit with the maximum flipping weight value are processed in parallel between groups, which shortens the decoding delay and is beneficial to the application of low-latency hardware.

本发明提出的译码算法,均建立在硬判决翻转译码基础上,迭代收敛迅速,延迟小,译码吞吐率高,纠错性能好,实现复杂度低。The decoding algorithms proposed by the present invention are all based on hard-judgment flip decoding, and have rapid iterative convergence, small delay, high decoding throughput, good error correction performance, and low implementation complexity.

附图说明Description of drawings

图1为本发明提出的译码方法处理流程图。Fig. 1 is a processing flowchart of the decoding method proposed by the present invention.

图2为本发明的仿真验证图:(607,60,6)QC-LDPC码的误帧率曲线图。Fig. 2 is a simulation verification diagram of the present invention: a frame error rate curve diagram of (607,60,6) QC-LDPC code.

图3为本发明的仿真验证图:(607,60,6)QC-LDPC码的平均迭代次数曲线图。Fig. 3 is a simulation verification diagram of the present invention: a curve diagram of the average number of iterations of (607,60,6) QC-LDPC codes.

具体实施方式Detailed ways

下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。Below in conjunction with accompanying drawing and specific embodiment, further illustrate the present invention, should be understood that these examples are only for illustrating the present invention and are not intended to limit the scope of the present invention, after having read the present invention, those skilled in the art will understand various aspects of the present invention All modifications of the valence form fall within the scope defined by the appended claims of the present application.

假设c是一个校验矩阵为HM×N的二进制LDPC码字,其每行的非零元素列坐标集合为B(m),hm,n=1,n∈B(m),m=1,…,M,每列的非零元素行坐标集合为A(n),hm,n=1,m∈A(n),n=1,…,N,编码序列c=(c1,c2,...,cN),经过二进制相移键控(BPSK)调制得到x=(x1,x2,...,xN),其中xi=2ci-1,一个表示加性高斯白噪声(AWGN)的互不相关、相互独立的序列定义为v=(v1,v2,...,vN),则经过AWGN信道的输出实值信号序列表示为r=(r1,r2,...,rN),其中ri=xi+vi。将接收到的序列r按照规则

Figure BDA0002633596050000041
进行硬判决,得到硬判决序列z1=(z1,z2,...,zN),其中zi∈{0,1},然后对硬判序列z1进行译码。Suppose c is a binary LDPC codeword whose check matrix is H M×N , and the set of non-zero element column coordinates of each row is B(m), h m, n = 1, n∈B(m), m = 1,...,M, the set of row coordinates of non-zero elements in each column is A(n),h m,n =1,m∈A(n),n=1,...,N, the coding sequence c=(c 1 ,c 2 ,...,c N ), through binary phase shift keying (BPSK) modulation to obtain x=(x 1 ,x 2 ,...,x N ), where x i =2c i -1, a The mutually uncorrelated and independent sequence representing additive white Gaussian noise (AWGN) is defined as v=(v 1 ,v 2 ,...,v N ), then the output real-valued signal sequence through the AWGN channel is expressed as r =(r 1 ,r 2 ,...,r N ), where r i = xi +v i . The received sequence r follows the rule
Figure BDA0002633596050000041
Perform a hard decision to obtain a hard decision sequence z 1 =(z 1 ,z 2 ,...,z N ), where z i ∈{0,1}, and then decode the hard decision sequence z 1 .

本实施方案中选择列重为6,行重为60的(607,60,6)QC-LDPC码进行测试,其维度大小为(6×607)×(60×607),则编码序列长度为N=36420,校验式个数为M=3642,结合本发明的算法流程图(如图1所示),详述算法的整个译码过程:In this embodiment, the (607,60,6) QC-LDPC code with a column weight of 6 and a row weight of 60 is selected for testing, and its dimension size is (6×607)×(60×607), and the length of the coding sequence is N=36420, check formula number is M=3642, in conjunction with the algorithm flowchart of the present invention (as shown in Figure 1), the whole decoding process of algorithm is described in detail:

S1:置最大迭代次数kmax为50,当前迭代次数为1,门限值Th置t0=4,最大翻转比特数Fx置f0=8,初始化维度为3642的数组向量s0=[s1,s2,…,s3642]0=03642,将码字按照长度均分为Q=32组,g1,g2,…,g32,其中前31个分组的比特长度为

Figure BDA0002633596050000042
q=1,…,31,最后一个分组g32的比特长度为L32=36420-31×1138=1142,对初始硬判决比特序列z1进行迭代译码:S1: Set the maximum number of iterations k max to 50, the current number of iterations to 1, set the threshold T h to t 0 =4, set the maximum number of flipped bits F x to f 0 =8, and initialize the array vector s 0 = with a dimension of 3642 [s 1 , s 2 ,…,s 3642 ] 0 =0 3642 , divide the codeword into Q=32 groups according to the length, g 1 , g 2 ,…,g 32 , wherein the bit length of the first 31 groups is
Figure BDA0002633596050000042
q=1,...,31, the bit length of the last packet g 32 is L 32 =36420-31×1138=1142, iteratively decoding the initial hard-decision bit sequence z 1 :

S2:由sk=zk*HT(mod 2)计算当前迭代校验式的值,若sk=03642,译码成功,输出当前码字序列zk。否则若k≤50,进入S3,若k>50,译码失败,结束迭代译码,输出z1S2: Calculate the value of the current iterative check formula by s k =z k *H T (mod 2), if s k =0 3642 , the decoding is successful, and output the current codeword sequence z k . Otherwise, if k≤50, go to S3; if k>50, the decoding fails, the iterative decoding ends, and z 1 is output.

S3:对分组g1,g2,…,g32,分别根据式En=∑m∈A(n)(2sm-1),并行计算所有比特位的翻转权重En,n=1,2,…,36420。S3: For the groups g 1 , g 2 ,...,g 32 , according to the formula E n =∑ m∈A(n) (2s m -1), calculate the flip weights E n of all bits in parallel, n=1, 2,...,36420.

S4:对分组g1,g2,…,g32,并行找出每个组内具有最大翻转权重的一个比特位nq=arg max{En‘,n’∈gq},q=1,2,…,32,得到一个大小为32的候选翻转比特集κ={n1,n2,…,n32}。S4: For groups g 1 , g 2 ,…,g 32 , find a bit in parallel with the maximum flip weight in each group n q =arg max{E n' ,n'∈g q },q=1 ,2,...,32, to obtain a candidate flip bit set κ={n 1 ,n 2 ,...,n 32 } whose size is 32.

S5:比较当前迭代过程中的校验式序列sk与前次迭代的校验式序列sk-1,若sk=sk -1,调整Th值为t1=0,Fx值为f1=16,否则Th=4,Fx=8。S5: Compare the check formula sequence s k in the current iteration process with the check formula sequence sk-1 in the previous iteration, if s k =s k -1 , adjust the T h value to t 1 =0, F x value f 1 =16, otherwise Th =4, F x =8.

S6:在候选翻转比特集κ中,筛选出翻转权重达到或超过门限Th的比特位得到集合κ*={n”∈κ,En‘’≥Th},集合大小记为Nκ,再对集合κ*的比特位按翻转权重大小进行降序排列,若集合κ*中元素个数Nκ≥Fx,选择集合κ*中前Fx个比特位{ni,i=1,…,Fx,ni∈κ*}对序列zk中相应位置的比特元素进行位翻转,若集合κ*中比特数Nκ<Fx,则将集合κ*中的全部比特位对序列zk中相应位置的比特元素进行位翻转,从而得到新的码字序列zk+1S6: In the candidate flip bit set κ, select the bits whose flip weight reaches or exceeds the threshold T h to obtain a set κ*={n”∈κ,E n'' ≥T h }, and the set size is denoted as N κ , Then arrange the bits of the set κ* in descending order according to the flipping weight. If the number of elements N κ ≥ F x in the set κ*, select the first F x bits {n i ,i=1,… ,F x ,n i ∈κ*} flips the bit elements at the corresponding positions in the sequence z k , if the number of bits in the set κ* N κ < F x , then flip all the bits in the set κ* to the sequence z The bit elements at corresponding positions in k are flipped to obtain a new codeword sequence z k+1 .

S7:迭代次数k=k+1,返回S2。S7: the number of iterations k=k+1, return to S2.

本译码方法针对通过相邻两次校验式的比较,检测译码过程中是否出现状态循环,动态调整翻转门限和翻转比特数,例如,在S5中,当相邻两次校验式相同时,说明译码陷入状态循环,降低翻转门限为0,提高翻转比特数为16,改变了翻转比特集中的元素,使得翻转比特位发生变化,从而破坏陷入循环码字的翻转状态,使原本无法译码正确的码字,有机会译码成功,提高译码性能。This decoding method aims at detecting whether a state cycle occurs during the decoding process by comparing two adjacent check formulas, and dynamically adjusts the flip threshold and the number of flip bits. For example, in S5, when two adjacent check formulas At the same time, it shows that the decoding is stuck in a state loop, lowering the flipping threshold to 0, increasing the number of flipping bits to 16, changing the elements in the flipping bit set, causing the flipping bits to change, thereby destroying the flipping state of the codeword that is caught in a cycle, making it impossible to Decoding the correct codeword has a chance of successful decoding, which improves the decoding performance.

由图2可以看出,打破循环算法对(607,60,6)QC-LDPC性能有明显的改善,根据测试统计结果显示,如表1所示,码字(607,60,6)QC-LDPC因循环导致误码的比重很大,在信噪比为5.4dB以及5.5dB时,误帧均是陷入状态循环导致的,所以当打破状态循环机制被引入后,原本陷入循环无法译码正确的码字,也能得到正确的译码结果,提升了译码性能。与此同时,本发明提出的译码算法,翻转权重的计算以及最大翻转权重值的寻找都是在组间并行处理的,减小了译码延迟。It can be seen from Figure 2 that breaking the cycle algorithm has a significant improvement on the performance of (607,60,6)QC-LDPC. According to the test statistics, as shown in Table 1, the codeword (607,60,6)QC- LDPC has a large proportion of bit errors due to looping. When the signal-to-noise ratio is 5.4dB and 5.5dB, frame errors are caused by falling into a state loop. Therefore, when the mechanism of breaking the state loop is introduced, the original loop cannot be decoded correctly. The codeword can also get the correct decoding result, which improves the decoding performance. At the same time, in the decoding algorithm proposed by the present invention, the calculation of the flipping weight and the search for the maximum flipping weight value are all processed in parallel between groups, which reduces the decoding delay.

表1(607,60,6)QC-LDPC码在不同信噪比下,状态循环在误帧中占比统计Table 1 (607, 60, 6) QC-LDPC codes under different SNRs, statistics on the proportion of state cycles in errored frames

Figure BDA0002633596050000051
Figure BDA0002633596050000051

图2和图3分别表示在AMBF算法和本发明提出的算法(break_loop AMBF,BAMBF)下,(607,60,6)QC-LDPC码的误帧率、以及平均迭代次数在初始错误比特率下的曲线图。由图2可以看出,在初始错误比特数为0.00375时,AMBF算法下,误帧率为2×10-4,而本发明提出的译码算法的误帧率为4×10-5,由此可见,本发明提出的适用于分组并行处理的LDPC码动态翻转译码算法,译码性能更佳。从图3可以看出,在初始错误比特数高于0.00425时,本发明提出的译码算法平均迭代次数高于AMBF译码算法,但随着初始错误比特数的降低,两种算法的平均迭代次数几乎一致,说明本发明提出的译码算法不会很大降低译码的收敛速度。Fig. 2 and Fig. 3 respectively represent under AMBF algorithm and the algorithm (break_loop AMBF, BAMBF) that the present invention proposes, (607,60,6) the frame error rate of QC-LDPC code, and the average number of iterations under the initial error bit rate of the graph. It can be seen from Fig. 2 that when the initial error bit number is 0.00375, under the AMBF algorithm, the frame error rate is 2×10 -4 , while the frame error rate of the decoding algorithm proposed by the present invention is 4×10 -5 , which is given by It can be seen that the LDPC code dynamic flip decoding algorithm suitable for packet parallel processing proposed by the present invention has better decoding performance. As can be seen from Figure 3, when the initial error bit number is higher than 0.00425, the average number of iterations of the decoding algorithm proposed by the present invention is higher than that of the AMBF decoding algorithm, but with the reduction of the initial error bit number, the average iteration number of the two algorithms The times are almost the same, indicating that the decoding algorithm proposed by the present invention will not greatly reduce the convergence speed of decoding.

综上所述,本发明提出的译码方法消除分组比特翻转译码中存在的状态循环情况,即当相邻两次校验式相同,迭代译码陷入错误循环,无法有效翻转比特,可有效打破状态循环,获得性能改善。本发明提出的一种适用于分组并行处理的LDPC码动态翻转译码方法,相比于现有的分组翻转译码算法,不仅能够获得更好的译码性能,而且能够减小延迟,增大译码吞吐率,适合在对时延要求较高的硬件系统上使用。To sum up, the decoding method proposed by the present invention eliminates the state cycle that exists in packet bit flip decoding, that is, when two adjacent check formulas are the same, iterative decoding falls into an error cycle and cannot effectively flip bits. Break out of state loops and get performance improvements. An LDPC code dynamic flip decoding method suitable for packet parallel processing proposed by the present invention, compared with the existing packet flip decoding algorithm, not only can obtain better decoding performance, but also can reduce delay, increase Decoding throughput, suitable for use on hardware systems with high latency requirements.

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。The above is only a preferred embodiment of the present invention, it should be pointed out that for those of ordinary skill in the art, without departing from the principle of the present invention, some improvements and modifications can also be made, and these improvements and modifications are also possible. It should be regarded as the protection scope of the present invention.

Claims (5)

1. A dynamic reverse decoding method of LDPC code by grouping parallel processing is characterized by comprising the following steps:
step 1, a check matrix H = [ H ] with LDPC code size of M multiplied by N m,n ] M×N Is initialized to a full zero row vector s with dimension M 0 =[s 1 ,s 2 ,…,s M ] 0 =0 M ,h m,n Is the element of the mth row and the nth column of the check matrix, and the turning threshold is T h =t 0 The maximum number of bits allowed to flip per iteration is F x =f 0 Maximum number of iterations k max Sequentially dividing the coded bits of length N into Q groups g 1 ,g 2 ,…,g Q Wherein the first Q-1 packets have a bit length of
Figure FDA0002633596040000011
Figure FDA0002633596040000012
Last packet g Q Has a bit length of L Q =N-(Q-1)L 1 Wherein L is 1 Representing the bit length of the first packet, and performing hard decision on the received signal passing through the channel to obtain a hard decision bit sequence z with an initial length of N 1 Entering iterative decoding when the iteration times k = 1;
step 2, obtaining k =z k *H T (mod 2) computing M syndromes, s, for the current iteration k ,z k Values, H, representing the check equation and the decoded sequence, respectively, for the kth iteration T Denotes the transpose of H, mod denotes the remainder function, if all are zero s k =0 M Output the current codeword sequence z k Decoding is successful; otherwise, if k is less than or equal to k max Performing iterative decoding step 3, if k>k max If the decoding fails, ending the iterative decoding, wherein k represents the current iteration times;
step 3, grouping Q groups g 1 ,g 2 ,…,g Q According to formula E respectively n =∑ m∈A(n) (2s m -1) computing in parallel the flipping weights E of all bits n N =1, \8230, N, where A (N) is the check formula set participated by the nth bit, h m,n =1,m∈A(n);
Step 4, grouping Q groups g 1 ,g 2 ,…,g Q Finding in parallel a bit n with the largest flipping weight within each group q =arg max{E n’ ,n’∈g q Q =1, \ 8230;, Q, resulting in a set of candidate flip bits k = { n } of size Q 1 ,n 2 ,…,n Q };
Step 5, checking a check formula sequence s in the current iteration process k Check-up sequence s with previous iteration k-1 Comparing and adjusting the threshold value;
step 6, in the candidate flip bit set kappa, further screening the flip weight reaching or exceeding the threshold T h The bit of (d) yields the set k = { n "∈ k, E n” ≥T h }, set size N κ Then, arranging the bits of the set k, and obtaining a new code word sequence z according to the arranged set k k+1
And 7, adding one to the iteration times, wherein k = k +1, and executing a decoding step 2.
2. The dynamic reverse decoding method of LDPC code according to claim 1, wherein: the method for adjusting the threshold value in the step 5 comprises the following steps: if s k =s k-1 The threshold value is adjusted to be T h =t 1 The number of flip bits is F x =f 1 Otherwise T h =t 0 ,F x =f 0
3. The dynamic reverse decoding method for LDPC codes according to claim 2, wherein: in step 6, a new codeword sequence z is obtained from the arranged set k k+1 The method comprises the following steps: number of bits N in the set k κ ≥F x Selecting the front F in the set k x One bit n i ,i=1,…,F x ,n i E.g.. Kappa. }, for sequence z k Bit elements in corresponding positions are inverted, if the bit number N in the set k κ <F x Then sequence z is aligned according to all bits in set κ k Bit elements at corresponding positions in the code word sequence z are subjected to bit reversal to obtain a new code word sequence z k+1
4. The dynamic reverse decoding method of LDPC code according to claim 3 wherein: in step 6, the bits of the set κ are arranged according to the flipping weight.
5. The dynamic reverse decoding method of LDPC code according to claim 4 wherein: in step 6, the bits in the set κ are sorted in descending order according to the inversion weight.
CN202010818446.0A 2020-08-14 2020-08-14 LDPC code dynamic turning decoding method based on packet parallel processing Active CN111900998B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010818446.0A CN111900998B (en) 2020-08-14 2020-08-14 LDPC code dynamic turning decoding method based on packet parallel processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010818446.0A CN111900998B (en) 2020-08-14 2020-08-14 LDPC code dynamic turning decoding method based on packet parallel processing

Publications (2)

Publication Number Publication Date
CN111900998A CN111900998A (en) 2020-11-06
CN111900998B true CN111900998B (en) 2022-10-28

Family

ID=73229397

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010818446.0A Active CN111900998B (en) 2020-08-14 2020-08-14 LDPC code dynamic turning decoding method based on packet parallel processing

Country Status (1)

Country Link
CN (1) CN111900998B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055024B (en) * 2021-03-10 2022-11-25 东南大学 Correction decoding method for short-block long-low-code-rate LDPC code of 5G-NR system
CN113612485B (en) * 2021-08-03 2024-04-16 深圳宏芯宇电子股份有限公司 Decoding method, decoding device, equipment and storage device
CN114629505B (en) * 2021-08-03 2024-08-27 深圳宏芯宇电子股份有限公司 Decoding method, decoding device, equipment and storage device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103997348B (en) * 2014-05-30 2017-09-22 西安邮电大学 The multi-threshold bit-flipping decoding method of loe-density parity-check code
CN105577193B (en) * 2015-12-16 2019-08-20 华南理工大学 LDPC Decoding Method Based on Loop Elimination and Hybrid Weighted Bit Flip
CN106027069B (en) * 2016-05-13 2019-08-20 华南理工大学 A Cyclic Switching Hybrid Weighted Bit Flip LDPC Decoding Method

Also Published As

Publication number Publication date
CN111900998A (en) 2020-11-06

Similar Documents

Publication Publication Date Title
CN105187073B (en) A kind of the BP interpretation methods and device of polarization code
CN111900998B (en) LDPC code dynamic turning decoding method based on packet parallel processing
CN104025459B (en) decoding processing method and decoder
CN103259545B (en) Quasi-cyclic low density odd-even check code belief propagation decoding method based on oscillation
CN103269229B (en) A kind of mixed iteration interpretation method of LDPC-RS two dimension product code
CN108282264A (en) The polarization code coding method of list algorithm is serially eliminated based on bit reversal
KR101718543B1 (en) Apparatus and method for decoding using improved bit-flipping algorithm for low density parity check code and recording medium for the same
CN110278002A (en) Polar Code Belief Propagation List Decoding Method Based on Bit Flip
CN108847848A (en) A kind of BP decoding algorithm of the polarization code based on information post-processing
CN105577193B (en) LDPC Decoding Method Based on Loop Elimination and Hybrid Weighted Bit Flip
CN101107782A (en) ECC decoding method
KR20090048465A (en) Message Delivery Decoding Method Using Sequencing Based on Peripheral Reliability
CN110661532B (en) Symbol flipping decoding method based on multivariate LDPC code noise enhancement
TWI731696B (en) A method of decoding the polar codes based on belief propagation
US10848182B2 (en) Iterative decoding with early termination criterion that permits errors in redundancy part
CN111541517A (en) A Propagation Decoding Method for List Polar Codes
CN114421971A (en) A dynamic multi-symbol flip decoding method suitable for multivariate LDPC codes
CN111654291B (en) Polarization code rapid serial offset list decoding algorithm based on bit flipping
CN104009763A (en) A Low Complexity LDPC Code Weighted Bit Flip Decoding Algorithm Early Stopping Method
CN112290954A (en) A Decoding Algorithm of LDPC Codes Based on Deep Learning Post-processing
CN110233628B (en) Adaptive Belief Propagation List Decoding Method for Polar Codes
CN104796159B (en) A kind of mixing of LDPC code weighted bit upset decoding algorithm stops alternative manner in advance
CN106027069B (en) A Cyclic Switching Hybrid Weighted Bit Flip LDPC Decoding Method
CN111726202A (en) An Early Termination Iterative Method for Polar Code Belief Propagation Decoding
Aqil et al. A new reliability ratio weighted bit flipping algorithm for decoding LDPC codes

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant