CN100583653C - A kind of encoding method, decoding method and decoder of LDPC concatenated code - Google Patents
A kind of encoding method, decoding method and decoder of LDPC concatenated code Download PDFInfo
- Publication number
- CN100583653C CN100583653C CN200810056049A CN200810056049A CN100583653C CN 100583653 C CN100583653 C CN 100583653C CN 200810056049 A CN200810056049 A CN 200810056049A CN 200810056049 A CN200810056049 A CN 200810056049A CN 100583653 C CN100583653 C CN 100583653C
- Authority
- CN
- China
- Prior art keywords
- ldpc
- code
- codeword
- decoding
- spc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000011084 recovery Methods 0.000 claims description 25
- 238000009825 accumulation Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 238000009432 framing Methods 0.000 claims description 2
- 238000013461 design Methods 0.000 abstract description 4
- 238000004088 simulation Methods 0.000 description 17
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000012795 verification Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
Description
技术领域 technical field
本发明涉及一种信道编码技术,尤其是一种LDPC级联码的构造及译码方法,属于信息技术领域。The invention relates to a channel coding technology, in particular to a construction and decoding method of an LDPC concatenated code, and belongs to the field of information technology.
背景技术 Background technique
信道编码技术作为保证通信系统可靠传输的基本技术,在近十年来得到了飞速发展,以Turbo码、LDPC码(低密度奇偶校验码)为代表的一大批性能能够逼近理论极限的信道编码相继被发现并得到深入研究,其中LDPC码在近几年尤其得到了关注,该码因为具有逼近香农极限的纠错性能和适于并行计算的简单译码算法,所以已经被许多通信标准采纳,如DVB-S2、WiMAX等。这表明在未来一段相当长的时间里,LDPC码将成为通信系统中的一种主流信道编码。Channel coding technology, as the basic technology to ensure the reliable transmission of communication system, has been developed rapidly in the past ten years. A large number of channel codings represented by Turbo code and LDPC code (low density parity check code) can approach the theoretical limit one after another. LDPC codes have been discovered and studied in depth, and LDPC codes have received special attention in recent years. Because of their error correction performance approaching the Shannon limit and simple decoding algorithms suitable for parallel computing, LDPC codes have been adopted by many communication standards, such as DVB-S2, WiMAX, etc. This indicates that LDPC codes will become a mainstream channel coding in communication systems for quite a long time in the future.
通过对Turbo码、LDPC码等近香农极限码的研究发现,与以往所有的信道编码不同,近香农极限码的误码率曲线可以被分为瀑布(waterfall)区和平层(floor)区两个区域。在瀑布区,近香农极限码的误比特率随着归一化信噪比的增加而快速下降,误比特率曲线此时看上去几乎垂直于x轴。在平层区,近香农极限码的误比特率随归一化信噪比增加而下降的速度相对于瀑布区明显放缓,甚至有可能不再下降,误比特率曲线此时看上去就像一条平行于x轴的平台,误码平层(Error Floor)因此得名。Through the study of near-Shannon limit codes such as Turbo codes and LDPC codes, it is found that, unlike all previous channel codings, the bit error rate curves of near-Shannon limit codes can be divided into waterfall and flat areas. area. In the waterfall region, the BER of near-Shannon-limit codes drops rapidly as the normalized SNR increases, and the BER curve looks almost vertical to the x-axis. In the flat layer area, the rate of decrease of the bit error rate of the near-Shannon limit code with the increase of the normalized signal-to-noise ratio is obviously slower than that in the waterfall area, and may even stop decreasing. The bit error rate curve looks like A platform parallel to the x-axis, hence the name Error Floor.
与Turbo码的误码平层主要由它的小重量码字导致不同,在加性高斯白噪声(AdditiveWhite Gaussian Noise,AWGN)信道下,LDPC码的误码平层主要是由其捕获集(trappingset)决定。当LDPC码的误码平层出现时,迭代译码算法收敛到一个与正确码字相近的“近似码字”(near code word)上的概率也随之升高。该“近似码字”能够满足大部分的校验方程约束。因此,LDPC码的误码平层现象具有以下两个特点,一是在LDPC码的码长较长,例如达到数千比特长度时,其误码平层主要由“近似码字”决定,因为它们并不能满足所有的校验关系,所以错误码字能够被译码器检测到;二是由于“近似码字”与正确码字非常相近,每一个错误码字中的错误比特数目不会很多。Different from the error level of the Turbo code, which is mainly caused by its small weight codeword, under the channel of Additive White Gaussian Noise (AWGN), the error level of the LDPC code is mainly caused by its trapping set. )Decide. When the error level of the LDPC code appears, the probability that the iterative decoding algorithm converges to a "near code word" (near code word) close to the correct code word also increases. This "approximate codeword" can satisfy most of the check equation constraints. Therefore, the error level phenomenon of LDPC codes has the following two characteristics. First, when the code length of LDPC codes is long, for example, when the length reaches several thousand bits, the error level level is mainly determined by "approximate code words", because They do not satisfy all the verification relations, so the error codeword can be detected by the decoder; secondly, because the "approximate codeword" is very similar to the correct codeword, the number of error bits in each error codeword will not be many .
例如:长度为8064比特,1/2码率的LDPC码,其误码曲线如图1所示。该LDPC码在归一化信噪比等于1.5dB时开始出现误码平层,为了对其误码平层进行分析,在归一化信噪比分别为1.5dB和1.6dB时各自统计了200个错误的LDPC码码字。For example: the LDPC code with a length of 8064 bits and a code rate of 1/2 has a bit error curve as shown in FIG. 1 . The LDPC code begins to have a bit error floor when the normalized signal-to-noise ratio is equal to 1.5dB. In order to analyze its error floor, 200 wrong LDPC codewords.
统计结果表明,在两个归一化信噪比下,各自统计到的200个错误码字都不能满足H矩阵的校验关系,因此都能够被LDPC译码器检测到,符合上面提到的特点一。其次,从图2可以看到,在两个信噪比下,各自统计的200个错误码字中,尽管1.5dB时错误比特数目超过10比特的码字个数略微多于1.6dB时的统计结果,但是在两个信噪比下,一个码字有超过10比特发生错误的情况都不超过10%,最大错误比特数目也仅为25比特。错误比特数目远远小于码长8064比特,这一统计结果很好的符合了上面提到的关于LDPC码误码平层的第二个特点。有趣的是,从图2还可以发现,在译码器达到最大迭代次数,译码失败时,有相当的比例的错误LDPC码字仅错误了1个比特。发生这种现象是因为错误比特参与的校验方程通常包含了两个或更多的置信度软信息在0附近的比特。在和积算法的每一次迭代过程中,这些置信度很低的比特的置信度软信息将会在0上下不断发生翻转,使得LDPC译码器始终无法收敛到正确的码字。The statistical results show that under the two normalized signal-to-noise ratios, the 200 error codewords counted respectively cannot satisfy the verification relationship of the H matrix, so they can all be detected by the LDPC decoder, which meets the above-mentioned Features one. Secondly, as can be seen from Figure 2, under the two SNRs, among the 200 error codewords counted respectively, although the number of codewords with error bits exceeding 10 bits at 1.5dB is slightly more than that at 1.6dB As a result, under the two signal-to-noise ratios, the error rate of more than 10 bits in a code word does not exceed 10%, and the maximum number of error bits is only 25 bits. The number of error bits is much smaller than the code length of 8064 bits. This statistical result is in good agreement with the second characteristic of the LDPC code error level mentioned above. Interestingly, it can also be found from Figure 2 that when the decoder reaches the maximum number of iterations and the decoding fails, there is a considerable proportion of erroneous LDPC codewords that are only 1 bit wrong. This phenomenon occurs because the check equation that the erroneous bits participate in usually contains two or more bits whose confidence soft information is around 0. During each iteration of the sum-product algorithm, the confidence soft information of these bits with very low confidence will continuously flip around 0, so that the LDPC decoder can never converge to the correct codeword.
在LDPC码出现误码平层时,为了分析是否有多个错误码字的错误比特发生在同一个位置,在归一化信噪比分别为1.5dB和1.6dB时各自对错误比特的位置进行统计,从图3中可以看到,在两个归一化信噪比下,绝大多数发生错误的比特位置都仅发生了一次错误,发生两次及两次以上错误的比特位置仅占所有错误比特位置的20%。如果对每n个LDPC码字进行一次统计,那么这n个LDPC码字中,发生了两次或两次以上错误的比特位置,比例就更小。例如令n=100,如果每100个LDPC码码字内,错误了两个或两个以上的码字,那么在这些错误码字中,发生了两次或两次以上错误的比特位置不到所有错误比特位置的1%。也就是说100个LDPC码字内,很少有同一个比特位置出现两次或两次以上的错误。When the LDPC code has an error level, in order to analyze whether the error bits of multiple error code words occur in the same position, the position of the error bit is respectively analyzed when the normalized signal-to-noise ratio is 1.5dB and 1.6dB. Statistics, as can be seen from Figure 3, under two normalized signal-to-noise ratios, most of the bit positions with errors only have one error, and the bit positions with two or more errors only account for all 20% of wrong bit positions. If the statistics are performed for every n LDPC codewords, the proportion of bit positions where two or more errors occur in the n LDPC codewords is even smaller. For example make n=100, if in every 100 LDPC code code words, wrong two or more code words, so in these error code words, the bit position that has occurred twice or more than twice is less than 1% of all erroneous bit positions. That is to say, within 100 LDPC codewords, there are very few errors in the same bit position twice or more.
误码平层现象给许多要求误码性能很高的通信系统的实现带来了困扰。因此对于LDPC码误码平层的研究一直是近年来信道编码领域的一个重要的研究方向。目前,克服LDPC码误码平层的方法主要有三种,一种是代数的方法,主要通过构造具有很大的最小码距的LDPC码来达到降低误码平层的目的,这种的缺点在于具有较大的最小码距的LDPC码往往性能不够理想,能够构造的参数也不连续;第二种方法则是在LDPC码的构造过程中采用ACE准则,这种方法虽然能够构造具有较低的译码门限,但是其降低误码门限的效果比较有限;第三种方法就是将LDPC码与BCH码进行级联,这也是最常用的方法。该方法以BCH为外码,LDPC为内码,待编码的信息码字先进入BCH编码器,生成BCH编码码字,之后再进入LDPC编码器生成最终的编码输出码字。解码是编码的逆过程,接收到的码字先进入LDPC解码器,解码出BCH码字,送入BCH解码器进行解码,输出最终的解码结果。The phenomenon of bit error flatness has brought troubles to the realization of many communication systems that require high bit error performance. Therefore, the research on the error floor of LDPC codes has been an important research direction in the field of channel coding in recent years. At present, there are mainly three methods to overcome the error floor of LDPC codes. One is the algebraic method, which mainly achieves the purpose of reducing the error floor by constructing an LDPC code with a large minimum code distance. The disadvantage of this method is that LDPC codes with a large minimum code distance often have unsatisfactory performance, and the parameters that can be constructed are not continuous; the second method is to use the ACE criterion in the construction process of LDPC codes. Although this method can construct The decoding threshold, but its effect of reducing the error threshold is relatively limited; the third method is to cascade the LDPC code and the BCH code, which is also the most commonly used method. In this method, BCH is used as the outer code and LDPC is used as the inner code. The information code word to be encoded first enters the BCH encoder to generate a BCH encoded code word, and then enters the LDPC encoder to generate the final encoded output code word. Decoding is the reverse process of encoding. The received codeword first enters the LDPC decoder, decodes the BCH codeword, sends it to the BCH decoder for decoding, and outputs the final decoding result.
大量的仿真结果表明,LDPC-BCH级联码能够有效地将LDPC码的误码平层降低到10-11以下,可以满足绝大多数系统的需求。但这种方法有两个主要的缺点,一是冗余代价较高,因为BCH码没有简单的软判决译码算法,通常只能采用硬判决算法,编码增益损失很大;二是实际的通信系统往往具有许多不同的码率,这就要求BCH码为不同码率的LDPC码提供不同的码长和不同的纠错能力,增加了级联码方案设计的难度和编译码系统的复杂度。A large number of simulation results show that the LDPC-BCH concatenated code can effectively reduce the error floor of the LDPC code to below 10 -11 , which can meet the needs of most systems. However, this method has two main disadvantages. One is the high redundancy cost, because the BCH code does not have a simple soft-decision decoding algorithm, and usually only hard-decision algorithms can be used, and the coding gain is greatly lost; the other is the actual communication. The system often has many different code rates, which requires BCH codes to provide different code lengths and different error correction capabilities for LDPC codes with different code rates, which increases the difficulty of concatenated code scheme design and the complexity of the encoding and decoding system.
发明内容 Contents of the invention
针对LDPC码的上述现状,为了更好的降低LDPC码的误码平层,改善LDPC码的误码性能,本发明提出了一种新的更好的LDPC级联码方案,并给出了其编译码方案。具体的编码方案如下:Aiming at the above-mentioned status quo of LDPC codes, in order to better reduce the error floor of LDPC codes and improve the error performance of LDPC codes, the present invention proposes a new and better LDPC concatenated code scheme, and provides its Codec scheme. The specific coding scheme is as follows:
1.初始化:信息比特流成帧;1. Initialization: information bit stream framing;
2.将每n个信息帧在相应位置的比特做模2和,其中,n为正整数,可以根据实际需要选定。即第n+1个冗余帧为
3.将这n+1个信息帧依次通过LDPC码编码器,得到n+1个LDPC码码字,其中第n+1个LDPC码码字为冗余码字,在本发明中把这一冗余码字命名为单奇偶校验(single parity check,SPC)码,由于LDPC码是一种线性分组码,所以SPC码码字的每一个比特相当于通过n个LDPC码码字在相应位置的比特偶校验得到,如果令SPC码字的第j个比特为cSPC j,n个LDPC码字中第i个码字的第j个比特为则有:3. these n+1 information frames are passed through the LDPC code encoder successively to obtain n+1 LDPC code words, wherein the n+1 LDPC code words are redundant code words, and this is used in the present invention The redundant code word is named single parity check (single parity check, SPC) code. Since the LDPC code is a linear block code, each bit of the SPC code word is equivalent to passing n LDPC code words at the corresponding position. The bit even check of the SPC codeword is obtained, if the jth bit of the SPC codeword is c SPC j , the jth bit of the i-th codeword in the n LDPC codewords is Then there are:
编码后的码字图样如图4所示,从图中可以看出本发明提出的LDPC级联码方案是以LDPC码为水平码,SPC码为垂直码的LDPC-SPC乘积码方案。从编码过程中可以看出,SPC码码字也是符合同一个H矩阵约束的LDPC码码字。如果LDPC码的码率为R,那么得到的LDPC-SPC乘积码码率为n·R/(n+1),其中n为正整数。The code word pattern after encoding is as shown in Figure 4, can find out from the figure that the LDPC concatenated code scheme that the present invention proposes is to be horizontal code with LDPC code, and SPC code is the LDPC-SPC product code scheme of vertical code. It can be seen from the encoding process that the SPC code word is also an LDPC code word conforming to the same H matrix constraint. If the code rate of the LDPC code is R, then the code rate of the obtained LDPC-SPC product code is n·R/(n+1), where n is a positive integer.
理论上n可以取1到正无穷中的任意一个正整数。但是,由于LDPC-SPC乘积码的编码是在LDPC码的基础上又加上一个SPC冗余码字,其带来的归一化信噪比损失为当n取值较小时,带来的编码冗余较大,信噪比损失较大,不利于改善LDPC误码性能;但n取值很大时,虽然带来的编码冗余可以忽略,但是n个LDPC码字中可能出现的错误码字的数目也相应增多,这使得译码方法复杂度增大。本发明通过大量的仿真结果得出,n取50到400之间的数值将是一个合理的选择,此时的编码冗余也可以忽略不计,译码方法的复杂度并不大。当然,也可以根据实际需要增大或减小n的取值。Theoretically n can take any positive integer from 1 to positive infinity. However, since the coding of the LDPC-SPC product code is based on the LDPC code and an SPC redundant codeword is added, the normalized SNR loss caused by it is When the value of n is small, the resulting coding redundancy is large and the SNR loss is large, which is not conducive to improving the bit error performance of LDPC; but when the value of n is large, although the coding redundancy brought about can be ignored, but The number of possible error codewords in the n LDPC codewords also increases correspondingly, which increases the complexity of the decoding method. The present invention obtains through a large number of simulation results that a value between 50 and 400 for n will be a reasonable choice, and the coding redundancy at this time can also be ignored, and the complexity of the decoding method is not large. Of course, the value of n can also be increased or decreased according to actual needs.
通过背景技术中的分析可以知道,当LDPC码的误码平层出现时,几乎所有的错误码字都是能够被检测到的。利用LDPC码的这一检错特性,本发明给出LDPC-SPC乘积码的两种译码方法:硬判决方法和软判决迭代方法。It can be known from the analysis in the background that when the error level of the LDPC code appears, almost all error codewords can be detected. Utilizing this error detection characteristic of LDPC codes, the present invention provides two decoding methods of LDPC-SPC product codes: a hard decision method and a soft decision iteration method.
LDPC-SPC乘积码的硬判决译码方法包括如下步骤:The hard decision decoding method of LDPC-SPC product code comprises the following steps:
1.初始化:将每n个LDPC码码字与1个SPC码码字依次通过LDPC码译码器进行译码,即令第i个LDPC码字进入LDPC码译码器进行译码,其中i从1到n+1循环,
2.根据LDPC码译码器能够检错的特性,可以统计出n+1个LDPC码中的多种错误图样,具体处理如下:2. According to the characteristics that the LDPC code decoder can detect errors, various error patterns in n+1 LDPC codes can be counted, and the specific processing is as follows:
a)如果n+1个LDPC码码字中没有码字译码失败,译码结束;a) If there is no codeword decoding failure in the n+1 LDPC codewords, the decoding ends;
b)如果n+1个LDPC码码字中超过1个码字译码失败,译码结束;b) If more than one codeword in the n+1 LDPC codewords fails to be decoded, the decoding ends;
c)如果n+1个LDPC码码字中只有一个码字译码失败,又可以分为两种情况:c) If there is only one codeword decoding failure in the n+1 LDPC codewords, it can be divided into two situations:
i.如果错误的码字是SPC码,由于SPC码是冗余校验码字,所以可以直接删除,输出前n个正确的LDPC码,译码结束;i. If the erroneous code word is an SPC code, since the SPC code is a redundancy check code word, it can be deleted directly, and the first n correct LDPC codes are output, and the decoding ends;
ii.如果错误的码字是前n个LDPC码中的一个,则进入步骤3。ii. If the wrong codeword is one of the first n LDPC codes, then go to
3.根据SPC码字的偶检验关系,恢复出正确码字,具体处理步骤如下:3. According to the even test relationship of the SPC codeword, the correct codeword is recovered, and the specific processing steps are as follows:
3-1删除错误的LDPC码字;3-1 delete the wrong LDPC codeword;
3-2将其余的n个正确的LDPC码字在列方向上逐比特进行模2和,所得结果为恢复出的正确码字;3-2 Perform modulo 2 summing of the remaining n correct LDPC codewords bit by bit in the column direction, and the obtained result is the restored correct codeword;
3-3输出恢复后的正确码字。3-3 Output the correct codeword after recovery.
其中,步骤3-2的证明如下:Among them, the proof of step 3-2 is as follows:
由于
通过上述步骤不难发现,LDPC-SPC乘积码硬判决译码方法只能纠正每n+1个LDPC码字仅出现一个错误码字的情况,因此其译码性能与LDPC码的误码字率相关,可以通过计算估计得到。设级联之前每一个LDPC码码字的错误概率为P,级联后,只有当n个LDPC码码字中错且仅错一个码字,并且SPC码字正确时,硬判决方法才能纠正错误,这一条件发生的概率为P1=nP(1-P)n,因此级联后LDPC码的误码字率P′=P-P1/n=P-P(1-P)n如果将(1-P)n展开,就可以得到
硬判决方法是一种具有极低复杂度的译码方法,能够帮助出现误码平层的LDPC码降低误码平层。但当n个LDPC码字与1个SPC码码字中出现2个或2个以上的错误码字时,硬判决方法是无法对其进行纠正的,这也就限制了其对LDPC码性能的进一步改善,下面给出的软判决迭代译码方法可以对上述误码图样进行纠正,从而更大限度的提高LDPC码的误码性能。The hard decision method is a decoding method with extremely low complexity, which can help reduce the error floor of LDPC codes with error floors. However, when two or more error codewords appear in n LDPC codewords and 1 SPC codeword, the hard decision method cannot correct them, which limits its impact on the performance of LDPC codes. For further improvement, the soft-decision iterative decoding method given below can correct the above-mentioned bit error pattern, thereby improving the bit error performance of the LDPC code to a greater extent.
根据背景技术中对误码平层的分析结果可知,当LDPC码误码平层出现时,n个LDPC码字与1个SPC码码字中出现2个或2个以上的错误码字时,大多数的错误比特并未发生在同一位置,因此如图5所示的错误图案会以很大的概率发生,即在级联码的每一个纵向的校验关系中,绝大多数的校验方程仅包含了一个错误比特。虽然在理论上,通过其余的正确比特就能够恢复出错误比特,但是由于LDPC码译码器无法判断错误码字中正确比特的位置,因此本发明给出一种软判决迭代译码方法。利用该方法,纵向校验方程中各个比特将自身的置信度软信息作为外信息提供给别的LDPC码码字中的比特,并将得到的外信息提供给自己所属的LDPC码译码器,以帮助译码器顺利收敛到正确的码字。According to the analysis results of the error level in the background technology, it can be known that when the LDPC error level occurs, when there are 2 or more error code words in n LDPC code words and 1 SPC code word, Most of the error bits do not occur at the same position, so the error pattern shown in Figure 5 will occur with a high probability, that is, in each vertical verification relationship of the concatenated code, most of the verification The equation contains only one bit of error. Although in theory, the error bit can be recovered by the rest of the correct bits, but since the LDPC code decoder cannot judge the position of the correct bit in the error codeword, the present invention provides a soft decision iterative decoding method. Using this method, each bit in the longitudinal check equation provides its own confidence soft information as external information to bits in other LDPC code words, and provides the obtained external information to its own LDPC code decoder, To help the decoder converge to the correct codeword smoothly.
LDPC-SPC乘积码的软判决迭代译码方法的具体步骤如下:The concrete steps of the soft decision iterative decoding method of LDPC-SPC product code are as follows:
1.初始化:将每n个LDPC码码字与1个SPC码码字依次通过LDPC码译码器进行译码,得到n+1个LDPC码译码的硬判决结果和每个比特的置信度信息Li j,其中Li j示第i个码字的第j个比特的置信度信息,i从1到n+1,j从1到N,N为LDPC码的码长,
2.根据LDPC码译码器能够检错的特性,可以统计出n+1个LDPC码中的多种错误图样,具体处理如下:2. According to the characteristics that the LDPC code decoder can detect errors, various error patterns in n+1 LDPC codes can be counted, and the specific processing is as follows:
a)如果n+1个LDPC码码字中没有码字译码失败,译码结束;a) If there is no codeword decoding failure in the n+1 LDPC codewords, the decoding ends;
b)如果n+1个LDPC码码字中只有一个码字译码失败,又可以分为两种情况:b) If only one codeword fails to be decoded in the n+1 LDPC codewords, it can be divided into two situations:
i.如果错误的码字是SPC码,由于SPC码是冗余校验码字,所以可以直接删除,输出前n个正确的LDPC码,译码结束;i. If the erroneous code word is an SPC code, since the SPC code is a redundancy check code word, it can be deleted directly, and the first n correct LDPC codes are output, and the decoding ends;
ii.如果错误的码字是前n个LDPC码中的一个,则进行与硬判决译码相类似的方法:ii. If the wrong code word is one of the first n LDPC codes, then perform a method similar to hard decision decoding:
第一,删除错误的LDPC码字;First, delete the wrong LDPC codeword;
第二,将其余的n个正确的LDPC码字在列方向上逐比特进行模2和,所得结果为恢复出的正确码字;Second, the remaining n correct LDPC codewords are subjected to a
第三,输出恢复后的正确码字,译码结束;Third, output the correct codeword after recovery, and the decoding ends;
c)如果n+1个LDPC码码字中有2个或2个以上的码字发生错误,则进行纵向译码;c) If errors occur in 2 or more codewords in the n+1 LDPC codewords, then perform vertical decoding;
i.如果已经达到软判决译码最大迭代次数T,则译码结束。i. If the maximum number of iterations T of soft-decision decoding has been reached, the decoding ends.
ii.如果没有达到软判决译码最大迭代次数T,则转到步骤3。ii. If the maximum number of iterations T of soft-decision decoding has not been reached, go to
3.根据纵向偶校验关系,分别计算错误码字每个比特的外信息:
4.更新错误码字的每个比特的置信度
5.将更新过置信度的错误码字依次送入LDPC码译码器,进行译码,然后返回步骤2。5. Send the erroneous codewords whose confidence levels have been updated to the LDPC code decoder in turn for decoding, and then return to
LDPC-SPC乘积码的软判决迭代译码方法流程图如图6所示。The flowchart of the soft decision iterative decoding method of LDPC-SPC product code is shown in Fig. 6 .
步骤3是LDPC-SPC乘积码的软判决迭代译码方法的核心步骤。其中,通过纵向校验关系,错误码字每个比特的外信息的计算公式
设包括SPC码码字在内的n+1个LDPC码码字经过LDPC码译码器之后,第i个LDPC码字中的第j个比特的置信度为Li j,令参与第j个纵向的校验关系的n+1个比特的置信度软信息分别为K1 j,L2 j,…,Ln+1 j,其中
由于
其中,in,
因此
又
将
由于所有的比特来自于不同的LDPC码,各个比特相对独立,因此有:Since all bits come from different LDPC codes, each bit is relatively independent, so there are:
则
所以有
本发明还给出了软判决迭代译码方法的改进方法。迭代译码方法的主要目的就是通过迭代使得每一个比特不断地从外部获得能够帮助其进行判决的置信度软信息。上面给出的软判决迭代方法中,每一个LDPC码码字的比特,都通过纵向的SPC校验关系,从其余的LDPC码码字获得了新的外信息,进而帮助LDPC码译码器收敛到正确的码字。由于n+1个LDPC码码字中,并不是所有的码字都译码失败。通过LDPC码的检错能力,可以确知n+1个码字中哪些码字成功地收敛到了正确的码字。利用这一确知的信息,可以对软判决迭代译码方法进行改进。The invention also provides an improved method of the soft decision iterative decoding method. The main purpose of the iterative decoding method is to make each bit continuously obtain confidence soft information that can help it make a decision through iteration. In the soft-decision iterative method given above, the bits of each LDPC codeword pass through the vertical SPC verification relationship to obtain new extrinsic information from the remaining LDPC codewords, thereby helping the LDPC decoder to converge to the correct codeword. Because among the n+1 LDPC codewords, not all codewords fail to be decoded. Through the error detection capability of the LDPC code, it can be determined which codewords in the n+1 codewords have successfully converged to the correct codeword. Using this well-known information, the soft-decision iterative decoding method can be improved.
改进译码方法的主要思路是,利用LDPC码译码器的检错能力,将判断为译码成功的LDPC码码字的每个比特的置信度提高到最大,以提高错误码字每个比特能够得到的置信度,加快迭代译码的收敛。即如果第i个码字符合校验方程约束,令第i个LDPC码字中的第j个比特的置信度Li j的大小为
不难发现,LDPC-SPC码软判决迭代方法相当于在水平和垂直方向交替进行和积算法译码。因此与和积算法类似,纵方向的校验关系外信息计算公式
由于每一个正确码字的比特置信度的绝对值都被置为无穷大,因此在计算纵向软信息时,只需要比较错误码字中相应位置的比特置信度的绝对值大小,正确的码字则只参与相应位置比特的置信度软信息的符号运算。相比于前面所述的软判决迭代方法,改进的软判决迭代译码方法复杂度大为降低。改进后的软判决迭代译码方法与前面所述的软判决迭代方法只是第三步的处理方法不同,其他步骤一样,方法中的步骤3具体处理方法如下:Since the absolute value of the bit confidence of each correct codeword is set to infinity, when calculating the longitudinal soft information, it is only necessary to compare the absolute value of the bit confidence of the corresponding position in the wrong codeword, and the correct codeword is It only participates in the sign operation of the confidence soft information of the corresponding position bits. Compared with the aforementioned soft-decision iterative method, the complexity of the improved soft-decision iterative decoding method is greatly reduced. The improved soft-decision iterative decoding method is different from the aforementioned soft-decision iterative method only in the processing method of the third step, and the other steps are the same. The specific processing method of
1).如果第i个码字符合LDPC码校验方程约束,则第i个LDPC码字中的第j个比特的置信度Li j的大小为
2).根据纵向校验关系,分别计算错误码字每个比特的外信息其大小为
本发明的另一个目的在于提供了与上述方法相适应的LDPC-SPC乘积码的译码器。根据LDPC-SPC乘积码的编码结构并结合上述方法,本发明给出了硬判决译码器和软判决迭代译码器,分别适用于LDPC-SPC乘积码的硬判决译码方法和软判决迭代译码方法,下面分别予以介绍:Another object of the present invention is to provide a decoder for LDPC-SPC product codes that is compatible with the above method. According to the encoding structure of the LDPC-SPC product code and in combination with the above method, the present invention provides a hard-decision decoder and a soft-decision iterative decoder, which are respectively applicable to the hard-decision decoding method and soft-decision iteration of the LDPC-SPC product code The decoding methods are introduced as follows:
硬判决译码器结构示意图如图7所示。硬判决译码器包括:LDPC码译码模块、第一存储模块、错误码字统计模块以及硬判决恢复模块四个部分。其中,LDPC码译码模块用于实现LDPC码字的译码,输出LDPC码信息位的硬判决信息,即对每n+1个LDPC码码字依次进行译码,其中的第n+1个LDPC码码字为SPC码码字,输出n+1个LDPC码信息位的硬判决信息;第一存储模块用于存储LDPC码信息位的硬判决信息,一般使用双端口RAM,大小可根据实际需要来定;错误码字统计模块根据硬判决信息统计n+1个LDPC码中的错误码字,通常由一个计数器组成,起始值为0,并由它决定LDPC码字信息位的流向,具体流向如图7所示,如果n+1个LDPC码码字中只有一个码字译码失败且该码字不是SPC码,则进入硬判决恢复模块,否则输出信息比特,译码结束;硬判决恢复模块删除错误的LDPC码字,然后将其余的n个正确的LDPC码字在列方向上逐比特进行模2和,恢复出正确码字,输出恢复后的正确信息比特,译码结束。The structure schematic diagram of the hard decision decoder is shown in Fig.7. The hard decision decoder includes four parts: an LDPC code decoding module, a first storage module, an error code word statistics module and a hard decision restoration module. Among them, the LDPC code decoding module is used to realize the decoding of LDPC code words, and output the hard decision information of LDPC code information bits, that is, to decode every n+1 LDPC code words in turn, wherein the n+1th The LDPC code word is an SPC code word, and outputs the hard decision information of n+1 LDPC code information bits; the first storage module is used to store the hard decision information of the LDPC code information bits, and generally uses a dual-port RAM, and the size can be determined according to the actual situation. It needs to be determined; the error code word statistics module counts the error code words in n+1 LDPC codes according to the hard decision information, usually consists of a counter, the initial value is 0, and it determines the flow direction of the LDPC code word information bits, The specific flow direction is shown in Figure 7, if only one codeword decoding fails in the n+1 LDPC codewords and the codeword is not an SPC code, then enter the hard decision recovery module, otherwise the information bit is output, and the decoding ends; The decision recovery module deletes the wrong LDPC codeword, and then modulo-2 sums the remaining n correct LDPC codewords bit by bit in the column direction to recover the correct codeword, and outputs the restored correct information bits, and the decoding ends.
硬判决恢复模块结构可如图8所示,它主要分为模2加法器模块和第二存储模块两个部分。其中,模2加法器实现两个不带符号位的二进制数的模2和,用于计算除了错误码字之外的n个LDPC码字的信息位按位纵向的模2和,并同时输出这n个正确的信息比特;第二存储模块为一个双口RAM,大小为LDPC码字信息比特的大小,用于存储模2加法器的临时结果,即和下一帧做模2和的加数,并输出最终的累加结果,即恢复出的正确信息比特。The structure of the hard decision recovery module can be shown in Figure 8, which is mainly divided into two parts: a
软判决迭代译码器结构示意图如图9所示。软判决迭代译码器包括:LDPC码译码模块、第一存储模块、错误码字统计模块、SPC码软译码模块和硬判决恢复模块五个部分。其中,LDPC码译码模块用于实现LDPC码字的译码,输出的LDPC码信息位的软信息和硬判决信息,即对每n+1个LDPC码码字依次进行译码,其中的第n+1个LDPC码码字为SPC码码字,输出n+1个LDPC码信息位的软信息和硬判决信息,所述软信息即每个比特的置信度Li j,其中i从1到n+1,j从1到N,N为LDPC码的码长。第一存储模块用于存储LDPC码信息位的软信息和硬判决信息,一般使用双口RAM,大小可根据实际需要来定。错误码字统计模块统计n+1个LDPC码中的错误码字,通常由一个计数器组成,起始值为0,并由它决定LDPC码字信息位的流向,具体流向如图9所示,如果n+1个LDPC码码字中只有一个码字译码失败且该码字不是SPC码,则进入硬判决恢复模块;如果n+1个LDPC码码字中超过一个码字译码失败,则进入SPC码软译码模块;如果没有码字错误或仅SPC码译码失败,则输出正确的信息比特。SPC码软译码模块,用于计算错误码字的外信息,应用上述的软判决迭代译码方法或其改进方法进行译码,对n+1个LDPC码中出现错误的码字保留其软信息,而正确码字仅保留其硬判决信息,即符号位,然后分别计算错误码字每个比特的外信息
接收端首先对n+1个LDPC码依次进行译码,如果发现没有码字错误,则所有比特顺序输出;如果发现有且仅有一个码字发生错误,则n+1个LDPC码被存储下来,通过硬判决恢复错误码字;如果发现2个或2个以上的码字发生错误,那么n+1个LDPC码中出现错误的码字保留LDPC码译码模块输出的软信息,正确码字仅保留硬判决信息,即符号位,通过SPC码软译码模块进行译码,得到的外信息作为LDPC码译码模块的先验信息进行再次译码,直至达到最大迭代次数或者所有码字检测正确。The receiving end first decodes the n+1 LDPC codes in sequence, and if no code word error is found, all bits are output sequentially; if only one code word error is found, the n+1 LDPC codes are stored , restore the wrong codeword through hard judgment; if two or more codewords are found to be wrong, then the wrong codeword in the n+1 LDPC codes retains the soft information output by the LDPC code decoding module, and the correct codeword Only the hard-decision information, that is, the sign bit, is retained and decoded by the SPC code soft decoding module, and the obtained external information is used as the prior information of the LDPC code decoding module to decode again until the maximum number of iterations is reached or all codewords are detected correct.
与硬判决译码器相同,软判决迭代译码器中的硬判决恢复模块主要由模2加法器模块和第二存储模块两部分组成,其中模2加法器模块用于计算除了错误码字之外的n个LDPC码字的信息位按位纵向的模2和,同时输出这n个正确的信息比特;第二存储模块用于存储模2加法器的临时结果,即和下一帧做模2和的加数,并输出最终的累加结果,即恢复出的正确信息比特。Same as the hard-decision decoder, the hard-decision recovery module in the soft-decision iterative decoder is mainly composed of a
本发明的技术效果在于以下几个方面:Technical effect of the present invention lies in the following aspects:
第一,提出了LDPC-SPC乘积码设计方案,该方案能够克服LDPC码的误码平层,并且比BCH码级联方法有更高的灵活性以及更大的编码增益,这主要是由于BCH码需要为不同码率的LDPC码提供不同的码长和不同的纠错能力,增加了级联码方案设计的难度和编译码系统的复杂度,而LDPC-SPC乘积码不用考虑这个问题;同时BCH码需要付出的编码冗余较大,而LDPC-SPC乘积码的编码冗余等价为归一化信噪比损失后只有
第二,给出了LDPC-SPC级联码的硬判决译码方法,这是一种具有极低复杂度的译码方法,能够帮助出现误码平层的LDPC码降低误码平层。Second, a hard-decision decoding method for LDPC-SPC concatenated codes is given, which is a very low-complexity decoding method that can help reduce the error floor of LDPC codes with error floors.
第三,对LDPC-SPC级联码的硬判决方法进行了分析,并给出了硬判决方法的误比特率估计方法,估计结果与仿真结果的比较如图10所示,从图中可以看出该估计能够精确的符合仿真结果,从而节省大量的仿真时间。Third, the hard decision method of the LDPC-SPC concatenated code is analyzed, and the bit error rate estimation method of the hard decision method is given. The comparison between the estimation result and the simulation result is shown in Figure 10. From the figure, it can be seen that This estimate can be obtained to accurately match the simulation results, thus saving a lot of simulation time.
第四,给出了LDPC-SPC级联码的一种软判决迭代译码方法,并对其进行了简化,仿真结果如图13所示,从图13中可以看出在该软判决译码方法下,与硬判决相比,LDPC-SPC级联码能够获得更加明显的编码增益,更加有效的降低LDPC码误码平层。Fourth, a soft-decision iterative decoding method for LDPC-SPC concatenated codes is given and simplified. The simulation results are shown in Figure 13. From Figure 13, it can be seen that in this soft-decision decoding Under the method, compared with the hard decision, the LDPC-SPC concatenated code can obtain more obvious coding gain and reduce the error floor of the LDPC code more effectively.
所以,本发明提出的LDPC-SPC乘积码能够以非常小的冗余代价取得较大的编码增益,是一种适用于对延时不敏感的业务的信道编码方案。Therefore, the LDPC-SPC product code proposed by the present invention can obtain a relatively large coding gain with a very small redundancy cost, and is a channel coding scheme suitable for services that are not sensitive to delay.
附图说明 Description of drawings
图1是(8064,4032)LDPC码的误码性能曲线;Fig. 1 is the bit error performance curve of (8064,4032) LDPC code;
图2是(8064,4032)LDPC码误码平层在归一化信噪比分别为1.5dB(I)和1.6dB(II)下所统计的200个错误码字的错误比特数目分布图;Fig. 2 is (8064,4032) the erroneous bit number distribution figure of 200 erroneous codewords counted under normalized signal-to-noise ratio respectively under 1.5dB (I) and 1.6dB (II) of LDPC code error flat layer;
图3是(8064,4032)LDPC码在归一化信噪比分别为1.5dB和1.6dB下的错误比特位置统计图;Fig. 3 is (8064,4032) LDPC code is respectively 1.5dB and 1.6dB under the erroneous bit position statistic figure of normalized signal-to-noise ratio;
图4是本发明的LDPC-SPC乘积码的码字图样;Fig. 4 is the codeword pattern of LDPC-SPC product code of the present invention;
图5是本发明LDPC-SPC乘积码的错误比特位置关系示意图;Fig. 5 is the schematic diagram of the error bit position relation of LDPC-SPC product code of the present invention;
图6是本发明LDPC-SPC乘积码的软判决迭代译码方法流程图;Fig. 6 is the flow chart of the soft decision iterative decoding method of LDPC-SPC product code of the present invention;
图7是本发明硬判决译码器的结构示意图;Fig. 7 is a schematic structural diagram of a hard-decision decoder of the present invention;
图8是本发明实施例2的硬判决译码器中硬判决恢复模块的结构框图;Fig. 8 is a structural block diagram of a hard decision recovery module in a hard decision decoder according to
图9是本发明软判决迭代译码器的结构示意图;Fig. 9 is a schematic structural diagram of a soft-decision iterative decoder of the present invention;
图10是n=100时LDPC-SPC码硬判决译码方法误码率与估计结果的比较图;Fig. 10 is the comparison figure of LDPC-SPC code hard decision decoding method bit error rate and estimated result when n=100;
图11是本发明实施例1中LDPC-SPC乘积码编码流程图;Fig. 11 is the LDPC-SPC product code coding flow chart in the
图12是本发明实施例1中n=200时LDPC-SPC码硬判决译码方法的误比特性能仿真结果图;Fig. 12 is the bit error performance simulation result figure of LDPC-SPC code hard decision decoding method when n=200 in
图13是本发明实施例1中n=200时LDPC-SPC码软判决迭代译码方法与LDPC-BCH码误比特性能的对比仿真结果图。Fig. 13 is a comparison simulation result of the bit error performance between the soft decision iterative decoding method of the LDPC-SPC code and the bit error performance of the LDPC-BCH code when n=200 in
具体实施方式 Detailed ways
下面通过实施例,结合附图进一步说明本发明,但不以任何方式限制本发明的范围。实施例1:构造LDPC-SPC乘积码,并对其进行译码Below through embodiment, further illustrate the present invention in conjunction with accompanying drawing, but do not limit the scope of the present invention in any way. Embodiment 1: construct LDPC-SPC product code, and decode it
以下具体描述利用本发明所述的方法,用长度为8064比特,码率为1/2的LDPC码构造了LDPC-SPC乘积码,并对其进行译码的过程,译码方法包括硬判决译码方法和软判决迭代译码方法:The following concrete description utilizes the method described in the present invention to construct the LDPC-SPC product code with a length of 8064 bits and an LDPC code with a code rate of 1/2, and decode it. The decoding method includes hard decision decoding coding method and soft-decision iterative decoding method:
本实施例取n=200,即每200个LDPC码插入一个冗余的SPC码字。In this embodiment, n=200, that is, one redundant SPC code word is inserted into every 200 LDPC codes.
编码流程图如图11所示,具体步骤如下:The coding flow chart is shown in Figure 11, and the specific steps are as follows:
1.初始化:信息比特流成帧,帧长为4032比特;1. Initialization: the information bit stream is framed, and the frame length is 4032 bits;
2.将200个信息帧依次通过SPC码编码器,SPC码编码器将每个信息帧在相应位置2.
的比特做模2和,在n=200个信息帧之后输出结果,即SPC码中的信息位,
3.将200个信息帧和1个SPC信息帧依次通过LDPC码编码器,得到n+1=201个LDPC码码字,其中第n+1个LDPC码码字为冗余的SPC码码字;3. 200 information frames and 1 SPC information frame are sequentially passed through the LDPC code encoder to obtain n+1=201 LDPC code words, wherein the n+1th LDPC code word is a redundant SPC code word ;
4.按顺序输出编码后的码字。4. Output the encoded codewords in sequence.
在接收端进行译码,如接收端采用硬判决译码,该方法的步骤如下:Decoding is performed at the receiving end. If the receiving end adopts hard decision decoding, the steps of the method are as follows:
1.初始化:将200个LDPC码码字与1个SPC码码字依次通过LDPC码译码模块进行译码,即令第i个LDPC码字进入LDPC码译码模块进行译码,其中i从1到201,
2.根据LDPC码译码模块能够检错的特性,可以统计出201个LDPC码中的多种错误图样,具体处理步骤如下:2. According to the characteristics of the error detection of the LDPC code decoding module, various error patterns in 201 LDPC codes can be counted. The specific processing steps are as follows:
a)如果201个LDPC码码字中没有码字译码失败,译码结束;a) If there is no codeword decoding failure in the 201 LDPC codewords, the decoding ends;
b)如果201个LDPC码码字中超过1个码字译码失败,译码结束;b) If more than one codeword in the 201 LDPC codewords fails to be decoded, the decoding ends;
c)如果201个LDPC码码字中只有一个码字译码失败,又可以分为两种情况:c) If only one codeword decoding fails in 201 LDPC codewords, it can be divided into two situations:
i.如果错误的码字是SPC码,由于SPC码是冗余校验码字,所以可以直接删除,输出前n个正确的LDPC码,译码结束;i. If the erroneous code word is an SPC code, since the SPC code is a redundancy check code word, it can be deleted directly, and the first n correct LDPC codes are output, and the decoding ends;
ii.如果错误的码字是LDPC码,则进入步骤3。ii. If the wrong codeword is an LDPC code, go to
3.根据SPC码字的偶检验关系,恢复出正确码字,具体处理步骤如下:3. According to the even test relationship of the SPC codeword, the correct codeword is recovered, and the specific processing steps are as follows:
3-1删除错误的LDPC码字;3-1 delete the wrong LDPC codeword;
3-2将其余的200个正确的LDPC码字在列方向上逐比特进行模2和,所得结果为恢复出的正确码字;3-2 Perform modulo 2 summing of the remaining 200 correct LDPC codewords bit by bit in the column direction, and the obtained result is the recovered correct codeword;
3-3输出恢复后的正确码字。3-3 Output the correct codeword after recovery.
如果接收端采用软判决迭代译码,其流程图如图8所示,在本实施例中采用发明内容中所述的改进的软判决迭代译码方法,取软判决最大迭代译码次数T=5,具体步骤如下:If the receiving end adopts soft-decision iterative decoding, its flow chart is shown in Figure 8. In this embodiment, the improved soft-decision iterative decoding method described in the summary of the invention is adopted, and the maximum number of iterative decoding of soft-decision is T= 5. The specific steps are as follows:
1.初始化:将200个LDPC码码字与1个SPC码码字依次通过LDPC码译码模块进行译码,得到第i个码字的第j个比特的置信度信息Li j,其中i从1到201,1. Initialization: 200 LDPC codewords and 1 SPC codeword are sequentially decoded by the LDPC code decoding module, and the confidence information L i j of the jth bit of the i-th codeword is obtained, where i from 1 to 201,
2.根据LDPC码译码模块能够检错的特性,统计错误码字:2. According to the error-detecting characteristics of the LDPC code decoding module, count the error code words:
a)如果201个LDPC码码字中没有码字译码失败,译码结束,输出正确的LDPC码;a) If there is no codeword decoding failure in the 201 LDPC codewords, the decoding ends and the correct LDPC code is output;
b)如果201个LDPC码码字中只有一个码字译码失败,又可以分为两种情况:b) If there is only one codeword decoding failure in the 201 LDPC codewords, it can be divided into two situations:
i.如果错误的码字是SPC码,由于SPC码是冗余校验码字,所以可以直接删除,输出前200个正确的LDPC码,译码结束;i. If the wrong code word is an SPC code, since the SPC code is a redundant check code word, it can be deleted directly, and the first 200 correct LDPC codes are output, and the decoding is completed;
ii.如果错误的码字是LDPC码,则进行与硬判决译码相类似的方法:ii. If the wrong code word is an LDPC code, then perform a method similar to hard decision decoding:
第一,删除错误的LDPC码字;First, delete the wrong LDPC codeword;
第二,将其余的200个正确的LDPC码字在列方向上逐比特进行模2和,所得结果为恢复出的正确码字;Second, the remaining 200 correct LDPC codewords are subjected to a
第三,输出恢复后的正确码字,译码结束;Third, output the correct codeword after recovery, and the decoding ends;
c)如果201个LDPC码码字中有2个或2个以上的码字发生错误,则进行纵向译码;c) if there are 2 or more codewords in the 201 LDPC codewords to be wrong, then perform vertical decoding;
i.如果已经达到软判决译码最大迭代次数,即t>T=5,则译码结束;i. If the maximum number of iterations of soft-decision decoding has been reached, that is, t>T=5, the decoding ends;
ii.如果没有达到软判决译码最大迭代次数,即t≤T=5,则转到步骤3;ii. If the maximum number of iterations of soft-decision decoding is not reached, that is, t≤T=5, then go to
3.纵向译码:如果第i个码字符合校验方程约束,令第i个LDPC码字每一个比特的置信度Li j的大小为
4.根据纵向校验关系,分别计算错误码字每个比特的外信息其大小为
5.更新错误码字的比特置信度
中的第k个错误码字,k为正整数;In the kth error codeword, k is a positive integer;
6.将更新过置信度之后的错误码字依次送入LDPC码译码器,进行译码,然后返回步骤2。6. Send the erroneous codewords after the confidence level has been updated to the LDPC code decoder in turn for decoding, and then return to
本实施例对上述构造的LDPC-SPC乘积码在BIAWGN信道下进行了LDPC-SPC级联码的误码性能仿真,其中为了加快仿真速度,LDPC码的译码方法采用了适于硬件实现的offset-min-sum算法(Chen Jinghu;R.M.Tanner;C.Jones,“Improved min-sum decodingalgorithms for irregular LDPC codes,”In Proc.ISIT’05.Massachusetts:MIT Press,pp.449-453,2005),其中offset值选择为0.2,最大迭代次数选择为37次以适应LDPC码译码器的实际参数。当错误的LDPC码码字数目超过50的时候,仿真停止。In this embodiment, the bit error performance simulation of the LDPC-SPC concatenated code is performed on the LDPC-SPC product code constructed above under the BIAWGN channel. In order to speed up the simulation, the decoding method of the LDPC code adopts an offset suitable for hardware implementation. -min-sum algorithm (Chen Jinghu; R.M. Tanner; C. Jones, "Improved min-sum decoding algorithms for irregular LDPC codes," In Proc.ISIT'05.Massachusetts: MIT Press, pp.449-453, 2005), where The offset value is selected as 0.2, and the maximum number of iterations is selected as 37 times to adapt to the actual parameters of the LDPC code decoder. When the number of wrong LDPC codewords exceeds 50, the simulation stops.
本实施例还选择了纠错能力t=10的GF(212)上的BCH码进行误比特性能的对比仿真。GF(212)上的最小多项式如下所示。如果BCH码的纠错能力为t,那么该BCH码的生成多项式就等于前t个最小多项式的乘积。例如t=2时,BCH码的生成多项式为g(x)=g1(x)g2(x)。其中,纠错能力t=10的选择,是基于前面对LDPC码误码平层特点的分析,得出的在出现误码平层时,LDPC错误码字中错误比特数大部分都在10比特以下,超过10比特的情况一般不超过10%。In this embodiment, a BCH code on GF(2 12 ) with an error correction capability of t=10 is selected for comparative simulation of bit error performance. The minimum polynomial on GF(2 12 ) is shown below. If the error correction capability of the BCH code is t, then the generator polynomial of the BCH code is equal to the product of the first t smallest polynomials. For example, when t=2, the generator polynomial of the BCH code is g(x)=g1(x)g2(x). Wherein, the selection of the error correction capability t=10 is based on the analysis of the characteristics of the LDPC code error level in front, and when the error level occurs, most of the error bit numbers in the LDPC error code word are within 10 Below 10 bits, generally no more than 10% of cases exceeding 10 bits.
最小多项式minimal polynomial
g1(x)=1+x+x4+x6+x12 g 1 (x)=1+x+x 4 +x 6 +x 12
g2(x)=1+x+x3+x4+x6+x10+x12 g 2 (x)=1+x+x 3 +x 4 +x 6 +x 10 +x 12
g3(x)=1+x2+x3+x6+x12 g 3 (x)=1+x 2 +x 3 +x 6 +x 12
g4(x)=1+x+x3+x5+x6+x10+x12 g 4 (x)=1+x+x 3 +x 5 +x 6 +x 10 +x 12
g5(x)=1+x2+x4+x5+x6+x7+x8+x9+x12 g 5 (x)=1+x 2 +x 4 +x 5 +x 6 +x 7 +x 8 +x 9 +x 12
g6(x)=1+x+x2+x5+x7+x8+x9+x11+x12 g 6 (x)=1+x+x 2 +x 5 +x 7 +x 8 +x 9 +x 11 +x 12
g7(x)=1+x+x3+x6+x8+x10+x12 g 7 (x)=1+x+x 3 +x 6 +x 8 +x 10 +x 12
g8(x)=1+x+x2+x3+x4+x5+x9+x10+x12 g 8 (x)=1+x+x 2 +x 3 +x 4 +x 5 +x 9 +x 10 +x 12
g9(x)=1+x+x3+x4+x6+x8+x10+x11+x12 g 9 (x)=1+x+x 3 +x 4 +x 6 +x 8 +x 10 +x 11 +x 12
g10(x)=1+x+x2+x5+x10+x11+x12 g 10 (x)=1+x+x 2 +x 5 +x 10 +x 11 +x 12
采用硬判决译码方法得到的仿真结果如图12所示,从图中可以看出本实施例所构造的LDPC-SPC乘积码采用硬判决译码方法能够降低LDPC码的误码平层。The simulation results obtained by using the hard-decision decoding method are shown in Figure 12, from which it can be seen that the hard-decision decoding method of the LDPC-SPC product code constructed in this embodiment can reduce the error floor of the LDPC code.
采用软判决迭代译码方法得到的仿真结果如图13所示,从图13的曲线可以看出本实施例所构造的LDPC-SPC乘积码采用软判决迭代方法除了能够克服LDPC码的误码平层之外,还能够取得非常明显的编码增益。在误码率为10-7时,乘积码相比LDPC码取得了大约0.3dB的性能优势,并优于LDPC-BCH级联码0.4dB以上。The simulation results obtained by using the soft-decision iterative decoding method are shown in Figure 13. From the curves in Figure 13, it can be seen that the LDPC-SPC product code constructed in this embodiment adopts the soft-decision iterative method and can overcome the error level of the LDPC code. In addition to layers, a very significant coding gain can also be achieved. When the bit error rate is 10-7, the product code has a performance advantage of about 0.3dB compared with the LDPC code, and is more than 0.4dB better than the LDPC-BCH concatenated code.
实施例2:译码器Embodiment 2: Decoder
本实施例仅给出实施例1所构造的LDPC-SPC乘积码的硬判决译码器的实现方案。硬判决译码器的实现框图如图7所示,它可以被划分为LDPC译码模块、第一存储模块、错误码字统计模块以及硬判决恢复模块四个部分。This embodiment only provides the implementation scheme of the hard-decision decoder of the LDPC-SPC product code constructed in the first embodiment. The implementation block diagram of the hard-decision decoder is shown in Figure 7, which can be divided into four parts: LDPC decoding module, first storage module, error codeword statistics module and hard-decision recovery module.
其中,LDPC码译码模块用于实现LDPC码字的译码,在本实施例中不做赘述,只是用于得到LDPC码信息位的软信息和硬判决信息,在本实施例中硬判决译码方法只需要LDPC码信息位的硬判决信息;第一存储模块需要201个大小为4032bits的双端口RAM,用于存储LDPC码信息位的硬判决信息;错误码字统计模块由一个计数器组成,起始值为0,最大值为201,并由它决定LDPC码字信息位的流向:Among them, the LDPC code decoding module is used to realize the decoding of the LDPC code word, which is not described in detail in this embodiment, but is only used to obtain the soft information and hard decision information of the LDPC code information bits. In this embodiment, the hard decision decoding The code method only needs the hard decision information of the LDPC code information bits; the first storage module needs 201 dual-port RAMs with a size of 4032 bits for storing the hard decision information of the LDPC code information bits; the wrong code word statistics module is composed of a counter, The initial value is 0, the maximum value is 201, and it determines the flow direction of the LDPC codeword information bits:
1.如果201个LDPC码码字中没有码字译码失败,译码结束,输出正确的信息比特;1. If there is no code word decoding failure among the 201 LDPC code words, the decoding ends and the correct information bits are output;
2.如果201个LDPC码码字中有2个或2个以上的码字译码失败,译码结束;2. If there are 2 or more codewords that fail to decode in the 201 LDPC codewords, the decoding ends;
3.如果201个LDPC码码字中只有一个码字译码失败,又可以分为两种情况:3. If only one codeword fails to be decoded in the 201 LDPC codewords, it can be divided into two situations:
i.如果错误的码字是SPC码,由于SPC码是冗余校验码字,所以可以直接删除,输出前n个正确的LDPC码,译码结束;i. If the erroneous code word is an SPC code, since the SPC code is a redundancy check code word, it can be deleted directly, and the first n correct LDPC codes are output, and the decoding ends;
ii.如果错误的码字是LDPC码,则进入硬判决恢复模块。ii. If the erroneous code word is an LDPC code, enter the hard decision recovery module.
硬判决恢复模块结构框图如图8所示,它主要分为模2加法器模块和第二存储模块两个部分。其中,模2加法器需要大小为4032bits按位模2和加法器,用于计算除了错误码字之外的200个信息位按位纵向的模2和,并同时输出这200个正确的信息比特;第二存储模块需要大小为4032bits的双端口RAM,用于存储模2加法器的临时结果,即和下一帧做模2和的加数,并在n=200之后输出最终的累加结果,即恢复出的正确信息比特。The structural block diagram of the hard decision recovery module is shown in Figure 8, which is mainly divided into two parts: the
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容。Although specific embodiments and drawings of the present invention are disclosed for the purpose of illustration, the purpose is to help understand the content of the present invention and implement it accordingly, but those skilled in the art can understand that: without departing from the present invention and the appended claims Various substitutions, changes and modifications are possible within the spirit and scope of . Therefore, the present invention should not be limited to what is disclosed in the preferred embodiments and drawings.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810056049A CN100583653C (en) | 2008-01-11 | 2008-01-11 | A kind of encoding method, decoding method and decoder of LDPC concatenated code |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810056049A CN100583653C (en) | 2008-01-11 | 2008-01-11 | A kind of encoding method, decoding method and decoder of LDPC concatenated code |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101217284A CN101217284A (en) | 2008-07-09 |
CN100583653C true CN100583653C (en) | 2010-01-20 |
Family
ID=39623657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810056049A Expired - Fee Related CN100583653C (en) | 2008-01-11 | 2008-01-11 | A kind of encoding method, decoding method and decoder of LDPC concatenated code |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100583653C (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101345607B (en) * | 2008-08-14 | 2012-07-25 | 西安电子科技大学 | Encoding/decoding method of multidimensional crossing parallel cascade single-parity check code |
CN101867379B (en) * | 2010-06-24 | 2012-09-19 | 东南大学 | A Decoding Method of Convolutional Codes Aided by Cyclic Redundancy Check |
CN102142929B (en) * | 2010-11-25 | 2013-08-28 | 华为技术有限公司 | Forward error correction method, device and system |
CN102394722A (en) * | 2011-10-27 | 2012-03-28 | 优能通信科技(杭州)有限公司 | Soft decoding method of visual block product turbo code (VBPTC) in data management routine (DMR) under 4-frequency shift key (4FSK) modulation mode |
CN102523070B (en) * | 2011-11-22 | 2014-10-08 | 航天恒星科技有限公司 | Common software decoding data distribution method applied to satellite communication |
CN103269229B (en) * | 2013-05-24 | 2016-05-04 | 上海交通大学 | A kind of mixed iteration interpretation method of LDPC-RS two dimension product code |
CN104601180B (en) * | 2015-02-11 | 2017-05-24 | 东南大学 | Method and device for encoding two-dimensional product codes on basis of extended hamming codes |
CN104883194B (en) * | 2015-05-27 | 2018-09-11 | 北京邮电大学 | Interpretation method is blocked in a kind of H-matrix building method of RS-LDPC two dimensional product codes and its sliding |
CN106301389B (en) * | 2015-06-05 | 2019-09-20 | 华为技术有限公司 | Decoding method and device |
CN106533618A (en) * | 2016-10-26 | 2017-03-22 | 哈尔滨工业大学深圳研究生院 | Forward error correction for Bundles of spatial DTN network based on LDPC coding and decoding |
CN106788458B (en) * | 2016-12-02 | 2020-05-12 | 天津大学 | Hard decision-oriented forward and backward estimation method for insertion deletion and substitution errors |
CN106685431B (en) * | 2016-12-05 | 2019-10-18 | 华南理工大学 | LDPC based on Nand Flash acquires soft information decoding method and codec |
WO2018218466A1 (en) | 2017-05-28 | 2018-12-06 | 华为技术有限公司 | Information processing method and communication device |
EP3624350A4 (en) | 2017-06-03 | 2020-06-17 | Huawei Technologies Co., Ltd. | Information processing method and communication device |
CN109257136A (en) * | 2017-07-12 | 2019-01-22 | 中国科学院大学 | The two-way coding and decoding method of the JPEG2000 arithmetic code of combined signal source channel and safety |
CN107682113B (en) * | 2017-08-29 | 2020-08-14 | 西安空间无线电技术研究所 | Method for coding and decoding cascade LDPC code in ATM switching network |
CN110661534B (en) * | 2018-06-29 | 2024-06-18 | 中兴通讯股份有限公司 | Method and device for improving Turbo decoding performance and computer equipment |
CN111510286B (en) * | 2020-03-17 | 2022-12-09 | 哈尔滨工业大学 | Error code negotiation method of quantum key distribution system |
CN115378582B (en) * | 2022-07-20 | 2024-05-10 | 中国电子科技集团公司第三十研究所 | Method and system for eliminating residual error code of continuous variable quantum key distribution |
CN116192661B (en) * | 2023-04-26 | 2023-09-29 | 苏州联讯仪器股份有限公司 | Stability evaluation method, device and equipment of communication module and readable storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1513259A2 (en) * | 2003-09-04 | 2005-03-09 | The Directv Group, Inc. | Method and apparatus for encoding short block length low density parity check (LPDC) codes for broadband satellite applications |
CN1301012C (en) * | 2003-12-03 | 2007-02-14 | 北京泰美世纪科技有限公司 | Framing method based on LDPC |
-
2008
- 2008-01-11 CN CN200810056049A patent/CN100583653C/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1513259A2 (en) * | 2003-09-04 | 2005-03-09 | The Directv Group, Inc. | Method and apparatus for encoding short block length low density parity check (LPDC) codes for broadband satellite applications |
CN1301012C (en) * | 2003-12-03 | 2007-02-14 | 北京泰美世纪科技有限公司 | Framing method based on LDPC |
Also Published As
Publication number | Publication date |
---|---|
CN101217284A (en) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100583653C (en) | A kind of encoding method, decoding method and decoder of LDPC concatenated code | |
CN103281090B (en) | Mixed modified weighted bit-flipping LDPC decoding algorithm | |
CN103208995B (en) | A kind of premature termination method of low density parity check code decoding | |
He et al. | A joint source and channel coding scheme base on simple protograph structured codes | |
EP3032748B1 (en) | Coding and decoding with staggered parity | |
US8650451B2 (en) | Stochastic stream decoding of binary LDPC codes | |
CN105577193B (en) | LDPC Decoding Method Based on Loop Elimination and Hybrid Weighted Bit Flip | |
WO2014075267A1 (en) | Decoding processing method and decoder | |
CN101615913B (en) | A Fast Convergent Decoding Method for LDPC Codes | |
CN107612560B (en) | Early Iterative Stopping Method for Polar Codes Based on Partial Information Bit Likelihood Ratio | |
CN110336567B (en) | Joint iterative decoding method applied to G-LDPC coding cooperation | |
CN101345532A (en) | Decoding Method of LDPC Channel Coding | |
CN103338046B (en) | The encoding and decoding method of the LDPC-RS two dimensional product codes of code-rate-compatible | |
Abbas et al. | Concatenated LDPC-polar codes decoding through belief propagation | |
CN104009763A (en) | A Low Complexity LDPC Code Weighted Bit Flip Decoding Algorithm Early Stopping Method | |
CN102611463A (en) | Cascade coding and decoding system and method of multi-system low-density parity check code | |
CN103997348B (en) | The multi-threshold bit-flipping decoding method of loe-density parity-check code | |
CN102412846A (en) | Multi-value corrected min-sum decoding method applicable to low-density parity-check code | |
CN102064917A (en) | Demodulation decoding method for LDPC (Low Density Parity Code) modulation system | |
CN114421971A (en) | A dynamic multi-symbol flip decoding method suitable for multivariate LDPC codes | |
CN117014107A (en) | Combined source channel coding method and system based on Markov source | |
US11750219B2 (en) | Decoding method, decoder, and decoding apparatus | |
Grinchenko et al. | Improving performance of multithreshold decoder over binary erasure channel | |
CN105680881A (en) | LDPC decoding method and decoder | |
CN101106437B (en) | A Decoding Method of Finite Geometry Low Density Parity Check Codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100120 Termination date: 20160111 |
|
CF01 | Termination of patent right due to non-payment of annual fee |