CN111034055A - 在非二进制ldpc解码器中简化的校验节点处理 - Google Patents

在非二进制ldpc解码器中简化的校验节点处理 Download PDF

Info

Publication number
CN111034055A
CN111034055A CN201880050741.7A CN201880050741A CN111034055A CN 111034055 A CN111034055 A CN 111034055A CN 201880050741 A CN201880050741 A CN 201880050741A CN 111034055 A CN111034055 A CN 111034055A
Authority
CN
China
Prior art keywords
check node
check
message
sub
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880050741.7A
Other languages
English (en)
Inventor
C·马尔尚
E·布蒂永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universite de Bretagne Sud
Original Assignee
Universite de Bretagne Sud
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universite de Bretagne Sud filed Critical Universite de Bretagne Sud
Publication of CN111034055A publication Critical patent/CN111034055A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1171Parity-check or generator matrices with non-binary elements, e.g. for non-binary LDPC codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/612Aspects specific to channel or signal-to-noise ratio estimation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明的实施例提供了一个用于非二进制LDPC编码的扩展最小和(EMS)解码器,包括至少一个校验节点处理单元,其被配置为从一个或多个可变节点处理单元接收至少三个可变节点消息并确定一个或多个校验节点消息,其中,所述至少一个校验节点处理单元包括至少两块子校验节点,每块子校验节点被配置为:·从至少三个可变节点消息中的至少一个可变节点消息确定一组子校验节点校正子;以及·从至少一个校正子中确定至少一个校验节点消息。子块校验节点可以使用校正子子块校验节点架构、冒泡校正子子块校验节点架构或者向前‑向后子块校验节点架构来实现。

Description

在非二进制LDPC解码器中简化的校验节点处理
技术领域
概括而言,本发明涉及数字通信,并且具体而言涉及用于对使用错误校正码编码的信号进行解码的方法和设备。
背景技术
错误校正码是在各种传输或存储设备和系统中实现的有效工具,用于为数据提供保护,以防止在数据传输或存储过程中可能发生的错误。数据错误可能源自噪声和/或干扰。通过将冗余数据添加到原始数据中,错误校正码可以保护数据免受此类错误的影响。
实施错误校正码的系统和设备被广泛用于诸如语音和多媒体传输之类的应用中,例如在无线通信中(例如在Wi-Fi 802.11中标准化),在无线电通信中(例如在3G、4G/LTE、5G中标准化)等等),光通信系统,数字视频广播(例如DVB-C2、DVB-S2X、DVB-T2等标准)以及存储系统(例如硬盘驱动器和固态存储器)中。
在现有的错误校正码中,由于线性分组码比卷积码之类的非线性码复杂度低且易于实现,因此被广泛使用。线性特性保证了码字矢量的任何线性组合都是一个码字矢量。示例性线性块码包括汉明码,里德-所罗门码,Turbo码,极地码和低密度奇偶校验(LDPC)码。
LDPC码是非常有效的线性分组码,其可以提供接近最佳信道容量的高传输速率,即可以在通信信道上传输的理论上最大的信息量。特别地,非二进制LDPC码在提供高频谱效率编码方面非常有效,并且可以实现比二进制LDPC码更好的纠错性能。
可以基于码的图形表示(所谓的“Tanner图”)对使用线性错误校正码编码的信号进行解码。Tanner图包括通过边链接在一起的两组节点。第一组节点称为“可变节点”。第二组节点称为“校验节点”。可变节点和校验节点组成处理单元,分别称为“可变节点处理单元”和“校验节点处理单元”。
Tanner图可用于对使用线性错误校正码编码的信号实施迭代解码。因此,可以通过在可变节点处理单元和校验节点处理单元之间迭代地交换消息来执行解码处理。每个可变节点处理单元(分别为校验节点处理单元)从Tanner图中的对应连接节点接收校验节点消息(分别为可变节点消息)。在处理接收到的校验节点消息(分别为可变节点消息)之后,每个可变节点处理单元(分别为校验节点处理单元)将可变节点消息(分别为校验节点消息)传递给至少一个校验节点处理单元(分别为可变节点)。处理单元)对应于Tanner图中的连接节点。每个可变节点处理单元还接收固有信息并计算本地决策。本地决策可用于验证奇偶校验约束。消息交换继续进行,直到满足所有设计为由错误校正码满足的奇偶校验约束,从而返回解码后的码字矢量,或者达到最大迭代次数而不满足所有奇偶校验约束为止。
首先,针对二进制码设计了迭代解码算法,并将其应用于二进制LDPC码。它们是“合乘”算法(也称为“置信传播”或“消息传递”算法)和“最小和”算法,两者均在“N.Wibereg,H-A。Loeliger和R.Kotter,《一般图的码和迭代解码》,《欧洲电信和相关技术交易》,Turbo编码特刊,1995年6月”。就错误解码概率而言,它们提供了近乎最佳的性能。
专为非二进制码设计的迭代解码算法的灵感来自“和积”算法。非二进制码的示例性迭代解码器包括“q元和-乘积”算法,例如在以下内容中公开:
-“M.Davey and D.MacKay,Low-density parity check codes over GF(q),IEEECommunications Letters,vol.2,no.6,pages 165–167,June 1998”,
-“D.J.C.Mackay and M.Davey,Evaluation of Gallager Codes for ShortBlock Length and High Rate Applications,In Proceedings of IMA Workshop onCodes,Systems and Graphical Models,1999”,and
-“L.Barnault and D.Declercq,Fast decoding algorithm for LDPC over GF(q),In Proceedings of IEEE Information Theory Workshop,pages 70–73,April2003”.
一些迭代解码算法基于对数尺度计算,以通过将乘积运算转换为简单求和运算来降低计算复杂性。这种解码方案包括:
-the‘extended min-sum’(EMS)non-binary LDPC codes decoder disclosed in“D.Declercq and M.Fossorier,Decoding algorithms for non-binary LDPC codesover GF,IEEE Transactions on Communications,vol,55,no.4,pages 633–643,April2007”;
-the‘min-max’non-binary LDPC codes decoder disclosed in“V.Savin,Min-max decoding for non-binary LDPC codes,In Proceedings of IEEE InternationalSymposium on Information Theory,pages 960–964,July 2008”,and
-the‘Trellis EMS decoder’disclosed for examples in“J.O.Lacruz,F.García-Herrero,J.Valls and D.Declercq,One Minimum Only Trellis Decoder for Non-Binary Low-Density Parity-Check Codes,in IEEE Transactions on Circuits andSystems I:Regular Papers,vol.62,no.1,pages 177-184,Jan.2015”and“E.Li,F.García-Herrero,D.Declercq,K.Gunnam,J.O.Lacruz and J.Valls,"Low latency T-EMSdecoder for non-binary LDPC codes,"2013Asilomar Conference on Signals,Systemsand Computers,Pacific Grove,CA,2013,pp.831-835”.
EMS算法基于可变节点处理单元和校验节点处理单元之间交换消息的对数域计算。由于EMS算法的最大复杂度是校验节点处理单元执行的计算,因此EMS算法对已处理的可变节点消息进行排序和截断,以进一步减轻校验节点处理单元的计算复杂性和内存需求。
可以根据各种架构,根据排序和截断后的可变节点消息来计算校验节点处理单元级别的校验节点消息。现有的架构包括“向前-向后”架构和“基于校正子”的架构。
在“向前-向后”架构中,由校验节点处理单元执行的计算被划分为涉及多个基本校验节点处理单元(以下称为“基本校验节点处理器”)的多个基本计算。每个基本校验节点处理器处理两个或多个可变节点消息,以生成中间消息,该消息随后在随后的阶段由其余的基本校验节点处理器使用。用于基本校验节点处理的示例性算法包括:
-the‘Bubble check’algorithm disclosed in“E.Boutillon and L.Conde-Canencia,Bubble check:a simplified algorithm for elementary check nodeprocessing in extended min-sum non-binary LDPC decoders,Electronics Letters,vol.46,no.9,pp.633–634,April 2010”,and
-an improved version of the‘Bubble check’algorithm known as‘L-Bubblecheck’disclosed“E.Boutillon,L.Conde-Canencia,and A.Al Ghouwayel,Design of aGF(64)-LDPC Decoder based on the EMS algorithm,IEEE Transactions on Circuitsand Systems,vol.60,no.10,pages 2644-2656,October 2013”.
在基于校正子的架构中,校验节点处理单元实现基于校正子的解码。根据已排序和已截断的可变节点消息计算校验节点消息需要两个步骤。第一步,校验节点处理单元计算涉及所有可变节点消息的一组称为“校正子”的值。在第二步骤,与每个校验节点消息相关联地执行去相关操作。去相关操作包括从计算出的校正子中消除先前从配置为接收计算出的校验节点消息的可变节点处理单元接收到的可变节点消息的贡献。例如,在以下方面公开了基于校正子的架构:
-“P.Schlafer,N.When,M.Alles,T.Lehnigk-Emden,and E.Boutillon,Syndromebased check node processing of high order NB-LDPC decoders,In Proceedings ofthe International Conference on Telecommunications,pages 156-162,April 2015”;
-“P.Schlafer,et al.,A new Architecture for High Speed,Low Latency NB-LDPC Check Node Processing,In Proceedings of IEEE International Symposium onPersonal,Indoor and Mobile Radio Communications,August 2015”;and
-“V.Rybalkin,P.Schlafer and N.Wehn,A New Architecture for High Speed,Low Latency NB-LDPC Check Node Processing for GF(256),In Proceedings of IEEE83rd Vehicular Technology Conference(VTC Spring),Nanjing,pages 1-5,2016”.
向前-向后的架构可以降低硬件成本。但是,它引入了高延迟,从而导致系统吞吐量下降。
基于校正子的架构引入了高复杂性,这主要是由于计算的校正子的数量随可变节点消息的数量而增加。在实际的解码系统中,基于校正子的架构的实现需要大量并非总是可用的计算和存储资源。特别地,该架构的一些实际实施方式不适合于具有高编码率的非二进制码的解码。
因此,需要为尤其是在EMS解码器中并且通常在任何基于Tanner图的迭代解码器中实现的校验节点处理单元开发更高效和更低复杂度的架构。
发明内容
为了解决这些和其他问题,提供了一个解码器,用于确定使用至少一个错误校正码编码的信号的估计。该解码器包括至少一个校验节点处理单元,该至少一个校验节点处理单元被配置为从一个或多个可变节点处理单元接收至少三个可变节点消息并确定一个或多个校验节点消息。至少一个校验节点处理单元包括至少两块子校验节点,每块子校验节点被配置为:
·根据至少三个可变节点消息当中的至少一个可变节点消息确定一组子校验节点校正子;以及
·根据至少一个校正子中确定至少一个校验节点消息。
根据一些实施例,解码器可以包括至少一个消息预排序单元,其被配置为通过将一个或多个置换应用于至少三个可变节点消息来确定置换的可变节点消息,每个块的子校验节点被配置为根据确定的置换可变节点消息中的至少一个置换可变节点消息来确定一组子校验节点校正子。
根据一些实施例,至少一个校验节点处理单元可以包括至少两块子校验节点,至少一块子校验节点块实现校正子子校验节点架构,以及实现向前-向后架构的至少一块子校验节点。
根据一些实施例,解码器可以包括块划分单元,该块划分单元被配置为使用一组块划分参数来将校验节点处理单元划分为至少两块子校验节点。
根据一些实施例,可以与每个校验节点处理单元相关联地确定一组块划分参数,并且可以至少包括:
-第一块划分参数,表示包括在至少一个校验节点处理单元中的至少两块子校验节点,以及
-第二块划分参数,表示至少一个可变节点消息。
根据一些实施例,块划分单元可以被配置为确定与每个校验节点处理单元相关联的相同的一组块划分参数。
根据解码器包括至少两个校验节点处理单元的其他实施例,块划分单元可以被配置为确定与所述至少两个校验节点处理单元中的每一个相关联的一组块划分参数,该组划分参数至少包括针对至少两个校验节点处理单元中的一个的至少一个块划分参数,该块划分参数不同于针对至少两个校验节点处理单元的另一个的另一个块划分参数。
根据一些实施例,解码器可以被配置为根据至少一个校验节点消息确定使用至少一个错误校正码编码的信号的估计。每个校验节点处理单元可以被配置为在多次迭代期间将至少一个校验节点消息发送到一个或多个可变节点处理单元。块划分单元可以被配置为取决于至少一个参数来确定与至少一个校验节点处理单元相关联的一组块划分参数,所述至少一个参数是从包括以下中的一个的组中选择的:信噪比、构造至少一个错误校正码的代数结构、至少三个可变节点消息以及迭代次数。
根据一些实施例,校正子可以包括符号和与该符号相关联的可靠性度量,每个块子校验节点被配置为确定一组子校验节点校正子,所述一组子校验节点校正子包括至少部分地排序为给定顺序的与符号关联的可靠性度量的校正子。
在一些实施例中,每个可变节点消息可以包括一个或多个可变节点分量。每个可变节点分量可以包括符号和与该符号相关联的可靠性度量。可以将每个可变节点消息排序为给定顺序的包括在一个或多个可变节点分量中的可靠性度量。至少一个校验节点处理单元可以进一步包括校正子计算单元,校正子计算单元被配置为根据一个或多个子校验节点校正子确定一组校正子,子校验节点包括:
-计算单元,其被配置为根据所述可变节点分量确定一组子校验节点校正子,根据包括在所述可变节点分量中的符号确定校正子的符号,并且根据包括在可变节点分量中的可靠性度量确定与确定的符号相关联的可靠性度量;
-处理单元,其配置为接收由校正子计算单元确定的一组校正子,并根据所述一组校正子确定至少一个校验节点消息。校验节点消息可以包括一个或多个校验节点分量。校验节点分量可以包括符号和与该符号相关联的可靠性度量。一个或多个校验节点分量可以包括不同的符号。
根据一些实施例,计算单元可以被配置为使用至少一个基本校验节点处理器来确定一组子校验节点校正子。基本校验节点处理器可以被配置为根据第一消息和第二消息确定中间消息,该第一消息和第二消息是从至少一个可变节点消息得到的。中间消息可以包括一个或多个中间分量以及与每个中间分量相关联的中间二进制矢量。每个中间分量可以包括符号和与所述符号相关联的可靠性度量。可以根据与符号相关联的可靠性度量的顺序来对一个或多个中间分量进行排序,并且一个或多个中间分量可以包括一个或多个包括相同符号的中间分量。至少一个基本校验节点处理器可以被配置为根据所有可变节点消息确定的中间消息来确定一组子校验节点校正子。
根据一些实施例,至少一块子校验节点的计算单元可以包括以串行架构实现的至少两个基本校验节点处理器。
根据一些实施例,至少一块子校验节点的计算单元可以包括以树结构实现的至少两个基本校验节点处理器。
根据一些实施例,至少一块子校验节点的计算单元可以包括以混合架构实现的至少两个基本校验节点处理器,该混合架构包括以串行架构实现的至少一个基本校验节点处理器,以及以树结构实现的至少一个基本校验节点处理器。
根据一些实施例,计算单元可以包括至少一个基本校验节点,该至少一个基本校验节点被配置为根据第一消息和第二消息确定中间消息,第一消息和第二消息是从至少一个可变节点消息得到的。中间消息可以包括一个或多个中间分量以及与每个中间分量相关联的中间二进制矢量,所述一个或多个中间分量根据与符号相关联的可靠性度量的顺序来排序,并且包括不同的符号。计算单元可以被配置为根据从所有所述至少一个可变节点消息中确定的中间消息来确定一组子校验节点校正子。
根据一些实施例,至少一个错误校正码可以是非二进制错误校正码。
还提供了一个解码方法,包括:
·接收至少三个可变节点消息;
·确定至少两组子校验节点校正子,每组子校验节点校正子是从接收到的至少三个可变节点消息中的至少一个可变节点消息中确定的;以及
·根据至少一个校正子确定至少一个校验节点消息。
有利地,根据各个实施例的校验节点处理单元的块划分使得能够通过校正子的块来计算校正子,所述块包括一个或多个校正子,从而允许显著降低校正子的计算中涉及的计算复杂度。
有利地,根据一些实施例,使用基本校验节点处理器的块子校验节点的中的校正子的块计算提供了用于校验节点处理的低复杂度和低延迟架构,其利用校正子解码的并行性和基本校验节点处理的线性复杂度。校正子解码与基本校验节点处理的这种组合允许减少校验节点处理单元的硬件实现的成本。
通过审阅仅出于说明目的而提供的附图和详细描述,本发明的其他优点对本领域技术人员将变得清楚。
附图说明
并入在本说明书中并构成其一部分的附图以及上面给出的本发明的一般描述和下面给出的实施例的详细描述示出了本发明的各种实施例。
图1是根据一些实施例的本发明的对通信系统的示例性应用的框图;
图2是根据一些实施例的错误校正码解码器的框图,其中使用了EMS算法;
图3是示出根据一些实施例的校验节点处理单元的结构的框图;
图4是示出根据一些实施例的子校验节点的块的结构的框图;
图5是示出根据一些实施例的子校验节点的块的结构的框图;
图6是示出根据一些实施例的校验节点处理单元的结构的框图,其中,使用将校验节点处理单元的块划分为两个块;
图7是示出根据一些实施例的校验节点处理单元的结构的框图,其中,使用将校验节点处理单元的块划分为三个块;
图8是示出根据一些实施例的子校验节点的块的结构的框图;
图9是示出根据一些实施例的子校验节点的块的结构的框图,其中,校正子的计算是由多个基本校验节点处理器执行的;
图10是示出根据一些实施例的计算单元的结构的框图,其中考虑了基本校验节点处理器的串行实施方式;
图11是示出根据一些实施例的计算单元的结构的框图,其中考虑了基本校验节点处理器的树实施方式;
图12是示出根据一些实施例的计算单元的结构的框图,其中考虑了基本校验节点处理器的混合实施方式;
图13是示出根据一些实施例的基本校验节点处理器的框图。
图14是示出根据一些实施例的子校验节点的块的结构的框图;
图15是示出根据一些实施例的使用EMS算法,确定至少一个校验节点消息的方法的流程图;
图16是示出根据一些实施例的使用EMS算法,确定至少一个校验节点消息的方法的流程图,以及
图17是示出根据一些实施例的校验节点处理单元的框图,其中,执行可变节点消息的预排序以及将校验节点处理单元的块划分为实现不同架构的两子校验节点块。
具体实施方式
本发明的实施例提供了用于以降低的计算复杂度和降低的延时来对使用至少一个错误校正码编码的信号进行解码的设备、方法和计算机程序产品。特别地,它们提供了高效的预排序技术和在迭代解码器中实现的校验节点处理架构,以用于对使用至少一个非二进制错误校正码编码的信号进行解码。
根据各种实施例的方法、设备和计算机程序产品可以在用于若干种类型的应用中的若干种类型的数字数据传输和存储设备以及系统中实现。示例性设备和系统包括但不限于计算机、磁盘、膝上型计算机、电话、智能电话、录音机、基站、无人机、卫星等。示例性应用包括磁和光记录、数字电视和视频广播、数字通信等。
仅出于说明目的,将参考数字通信系统对本发明的一些实施例进行以下描述。然而,技术人员将容易理解,本发明的各种实施例可以被集成在用于其他应用的其他类型的系统中,例如定位系统和航天器系统。
参考图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(正交频分复用的缩写)和FBMC(滤波器组多载波的缩写)之类的多载波调制格式。
根据本发明的一些实施例,发射机10可以包括错误校正码(ECC)编码器103,其被配置为使用线性块错误校正码将由u表示的数字输入数据块101编码成由c表示的码字矢量。接收机12可以被配置为通过传输信道11接收编码数据的噪声副本p或码字矢量。接收机12可以包括错误校正码解码器123,其被配置为传递数字输出数据块125作为原始数字输入数据块101的估计
Figure BDA0002379780720000111
数字输入数据101可以在由ECC编码器103编码之前被预先压缩。适于增加信息吞吐量的任何源编码方案(图1中未示出)可以用于执行压缩。由ECC编码器103编码的数据可以由调制器105进一步调制。调制器105可以被配置为将编码的数据映射到模拟信号s上并通过传输信道11发送。
接收机12可以包括被配置为执行相反功能的同源处理单元。它可以包括解调器121,所述解调器121被配置为通过在由ECC解码器123进行ECC解码之前对来自传输信道的接收信号p进行解调来生成信号y。解调器121可以被配置为将接收到的信号或信道输出移回到基带中并执行低通滤波、采样和量化。由ECC解码器123解码的数据可以使用任何源解码器(图1中未示出)进一步解压缩。ECC解码器123可以被配置为实现涉及根据本发明的各个实施例的多个校验节点处理单元的迭代解码器(称为“迭代解码算法”)。
仅出于说明的目的,将参考线性块错误校正码对本发明的一些实施例进行以下描述。然而,技术人员将容易理解,本发明的各种实施例应用于包括卷积码的任何线性码,并且通常适用于任何错误校正码。
因此,ECC编码器103可以实现由(n,K)指定的线性块错误校正码;n和K分别指码字矢量的长度和编码数据块的长度。ECC编码器103对应地将长度为K的数据块u编码成码字矢量c,c为长度为n的矢量。因此,码字c包括n个元素,也称为“符号”。
线性码
Figure BDA0002379780720000121
可以使用由G表示的生成器矩阵和由H表示的奇偶校验矩阵以矩阵形式表示。使用矢量的行表示法,生成器矩阵G的尺寸为Kxn,而奇偶校验矩阵的尺寸为(n-K)xn。这两个矩阵通过关系G.Ht=0链接。另外,两个矩阵的条目都属于代数结构,在所述代数结构上构造了错误校正码。使用矩阵表示,任何码字矢量c都满足方程c.Ht=0。该方程也称为“奇偶校验方程”。它定义了n-K个奇偶校验约束,其被设计为由任何码字矢量满足。
与矩阵表示相关联地,线性码
Figure BDA0002379780720000122
可以使用被称为“Tanner图”的二部图
Figure BDA0002379780720000123
来表示。该图包括n个可变节点和n-K个校验节点。
每个可变节点vn∈{1,2,...,n}对应于奇偶校验矩阵的一列。每个校验节点cn∈{1,2,...,n-K}对应于奇偶校验矩阵的一行,即对应于奇偶校验方程。如果奇偶校验矩阵的条目Hvn,cn不等于零(即,如果Hvn,cn≠0),则将可变节点vn连接到校验节点cn。
Figure BDA0002379780720000124
表示连接到可变节点vn的校验节点集合。类似地,
Figure BDA0002379780720000125
表示连接到校验节点cn的可变节点集合。
可变节点vn(或校验节点cn)的度(degree)对应于集合
Figure BDA0002379780720000126
的基数(或集合
Figure BDA0002379780720000127
的基数)。
根据一些实施例,错误校正码的构造的代数结构可以是任何非零的交换划分环,例如域。示例域包括实数域、复数域、有理数域和有限域(也称为“Galois(Galois)域”)。
仅出于说明的目的,将参考有限域进行以下一些实施例的描述。然而,本领域技术人员将容易理解,本发明可以应用于任何划分的类似环的代数结构,例如非零交换划分环,并且可以应用于诸如有限划分近环之类的任何近环。可以在文章“Non-binary LDPC codesover finite division near rings,"2016 23rd International Conference onTelecommunications(ICT),Thessaloniki,2016,pp.1-7”中找到关于有限划分近环上的非二进制错误校正码设计的见解。
对于在Galois域上构造的线性码,通常用GF(q)表示,其中q≥2表示码的基数,这些符号取GF(q)中的值。因此,码字矢量c是n个符号的矢量,每个符号都属于GF(q)。如果符号属于GF(2),则码为二进制。作为对比,当q>2时,该码被视为非二进制的。
仅出于说明的目的,将参考使用非二进制LDPC码对数据进行编码的ECC编码器103来进行一些实施例的以下描述。然而,技术人员将容易理解,本发明的各种实施例还应用于其他非二进制码,例如非二进制极性码,并且通常还适用于二进制和非二进制线性块错误校正码和非二进制turbo码。非二进制错误校正码可以有利地用于高频谱效率编码。
出于示例性目的,在一个实施例中,ECC解码器123实现非二进制LDPC码解码器,以用于对由ECC编码器103使用非二进制LDPC码编码的数据进行解码。
参考EMS算法进行本发明的描述。然而,本领域技术人员将容易理解,各个实施例应用于任何迭代的非二进制LDPC码解码器,例如min-max和T-EMS。
参考图2,示出了根据使用EMS算法的一些实施例的迭代非二进制LDPC解码器123的结构。
迭代解码器123可以被配置为从接收到的噪声序列y确定由发射机10对发送的码字c的估计值
Figure BDA0002379780720000131
它可以在多次迭代期间处理信号,从而使信号在每次迭代时更接近于发送的码字矢量c。
迭代解码器123可以被配置为基于在发射机10处使用的码
Figure BDA0002379780720000132
的Tanner图表示来确定估计值
Figure BDA0002379780720000133
Tanner图中的每个可变节点映射到可变节点处理单元。Tanner图中的每个校验节点都映射到校验节点处理单元。
因此,迭代解码器123可以包括n个可变节点处理单元23(也表示为23-1至23-n或23-vn,其中,vn=1,...,n)和n-K个校验节点处理单元25(也表示为25-1到25-(n-K)或25-cn,其中,cn=1,...,n-K)。
每个可变节点处理单元27-vn映射到Tanner图中的一个可变节点。每个校验节点处理单元25-cn映射到Tanner图中的一个校验节点。可变节点处理单元23-vn(其中,vn=1,...,n)和校验节点处理单元25-cn(其中,cn=1,...,n-K)可以被配置为迭代地交换消息以从噪声序列y估计最可靠的码字
Figure BDA0002379780720000141
可变节点处理单元23-vn可以被配置为接收固有信息并且从与集合
Figure BDA0002379780720000142
相对应的校验节点处理单元25-cn接收校验节点消息。可变节点处理单元23-vn还可以被配置为处理接收到的校验节点消息,计算局部决策,并将可变节点消息传递到与集合
Figure BDA0002379780720000143
中的校验节点相对应的至少一个校验节点处理单元25-cn。
类似地,校验节点处理单元25-cn可以被配置为处理由与集合
Figure BDA0002379780720000144
相对应的可变节点处理单元23-vn发送的可变节点消息。校验节点处理单元25-cn还可以被配置为将校验节点消息传递到与集合
Figure BDA0002379780720000145
中的可变节点相对应的至少一个可变节点处理单元23-vn。
由各种可变节点处理单元23-vn和校验节点处理单元25-cn执行的处理可以根据包括但不限于以下描述的三个示例的若干种调度机制来实现。
根据第一实施方式,可以将所有可变节点处理单元23-vn(其中,vn=1,...,n)配置为在第一轮中操作,并且然后,所有校验节点处理单元25-cn(其中,cn=1,...,n-K)可以配置为更新要传递给其对应的集合
Figure BDA0002379780720000146
中的可变节点处理单元的校验节点消息。这种特定的调度称为“泛洪调度”。特别地,校验节点处理单元25-cn可以被配置为串行或并行操作,其中,2至n-K个校验节点处理单元25-cn可以同时操作。
根据基于“水平调度”的第二实施方式,校验节点处理单元25-cn(其中,cn=1,...,n-K)可以被配置为串行地操作,以更新与它们连接的所有可变节点处理单元23-vn。特别地,一组校验节点处理单元25-cn可以被配置为并行操作,以在不存在冲突的可变节点处理单元23-vn的情况下(例如,当两个校验节点处理单元25-cn连接到相同的可变节点处理单元23-vn时),更新所有连接的可变节点处理单元23-vn。
根据基于“垂直调度”的第三实施方式,可变节点处理单元23-vn可以被配置为串行地操作,以更新与其连接的所有校验节点处理单元25-cn。
消息的交换可以由可变节点处理单元23-vn开始。如果处理后的信号满足奇偶校验方程,或者如果达到最大迭代次数但不满足所有奇偶校验约束,则它可以终止。
因此,迭代解码器123可以包括信号估计单元29,所述信号估计单元29被配置为在解码过程的每次迭代中接收由可变节点处理单元23-vn计算出的局部决策,并且被配置为:
-如果处理后的信号满足奇偶校验方程,则传递处理后的信号作为原始码字矢量的估计;或者
-声明解码失败,但如果达到最大迭代次数但不满足所有奇偶校验约束,则输出在最后一次迭代中估计的码字矢量。
如图2所示,迭代解码器123可以进一步包括存储单元21,其被配置为存储所接收的序列y。它还可以包括数据处理单元23,该数据处理单元23被配置为基于从存储单元21加载的接收到的序列y来确定要由可变节点处理单元27-vn传递的可变节点消息的初始值。
可变节点处理单元27-vn和校验节点处理单元25-cn之间交换的消息可以携带表示符号的信息。
根据一些实施例,交换的消息的长度可以等于用于构造线性码的Galois字段的顺序。因此,对于在GF(q)上构造的码,每个交换的消息可以是长度为q的矢量。
在与软判决解码有关的其他实施例中,交换的消息可以携带符号的值和测量其可靠性的度量(在下文中也称为“可靠性度量”)。可靠性度量的值与符号的可靠性有关。在这样的实施例中,每个交换的消息可以是包括q个分量的矢量,该分量包括:
-GF(q)中符号的值,以及
-与符号关联的可靠性度量。
在一些实施例中,符号的可靠性度量可以对应于表示该符号正确的概率的该符号的估计概率密度函数。特别地,可靠性度量可以在对数域中由对数似然比(LLR)值表示。
根据使用EMS算法的一些实施例,由可变节点处理单元27-vn生成的可变节点消息可以被排序和截断以便仅保持nm,in个最可靠的分量,其中nm,in严格低于q(nm,in<<q)。可以以与符号相关联的可靠性度量的给定顺序(例如,通过增加或减小顺序)来执行排序。此外,可以通过可变节点处理单元27-vn或通过接收可变节点消息的校验节点处理单元25-cn来执行排序和截断操作。
下面的描述将参考一些实施例,该实施例使用基于可变节点处理单元27-vn发送的可变节点消息的排序和截断的软输出解码,仅用于说明目的。
迭代解码处理的计算复杂度由通过校验节点处理单元25-cn执行的计算决定。在使用用于对非二进制LDPC码进行解码的EMS算法的实施例中,可以在不牺牲解码错误性能的情况下降低由校验节点处理单元25-cn执行的处理的计算复杂度。
为了降低在校验节点处理单元25-cn处执行的处理所涉及的计算复杂度,根据本发明,提供了块划分和块解码技术,其分别使得能够将校验节点处理单元25-cn划分为子校验节点的块和通过块计算校验节点消息。子校验节点的每个块可以被配置为接收至少一个可变节点消息并生成一个或多个校验节点消息和一个或多个校正子。在下面的描述中,结合示出了可体现本发明的不同架构的附图,进一步描述了子校验节点的不同结构或类型。
因此,迭代解码器123可以进一步包括块划分单元28,其被配置为使用一组块划分参数将至少一个校验节点处理单元25-cn(其中,cn=1,...,n-K)划分为至少两块子校验节点。块划分单元28可以相应地被配置为确定与至少一个校验节点处理单元25-cn(其中,cn=1,...,n-K)相关联的一组块划分参数。
在一些实施例中,块划分单元28可以被配置为将至少一个校验节点处理单元25-cn1划分为相同类型或不同类型的子校验节点的至少两个块,即,以至少两块子校验节点可以相似或不同。
在一些实施例中,至少一组块划分参数的确定可以例如在迭代解码过程的开始或可变节点处理单元27-vn与校验节点处理单元25-cn之间的消息交换的开始之前以离线模式执行。。
在其他实施例中,例如,可以在迭代解码过程期间在线地执行对至少一组块划分参数的确定。
在本发明的一些实施例中,与校验节点处理单元25-cn相关联的一组块划分参数可以至少包括:
-表示包括在校验节点处理单元25-cn中的子校验节点的块数的第一块划分参数。子校验节点的块的数量可以大于或等于两个,根据该子校验节点,可以将校验节点处理单元25-cn划分为至少两个子校验节点的块,并且
-表示至少一个可变节点消息的第二块划分参数。第二块划分参数表示由包括在校验节点处理单元25-cn(其中,cn=1,...,n-K)中的每块子校验节点接收和处理的可变节点消息的数目。
根据其中迭代解码器123包括至少两个校验节点处理单元25-cn(其中,cn=1,...,n-K,n-K≥2)的一些实施例,块划分单元28可以被配置为确定相同的块划分集合。与至少两个校验节点处理单元25-cn中的每一个相关联的参数。这意味着与至少两个校验节点处理单元25-cn中的每一个相关联的各种第一块划分参数相等,并且与至少两个校验节点处理单元25-cn中的每一个相关联的各种第二块划分参数相等。
在迭代解码器123包括至少两个校验节点处理单元25-cn(其中,cn=1,...,n-K,n-K≥2)的其他实施例中,块划分单元28可以被配置为确定块划分参数的集合,每个与至少两个校验节点处理单元25-cn中的一个相关联的集合集合和所述块划分参数集合包括至少一个不同的块划分参数。换句话说,与至少两个校验节点处理单元25-cn相关联的块划分参数的集合可以包括至少一个不同的块划分参数。
根据一些实施例,块划分单元28可以被配置为与至少一个校验节点处理单元25-cn(其中,cn=1,...,n-K)相关联地确定一组块划分参数,取决于接收到的可变节点消息,将由校验节点处理单元25-cn处理。
例如,在其中应用了可变节点消息的截断的一些实施例中,块划分单元28可以被配置为根据包括在接收到的分量中的分量的数目n_(m,in)确定一组块划分参数。可变节点消息。
在另一示例中,块划分单元28可以被配置为与至少一个校验节点处理单元25-cn(其中,cn=1,...,n-K)相关联地来确定一组块划分参数,这取决于校验节点处理单元25-cn的程度dcn。因此,块划分单元28可以被配置为与度数大于或等于三个的校验节点处理单元25-cn相关联地确定大于或等于两个的子校验节点的块的数量,从而能够简化根据所需的计算操作和等待时间来计算校验节点消息。例如,块划分单元28可以被配置为将度dcn=12的校验节点处理单元25-cn划分为四块子校验节点,每个块接收三个可变节点消息。
此外,根据一些实施例,块划分单元28可以被配置为取决于至少一个参数来确定与至少一个校验节点处理单元25-cn相关联的一组块划分参数,所述至少一个参数是从包括以下中的一个的组中选择的:信噪比、构造至少一个使用的错误校正码
Figure BDA0002379780720000187
的代数结构、以及可变节点处理单元27-vn与校验节点处理单元25-cn之间的消息交换的迭代次数。
例如,块划分单元28可以被配置为确定第一块划分参数,即,可以取决于Galois域的阶数将给定校验节点处理单元25-cn划分成的子校验节点的块数。使用在高阶Galois域上构造的码编码的信号的解码可能需要大量块,以便将校验节点消息的密集计算划分为涉及较低计算和存储资源的每块计算。
在给定确定的块划分参数集合的情况下,可以由子校验节点的划分的块来执行校验节点处理单元25-cn级别的校验节点消息的处理和计算,从而能够显著降低复杂度。
根据一些实施例,子校验节点的块可以进一步划分为实现每个至少一个校验节点消息的块解码和计算的处理单元的子块。
仅出于说明的目的,将参考具有在1和n-K之间变化的cn的校验节点处理单元25-cn的块划分来进行一些实施例的以下描述。此外,为了促进对以下一些实施例的描述的理解,下面将使用校验节点处理单元25-cn级别的标记。校验节点处理单元25-cn的程度由dcn表示,即,Tanner图
Figure BDA0002379780720000181
中的对应校验节点连接到构成集合
Figure BDA0002379780720000182
的dcn可变节点。有利地,校验节点处理单元25-cn的程度可以满足dcn≥3。
由与集合
Figure BDA0002379780720000183
中的节点相关联的可变节点处理单元27-vn发送的可变节点消息由
Figure BDA0002379780720000184
表示。由校验节点处理单元25-cn向集合
Figure BDA0002379780720000185
中的可变节点处理单元27-vn生成的校验节点消息由
Figure BDA0002379780720000186
表示。
可以与校验节点处理单元25-cn相关联地定义GF(q)中的度数dcn的校验节点方程:
Figure BDA0002379780720000191
在方程(1)中,矢量ei(其中,i=1,...,dcn)指定变量,而运算符⊕指定Galois字段中的加法运算符。
此外,在以下描述中将使用以下与校验节点处理单元25-cn的块划分有关的符号:
-NB:指的是与校验节点处理单元25-cn相关联的第一块划分参数。它指定包括在校验节点处理单元25-cn中的子校验节点的块的数量,即校验节点处理单元25-cn可以被划分为NB块子校验节点,有利地至少等于两个,NB≥2;
-S-CN(k):指定子校验节点的第kth个块,其中k=1,...,NB
-l(k)(其中,k=1,...,NB):指第二块划分参数。它指定子校验节点的块(也称为“校验节点块”)S-CN(k)接收和处理的可变节点消息的数目,索引为k,其中,k=1,...,NB。对于度为dcn的校验节点处理单元25-cn,第二块划分参数l(k)≥1,k=1,…,NB满足
Figure BDA0002379780720000193
第二块划分参数可以有利地等于至少两个l(k)≥2,k=1,...,NB
-S(k)表示由子校验块S-CN(k)所确定的校正子,也称为“子校验”节点校正子,索引为k,其中,k=1,...,NB。校正子包括符号,与该符号相关联的可靠性度量,并且在一些实施例中可以包括二进制矢量。
-NS(k)指定包括在子校验节点校正子S(k)中的校正子数;
-
Figure BDA0002379780720000194
指定根据子校验节点校正子确定的一组校正子,子校验节点校正子由子校验节点S-CN(k)的块接收,索引为k,其中,k=1,...,NB,并且先前由子校验节点S-CN(a)(其中,a≠k,并且在根据一些实施例,在1和NB之间变化)的剩余块中的至少一个来计算;
-
Figure BDA0002379780720000195
指定由索引为k其中,k=2,...,NB的子校验节点S-CN(k)的块接收和处理的l(k)≥1个可变节点消息。对于索引k=1的子校验节点S-CN(1)的块,接收到的可变节点消息用
Figure BDA0002379780720000196
表示;
-
Figure BDA0002379780720000201
指定由索引为k其中,k=2,...,NB的子校验节点S-CN(k)的块得出的l(k)≥1个可变节点消息。类似地,对于索引k=1的子校验节点S-CN(1)的块,得出到的可变节点消息用
Figure BDA0002379780720000202
表示;
由索引为k的子校验节点S-CN(k)的块接收的每个可变节点消息Ui(k),其中
Figure BDA0002379780720000203
是包括一列向量的nm,in个可变节点分量,其表示如下给定:
Figure BDA0002379780720000204
可变节点分量
Figure BDA0002379780720000205
(其中,j=0,...,nm,in-1)包括由
Figure BDA0002379780720000206
表示的符号以及与该符号相关联的可靠性度量,由
Figure BDA0002379780720000207
表示。可以对每个可变节点消息的分量进行排序,使得包括最可靠符号的分量对应于分量Ui(k)[0](其中,
Figure BDA0002379780720000208
)和
Figure BDA0002379780720000209
(其中,
Figure BDA00023797807200002010
)。
类似地,由索引为k的子校验节点S-CN(k)的块生成的每个校验节点消息Vi(k),其中
Figure BDA00023797807200002011
是包括一列矢量的nm,out个校验节点分量的矢量,表示由如下给定:
Figure BDA00023797807200002012
校验节点分量
Figure BDA00023797807200002013
(其中,j=0,...,nm,out-1)包括由
Figure BDA00023797807200002014
表示的符号以及与该符号相关联的可靠性度量,由
Figure BDA00023797807200002015
表示。可以对每个可变节点消息的分量进行排序,使得包括最可靠符号的分量对应于分量Vi(k)[0](其中,
Figure BDA00023797807200002016
)和
Figure BDA00023797807200002017
Figure BDA00023797807200002018
(其中,j=0,...,nm,out-2)。
根据一些实施例,可变节点处理单元27-cn可以被配置为将计算出的局部决策发送给信号估计单元29。信号估计单元29可以被配置为:
-如果处理后的信号满足奇偶校验方程,则将处理后的信号作为原始码字的估计;要么
-声明解码失败,但是如果达到最大迭代次数却不满足所有奇偶校验约束,则输出在最后一次迭代中估计的码字。
如果在不满足奇偶校验方程的情况下,尚未达到最大迭代次数,则解码过程可以继续。
图3是示出将校验节点处理单元25-cn划分成NB≥2个子校验节点S-CN(k)31的块(也由子校验节点31-k指定,其中,k=1,...,NB)的框图。给定校验节点处理单元25-cn的块划分,可以通过计算校验节点消息的块来执行校验节点消息的计算,子校验节点31的每个块被配置为确定至少一个校验节点消息和一个或多个校正子。由于校验节点消息是从所有接收到的可变节点消息
Figure BDA0002379780720000211
得到的,因此确定一个块l(k)个校验节点消息
Figure BDA0002379780720000212
在索引k的给定子校验节点31-k处需要,除了接收到的l(k)个可变节点消息
Figure BDA0002379780720000213
之外,由其余子校验节点31-b(其中,b≠k以及b=1,...,NB)计算得出的中间结果。
在一些实施例中,中间结果可以包括校正子,包括符号的校正子和与该符号相关联的可靠性度量。在一些实施例中,校正子可以进一步包括二进制矢量。在这样的实施例中,校验节点处理单元25-cn还可以包括校正子计算单元32,校正子计算单元32被配置为将从子节点确定的中间结果得到的一组一个或多个校正子传递给子校验节点的至少一个块。子校验节点的其余块。校正子的推导可能取决于用于计算校验节点消息的解码架构的类型。
因此,校验节点处理单元25-cn可以包括至少两块子校验节点31,索引k=1,...NB的子校验节点S-CN(k) 31-k块被配置为:
从接收到的可变节点消息
Figure BDA0002379780720000214
中的l(k)≥1(至少一个)可变节点消息
Figure BDA0002379780720000215
确定包括NS(k)≥1个子校验节点校正子的一组S(k)
-将子校验节点校正子S(k)发送给校正子计算单元32,并且
–从校正子计算单元32传递的中间结果确定至少一个校验节点消息
Figure BDA0002379780720000221
根据一些实施例,索引k=1,...NB的子校验节点S-CN(K) 31-k的每个块可以被配置为确定排序的一组NS(k)个包括校正子的子校验节点校正子,该校正子被排序为给定顺序的与符号相关联的可靠性度量。
子校验节点S-CN(k) 31-k的每个块可以进一步被配置为将校验节点消息
Figure BDA0002379780720000222
传递到与集合
Figure BDA0002379780720000223
中的可变节点相对应的可变节点处理单元27-vn,集合
Figure BDA0002379780720000224
被连接到校验节点处理单元25-cn,校验节点处理单元25-cn包括子校验节点S-CN(k) 31-k的块,其中,k=1,...,NB
在下面的描述中,将参考图4和图5描述配置的两个示例,以详细描述在校正子计算单元32和子校验节点的块处执行的处理的实施例。
例如,根据第一配置,校正子计算单元32可以被配置为将该组
Figure BDA0002379780720000225
传递到索引为k=1,...NB的子校验节点S-CN(k) 31-k的每个块,该组
Figure BDA0002379780720000226
包括从子校验节点校正子S(b)计算出的校正子,子校验节点校正子S(b)由子校验节点31-b(其中,b≠k以及b=1,...,NB)的其余块中的一个或多个确定。该第一配置可以用于其中校验和处理节点的计算在校验节点处理单元处进行的任何校验节点架构中。示例性架构包括向前-向后架构,基于校正子的架构和校正子-气泡架构。如稍后通过图13所示,能够进行校正子计算的向前-向后的修改版本也可以在第一配置中使用。
除了计算一组子校验节点校正子之外,根据实现第一配置的一些实施例,可以进一步配置子校验节点的每个块,以确定要用于校验节点消息的计算的中间子校验节点消息。。
根据该第一配置,由包括在校正子计算单元32确定的一组校正子
Figure BDA0002379780720000227
中的校正子可以包括符号和与该符号相关联的可靠性度量,校正子计算单元32被配置为:
-通过在码的构造的代数结构上对包括在接收到的一组子校验节点校正子S(b)(其中,b≠k以及b=1,...,NB)中的校正子中包括的符号应用加法运算,确定包括在该组S(b)中的校正子中的符号;以及
-通过对与包括在接收到的一组子校验节点校正子S(b)(其中,b≠k以及b=1,...,NB)中的校正子中包括的符号相关联的可靠性度量应用加法运算,确定与包括在该组S(b)中的校正子中的符号相关联的可靠性度量。
校正子计算单元32可以被配置为使用基本校验节点处理器来实现一组校正
Figure BDA0002379780720000231
例如,实现向前-向后架构。
在另一示例中,根据第二配置,校正子计算单元32可以被配置为从包括在所接收的子校验节点校正子S(k)(其中,k=1,...,NB)确定NS校正子的集合S={S1,S2,...,SNS}。该第二配置可用于涉及子校验节点的块处的校正子的计算的任何架构中,例如基于校正子的架构、冒泡校正子架构和T-EMS算法(EMS算法的一个变体)。读者可以参考以下参考资料,以获取有关T-EMS算法的更多详细信息:‘Erbao Li;Francisco García-Herrero;DavidDeclercq;Kiran Gunnam;Jesús Omar Lacruz;Javier Valls,Low latency T-EMSdecoder for non-binary LDPC codes,IEEE Asilomar Conference on Signals,Systemsand Computers,pages 831–835,2013’.
根据第二配置,由校正子计算单元32确定的一组校正子S中包括的校正子可以包括符号,与该符号相关联的可靠性度量和二进制矢量,校正子计算单元32被配置为:
-通过在码的构造的代数结构上对包括在接收到的一组子校验节点校正子S(k)(其中,k=1,...,NB)中的校正子中包括的符号应用加法运算,确定包括在该组S中的校正子中的符号;以及
-通过对与包括在接收到的一组子校验节点校正子S(k)(其中,k=1,...,NB)中的校正子中包括的符号相关联的可靠性度量应用加法运算,确定与包括在该组S中的校正子中的符号相关联的可靠性度量。
校正子计算单元32可以被配置为使用实现例如校正子气泡结构的基本校验节点处理器来确定校正子S的集合。
图4是示出根据一些实施例的,使用第一配置的,根据第一实施例的索引k在1与NB之间变化的子校验节点S-CN(k) 40-k的结构的框图。校正子计算单元32(图4中未示出)被配置为为子校验节点S-CN(k)的每个块提供包括校正子的一组校正子
Figure BDA0002379780720000241
该组校正子
Figure BDA0002379780720000242
包括由子校验节点S-CN(k)的其余块确定的子校验节点校正子计算的校正子,其中b≠k。子校验节点S-CN(k) 40-k可以被配置为接收l(k)≥1个可变节点消息
Figure BDA0002379780720000243
并确定至少一个校验节点消息
Figure BDA0002379780720000244
相应地,子校验节点S-〖CN〗^((k))40-k可以包括:
-计算单元41,其被配置为确定用于i的一组子校验节点校正子S(k),其包括一个或多个校正子和由U′i(k)表示的中间子校验节点消息(其中,
Figure BDA0002379780720000245
),以及
-处理单元43,被配置为处理从校正子计算单元32接收的一组校正子
Figure BDA0002379780720000246
更具体地,计算单元41可以被配置为根据包括在可变节点消息Ui(k)(其中,
Figure BDA0002379780720000247
)的一个或多个可变节点分量
Figure BDA0002379780720000248
(其中,j=0,...,nm,in-1)确定NS(k)≥1个子校验节点校正子
Figure BDA0002379780720000249
的一组
Figure BDA00023797807200002410
Figure BDA00023797807200002411
(其中,r=1,...,NS(k))表示的校正子可以包括:
可能属于Galois域GF(q)的符号
Figure BDA00023797807200002412
以及
与符号
Figure BDA00023797807200002413
相关联的可靠性度量
Figure BDA00023797807200002414
更具体地,计算单元41可以被配置为根据包括在至少一个可变节点消息Ui(k)(其中,
Figure BDA00023797807200002415
)中的一个或多个可变节点分量Ui(k)[j],j=0,...,nm,in-1所包括的符号
Figure BDA00023797807200002416
其中j=0,...,nm,in-1确定包括在一组S(k)子校验节点的校正子
Figure BDA00023797807200002417
中的符号
Figure BDA00023797807200002418
包括在校正子
Figure BDA00023797807200002419
中的符号
Figure BDA00023797807200002420
可以表示为包括在可变节点分量中的符号的函数,根据:
Figure BDA0002379780720000251
在方程(4)中,每个索引
Figure BDA0002379780720000252
在集合t{0,1,...,nm,in-1}中变化。
此外,计算单元41可以被配置为根据包括在至少一个可变节点消息Ui(k)(其中,
Figure BDA0002379780720000253
)中的一个或多个可变节点分量Ui(k)[j],j=0,...,nm,in-1所包括的符号
Figure BDA0002379780720000254
其中j=0,...,nm,in-1确定包括在一组S(k)子校验节点的校正子
Figure BDA0002379780720000255
中的符号
Figure BDA0002379780720000256
包括在校正子
Figure BDA0002379780720000257
中的符号
Figure BDA0002379780720000258
可以表示为包括在可变节点分量中的符号的函数,根据:
Figure BDA0002379780720000259
计算单元41可以进一步被配置为将针对r=1,…,〖NS〗^((k))的所确定的校正子S_r^((k))的至少一部分排序为可靠性度量S_r的给定顺序。^((k),+)。
此外,计算单元41可以被配置为将所计算的〖NS〗^((k))校正子的集合S^((k))发送给校正子计算单元32。
除了一些子校验节点校正子S^((k))的生成之外,根据一些实施例,计算单元41可以被配置为从可变节点消息中确定中间子校验节点消息
Figure BDA00023797807200002510
Figure BDA00023797807200002511
Figure BDA00023797807200002512
中间子校验节点消息,包括从可变节点分量派生的中间分量。
子校验节点S-〖CN〗^((k))40-k的块还可以包括处理单元43,用于:
-从校正子计算单元32接收子校验节点校正子S^((k)),所述子校验节点校正子包括根据先前由其余一个或多个确定的子校验节点校正子S^((b))计算出的校正子。b≠k且b=1,…,N_B的子校验节点31-b的块
-接收中间子校验节点消息
Figure BDA00023797807200002513
Figure BDA00023797807200002514
来自计算单元41的ll^((a))^',以及
-确定校验节点消息
Figure BDA00023797807200002515
Figure BDA00023797807200002516
从集合
Figure BDA00023797807200002517
和中间校验节点消息中,校验节点消息包括不同的符号。
应当注意,在特定实施例中,其中子校验节点S-〖CN〗^((k))的块被配置为接收一个可变节点消息,即,当l^((k))=1时,否在子校验节点的块处执行处理。在这样的实施例中,由计算单元41传递的子校验节点一组校正子S^((k))中包括的校正子可以包括所接收的可变节点消息和中间子节点中包括的分量的一部分或全部。-check节点消息可能与可变节点消息相同,即U_i(k)^'=U_i(k),因为
Figure BDA0002379780720000261
Figure BDA0002379780720000262
图5是示出根据一些实施例的,使用第二配置的,根据第二实施例的索引k在1与N_B之间变化的子校验节点S-〖CN〗^((k))50-k的结构的框图。校正子计算单元32(图5中未示出)被配置为向子校验节点S-〖CN〗^((k))的每个块提供一组校正子S={S_1,S_2,…,S_NS},包括由接收集合S^((k)),k=1,…,N_B中包括的子校验节点校正子确定的NS校正子。子校验节点S-〖CN〗^((k))31-k可以被配置为接收l^((k))≥1个可变节点消息
Figure BDA0002379780720000263
Figure BDA0002379780720000264
并确定一个或多个校验节点消息
Figure BDA0002379780720000265
Figure BDA0002379780720000266
因此,子校验节点S-〖CN〗^((k))50-k可以包括:计算单元51,被配置为确定子校验节点校正子S^((k));以及处理单元53,被配置为进行处理从校正子计算单元32接收的一组校正子S。
在第二种配置中,用S_r^((k))=(S_r^((k),⊕),S_r^((k),+),S_r^((k),DBV)表示的校正子r=1,…,〖NS〗^((k)),可以包括:
可能属于Galois域GF(q)的符号S_r^((k),⊕);
与符号S_r^((k),⊕)相关联的可靠性度量S_r^((k),+)
二进制矢量S_r^((k),DBV)。
根据第二配置,类似于关于图4描述的计算单元41,计算单元51可以被配置为确定{NS}^((k))子集S^((k))的子集。来自一个或多个可变节点分量U_(i(k))的校验节点校正子S_r^((k)),r=1,...,〖NS〗^((k))[j]=(U_(i(k))^⊕[j],U_(i(k())^+[j])for j=0,…,n_(m,in)-1包括在可变节点消息U_(i(k))中其中
Figure BDA0002379780720000267
Figure BDA0002379780720000268
可以根据方程4表示包括在针对r=1,…,〖NS〗^((k))的校正子S_r^((k))中的符号S_r^(((k),⊕))。
可以根据方程5表示包括在针对r=1,…,〖NS〗^((k))的校正子S_r^((k))中的可靠性度量S_r^((k),+)。
计算单元51可以进一步被配置为通过与可变节点消息的分量相关联地确定初始二进制值来确定二进制矢量S_r^((k),DBV)。
因此,计算单元51可以被配置为与每个分量U_(i(k))[j]=(U_()相关联地确定由U_(i(k))^DBV[j]表示的初始二进制值。i(k))^⊕[j],U_(i(k())^+[j])对于可变节点消息U_(i(k),j=0,…,n_(m,in)-1))对于
Figure BDA0002379780720000271
Figure BDA0002379780720000272
根据一些实施例,计算单元51可以被配置为根据与符号U_(i(k))^⊕[j]相关联的可靠性度量U_(i(k))^+[j]来确定初始二进制值。]。特别地,计算单元51可以被配置为确定:
-与包括最可靠的符号的分量U_(i(k))[0]关联的,等于预定义的第一值的初始二进制值,以及
-与j=1,…,n_(m,in)-1的其余分量U_(i(k))[j]相关联的等于预定第二值的初始二进制值。
根据一些实施例,预定义的第一值可以等于零(“0”),并且预定义的第二值可以等于一(“1”)。在这样的实施例中,与分量U_(i(k))[j]相关联的二进制值可以由下式给出:
U_(i(k))^DBV[j]={■(如果j≠0则为1,如果j=0则为@0)┤(6)
考虑排序的可变节点消息,条件方程式(6)指出,如果可变节点消息中包括的符号是最可靠的符号,则将与可变节点消息中包括的分量相关联的初始二进制值分配为“0”位。
根据其他实施例,预定义的第一值可以等于一个(“1”),并且预定义的第二值可以等于一个(“0”)。因此,如果包括在可变节点消息中的分量是最可靠的符号,即与该可变节点消息中包括的分量相关联的初始二进制值可能等于位“1”
U_(i(k))^DBV[j],={■(如果j≠0则为0@j=0则为1)┤(7)
因此,包括在校正子S_r^((k))中的二进制矢量S_r^((k),DBV)可以根据与可变节点消息的分量相关联的初始二进制值来写:
Figure BDA0002379780720000281
在方程(8)中,运算符||表示从两个或多个输入标量或矢量提供矢量形式的列表的串联操作,该列表的元素等于串联的输入。
根据方程(8),包括在校正子S_r^((k))中的二进制矢量S_r^((k),DBV)包括l^((k))个比特。
对于r=1,…,NS,由S_r=(S_r^⊕,S_r^+,S_r^DBV)表示的一组校正子S中包括的校正子可以包括由S_r^⊕表示的GF(q)符号,与该符号相关联并由S_r^+表示的可靠性度量,以及由S_r^DBV表示的二进制矢量。
根据对集合S^(((k)),k=1,...,N_B的子校验节点校正子执行的计算,校正子S_r可以表示为可变节点消息U_1的分量的函数,由校验节点处理单元25-cn接收的U_2,…,U_(d_cn)由子校验节点S-〖CN〗^((k))50-k组成。尤其是:
-对于r=1,...,NS包括在校正子S_r中的符号S_r^can可以表示为可变节点消息U_1,U_2,...,U_(d_cn)中包括的符号的函数,其依据是:
S_r^⊕=U_1^⊕[u_1]⊕U_2^⊕[u_2]〖⊕…⊕U〗_(d_cn-1)^⊕[u_(d_(cn-1))]⊕U_(d_cn)^⊕(9)
在方程(9)中,i=1,…,d_cn的每个索引u_i在集合{0,1,…,n_(m,in)-1}中变化。
-与符号S_r^⊕相关联的可靠性度量S_r^+可以根据可变节点消息U_1,U_2,…,U_(d_cn)的不同分量中包括的可靠性度量来表示:
S_r^+〖=U}_1^+[u_1]+U_2^+[u_2]+…+U_(d_cn-1)^+[u_(d_cn-1)]+U_(d_cn)^+[u_(d_cn)](10)
-校正子S_r中包括的二进制矢量S_r^DBV可以根据与可变节点消息的每个分量相关联的初始二进制值来编写,具体取决于:
S_r^DBV=(U_1^DBV[u_1]||||||U_(d_cn)^DBV[u_(d_cn)])(11)
根据方程(11),包括在校正子S_r中的二进制矢量S_r^DBV包括d_cn个比特。
此外,计算单元51还可以被配置为将针对r=1,…,〖NS〗^((k))的确定的子校验节点校正子S_r^((k))的至少一部分排序为给定值。可靠性度量S_r^((k),+)的顺序。
此外,计算单元51可以被配置为将所计算的〖NS〗^((k))子校验节点校正子的集合S^((k))发送给校正子计算单元32。
根据图5,子校验节点S-〖CN〗^((k))31-k的块还可以包括:处理单元53,用于:
-从校正子计算单元32接收一组校正子S,和
-确定校验节点消息
Figure BDA0002379780720000291
Figure BDA0002379780720000292
从集合S和可变节点消息中,校验节点消息包括不同的符号。
在子校验节点S-〖CN〗^((k))的块被配置为接收一个可变节点消息的特定实施例中,即当l^((k))=1时,集合中包括的校正子由计算单元51传递的子校验节点校正子S^((k))的一部分可以包括所接收的可变节点消息中包括的分量的一部分或全部,即,S^((k))=U_i(k),因为
Figure BDA0002379780720000293
Figure BDA0002379780720000294
为了更好地理解校验节点处理单元25-cn的块划分,分别通过图6和图7示出了划分为N_B=2和N_B=3个块的两个示例。这两个示例对应于第二配置。包括在校正子计算单元32处计算一组校正子S。
图6是示出由{N_B=2;l^((1))≥1;l^((2))≥给定的一组块划分参数的校验节点处理单元25-cn的结构的框图。1}。校验节点处理单元25-cn因此可以包括两块子校验节点S-〖CN〗^((1))61和S-〖CN〗^((2))61以及校正子计算单元67,例如那:
-校正子计算单元67被配置为根据先前由子校验节点S-的块确定的接收到的子校验节点校正子S^((1))和S^((2))来确定校正子S的集合。〖CN〗^((1))61和子校验节点S-〖CN〗^((2))61的块,
-子校验节点S-〖CN〗^((1))61的块被配置为接收l^((1))个可变节点消息U_1,…,U_(l^((1)))并从一组校正子S中确定l^((1))个校验节点消息V_1,…,V_(l^((1)));
-子校验节点S-〖CN〗^((2))61的块被配置为接收l^((2))个可变节点消息U_(l^((1))+1),…,U_(l^((1))+l^((2)))并确定l^((2))校验节点消息V_(l^((1))+1),...,V_(l^((1))+1((2)))。
图7是示出由{N_B=3;l^((1))≥1;l^((2))≥给定的一组块划分参数的校验节点处理单元25-cn的结构的框图。2;l^((3))≥1}。校验节点处理单元25-cn因此可以包括三块子校验节点S-〖CN〗^((1))71,S-〖CN〗^((2))71和S-〖CN〗^((3))71和校正子计算单元77使得:-校正子计算单元77被配置为从接收到的子校验节点校正子S^((1)),S^((2))和S^((3))中确定一组校正子S。子校验节点S-〖CN〗^((1))71的块,子校验节点S-〖CN〗^((2))71的块和子校验节点S-〖CN〗^((3))71,分别是
-子校验节点S-〖CN〗^((1))71的块被配置为接收l^((1))可变节点消息U_1,…,U_(l^((1)))并从一组校正子S中确定l^((1))个校验节点消息V_1,…,V_(l^((1)));
-子校验节点S-〖CN〗^((2))71的块被配置为接收l^((2))个可变节点消息U_(l^((1))+1),…,U_(l^((1))+l^((2)))并确定l^((2))校验节点消息V_(l^((1))+1),...,V_(l^((1))+1((2)))
-子校验节点S-〖CN〗^((3))71的块被配置为接收l^((3))个可变节点消息U_(l^((1))+l^((2))+1),…,U_(〖l^((1))+l^((2))+l〖^((3)))并确定l^((3))校验节点消息V_(l^((1))+l^((2))+1),...,V_(〖l^((1))+l^((2))+l〖^((3)))证候集S.
通常,由子校验节点S-〖CN〗^((k))31-k的每个块执行的校验节点消息的块的计算,因此在计算单元和计算单元的级别执行处理。处理单元可以取决于根据其执行解码处理的架构。例如,在使用EMS算法的一些实施例中,子校验节点S-〖CN〗^(((k))31-k的每个块的校验节点消息的计算可以取决于是向前-向后架构还是从前向后架构?实现了基于校正子的架构。
受前向-后向架构和基于校正子的架构的启发,提供了可以在不失去一般性的情况下实现的子校验节点的架构的三个示例,并给出:
-一个“症候群子校验节点”架构,按块实现症候群解码架构;
-实施多个基本校验节点处理器的“泡沫校正子子校验节点”架构,用于计算子校验节点处的子校验节点校正子集;以及
-一个“前进-后退子校验节点”架构,按块实现了前进-后退架构。
根据一些实施例,可以在被分成子校验节点S-〖CN〗^(((k))的N_B个块的校验节点处理单元25-cn的所有块中实现子校验节点的相同架构。对于k=1.,…,N_B为31-k。
在其他实施例中,对于k=1,...,N_B,被分成子校验节点S-〖CN〗^((k))31-k的N_B个块的校验节点处理单元25-cn可以包括至少两个子-校验节点S-〖CN〗^((k1))和S-〖CN〗^((k2))实现不同的子校验节点架构。
对于k=1。,...,N_B,在子校验节点S-〖CN〗^((k))31-k的各个块中使用校正子校正子架构,校正子解码的复杂度由O决定使用校正子解码时的(〖d_cn〗^2)可以减少为O((d_cn/N_B)^2)。
对于k=1.,…,N_B,在子校验节点S-〖CN〗^((k))31-k的各个块中使用Bubble-syndrome子校验节点架构,降低了复杂度并且是线性的校验节点处理单元25-cn的度为d_cn。
在k=1,...,N_B的子校验节点S-〖CN〗^((k))31-k的各个块中使用前向后向子校验节点架构,可减少并划分解码延迟校验节点处理单元25-cn中包括的块N_B的数目。
仅出于说明的目的,将参考应用于EMS解码算法的上述三个子校验节点架构来进行一些实施例的以下描述。然而,应当注意,涉及至少两块子校验节点的块解码可以应用于其他迭代解码算法,例如T-EMS算法和最小-最大算法。
图8是示出根据一些实施例的子校验节点S-〖CN〗^((k))80-k的结构的框图,其中使用了实现第二配置的校正子子校验节点架构。因此,子校验节点S-〖CN〗^((k))80-k可以包括计算单元81,该计算单元81被配置为确定集合S^((k))={S_1^((k)),S_2〖NS〗^((k))≥1的子校验节点校正子S_r^((k)的^((k)),…,S_(〖NS}^((k)))^((k))})),r=1,…,〖NS〗^((k))来自一个或多个可变节点分量U_(i(k))[j]=(U_(i(k))^⊕[j],对于包括在可变节点消息U_(i(k))中的j=0,…,n_(m,in)-1,
Figure BDA0002379780720000321
Figure BDA0002379780720000322
除了符号及其可靠性度量之外,在这样的实施例中,每个校正子S_r^((k))可以包括二进制矢量。根据方程(4),(5)和(8)分别给出符号的表达式,与符号相关联的可靠性度量和二进制矢量。该组子校验节点校正子可以被有利地排序或部分地排序为其中包括的可靠性度量的给定顺序。
子校验节点S-〖CN〗^((k))80-k可以进一步包括处理单元83,其被配置为从一个或多个接收由校正子计算单元32(图8中未示出)预先确定的集合S。由子校验节点的其余块生成的更多子校验节点校正子,并-确定校验节点消息
Figure BDA0002379780720000323
Figure BDA0002379780720000324
校验节点消息V_(i(k))对于
Figure BDA0002379780720000325
Figure BDA0002379780720000326
Figure BDA0002379780720000327
包括不同的符号并且被指定给可变节点处理单元H_c(cn)的集合中的可变节点处理单元27-i(k)。
给定接收到的一组校正子S={S_1,S_2,…,S_NS},i(k)的校验节点消息V_(i(k))中包括的校验节点分量
Figure BDA0002379780720000328
Figure BDA0002379780720000329
可以由:
1)根据一组校正子S={S_1,S_2,…,S_NS}确定一组候选校验节点分量,这取决于一组校正子中包括的二进制矢量,该候选校验节点分量包括一个或多个分量包括符号和可靠性度量。在一些实施例中,候选校验节点分量可以包括两个或更多个包括相同符号的分量,并且
2)根据与符号相关联的可靠性度量从确定的候选校验节点分量集合中选择多个校验节点分量n_(m,out),校验节点分量包括不同的符号。
因此,子校验节点S-〖CN〗^((k))80-k的处理单元83可以包括解相关单元85,该解相关单元85被配置为与每个校验节点消息V_(i(k))相关联地确定。对于
Figure BDA00023797807200003210
Figure BDA00023797807200003211
从确定的NS校正子S集合中用V_(i(k))^'表示的候选校验节点分量集合。每个候选校验节点分量V_(i(k))^'[z]=(〖V'〖_(i(k))^⊕[z],〖V'〗_(i(k))^+[z])包括符号〖V'〗_(i(k))^⊕[z]和与该符号相关联的可靠性度量〖V'〗_(i(k))^+[z]。
更具体地,并且根据一些实施例(在附图中未示出),去相关单元85可以包括d_(l^((k)))个基本去相关单元,每个基本去相关单元与校验节点消息V_(i(k)),并且被配置为根据包括在一组校正子S的每个校正子中的二进制矢量来确定候选校验节点分量V_(i(k()))的集合。
可以将被称为丢弃二进制矢量(Discard Binary Vector,DBV)的二进制矢量相应地用于指示应针对哪个输出边缘丢弃校正子,因此不被解相关单元85选择。基本解相关单元可以被配置为确定一组通过在接收到的一组校正子S中选择包括二进制矢量S_r^DBV=(S_r^)的校正子,与每个校验节点消息V_(i(k))相关联的候选校验节点分量V_(i(k))^'。DBV[1]|||S_r^DBV[2],…||S_r^DBV[d_cn])使得与校验节点消息V_(i(k))关联的位S_r^DBV[i(k)]为等于给定值。校正子中包括的二进制矢量中的比特的读取可以用于验证或不校验校正子的选择,以便确定与给定校验节点消息相关联的候选校验节点分量的集合。每个基本去相关单元可以被相应地配置为根据包括在所选有效校正子中的符号及其可靠性度量来确定候选校验节点分量V_(i(k))^'的集合,候选校验节点分量对应于所包括的分量。在有效校正子中,校验和候选校验节点分量集合中的分量数等于所选有效校正子的数量。
根据一个实施例,基本去相关单元可以被配置为通过在接收到的接收节点之间选择一个,来与每个校验节点消息V_(i(k))相关联地确定候选校验节点分量V_(i(k))^'的集合。一组校正子S,校正子包括二进制矢量S_r^DBV=(S_r^DBV[1]||S_r^DBV[2],…||S_r^DBV[d_cn]),使得位S_r^DBV[i(与校验节点消息V_(i(k))相关联的k)]等于零('0')。
根据另一实施例,基本解相关单元可以被配置为通过从接收到的校验节点消息V_(i(k))中选择,来确定与每个校验节点消息V_(i(k))相关联的候选校验节点分量集合V_(i(k))^'。一组校正子S,校正子包括二进制矢量S_r^DBV=(S_r^DBV[1]||S_r^DBV[2],…||S_r^DBV[d_cn]),使得位S_r^DBV[i(与校验节点消息V_(i(k))相关联的k)]等于一(“1”)。
选择来确定候选校验节点分量V_(i(k))^'的有效校正子包括〖NVS〗_(i(k))≤NS有效校正子,对于z=0,用VS[z]表示…,〖NVS〗_(i(k))-1。一个有效的校正子VS[z]=(〖VS〗^⊕[z],〖VS〗^+[z],〖VS〗^DBV[z])包括一个符号〖VS〗^⊕[z],即可靠性与符号关联的度量〖VS〗^+[z],以及由〖VS〗^DBV[z]表示的二进制矢量。有效校正子根据可靠性度量〖VS〗^+[z]的顺序(递增或递减)进行排序,以使包括最可靠符号的有效符号对应于VS[0],〖VS〗^+[z]≤〖VS〗^+[z+1]对于z=0,…,〖NVS〗_(i(k))-2。
给定有效校正子,候选校验节点分量V_(i(k))^'[z]=(〖V'〗_(i(k))^⊕[z],〖V'〗_(i(k))^+[z])对于z=0,…,〖NVS〗_(i(k))-1可以根据符号VS^^[z]的值和可靠性度量VS确定〖^+[z]包括在选定的有效校正子中。更具体地,可以根据以下条件来确定候选校验节点分量V_(i(k))^′[z]中包括的符号〖V'〗_(i(k))^^[z]。
Figure BDA0002379780720000341
候选校验节点分量V_(i(k))^'[z]中包括的可靠性度量〖V'〗_(i(k))^+[z]可以通过以下方式确定:
〖V'〖_(i(k))^+[z]=〖VS〗^+[z](13)
处理单元83可以进一步包括选择单元87,其被配置为根据可靠性度量〖V'〗从所确定的候选校验节点分量V_(i(k))^'的确定的集合中选择n_(m,out)个校验节点分量。与符号〖V'〗__(i(k))^⊕[z]相关联的_(i(k))^+[z],候选校验节点分量V_(i(k))^'的集合包括〖NVS〗_(i(k))分量。
根据一些实施例,选择单元87可以被配置为从候选校验节点分量的集合中选择包括不同符号的n_(m,out)个校验节点分量。因此,选择单元87可以首先被配置为在候选校验节点分量V_(i(k))^'的集合中执行冗余消除,以保持包括相同符号的分量之间(即,包括冗余符号的分量之间)。),其中包括最可靠的符号。在第二步骤,选择单元87可以被配置为取决于包括在其中的符号的可靠性度量,从处理的候选校验节点分量中选择n_(m,out)≤〖NVS〗_(i(k))个分量。处理的候选校验节点分量,使得选择包括最可靠的不同符号的n_(m,out)个分量。
根据其他实施例,选择单元87可以被配置为通过仅执行一组的冗余消除来从确定的候选校验节点分量V_(i(k))^'中选择n_(m,out)校验节点分量。候选校验节点分量V_(i(k))^'。换句话说,所选择的n_(m,out)个校验节点分量可以对应于包括不同符号的候选校验节点分量V_(i(k))^'[z]。在候选校验节点分量集合V_(i(k))^'的集合不包括具有相同符号的分量的实施例中,所选择的n_(m,out)个校验节点分量可以对应于所选择的有效节点中包括的分量。校正子,n_(m,out)在这种情况下等于有效校正子的数量,即n_(m,out)=〖NVS〗_(i(k))。
根据其他实施例,选择单元87可以被配置为从确定的候选校验节点分量V_(i(k))^'中选择n_(m,out)校验节点分量,而不在候选校验节点之间执行冗余消除。包括冗余符号的分量。在这样的实施例中,选择单元87可以被配置为在〖NVS〗_(i(k))校验节点分量中选择最可靠的n_(m,out)≤〖NVS〗_(i(k))。分量。
仍然在其他实施例中,选择单元87可以被配置为从确定的候选校验节点分量V_(i(k))^'中选择n_(m,out)=〖NVS〗_(i(k))校验节点分量。在不执行冗余消除的情况下,校验节点分量的数量n_(m,out)等于所选有效校正子的数量〖NVS〗_(i(k))以及与包括在其中的分量相对应的所选校验节点分量的数量选择的有效校正子。
应当注意,在选择单元87不执行冗余消除的实施例中,校验节点分量可以包括两个或更多个包括相同符号的分量。在这样的实施例中,可以在校验节点消息的可变节点处理单元接收器的级别执行冗余消除。
根据一些实施例,对于k在1,…,N_B中变化的k,在子校验节点S-〖CN〗^((k))80-k的各个块中实现的选择单元87可以被配置为选择a。相同数量的n_(m,out)个校验节点分量,以确定校验节点消息。
根据其他实施例,在子校验节点S-〖CN〗^((k))80-k的一个或多个块中实现的选择单元87可以被配置为选择不同的数字n_(m,out)。确定校验节点消息的校验节点分量的数量。在这样的实施例中,被配置为接收这些校验节点消息的可变节点处理单元27-vn可以被配置为执行截断操作以在每个接收到的校验节点消息中保留相同数量的分量。
此外,根据一些实施例,校验节点分量的数量n_(m,out)可以与可变节点消息中的分量的数量n_(m,in)不同。特别地,校验节点分量的数量可以满足n_(m,out)≥n_(m,in)。
在一些实施例中,校验节点分量的数量n_(m,out)可以取决于包括在可变节点消息中的分量n_(m,in)的数量。
校验节点分量的数量n_(m,out)可以进一步取决于错误校正码(例如,在其上构造码的代数结构)和/或取决于迭代解码过程的解码迭代的顺序和/或在信噪比上和/或在校验节点处理单元25-cn的计算和存储能力上。
在一些其他实施例中,校验节点分量的数量n_(m,out)可以取决于先前引用的因素的组合。
根据一些实施例,可以使用至少一个基本校验节点处理器来执行在计算单元81处的校正子计算,该组子校验节点校正子S^((k))是根据由各种基本校验生成的基本结果来确定的。校验节点处理器。这种类型的架构称为“气泡校正子”子校验节点架构。
根据Bubble-syndrome子校验节点架构,计算子校验节点S-〖CN〗^((k))80-k的子校验节点校正子集S^((k))。可能涉及l^((k))-1个基本校验节点处理器。
将基本校验节点处理器用于一组校正子的计算能够减少校正子计算中涉及的计算复杂度。实际上,通过使用基本校验节点处理器,减少了用于确定校验节点消息的计算的校正子的数量,从而使得可以利用校正子解码的并行性,同时减轻了通常由于高数量的校验码而导致的计算复杂性。计算校正子。另外,基本校验节点处理器在计算的基本消息中提供排序的分量(取决于符号的可靠性度量的顺序)。结果,可以消除在校正子计算之后应用的在计算单元处执行的排序操作,从而能够降低排序处理所需的计算复杂度并降低实施成本。
图9是示出根据一些实施例的子校验节点S-〖CN〗^((k))90-k的结构的框图,其中实现第二配置的Bubble-syndrome子校验节点架构是用过的。因此,计算单元91可以包括具有a=1,...,l^((k))-1的l^((k))-1个基本校验节点处理器911-a,每个基本校验节点处理器911-a是配置为从第一消息和第二消息确定中间消息(也称为“基本消息”),第一消息和第二消息是从可变节点消息
Figure BDA0002379780720000361
Figure BDA0002379780720000362
由W_t'表示的中间消息可以包括数量n_t≥1的排序的中间分量和与每个中间分量相关联的中间二进制矢量,该中间分量是根据其中包括的符号的可靠性度量的给定顺序来排序的。
在一些实施例中,每个基本校验节点处理器911-a可以被配置为通过在Galois字段上(通常在其上错误校正码所在的结构上)应用加法运算来确定中间消息的中间分量中包括的符号。构造),所述加法运算被应用于第一消息的组成部分中包括的符号和第二消息的组成部分中包括的符号。
而且,每个基本校验节点处理器911-a可以被配置为通过将给定的代数结构上的加法运算应用于包括在中间消息的分量中的可靠性度量,来确定与包括在中间消息的中间分量中的符号相关联的可靠性度量。第一消息和第二消息的分量中包括的可靠性度量。
根据一些实施例,可以在由实数字段
Figure BDA0002379780720000371
整数字段Z和自然数字段N组成的组中选择代数结构。
例如,在量化的硬件实现和/或软件实现中,每个基本校验节点处理器911-a可以被配置为通过在整数字段上应用加法运算来确定与包括在中间消息的中间分量中的符号相关联的可靠性度量。Z或自然数N的字段,可以降低复杂度。
此外,由给定的基本校验节点处理器911-a处理的第一消息和第二消息的每个分量可以与从初始二进制值得到的二进制矢量相关联。在这样的实施例中,每个基本校验节点处理器911-a可以被配置为通过应用矢量级联操作来确定与中间分量相关联的中间二进制矢量,该矢量级联操作被应用于与第一分量的相关联的二进制矢量。消息以及与第二消息的一部分关联的二进制矢量。
根据一些实施例,基本校验节点处理器911-a可以被配置为通过处理来自第一消息的小于或等于n_(m,in)的分量和/或较低的分量数来确定中间消息。从第二条消息开始等于或等于n_(m,in)。
在I^((k))-1个基本校验节点处理器911-a中,至少一个基本校验节点处理器911-a可被配置为确定中间消息和与中间消息的每个分量相关联的中间二进制矢量在两个可变节点消息中,第一消息和第二消息分别等于第一可变节点消息和第二可变节点消息。
根据一些实施例,其中第一消息和第二消息不同于可变节点消息,即,对应于架构中先前的基本校验节点处理器911-a传递的中间消息,从第一消息处理的分量的数量和/或者从第二消息处理的分量的数量可以对应于先前由基本校验节点处理器911-a递送的分量的数量。换句话说,由给定的基本校验节点处理器911-a处理的分量的数量可以取决于由位于架构中的先前阶段的基本校验节点处理器911-a处理的先前的中间消息中包括的分量的数量。
可以根据包括例如串行架构,树架构和混合架构的各种架构在计算单元91中实现基本校验节点处理器911-a。
根据将校验节点处理单元25-cn划分为两个或多个Bubble-syndrome子校验节点类型的子校验节点块的一些实施例,每个块的每个计算单元中包括的基本校验节点处理器可以根据相同的架构来实现子校验节点的结构。
在将校验节点处理单元25-cn划分为两个或多个Bubble-syndrome子校验节点类型的子校验节点块的其他实施例中,每个子块中包括一个或多个计算单元-校验节点可以根据不同的架构实现基本校验节点处理器。
图10是示出根据一些实施例的包括在实现Bubble-syndrome子校验节点架构的子校验节点S-〖CN〗^((k))90-k中的计算单元91的结构的框图。其中,l^((k))-1基本校验节点处理器以串行架构实现。因此,计算单元91可以包括基本校验节点处理器101-1,其被配置为通过处理两个可变节点消息U_(∑_(a=1)来确定中间消息以及与中间消息的每个分量相关联的中间二进制矢量。
Figure BDA0002379780720000381
Figure BDA0002379780720000382
Figure BDA0002379780720000383
剩余的b=2,…,l^((k))-1的基本校验节点处理器101-b可以分别配置为处理一个由基本校验节点处理器101-c预先确定的可变节点消息和一个中间消息。对于c=1,…,b-1,它在串行架构的前一阶段运行。
图11是示出包括在实现Bubble-校正子的l^((k))=8的子校验节点S-〖CN〗^((k))90-k中的计算单元91的结构的框图。根据一些实施例的子校验节点架构,其中在树架构中实现l(((k))-1个基本校验节点处理器。因此,计算单元91可以包括至少一个基本校验节点处理器111,其被配置为通过处理两个可变节点消息来确定中间消息和与中间消息的每个分量相关联的中间二进制矢量。剩余的基本校验节点处理器113和/或基本校验节点处理器115可以被配置为通过处理至少由先前确定的至少一个可变节点消息来确定中间消息和与中间消息的每个分量相关联的中间二进制矢量。在树结构的先前阶段操作的一个基本校验节点处理器111和/或一个基本校验节点处理器115。
图12是示出包括在实现Bubble-校正子的l^((k))=3的子校验节点S-〖CN〗^((k))90-k中的计算单元91的结构的框图。根据一些实施例的子校验节点架构,其中基本校验节点处理器以混合架构实现。因此,计算单元91可以包括:至少一个基本校验节点处理器1201,其被配置为通过处理两个可变节点消息来确定中间消息以及与中间消息的每个分量相关联的中间二进制矢量;以及至少一个基本校验节点处理器1203。通过配置可变节点消息和由位于混合架构的前级的基本校验节点处理器1201生成的中间消息,确定中间消息和与中间消息的每个分量相关联的中间二进制矢量。
为了说明基本校验节点处理器911-a对中间消息的计算,将参考处理均等于可变节点消息的第一消息和第二消息来进行一些实施例的以下描述。图13示出了根据这样的实施例的基本校验节点处理器911-a。相应地,基本校验节点处理器911-a可以被配置为处理在索引集合中从∑_(a=1)^(开始变化)的l和p≠l的第一可变节点消息U_1和第二可变节点消息U_p。
Figure BDA0002379780720000391
Figure BDA0002379780720000392
根据这两个可变节点消息,每个消息包括符号的n_(m,in)个分量及其可靠性度量,基本校验节点处理器911-a可配置为确定由W_t^'表示的中间消息,该中间消息包括中间数量n_t分量W_t^'[j]=(〖W'〖_t^⊕[j],〖W'〗_t^+[j])并确定一个中间二进制矢量〖W'〗_t^DBV[j]与每个中间分量相关联。可以根据给定消息中包括的符号的可靠性度量,按照给定的顺序对包括在中间消息中的中间分量进行排序,使得〖W'〗_t^+[j+1]≥〖W'〗_t^+[j]表示所有=0,...,n_t-2。
根据一些实施例,基本校验节点处理器911-a可以被配置为根据以下三个步骤来确定中间消息W_t'。
在第一步,基本校验节点处理器911-a可以被配置为从第一消息U_1的分量和第二消息U_p的分量确定一组辅助分量。辅助分量称为“气泡”。用B_t[u][v]表示的气泡是指从第一消息U_1中包括的分量U_1[u]和第二消息U_p中包括的分量U_p[v]获得的气泡。索引u在0,1,...,n_l-1中变化,而索引v在0,1,...,n_p-1中变化。气泡B_t[u][v]=(B_t^⊕[u][v],B_t^+[u][v])是可以包括以下内容的分量:
-由B_t^⊕[u][v]表示的符号,以及
-由B_t^+[u][v]表示的可靠性度量;
另外,由B_t^DBV[u][v]表示的二进制矢量可以与气泡B_t[u][v]相关联。
考虑的气泡总数在n_t和n_l×n_p之间变化,即可以大于或等于n_t且小于或等于n_l×n_p。
根据一些实施例,基本校验节点处理器911-a可以被配置为通过在...的代数结构上应用加法运算来确定辅助分量B_t[u][v]的符号B_t^^[u][v]。错误校正码的构造。对于在Galois字段上构造的码,可以在Galois字段GF(q)上执行加法运算。将加法运算应用于第一消息U_1的分量U_1[u]中包括的符号U_1l^[u]和第二处理消息的分量U_p[v]中包括的符号U_p^l[v]U_p这样:
B_t^⊕[u][v]=U_l^⊕[u]⊕U_p^⊕[v](14)
根据一些实施例,基本校验节点处理器911-a可以被配置为通过在给定的给定值上施加加法运算来确定辅助分量B_t[u][v]的可靠性度量B_t^+[u][v]。代数结构,包括第一消息U_1的分量U_1[u]中包括的可靠性度量U_1+^[u]和第二消息U_p的分量U_p[v]中包括的可靠性度量U_p^+[v]这样:
B_t^+[u][v]=U_l^+[u]+U_p^+[v](15)
根据一些实施例,基本校验节点处理器911-a可以被配置为通过应用矢量级联操作来确定与辅助分量B_t[u][v]相关联的二进制矢量B_t^DBV[u][v]。矢量级联操作可以应用于与第一消息U_1的分量U_1[u]相关联的二进制矢量U_1DBV[u]以及与二进制消息U_p[v]相关联的二进制矢量U_p^DBV[v]。第二条消息U_p使得:
B_t^DBV[u][v]=(U_l^DBV[u]‖U_p^DBV[v]┤)(16)
在第二步骤,基本校验节点处理器911-a可以被配置为根据这些分量中包括的符号的可靠性度量的给定顺序来对确定的辅助分量(气泡)进行排序。
在第三步骤,基本校验节点处理器911-a可以被配置为在排序的辅助分量中选择包括最可靠符号的n_t个分量,其提供中间消息W_t'和与每个分量相关联的二进制矢量。此中间消息中包括的n_t个分量中的一个。
此外,包括在中间消息中的分量的数量n_t可以小于所考虑的气泡的数量。
应当注意,在基本校验节点处理器911-a内对于a=1,…,l^执行由冒泡校正子子校验节点架构中的计算单元91生成的子校验节点校正子的排序。((k))-1在中间消息中输出排序的中间分量。
图14是示出根据一些实施例的子校验节点S-〖CN〗^((k))40-k的结构的框图,在该实施例中,使用了之前通过图4示出的第一配置,并且其中计算单元实现了改进的前向后向架构。
与Bubble-syndrome子校验节点架构相似,前向-后向架构中的计算单元除可配置为从基本元素确定子征的子校验节点的基本计算单元外,还可包括多个基本校验节点处理器。基本校验节点处理器生成的结果。更具体地说,根据图14,子校验节点S-〖CN〗^((k))40-k可以包括计算单元140,其被配置为包括:
-(3l^((k))-6)个基本校验节点处理器分为三个类别,分别与三个处理层相关联,这三个处理层在下文中分别称为“前向层”,“后向层”和“合并层”。前向层可以包括l^((k))-2个基本校验节点处理器ECN-FL141。后向层可以包括l^((k))-2个基本校验节点处理器ECN-BL142。合并层可以包括包括d_j-2个基本校验节点处理器ECN-ML 143,和
-基本计算单元144,其被配置为根据由三个处理层中包括的各个基本校验节点处理器所生成的中间消息与可变节点消息U_∑_来生成一组子校验节点校正子S^((k))。
Figure BDA0002379780720000411
在基本校验节点处理器ECN-FL 141,ECN-BL 142和ECN-ML 143的每个处执行的处理与上述基本校验节点处理器911-a所执行的处理相似,除了基本在向前-向后架构中实现的校验节点处理器可以另外执行冗余消除,以在排序的辅助分量中选择包括最可靠的不同符号的分量。
在这样的架构中,除了生成子校验节点校正子S^((k))之外,计算单元140还可以被配置为发送基本消息W_(∑_(a=1)^(由基本校验节点处理器ECN-k生成的k-1)
Figure BDA0002379780720000421
Figure BDA0002379780720000422
位于合并层的ML 143到达处理单元145。中间校验节点消息U_(∑_(a=1)^(k-1)±l^((a))+1)^',…,在这种情况下,由计算单元140传送的
Figure BDA0002379780720000423
与基本消息
Figure BDA0002379780720000424
Figure BDA0002379780720000425
一致由基本校验节点处理器ECN-ML 143生成的
Figure BDA0002379780720000426
Figure BDA0002379780720000427
此外,处理单元145可以被配置为:
-接收包括从子校验节点校正子计算出的校正子的集合S^((k)),所述子校正子由先前由子校验节点的剩余块中的一个或多个确定的;
-包括l^((k))个基本计算单元148,每个基本计算单元148被配置为针对i(k)=∑_(a=1)^(k-1)确定候选校验节点消息V_(i(k))^'。来自所接收的一组校正子
Figure BDA00023797807200004212
和中间消息U_的
Figure BDA0002379780720000428
Figure BDA0002379780720000429
假定可以在基本校验节点处理器ECN-FL 141,ECN-BL 142和ECN-ML143的级别上执行冗余消除包括相同符号的中间分量重复项的操作,则候选校验节点消息V_(i(k))可以包括包括不同符号的每个候选校验节点分量。
处理单元145可以进一步包括选择单元149,选择单元149被配置为针对
Figure BDA00023797807200004210
Figure BDA00023797807200004211
通过从候选校验中包括的分量中选择来确定校验节点消息V_(i(k))节点消息V_(i(k))^',n_(m,out)最可靠的候选校验节点分量。
图15和图16是流程图,其示出了根据各个实施例的,用于至少一个校验节点处理单元25-cn的校验节点消息的确定方法的流程图,该方法应用于根据用于解码非二进制LDPC码的EMS算法的EMS算法而实现。分别使用先前通过图4示出的第一配置和通过图5示出的第二配置来执行校验节点消息的发送。
仅出于说明的目的,将参考在对数域中由对数似然比(LLR)值表示的软输出解码和可靠性度量来对一些实施例进行以下描述。然而,技术人员将容易理解,可以使用其他类型的解码和可靠性度量来测量符号的可靠性。例如,可靠性度量可以是符号的概率密度函数的二次距离或任何单调函数。
在EMS算法的迭代解码过程中,至少一个校验节点处理单元计算出的校验节点消息与可变节点处理单元交换。可以执行解码处理,以通过应用信度传播解码规则来从由矢量y=(y_1,…,y_n)表示的接收到的噪声序列中确定原始码字c的估计c^。码字c=(c_1,…,c_n)可能已经在发射机处使用由在q>2的Galois字段GF(q)上构造的C(n,K)指定的非二进制LDPC码进行了编码。
LLR是度量符号可靠性的度量。LLR度量标准的一个定义涉及固定的参考符号。标记为β_i的符号c_i的参考符号可以对应于满足以下条件的最可靠的符号:
Figure BDA0002379780720000431
在方程(17)中,α_t表示GF符号。
因此,对于第i个符号c_i,将该符号的LLR值等于α_t记为〖LLR〗_t(c_i),可以表示为:
〖LLR〗_t(c_i)=-log((p(c_i=α_t|y_i))/p(c_i=β_i|y_i))(18)
使用LLR度量的这种定义,最可靠的符号是根据方程(18)具有最小的LLR值的符号。
为了表示的清楚起见,以下实施例的描述将集中于度数为d_cn≥3的校验节点处理单元处的处理,该处理接收到d_cn排序并被截断的可变节点消息U_1,U_2,…,U_(d_cn)并生成d_cn校验节点消息V_1,V_2,…,V_cn。
图15对应于实现第一配置的校验节点消息的块计算。
可以执行步骤1501以接收至少三(3)个可变节点消息U_1,U_2,U_3…,U_(d_cn)。
可以执行步骤1503以确定与cn=1,…,n-K的至少一个校验节点处理单元25-cn相关联的一组块划分参数。
在一些实施例中,与校验节点处理单元25-cn相关联的一组块划分参数可以包括至少第一块划分参数N_B≥2和第二块划分参数l^((k))≥1,k=1,...,N_B满足
Figure BDA0002379780720000441
根据涉及cn=1,2,…,nK的涉及至少两个校验节点处理单元25-cn的一些实施例,可以与至少两个校验节点处理单元25中的每一个相关联地确定相同的块划分参数集合。-cn。相同的块划分参数集合可以与至少两个校验节点处理单元25-cn中的每一个相关联地包括相同的第一块划分参数和相同的第二块划分参数。
在涉及至少两个校验节点处理单元25-cn的cn=1,…,n-K的其他实施例中,可以用所述至少两个校验节点处理单元25-cn中的至少两个来确定不同的块划分参数集。
根据一些实施例,可以取决于将由校验节点处理单元25-cn处理的接收到的可变节点消息来确定块划分参数的集合。
例如,在其中应用了可变节点消息的截断的一些实施例中,可以取决于包括在所接收的可变节点消息中的分量的数目n_(m,in)来确定一组块划分参数。
在另一示例中,可以取决于校验节点处理单元25-cn的程度d_cn,针对cn=1,…,n-K,与至少一个校验节点处理单元25-cn相关联地确定一组块划分参数。
此外,根据一些实施例,可以取决于在包括信噪比中的一个的组中选择的至少一个参数,与至少一个校验节点处理单元25-cn相关联地确定一组块划分参数。所使用的错误校正码C(n,K)的构造的代数结构,以及可变节点处理单元27-vn和校验节点处理单元25-cn之间的消息交换的迭代次数。
给定与至少一个校验节点处理单元25-cn相关联的确定的块划分参数的集合,可以执行步骤1505,以从接收到的可变节点消息中确定可变节点消息的块。
下面的描述将参考块划分和从d_cn个可变节点消息U_1,U_2,…,U_(d_cn)的集合中的校验节点消息的计算,该变量被分成N_B个可变节点消息块,索引k块对于k=1,...,N_B包括l^((k))≥1个可变节点消息
Figure BDA0002379780720000442
Figure BDA0002379780720000451
仅用于说明目的。该解码方法使得能够通过N_B个校验节点消息块来确定校验节点消息V_1,V_2,…,V_(d_cn),每个块l^((k))个校验节点消息
Figure BDA0002379780720000452
Figure BDA0002379780720000453
由可变节点消息
Figure BDA0002379780720000454
Figure BDA0002379780720000455
并从其余块中得出结果索引b=1,…,N_B与b≠k的关系。更具体地说,校验节点消息块
Figure BDA0002379780720000456
Figure BDA0002379780720000457
可以从可变节点消息
Figure BDA0002379780720000458
Figure BDA0002379780720000459
Figure BDA00023797807200004510
并从一组校正子
Figure BDA00023797807200004523
中组成,这些校正子由根据索引块确定的子校验节点校正子集S^((b))计算得出来自可变节点消息
Figure BDA00023797807200004511
Figure BDA00023797807200004512
Figure BDA00023797807200004513
可以执行步骤1507以确定集合S^(((k))={S_1^((k)),S_2^((k)),…,S_(〖NS}^((k)))^(〖NS〗^((k))的子校验节点校正子S_r^((k)),r=1,…,〖NS〗^((k))和中间校验节点消息
Figure BDA00023797807200004514
Figure BDA00023797807200004515
从对于j=0,一个或多个可变节点分量U_(i(k))[j]=(U_(i(k))^⊕[j],U_(i(k())^+[j])…,n_(m,in)-1包括在可变节点消息U_(i(k))中,其中
Figure BDA00023797807200004516
Figure BDA00023797807200004517
更具体地,校正子S_r^((k))可以包括:
-对于j=0,…,n_(m,in)-1,可以由符号U_(i(k))^⊕[j]确定的符号S_r^((k),⊕)包括在:包括在至少一个可变节点消息U_(i(k))中的一个或多个可变节点分量
Figure BDA00023797807200004518
Figure BDA00023797807200004519
Figure BDA00023797807200004520
-对于j=0,可以从可靠性度量U_(i(k))^+[j]确定与符号S_r^((k),⊕)相关联的可靠性度量S_r^((k),+)。,…,n_(m,in)-1包括在一个或多个可变节点分量中U_(i(k))[j],j=0,…,n_(m,in)-1包括在至少一个一个可变节点消息U_(i(k)),其中
Figure BDA00023797807200004521
Figure BDA00023797807200004522
根据方程(5)。
可以执行步骤1509,以将子校验节点一组校正子S^((k))中的r=1,…,〖NS〗^((k))的确定的校正子S_r^((k))排序为给定顺序的可靠性度量S_r^((k),+)。
可以执行步骤1511以接收包括从由子校验节点集合S^((b))的集合S^((b))计算出的校正子的集合S^((k)),所述子校验节点校正子的集合由b≠k且b=1的其余块确定;…,N_B。
可以执行步骤1513,以从校正子集
Figure BDA0002379780720000461
和中间子校验节点消息中确定一组候选校验节点分量,候选校验节点分量包括一个或多个包括符号和可靠性度量。在一些实施例中,候选校验节点分量可以包括两个或更多个包括相同符号的分量。
可以进一步执行步骤1515以确定校验节点消息
Figure BDA0002379780720000462
Figure BDA0002379780720000463
该校验节点消息包括不同的符号,并根据与之关联的可靠性度量从确定的候选校验节点分量集合中选择多个校验节点分量n_(m,out)来确定在这些符号中,校验节点分量包括不同的符号。
根据一些实施例,校验节点分量的数量n_(m,out)可以与可变节点消息中的分量的数量n_(m,in)不同。特别地,校验节点分量的数量可以满足n_(m,out)≥n_(m,in)。
在一些实施例中,校验节点分量的数量n_(m,out)可以取决于包括在可变节点消息中的分量n_(m,in)的数量。
校验节点分量的数量n_(m,out)可以进一步取决于错误校正码(例如,在其上构造码的代数结构)和/或取决于迭代解码过程的解码迭代的顺序和/或关于信噪比和/或关于校验节点消息的块计算方法的校验节点处理单元25-cn的计算和存储能力。
在一些其他实施例中,校验节点分量的数量n_(m,out)可以取决于先前引用的因素的组合。
图16示出了根据第二配置的计算校验节点消息的方法。
可以执行步骤1601以接收至少三个可变节点消息。
可以分别类似于步骤1503和1505来执行步骤1603和1605。
可以执行步骤1607以确定与包括在可变节点消息U_(∑_(a=1)^(k-1)÷l^((a))+1),…中的每个分量相关联的初始二进制值。
Figure BDA0002379780720000471
Figure BDA0002379780720000472
取决于与符号U_(i(k))关联的可靠性度量U_(i(k))^+[j]^⊕[j]。尤其是:
-可以与包括最可靠的符号的分量U_(i(k))[0]相关联地确定等于预定义的第一值的初始二进制值,并且
-对于j=1,…,n_(m,in)-1,可以与剩余分量U_(i(k))[j]相关联地确定等于预定的第二值的初始二进制值。
根据一些实施例,预定义的第一值可以等于零(“0”),并且预定义的第二值可以等于一(“1”)。在这样的实施例中,与分量U_(i(k))[j]相关联的二进制值可以由方程(6)给出。
根据其他实施例,预定义的第一值可以等于一个(“1”),并且预定义的第二值可以等于零(“0”)。因此,根据方程(7),如果可变节点消息中包括的分量是最可靠的符号,则与可变节点消息中包括的分量相关联的初始二进制值可以等于比特“1”。
可以执行步骤1609以确定集合S^(((k))={S_1^((k)),S_2^((k)),…,S_(〖NS}^((k)))^(来自一个或多个可变节点的〖NS〗^((k))子校验节点校正子S_r^((k)),r=1,…,〖NS〗^((k))的(k))}分量U_(i(k))[j]=(U_(i(k))^⊕[j],U_(i(k())^+[j])对于j=0,…,n_(m,in)-1。更具体地,校正子S_r^((k))可以包括:
-对于j=0,…,n_(m,in)-1,可以由符号U_(i(k))^⊕[j]确定的符号S_r^((k),⊕)包括在:包括在至少一个可变节点消息U_(i(k))中的一个或多个可变节点分量
Figure BDA0002379780720000473
Figure BDA0002379780720000474
Figure BDA0002379780720000475
-对于j=0,可以从可靠性度量U_(i(k))^+[j]确定与符号S_r^((k),⊕)相关联的可靠性度量S_r^((k),+)。,…,n_(m,in)-1包括在一个或多个可变节点分量中U_(i(k))[j],j=0,…,n_(m,in)-1包括在至少一个一个可变节点消息U_(i(k)),其中
Figure BDA0002379780720000476
Figure BDA0002379780720000477
根据方程(5);(k)l^((a));
-二进制矢量S_r^((k),DBV),可以从与每个分量U_(i(k))关联的初始二进制值U_(i(k))^DBV[j]确定。U_(i(k))^⊕[j],U_(i(k())^+[j])对于可变节点消息U_(i)的j=0,…,n_(m,in)-1(k))对于
Figure BDA0002379780720000481
Figure BDA0002379780720000482
根据方程(8)。包括在校正子S_r^((k))中的二进制矢量S_r^((k),DBV)包括1^((k))个比特。
可以执行步骤1611以将确定的子校验节点一组校正子S^((k))排序为可靠性度量S_r^((k),+)的给定顺序。
可以执行步骤1613,以从子校验节点一组校正子S^((k)),k=1,…,N_B中确定NS校正子的集合S={S_1,S_2,…,S_NS}。对于r=1,...,NS的校正子S_r=(S_r^⊕,S_r^+,S_r^DBV)可以包括GF(q)符号S_r^⊕,与该符号S_r^+相关的可靠性度量和二进制矢量S_r^DBV。根据对子校验节点校正子集进行的计算,校正子S_r可以表示为可变节点消息U_1,U_2,…,U_(d_cn)的分量的函数,从而:
-根据方程(9),对于r=1,…,NS包括在校正子S_r中的符号S_r^可以表示为可变节点消息U_1,U_2,…,U_(d_cn)中包括的符号的函数。;
-与符号S_r^with相关联的可靠性度量S_r^+可以根据方程(10)表示为可变节点消息U_1,U_2,…,U_(d_cn)的不同分量中包括的可靠性度量的函数。;和
-包括在校正子S_r中的二进制矢量S_r^DBV可以根据方程(11)被写为与可变节点消息的每个分量相关联的初始二进制值的函数。
可以执行步骤1615,以从一组校正子S中,根据包括在一组校正子中的二进制矢量,与每个校验节点消息相关联地确定候选校验节点分量集合,该候选校验节点分量包括一个或多个分量。包括符号和可靠性度量。
可以执行步骤1617以通过根据与符号相关联的可靠性度量从确定的候选校验节点分量集合中选择多个校验节点分量n_(m,out)来确定每个校验节点消息的校验节点分量。校验包括不同符号的节点分量。
应当注意,流程图15和16示出了校验节点处理单元25-cn一级的处理,该校验节点处理单元25-cn接收由与集合H_c(cn)中的可变节点相关联的可变节点处理单元传递的一组可变节点消息。由于校验节点处理单元处的处理是迭代解码处理的一部分,因此可以进一步处理所传递的校验节点消息(例如,通过信号估计单元29),以便校验是否满足奇偶校验方程,并且决定是继续迭代解码过程还是停止。进一步来说:
-如果尚未达到最大迭代次数并且不满足奇偶校验方程,则可以将由校验节点处理单元25-cn针对cn=1,…,nK传递的校验节点消息发送给相应的变量。节点处理单元27-vn;
-如果处理后的信号满足奇偶校验方程,则解码过程可以终止,并且可以将处理后的信号作为原始码字的估计来传递;
-如果在不满足所有奇偶校验约束的情况下达到最大迭代次数,则可以声明解码失败,并且可以输出在最后一次迭代中估计的码字作为原始码字的估计。
除了在等待时间方面的显著改善之外,根据本发明实施例的架构有利地提供了最佳的解码性能,同时显著降低了解码计算复杂度和实现硬件成本。
本文描述的方法和设备可以通过各种方式来实现。例如,可以以硬件,软件或其组合来实现这些技术。对于硬件实施方式,例如,可以根据仅硬件的配置(例如,在具有相应存储器的一个或多个FPGA,ASIC或VLSI集成电路中)来实现迭代解码器123的处理元件。同时使用VLSI和DSP。
尽管已经通过各种示例的描述示出了本发明的实施例,并且尽管已经相当详细地描述了这些实施例,但是申请人并非意图将所附权利要求的范围限制或以任何方式限制于此类细节。其他优点和修改对本领域技术人员将是显而易见的。因此,本发明在其更广泛的方面不限于所示出和描述的具体细节,表示性方法和说明性示例。
特别地,尽管已经参考将校验节点处理单元划分为实现单个类型的子校验节点架构的子校验节点的N_B个块来执行一些实施例的描述,但是应当注意,本发明还可以应用于其中两个或更多个子校验节点实现不同类型的两种架构的混合架构。
此外,本发明可以与欧洲专利申请No.16305510.6中公开的可变节点消息预排序技术结合。在这样的实施例中,解码器123可以进一步包括至少一个消息置换单元,该消息置换单元被配置为在对其进行校验节点处理单元级别的处理之前,对至少一些可变节点消息施加变换操作(例如置换)。解码器123还可包括切换单元,其被配置为在对校验节点消息进行计算之后将变换操作的逆应用于校验节点消息,以便将每个校验节点消息路由至被配置为接收校验消息的相应可变节点处理单元。
图17是示出在实施例中的校验节点处理单元25-cn的结构的框图,在该实施例中,使用一个或多个置换π并且根据分为两个,在消息预排序单元173处对可变节点消息进行预排序。子校验不同类型的节点,以便:
-子校验节点S-〖CN〗^((1))175实现校正子子校验节点架构,并且
-子校验节点S-〖CN〗^((2))177实现了前向-后向子校验节点架构。
在这样的实施例中,对于i=1,…,d_cn,由子校验节点计算的校验节点消息由V_(π(i))表示,校验节点消息V_(π(i))对应于i的置换。使用一个或多个置换π的校验节点消息V_i。
在这样的使用可变节点消息的预排序的实施例中,校验节点处理单元25-cn还可以包括切换单元179,其被配置为切换回置换后的校验节点消息V_(π(i)),以便生成校验节点消息。V_i以这样的方式,使得集合H_c(cn)中的每个可变节点处理单元都接收其指定的校验节点消息。切换单元179可以应用与可以从消息置换单元173接收的一个或多个置换π的逆相对应的逆置换π^(-1)。
进一步地,在使用可变节点消息与涉及至少一个基于校正子的子校验块的相似或不同类型的子校验节点的块组合预排序的实施例中,回切操作(执行以路由计算的校验节点)可以将它们的消息发送给它们相应的可变节点处理单元)与由所述至少一个基于子校正子的基于校正子的块执行的解相关处理相结合。可以在转让给与本申请相同的实体并于同一天提交的欧洲专利申请No.EP17305747.2或No.EP17305748.0中找到关于简化开关操作作为去相关过程的一部分的更多细节。
此外,尽管已经参照EMS算法的特定实现方式执行了本发明的一些实施例的描述,但是应当注意,本发明还可以应用于其他迭代解码算法,例如最小-最大算法。
此外,尽管已经参考在Galois域上构造的错误校正码描述了本发明的一些实施例,但是本领域技术人员将容易理解,基于用于校正子计算的基本校验节点处理的所提出的实施例也可以应用于任何LDPC码,并且在非交换组上构造的任何图形错误校正码,例如多项式码(例如循环码)。
此外,本发明显然在通信系统的应用中具有一些优点,但是应当注意,本发明不限于这样的通信设备,并且可以有利地集成在诸如数据存储设备的许多设备中。
可以通过提供给任何类型的计算机的处理器的计算机程序指令来实现本文描述的方法,以产生具有处理器的机器,该处理器执行指令以实现本文指定的功能/动作。这些计算机程序指令也可以存储在计算机可读介质中,该计算机可读介质可以指导计算机以特定方式起作用。为此,可以将计算机程序指令加载到计算机上以引起一系列操作步骤的执行,从而产生计算机实现的过程,使得所执行的指令提供用于实现本文中指定的功能的过程。

Claims (17)

1.一种解码器,包括:至少一个校验节点处理单元,其被配置为从一个或多个可变节点处理单元接收至少三个可变节点消息,并且确定一个或多个校验节点消息,其中,所述至少一个校验节点处理单元包括至少两块子校验节点(31),每块子校验节点(31)被配置为:
·根据所述至少三个可变节点消息中的至少一个可变节点消息确定一组子校验节点校正子;以及
·根据至少一个校正子确定至少一个校验节点消息。
2.根据权利要求1所述的解码器,其中,所述解码器还包括至少一个消息预排序单元(173),所述消息预排序单元(173)被配置为通过将一个或多个置换应用于所述至少三个可变节点消息来确定置换可变节点消息,每块子校验节点(31)被配置为根据所述置换可变节点消息的至少一个置换可变节点消息确定所述一组子校验节点校正子。
3.根据前述权利要求中任一项所述的解码器,还包括块划分单元(28),所述块划分单元(28)被配置为使用一组块划分参数来执行将至少一个校验节点处理单元划分为至少两块子校验节点。
4.根据前述权利要求中任一项所述的解码器,其中,至少一个校验节点处理单元包括至少两块子校验节点,至少一块子校验节点实现校正子子校验节点架构,以及至少一块子校验节点实现向前-向后架构。
5.根据前述权利要求3至4中的任一项所述的解码器,其中,所述一组块划分参数是与每个校验节点处理单元相关联地确定的,并且至少包括:
-第一块划分参数,其表示包括在所述至少一个校验节点处理单元中的至少两块子校验节点(31),以及
-第二块划分参数,其表示至少一个可变节点消息。
6.根据前述权利要求3至5中的任一项所述的解码器,其中,所述块划分单元(28)被配置为确定与每个校验节点处理单元相关联的相同的一组块划分参数。
7.根据前述权利要求3至5中的任一项所述的解码器,包括至少两个校验节点处理单元,所述块划分单元(28)被配置为确定与所述至少两个校验节点处理单元中的每一个相关联的一组块划分参数,所述一组块划分参数至少包括针对所述至少两个校验节点处理单元中的一个校验节点处理单元的块划分参数,所述块划分参数不同于针对所述至少两个校验节点处理单元的另一个校验节点处理单元的另一个块划分参数。
8.根据前述权利要求3至7中的任一项所述的解码器,其被配置为根据至少一个校验节点消息确定使用至少一个错误校正码编码的信号的估计,每个校验节点处理单元被配置为在多次迭代期间将至少一个校验节点消息发送到所述一个或多个可变节点处理单元,所述块划分单元(28)被配置为取决于至少一个参数来确定与至少一个校验节点处理单元相关联的一组块划分参数,所述至少一个参数是从包括以下中的一个的组中选择的:信噪比、构造至少一个错误校正码的代数结构、所述至少三个可变节点消息以及迭代次数。
9.根据前述权利要求中任一项所述的解码器,其中,校正子包括符号和与所述符号相关联的可靠性度量,每块子校验节点(31)被配置为确定一组子校验节点校正子,所述一组子校验节点校正子包括至少部分地排序为给定顺序的与所述符号相关联的可靠性度量的校正子。
10.根据权利要求9所述的解码器,其中,每个可变节点消息包括一个或多个可变节点分量,每个可变节点分量包括符号和与所述符号相关联的可靠性度量,每个可变节点消息被排序为给定顺序的包括在所述一个或多个可变节点分量中的可靠性度量,所述至少一个校验节点处理单元进一步包括校正子计算单元(32),所述校正子计算单元(32)被配置为根据一个或多个子校验节点校正子确定一组校正子,子校验节点(31)包括:
-计算单元(41),其被配置为根据所述可变节点分量确定一组子校验节点校正子,校正子的符号是根据包括在所述可变节点分量中的符号确定的,并且与确定的符号相关联的可靠性度量是根据包括在所述可变节点分量中的可靠性度量确定的;
-处理单元(43),其被配置为接收由所述校正子计算单元(32)确定的一组校正子,并且根据所述一组校正子确定所述至少一个校验节点消息,校验节点消息包括一个或多个校验节点分量,校验节点分量包括符号和与所述符号相关联的可靠性度量,所述一个或多个校验节点分量包括不同的符号。
11.根据权利要求10所述的解码器,其中,所述计算单元(41)被配置为使用至少一个基本校验节点处理器(811-i)来确定所述一组子校验节点校正子,基本校验节点处理器(811-i)被配置为根据第一消息和第二消息确定中间消息,所述第一消息和所述第二消息是从所述至少一个可变节点消息得到的,所述中间消息包括一个或多个中间分量以及与每个中间分量相关联的中间二进制矢量,每个中间分量包括符号和与所述符号相关联的可靠性度量,所述一个或多个中间分量是根据与所述符号相关联的可靠性度量的顺序来进行排序的,并且包括一个或多个包括相同符号的中间分量,所述至少一个基本校验节点处理器(811-i)被配置为根据从所有可变节点消息确定的中间消息来确定所述一组子校验节点校正子。
12.根据权利要求11所述的解码器,其中,至少一块子校验节点的计算单元(41)包括以串行架构实现的至少两个基本校验节点处理器(811-i)。
13.根据权利要求11或12所述的解码器,其中,至少一块子校验节点的计算单元(41)包括以树架构实现的至少两个基本校验节点处理器(811-i)。
14.根据前述权利要求11至13中任一项所述的解码器,其中,至少一块子校验节点的计算单元(41)包括以混合架构实现的至少两个基本校验节点处理器(811-i),所述混合架构包括以串行架构实现的至少一个基本校验节点处理器(811-i)和以树形架构实现的至少一个基本校验节点处理器(811-i)。
15.根据权利要求8所述的解码器,其中,所述计算单元(41)包括至少一个基本校验节点,所述至少一个基本校验节点被配置为根据第一消息和第二消息确定中间消息,所述第一消息和所述第二消息是从所述至少一个可变节点消息得到的,所述中间消息包括一个或多个中间分量以及与每个中间分量相关联的中间二进制矢量,所述一个或多个中间分量是根据与所述符号相关联的可靠性度量的顺序来排序的,并且包括不同的符号,所述计算单元(41)被配置为根据从所有所述至少一个可变节点消息中确定的中间消息来确定所述一组子校验节点校正子。
16.根据前述权利要求中任一项所述的解码器,其中,所述至少一个错误校正码是非二进制错误校正码。
17.一种解码方法,包括:
·接收至少三个可变节点消息;
·确定至少两组子校验节点校正子,每组子校验节点校正子是根据接收到的至少三个可变节点消息中的至少一个可变节点消息确定的;以及
·根据至少一个校正子确定至少一个校验节点消息。
CN201880050741.7A 2017-06-19 2018-06-07 在非二进制ldpc解码器中简化的校验节点处理 Pending CN111034055A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17305752.2 2017-06-19
EP17305752.2A EP3419181A1 (en) 2017-06-19 2017-06-19 Simplified check node processing in non-binary ldpc decoder
PCT/EP2018/064994 WO2018234052A1 (en) 2017-06-19 2018-06-07 SIMPLIFIED PROCESSING OF CONTROL NODE IN A NON-BINARY LDPC DECODER

Publications (1)

Publication Number Publication Date
CN111034055A true CN111034055A (zh) 2020-04-17

Family

ID=59276638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880050741.7A Pending CN111034055A (zh) 2017-06-19 2018-06-07 在非二进制ldpc解码器中简化的校验节点处理

Country Status (4)

Country Link
US (1) US11290128B2 (zh)
EP (1) EP3419181A1 (zh)
CN (1) CN111034055A (zh)
WO (1) WO2018234052A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3591845B1 (en) * 2018-07-05 2023-08-09 Universite De Bretagne Sud Sorting device and method for elementary check node processing for message-passing decoding of non-binary codes
GB2595240B (en) * 2020-05-18 2022-11-30 Accelercomm Ltd Low density parity check decoder, electronic device, and method therefor
US11880588B2 (en) * 2022-05-13 2024-01-23 Gylicon LTD. SSD device featuring improved decoding

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009004572A1 (en) * 2007-07-04 2009-01-08 Nxp B.V. Shuffled ldpc decoding
CN104539295A (zh) * 2015-01-16 2015-04-22 北京邮电大学 一种基于特征位先验信息的新型ldpc迭代译码的初始化方法
WO2016170140A1 (en) * 2015-04-24 2016-10-27 Universite De Bretagne Sud Check node of non-binary ldpc decoder and corresponding method
US20160336967A1 (en) * 2014-01-07 2016-11-17 Universite De Bretagne Sud Decoding of non-binary ldpc codes
CN106664103A (zh) * 2014-02-03 2017-05-10 国家科学研究中心 用于解码非二进制码的方法和对应的解码装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9960790B2 (en) * 2013-11-29 2018-05-01 Kabushiki Kaisha Toshiba Belief propagation decoding for short algebraic codes with permutations within the code space
EP3242405B1 (en) 2016-05-02 2024-02-21 Université de Bretagne Sud Non-binary check node processing with pre-sorted input
EP3419180B1 (en) 2017-06-19 2022-11-02 Universite De Bretagne Sud Simplified, presorted, syndrome-based, extended min-sum (ems) decoding of non-binary ldpc codes
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
KR102523059B1 (ko) * 2018-04-18 2023-04-19 에스케이하이닉스 주식회사 에러 정정 회로 및 그것을 포함하는 메모리 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009004572A1 (en) * 2007-07-04 2009-01-08 Nxp B.V. Shuffled ldpc decoding
US20100251059A1 (en) * 2007-07-04 2010-09-30 Nxp B.V. Shuffled ldpc decoding
US20160336967A1 (en) * 2014-01-07 2016-11-17 Universite De Bretagne Sud Decoding of non-binary ldpc codes
CN106464268A (zh) * 2014-01-07 2017-02-22 南布列塔尼大学 非二进制ldpc码的解码
CN106664103A (zh) * 2014-02-03 2017-05-10 国家科学研究中心 用于解码非二进制码的方法和对应的解码装置
CN104539295A (zh) * 2015-01-16 2015-04-22 北京邮电大学 一种基于特征位先验信息的新型ldpc迭代译码的初始化方法
WO2016170140A1 (en) * 2015-04-24 2016-10-27 Universite De Bretagne Sud Check node of non-binary ldpc decoder and corresponding method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CÉDRIC MARCHAND: "NB-LDPC check node with pre-sorted input" *
PHILIPP SCHLÄFER: "Syndrome based check node processing of high order NB-LDPC decoders" *

Also Published As

Publication number Publication date
US20210143838A1 (en) 2021-05-13
EP3419181A1 (en) 2018-12-26
US11290128B2 (en) 2022-03-29
WO2018234052A1 (en) 2018-12-27

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200417