CN109964411A - 对ldpc码的有效的列表解码 - Google Patents

对ldpc码的有效的列表解码 Download PDF

Info

Publication number
CN109964411A
CN109964411A CN201780067068.3A CN201780067068A CN109964411A CN 109964411 A CN109964411 A CN 109964411A CN 201780067068 A CN201780067068 A CN 201780067068A CN 109964411 A CN109964411 A CN 109964411A
Authority
CN
China
Prior art keywords
code word
llr
decoded
decoder
message
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
Application number
CN201780067068.3A
Other languages
English (en)
Other versions
CN109964411B (zh
Inventor
S·库得卡尔
T·J·理查森
G·萨奇斯
V·隆克
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109964411A publication Critical patent/CN109964411A/zh
Application granted granted Critical
Publication of CN109964411B publication Critical patent/CN109964411B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • 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/63Joint error correction and other techniques
    • H03M13/6306Error control coding in combination with Automatic Repeat reQuest [ARQ] and diversity transmission, e.g. coding schemes for the multiple transmission of the same information or the transmission of incremental redundancy
    • 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6362Error control coding in combination with rate matching by puncturing
    • H03M13/6368Error control coding in combination with rate matching by puncturing using rate compatible puncturing or complementary puncturing
    • H03M13/6393Rate compatible low-density parity check [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/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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/1128Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
    • 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/116Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
    • 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/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • H03M13/1185Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure wherein the parity-check matrix comprises a part with a double-diagonal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

概括地讲,本公开内容的某些方面涉及用于对低密度奇偶校验(LDPC)码进行解码的方法和装置,以及更具体地讲,涉及用于对低密度奇偶校验(LDPC)码进行列表解码的有效的列表解码器。

Description

对LDPC码的有效的列表解码
相关申请的交叉引用
本申请要求于2017年11月2日递交的美国申请第15/802,163号的优先权,其要求于2016年11月4日递交的美国临时专利第62/417,754号的利益。这两个申请的内容以引用的方式全部并入本文中。
技术领域
概括地说,本公开内容的某些方面涉及用于无线通信的方法和装置,以及更具体地说,本公开内容的某些方面涉及用于对低密度奇偶校验(LDPC)码进行列表解码的有效的列表解码器。
背景技术
无线通信系统被广泛部署以提供诸如语音、数据等的各种类型的通信内容。这些系统可以是能够通过共享可用的系统资源(例如,带宽和发射功率)来支持与多个用户的通信的多址系统。这样的多址系统的示例包括长期演进(LTE)系统、码分多址(CDMA)系统、时分多址(TDMA)系统、频分多址(FDMA)系统、第三代合作伙伴计划(3GPP)长期演进(LTE)系统、改进的长期演进(LTE-A)系统和正交频分多址(OFDMA)系统。
通常,无线多址通信系统可以同时地支持针对多个无线节点的通信。各节点经由在前向链路和反向链路上的传输与一个或多个基站进行通信。前向链路(或下行链路)指的是从基站到节点的通信链路,以及反向链路(或上行链路)指的是从节点到基站的通信链路。可以经由单输入单输出、多输入单输出或多输入多输出(MIMO)系统建立通信链路。
在现代信息时代,二进制值(例如,一和零)用于表示和传送诸如视频、音频、统计信息等的各种类型的信息。不幸的是,在对二进制数据的存储、传输和/或处理期间,可能无意地引入错误;例如,一可能变成零,反之亦然。
通常,在数据传输的情况下,接收机在存在噪声或失真的情况下观察各接收的比特,以及仅获得对比特的值的指示。在这些情况下,观察到的值被解释为“软”比特的来源。软比特指示对比特的值(例如,一或零)的优选估计连同对该估计的可靠性的某个指示。虽然错误的数量可能相对较低,但即使少量的错误或失真程度也可能导致数据是不能用的,或在传输错误的情况下可能需要对数据的重新传输。
为了提供用以检查错误的机制,以及在某些情况下,为了纠正错误,可以对二进制数据进行编码以引入精心设计的冗余。对数据的单元的编码产生通常被称为码字的内容。由于其冗余,码字将通常包括比从其中产生码字的数据的输入单元要多的比特。
由编码器向发送的比特流添加冗余比特以创建码字。当接收或处理从发送的码字出现的信号时,如在信号中观察到的码字中包括的冗余信息可以用于识别和/或纠正在接收的信号中的错误或从接收的信号中去除失真,以便恢复原始的数据单元。这样的错误检查和/或错误纠正可以实现为解码过程的一部分。在不存在错误的情况下,或在可纠正的错误或失真的情况下,可以使用解码来从正在处理的源数据中恢复被编码的原始数据单元。在不可恢复的错误的情况下,解码过程可以产生关于原始数据不能完全地恢复的某个指示。对解码失败的这样的指示可以用于发起对数据的重新传输。
随着光纤线路越来越多地用于数据通信,以及数据可以从数据存储设备(例如,磁盘驱动器,磁带等)读取和存储到数据存储设备的速率增加,存在不仅针对对数据存储和传输容量的有效利用的增长的需要,还有针对以高速率对数据进行编码和解码的能力的需要。
虽然编码效率和高数据速率是重要的,但是针对用于在多种多样的设备(例如,消费者设备)中使用要实用的编码系统和/或解码系统,重要的是编码器和/或解码器是能够以合理的成本来实现的。
通信系统通常需要以若干不同的速率进行操作。保持实现方式尽可能简单以及为以不同速率进行编码和解码做准备的一种方式,是使用可调整的低密度奇偶校验(LDPC)码。特别是,一种方式可以通过将较低速率的代码进行打孔来生成较高速率的LDPC码。
这些多址技术已被各种电信标准采用,以提供使不同的无线设备能够在市区级、国家级、区域级甚至全球级进行通信的通用协议。新兴的电信标准的示例是新无线电(NR)。NR是由第三代合作伙伴计划(3GPP)发布的LTE移动标准(例如,5G无线接入)的增强集合。NR被设计为通过提高频谱效率、降低成本、改进服务、利用新频谱来更好地支持移动宽带互联网接入,以及在下行链路(DL)和上行链路(UL)上使用具有循环前缀(CP)的OFDMA与其它开放标准更好地整合,以及支持波束成形、多输入多输出(MIMO)天线技术和载波聚合。
随着对移动宽带接入的需求持续增加,存在针对在NR技术中进一步改进的需要。优选地,这些改进应该适用于其它多址技术和采用这些技术的电信标准。改进的一个领域是适用于NR的编码/解码的领域。例如,用于针对NR的高性能LDPC码的技术是期望的。
发明内容
本公开内容的系统、方法和设备均具有若干方面,其中没有单个方面单独地负责其期望的属性。在不限制如通过所附权利要求所表达的本公开内容的范围的情况下,现在将简要地论述一些特征。在考虑本论述之后,以及特别是在阅读标题为“具体实施方式”的章节之后,本领域技术人员将理解本公开内容的特征如何提供包括在无线网络中在接入点与站之间的改进的通信的优点。
本公开内容的某些方面给出了用于执行低密度奇偶校验(LDPC)解码的方法。方法通常包括接收与码字的比特相对应的多个对数似然比(LLR)。方法进一步包括选择一个或多个奇偶比特以扩展码字。方法进一步包括生成与针对一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合,所述多个LLR集合中的各LLR集合包括与码字的比特相对应的多个LLR。方法进一步包括对多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息。方法进一步包括基于多个候选消息中的各候选消息的参数来选择多个候选消息中的如与码字相对应的一个候选消息。
本公开内容的某些方面给出了用于执行低密度奇偶校验(LDPC)解码的装置。装置通常包括用于接收与码字的比特相对应的多个对数似然比(LLR)的单元。方法进一步包括用于选择一个或多个奇偶比特以扩展码字的单元。方法进一步包括用于生成与针对一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合的单元,所述多个LLR集合中的各LLR集合包括与码字的比特相对应的多个LLR。方法进一步包括用于对多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息的单元。方法进一步包括用于基于多个候选消息中的各候选消息的参数来选择多个候选消息中的如与码字相对应的一个候选消息的单元。
本公开内容的某些方面给出了用于执行低密度奇偶校验(LDPC)解码的装置。装置通常包括存储器和处理器。存储器和处理器通常被配置为接收与码字的比特相对应的多个对数似然比(LLR)。存储器和处理器进一步被配置为选择一个或多个奇偶比特以扩展码字。存储器和处理器进一步被配置为生成与针对一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合,所述多个LLR集合中的各LLR集合包括与码字的比特相对应的多个LLR。存储器和处理器进一步被配置为对多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息。存储器和处理器进一步被配置为基于多个候选消息中的各候选消息的参数来选择多个候选消息中的如与码字相对应的一个候选消息。
本公开内容的某些方面给出了具有在其上存储的用于执行用于低密度奇偶校验(LDPC)解码的方法的指令的非暂时性计算机可读介质。方法通常包括接收与码字的比特相对应的多个对数似然比(LLR)。方法进一步包括选择一个或多个奇偶比特以扩展码字。方法进一步包括生成与针对一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合,所述多个LLR集合中的各LLR集合包括与码字的比特相对应的多个LLR。方法进一步包括对多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息。方法进一步包括基于多个候选消息中的各候选消息的参数来选择多个候选消息中的如与码字相对应的一个候选消息。
在结合附图回顾本发明的特定的、示例性的实施例的以下描述时,本发明的其它方面、特征和实施例对于本领域普通技术人员而言将变得显而易见。虽然本发明的特征可以是相对于在下文中的某些实施例和附图论述的,但是本发明的全部实施例可以包括在本文中论述的有利特征中的一个或多个有利特征。换句话说,虽然可以将一个或多个实施例论述为具有某些有利特征,但是还可以根据在本文中论述的本发明的各种实施例来使用这样的特征中的一个或多个特征。以类似的方式,虽然示例性实施例可以在下文中论述为设备、系统或方法实施例,但是应该理解的是,这样的示例性实施例可以是以各种设备、系统和方法来实现的。
附图说明
参考在附图中示出的方面中的一些方面,可以得到在上文中简要概括的更具体的描述,以便本公开内容的在上文记载的特征的方式在细节上可以得到更好的理解。附图示出了本公开内容的仅某些典型的方面,然而,由于该描述可以认可其它等效方面,以及因此附图不被认为是对其范围的限制。
图1根据本公开内容的某些方面示出了示例通信网络。
图2根据本公开内容的某些方面示出了发射机系统和接收机系统的方面的方块图。
图3根据本公开内容的某些方面示出了可以在无线设备中利用的各种组件。
图4-4A根据本公开内容的某些方面示出了示例性低密度奇偶校验(LDPC)码的图形表示和矩阵表示。
图5根据本公开内容的某些方面用用图形示出了对图4A的LDPC码的提升。
图6是用于准循环802.11LDPC码的矩阵的整数表示。
图7是根据本公开内容的某些方面示出包括编码器的射频调制解调器的一部分的简化的方块图。
图8是根据本公开内容的某些方面示出包括解码器的射频调制解调器的一部分的简化的方块图。
图9根据本公开内容的某些方面示出了用于执行低密度奇偶校验(LDPC)解码的示例操作。
为了促进理解,在可能的地方,已经使用完全相同的参考编号来标出对于附图而言是共同的完全相同的元素。预期的是,在没有特定记载的情况下,在一个实施例中公开的元素可以有利地利用在其它实施例上。
具体实施方式
本公开内容的各方面提供了用于针对新无线电(NR)(新无线接入技术)进行编码的装置、方法、处理系统和计算机程序产品。新无线电(NR)可以指的是被配置为根据新的空中接口或固定的传输层进行操作的无线单元。NR可以包括以宽带宽(例如,80MHz或更高)为目标的增强型移动宽带(eMBB)、以高载波频率(例如,27GHz或更高)为目标的毫米波(mmW)、以非后向兼容的MTC技术为目标的大规模MTC(mMTC),和以超可靠低延时通信(URLLC)为目标的关键任务。对于这些一般主题,考虑了不同的技术,诸如编码、低密度奇偶校验(LDPC)和极化。NR小区可以指的是根据新的空中接口或固定的传输层进行操作的小区。NR节点B(例如,5G节点B)可以对应于一个或多个发送接收点(TRP)。
本公开内容的某些方面通常涉及用于对低密度奇偶校验(LDPC)码进行解码的方法和装置,以及更具体地讲,涉及用于对LDPC码进行列表解码的有效的列表解码器。
在下文中参考附图更充分地描述了本公开内容的各个方面。然而,本公开内容可以是以许多不同的形式体现的,以及不应该被解释为限于遍及本公开内容给出的任何特定结构或功能。而是,提供这些方面以使本公开内容将是全面的和完整的,以及将向本领域技术人员充分地传达本公开内容的范围。基于在本文中的教导,本领域技术人员应当理解,无论是独立于本公开内容的任何其它方面实现的还是与本公开内容的任何其它方面组合实现的,本公开内容的范围旨在覆盖在本文中公开的公开内容的任何方面。例如,使用在本文中阐述的任何数量的方面可以实现装置或可以实践方法。另外,本公开内容的范围旨在覆盖这样的装置或方法,其是使用除了在本文中阐述的本公开内容的各个方面之外或不同于在本文中阐述的本公开内容的各个方面的其它结构、功能或结构和功能来实践的。应当理解的是,在本文中公开的公开内容的任何方面可以通过权利要求的一个或多个元素来体现。在本文中使用词语“示例性的”来表示“用作示例、实例或说明”。在本文中描述为“示例性”的任何方面不必要被解释为优选于其它方面或比其它方面有优势。
尽管在本文中描述了特定的方面,但是这些方面的许多变体和置换落在本公开内容的范围内。尽管提及了优选方面的一些利益和优点,但是本公开内容的范围不旨在限于特定的利益、用途或目的。而是,本公开内容的各方面旨在广泛地适用于不同的无线技术、系统配置、网络和传输协议,其中的一些是在附图中和在下文的优选方面的描述中通过示例的方式示出的。详细的描述和附图对本公开内容仅是说明性的而不是限制性的,本公开内容的范围是由所附权利要求以及其等效物来限定的。
在本文中描述的技术可以用于各种无线通信网络,诸如长期演进(LTE)、码分多址(CDMA)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、正交FDMA(OFDMA)网络、单载波FDMA(SC-FDMA)网络等。术语“网络”和“系统”通常可以互相交换地使用。CDMA网络可以实现诸如通用陆地无线接入(UTRA)、CDMA2000等的无线电技术。UTRA包括宽带-CDMA(W-CDMA)和低码片速率(LCR)。CDMA2000覆盖IS-2000、IS-95和IS-856标准。TDMA网络可以实现诸如全球移动通信系统(GSM)的无线电技术。OFDMA网络可以实现诸如NR(例如,5G RA)、演进的UTRA(E-UTRA)、IEEE 802.11、IEEE 802.16、IEEE 802.20、闪速OFDM等的无线电技术。UTRA、E-UTRA和GSM是通用移动电信系统(UMTS)的一部分。长期演进(LTE)是UMTS的使用E-UTRA的版本。在来自名为“第三代合作伙伴计划”(3GPP)的组织的文档中描述了UTRA、E-UTRA、GSM、UMTS和LTE。在来自名为“第三代合作伙伴计划2”(3GPP2)的组织的文档中描述了CDMA2000。NR是在与5G技术论坛(5GTF)协力的发展之下的新兴的无线通信技术。这些通信网络是仅作为网络的示例来列出的,在其中可以应用在本公开内容中描述的技术;然而,本公开内容是不限于在上文中描述的通信网络的。
单载波频分多址(SC-FDMA)是在发射机侧利用单载波调制以及在接收机侧利用频域均衡的传输技术。SC-FDMA具有与OFDMA系统的那些类似的性能和本质上相同的整体复杂性。然而,SC-FDMA信号由于其固有的单载波结构而具有较低的峰均功率比(PAPR)。SC-FDMA已经引起了极大的关注,特别是在上行链路(UL)通信中,在其中较低的PAPR在发射功率效率方面极大地有益于无线节点。
接入点(“AP”)可以包括,实现为,或称为节点B(NodeB)、无线网络控制器(“RNC”)、演进型节点B(eNodeB,eNB)节点B(例如,5G节点B)、发送接收点(TRP)、基站控制器(“BSC”)、基站收发机(“BTS”)、基站(“BS”)、收发机功能(“TF”)、无线路由器、无线收发机、基本服务集(“BSS”)、扩展服务集(“ESS”)、无线基站(“RBS”)或某种其它术语。
接入终端(“AT”)可以包括,实现为,或称为接入终端、订户站、订户单元、移动站、远程站、远程终端、用户终端、用户代理、用户装置、用户设备(UE)、用户站、无线节点或某种其它术语。在一些实现方式中,接入终端可以包括移动电话、智能电话、无绳电话、会话发起协议(“SIP”)电话、无线本地环路(“WLL”)站、个人数字助理(“PDA”)、平板电脑、上网笔记本、智能笔记本、超极笔记本、具有无线连接能力的手持设备、站(“STA”)或连接到无线调制解调器的某种其它合适的处理设备。相应地,在本文中教导的一个或多个方面可以并入电话(例如,蜂窝电话、智能电话)、计算机(例如,台式机)、便携式通信设备、便携式计算设备(例如,笔记本电脑、个人数据助理、平板电脑、上网笔记本、智能笔记本、超极笔记本)、医疗设备或装备、生物识别传感器/设备、娱乐设备(例如,音乐或视频设备、或卫星无线单元)、车辆组件或传感器、智能仪表/传感器、工业制造设备、全球定位系统设备、或被配置为经由无线介质或有线介质进行通信的任何其它合适的设备。在一些方面中,节点是无线节点。无线节点可以经由有线通信链路或无线通信链路来提供例如针对网络(例如,诸如因特网或蜂窝网络的广域网)的连接性或到网络的连接性。
虽然在本文中可以使用通常与3G和/或4G无线技术相关联的术语来描述各方面,但是本公开内容的各方面可以应用于其它基于世代的诸如包括NR技术的5G以及以后的通信系统。
示例无线通信系统
图1示出了在其中可以执行本公开内容的各方面的示例通信网络100。如示出的,节点B 102(例如,TRP或5G节点B)可以包括多个天线组,一组包括天线104和天线106,另一组包括天线108和天线110,以及附加组包括天线112和天线114。在图1中,针对各天线组仅示出了两个天线,然而,可以针对各天线组利用更多或更少的天线。无线节点116可以与天线112和天线114相通信,其中天线112和天线114在前向链路120上向无线节点116发送信息,以及在反向链路118上从无线节点116接收信息。无线节点122可以与天线106和108相通信,其中天线106和108在前向链路126上向无线节点122发送信息,以及在反向链路124上从无线节点122接收信息。节点B 102还可以与其它无线节点(例如,其可以是万物互联(IoE)设备)相通信。IoE设备136可以与节点B 102的一个或多个其它天线相通信,其中天线在前向链路140上向IoE设备136发送信息,以及在反向链路138上从IoE设备136接收信息。IoE设备142可以与节点B 102的一个或多个其它天线相通信,其中天线在前向链路146上向IoE设备142发送信息,以及在反向链路144上从IoE设备142接收信息。在频分双工(FDD)系统中,通信链路118、120、124、126、138、140、144和146可以使用不同的频率用于通信。例如,前向链路120可以使用与反向链路118所使用的频率不同的频率,以及前向链路140可以使用与反向链路138所使用的频率不同的频率。
各组天线和/或在其中其被设计用于通信的区域通常称为节点B的扇区。在本公开内容的一个方面中,各天线组可以被设计为向在由节点B 102覆盖的区域的扇区中的无线节点进行传送。
无线节点130可以与节点B 102相通信,其中来自节点B 102的天线在前向链路132上向无线节点130发送信息,以及在反向链路134上从无线节点130接收信息。
在前向链路120和126上的通信中,BS 102的发射天线可以利用波束成形,以便改进针对不同无线节点116、122、136和142的前向链路的信噪比。另外,使用波束成形以通过其覆盖向随机散布的无线节点进行发送的节点B,对在邻近小区中的无线节点造成的干扰要小于节点B通过单个天线向其全部无线节点进行发送而造成的干扰。
虽然在本文中描述的示例的各方面可以是与LTE技术相关联的,但是在诸如NR的其它无线通信系统的情况下,本公开内容的各方面也可以是可适用的。NR可以在上行链路和下行链路上利用具有CP的正交频分复用(OFDM),以及包括针对使用时分双工(TDD)的半双工操作的支持。可以支持100MHZ的单个分量载波带宽。NR资源块可以横跨在0.1毫秒的持续时间内具有75kHz的子载波带宽的12个子载波。各无线帧可以包括具有长度为10毫秒的50个子帧。因此,各子帧可以具有0.2毫秒的长度。各子帧可以指示用于数据传输的链路方向(即,下行链路(DL)或上行链路(UL)),以及针对各子帧的链路方向是可以动态地切换的。各子帧可以包括DL/UL数据以及DL/UL控制数据。可以支持波束成形,以及波束方向可以是动态地配置的。还可以支持具有预编码的MIMO传输。在DL中的MIMO配置可以支持具有多层DL传输的多达8个发射天线,其中多层DL传输具有多达8个流。可以支持具有每UE多达2个流的多层传输。可以支持具有多达8个服务小区的对多个小区的聚合。或者,NR可以支持除了基于OFDM的空中接口之外的不同的空中接口。NR网络可以包括诸如中央单元或分布式单元的实体。
图2示出了在多输入多输出(MIMO)系统200中的发射机系统210(例如,还称为基站)和接收机系统250(例如,还称为无线节点)的一方面的方块图,在所述系统中可以实践本公开内容的各方面。系统210和系统250中的每一者具有用以既进行发送又进行接收的能力。系统210或系统250是进行发送,进行接收,还是同时进行发送和接收取决于应用。在发射机系统210处,针对多个数据流的业务数据是从数据源212提供给发送(TX)数据处理器214的。
在本公开内容的一个方面中,各数据流可以是在各自的发射天线上进行发送的。TX数据处理器214基于针对各数据流选择的特定的编码方案(例如,低密度奇偶校验(LDPC))来对针对该数据流的业务数据进行格式化、编码和交织,以提供经编码的数据。
可以使用OFDM技术将针对各数据流的经编码的数据与导频数据进行复用。导频数据是典型的以已知方式处理的已知数据模式,以及可以在接收机系统处使用来估计信道响应。然后,针对各数据流的复用的导频和经编码的数据是基于针对该数据流选择的特定的调制方案(例如,BPSK、QSPK、M-PSK或M-QAM)来进行调制(例如,符号映射)的,以提供调制符号。针对各数据流的数据速率、编码和调制可以是通过由处理器230执行的指令来确定的。存储器232可以存储用于发射机系统210的数据和软件/固件。
然后将针对全部数据流的调制符号提供给TX MIMO处理器220,所述TX MIMO处理器220可以进一步处理调制符号(例如,用于OFDM)。然后,TX MIMO处理器220将NT(例如,其中NT是正整数)个调制符号流提供给NT个发射机(TMTR)222a至222t。在本公开内容的某些方面,TXMIMO处理器220将波束成形权重应用于数据流的符号以及应用于从其对符号进行发送的天线。
各发射机222接收和处理各自的符号流以提供一个或多个模拟信号,以及进一步调节(例如,放大、滤波和上变频)模拟信号以提供适用于在MIMO信道上的传输的经调制的信号。然后,来自发射机222a至222t的NT个经调制的信号是分别从NT个天线224a至224t发送的。
在接收机系统250处,发送的经调制的信号可以是由NR(例如,其中NR是正整数)个天线252a至252r接收的,以及来自各天线252的接收的信号可以提供给各自的接收机(RCVR)254a至254r。各接收机254可以调节(例如,滤波、放大和下变频)各自的接收的信号,对调节的信号进行数字化以提供样本,以及进一步处理样本以提供相应的“接收的”符号流。
然后,接收(RX)数据处理器260基于特定的接收机处理技术来接收和处理来自NR个接收机254的NR个接收的符号流,以提供NT个“检测到的”符号流。然后,RX数据处理器260对各检测到的符号流进行解调、解交织和解码,以恢复用于数据流的业务数据。由RX数据处理器260进行的处理可以是与由在发射机系统210处的TX MIMO处理器220和TX数据处理器214执行的处理互补的。
处理器270周期性地确定要使用哪个预编码矩阵。处理器270制定包括矩阵索引部分和秩值部分的反向链路消息。存储器272可以存储用于接收机系统250的数据和软件/固件。反向链路消息可以包括关于通信链路和/或接收的数据流的各种类型的信息。然后,反向链路消息由TX数据处理器238进行处理,由调制器280进行调制,由发射机254a至254r进行调节,以及发送回发射机系统210,其中所述TX数据处理器238还从数据源236接收针对多个数据流的业务数据。
在发射机系统210处,来自接收机系统250的经调制的信号由天线224进行接收,由接收机222进行调节,由解调器240进行解调,以及由RX数据处理器242进行处理,以提取由接收机系统250发送的保留链路消息。然后,处理器230确定哪个预编码矩阵要用来确定波束成形权重,以及然后处理提取的消息。
接收机系统250的处理器270、RX数据处理器260、TX数据处理器238或其它处理器/元件中的任何一者或其组合,和/或发射机系统210的处理器230,TX MIMO处理器220、TX数据处理器214、RX数据处理器242或其它处理器/元件中的任何一者或其组合,可以被配置为根据在下文中论述的本公开内容的某些方面来执行用于LDPC解码的过程。在一方面中,处理器270、RX数据处理器260和TX数据处理器238中的至少一者可以被配置为执行在存储器272中存储的用于执行用于在本文中描述的LDPC解码的过程的算法。在另一方面中,处理器230、TX MIMO处理器220、TX数据处理器214和RX数据处理器242中的至少一者可以被配置为执行在存储器232中存储的用于执行用于在本文中描述的LDPC解码的过程的算法。
图3示出了可以在无线设备302中利用的各种组件,所述无线设备302可以是在图1中示出的无线通信网络100内采用的。无线设备302是可以被配置为实现在本文中描述的各种方法的设备的示例。无线设备302可以是节点B 102(例如,TRP)或无线节点(例如,无线节点116、122、130或IoT设备136或142)中的任何无线节点。例如,无线设备302可以被配置为执行在图9中描述的操作900,以及在本文中描述的其它操作。
无线设备302可以包括控制无线设备302的操作的处理器304。处理器304还可以称为中央处理单元(CPU)。可以包括只读存储器(ROM)和随机存取存储器(RAM)两者的存储器306向处理器304提供指令和数据。存储器306的一部分还可以包括非易失性随机存取存储器(NVRAM)。处理器304基于在存储器306内存储的程序指令来典型地执行逻辑运算和算术运算。在存储器306中的指令可以是可执行的以实现在本文中描述的方法,例如,以允许UE对LDPC码进行解码。处理器304的一些非限制性示例可以包括骁龙处理器、专用集成电路(ASIC)、可编程逻辑等。
无线设备302还可以包括壳体308,所述壳体308可以包括发射机310和接收机312以允许在无线设备302与远程位置之间对数据的发送和接收。发射机310和接收机312可以组合成收发机314。单个或多个发射天线316可以附着到壳体308以及电力地耦合到收发机314。无线设备302还可以包括(未示出)多个发射机、多个接收机和多个收发机。无线设备302还可以包括无线电池充电设备。
无线设备302还可以包括信号检测器318,所述信号检测器318可以用于试图检测和量化由收发机314接收的信号的电平。信号检测器318可以检测如总能量、每符号每子载波能量、功率谱密度和其它信号的这样的信号。无线设备302还可以包括用于在处理信号时使用的数字信号处理器(DSP)320。
此外,无线设备还可以包括用于在对用于传输的信号进行编码时使用的编码器322和用于在对接收的信号进行解码时使用的解码器324。根据某些方面,解码器324可以根据在本文中给出的某些方面来执行解码(例如,通过实现在图9中所示的操作900)。
无线设备302的各种组件可以通过总线系统326耦合在一起,所述总线系统326可以包括除了数据总线之外的电源总线、控制信号总线和状态信号总线。根据在下文中论述的本公开内容的各方面,处理器304可以被配置为存取在存储器306中存储的指令以执行LDPC解码。
示例纠错编码
许多通信系统使用纠错码。具体地说,纠错码通过在数据流中引入冗余来补偿在这些系统中信息传递的固有不可靠性。低密度奇偶校验(LDPC)码是使用迭代编码系统的特定类型的纠错码。特别是,加拉格尔(Gallager)码是正则LDPC码的早期示例。LDPC码是通常具有稀疏奇偶校验矩阵H的线性块码。例如,在一些实施例中,其奇偶校验矩阵H的大多数元素是“0”。
LDPC码可以通过二分图(通常称为“Tanner图”)来表示的,其中变量节点的集合对应于码字的比特(例如,信息比特或系统的比特),以及校验节点的集合对应于定义代码的奇偶校验约束的集合。在图中的边将变量节点连接到校验节点。因此,图的节点被分成两个独特的集合,以及具有连接两个不同类型的节点(变量节点和校验节点)的边。
提升图是通过复制二分基础图(G)来创建的,所述基础图还可以称为次数是Z的原模图。如果变量节点和校验节点是通过在图中的“边(edge)”(即,连接变量节点和校验节点的线)连接的,则它们可以认为是“邻居”。另外,针对二分基础图(G)的各边(e),将置换应用于边(e)的Z个副本以互相连接G的Z个副本。如果且仅如果对于各校验节点来说,与全部相邻变量节点相关联的比特求和对二取模为零(即,其包括偶数个1),则具有与变量节点序列的一对一关联的比特序列是有效的码字。如果使用的置换是循环的,则作为结果的LDPC码可以是准循环(QC)的。
图4-4A根据本公开内容的某些方面示出示例性LDPC码的图形表示和矩阵表示。例如,图4示出了用于表示示例性LDPC码的二分图400。二分图400包括连接到(通过正方形表示的)4个校验节点420的(通过圆圈表示的)5个变量节点410的集合。在图400中的边将变量节点410连接到校验节点420(通过将变量节点410连接到校验节点420的线表示的)。该图包括通过|E|=12条边连接的|V|=5个变量节点和|C|=4个校验节点。
二分图可以是通过简化的邻接矩阵来表示的,其还可以称为奇偶校验矩阵。图4A示出了二分图400的矩阵表示400A。矩阵表示400A包括奇偶校验矩阵H和码字向量x,其中x1-x5表示码字x的比特。奇偶校验矩阵H用于确定接收的信号是否被正常地解码。奇偶校验矩阵H具有对应于j个校验节点的C行和对应于i个变量节点(即,经解调的符号)的V列,其中行表示等式,以及列表示码字的比特。在图4A中,矩阵H具有4行和5列,分别对应于4个校验节点和5个变量节点。如果第j个校验节点通过边连接到第i个变量节点,即,两个节点是邻居,则在奇偶校验矩阵H的第i列中和第j行中存在“1”。也就是说,第i行和第j列的交叉点包含在其中边连接相应顶点的“1”和在其中没有边的“0”。如果且仅如果Hx=0(例如,针对各约束节点,如果与约束(经由其与变量节点的关联)相邻的比特求和对二取模为零,即,其包括偶数个一),则码字向量x表示有效的码字。因此,如果码字是正确地接收的,则Hx=0(对2取模)。奇偶校验矩阵是C行乘V列的二进制矩阵。行代表等式,以及列代表在码字中的数字。
解调的符号或变量节点的数量是LDPC码长度。在行(列)中的非零元素的数量被定义为行(列)权重dc(dv)。在一些方面中,诸如对于速率兼容的LDPC码,不是整个LDPC码的全部变量节点都用于如在本文中论述的码字。例如,可以仅使用二分图400的一部分对码字进行编码/解码,以及码字可以具有小于整个LDPC代码长度的长度。
节点的度指的是连接到该节点的边的数量。该特征是在图4A中所示的H矩阵中示出的,其中对于变量节点410而言易发生的边的数量等于在相应列中的1的数量,以及被称为变量节点度d(v)。类似地,与校验节点420连接的边的数量等于在相应行中的一的数量,以及被称为校验节点度d(c)。
正则图或正则码是针对其而言全部变量节点具有相同的度j,以及全部约束节点具有相同的度k的图或码。在这种情况下,我们说码是(j,k)正则码。另一方面,非正则码具有不同的度的约束节点和/或变量节点。例如,一些变量节点可以是度4的,其它变量节点可以是度3的,以及还有其它变量节点仍可以是度2的。
“提升(Lifting)”使得LDPC码能够是使用并行编码和/或并行解码实现方式来实现的,同时还典型地降低了与大型LDPC码相关联的复杂度。提升帮助实现对LDPC解码器的有效并行化,同时仍具有相对紧凑的描述。更具体地,提升是用于从较小的基础代码的多个副本中生成相对大型的LDPC码的技术。例如,提升的LDPC码可以是通过以下方式来生成的:产生基础图(例如,原模图)的Z数量个并行副本,以及然后通过对基础图的各副本的边束的置换来对并行副本进行互相连接。基础图定义代码的(宏)结构,以及包括多个(K个)信息比特列和多个(N个)代码比特列。将基础图提升多个(Z个)导致在KZ个最终块长度。
因此,可以通过“复制和置换”操作来获得较大的图,其中制作和连接基础图的多个副本以形成单个提升的图。针对多个副本,置换和连接单个基础图的副本集合的相似边,以形成比基础图大Z倍的连通图。
图5用图形示出了制作图4的图的三个副本的效果。可以通过对副本之中的相似边进行置换来互相连接三个副本。如果置换被限制为循环置换,则作为结果的图对应于具有提升Z=3的准循环LDPC。从其制作三个副本的原始图在本文中称为基础图。为了获得不同大小的衍生图,我们可以将“复制和置换”操作应用于基础图。
通过利用ZxZ矩阵替换在基础奇偶校验矩阵中的各条目,可以根据基础图的奇偶校验矩阵来构造提升图的相应奇偶校验矩阵。0条目(没有基础边的条目)是利用0矩阵来替换的,以及1条目(用于指示基础边)是利用ZxZ置换矩阵来替换的。在循环的提升的情况下,置换是循环的置换。
循环地提升的LDPC码还可以被解释为在二进制多项式模xZ+1的环上的代码。在该解释中,二进制多项式(x)=b0+b1x+b2x2+…+bZ-1xZ-1可以是相关联到在基础图中的各变量节点。二进制向量(b0,b1,b2,…,bZ-1)对应于关联到在提升图中的Z个相应的变量节点的比特,即,单个基础变量节点的Z个副本。通过将相应的二进制多项式乘以xk来实现通过二进制向量的k进行的循环置换,其中乘法取模xZ+1。在基础图中的度d奇偶校验可以被解释为对相邻二进制多项式B1(x),…,Bd(x)的线性约束,所述线性约束写为其中值k1,…,kd是关联到相应的边的循环的提升值。
该作为结果的等式等效于在循环地提升的Tanner图中与在基础图中的单个相关联的奇偶校验相对应的Z个奇偶校验。因此,可以使用用于基础图的矩阵来表示用于提升图的奇偶校验矩阵,在其中1条目是利用形式xk的单项式来替换的,以及0条目被提升为0,但是现在0被解释为0二进制多项式模xZ+1。这样的矩阵可以是通过给出值k代替xk来写入的。在这种情况下,0多项式有时表示为-1,以及有时表示为另一个字符以便将其与x0区分。
典型地,奇偶校验矩阵的方子矩阵表示代码的奇偶比特。补充的列对应于信息比特,所述信息比特在编码时被设置为等于要编码的信息比特。编码可以是通过求解在前文提及的方子矩阵中的变量来实现的,以便满足奇偶校验等式。奇偶校验矩阵H可以被划分为两个部分M和N,其中M是方形部分。因此,编码减少以求解Mc=s=Nd,其中c和d包括x。在准循环的代码或循环地提升的代码的情况下,在上文中的代数可以被解释为在二进制多项式模xZ+1的环上。在是准循环的802.11LDPC码的情况下,编码子矩阵M具有如在图6中示出的整数表示。
可以对接收的LDPC码字进行解码以产生原始码字的重建版本。在不存在错误的情况下,或者在可纠正错误的情况下,可以使用解码来恢复被编码的原始数据单元。解码器可以使用冗余比特来检测和纠正比特错误。LDPC解码器通常通过以下各项来进行操作:迭代地执行本地计算,以及通过沿着边在二分图400内交换消息来传递那些结果,以及通过基于传入消息在节点处执行计算来更新这些消息。这些步骤通常可以重复若干次,以及可以称为消息传递步骤。例如,在图400中的各变量节点410最初可以被提供具有“软比特”(例如,用于表示码字的接收的比特),所述“软比特”指示对如通过来自通信信道的观察来确定的相关联的比特的值的估计。使用这些软比特,LDPC解码器可以通过从存储器迭代地读取消息或其某个部分来更新消息,以及将更新的消息或其某个部分写回存储器。更新操作是典型地基于相应的LDPC码的奇偶校验约束的。在用于提升的LDPC码的实现方式中,在相似边上的消息通常是并行处理的。
基于循环提升的LDPC码设计可以被解释为:在多项式模的环上的代码可以是二进制多项式模xZ+1,其中Z是提升大小(例如,在准循环代码中的循环的大小)。因此,对这样的代码进行编码通常可以被解释为在该环中的代数运算。
在标准的非正则LDPC码全体(度分布)的定义中,在Tanner图表示中的全部的边可以是统计地可互相交换的。换句话说,存在边的单个统计的等效等级。例如,提升的LDPC码的更详细的论述可以在由Tom Richardson和Ruediger Urbanke于2008年3月17日出版的标题为“Modern Coding Theory(现代编码理论)”的书中找到。对于多边LDPC码,边的多个等效等级是可能的。虽然在标准的非正则LDPC全体定义中,在图中的节点(变量和约束两者)是通过其的度(即,其连接到的边的数量)来指定的,但是在多边类型设置中,边度是向量;其指定独立地连接到来自各边等效等级(类型)的节点的边的数量。多边类型全体包括有限数量的边类型。约束节点的度类型是(非负)整数的向量;该向量的第i个条目记录连接到这样的节点的第i个类型的套接字的数量。该向量可以称为边度。变量节点的度类型具有两个部分,尽管其可以被视为(非负)整数的向量。第一部分与接收的分布有关,以及将被称为接收的度,以及第二部分指定边度。边度发挥着与针对约束节点所起作用相同的作用。边被按类型分类为其对相同类型的套接字进行配对。套接字必须与相似类型的套接字配对的这个约束,表征多边类型概念。在多边类型描述中,不同的节点类型可以具有不同的接收的分布(例如,相关联的比特可以经过不同的信道)。
在某些方面,基于原模图的码(诸如在本文中描述的那些代码)是如在本文中论述的更一般的多边类型的LDPC码的子等级。相应地,在本文中论述的某些方面还可以应用于多边LDPC码。
在某些方面中,诸如在某些无线通信系统(例如,NR系统)中,代码可能需要是速率兼容的,以及因此为混合自动重传请求(HARQ)重传做准备。获得这样的速率兼容的LDPC码族的一种方法是将高速率核心LDPC码逐渐地扩展一个奇偶比特。这些奇偶比特可以称为HARQ奇偶比特,因为在随后的HARQ重传中,发送的比特中的大部分比特可以是如在本文中进一步描述的HARQ奇偶比特。在某些方面中,这些HARQ奇偶比特允许(例如,用于第一传输的)天然的低速率代码的构造。在本文中描述的某些方面中,这些HARQ奇偶比特被用于获得具有增强的性能的列表解码器。
相应地,在一些方面中,可以在这样的无线通信系统中利用速率兼容的LDPC码设计来适应不同的编码速率。在一些方面中,这样的速率兼容的LDPC码设计利用高编码速率LDPC码,所述高编码速率LDPC码然后可以通过向LDPC码字添加额外的奇偶比特来被扩展到较低的速率。这些额外的奇偶比特可以用于较低的编码速率用于传输,或可以用作HARQ奇偶比特。例如,在一些方面中,较大的母码(mother code)定义以全部编码速率的LDPC码,以及对于任何给定的编码速率,所使用的LDPC码是通过选择要添加的适当数量的奇偶比特以降低编码速率来获得的。
图7示出了射频(RF)调制解调器704的一部分,其可以被配置为提供用于无线传输的经编码的消息。在一个示例中,在基站(例如,节点B 102和/或发射机系统210)(或在反向路径上的无线节点)中的编码器706接收用于传输的消息702。消息702可以包含指向接收设备的数据和/或经编码的语音或其它内容。编码器706使用合适的调制和编码方案(MCS)对消息进行编码,所述MCS是典型地基于由基站或另一网络实体定义的配置来选择的。在一些示例中,编码器706可以例如使用在本文中描述的技术(例如,通过使用LDPC码)对消息进行编码。然后可以将由编码器706产生的经编码的比特流708提供给映射器710以产生RF信号716用于通过天线718的传输,所述映射器710生成通过Tx链714调制、放大和以其它方式处理的Tx符号712的序列。
图8示出了RF调制解调器814的一部分,其可以被配置为接收和解码无线地发送的包括经编码的消息的信号(例如,使用如在本文中描述的LDPC码进行编码的消息)。在各种示例中,用于接收信号的调制解调器814可以存在于无线节点(例如,无线节点116、接收机系统250)处,在基站(例如,节点B 102、发射机系统210)处或在用于执行所描述的功能的任何其它合适的装置或单元处(例如,无线设备302)。天线802接收针对无线节点(例如,无线节点116和/或接收机系统250)的RF信号716(即,在图7中产生的RF信号716)。RF链804对RF信号716进行处理和解调,以及可以向解映射器808提供一系列的经解调的符号806,所述解映射器808产生表示经编码的消息的比特流810。
然后,解码器812可以用以对来自已经使用编码方案(例如,LDPC码)进行编码的比特流的m比特信息串进行解码。解码器812可以包括具有全并行架构,行并行架构或块并行架构的分层的LDPC解码器。LDPC解码器通常通过以下各项来操作:迭代地执行本地计算;以及通过沿着边在二分图400内交换消息来传递那些结果;以及通过基于传入消息在节点处执行计算来更新这些消息。这些步骤可以典型地重复若干次,以及可以称为消息传递步骤。例如,在图400中的各变量节点410最初可以被提供具有“软比特”(例如,用于表示码字的接收的比特)或可以接收“软比特”,所述“软比特”指示对如通过来自通信信道的观察来确定的相关联的比特的值的估计。“软比特”可以通过对数似然比(LLR)表示,所述LLR在一些方面中可以被定义为log((比特是0的概率)/(比特是1的概率))。使用这些LLR,LDPC解码器可以通过从存储器迭代地读取消息或其某个部分来更新消息,以及将更新的消息或其某个部分写回存储器。更新操作是典型地基于相应的LDPC码的奇偶校验约束的。在用于提升的LDPC码的实现方式中,通常并行处理在相似边上的消息。根据各方面,跟随这些解码技术,解码器812可以基于LLR来对比特流810进行解码,以确定消息702包含从基站(例如,节点B102和/或发射机系统210)发送的数据和/或经编码的语音或其它的内容。解码器可以根据在下文中给出的本公开内容的各方面(例如,通过实现在图9中示出的操作900)来对比特流810进行解码。
用于LDPC码的示例有效的列表解码器
低密度奇偶校验(LDPC)是在诸如无线通信、存储和以太网等若干应用中使用的有力的纠错编码技术。LDPC是基于在(例如,如在图4中示出的)二分图上设计代码的。LDPC解码是典型地使用在上文中描述的置信传播技术来实现的,其中消息是沿着图的边来传递的以及在图中的节点近似地计算其边缘分布,从所述边缘分布可以做出关于源符号的决定。特别是在某些方面中,置信传播技术是在LDPC解码器(例如,解码器812)中实现的。LDPC解码器接收对被表示为LLR的LDPC码字的比特的值的初始估计,所述LLR是如通过来自在其上接收码字的通信信道的观察所确定的。这些初始LLR可以称为信道LLR。LDPC解码器使用置信传播技术对码字进行迭代地解码,以迭代地更新LLR的值。LDPC解码器在执行门限次数的迭代之后或在基于满足提前终止标准(例如,对于用于LLR的LDPC解码的给定迭代,针对奇偶校验矩阵的各行的奇偶校验返回真)而提前终止(即,在执行门限次数的迭代之前)之后,停止对LLR进行解码和更新。解码器的作为结果的输出表示发送的LDPC码字的值,所述输出然后可以被解码以恢复通过LDPC码字表示的信息比特。如论述的,LDPC解码器可以实现多个不同LDPC解码算法中的一个算法,以执行对LDPC码字的解码。
在一些方面中,LDPC解码器可以利用消息传递解码器算法(诸如和积(SP)解码算法或其变体(例如,调整后的最小和解码算法))来对LDPC码字进行解码,以及可以称为消息传递解码器(例如,SP解码器)。消息传递解码算法以及其变体是如在本文中概括地描述的可以由LDPC解码器使用的消息传递解码算法的示例。这样的消息传递解码器(例如,置信传播解码器(例如,和积解码器)、最小和解码器、偏移最小和解码器、归一化最小和解码器、调整后的最小和解码器等)可以很好地执行用于大型块长度(例如,LDPC码字的比特的数量),其中对信息比特进行编码以形成大型码字。然而,一些无线通信系统(例如,NR)可以使用具有短块长度(例如,~100比特)的编码方案,用于将信息比特编码成较小的码字。在某些方面中,在较短的块长度处,与实现ML解码算法的最佳最大似然(ML)解码器相比,消息传递解码器可能无法有效地操作(例如,可能遭受大约一dB或更多的损失)用于对LDPC码字进行解码。
然而,在最坏情况下,ML解码器具有相对于块长度的指数复杂性,以及因此不是要实现的实际的解码器。相应地,在一些方面中,列表解码器被使用为准ML解码器,其具有实现方式的较低复杂度,但仍提供合理的性能。因此,在一些方面中,LDPC解码器是列表解码器。在列表解码器中,列表解码器基于信道LLR来产生(与对单个码字解码的其它消息传递解码算法不同的)若干候选码字作为接收的LDPC码字(例如,使用消息传递解码器的消息传递解码器算法,诸如使用置信传播技术(诸如SP解码算法)或其变体)。列表解码器选择具有最高可靠性度量的候选码字(例如,观察相对于码字的信道LLR的最高可能性,最高ML度量等)作为解码器的作为结果的输出和接收的LDPC码字的值。如果列表解码器没有生成候选码字,则宣布失败。在一些方面中,可以期望保持候选码字的数量(例如,列表大小)较少(例如,16)。
在一些方面中,列表解码器通过基于表示码字的比特的接收的信道LLR生成候选输出消息,来生成候选码字。列表解码器通过以下各项来生成候选输出消息:修改一个或多个信道LLR的值以表示针对对应比特的确定的1或确定的0;以及运行解码算法(例如,使用消息传递解码器算法,诸如使用置信传播技术(诸如SP解码算法)或其变体)至完成(例如,最大迭代次数或提前终止)。例如,列表解码器对在通信信道上接收的码位的信道LLR从最小信道可靠性(即,最小幅值,例如,0)到最高信道可靠性(即,取决于实现方式的最高幅值)进行分类。对于具有最小信道可靠性的S(其中S是正整数,例如,4)个信道LLR,列表解码器将通过S个信道LLR来表示的那些比特的值设置为针对比特的某些值的每个可能的组合。各比特可以具有两个值中的一个值,1或0中任一。相应地,对于通过S个信道LLR表示的比特,存在2S个可能的值的组合。例如,对于S=2,值为{00,01,10和11}。
相应地,生成2S个信道LLR值集合,其中对于各集合,S个信道LLR被设置为值的2S个可能的值的组合中的不同值。各信道LLR集合仍然具有与表示码字的比特的接收的初始信道LLR相同数量的信道LLR。特别地,S个信道LLR中的各信道LLR被设置为表示相应的比特的确定的1或0的最大负LLR值或最大正LLR值中的一者(即,基于用以在表示在列表解码器中使用的LLR的比特的数量的最大值)。剩余的信道LLR(除了S个信道LLR之外)保持基于来自通信信道的观察的值。信道LLR值的2S个集合中的各集合然后被使用为对解码算法(其可以仅是诸如标准的SP或其变体中的任何变体的消息传递算法)的输入,产生2S个相应的候选输出消息(例如,更新的LLR值的集合)。要注意的是,在S个奇偶比特上的0和1的2^S个配置中仅一个配置实际上是正确的。这是因为信息比特产生在S个奇偶比特上的0和1的唯一配置。期望的是,在S个奇偶比特上的0和1的正确配置将产生对导致针对在S上的0和1的配置的改进的性能的码的S个新的奇偶校验约束。可靠性度量或任何其它CRC测试将可能对于在这些S个奇偶比特上的剩余不正确的配置不起作用。
在一些方面中,不是每个生成的输出消息都必要是码字(例如,码字可以对应于可能的比特值的有限集合)。相应地,在一些方面中,只有是码字的候选输出消息是由列表解码器选择为候选码字的。进一步地,在一些方面中,循环冗余校验(CRC)被添加到LDPC码字,以通过拒绝不满足CRC的候选输出消息来改进列表解码器的解码性能。这样的方面可以与任何合适的诸如在本文中描述的那些列表解码器一起使用。因此,CRC是相似于用于选择候选码字作为解码器的作为结果的输出的可靠性度量的另一参数。
来自候选码字的列表解码器选择具有最高可靠性度量(例如,相对于码字的观察信道LLR的最高可能性,最高ML度量等)的候选码字作为解码器的作为结果的输出和接收的LDPC码字的值。
如论述的,在一些方面中,在列表解码器中设置为确定的值的信道LLR是具有最小信道可靠性的那些信道LLR。为了确定哪个信道LLR具有最小信道可靠性,需要对信道LLR执行分类过程,所述过程可能需要使用额外的硬件(例如,硅空间)和计算成本(例如,时间、功率等)以实现分类机制。进一步地,对于较高的编码速率,接收的信号的信噪比(SNR)通常是较高的,以及因此信道LLR值通常具有较高的信道可靠性值。因此,丢弃具有较高信道可靠性的这样的信道LLR值可能损害列表解码器的性能。特别地,移除最小可靠信道LLR可能仍然导致移除了可能已经用于列表解码器的更好的性能的良好信息。
相应地,在本文中描述的某些方面提供了有效的列表解码器,所述列表解码器不要求分类过程的开销,以及进一步不会丢弃潜在的高信道可靠性值信道LLR(例如,用于较高的编码速率)。这样的有效的列表解码器可以占用比其它列表解码器要少的硅空间和硬件来实现,以及进一步更有效地进行操作,诸如更快地对LDPC码字进行解码。在一些方面中,LDPC解码器可以利用在本文中描述的列表解码技术来执行针对低于门限块长度的块长度的LDPC解码,以及可以针对高于门限的块长度来使用其它解码技术(例如,诸如SP解码或其变体的消息传递解码器算法),诸如以利用针对各种块长度的更有效的解码技术。
一些无线通信系统(例如,NR)可能需要以若干不同的编码速率进行操作,诸如以支持混合自动重传请求(HARQ)。在ARQ中,使用诸如CRC的错误检测(ED)码将冗余比特添加到在消息中发送的数据。消息的接收机基于ED码来确定接收的数据是否是损坏的,以及如果数据是损坏的则请求新的消息。在HARQ中,使用前向纠错(FEC)码对数据进行编码,以及奇偶比特是连同数据一起发送的,或如果接收机检测到与接收的消息一起的错误,则奇偶比特是单独地发送的。在递增的冗余HARQ中,用于各随后的传输的奇偶比特的数量可以改变以获得HARQ的效率增益,以及因此数据传输的编码速率可以改变。
相应地,在一些方面中,可以在这样的无线通信系统中利用速率兼容的LDPC码设计来适应不同的编码速率。在一些方面中,这样的速率兼容的LDPC码设计利用高编码速率LDPC码(例如,8/9编码速率,其中8个信息比特是通过在码字中的9个比特来表示的),然后可以通过向LDPC码字添加额外的奇偶比特来将LDPC码扩展到较低速率(例如,在码字中每比特较少的信息比特)。这些额外的奇偶比特可以用于较低的编码速率以用于传输,或可以用作HARQ奇偶比特。例如,在一些方面中,大型的母码(例如,大型的二分图)定义以全部编码速率的LDPC码,以及对于任何给定的编码速率,通过选择要添加的适当数量的奇偶比特来获得使用的LDPC码,以降低编码速率。例如,可以使用大型的母码的仅一部分(例如,大型的二分图的仅一部分)来生成码字,以及因此具有比由较大的母码定义的块长度要短的块长度(即,较少数量的比特)。未用于生成码字的大型的母码的这些额外比特可以是额外的奇偶比特。无论是用于HARQ还是用以降低用于传输的编码速率,额外的奇偶比特仍然可以形成LDPC码。在某些方面中,描述了基础二分图的度一扩展(degree one extension),然而,二分图的度2扩展(degree 2extension)也是可能的。
在某些方面中,如在本文中描述的列表解码器可以利用这样的速率兼容的LDPC码设计来更有效地对LDPC码字进行解码。特别是,在如上文论述的一些方面中,对于具有最小信道可靠性的S(其中S是正整数,例如,4)个信道LLR,列表解码器将通过S信道LLR表示的那些比特的值设置为针对比特的某些值的每个可能的组合。在一些方面中,列表解码器额外地使用来自速率兼容的LDPC码的S个奇偶比特来本质上地对码字进行扩展,以及生成与具有针对比特的某些值的每个可能的组合的S个奇偶比特相对应的LLR,而不是将具有最小信道可靠性的S个信道LLR设置为针对比特的某些值的每个可能的组合。在某些方面中,这些额外的S个奇偶比特不是从发射机接收的,而是基于用于对LDPC码字进行编码/解码的速率兼容的LDPC码设计来选择的。因此,列表解码器基于速率兼容的LDPC码设计来选择这些S个奇偶比特。
在一些方面中,使用速率兼容的LDPC码对比特进行编码以生成从发射机(例如,节点B 110、基站210、UE 116、UE 250和/或无线设备302)发送给接收机(例如,节点B 110、基站210、UE 116、UE 250和/或无线设备302)的码字C。码字C可以具有低于门限块长度大小的用于使用如在本文中描述的列表解码器的第一块长度。在接收机处,LDPC解码器(例如,解码器812)在与码字C相对应的信道LLR上运行诸如置信传播算法(例如,SP解码算法或其变体)的消息传递解码器算法,直到提前终止为止或直到最大迭代次数已经完成为止中任一。如果LDPC解码器的相应的输出是码字(例如,满足针对码字的全部奇偶校验),则解码停止以及该码字被用作LDPC解码器的结果。
然而,如果LDPC解码器的相应的输出不是码字,则LDPC解码器从速率兼容的码设计中选择S个奇偶比特给码字C,以将码字C扩展为较低的编码速率。例如,可以使用速率兼容的LDPC码设计来生成码字C。码字C可以具有比通过(例如,通过母码定义的)速率兼容的LDPC码设计定义的比特的数量要少的块长度(即,比特的数量)。因此,LDPC解码器可以扩展用以表示具有S个奇偶比特的码字C的比特的数量,以便当执行LDPC解码时,与速率兼容的LDPC码设计相对应的奇偶校验矩阵的较大部分被用以对扩展的码字进行解码,而不是被用以对原始码字C进行解码,以提高解码效率。
特别是,如论述的,为了使用选择的S个奇偶比特(例如,HARQ奇偶比特)来扩展码字C,LDPC解码器生成LLR值的2S个集合,其中对于各集合,将S个奇偶比特的LLR设置为针对S个奇偶比特的值的2S个可能组合中的不同的值(即,针对各奇偶比特的最大负LLR值或最大正LLR值中的一者),以及将码字的剩余比特的LLR设置为信道LLR值。相应地,由于码字C已经通过包括与(除了初始信道LLR值之外的)S个奇偶比特相对应的LLR进行了本质上地扩展,所以用于代表码字C的LLR的数量是增加的。然后将LLR值的2S个集合中的各集合用作对解码算法(例如,诸如SP解码算法的消息传递解码器算法或其变体)的输入,产生2S个相应的候选输出消息(例如,更新的LLR值的集合)。在一些方面中,通过针对LLR值的2S个集合并行地运行解码算法来并行地生成2S个相应的候选输出消息中的两个或更多个(例如,全部的)候选输出消息。是码字并且具有最高可靠性度量(例如,相对于码字的观察信道LLR的最高可能性,最高ML度量等)的候选输出消息作为LDPC解码器的作为结果的输出和接收的LDPC码字的值,加上额外的奇偶比特。然后,LDPC解码器可以获得作为结果的扩展的码字以及对扩展的码字进行解码以恢复经编码的信息比特,其中扩展的码字具有较低的编码速率。
图9根据本公开内容的某些方面示出了用于执行低密度奇偶校验(LDPC)解码的示例操作900。操作可以由在诸如基站(例如,节点B 90和/或基站210)、用户设备(例如,UE 96和/或UE 250)和/或无线设备302的无线通信设备中的解码器(例如,解码器800)来执行。
操作900是在902处通过接收与LDPC码字相对应的信道LLR来开始的。在904处,解码器对接收的信道LLR执行置信传播解码技术至完成(例如,最大迭代次数或提前终止)。在906处,解码器确定置信传播解码技术的输出是否是有效的LDPC码字。例如,解码器确定是否通过了奇偶校验矩阵的全部奇偶校验以用于输出。如果在906处,解码器确定输出是有效的LDPC码字,则将输出用作接收的LDPC码字,以及过程结束。
如果在906处,解码器确定输出不是有效的LDPC码字,则过程继续进行到908。在908处,解码器从用以生成LDPC码字的速率兼容的LDPC码中选择一个或多个奇偶比特。在910处,解码器生成与针对一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合,其中LLR的各集合包括信道LLR以及与针对一个或多个奇偶比特的值的组合相对应的LLR。在912处,解码器对LLR的集合中的各LLR集合(例如,并行地)执行置信传播解码技术至完成,以生成候选输出消息。在914处,解码器(例如,基于CRC)选择是有效码字并且(例如,如果存在多于一个有效码字的话)具有最高可靠性度量的候选输出消息作为接收的LDPC码字,以及过程结束。
在本文中公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。在不背离权利要求的范围的情况下,方法步骤和/或动作可以是互相交换的。换句话说,除非指定了步骤或动作的特定顺序,否则可以在不背离权利要求的范围的情况下修改特定的步骤和/或动作的顺序和/或用途。
如在本文中使用的,术语“确定”包括各种各样的动作。例如,“确定”可以包括运算、计算、处理、推导、研究、查找(例如,在表格、数据库或其它数据结构中查找)、断定等。另外,“确定”可以包括接收(例如,接收信息)、存取(例如,存取在存储器中的数据)等。另外,“确定”可以包括解析、选择、挑选、建立等。
在一些情况下,设备可以具有要输出用于传输的帧的接口,而不是实际地发送帧。例如,处理器可以经由总线接口向RF前端输出帧用于传输。类似地,设备可以具有要获得从另一设备接收的帧的接口,而不是实际地接收帧。例如,处理器可以经由总线接口从RF前端获得(或接收)帧用于传输。
在上文中描述的方法的各种操作可以由能够执行相应功能的任何合适的单元来执行。单元可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。通常,在存在图中示出的操作的地方,那些操作可以具有相应的有相似编号的配对物功能模块组件。
例如,用于计算的单元、用于确定的单元、用于使用的单元(例如,处理器和存储器分区)、用于选择的单元、用于去激活的单元和/或用于解码的单元可以包括处理系统,其包括一个或多个处理器,诸如基站210的处理器230和/或RX数据处理器242、和/或用户终端250的处理器270和/或RX数据处理器260。此外,用于接收的单元可以包括接收机和/或天线,诸如基站210的接收机222和/或天线224、和/或用户终端250的接收机254和/或天线252。
结合本公开内容描述的各种说明性的逻辑方块、模块和电路可以是利用被设计为执行在本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件(PLD)、分立门或者晶体管逻辑器件、分立硬件组件或者其任意组合来实现或执行的。通用处理器可以是微处理器,但是在替代的方式中,处理器可以是任何商业地可得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核结合,或者任何其它这样的配置。
如果以硬件来实现,则示例硬件配置可以包括在无线节点中的处理系统。处理系统可以是利用总线架构来实现的。取决于处理系统的特定应用和整体设计约束,总线可以包括任何数量的互相连接的总线和桥接器。总线可以将各种电路链接在一起,所述电路包括处理器、机器可读介质和总线接口。除了别的之外,总线接口可以用以经由总线将网络适配器连接到处理系统。网络适配器可以用以实现PHY层的信号处理功能。在无线节点(见图1)的情况下,用户接口(例如,键盘、显示器、鼠标、操纵杆等)也可以连接到总线。总线还可以链接各种其它电路,诸如定时源、外围设备、稳压器、功率管理电路等,这些在本领域中是众所周知的,以及因此将不进行任何进一步的描述。处理器可以是利用一个或多个通用或/和专用处理器来实现的。示例包括可以执行软件的微处理器、微控制器、DSP处理器和其它电路。本领域技术人员将会认识到,取决于特定的应用以及施加在整个系统上的整体设计约束,如何最佳地实现针对处理系统所描述的功能。
如果以软件来实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质中或者通过其发送。软件应该被广泛地解释为意指指令、数据或其任何组合,无论是称为软件、固件、中间件、微代码、硬件描述语言还是其它术语。计算机可读介质包括计算机存储介质和通信介质两者,所述通信介质包括促进计算机程序从一个地方传送到另一个地方的任何介质。处理器可以负责管理总线和通用处理,包括对在机器可读存储介质上存储的软件模块的执行。计算机可读介质可以耦合到处理器,以使得处理器可以从存储介质读取信息以及向存储介质写入信息。在替代方案中,存储介质可以是整合到处理器的。举例而言,机器可读介质可以包括传输线路,通过数据调制的载波,和/或与无线节点分开的在其上存储有指令的计算机可读存储介质,其中所有这些可以通过总线接口由处理器来存取。替代地,或者另外,机器可读介质或其任何部分可以整合到处理器中,诸如可以具有高速缓存和/或通用寄存器文件的情况。举例而言,机器可读存储介质的示例可以包括RAM(随机存取存储器)、闪速存储器、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、寄存器、磁盘、光盘、硬盘或任何其它合适的存储介质或其任何组合。机器可读介质可以体现在计算机程序产品中。
软件模块可以包括单个指令或许多指令,以及可以是在若干不同的代码片段上分布的、在不同的程序之中分布的以及跨越多个存储介质来分布的。计算机可读介质可以包括多个软件模块。软件模块包括当由诸如处理器的装置来执行时使得处理系统执行各种功能的指令。软件模块可以包括发送模块和接收模块。各软件模块可以存在于单个存储设备中或跨越多个存储设备来分布。举例而言,当触发事件发生时,软件模块可以是从硬盘加载到RAM中的。在对软件模块的执行期间,处理器可以加载指令中的一些指令到高速缓存中,来加快存取速度。一个或多个缓存线路然后可以加载到通用寄存器文件,用于由处理器来执行。当涉及下文的软件模块的功能时,将理解的是,这样的功能是由处理器在执行来自该软件模块的指令时来实现的。
另外,任何连接适当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或诸如红外线(IR)、无线电和微波的无线技术从网站、服务器或其它远程源发送的,则同轴电缆、光纤光缆、双绞线、DSL或诸如红外线(IR)、无线电和微波的无线技术包括在介质的定义中。如在本文中使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和光盘,其中磁盘通常磁性地复制数据,而光盘则通常利用激光来光学地复制数据。因此,在一些方面中,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。另外,对于其它方面,计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。上述的组合也应当包括在计算机可读介质的范围内。
因此,某些方面可以包括用于执行在本文中给出的操作的计算机程序产品。例如,这样的计算机程序产品可以包括具有在其上存储(和/或编码)的指令的计算机可读介质,所述指令是由一个或多个处理器可执行的,以执行在本文中描述的操作。
进一步地,应该认识到,如果适用的话,模块和/或用于执行在本文中描述的方法和技术的其它适当的单元可以由无线节点和/或基站来下载或以其它方式来获得。例如,这样的设备可以耦合到服务器,来促使对用于执行在本文中描述的方法的单元的转移。或者,在本文中描述的各种方法可以是经由存储单元(例如,RAM、ROM和诸如压缩光盘(CD)或软盘的物理存储介质等)来提供的,以使无线节点和/或基站可以在耦合到设备时或将存储单元提供给设备时获得各种方法。此外,可以利用用于向设备提供在本文中描述的方法和技术的任何其它合适的技术。
要理解的是,本权利要求不受限于上文示出的精确的配置和组件。在不背离本权利要求的范围的情况下,可以对上文描述的方法和装置的排列、操作和细节做出各种修改、改变和变化。

Claims (44)

1.一种用于执行低密度奇偶校验(LDPC)解码的方法,所述方法包括:
接收与码字的比特相对应的多个对数似然比(LLR);
选择一个或多个奇偶比特以对所述码字进行扩展;
生成与针对所述一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合,所述多个LLR集合中的各LLR集合包括与所述码字的所述比特相对应的所述多个LLR;
对所述多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息;以及
基于所述多个候选消息中的各候选消息的参数,来选择所述多个候选消息中的如与所述码字相对应的一个候选消息。
2.根据权利要求1所述的方法,其中,所述奇偶比特对应于用于生成所述码字的速率兼容的LDPC设计。
3.根据权利要求1所述的方法,还包括:确定第二码字的块长度是否高于门限,以及当所述第二码字的所述块长度高于所述门限时,在不生成与所述第二码字相对应的第二多个候选消息的情况下,利用消息传递解码器对所述第二码字进行解码,以及当所述第二码字的所述块长度低于所述门限时,通过生成与所述第二码字相对应的所述第二多个候选消息,使用用以对所述码字进行解码的算法对所述第二码字进行解码。
4.根据权利要求3所述的方法,其中,所述消息传递解码器包括置信传播解码器、和积解码器、最小和解码器、偏移最小和解码器、归一化最小和解码器、或调整后的最小和解码器中的至少一者。
5.根据权利要求1所述的方法,其中,所述多个对数似然比是基于来自通信信道的观察来确定的。
6.根据权利要求1所述的方法,其中,对所述多个LLR集合中的各LLR集合进行解码是并行地执行的。
7.根据权利要求1所述的方法,其中,选择所述多个候选消息中的如与所述码字相对应的一个候选消息还基于所述多个候选消息中的各候选消息是否是有效的码字。
8.根据权利要求1所述的方法,其中,所述奇偶比特对应于混合自动重传请求比特。
9.根据权利要求1所述的方法,其中,对所述多个LLR集合中的各LLR集合进行解码包括利用消息传递解码器。
10.根据权利要求1所述的方法,还包括:
利用消息传递解码器对所述多个LLR进行解码;
确定对所述多个LLR进行解码的输出是否是有效的码字;以及
如果所述输出是有效的码字则结束解码。
11.根据权利要求1所述的方法,其中,所述参数包括循环冗余校验。
12.根据权利要求1所述的方法,其中,所述参数包括可靠性度量。
13.根据权利要求12所述的方法,其中,所述可靠性度量包括最大似然度量。
14.根据权利要求1所述的方法,其中,针对所述多个LLR集合中的各LLR集合,与所述一个或多个奇偶比特相对应的LLR均被设置为最大幅值。
15.根据权利要求1所述的方法,其中,所述一个或多个奇偶比特是由解码器基于用于生成所述码字的速率兼容的LDPC设计来在本地选择的,以及不是从所述码字的发射机接收的。
16.一种用于执行低密度奇偶校验(LDPC)解码的装置,所述装置包括:
存储器;以及
处理器,所述存储器和所述处理器被配置为:
接收与码字的比特相对应的多个对数似然比(LLR);
选择一个或多个奇偶比特以对所述码字进行扩展;
生成与针对所述一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合,所述多个LLR集合中的各LLR集合包括与所述码字的所述比特相对应的所述多个LLR;
对所述多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息;以及
基于所述多个候选消息中的各候选消息的参数,来选择所述多个候选消息中的如与所述码字相对应的一个候选消息。
17.根据权利要求16所述的装置,其中,所述奇偶比特对应于用于生成所述码字的速率兼容的LDPC设计。
18.根据权利要求16所述的装置,其中,所述存储器和所述处理器还被配置为:确定第二码字的块长度是否高于门限,以及当所述第二码字的所述块长度高于所述门限时,在不生成与所述第二码字相对应的第二多个候选消息的情况下,利用消息传递解码器对所述第二码字进行解码,以及当所述第二码字的所述块长度低于所述门限时,通过生成与所述第二码字相对应的所述第二多个候选消息,使用用以对所述码字进行解码的算法对所述第二码字进行解码。
19.根据权利要求18所述的装置,其中,所述消息传递解码器包括置信传播解码器、和积解码器、最小和解码器、偏移最小和解码器、归一化最小和解码器、或调整后的最小和解码器中的至少一者。
20.根据权利要求16所述的装置,其中,选择所述多个候选消息中的如与所述码字相对应的一个候选消息还基于所述多个候选消息中的各候选消息是否是有效的码字。
21.根据权利要求16所述的装置,其中,对所述多个LLR集合中的各LLR集合进行解码包括利用消息传递解码器。
22.根据权利要求16所述的装置,其中,所述存储器和所述处理器还被配置为:
利用消息传递解码器对所述多个LLR进行解码;
确定对所述多个LLR进行解码的输出是否是有效的码字;以及
如果所述输出是有效的码字则结束解码。
23.根据权利要求16所述的装置,其中,所述参数包括循环冗余校验。
24.根据权利要求16所述的装置,其中,所述参数包括可靠性度量。
25.根据权利要求24所述的装置,其中,所述可靠性度量包括最大似然度量。
26.根据权利要求16所述的装置,其中,针对所述多个LLR集合中的各LLR集合,与所述一个或多个奇偶比特相对应的LLR均被设置为最大幅值。
27.根据权利要求16所述的装置,其中,所述一个或多个奇偶比特是由所述处理器基于用于生成所述码字的速率兼容的LDPC设计来在本地选择的,以及不是从所述码字的发射机接收的。
28.一种用于执行低密度奇偶校验(LDPC)解码的装置,所述装置包括:
用于接收与码字的比特相对应的多个对数似然比(LLR)的单元;
用于选择一个或多个奇偶比特以对所述码字进行扩展的单元;
用于生成与针对所述一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合的单元,所述多个LLR集合中的各LLR集合包括与所述码字的所述比特相对应的所述多个LLR;
用于对所述多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息的单元;以及
用于基于所述多个候选消息中的各候选消息的参数,来选择所述多个候选消息中的如与所述码字相对应的一个候选消息的单元。
29.根据权利要求28所述的装置,其中,所述奇偶比特对应于用于生成所述码字的速率兼容的LDPC设计。
30.根据权利要求28所述的装置,还包括:用于确定第二码字的块长度是否高于门限,以及当所述第二码字的所述块长度高于所述门限时,在不生成与所述第二码字相对应的第二多个候选消息的情况下,利用消息传递解码器对所述第二码字进行解码,以及当所述第二码字的所述块长度低于所述门限时,通过生成与所述第二码字相对应的所述第二多个候选消息,使用用以对所述码字进行解码的算法对所述第二码字进行解码的单元。
31.根据权利要求30所述的装置,其中,所述消息传递解码器包括置信传播解码器、和积解码器、最小和解码器、偏移最小和解码器、归一化最小和解码器、或调整后的最小和解码器中的至少一者。
32.根据权利要求28所述的装置,其中,所述多个对数似然比是基于来自通信信道的观察来确定的。
33.根据权利要求28所述的装置,其中,所述用于解码的单元被配置为:并行地对所述多个LLR集合中的各LLR集合进行解码。
34.根据权利要求28所述的装置,其中,所述用于选择的单元被配置为还基于所述多个候选消息中的各候选消息是否是有效的码字,来选择所述多个候选消息中的如与所述码字相对应的一个候选消息。
35.根据权利要求28所述的装置,其中,所述奇偶比特对应于混合自动重传请求比特。
36.根据权利要求28所述的装置,其中,所述用于对所述多个LLR集合中的各LLR集合进行解码的单元包括消息传递解码器。
37.根据权利要求28所述的装置,还包括:
用于利用消息传递解码器对所述多个LLR进行解码的单元;
用于确定对所述多个LLR进行解码的输出是否是有效的码字的单元;以及
用于如果所述输出是有效的码字则结束解码的单元。
38.根据权利要求28所述的装置,其中,所述参数包括循环冗余校验。
39.根据权利要求28所述的装置,其中,所述参数包括可靠性度量。
40.根据权利要求39所述的装置,其中,所述可靠性度量包括最大似然度量。
41.根据权利要求28所述的装置,其中,针对所述多个LLR集合中的各LLR集合,与所述一个或多个奇偶比特相对应的LLR均被设置为最大幅值。
42.根据权利要求28所述的装置,其中,所述一个或多个奇偶比特是由解码器基于用于生成所述码字的速率兼容的LDPC设计来在本地选择的,以及不是从所述码字的发射机接收的。
43.一种具有在其上存储的用于执行用于低密度奇偶校验(LDPC)解码的方法的指令的非暂时性计算机可读介质,所述方法包括:
接收与码字的比特相对应的多个对数似然比(LLR);
选择一个或多个奇偶比特以对所述码字进行扩展;
生成与针对所述一个或多个奇偶比特的值的全部可能的组合相对应的多个LLR集合,所述多个LLR集合中的各LLR集合包括与所述码字的所述比特相对应的所述多个LLR;
对所述多个LLR集合中的各LLR集合进行解码,以生成相应的多个候选消息;以及
基于所述多个候选消息中的各候选消息的参数,来选择所述多个候选消息中的如与所述码字相对应的一个候选消息。
44.根据权利要求43所述的非暂时性计算机可读介质,其中,所述方法还包括:确定第二码字的块长度是否高于门限,以及当所述第二码字的所述块长度高于所述门限时,在不生成与所述第二码字相对应的第二多个候选消息的情况下,利用消息传递解码器对所述第二码字进行解码,以及当所述第二码字的所述块长度低于所述门限时,通过生成与所述第二码字相对应的所述第二多个候选消息,使用用以对所述码字进行解码的算法对所述第二码字进行解码。
CN201780067068.3A 2016-11-04 2017-11-03 对ldpc码的有效的列表解码 Active CN109964411B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662417754P 2016-11-04 2016-11-04
US62/417,754 2016-11-04
US15/802,163 US10511328B2 (en) 2016-11-04 2017-11-02 Efficient list decoding of LDPC codes
US15/802,163 2017-11-02
PCT/US2017/059835 WO2018128679A2 (en) 2016-11-04 2017-11-03 Efficient list decoding of ldpc codes

Publications (2)

Publication Number Publication Date
CN109964411A true CN109964411A (zh) 2019-07-02
CN109964411B CN109964411B (zh) 2024-02-06

Family

ID=62064878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780067068.3A Active CN109964411B (zh) 2016-11-04 2017-11-03 对ldpc码的有效的列表解码

Country Status (4)

Country Link
US (1) US10511328B2 (zh)
EP (1) EP3535852A2 (zh)
CN (1) CN109964411B (zh)
WO (1) WO2018128679A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113661657A (zh) * 2021-07-02 2021-11-16 香港应用科技研究院有限公司 低延迟分段准循环低密度奇偶校验(qc-ldpc)解码器

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3381128B1 (en) * 2015-11-24 2020-01-01 Coherent Logix, Incorporated Memory management and path sorting in a polar code successive cancellation list decoder
US20180167164A1 (en) * 2016-12-12 2018-06-14 Mediatek Inc. Ultra Reliable Low Latency Communications (URLLC) Transmission
BR112020003426A2 (pt) 2017-08-24 2020-08-25 Telefonaktiebolaget Lm Ericsson (Publ) segmentação de bloco de código para novo rádio 3gpp
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
US11387936B2 (en) * 2018-12-14 2022-07-12 Nxp Usa, Inc. Hybrid automatic repeat request (HARQ) retransmission schemes for a wireless local area network (WLAN)
WO2020146990A1 (en) * 2019-01-14 2020-07-23 Nokia Shanghai Bell Co., Ltd. Data processing in channel decoding
TWI731696B (zh) * 2020-05-26 2021-06-21 國立臺灣大學 基於信度傳播之極化碼解碼方法
US11139839B1 (en) * 2020-07-07 2021-10-05 Huawei Technologies Co., Ltd. Polar code decoder and a method for polar code decoding
US12021621B1 (en) * 2023-01-17 2024-06-25 Qualcomm Incorporated Techniques for mapping coded bits to different channel reliability levels for low density parity check codes

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
CN1714512A (zh) * 2002-11-18 2005-12-28 高通股份有限公司 速率兼容的低密度奇偶校验(ldpc)码
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
US20070162815A1 (en) * 2006-01-06 2007-07-12 Mostafa El-Khamy System and method for providing H-ARQ rate compatible codes for high throughput applications
US20120216093A1 (en) * 2011-02-22 2012-08-23 Nec Laboratories America, Inc. Soft-decision non-binary ldpc coding for ultra-long-haul optical transoceanic transmissions

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633865B1 (en) 1999-12-23 2003-10-14 Pmc-Sierra Limited Multithreaded address resolution system
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
JP4595574B2 (ja) * 2005-02-07 2010-12-08 ソニー株式会社 復号装置および方法、並びにプログラム
WO2007091327A1 (ja) * 2006-02-09 2007-08-16 Fujitsu Limited Ldpc検査行列生成方法及び検査行列生成器並びに符号再送方法
US8229039B2 (en) * 2007-11-26 2012-07-24 Broadcom Corporation Flexible rate matching
US8145974B2 (en) * 2008-02-02 2012-03-27 Broadcom Corporation Virtual limited buffer modification for rate matching
US9356649B2 (en) * 2012-12-14 2016-05-31 Huawei Technologies Co., Ltd. System and method for low density spreading modulation detection
US9137065B2 (en) * 2012-12-20 2015-09-15 Qualcomm Incorporated Systems and methods to mitigate phase noise
US9313059B2 (en) * 2012-12-21 2016-04-12 Qualcomm Incorporated Data-modulated pilots for phase and gain detectors
US9749089B2 (en) * 2015-11-04 2017-08-29 Mitsubishi Electric Research Laboratories, Inc. Fast log-likelihood ratio (LLR) computation for decoding high-order and high-dimensional modulation schemes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1714512A (zh) * 2002-11-18 2005-12-28 高通股份有限公司 速率兼容的低密度奇偶校验(ldpc)码
US20050283707A1 (en) * 2004-06-22 2005-12-22 Eran Sharon LDPC decoder for decoding a low-density parity check (LDPC) codewords
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
US20070162815A1 (en) * 2006-01-06 2007-07-12 Mostafa El-Khamy System and method for providing H-ARQ rate compatible codes for high throughput applications
US20120216093A1 (en) * 2011-02-22 2012-08-23 Nec Laboratories America, Inc. Soft-decision non-binary ldpc coding for ultra-long-haul optical transoceanic transmissions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
P. SCHLAFER等: ""A new LDPC decoder hardware implementation with improved error rates"", 《2015 IEEE JORDAN CONFERENCE ON APPLIED ELECTRICAL ENGINEERING AND COMPUTING TECHNOLOGIES 》 *
STEFAN SCHOLL等: ""Advanced Iterative Channel Coding Schemes: When Shannon meets Moore"", 《2016 9TH INTERNATIONAL SYMPOSIUM ON TURBO CODES & ITERATIVE INFORMATION PROCESSING》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113661657A (zh) * 2021-07-02 2021-11-16 香港应用科技研究院有限公司 低延迟分段准循环低密度奇偶校验(qc-ldpc)解码器

Also Published As

Publication number Publication date
WO2018128679A3 (en) 2018-08-16
CN109964411B (zh) 2024-02-06
EP3535852A2 (en) 2019-09-11
US20180131391A1 (en) 2018-05-10
US10511328B2 (en) 2019-12-17
WO2018128679A2 (en) 2018-07-12

Similar Documents

Publication Publication Date Title
CN109964411A (zh) 对ldpc码的有效的列表解码
US11671120B2 (en) Puncturing for structured low density parity check (LDPC) codes
JP6828190B2 (ja) レート適合qc−ldpcコードのための行直交性をもつパリティチェック行列を構成すること
CN109804567A (zh) 针对ldpc码的改进的最小和解码器
CN109906559B (zh) 流水线高吞吐量分层ldpc解码器架构
US10312937B2 (en) Early termination technique for LDPC decoder architecture
CN109891754A (zh) 用于ldpc解码器架构的非线性对数似然比量化技术

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