CN112889221A - 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定 - Google Patents
用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定 Download PDFInfo
- Publication number
- CN112889221A CN112889221A CN201980065974.9A CN201980065974A CN112889221A CN 112889221 A CN112889221 A CN 112889221A CN 201980065974 A CN201980065974 A CN 201980065974A CN 112889221 A CN112889221 A CN 112889221A
- Authority
- CN
- China
- Prior art keywords
- message
- components
- check node
- processing unit
- node processing
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 180
- 238000012937 correction Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 34
- 238000010276 construction Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 9
- 238000004422 calculation algorithm Methods 0.000 description 25
- 238000004891 communication Methods 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 9
- 230000003247 decreasing effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000013307 optical fiber Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000003595 spectral effect Effects 0.000 description 3
- 241000169170 Boreogadus saida Species 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000010287 polarization Effects 0.000 description 2
- 208000011580 syndromic disease Diseases 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
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 244000104985 savin Species 0.000 description 1
- 235000001520 savin Nutrition 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
- H03M13/112—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/1171—Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/612—Aspects specific to channel or signal-to-noise ratio estimation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6583—Normalization other than scaling, e.g. by subtraction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6577—Representation or format of variables, register sizes or word-lengths and quantization
- H03M13/6591—Truncation, saturation and clamping
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明的实施例提供了一种在非二进制纠错码解码器的校验节点处理单元中被实现的基本校验节点处理单元(300),该基本校验节点处理单元(300)被链接到变量节点处理单元(305),并且被配置为接收第一消息和第二消息,每个消息包括至少两个分量。基本校验节点处理单元(300)包括:计算单元(301),其根据第一消息中包括的分量和第二消息中包括的分量来确定两个或更多个辅助分量,辅助分量包括辅助可靠性度量。计算单元(301)还与两个或更多个辅助分量中的每一个相关联地确定解码性能值。基本校验节点处理器单元(300)还包括选择单元(303),其在两个或更多个辅助分量之中选择与最佳解码性能值相关联的辅助分量,并且根据所选择的辅助分量中包括的辅助可靠性度量来确定偏移值。基本校验节点处理单元(300)然后将偏移值以及在两个或更多个辅助分量之中的辅助分量的所选择的集合发送到变量节点处理单元(305)。
Description
技术领域
本发明总体上涉及数字通信,并且特别涉及用于对使用非二进制纠错码编码的信号进行解码的方法和设备。
背景技术
纠错码在各种数据处理系统和设备中实现,以确保保护数据免受在存在噪声和/或干扰的情况下在数据传输或存储期间引入的错误的影响。编码包括将冗余数据添加到原始数据中,该冗余数据使得能够检测和/或纠正错误。
纠错码可以被分类为两个种类:线性码和非线性码。线性纠错码与非线性码相比特别有利,因为线性纠错码的实现方式复杂度低。示例性线性纠错码包括卷积码和线性块码,例如,Hamming码、Reed-Solomon码、Turbo码、极化码以及低密度奇偶校验(LDPC)码。
特别地,LDPC码是非常高效的。已证明非二进制LDPC码的性能接近Shannon极限;它们提供的高传输速率接近可以在传输信道上发送的最大信息量。非二进制LDPC码在提供高频谱效率编码方面非常高效,并且比二进制LDPC码性能更好。然而,为了达到这种增益,要求开发用于非二进制码的低复杂度解码算法,尤其是对于高频谱效率通信。
可以使用迭代消息传递算法来执行对通常使用线性块码(特别是LDPC码)编码的信号的解码。消息传递算法使用用于解码数据的码的图形表示,其被称为“Tanner图”。Tanner图包括节点的两个集合,其分别被称为“变量节点”和“校验节点”。每个变量节点与码的奇偶校验矩阵的一列相关联。每个校验节点与奇偶校验矩阵的一行相关联,即,与奇偶校验等式相关联。变量节点和校验节点经由边缘(edge)连接。变量节点与校验节点之间的连接由奇偶校验矩阵的非零条目确定。
消息传递算法基于在校验节点处理单元与变量节点处理单元之间交换表示编码的数据的消息,该消息与所使用的码的Tanner图表示相关联。解码过程包括通过计算变量节点消息进行的变量节点更新、通过计算校验节点消息进行的校验节点更新以及码字决策制订。针对非二进制码(例如,非二进制LDPC码)的示例性解码算法包括:
-例如在L.Barnault和D.Declercq的“Fast decoding algorithm for LDPC overGF(q)”(Proceedings of IEEE Information Theory Workshop,第70-73页,2003年4月)中公开的“q阵列和积(sum-product)”算法;
-例如在V.Savin的“Min-max decoding for non-binary LDPC codes”(Proceedings of IEEE International Symposium on Information Theory,第960-964页,2008年7月)中公开的“最小-最大”算法;
-例如在D.Declercq和M.Fossorier的“Decoding algorithms for non-binaryLDPC codes over GF”(IEEE Transactions on Communications,vol.55,no.4,第633-643页,2007年4月)中公开的“扩展最小和(EMS)”算法,以及
-例如在J.O.Lacruz、F.García-Herrero、J.Valls和D.Declercq的“One MinimumOnly Trellis Decoder for Non-Binary Low-Density Parity-Check Codes”(IEEETransactions on Circuits and Systems I:Regular Papers,vol.62,no.1,第177-184页,2015年1月)和E.Li、F.García-Herrero、D.Declercq、K.Gunnam、J.O.Lacruz和J.Valls的“Low latency T-EMS decoder for non-binary LDPC codes”(2013AsilomarConference on Signals,Systems and Computers,Pacific Grove,CA,2013年,第831-835页)中公开的“Trellis EMS解码器(T-EMS)”。
EMS算法基于对数尺度计算,以通过将乘积运算转换为简单求和运算来降低计算复杂度。与其他现有的迭代解码算法相比,EMS算法提供了硬件复杂度与通信性能之间的很好的折中。但是,EMS算法仍然要求大量的计算和存储资源,这些资源在例如在需要高吞吐量和显著减少的时延的实时应用中或系统中使用的实际设备或系统中可能不可用。
在使用EMS算法的解码过程期间涉及的最大计算复杂度源于在校验节点处理单元和变量节点处理单元处执行的计算。因此,需要能够实现最佳解码性能同时要求低计算复杂度的低复杂度变量节点和校验节点处理架构。
发明内容
为了解决这些和其他问题,提供了一种在非二进制纠错码解码器的校验节点处理单元中被实现的基本校验节点处理单元,该基本校验节点处理单元被链接到变量节点处理单元,并且被配置为接收第一消息和第二消息,第一消息和第二消息中的每一个包括至少两个分量。基本校验节点处理单元可以包括:
-计算单元,其被配置为:根据第一消息中包括的分量和第二消息中包括的分量来确定两个或更多个辅助分量,辅助分量包括辅助可靠性度量;以及与两个或更多个辅助分量中的每一个相关联地确定解码性能值;
-选择单元,其被配置为在两个或更多个辅助分量之中选择与最佳解码性能值相关联的辅助分量,并且根据所选择的辅助分量中包括的辅助可靠性度量来确定偏移值。
基本校验节点处理单元还被配置为将偏移值以及在两个或更多个辅助分量之中的辅助分量的所选择的集合发送到变量节点处理单元。
在一个实施例中,解码性能值可以包括针对给定的信噪比评估出的比特错误率。
在一些实施例中,第一消息可以包括第一预定义数量的分量,并且第二消息可以包括第二预定义数量的分量,第一消息的每个分量和第二消息的每个分量包括符号和与该符号相关联的可靠性度量,计算单元被配置为根据第一消息中包括的分量和第二消息中包括的分量来确定辅助分量之中的每个辅助分量,辅助分量还包括辅助符号。
有利地,计算单元可以被配置为:通过在非二进制纠错码的构造的代数结构上应用第一加法运算来确定每个辅助分量中包括的辅助符号,第一加法运算被应用于第一消息的分量中包括的符号和第二消息的分量中包括的符号。计算单元还可以被配置为通过在预定义的代数结构上应用第二加法运算来确定与每个辅助符号相关联的辅助可靠性度量,第二加法运算被应用于与第一消息的分量中包括的符号相关联的可靠性度量以及与第二消息的分量中包括的符号相关联的可靠性度量。
可以在包括实数域、整数域和自然数域的组中选择预定义的代数结构。
在一个实施例中,分量的第一给定数量和分量的第二给定数量可以相等。
在一些实施例中,分量的第一给定数量和分量的第二给定数量可以不同。
在一个实施例中,校验节点处理单元可以被配置为在多次消息交换迭代期间与在非二进制纠错码解码器中被实现的至少一个变量节点处理单元交换两个或更多个变量节点消息,基本校验节点处理单元被配置为取决于在包括以下各项的组中选择的至少一个参数来预先确定辅助分量的数量:消息交换迭代的次数、非二进制纠错码的构造的代数结构、信噪比、第一消息的分量的第一预定义数量或第二消息的分量的第二预定义数量中的一个或多个、以及基本校验节点处理器在校验节点处理单元内的位置。
在一些实施例中,可以根据前向-后向架构在校验节点处理单元中实现基本校验节点处理单元。
还提供了一种用于确定在非二进制纠错码解码器的校验节点处理单元中被实现的基本校验节点处理单元中的偏移值的方法,该基本校验节点处理单元被链接到变量节点处理单元,并且被配置为接收第一消息和第二消息,第一消息和第二消息中的每一个包括至少两个分量,其中,方法可以包括:
-根据第一消息中包括的分量和第二消息中包括的分量来确定两个或更多个辅助分量,辅助分量包括辅助可靠性度量;
-与两个或更多个辅助分量中的每一个相关联地确定解码性能值;
-在两个或更多个辅助分量之中选择可以与最佳解码性能值相关联的辅助分量,并且根据所选择的辅助分量中包括的辅助可靠性度量来确定偏移值;
方法还可以包括将偏移值以及在两个或更多个辅助分量之中的辅助分量的所选择的集合发送到变量节点处理单元。
有利地,本发明的实施例提供了在校验节点处理单元中被实现的基本校验节点处理单元的简化且低复杂度的设计。
有利地,本发明的实施例提供了一种低复杂度技术,其用于确定在迭代解码算法的变量节点更新步骤期间使用的优化的偏移值,从而能够达到最佳解码性能。
附图说明
并入并构成本说明书一部分的附图仅出于说明的目的而提供,并且这些附图示出了本发明的各种实施例以及以上给出的本发明的一般描述以及以下给出的实施例的详细描述。
图1是其中可以实现本发明的实施例的示例性操作环境的框图;
图2是根据其中考虑了EMS解码算法的一些实施例的非二进制纠错码解码器的框图;
图3是根据一些实施例的基本校验节点处理单元的框图;
图4是根据其中使用前向-后向架构的一些实施例的校验节点处理单元的框图;以及
图5是描绘根据一些实施例的确定偏移值和校验节点消息的方法的流程图。
具体实施方式
本发明的实施例提供了用于确定在非二进制纠错码解码器的校验节点处理单元中被实现的基本校验节点处理单元处的偏移值和校验节点消息的设备和方法,该非二进制纠错码解码器用于对使用非二进制纠错码编码的信号进行解码。
实现根据各种实施例的设备和方法的非二进制纠错码解码器可以在若干类型的应用中使用的若干类型的数字数据传输和存储设备以及系统中实现。示例性设备和系统包括但不限于:计算机、磁盘、膝上型计算机、电话、智能电话、记录器、基站、无人机、卫星、物联网设备(IoT)、嵌入式设备等。示例性应用包括磁和光记录、数字电视和视频广播以及数字通信。
仅出于说明的目的,将参考数字通信系统对本发明的一些实施例进行以下描述。然而,技术人员将容易地理解,本发明的各种实施例可以被集成在用于其他应用的其他类型的系统(例如,定位系统、存储器和存储系统以及航天器系统)中。
参考图1,示出了其中可以实现本发明的实施例的示例性操作环境。图1的示例性操作环境对应于数字通信系统100。通信系统100可以是例如:
-有线的;
-无线的(例如,无线电或可见光通信系统);
-光学的(例如,基于光纤的、基于激光的);
-声学的(例如,水下声学通信系统);
-分子的(例如,用于地下结构,例如隧道和管道或水下环境)。
通信系统100可以至少包括发射机设备10和接收机设备12。发射机设备10(在下文中也被称为“发射机”)可以被配置为经由传输信道11将数据信息通信给接收机设备12(在下文中也被称为“接收机”)。
在本发明对诸如计算机联网系统之类的有线通信系统的应用中,发射机10和/或接收机12可以是被配置为在有线网络中操作的任何设备。在这种应用中的示例性设备包括连接到小型或大型区域有线网络的计算机、路由器或交换机。在这种情况下,传输信道11可以是用于确保在不同的连接的设备之间传输数据的任何类型的物理电缆。
在本发明对诸如自组织无线网络、无线传感器网络和无线电通信系统之类的无线通信系统的应用中,发射机10和接收机12可以是被配置为在无线环境中操作的任何类型的固定或移动无线设备。在此类应用中的示例性设备包括膝上型计算机、移动电话、基站和任何计算机设备。在这种情况下,传输信道11可以是任何无线传播介质。此外,传输信道11可以容纳若干发射机10和/或若干接收机12。在这样的实施例中,可以结合纠错码来使用多址技术和/或网络编码技术。示例性多址技术包括时分多址(TDMA)、频分多址(FDMA)、码分多址(CDMA)和空分多址(SDMA)。
在本发明对诸如基于光纤的系统之类的光学通信系统的应用中,发射机10和接收机12可以是被配置为分别发送和接收在光学链路上传播的数据信息的任何光学收发机设备。传输信道11可以是被设计为在短距离或长距离上承载数据的任何光纤链路。在短距离上使用光纤链路的示例性应用包括诸如数据中心互连之类的高容量网络。在长距离上使用光纤链路的示例性应用包括陆地和越洋传输。在这样的实施例中,由发射机10传送的信息符号可以由根据光纤的不同偏振态被偏振的光学信号承载。光学信号根据一种或多种传播模式沿着基于光纤的传输信道11传播,直到达到接收机12为止。示例性光学通信系统包括偏振分复用(PDM)系统和模式分复用(MDM)系统。
对于任何类型的有线、无线或光学通信系统,传输信道11可以是任何有噪信道。噪声可能是由于系统组件的热噪声或由天线截获的干扰辐射引起的。其他示例性噪声源包括切换、手动中断、电火花和闪电。在一些实施例中,总噪声可以通过加性高斯白噪声(AWGN)来建模。
此外,根据应用于数字大容量存储装置的一些实施例,可以例如通过擦除信道、二进制对称信道或高斯信道来对传输信道11建模。在这样的实施例中,传输信道11可以是可以向其发送(写入)和从其接收(读取)的任何类型的存储设备。
另外地,发射机10和接收机12可以配备有单个或多个天线。特别地,在存在多个发射和/或接收天线的情况下,空时编码和解码技术可以与纠错编码和解码结合使用。
此外,可以在一个或多个频带上发送编码的数据。当在多个频带上发送编码的数据时,调制器105可以使用诸如OFDM(正交频分复用(Orthogonal Frequency DivisionMultiplexing)的缩写)和FBMC(滤波器组多载波(Filter Bank Multi-Carrier)的缩写)之类的多载波调制格式。
根据本发明的一些实施例,发射机10包括纠错码(ECC)编码器103,其被配置为使用非二进制纠错码将表示为u的数字输入数据块101编码为表示为c的码字向量。接收机12可以被配置为通过传输信道11接收编码的数据或码字向量的有噪副本p。接收机12可以包括纠错码解码器123,其被配置为递送数字输出数据块125作为对原始数字输入数据块101的估计
数字输入数据101可以在被ECC编码器103编码之前被预先压缩。适合于增加信息吞吐量的任何源编码方案(图1中未示出)可以用于执行压缩。由ECC编码器103编码的数据可以由调制器105进一步调制。调制器105可以被配置为将编码的数据映射到模拟信号s上并通过传输信道11发送该模拟信号s。
接收机12可以包括被配置为执行相反功能的相应的处理块。接收机12可以包括解调器121,其被配置为通过在由ECC解码器123对来自传输信道的接收到的信号p进行ECC解码之前对该接收到的信号p执行解调来生成信号y。解调器121可以被配置为将接收到的信号或信道输出移动回到基带中,并执行低通滤波、采样和量化。可以使用任何源解码器(图1中未示出)进一步对由ECC解码器123解码的数据进行解压缩。ECC解码器123可以被配置为实现根据本发明的各种实施例的涉及校验节点处理单元和变量节点处理单元的迭代解码器(其被称为“迭代解码算法”)。
仅出于说明的目的,将参考线性块非二进制纠错码对本发明的一些实施例进行以下描述。然而,技术人员将容易地理解,本发明的各种实施例适用于包括非二进制卷积码的任何线性非二进制纠错码。
因此,ECC编码器103可以实现由表示的线性块非二进制纠错码;n和K分别指代码字向量的长度和编码的数据块的长度。ECC编码器103相应地将长度为K的数据块u编码为码字向量c,其中c=(c1,…,cn)是包括纠错码的构造的代数结构的n个元素的向量,这些元素也被称为“符号”。
线性码可以使用由G表示的生成器矩阵和由H表示的奇偶校验矩阵以矩阵形式表示。使用向量的行表示法,生成器矩阵G的维度为K×n,而奇偶校验矩阵的维度为(n-K)×n。这两个矩阵通过关系G.Ht=0链接。另外地,两个矩阵的条目都属于代数结构,在该代数结构上构造了纠错码。使用矩阵表示,任何码字向量c都满足等式c.Ht=0。该等式也被称为“奇偶校验等式”。该等式定义了(n-K)个奇偶校验约束,这些约束被设计为要由任何码字向量满足。
每个变量节点vn∈{1,2,…,n}对应于奇偶校验矩阵的列。每个校验节点cn∈{1,2,…,n-K}对应于奇偶校验矩阵的行,即,对应于奇偶校验等式。如果奇偶校验矩阵的条目Hvn,cn等于码的构造的代数结构的非空元素,则将变量节点vn连接到校验节点cn。
仅出于说明的目的,将参考有限域对一些实施例进行以下描述。然而,技术人员将容易地理解,本发明可以应用于诸如非零交换除法环之类的任何除法环状代数结构以及诸如有限除法近环之类的任何近环。可以在文章“Non-binary LDPC codes over finitedivision near rings”(23rd International Conference on Telecommunications(ICT),第1-7页,Thessaloniki,2016年)中找到对有限除法近环上的非二进制纠错码的设计上的了解。
对于在Galois域上构造的非二进制线性码,通常用GF(q)表示,其中q>2表示码的基数,这些符号取GF(q)中的值。因此,码字向量c是n个符号的向量,其中每个符号都属于GF(q)。
仅出于说明的目的,将参考使用非二进制LDPC码对数据进行编码的ECC编码器103对一些实施例进行以下描述。然而,技术人员将容易地理解,本发明的各种实施例还适用于其他非二进制码,例如,非二进制极性码、非二进制卷积码、非二进制turbo码,并且通常适用于非二进制线性块纠错码。非二进制纠错码可以有利地用于高频谱效率编码。
出于示例性目的,在一个实施例中,ECC解码器123实现非二进制LDPC码解码器,以用于对由ECC编码器103使用非二进制LDPC码编码的数据进行解码。
参考EMS算法对本发明进行描述。然而,技术人员将容易地理解,各种实施例适用于诸如最小-最大之类的任何迭代非二进制LDPC码解码器。
参考图2,示出了根据使用EMS算法的一些实施例的迭代非二进制LDPC解码器123的结构。
为了易于呈现本发明的各种实施例,在说明书的其余部分中将使用以下定义。
基于基本校验节点的架构指代包括一个或多个基本校验节点处理器的校验节点处理单元的任何实现方式架构。
由变量节点处理单元27-vn生成的消息被称为“变量节点消息”。由校验节点处理单元25-cn生成的消息被称为“校验节点消息”。
变量节点消息和校验节点消息可以包括携带代表符号的数据的分量。变量节点消息中包括的分量被称为“变量节点分量”,并且校验节点消息中包括的分量被称为“校验节点分量”。
固有消息(intrinsic message)指代包括被称为固有分量的分量的消息,每个固有分量包括固有符号和与该固有符号相关联的固有可靠性度量。固有可靠性度量是仅根据接收到的序列被计算出的。因此,“固有”一词指代固有可靠性度量仅依赖于(传输)信道。
由基本校验节点处理器处理的第一消息和第二消息指代从由其中实现基本校验节点处理单元的校验节点处理单元接收到的变量节点消息导出的消息。第一消息包括第一预定义数量的分量,并且第二消息包括第二预定义数量的分量。
基本校验节点消息指代由基本校验节点处理器根据第一消息和第二消息计算出的消息。基本校验节点消息的分量被称为基本校验节点分量。
辅助分量(也被称为“气泡”)指代由基本校验节点处理器根据第一消息中包括的分量和第二消息中包括的分量确定出的分量。辅助分量包括辅助符号和与该辅助符号相关联的辅助可靠性度量。
迭代解码器123可以被配置为根据由向量y=(y1,…,yn)表示的接收到的有噪序列来确定对由发射机10发送的码字c的估计码字c=(c1,…,cn)可能已经在发射机处使用由在Galois域GF(q)(其中q>2)上构造的表示的非二进制LDPC码被编码。可以在若干次迭代中处理信号,以尝试在每次迭代中减少其余的错误。
因此,迭代解码器123可以包括n个变量节点处理单元27(也由27-1至27-n或27-vn表示,其中vn=1,…,n)和n-K个校验节点处理单元25(也由25-1至25-(n-K)或25-cn表示,其中cn=1,…,n-K)。
变量节点处理单元27-vn(vn=1,…,n)和校验节点处理单元25-cn(cn=1,…,n-K)可以被配置为在多次消息交换迭代期间迭代地交换变量节点消息和校验节点消息,以根据有噪序列y估计最可靠的码字
根据一些实施例,变量节点消息和校验节点消息中分别包括的变量节点分量和校验节点分量可以携带符号的值和测量其可靠性的度量(在下文中也被称为“可靠性度量”)。可靠性度量的值与符号的可靠性相关。在这样的实施例中,每个变量节点消息(或者校验节点消息)可以包括q个变量节点分量(或者校验节点分量),分量(校验节点分量或变量节点分量)包括:
-GF(q)中的符号的值,以及
-与符号相关联的可靠性度量。
在一些实施例中,符号的可靠性度量可以对应于符号的估计出的概率密度函数,该概率密度函数表示符号正确的概率。特别地,可靠性度量可以在对数域中由对数似然比(LLR)值表示。
取决于可靠性度量的表示,最可靠的符号可以与可靠性度量的最小值或最大值相关联。
LLR度量的一种定义涉及由βi表示的固定符号,并且该固定符号对应于满足下式的最可靠的符号:
βi=argmaxt=0,…,q-1p(αt|yi) (1)
在等式(1)中,αt表示Galois域上的符号。
因此,在Galois域中的符号是等概率的假设下,对于第i符号ci,该符号的LLR值等于αt,标记为LLRt(ci),并且可以被表示为:
使用LLR度量的这种定义,根据等式(2),最可靠的符号是与最小的LLR值相关联的那些符号。
仅出于说明的目的,将参考在对数域中由对数似然比(LLR)值表示的可靠性度量对一些实施例进行以下描述。然而,技术人员将容易地理解,可以使用其他类型的解码和可靠性度量来测量符号的可靠性。例如,可靠性度量可以是符号的概率密度函数的二次距离或任何单调函数。
根据使用EMS算法的一些实施例,可以根据变量节点消息和/或校验节点消息的可靠性(即,根据变量节点分量和校验节点分量中包括的可靠性度量的给定次序(例如,递增或递减))来对变量节点消息和/或校验节点消息进行排序。此外,变量节点消息可以被截断以便仅保留包括最可靠的符号的预定义数量nVN的变量节点分量,其中nVN严格小于q。类似地,校验节点消息可以被截断以便仅保留包括最可靠的符号的预定义数量nCN的校验节点分量,其中nCN严格小于q。此外,排序操作和截断操作可以由变量节点处理单元27-vn或校验节点处理单元25-cn执行。
在实施例中,变量节点分量的预定义数量nVN和校验节点分量的预定义数量nCN不同,即,nVN≠nCN。
在另一实施例中,变量节点分量的预定义数量nVN和校验节点分量的预定义数量nCN相同,即,nVN=nCN。
将参考被排序和截断的变量节点消息和校验节点消息来对本发明的实施例进行以下描述,校验节点分量和变量节点分量的数量相等或不同。
在变量节点处理单元27-vn与校验节点处理单元25-cn之间的消息的交换可以由变量节点处理单元27-vn开始。在解码过程开始时发送到校验节点处理单元25-cn的变量节点消息可以包括固有消息。
迭代解码器123可以相应地包括数据处理单元23,该数据处理单元23被配置为根据接收到的序列来确定固有符号和固有可靠性度量,被表示为x∈GF(q)且属于Galois域(通常属于非二进制纠错码的代数结构)的固有符号与被表示为I+(x)的固有可靠性度量相关联。可以根据纠错码解码器123外部的设备计算固有可靠性度量。固有信息可以包括信道信息。可替代地,在级联码的情况下,可以从信道以及从不同解码器的输出获得固有信息。
更具体地,数据处理单元23可以包括:
-符号生成器231,其被配置为生成属于在其上构造非二进制纠错码的代数结构的固有符号x,以及
-固有可靠性度量生成器单元233,其被配置为根据接收到的序列y生成与每个固有符号x相关联的固有可靠性度量I+(x)。
使用等式(2)的LLR表示法,可以根据下式以对数尺度确定与符号x相关联的固有可靠性度量:
在等式(3)中,βi指代先前在等式(1)中定义的最可靠的符号。
根据一些实施例,固有可靠性度量生成器单元233可以被配置为从存储单元21加载接收到的信号y,存储单元21被配置为存储接收到的信号y。
变量节点处理单元27-vn可以被配置为接收从接收到的信号y导出的固有可靠性度量,并且从与集合相对应的校验节点处理单元25-cn接收校验节点消息。变量节点处理单元27-vn还可以被配置为处理接收到的校验节点消息和固有可靠性度量、计算局部决策、并且将变量节点消息递送到与集合中的校验节点相对应的至少一个校验节点处理单元25-cn。
校验节点处理单元25-cn可以被配置为处理由对应于集合的变量节点处理单元27-vn发送的变量节点消息。校验节点处理单元25-cn还可被配置为将校验节点消息递送到与集合中的变量节点相对应的至少一个变量节点处理单元27-vn。
如果处理后的信号满足奇偶校验等式,或者如果在不满足所有奇偶校验约束的情况下达到了消息交换迭代的最大数量,则解码过程可以终止。
因此,迭代解码器123可以包括解码决策单元29,该解码决策单元29被配置为在解码过程的每次迭代中接收由变量节点处理单元27-vn计算出的局部决策,并且:
-如果处理后的信号满足奇偶校验等式,则递送处理后的信号作为对原始码字向量的估计;或者
-声明解码失败,但是如果在不满足所有奇偶校验约束的情况下达到了迭代的最大数量,则输出在最后一次迭代中估计出的码字向量。
可以根据各种架构来执行在校验节点处理单元级别处对校验节点消息的计算。根据本发明的实施例,校验节点处理单元实现使用基本校验节点处理单元的架构,例如,前向-后向架构。
在度为dVN的变量节点处理单元27-vn处执行的变量节点更新涉及使用由J表示的偏移值。该偏移值用作未被包括在校验节点消息中的符号的默认可靠性度量值。度为dVN的变量节点处理单元27-vn被配置为接收来自集合中的校验节点处理单元的dVN个校验节点消息以及根据信道输出确定出的固有信息,并且通过组合接收到的固有信息、接收到的校验节点消息和偏移值来确定至少变量节点消息。
本发明的各种实施例提供了高效的低复杂度的设备和方法,其用于确定在迭代解码过程的变量节点更新步骤期间在变量节点处理单元中使用的偏移值。更具体地,在连接到变量节点处理单元并且被配置为向该变量节点处理单元递送校验节点消息的每个基本校验节点处理单元处执行根据各种实施例的对偏移值的确定。
在基于使用基本校验节点处理单元的校验节点架构中,由校验节点处理单元执行的计算被分为涉及多个基本校验节点处理单元的多个基本计算,每个基本校验节点处理单元被配置为根据从接收到的变量节点消息导出的第一消息和第二消息来确定基本校验节点消息。根据由基本校验节点处理器确定的基本校验节点消息来递归地构造/确定校验节点消息。在所使用的基本校验节点处理单元之中,存在至少一个基本校验节点处理单元,该基本校验节点处理单元被配置为将基本校验节点消息发送到变量节点处理单元,而无需由其他基本校验节点处理单元进行进一步处理。在这种情况下,由基本校验节点处理单元计算出的基本校验节点消息是被递送到变量节点处理单元的校验节点消息。
本发明的实施例提供了在连接到变量节点处理单元的基本校验节点处理单元中可实现的偏移值确定设备和方法,其中计算出的基本校验节点消息是要被递送到连接到基本校验节点处理单元的变量节点处理单元的校验节点消息。
根据本发明的各种实施例,校验节点处理单元25-cn实现一个或多个基本校验节点处理器,并且被配置为基于由一个或多个基本校验节点处理器执行的多个基本计算来确定至少一个校验节点消息。
将参考度为dCN的校验节点处理单元25-cn进行以下描述,该校验节点处理单元25-cn被配置为接收由U1,…,表示的dCN个变量节点消息,校验节点处理单元25-cn包括连接到集合中的变量节点处理单元27-vn的至少一个基本校验节点处理单元。
根据使用EMS算法与校验节点消息和变量节点消息的排序和截断的一些实施例,每个变量节点消息Ui,i=1,…,dCN包括由(j=0,…,nVN-1)表示的nVN个变量节点分量,变量节点分量包括属于Galois域GF(q)的符号和与符号相关联的可靠性度量可以根据与可靠性度量的给定次序(递增或递减)相对应的递减的可靠性来对变量节点分量进行排序,使得(或者)(j=0,…,nVN-2),并且针对可靠性度量的递增次序(或者递降次序)的包括最可靠符号的分量为(或者为Ui[nVN-1])。
在不失一般性的情况下,仅出于说明目的,将参考与关联于符号的可靠性度量的递增次序相对应的递减的可靠性对一些实施例进行以下描述。
参考图3,提供了基本校验节点处理单元300,其对应于在校验节点处理单元25-cn中被实现的至少一个基本校验节点处理单元,并且被配置为:
-确定由J表示的偏移值和由V表示的校验节点消息;
-将确定出的偏移值J和校验节点消息V发送到变量节点处理单元305。
第一消息X包括由(x=0,…,nX-1)表示的第一预定义数量nX的分量,并且第二消息Y包括由(y=0,…,nY-1)表示的第二预定义数量nY的分量,第一消息和第二消息是从变量节点消息U1,…,导出的。第一消息和第二消息的每个分量可以包括符号和与该符号相关联的可靠性度量。可以根据与第一消息的分量和第二消息的分量中包括的可靠性度量X+[x]和Y+[y]的给定次序(递增或递减)相对应的递减的可靠性来对第一消息的分量和第二消息的分量进行排序,使得对于可靠性度量的递增次序:
i)X+[x]≤X+[x+1](x=0,…,nX-1)并且Y+[y]≤Y+[y+1](y=0,…,nY-1),并且
根据一些实施例,第一消息和第二消息可以包括相同数量的分量,据此,第一预定义数量和第二预定义数量相等,即,nX=nY。
在另一实施例中,第一消息和第二消息可以包括不同数量的分量,据此,第一预定义数量和第二给定的预定义数量不同,即,nX≠nY。
根据本发明的实施例,基本校验节点处理单元300可以被配置为通过根据第一消息X的分量和第二消息Y的分量确定辅助分量(也被称为“气泡”),来确定偏移值J和校验节点消息。
更具体地,本发明的实施例提供了基本校验节点处理单元300的简化实现方式,使得对校验节点消息(针对该基本校验节点处理单元300,其与根据第一消息和第二消息计算出的基本校验节点消息相对应)的计算不要求对辅助分量进行排序,因为它是在未连接到变量节点处理单元的基本校验节点处理器中以及在现有技术的基本校验节点处理器中执行的。根据本发明的实施例,连接到变量节点处理单元并且被配置为确定和发送基本校验节点消息作为递送到所述变量节点处理单元的校验节点消息的基本校验节点处理单元300可以仅通过将第一消息X的分量和第二消息Y的分量进行组合而无需对得到的组合进行排序来确定校验节点消息V的分量。这意味着,确定出的校验节点消息V可以包括nV个校验节点分量,这些校验节点分量未在基本校验节点处理单元300的级别处被排序,并且可以稍后在执行变量节点更新之前由变量节点处理单元305排序。
有利地,本发明的实施例使得能够在连接到变量节点处理单元305的每个基本校验节点处理单元300处根据由基本校验节点处理单元300接收到的第一消息和第二消息导出的辅助分量进一步确定偏移值。这使得能够针对每个变量节点处理单元305确定不同的偏移值,并且根据预定义的解码性能标准来自适应地选择偏移值。
因此,并且参考图3,基本校验节点处理单元300可以包括计算单元301,该计算单元301被配置为根据第一消息X和第二消息Y来确定由(t=1,…,nB)表示的两个或更多个辅助分量,其中nB≥2表示辅助分量的预定义数量。更具体地,由 (t=1,…,nB)表示的辅助分量指代根据第一消息X中包括的分量和第二消息中包括的分量 确定出的辅助分量,索引x在0,1,…,nX-1中变化,并且索引y在0,1,…,nY-1中变化。辅助分量是包括以下各项的分量:
-由Bt[x][y]+表示的与辅助符号相关联的辅助可靠性度量。
可以由第一消息中包括的分量的可能组合和第二消息中包括的分量的可能组合的总数来给出辅助分量的最大可能数量。辅助分量的最大可能数量可以等于nX×nY。
辅助分量的预定义数量nB可以在校验节点消息V中包括的校验节点分量的预定义数量nV与辅助分量的最大可能数量nX×nY之间变化。
根据一些实施例,计算单元301可以被配置为:
-通过在非二进制纠错码的构造的代数结构上应用第一加法运算,来确定每个辅助分量Bt[x][y](t=1,…,nB)中包括的辅助符号根据下式将第一加法运算应用于第一消息X的分量中包括的符号以及第二消息Y的分量Y[y]中包括的符号
对于在Galois域上构造的纠错码,在Galois域GF(q)上执行等式(4)的第一加法运算。
-通过在包括实数域、整数域和自然数域的组中选择的预定义的代数结构上应用第二加法运算,来确定与每个辅助符号相关联的辅助可靠性度量Bt[x][y]+,根据下式将第二加法运算应用于与第一消息X的分量X[x]中包括的符号相关联的可靠性度量X[x]+以及与第二消息Y的分量Y[y]中包括的符号相关联的可靠性度量Y[y]+:
Bt[x][y]+=X[x]++Y[y]+ (5)
通过简化在基本校验节点处理单元300处的处理,使得不要求对辅助分量进行排序,可以将计算单元301的结构简化为非二进制纠错码的构造的代数结构上的第一加法器(例如,用于在Galois域上构造的码的Galois域加法器)和预定义的代数结构上的第二加法器,以执行等式(5)的加法运算。移除排序器的简化实现复杂度降低、功耗降低和时延降低,所有这些都归因于现有技术中进行的对辅助分量的排序。
根据一些实施例,基本校验节点处理器300可以被配置为取决于在包括以下各项的组中选择的至少一个参数来预先设置辅助分量的预定义数量nB:
-非二进制纠错码的构造的代数结构(例如,用于在Galois域上构造的码的Galois域),
-信噪比,
-第一消息X的分量的第一预定义数量nX和第二消息Y的分量的第二预定义数量nY中的一个或两个,以及
-基本校验节点处理器300在校验节点处理单元25-cn内的位置。
在一些实施例中,计算单元301可以串行地接收第一消息和第二消息的分量,使得在每个时钟周期接收第一消息的一个分量或第二消息的一个分量。在其他实施例中,第一消息和第二消息可以并行地或以半并行的方式到达计算单元301。
确定出的辅助分量可以用于确定作为可靠性度量值的偏移值J,并用于确定要递送到变量节点处理单元305的校验节点消息V的nV个分量。辅助分量可以是未排序的或仅部分排序的。
本发明的实施例使得能够根据解码性能标准的优化来确定偏移值。因此,计算单元301可以被配置为与每个辅助分量Bt[x][y](t=1,…,nB)相关联地,根据解码性能标准来确定一个或多个解码性能值。在给定解码性能值的情况下,基本校验节点处理单元300还可以包括选择单元303,该选择单元303被配置为在两个或更多个辅助分量Bt[x][y](t=1,…,nB)之中选择由Bopt[x][y]表示的辅助分量(该辅助分量关联于在与两个或更多个辅助分量的所有辅助分量相关联的解码性能值之中的最佳解码性能值),并根据所选择的辅助分量Bopt[x][y]中包括的辅助可靠性度量Bopt[x][y]+来确定偏移值J。在一个实施例中,偏移值J被指派有所选择的辅助分量Bopt[x][y]中包括的辅助可靠性度量Bopt[x][y]+的值(因此,偏移值J等于辅助可靠性度量Bopt[x][y]+的值)。
基本校验节点处理单元300可以被配置为在确定出的nB个辅助分量之中选择预定义数量nV的辅助分量的集合,并且将辅助分量的所选择的集合发送到变量节点处理单元305,所发送的辅助分量构成了校验节点消息V的校验节点分量。
根据一些实施例,解码性能值可以对应于针对给定的信噪比值评估出的比特错误率或帧错误率。
根据一些实施例,可以使用离线仿真来评估与每个辅助分量相关联的解码性能值。
图4是示出根据其中使用前向-后向架构的度为dCN≥2的校验节点处理单元400中的本发明的实施例的至少一个基本校验节点处理单元300的示例性实现方式的框图。校验节点处理单元400可以被配置为接收dCN个变量节点消息U1,…,并使用涉及多个基本校验节点处理单元的基本计算来确定由V1,…,表示的dCN个校验节点消息,每个变量节点消息Vl被发送到变量节点处理单元47-l(l=1,…,dCN)。
因此,校验节点处理单元400可以包括(3dCN-6)个基本校验节点处理器,这些基本校验节点处理器被划分为与三个处理层相关联的3个类别,这三个处理层被称为“前向层”、“后向层”和“合并层”。
前向层可以包括dCN-2个基本校验节点处理器ENC-FL 41-1,……,41-(dCN-2),其中至少一个基本校验节点处理器ECN-FL 41-1被配置为根据两个变量节点消息U1和U2(第一消息和第二消息各自对应于变量节点消息)来确定基本校验节点消息,前向层的其余的基本校验节点处理器ECN-FL 41-l(l=2,…,dCN-2)中的每一个被配置为根据对应于变量节点消息的第一消息和对应于由位于前向层的先前阶段处的基本校验节点处理器确定出的基本校验节点消息的第二消息来确定基本校验节点消息。前向层还包括连接到变量节点处理单元47-dCN的简化的基本校验节点处理单元ECN-FL 41-(dCN-2),该基本校验节点处理单元ECN-FL 41-(dCN-2)根据本发明的实施例被配置为确定偏移值和校验节点消息并将它们发送到变量节点处理单元47-dCN。
后向层包括dCN-2个基本校验节点处理器ENC-BL 43-1,……,43-(dCN-2),其中至少一个基本校验节点处理器ECN-BL 43-(dCN-2)被配置为根据两个变量节点消息和(第一消息和第二消息各自对应于变量节点消息)来确定基本校验节点消息,后向层的其余的基本校验节点处理器ECN-BL 43-l(l=2,…,dCN-2)中的每一个被配置为根据对应于变量节点消息的第一消息和对应于由位于后向层的先前阶段处的基本校验节点处理器确定出的基本校验节点消息的第二消息来确定基本校验节点消息。后向层还包括连接到变量节点处理单元47-1的简化的基本校验节点处理单元ECN-BL 43-1,基本校验节点处理单元ECN-FL 41-1根据本发明的实施例被配置为确定偏移值J1和校验节点消息V1,并将它们发送到变量节点处理单元47-1。
合并层可以包括dCN-2个基本校验节点处理器ENC-ML 45-1,……,45-(dCN-2),其中:
-基本校验节点处理器ECN-ML 45-(dCN-2)被配置为根据对应于变量节点消息的第一消息和对应于由位于前向层处的基本校验节点处理器ECN-FL 41-(dCN-3)确定出的基本校验节点消息的第二消息来确定基本校验节点消息;
-基本校验节点处理器ECN-ML 45-1被配置为根据对应于变量节点消息的第一消息U1和对应于由位于后向层处的基本校验节点处理器ECN-FL43-2确定出的基本校验节点消息的第二消息来确定基本校验节点消息;
-基本校验节点处理器ECN-ML 45-(dCN-2)被配置为根据对应于变量节点消息的第一消息和对应于由位于前向层处的基本校验节点处理器ECN-FL 41-(dCN-3)确定出的基本校验节点消息的第二消息来确定基本校验节点消息;
-合并层的其余的基本校验节点处理器ECN-ML 45-l(l=2,…,dCN-3)中的每一个被配置为根据对应于由位于前向层中的基本校验节点处理器确定出的基本校验节点消息的第一消息和对应于由位于后向层中的基本校验节点处理器确定出的基本校验节点消息的第二消息来确定基本校验节点消息。
合并层的基本校验节点处理器ECN-ML 45-l(l=1,…,dCN-2)中的每一个是简化的基本校验节点处理单元,其根据本发明的实施例被配置为确定偏移值Jl+1和校验节点消息Vl+1,并将它们发送到变量节点处理单元47-(l+1)(l=1,…,dCN-2)。
本发明的实施例还可以适用于在不同的基本校验节点处理单元处进行计算之前应用变量节点消息的预排序的前向-后向架构,以及结合前向-后向架构与基于校验子的架构的混合架构。例如在欧洲专利申请EP16305510.6中公开了预排序的前向-后向架构,并且例如在欧洲专利申请EP17305747.2中公开了混合架构。
还提供了一种用于确定在非二进制纠错码解码器的校验节点处理单元中被实现的基本校验节点处理单元处的偏移值和校验节点消息的方法,该偏移值和校验节点消息是根据第一消息和第二消息被确定的,该第一消息和第二消息是从由校验节点处理单元接收到的变量节点消息U1,…,导出的,其中dCN≥2,基本校验节点处理单元被连接到变量节点处理单元,确定出的偏移值和校验节点消息要被递送到该变量节点处理单元。
图5是描绘根据本发明一些实施例的用于根据第一消息X和第二消息Y确定偏移值J和校验节点消息V的方法的流程图。
在步骤501处,可以接收第一消息X和第二消息Y。
第一消息X可以包括表示的第一预定义数量nX的分量,并且第二消息Y可以包括第二预定义数量nY的分量,第一消息和第二消息是从变量节点消息U1,…,导出的。第一消息和第二消息的每个分量可以包括符号和与该符号相关联的可靠性度量。可以根据与符号相关联的可靠性度量的给定(递增或递减)次序对第一消息和第二消息的分量进行排序。
在步骤503处,可以根据第一消息中包括的分量和第二消息中包括的分量来确定两个或更多个辅助分量。根据第一消息X中包括的分量并根据第二消息中包括的分量确定的辅助分量(t=1,…,nB)包括辅助符号和与该辅助符号相关联的辅助可靠性度量Bt[x][y]+。
更具体地,可以通过在非二进制纠错码的构造的代数结构上应用第一加法运算来确定每个辅助分量Bt[x][y](t=1,…,nB)中包括的辅助符号第一加法运算根据等式(4)被应用于第一消息X的分量中包括的符号和第二消息Y的分量Y[y]中包括的符号
可以通过在包括实数域、整数域以及自然数域的组中选择的预定义的代数结构上应用第二加法运算,来确定与每个辅助符号相关联的辅助可靠性度量Bt[x][y]+,第二加法运算根据等式(5)被应用于与第一消息X的分量X[x]中包括的符号相关联的可靠性度量X[x]+以及与第二消息Y的分量Y[y]中包括的符号相关联的可靠性度量Y[y]+。
在步骤505处,可以与在步骤503处确定出的两个或更多个辅助分量之中的每一个相关联地确定解码性能值。
在步骤507处,可以通过在两个或更多个辅助分量之中选择与最佳解码性能值相关联的辅助分量,并将偏移值设置为所选择的辅助分量中包括的辅助可靠性度量来确定偏移值。
在步骤509处,可以将确定出的偏移值以及在步骤503处确定出的两个或更多个辅助分量之中的辅助分量的所选择的集合发送到变量节点处理单元。
本文描述的方法和设备可以通过各种方式来实现。例如,这些技术可以以硬件、软件或其组合来实现。对于硬件实现方式,例如,可以根据仅硬件配置(例如,在具有对应存储器的一个或多个FPGA、ASIC或VLSI集成电路中)或根据使用VLSI和DSP两者的配置,来实现迭代解码器123的处理元件。
虽然已经通过对各种示例的描述示出了本公开的实施例,并且虽然已经相当详细地描述了这些实施例,但是申请人的意图不是将所附权利要求书的范围限制或以任何方式局限于此类细节。
特别地,虽然已经参考EMS算法的特定实现方式对本公开的一些实施例进行了描述,但是应当注意,本公开还可以适用于诸如最小-最大算法之类的其他迭代解码算法。
此外,尽管已经参考在Galois域上构造的纠错码描述了本公开的一些实施例,但是本领域技术人员将容易地理解,所提出的实施例也可以适用于在非交换组上构造的任何非二进制LDPC码和任何非二进制图纠错码,例如,多项式码(例如,循环码)。
此外,即使本公开在通信系统的应用中具有一些优点,也应当注意,本公开不限于这样的通信设备,并且可以被集成在诸如数据存储设备之类的许多设备中。
可以通过供应给任何类型的计算机的处理器以产生具有执行指令以实现本文指定的功能/动作处理器的机器的计算机程序指令来实现本文描述的方法。这些计算机程序指令还可以存储在计算机可读介质中,该计算机可读介质可以指导计算机以特定方式起作用。为此,可以将计算机程序指令加载到计算机上以引起一系列操作步骤的执行,并由此产生计算机实现的过程,使得所执行的指令提供用于实现本文指定的功能的过程。
Claims (10)
1.一种在非二进制纠错码解码器的校验节点处理单元中被实现的基本校验节点处理单元(300),所述基本校验节点处理单元(300)被链接到变量节点处理单元(305),并且被配置为接收第一消息和第二消息,所述第一消息和所述第二消息中的每一个包括至少两个分量,其中,所述基本校验节点处理单元(300)包括:
-计算单元(301),其被配置为:
·根据所述第一消息中包括的分量和所述第二消息中包括的分量来确定两个或更多个辅助分量,辅助分量包括辅助可靠性度量;以及
·与所述两个或更多个辅助分量中的每一个相关联地确定解码性能值;
-选择单元(303),其被配置为在所述两个或更多个辅助分量之中选择与最佳解码性能值相关联的辅助分量,并且根据所选择的辅助分量中包括的所述辅助可靠性度量来确定偏移值,
所述基本校验节点处理单元(300)还被配置为将所述偏移值以及在所述两个或更多个辅助分量之中的辅助分量的所选择的集合发送到所述变量节点处理单元(305)。
2.根据权利要求1所述的基本校验节点处理单元,其中,所述解码性能值包括针对给定的信噪比评估出的比特错误率。
3.根据权利要求1所述的基本校验节点处理单元,其中,所述第一消息包括第一预定义数量的分量,并且所述第二消息包括第二预定义数量的分量,所述第一消息的每个分量和所述第二消息的每个分量包括符号和与所述符号相关联的可靠性度量,所述计算单元(301)被配置为根据所述第一消息中包括的分量和所述第二消息中包括的分量来确定所述辅助分量之中的每个辅助分量,辅助分量还包括辅助符号。
4.根据权利要求3所述的基本校验节点处理单元,其中,所述计算单元(301)被配置为:
-通过在所述非二进制纠错码的构造的代数结构上应用第一加法运算来确定每个辅助分量中包括的所述辅助符号,所述第一加法运算被应用于所述第一消息的分量中包括的符号和所述第二消息的分量中包括的符号,以及
-通过在预定义的代数结构上应用第二加法运算来确定与每个辅助符号相关联的所述辅助可靠性度量,所述第二加法运算被应用于与所述第一消息的分量中包括的符号相关联的可靠性度量以及与所述第二消息的分量中包括的符号相关联的可靠性度量。
5.根据权利要求4所述的基本校验节点处理单元,其中,在包括实数域、整数域和自然数域的组中选择所述预定义的代数结构。
6.根据权利要求3所述的基本校验节点处理单元,其中,分量的第一给定数量和分量的第二给定数量是相等的。
7.根据权利要求3所述的基本校验节点处理单元,其中,分量的所述第一给定数量和分量的所述第二给定数量是不同的。
8.根据权利要求1所述的基本校验节点处理单元,其中,所述校验节点处理单元被配置为在多次消息交换迭代期间与在所述非二进制纠错码解码器中被实现的至少一个变量节点处理单元交换两个或更多个变量节点消息,所述基本校验节点处理单元(300)被配置为取决于在包括以下各项的组中选择的至少一个参数来预先确定辅助分量的数量:所述消息交换迭代的次数、所述非二进制纠错码的构造的代数结构、信噪比、所述第一消息的分量的第一预定义数量或所述第二消息的分量的第二预定义数量中的一个或多个、以及所述基本校验节点处理器(300)在所述校验节点处理单元内的位置。
9.根据权利要求1所述的基本校验节点处理单元,其中,所述基本校验节点处理单元(300)是根据前向-后向架构在所述校验节点处理单元中被实现的。
10.一种用于确定在非二进制纠错码解码器的校验节点处理单元中被实现的基本校验节点处理单元(300)中的偏移值的方法,所述基本校验节点处理单元(300)被链接到变量节点处理单元(305),并且被配置为接收第一消息和第二消息,所述第一消息和所述第二消息中的每一个包括至少两个分量,其中,所述方法包括:
-根据所述第一消息中包括的分量和所述第二消息中包括的分量来确定两个或更多个辅助分量,辅助分量包括辅助可靠性度量;
-与所述两个或更多个辅助分量中的每一个相关联地确定解码性能值;
-在所述两个或更多个辅助分量之中选择与最佳解码性能值相关联的辅助分量,并且根据所选择的辅助分量中包括的所述辅助可靠性度量来确定偏移值;
所述方法还包括将所述偏移值以及在所述两个或更多个辅助分量之中的辅助分量的所选择的集合发送到所述变量节点处理单元(305)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18306325.4 | 2018-10-08 | ||
EP18306325.4A EP3637622A1 (en) | 2018-10-08 | 2018-10-08 | Offset value determination in a check node processing unit for message-passing decoding of non-binary codes |
PCT/EP2019/076993 WO2020074404A1 (en) | 2018-10-08 | 2019-10-07 | Offset value determination in a check node processing unit for message-passing decoding of non-binary codes |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112889221A true CN112889221A (zh) | 2021-06-01 |
CN112889221B CN112889221B (zh) | 2024-06-14 |
Family
ID=63857847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980065974.9A Active CN112889221B (zh) | 2018-10-08 | 2019-10-07 | 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11545998B2 (zh) |
EP (1) | EP3637622A1 (zh) |
CN (1) | CN112889221B (zh) |
WO (1) | WO2020074404A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567596A (zh) * | 2022-01-24 | 2022-05-31 | 浙江数秦科技有限公司 | 一种用于区块链的数据快速交换方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4142161B1 (en) * | 2021-08-27 | 2023-12-13 | Universite De Bretagne Sud | A method for decoding a codeword encoded using a non-binary code, corresponding device and computer program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429483B1 (en) * | 2007-12-12 | 2013-04-23 | Marvell International Ltd. | Edge-based decoders for low-density parity-check codes |
US20170093428A1 (en) * | 2015-09-25 | 2017-03-30 | SK Hynix Inc. | Techniques for adaptive ldpc decoding |
CN107919874A (zh) * | 2016-09-09 | 2018-04-17 | 南布列塔尼大学 | 用于非二进制ldpc码解码的校验子计算的基本校验节点处理 |
CN107979445A (zh) * | 2016-10-25 | 2018-05-01 | 南布列塔尼大学 | 使用预先排序的输入的基于基本校验节点的校正子解码 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566666B2 (en) * | 2011-07-11 | 2013-10-22 | Lsi Corporation | Min-sum based non-binary LDPC decoder |
US8918704B2 (en) * | 2012-03-15 | 2014-12-23 | David Declercq | Decoding method and apparatus for non-binary, low-density, parity check codes |
KR102080069B1 (ko) * | 2013-09-25 | 2020-04-14 | 삼성전자주식회사 | 비이진 ldpc 부호를 사용하는 수신기에서 데이터를 복호하는 방법 및 장치 |
FR3016259B1 (fr) * | 2014-01-07 | 2017-09-08 | Univ Bretagne Sud | Procede de gestion d'une unite de calcul de noeud de parite, equipement et logiciel pour la mise en oeuvre du procede |
KR20150137430A (ko) * | 2014-05-29 | 2015-12-09 | 삼성전자주식회사 | 통신 시스템에서 비-이진 ldpc 부호를 복호화하는 방법 및 장치 |
US9853661B2 (en) * | 2015-12-08 | 2017-12-26 | Apple Inc. | On-the-fly evaluation of the number of errors corrected in iterative ECC decoding |
EP3242405B1 (en) | 2016-05-02 | 2024-02-21 | Université de Bretagne Sud | Non-binary check node processing with pre-sorted input |
EP3419179B1 (en) | 2017-06-19 | 2022-11-02 | Universite De Bretagne Sud | Hybrid architectures for check node processing of extended min-sum (ems) decoding of non-binary ldpc codes |
-
2018
- 2018-10-08 EP EP18306325.4A patent/EP3637622A1/en not_active Ceased
-
2019
- 2019-10-07 CN CN201980065974.9A patent/CN112889221B/zh active Active
- 2019-10-07 WO PCT/EP2019/076993 patent/WO2020074404A1/en active Application Filing
- 2019-10-07 US US17/276,255 patent/US11545998B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429483B1 (en) * | 2007-12-12 | 2013-04-23 | Marvell International Ltd. | Edge-based decoders for low-density parity-check codes |
US20170093428A1 (en) * | 2015-09-25 | 2017-03-30 | SK Hynix Inc. | Techniques for adaptive ldpc decoding |
CN107919874A (zh) * | 2016-09-09 | 2018-04-17 | 南布列塔尼大学 | 用于非二进制ldpc码解码的校验子计算的基本校验节点处理 |
CN107979445A (zh) * | 2016-10-25 | 2018-05-01 | 南布列塔尼大学 | 使用预先排序的输入的基于基本校验节点的校正子解码 |
Non-Patent Citations (2)
Title |
---|
E. BOUTILLON ETC.: "Simplified check node processing in nonbinary LDPC decoders", 2010 6TH INTERNATIONAL SYMPOSIUM ON TURBO CODES & ITERATIVE INFORMATION PROCESSING, pages 201 - 205 * |
EMMANUEL BOUTILLON ETC.: "Bubble check: a simplified algorithm for elementary check node processing in extended min-sum non-binary LDPC decoders", ELECTRONICS LETTERS, vol. 16, no. 9, pages 1 - 3 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567596A (zh) * | 2022-01-24 | 2022-05-31 | 浙江数秦科技有限公司 | 一种用于区块链的数据快速交换方法 |
CN114567596B (zh) * | 2022-01-24 | 2024-04-05 | 浙江数秦科技有限公司 | 一种用于区块链的数据快速交换方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220038116A1 (en) | 2022-02-03 |
CN112889221B (zh) | 2024-06-14 |
US11545998B2 (en) | 2023-01-03 |
WO2020074404A1 (en) | 2020-04-16 |
EP3637622A1 (en) | 2020-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107919874B (zh) | 校验子计算基本校验节点处理单元、方法及其计算机程序 | |
CN107979445B (zh) | 使用预先排序的输入的基于基本校验节点的校正子解码 | |
CN107404321B (zh) | 用于纠错码解码的方法和设备 | |
CN110999093B (zh) | 用于非二进制ldpc码的扩展最小和(ems)解码的校验节点处理的混合架构 | |
CN110999092B (zh) | 非二进制ldpc码的简化的预排序的基于校正子的扩展最小和(ems)解码 | |
US11290128B2 (en) | Simplified check node processing in non-binary LDPC decoder | |
CN112889221B (zh) | 用于非二进制码的消息传递解码的校验节点处理单元中的偏移值确定 | |
US11476870B2 (en) | Variable node processing methods and devices for message-passing decoding of non-binary codes | |
US11245421B2 (en) | Check node processing methods and devices with insertion sort |
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 |