CN109923787A - 用于分层ldpc解码器的早期终止 - Google Patents

用于分层ldpc解码器的早期终止 Download PDF

Info

Publication number
CN109923787A
CN109923787A CN201780067870.2A CN201780067870A CN109923787A CN 109923787 A CN109923787 A CN 109923787A CN 201780067870 A CN201780067870 A CN 201780067870A CN 109923787 A CN109923787 A CN 109923787A
Authority
CN
China
Prior art keywords
bit
llr
coded
pcm
symbol
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
CN201780067870.2A
Other languages
English (en)
Other versions
CN109923787B (zh
Inventor
V·隆克
Y·曹
G·瓦拉特卡尔
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 CN109923787A publication Critical patent/CN109923787A/zh
Application granted granted Critical
Publication of CN109923787B publication Critical patent/CN109923787B/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/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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/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/1105Decoding
    • H03M13/1131Scheduling of bit node or check node processing
    • H03M13/114Shuffled, staggered, layered or turbo decoding schedules
    • 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
    • H03M13/1188Parity 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 wherein in the part with the double-diagonal at least one column has an odd column weight equal or greater than three
    • 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/6566Implementations concerning memory access contentions
    • 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
    • H04L1/0047Decoding adapted to other signal detection operation
    • H04L1/005Iterative decoding, including iteration between signal detection and decoding operation
    • H04L1/0051Stopping criteria
    • 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
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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/0056Systems characterized by the type of code used
    • H04L1/0057Block codes

Landscapes

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

Abstract

本公开内容的某些方面通常涉及用于解码低密度奇偶校验(LDPC)码的方法和装置,具体地说,本公开内容的某些方面涉及用于低密度奇偶校验(LDPC)解码器架构的早期终止技术。

Description

用于分层LDPC解码器的早期终止
相关申请的交叉引用
本申请要求享受2016年11月2日提交的美国临时专利申请No.62/416,591和2017年6月9日提交的美国专利申请No.15/619,168的优先权,故以引用方式将这两份申请的全部内容明确地并入本文。
技术领域
概括地说,本公开内容的某些方面涉及用于无线通信的方法和装置,具体地说,本公开内容的某些方面涉及用于低密度奇偶校验(LDPC)解码器架构的早期终止技术。
背景技术
已广泛地部署无线通信系统,以便提供诸如语音、数据等等之类的各种类型的通信内容。这些系统可以是能通过共享可用的系统资源(例如,带宽和发射功率),来支持与多个用户的通信的多址接入系统。这类多址接入系统的例子包括长期演进(LTE)系统、码分多址(CDMA)系统、时分多址(TDMA)系统、频分多址(FDMA)系统、第三代合作伙伴计划(3GPP)长期演进(LTE)系统、改进的长期演进(LTE-A)系统和正交频分多址(OFDMA)系统。
通常,无线多址通信系统可以同时支持多个无线节点的通信。每个节点通过前向链路和反向链路上的传输与一个或多个基站进行通信。前向链路(或下行链路)指代从基站到节点的通信链路,反向链路(或上行链路)指代从节点到基站的通信链路。可以通过单输入单输出、多输入单输出或多输入多输出(MIMO)系统建立通信链路。
在现代信息时代,使用二进制值(例如,1和0)来表示和传输诸如视频、音频、统计信息等等之类的各种类型的信息。不幸的是,在二进制数据的存储、传输和/或处理期间,可能会无意地引入差错;例如,1可能改变为0,反之亦然。
通常,在数据传输的情况下,接收器在存在噪声或失真的情况下观察每个接收的比特,并且仅获得对该比特值的指示。在这些情况下,将观察的值解释为“软”比特的源。软比特指示比特值的优选估计(例如,1或0)以及对该估计的可靠性的某种指示。虽然差错的数量可能相对较低,但即使少量的差错或失真程度也可能导致数据不可用,或者在传输错误的情况下,可能需要重新传输数据。
为了提供检查差错的机制,并且在某些情况下,为了纠正差错,可以对二进制数据进行编码以引入精心设计的冗余。数据单元的编码产生了通常所说的码字。由于其冗余,码字通常包括比产生该码字的数据的输入单元更多的比特。
编码器向发送的比特流添加冗余比特以创建码字。当接收或处理源自于发送的码字的信号时,可以使用如在该信号中所观察到的码字中包括的冗余信息来识别和/或纠正所接收信号中的差错,或者从所接收信号中消除失真,以便恢复原始数据单元。这种差错检查和/或纠正可以实现为解码过程的一部分。在没有差错的情况下,或者在可纠正的差错或失真的情况下,可以使用解码从正在处理的源数据中恢复被编码的原始数据单元。在不可恢复的差错的情况下,解码过程可能产生关于不能完全恢复原始数据的某种指示。可以使用对解码失败的这种指示来发起数据的重传。
随着用于数据通信的光纤线路的使用的增加以及可以从数据存储设备(例如,磁盘驱动器、磁带等)读取数据和向其存储数据的速率的增加,不仅对于高效利用数据存储和传输容量的需求增加,而且对于能够高速地编码和解码数据的能力的需求也不断增加。
虽然编码效率和高数据速率是重要的,但是对于在多种多样的设备(例如,消费者设备)中使用的编码和/或解码系统来说,能够以合理的成本实施编码器和/或解码器也是重要的。
通信系统通常需要以一些不同的速率操作。保持所述实现方式尽可能简单并且以不同速率提供编码和解码的一种方法是使用可调节低密度奇偶校验(LDPC)码。特别是,可以通过打孔较低速率的码来生成更高速率的LDPC码。
在多种电信标准中已采纳这些多址技术,以提供使不同无线设备能在城市范围、国家范围、地域范围、甚至全球范围上进行通信的通用协议。一种新兴的电信标准的例子是新无线电(NR)。NR是第三代合作伙伴计划(3GPP)发布的LTE移动标准的演进集(例如,5G无线电接入)。NR被设计为通过提高谱效率、降低费用、提高服务、充分利用新频谱、与在下行链路(DL)和上行链路(UL)上使用OFDMA与循环前缀(CP)的其它开放标准进行更好地集成、以及支持波束成形、多输入多输出(MIMO)天线技术和载波聚合,来更好地支持移动宽带互联网接入。
随着移动宽带接入需求的持续增加,存在着进一步提高NR技术的需求。优选的是,这些提高也可适用于其它多址技术和采用这些技术的通信标准。改进的一个领域是适用于NR的编码/解码领域。例如,期望用于NR的高性能LDPC码的技术。
发明内容
本公开内容的系统、方法和设备均具有一些方面,但这些方面中没有单一的一个可以单独地对其期望的属性负责。下文表述的权利要求书并不限制本公开内容的保护范围,现在将简要地讨论一些特征。在仔细思考这些讨论之后,特别是在阅读标题为“具体实施方式”的部分之后,人们将理解本公开内容的特征是如何具有优势的,这些优势包括:无线网络中的接入点和站之间的改进的通信。
本公开内容的某些方面给出了一种用于执行低密度奇偶校验(LDPC)解码的方法。通常,一种示例性方法包括:接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR)。该方法还包括:更新与对应于奇偶校验矩阵(PCM)的列的所述编码比特相对应的所述LLR。所述LLR指示所述编码比特中的每个编码比特的值的概率。所述PCM的每一行对应于针对所述编码比特的奇偶校验。该方法还包括:使用所述PCM对所述编码比特进行迭代地解码。对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的。该方法还包括:维持整体奇偶校验位。该方法还包括:在迭代解码开始时,将所述整体奇偶校验位设置为真。该方法还包括:对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位。该方法还包括:维持符号翻转比特。该方法还包括:在所述迭代解码的所述开始时,将所述符号翻转比特设置为真。该方法还包括:当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假。该方法还包括:当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码。
本公开内容的某些方面给出了一种用于执行低密度奇偶校验(LDPC)解码的装置。通常,一种示例性装置包括:用于接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR)的单元。该装置还包括:用于更新与对应于奇偶校验矩阵(PCM)的列的所述编码比特相对应的所述LLR的单元。所述LLR指示所述编码比特中的每个编码比特的值的概率。所述PCM的每一行对应于针对所述编码比特的奇偶校验。该装置还包括:用于使用所述PCM对所述编码比特进行迭代地解码的单元。对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的。该装置还包括:用于维持整体奇偶校验位的单元。该装置还包括:用于在迭代解码开始时,将所述整体奇偶校验位设置为真的单元。该装置还包括:用于对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位的单元。该装置还包括:用于维持符号翻转比特的单元。该装置还包括:用于在所述迭代解码的所述开始时,将所述符号翻转比特设置为真的单元。该装置还包括:用于当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假。该装置还包括:用于当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码的单元。
本公开内容的某些方面给出了一种用于执行低密度奇偶校验(LDPC)解码的装置。通常,一种示例性装置包括存储器和处理器。所述存储器和所述处理器被配置为接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR)。所述存储器和所述处理器还被配置为:更新与对应于奇偶校验矩阵(PCM)的列的所述编码比特相对应的所述LLR。所述LLR指示所述编码比特中的每个编码比特的值的概率。所述PCM的每一行对应于针对所述编码比特的奇偶校验。所述存储器和所述处理器还被配置为:使用所述PCM对所述编码比特进行迭代地解码。对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的。所述存储器和所述处理器还被配置为:维持整体奇偶校验位。所述存储器和所述处理器还被配置为:在迭代解码开始时,将所述整体奇偶校验位设置为真。所述存储器和所述处理器还被配置为:对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位。所述存储器和所述处理器还被配置为:维持符号翻转比特。所述存储器和所述处理器还被配置为:在所述迭代解码的所述开始时,将所述符号翻转比特设置为真。所述存储器和所述处理器还被配置为:当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假。所述存储器和所述处理器还被配置为:当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码。
本公开内容的某些方面给出了一种在其上存储有用于执行低密度奇偶校验(LDPC)解码的方法的指令的计算机可读介质。通常,一种示例性方法包括:接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR)。该方法还包括:更新对应于与奇偶校验矩阵(PCM)的列相对应的所述编码比特的所述LLR。所述LLR指示所述编码比特的每个值的概率。所述PCM的每一行对应于针对所述编码比特的奇偶校验。该方法还包括:使用所述PCM对所述编码比特进行迭代地解码。对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的。该方法还包括:维持整体奇偶校验位。该方法还包括:在迭代解码开始时,将所述整体奇偶校验位设置为真。该方法还包括:对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位。该方法还包括:维持符号翻转比特。该方法还包括:在所述迭代解码的所述开始时,将所述符号翻转比特设置为真。该方法还包括:当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假。该方法还包括:当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码。
在结合附图阅读了下面的本公开内容的特定、示例性方面的描述之后,本公开内容的其它方面和特征对于本领域普通技术人员来说将变得显而易见。虽然相对于下面的某些方面和附图讨论了本公开内容的特征,但本公开内容的所有方面可以包括本文所讨论的优势特征中的一个或多个。换言之,虽然将一个或多个方面讨论成具有某些优势特征,但根据本文所讨论的本公开内容的各个方面,也可以使用这些特征中的一个或多个。用类似的方式,虽然下面将示例性方面讨论成设备、系统或者方法方面,但应当理解的是,这些示例性方面可以用各种各样的设备、系统和方法来实现。
附图说明
为了详细地理解本公开内容的上面所描述特征的实现方式,本申请针对上面的简要概括参考一些方面给出了更具体的描述,这些方面中的一些在附图中给予了说明。但是,由于本发明的描述准许其它等同的有效方面,因此这些附图仅仅描绘了本公开内容的某些典型方面,其不应被认为限制本发明的保护范围。
图1根据本公开内容的某些方面,示出了一种示例性多址接入无线通信系统。
图2根据本公开内容的某些方面,示出了基站和无线节点的框图。
图3根据本公开内容的某些方面,示出了可以在无线设备中利用的各种组件。
图4-4A根据本公开内容的某些方面,示出了示例性低密度奇偶校验(LDPC)码的图形和矩阵表示。
图5根据本公开内容的某些方面,图形化地示出了图4A的LDPC码的提升。
图6是用于准循环802.11LDPC码的矩阵的整数表示。
图7是根据本公开内容的某些方面,示出打孔编码器的简化框图。
图8是根据本公开内容的某些方面,示出解码器的简化框图。
图9根据本公开内容的某些方面,示出了通用分层LDPC解码器的高级框图。
图10根据本公开内容的某些方面,示出了用于计算/更新奇偶校验矩阵中的比特对数似然比(LLR)和后验LLR的处理的例子。
图11A和图11B根据本公开内容的某些方面,示出了示例性分层解码器流水线处理时间轴。
图12是根据本公开内容的某些方面,示出用于解码低密度奇偶校验(LDPC)码的示例性操作的流程图。
图13根据本公开内容的方面,示出了已经放宽更新比特LLR和计算后验LLR之间的依赖性的示例性LLR处理流水线。
图14A根据本公开内容的方面,示出了用于演示存储器一致性和冲突问题的示例PCM。
图14B根据本公开内容的方面,示出了假设写入LLR存储器的单周期延迟和3周期流水线深度的分层LDPC解码器流水线。
图15根据本公开内容的方面,示出了与示例性奇偶校验矩阵(PCM)相对应的比特LLR处理步骤。
图16根据本公开内容的方面,示出了分层解码器处理流水线中的比特LLR的交换。
图17根据本公开内容的方面,示出了用于增加存储器带宽以适应LLR的处理和更新的示例性解决方案。
图18是根据本公开内容的某些方面,示出用于解码低密度奇偶校验(LDPC)码的示例性操作的流程图。
为了有助于理解,已经尽可能地使用相同参考数字来表示附图中共有的相同元件。应当知悉的是,揭示于一个方面的元件可以有益地应用于其它方面,而不再特定叙述。
具体实施方式
本公开内容的方面提供了用于新无线电(NR)(新无线电接入技术)的编码的装置、方法、处理系统和计算机程序产品。新无线电(NR)可以指代被配置为根据新空中接口或固定传输层进行操作的无线电。NR可以包括目标针对于较宽带宽(例如,80MHz之上)的增强型移动宽带(eMBB)、目标针对于高载波频率(例如,60GHz)的毫米波(mmW)、目标针对于非向后兼容性MTC技术的大规模MTC(mMTC)、以及目标针对于超可靠低延迟通信(URLLC)的关键任务。对于这些一般主题,考虑了诸如编码、低密度奇偶校验(LDPC)和极化之类的不同技术。NR小区可以指代根据新空中接口或固定传输层进行操作的小区。NR节点B(例如,5G节点B)可以对应于一个或多个传输接收点(TRP)。
概括地说,本公开内容的某些方面涉及用于解码低密度奇偶校验(LDPC)码的方法和装置,具体地说,本公开内容的某些方面涉及用于LDPC解码器的早期终止技术。举例来说,本公开内容的方面给出了确定何时终止LDPC解码的技术。在一些方面,虽然本文将某些早期终止技术描述为应用于分层LDPC解码器(其包括本文描述的特定分层LDPC解码器),但是这种早期终止技术也可以应用于其它适当的分层LDPC解码器,或者甚至应用于其它适当的LDPC解码器。
下文参照附图更全面地描述本公开内容的各个方面。但是,本公开内容可以以多种不同的形式实现,并且其不应被解释为受限于贯穿本公开内容给出的任何特定结构或功能。相反,提供这些方面只是使得本公开内容变得透彻和完整,并将向本领域的普通技术人员完整地传达本公开内容的保护范围。基于本文内容,本领域普通技术人员应当理解的是,本公开内容的保护范围旨在覆盖本文所公开的公开内容的任何方面,无论其是独立实现的还是结合本公开内容的任何其它方面实现的。例如,使用本文阐述的任意数量的方面可以实现装置或可以实现方法。此外,本公开内容的保护范围旨在覆盖这种装置或方法,这种装置或方法可以通过使用其它结构、功能、或者除本文所阐述的本公开内容的各个方面的结构和功能或不同于本文所阐述的本公开内容的各个方面的结构和功能来实现。应当理解的是,本文所公开的公开内容的任何方面可以通过本发明的一个或多个组成部分来体现。本文所使用的“示例性的”一词意味着“用作例子、例证或说明”。本文中描述为“示例性”的任何方面不应被解释为比其它方面更优选或更具优势。
虽然本文描述了一些特定的方面,但是这些方面的多种变型和排列也落入本公开内容的保护范围之内。虽然提及了优选的方面的一些利益和优点,但是本公开内容的保护范围并不受到特定的利益、用途或对象的限制。相反,本公开内容的方面旨在广泛地适用于不同的无线技术、系统配置、网络和传输协议,其中的一些通过示例的方式在附图和优选方面的下文描述中进行了说明。说明书和附图仅仅是对本公开内容的说明而不是限制,本公开内容的保护范围由所附权利要求书及其等同物进行界定。
本文描述的技术可以用于各种无线通信网络,例如,长期演进(LTE)、码分多址(CDMA)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、正交FDMA(OFDMA)网络、单载波FDMA(SC-FDMA)网络等等。术语“网络”和“系统”经常可以交换使用。CDMA网络可以实现诸如通用陆地无线接入(UTRA)、CDMA 2000等等之类的无线电技术。UTRA包括宽带CDMA(W-CDMA)和低码片速率(LCR)。CDMA 2000覆盖IS-2000、IS-95和IS-856标准。TDMA网络可以实现诸如全球移动通信系统(GSM)之类的无线电技术。OFDMA网络可以实现诸如NR(例如,5G RA)、演进的UTRA(E-UTRA)、IEEE 802.11、IEEE 802.16、IEEE 802.20、等等之类的无线电技术。UTRA、E-UTRA和GSM是通用移动通信系统(UMTS)的一部分。长期演进(LTE)是使用E-UTRA的UMTS版本。在来自名为“第三代合作伙伴计划”(3GPP)的组织的文档中描述了UTRA、E-UTRA、GSM、UMTS和LTE。在来自名为“第三代合作伙伴计划2”(3GPP2)的组织的文档中描述了CDMA2000。NR是一种新兴的结合5G技术论坛(5GTF)进行部署的无线通信技术。仅将这些通信网络列出为可以应用本公开内容中描述的技术的网络的例子;但是,本公开内容并不限于上面所描述的通信网络。
单载波频分多址(SC-FDMA)是在发射机侧利用单载波调制,在接收机侧利用频域均衡的传输技术。SC-FDMA与OFDMA系统具有相似的性能和基本相同的整体复杂度。但是,SC-FDMA信号由于其固有的单载波结构,因而其具有较低的峰值与平均功率比(PAPR)。SC-FDMA具有很大的吸引力,特别是在上行链路(UL)通信,其中在UL通信中,较低的PAPR使无线节点在发射功率效率方面极大地受益。
接入点(“AP”)可以包括、实现为或者称为节点B、无线电网络控制器(“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接收信息。节点B102还可以与其它无线节点进行通信,其中这些其它无线节点可以是例如万物网(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.1ms持续时间上,跨度12个子载波,其中子载波带宽为75kHz。每个无线电帧可以由长度为10ms的50个子帧组成。因此,每个子帧可以具有0.2ms的长度。每个子帧可以指示用于数据传输的链路方向(即,下行链路(DL)或上行链路(UL)),用于每个子帧的链路方向可以进行动态地切换。每个子帧可以包括DL/UL数据以及DL/UL控制数据。可以支持波束成形,可以动态地配置波束方向。还可以支持具有预编码的MIMO传输。DL中的MIMO配置可以在多层DL传输多达8个流的情况下,支持多达8个发射天线。可以支持每个UE多达2个流的多层传输。可以支持多达8个服务小区的多个小区的聚合。替代地,NR可以支持不同于基于OFDM的空中接口的不同空中接口。NR网络可以包括诸如中央单元或分布式单元之类的实体。
图2描绘了多输入多输出(MIMO)系统200中的发射机系统210(例如,其还称为基站)和接收机系统250(例如,其还称为无线节点)的方面的框图,其中在MIMO系统200中可以实现本公开内容的方面。系统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是正整数)个发射机(TMTR)222a到222t提供NT个调制符号流。在本公开内容的某些方面,TXMIMO处理器220将波束成形权重应用于数据流的符号以及发送该符号的天线。
每个发射机222接收并处理相应的符号流以提供一个或多个模拟信号,并进一步调节(例如,放大、滤波和上变频)模拟信号以提供适合于在MIMO信道上传输的调制信号。随后,分别从NT个天线224a到224t发送来自发射机222a到222t的NT个调制信号。
在接收机系统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进行处理,TX数据处理器238还接收来自数据源236的多个数据流的业务数据,由调制器280调制,由发射机254a到254r调节,并发送回发射机系统210。
在发射机系统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)码的过程,其包括用于LDPC解码器的早期终止技术。在一个方面,处理器270、RX数据处理器260和TX数据处理器238中的至少一个可以被配置为执行存储在存储器272中的算法,以执行用于解码低密度奇偶校验(LDPC)码的过程,其包括本文所描述的用于LDPC解码器的早期终止技术。在另一个方面,处理器230、TX MIMO处理器220、TX数据处理器214和RX数据处理器242中的至少一个可以被配置为执行存储在存储器232中的算法,以执行用于解码低密度奇偶校验(LDPC)码的过程,其包括本文所描述的用于LDPC解码器的早期终止技术。
图3示出了可以在无线设备302中利用的各种组件,其中无线设备302可以在图1所示出的无线通信系统100中使用。无线设备302是可以被配置为实现本文所描述的各种方法的设备的一个例子。无线设备302可以是节点B 102(例如,TRP)或者无线节点中的任何一个(例如,无线节点116、122、130或IoT设备136或142)。例如,无线设备302可以被配置为执行图12中所描述的操作1200和/或图18中所示出的操作1800、以及本文所描述的其它操作。
无线设备302可以包括处理器304,后者控制无线设备302的操作。处理器304还可以称作为中央处理单元(CPU)。可以包括只读存储器(ROM)和随机存取存储器(RAM)的存储器306,向处理器304提供指令和数据。存储器306的一部分还可以包括非易失性随机存取存储器(NVRAM)。处理器304通常基于存储在存储器306中的程序指令来执行逻辑和算术运算。可以执行存储器306中的指令以实现本文所描述的方法,例如允许UE解码低密度奇偶校验(LDPC)码(其包括早期终止LDPC解码)。处理器304的一些非限制性示例可以包括Snapdragon(骁龙)处理器、专用集成电路(ASIC)、可编程逻辑等等。
无线设备302还可以包括壳体308,后者可以包括发射机310和接收机312以允许在无线设备302和远程位置之间进行数据的传输和接收。可以将发射机310和接收机312组合到收发机314中。可以将单一或者多个发射天线313连接到壳体308和电耦合到收发机314。无线设备302还可以包括(没有示出)多个发射机、多个接收机和多个收发机。无线设备302还可以包括无线电池充电装备。
无线设备302还可以包括信号检测器318,后者可以用于尽力检测和量化收发机314所接收的信号的电平。信号检测器318可以检测诸如总能量、每子载波每符号的能量、功率谱密度之类的信号和其它信号。无线设备302还可以包括用于对信号进行处理的数字信号处理器(DSP)320。
另外,无线设备还可以包括:用于对要传输的信号进行编码的编码器322、以及用于对接收的信号进行解码的解码器324。根据某些方面,解码器324可以根据本文所给出的某些方面来执行解码(例如,通过实现图12中所示出的操作1200和/或图18中所示出的操作1800)。
可以通过总线系统326将无线设备302的各个组件耦合在一起,其中总线系统326除包括数据总线之外,还可以包括电源总线、控制信号总线和状态信号总线。根据下面所讨论的本公开内容的方面,处理器304可以被配置为访问存储器306中存储的指令以执行对低密度奇偶校验(LDPC)码的解码,其包括用于LDPC解码器的早期终止技术。
示例性纠错编码
很多通信系统使用纠错码。具体而言,纠错码通过在数据流中引入冗余,来补偿这些系统中信息传递的内在不可靠性。低密度奇偶校验(LDPC)码是使用迭代编码系统的特定类型的纠错码。具体而言,Gallager码是规则LDPC码的早期示例。LDPC码是线性分组码,其中,其奇偶校验矩阵H的大多数元素是‘0’。
可以通过二部图(通常称为“Tanner图”)表示LDPC码,其中一组变量节点对应于码字的比特(例如,信息比特或系统比特),并且一组校验节点对应于定义编码的一组奇偶校验约束。图中的边将变量节点连接到校验节点。因此,该图的节点被分成两个不同的集合,并且这些节点具有连接两个不同类型的节点、变量和校验的边。
通过复制二部基图(G)来创建提升图,该二部基图也可以称为原型图、多个时间Z。如果通过图中的“边”(即,连接变量节点和校验节点的线)连接变量节点和校验节点,则认为它们是“邻居”。另外,对于二部基图(G)的每个边(e),向边(e)的Z个副本应用排列以互连G的Z个副本。当且仅当对于每个校验节点,与所有相邻变量节点相关联的比特总和为模2等于零(即,它们包括偶数个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表示有效码字(例如,对于每个约束节点,如果与约束相邻的比特(通过它们与变量节点的关联)总和为模2等于零,即它们包括偶数个1)。因此,如果正确接收到码字,则Hx=0(mod 2)。当编码的接收信号和奇偶校验矩阵H的乘积变为‘0’时,这表示没有发生差错。奇偶校验矩阵是C行乘以V列二进制矩阵。行代表等式,列代表码字中的数字。
解调符号或变量节点的数量是LDPC码长度。将行(列)中的非零元素的数量定义为行(列)权重dc(dv)。
节点的度数指代连接到该节点的边的数量。在图4A中所示的H矩阵中示出了该特征,其中在图4A中,进到变量节点410的边的数量等于相应列中的1的数量,其称为变量节点度数d(v)。类似地,与校验节点420连接的边的数量等于相应行中的1的数量,其称为校验节点度d(c)。
规则图形或规则码是所有变量节点具有相同的度数j、并且所有约束节点具有相同的度数k的规则图形或规则码。在该情况下,可以说编码是(j,k)规则码。另一方面,非规则码具有不同度数的约束节点和/或变量节点。例如,一些变量节点可以具有度数4,其它变量节点可以具有度数3,而其它变量节点可以具有度数2。
“提升”使得LDPC码能够使用并行编码和/或解码实现来实施,同时还降低通常与大LDPC码相关联的复杂度。提升有助于实现LDPC解码器的高效并行化,同时仍具有相对紧凑的描述。具体而言,提升是用于从较小基码的多个副本生成相对较大的LDPC码的技术。例如,可以通过生成基图(例如,原型图)的Z个并行副本,并且随后通过基图的每个副本的边束的排列来互连这些并行副本,来生成提升的LDPC码。基图定义了编码的(宏)结构,并且由多个(K个)信息比特列和多个(N个)编码比特列组成。将基图提升多个(Z个),导致最终块长度为KZ。
因此,可以通过“复制和排列”操作获得更大的图,其中制作基图的多个副本并进行连接以形成单个提升图。对于多个副本,作为单个基边的一组副本的相似边,被排列并连接以形成比基图更大Z倍的连接图形。
图5图形化地示出了制作图4的图的三个副本的效果。可以通过排列副本之间的相似边来互连三个副本。如果将排列限制为循环排列,则获得的图对应于具有提升Z=3的准循环LDPC。在本文中将制作三个副本的原始图称为基图。为了获得不同大小的派生图,可以将“复制和排列”操作应用于基图。
可以通过用ZxZ矩阵替换基本奇偶校验矩阵中的每个条目,根据基图的奇偶校验矩阵来构造提升图的相对应奇偶校验矩阵。使用0矩阵替换0条目(没有基边的条目),并且使用ZxZ排列矩阵替换1条目(其表示基边)。在循环提升的情况下,这些排列是循环排列。
还可以将循环提升的LDPC码解释为二进制多项式模xZ+1环上的码。在该解释中,二进制多项式(x)=b0+b1x+b2x2+…+bZ-1xZ-1可以与基图中的每个变量节点相关联。二进制向量(b0,b1,b2,…,bZ-1)对应于与提升图中的Z个对应变量节点相关联的比特,即,单个基本变量节点的Z个副本。通过将相对应的二进制多项式乘以xk来实现二进制向量的k的循环排列,其中乘法取模xZ+1。可以将基图中的度数d奇偶校验解释为关于写为xk1B1(x)+xk2B2(x)+…+xkd Bd(x)=0的相邻二进制多项式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码通常使用具有大提升因子和相对小的基图的准循环结构,以支持编码和解码操作中的高并行性。具有较高码率(例如,消息长度与码字长度的比率)的LDPC码倾向于具有相对较少的奇偶校验。如果基本奇偶校验的数量小于变量节点的度数(例如,连接到变量节点的边的数量),则在基图中,该变量节点通过两个或更多边连接到基本奇偶校验的至少一个(例如,变量节点可以具有“双边”)。或者,如果基本奇偶校验的数量小于变量节点的度数(例如,连接到变量节点的边的数量),则在基本图中,该变量节点通过两个或多个边连接到基本奇偶校验的至少一个。具有由两个或更多个边连接的基本变量节点和基本校验节点,对于并行硬件实现目的而言通常是不期望的。例如,这样的双边可能导致对相同存储器位置的多个并发读取和写入操作,其转而可能产生数据一致性问题。基LDPC码中的双边可能在单个并行奇偶校验更新期间,触发两次相同的软比特值存储器位置的并行读取。因此,通常需要另外的电路来组合写回到存储器的软比特值,以便适当地合并两个更新。但是,消除LDPC代码中的双边有助于避免这种额外的复杂性。
可以将基于循环提升的LDPC码设计方案解释为多项式模的环上的码,其可以是二进制多项式模xZ+1,其中Z是提升大小(例如,准循环码中的周期的大小)。因此,通常可以将编码这样的码字解释为该环中的代数运算。
在标准非规则LDPC码集合(度数分布)的定义中,Tanner图表示中的所有边在统计上都是可互换的。换言之,存在单个统计等价类型的边。例如,可以在Tom Richardson和Ruediger Urbanke于2008年3月17日出版的标题为“现代编码理论”的书中找到对提升的LDPC码的更详细讨论。对于多边LDPC码,多个等价类型的边是可能的。在标准的非规则LDPC集合定义中,图中的节点(变量和约束)由它们的度数(即,它们连接到的边数)进行指定,在多边类型设置中,边度数是矢量;它指定从每个边等价类(类型)独立地连接到该节点的边数。多边类型集合由有限数量的边类型组成。约束节点的度数类型是(非负)整数的向量;该向量的第i个条目记录连接到该节点的第i种类型的套接字的数量。该矢量可以称为边度数。变量节点的度数类型有两个部分,但可以将其视作为(非负)整数的矢量。第一部分涉及所接收的分布,其将称为接收度数,第二部分指定边度数。边度数与约束节点具有相同的作用。将边分类为与它们的配对套接字具有相同的类型。套接字必须与类似类型的套接字配对的这种约束,表征多边类型的概念。在多边类型描述中,不同的节点类型可以具有不同的接收分布(例如,相关联的比特可以经过不同的信道)。
图7示出了可以被配置为提供用于无线传输的编码消息的射频(RF)调制解调器704的一部分。在一个例子中,基站(例如,节点B 102和/或发射机系统210)(或反向路径上的无线节点)中的编码器706接收用于传输的消息702。消息702可以包含针对于接收设备的数据和/或编码语音或其它内容。编码器706使用适当的调制和编码方案(MCS)对消息进行编码,通常基于由基站或另一个网络实体定义的配置来选择该MCS。在一些情况下,编码器706可以例如使用上面所描述的技术(例如,通过使用LDPC码)对消息进行编码。随后,可以将编码器706产生的编码比特流708提供给映射器710,映射器710生成Tx符号序列712,其由Tx链714进行调制、放大和以其它方式处理,以产生用于通过天线718传输的RF信号716。
图8示出了RF调制解调器814的一部分,其中该RF调制解调器814可以被配置为接收和解码包括编码消息(例如,使用如上所述的LDPC码进行编码的消息)的无线发送信号。在各个例子中,接收信号的调制解调器814可以驻留在无线节点(例如,无线节点116、接收机系统250)、基站(例如,节点B 102、发射机系统210)或者任何其它适当的装置处、或者驻留在用于执行所描述的功能的单元(例如,无线设备302)处。天线802接收用于无线节点(例如,无线节点116、118和/或接收机系统250)的RF信号716(即,图7中产生的RF信号716)。RF链804对RF信号716进行处理和解调,可以将解调符号序列806提供给解映射器808,解映射器808产生表示编码消息的比特流810。
随后,解码器812可以用于从已经使用编码方案(例如,LDPC码)编码的比特流中解码m比特信息串。解码器812可以包括具有全并行、行并行、或块并行架构的分层LDPC解码器。通常,LDPC解码器如下进行操作:迭代地执行本地计算,并且通过沿着边在二部图400内交换消息来传递这些结果,并且通过基于传入消息在节点处执行计算来更新这些消息。这些步骤通常可以重复几次,其可以称为消息传递步骤。例如,最初可以向图400中的每个变量节点410提供“软比特”(例如,其表示码字的接收比特),其中软比特指示相关比特值的估计(如通过来自通信信道的观察所确定的)。在一些方面,“软比特”可以通过对数似然比(LLR)来表示,可以将LLR被定义为log((比特为0的概率)/(比特为1的概率))。使用这些LLR,LDPC解码器可以通过从存储器迭代地读取它们或其某些部分来更新消息,并且将更新的消息或其某些部分写回存储器。这些更新操作通常是基于相应LDPC码的奇偶校验约束。在提升的LDPC码的实现中,通常并行地处理相似边上的消息。根据各方面,在这些解码技术之后,解码器812可以基于LLR对比特流810进行解码,以确定包含从基站(例如,节点B 102和/或发射机系统210)发送的数据和/或编码语音或其它内容的消息702。解码器可以根据下面给出的本公开内容的方面,对比特流810进行解码(例如,通过实现图12中所示的操作1200和/或图18中所示的操作1800)。
示例性LDPC解码器架构
低密度奇偶校验(LDPC)是在诸如无线通信、存储和以太网之类的一些应用中使用的强大的纠错编码技术。LDPC基于在二部图上设计编码,例如,如图4中所示。通常使用如上所述的置信传播技术来实现LDPC解码,其中消息沿着图的边传递,并且图中的节点计算它们的边际分布,根据该边际分布可以做出关于源符号的决定。准循环(QC)码是一种流行的结构化LDPC码,其中基本LDPC奇偶校验矩阵(PCM)获得“提升”。例如,“提升”需要使用ZxZ子矩阵来替换每个基本PCM条目。ZxZ子矩阵可以是‘0’基本PCM条目全为零的矩阵,或者‘1’基本PCM条目为循环旋转的单位矩阵。QC LDPC码通过实现解码器(例如,图8中所示出的解码器)来实现硬件中的并行处理,以使用交换网络来复制处理Z次以交换消息。
LDPC解码器实现消息传递架构以实现迭代的置信传播(BP)算法。可以将对数BP算法写成:
Rmj=-smjΨ(Amj) (式3)
L(qmj)=L(qj)-Rmj (式5)
其中L(c)是定义为的对数似然比,m是奇偶校验节点或PCM行索引,j是比特节点或PCM列索引,N(m)是连接到奇偶校验节点m的比特的所有比特索引的集合,并且M(j)是连接到比特j的所有奇偶校验节点的所有奇偶校验节点索引的集合。可以使用通过通信信道的观察所确定的针对码字的每个比特的LLR(其也称为比特LLR)对L(qmj)进行初始化,例如,使用其中rj是衰落增益,并且σ2是信道方差。
根据各方面,式1计算针对比特j的奇偶校验度量Amj,该度量通过变换Ψ将连接到奇偶校验节点m的所有比特的输入比特LLR L(qmn)(不同于针对比特j的LLR)进行求和。该运算与等式3基于属于奇偶校验m的其它比特的观察,一起计算针对比特j的后验LLR Rmj。式2基于输入比特LLR L(qmn)的符号,计算后验LLR Rmj的符号smj。式4通过将来自解码器的针对比特j的所有后验LLR的Rmj(外部LLR)与来自信道的先验LLR(固有LLR)进行组合,来计算更新的比特LLR L(qj)。在将比特LLR和L(qmj)传递回奇偶校验节点m以便在下一次迭代中计算更新的外部LLR Rmj之前,式5从比特LLR和L(qj)中减去奇偶校验节点m的外部LLRRmj。对于‘泛洪’LDPC解码器迭代,对所有奇偶校验节点执行步骤1-3(即,计算式1到式3),之后所有比特(变量)节点执行步骤4(即,计算式4)以更新比特LLR L(qj)。
例如,如本文所给出的分层LDPC解码器执行类似于上面的式1到式5的步骤,但是稍作修改。例如,可以将分层对数BP算法写成:
L(qmj)=L(qj)-Rmj (式6)
Rmj=-smjΨ(Amj) (式9)
L(qj)=L(qmj)+Rmj (式10)
在上述的分层解码步骤(即,式6到式10)中,
利用信道比特LLR来初始化比特LLR L(qj)。根据某些方面,分层解码(式6到式10)和泛洪解码(式1到式5)之间的关键差异在于:在分层迭代解码中,当在式9针对特定奇偶校验节点(PCM行)计算后验LLR,Rmj时,在式6到式9中计算下一行的后验LLR Rmj之前,在式10中使用新的后验LLR Rmj来立即更新比特LLR L(qj)。这与泛洪解码器形成对比,其中在泛洪解码器中,在式4中使用后验LLR Rmj来更新所有的比特LLR L(qj)之前,计算与PCM行相对应的所有后验LLR Rmj(式1到式3在所有m和j上循环)。结果,分层解码允许具有更新的后验LLR Rmj的形式的信息通过比洪泛解码器更快地传递的置信传播消息进行传播,这导致更快的解码器收敛。
图9示出了通用分层LDPC解码器900的高级框图,其可以是图8中所示的解码器的例子。如图所示,分层LDPC解码器包括LLR存储存储器902以用于存储比特LLR(例如,L(qj))(即,码字的每比特一比特LLR),其由信道比特LLR(例如,进行初始化,转而通过后验LLR
(例如,Rmj)进行更新。分层LDPC解码器900还包括数据路径处理器904,后者可以并行操作以计算后验LLR并更新LLR存储存储器902中存储的比特LLR。另外,分层LDPC解码器900还包括度量存储存储器906以存储由数据路径处理器904和排列网络908计算的后验LLR,以在存储器902、906和数据路径处理器904之间路由LLR(例如,比特LLR和后验LLR)。
如上所述,分层解码沿着PCM中的行来遍历PCM列(比特LLR)以计算该行的后验LLR。在计算了该行的后验LLR之后,当将它们馈送到用于下一行的后验LLR的计算时,分别立即使用其对应的后验LLR来更新这些比特LLR。如果更新的比特LLR的列索引被连接到下一行,则更新的比特LLR被传递到针对该下一行的后验LLR计算。如果不存在连接,则可以将更新的比特LLR存储到LLR存储器902。
图10示出了用于计算/更新奇偶校验矩阵(PCM)中的比特LLR和后验LLR的过程的例子。具体而言,PCM的每个单元示出了计算的后验LLR。例如,对于图10中所示的PCM,一旦计算了用于行3的后验LLR,就可以更新列5的比特LLR(例如,使用式10)并且用于行4的后验LLR计算(例如,使用式6到式9),这是因为列5连接到行3和4(例如,PCM条目(3,5)和(4,5)是非零的)。但是,当使用从行3计算的后验LLR更新列6的比特LLR时,将更新的比特LLR存储在存储器(例如,LLR存储存储器902)中,这是因为行4的后验LLR计算不包括列6(假定(4,6)是空的)。当计算第5行的后验LLR时,从存储器中读取第6列的比特LLR,而不是从先前的更新计算中传递的。还应当注意,写入和读取冲突是可能的,这是因为式6和式10可以读取和写入LLR存储存储器902。如果LLR存储存储器902刚刚好具有单个读取和单个写入端口,则这样的冲突可以在处理流水线中产生气泡(例如,延迟)。
还可能存在由于递归处理而引入的气泡,其中将针对行(层)的比特LLR更新传递到下一层的后验LLR处理,其中对于该下一层,使用计算的后验LLR来再次更新比特LLR。例如,给定非零处理流水线深度,在比特LLR更新阶段之间可能存在间隙,使得可以完成后验LLR计算。
例如,图11A示出了用于计算后验LLR并且基于该后验LLR来更新比特LLR的逐行处理。如图11A中所示,由于递归处理在后验计算(例如,式6到式9)与比特LLR更新步骤(例如,式10)之间具有相互依赖性,因此存在流水线气泡(例如,处理中的间隙)。流水线气泡随着流水线深度的增加以及存储器冲突而增长,如图11B中所示,其中从图11B中可以看出,流水线深度增加到3个周期以及存储器冲突会增加由于流水线气泡而浪费的循环次数。因此,本公开内容的各方面提出了用于减轻流水线气泡的技术,例如,通过放宽更新比特LLR和计算后验LLR之间的依赖性,使得对于特定的行,后验处理可以使用最新的可用比特LLR而不是等待发生最新的更新。
图12示出了用于无线通信的示例性操作1200,例如,用于在解码LDPC码字时减少处理延迟和存储器冲突。根据某些方面,操作1200可以由诸如基站(例如,节点B 110和/或基站210)、用户设备(例如,UE 116和/或UE 250)和/或无线设备302之类的无线通信设备中的解码器(例如,解码器800)来执行。
操作1200开始于1202,首先接收与使用LDPC编码进行编码的比特相对应的码字。在1204处,无线通信设备针对对应于奇偶校验矩阵(PCM)的列的这些编码比特中的每个编码比特来计算比特对数似然比(LLR),这些比特LLR指示这些编码比特中的每个编码比特的值的概率。在1206处,无线通信设备通过处理该PCM的行内的每个比特LLR,来针对这些编码比特中的每个编码比特确定该行的后验LLR,其中对于第一组的编码比特,确定后验LLR包括使用第一数量的过时比特LLR,并且其中,对于第二组的编码比特,确定后验LLR包括使用第二数量的更新比特LLR,其中第一组的编码比特和第二组的编码比特包括所有的编码比特。在1208处,无线通信设备利用这些比特LLR对码字进行解码。
如上所述,为了减轻流水线气泡,可以放宽更新比特LLR和计算后验LLR之间的依赖性,使得对于特定行,后验处理可以使用最新的可用比特LLR(例如,过时比特LLR),而不是等待发生最新的更新(例如,更新的比特LLR)。
图13示出了一种示例性LLR处理流水线,其中放宽了更新比特LLR和计算后验LLR之间的依赖性。例如,如图所示,在后验LLR的计算期间,不是等待在先前迭代中更新比特LLR并且将其传递到当前的后验LLR计算(例如,在3个周期的流水线延迟之后),后验LLR计算可以在不具有更新的比特LLR的情况下进行,使用对应于第一比特数的第一数量的过时比特LLR,并且使用对应于第二比特数的第二数量的更新比特LLR。例如,如图13中所示,对于PCM行0,后验LLR计算可以在前三个周期开始使用较旧的(例如,过时的/未更新的)比特LLR,直到最新的更新比特LLR变得可用(例如,在三个周期流水线延迟之后传递给后验LLR计算阶段)为止。
根据各方面,虽然这种放松减少了流水线气泡,但这是以在消息传递中引入的延迟而导致解码器性能下降为代价。但是,根据消息传递延迟的数量(与流水线深度成正比),这种延迟的性能下降趋于较小,并且由于流水线气泡开销的消除,因此每次迭代的周期减少也趋于平衡。这是因为与没有这种消息传递放松的分层解码器相比,每次迭代的周期减少导致在恒定时间段内处理更多的PCM行,这可以导致性能改进(其能够弥补由于消息传递延迟而造成的降级)。另外,允许消息传递延迟提供了更深的流水线,其转换为将更高可实现的时钟频率用于解码操作。
对于分层解码,可以执行式6以从比特LLR,L(qj)中减去最后的后验消息,然后将其馈送到后验计算以计算新的后验消息,随后使用该新的后验消息来更新L(qmj)。如果将L(qmj)存储到LLR存储器(例如,LLR存储器存贮设备902)以用于式10中的更新,并且如果在消息传递中存在延迟,则在发生更新之前可能存在比特LLR的多次读取,由于缺少后验更新,这可能会破坏置信传播消息传递。另外,如上面所讨论的,由于式6和式10同时访问LLR存储器,因此可能存在存储器冲突,在图14A和14B中示出了其示例。
图14A示出了用于演示可能由分层LDPC解码器中的延迟消息传递引起的存储器一致性和冲突问题的示例PCM,如上所述。在图14A中所示的示例性PCM中,行4连接到比特0、2和3(例如,比特(4,0)、(4,2)和(4,3)为非零),行5连接到比特0、1和5(例如,比特(5,0)、(5,1)和(5,5)为非零)。
图14B示出了假定写入LLR存储器的单个周期延迟和3个周期流水线深度的分层LDPC解码器流水线,其参照图14A中所示出的示例PCM来示出了上面所讨论的存储器冲突。如图所示,在周期0期间,解码器通过以下方式来针对行4、比特0来计算式6:取图14A中所示的PCM的列0的比特LLR(L(q0)),从列0的比特LLR中减去过时的后验LLR,Rmj。这导致行4、列0的比特LLR(即,L(q40))。获得的比特LLR(L(q40))需要存储在某处以便稍后用于计算PCM的列0(即,比特0)的更新比特LLR,因此解码器使用比特LLR的值(L(q40))来覆盖比特LLR L(q0),例如,如图14B的周期1、LLR存储器列0所示。但是,由于流水线处理延迟,使用L(q40)覆盖L(q0)表示稍后在第5行的处理期间出现的问题。
例如,如图14B的周期3中所示,由于用于提供更新的比特LLR的流水线处理延迟,式6的处理从存储器中读取L(q40)而不是更新的L(q0)。也就是说,在第5行的处理期间,式6的计算使用行4的比特LLR信息(即,L(q40)),这是因为更新的L(q0)(其根据L(q40)导出)由于流水线处理延迟而还未存储在存储器中,这可能降低解码器性能。另外,由于式6和式10的处理都想要在相同周期中写入存储器,因此对于周期4而言,存在存储器冲突。在一些情况下,解码器可以选择延迟对式6写入操作或式10写入操作进行延迟以解决冲突,这在图14B中所示的括号中的步骤中示出。但是,无论哪种方式,都可能存在不期望的行为。例如,如果首先发生式6写入操作,则当发生第5行的更新时,将覆盖L(q50)消息。另外,如果首先发生式10写入操作,则将覆盖针对行4的更新。
根据某些方面,对分层等式(例如,式6到式10)的略微修改解决了存储器一致性和冲突问题,如下所示。
L(qmj)=L(qj)-Rmj(old) (式11)
Rmj(new)=-smjΨ(Amj) (式14)
L(qj)=L(qj)+(Rmj(new)-Rmj(old)) (式15)
如同在式6到式9中,将式11所生成的L(qmj)馈送到式12到式14中的后验处理。但是,与式6到式9不同,不将L(qmj)存储到LLR存储器,如图14B的示例中所示。事实上,使用旧的和新的后验LLR之间的差(即,(Rmj(new)–Rmj(old)))来更新L(qj),如式15中所示。根据某些方面,该操作有效地从比特LLR中减去旧的后验信息并使用最新信息进行替换,使得针对特定行的计算不再使用针对前一行所定制的信息,如图14B中的例子所示。
图15示出了与图14A中所示的示例性PCM相对应的式11到式15的处理步骤。如在图15中所看出的,不存在一致性冲突,这是因为不将L(qmj)写入到存储器。因此,存储器始终维持最新的可用L(qj)值(即,过时或更新的比特LLR)。
另外,如图15中的周期3所示,式11处理中使用的L(q0)值来自存储器,其是用于行4的后验LLR尚未更新的较旧值,其差异更新也发生在式15处理的周期3中。根据某些方面,通过针对L(q55)来交换L(q50)的式11处理,允许在L(q50)处理中使用L(q0)的最新更新,如图16所示。
根据某些方面,随着消息传递的延迟,将从存储器中读取L(qj)而不是L(qmj)。由于式11和式15都访问存储器以读取L(qj),因此可能需要高存储器带宽来将L(qj)消息馈送到式11和式15的逐周期处理。
图17示出了用于增加存储器带宽以适应LLR的处理和更新的示例性解决方案。例如,根据某些方面,为了在不向存储器添加昂贵的附加端口的情况下实现更高的读取带宽,可以将LLR存储器(例如,LLR存储存储器902)分成双存储体,可以将L(qj)消息分类在存储体中以避免冲突,其中式11处理和式15处理尝试在相同周期读取相同的存储体,例如,如图17中所示。
另外,也可以以最大化传递图16中所示的最新更新的L(qj)消息的方式,执行存储器中的排序和处理比特(即,列)索引的顺序。例如,在图17中,可以将存储器分割成双存储体(例如,“LLR存储体0”和“LLR存储体1”)。跨两个存储体存储的总比特数与图16中的单个存储器相同。但是,根据各方面,如果交换L(q2)和L(q4)列,则式11和式15的处理不在任何给定的周期访问相同的存储体来读取L(qj),从而增加读取带宽并提高解码效率和时间。另外,如图16中所示,式11的处理(例如,使用图17中的双存储体)可以使用比特索引5,然后是1,然后是0,使得最新的L(q0)可以用于针对行5的后验LLR处理。换言之,根据某些方面,当执行后验LLR和比特LLR更新计算(即,式11和式15)时,解码器可以有利地选择PCM行计算顺序,对存储器中的后验LLR和比特LLR更新进行排序,和/或选择存储体以存储后验LLR和比特LLR更新以减轻存储器冲突/一致性错误和减少流水线处理延迟,从而提高解码效率和准确性。
用于LDPC解码器架构的示例性早期终止技术
在某些方面,当针对PCM的每一行的奇偶校验返回真值时,分层LPDC解码器终止对码字的解码(即,由其比特LLR表示的解码码字满足与PCM的每行相对应的每个奇偶校验)。
分层解码逐行地处理PCM行,并且相应地逐行地执行与PCM的每一行相对应的奇偶校验。相应地,一次处理一个PCM行,并且在处理PCM行时,对比特LLR值执行与该PCM的行相对应的奇偶校验。此外,如上所述,在PCM行的处理期间,分层解码沿着PCM中的行遍历PCM列(比特LLR)以计算该行的后验LLR。在计算该行的后验LLR之后,当将它们馈送到用于下一行的后验LLR的计算时,分别立即使用其对应的后验LLR来更新这些比特LLR。由于针对每个处理的PCM行来更新比特LLR,因此用于处理一个PCM行的比特LLR可以与用于处理后续PCM行的比特LLR不同。具体而言,比特LLR的符号可以从一个PCM行到下一个PCM行进行翻转(例如,从负变为正,或者反之亦然)。
结果,如果由于给定PCM行的处理,比特LLR的符号发生翻转(即,确定由比特LLR表示的软比特的值发生改变),则先前处理的PCM行的任何奇偶校验结果可能不再有效,这是因为奇偶校验结果可能已经相对于更新的比特LLR发生了改变。相应地,仅仅是因为在给定迭代的LDPC解码(即,对PCM的所有行的单次处理)、对于每个PCM行的每个奇偶校验返回为真就终止LDPC解码,可能不能确保对码字的正确解码。
因此,本文给出的某些方面涉及确认:如果在给定迭代的LDPC解码中,所有PCM行的所有奇偶校验结果都返回真,则没有这样的奇偶校验将基于任何更新的比特LLR来返回假。具体而言,在某些方面,(例如,图8或图9)的LDPC解码器跟踪:在给定迭代的LDPC解码期间,是否有任何比特LLR的符号翻转,并且如果在给定迭代的LDPC解码期间,确实有任何比特LLR的符号翻转,则LDPC解码器确定LDPC解码不终止,并且执行另一次迭代解码。
在某些方面,LDPC解码器仅跟踪:由于对第一PCM行的处理而在更新了比特LLR之后,是否有任何比特LLR的符号翻转。具体而言,如果由于对第一PCM行的处理而导致任何比特LLR的符号翻转,则不考虑确定是否终止LDPC解码。
此外,在某些方面,LDPC解码器确定在给定迭代的LDPC解码期间,对于任何PCM行,奇偶校验结果是否为假,并且如果确实如此,则确定错误奇偶校验结果的数量是偶数还是奇数。如果错误奇偶校验结果的数量是奇数,则LDPC解码器确定LDPC解码不终止,并且执行另一次迭代解码。
但是,如果错误奇偶校验结果的数量是偶数,并且在给定迭代的LDPC解码期间任何比特LLR的符号都不翻转,则LDPC解码器确定LDPC解码终止,并且在该迭代的LDPC解码完成之后,将码字成功地解码为由这些比特LLR表示的值。
在一些方面,LDPC解码器使用单符号翻转比特,来跟踪在给定迭代的LDPC解码期间是否有任何比特LLR的符号翻转。此外,在某些方面,LDPC解码器使用单个整体奇偶校验位,来跟踪在给定迭代的LDPC编码期间,错误奇偶校验结果的数量是偶数还是奇数。
在一些方面,LDPC解码器可以利用符号翻转比特和整体奇偶校验比特,来确定是否可以如下所示来对于给定迭代的LDPC解码终止(即,完成)LDPC解码:
在给定的迭代解码开始时,将符号翻转比特和整体奇偶校验位设置为0(或为真)。
当针对该迭代处理了每个PCM行(层)时,将PCM行的奇偶校验结果添加到整体奇偶校验位。奇偶校验结果为真可以具有值0。奇偶校验结果为假可以具有值1。
从处理的第二PCM行开始,当针对该迭代处理了每个PCM行时,如果任何比特LLR的符号翻转,则符号翻转比特被设置为1(或假)。一旦将符号翻转比特设置为1,则其不能进行重置,直到新的迭代解码开始为止。
一旦针对该迭代处理了所有PCM行,则如果符号翻转比特和奇偶校验结果都具有值0(或真),则LDPC解码器确定可以早期地终止LDPC解码。如果符号翻转比特或奇偶校验结果具有值1(或假),则LDPC解码器执行另外的迭代解码。
在一些方面,例如在LDPC解码器实现类似于参照式11至式15所讨论的解码方案的情况下,LDPC解码器可以基于针对相应的比特LLR所计算的新后验LLR和旧后验LLR,确定在对PCM行的处理期间是否有任何比特LLR的符号翻转。具体而言,如上所述,基于存储的旧后验LLR和新后验LLR,来计算在更新之前的比特LLR值和在更新之后的比特LLR,并且将它们进行比较以查看符号是否已翻转。具体而言,获取在更新之前的比特LLR值,并且在更新以确定更新的比特LLR值之前,将旧后验LLRS和新后验LLR之间的差值添加到该比特值。相应地,可以利用本文所描述的特定分层LDPC解码器架构以及存储LLR的方式,来有利地确定比特LLR的符号是否已经翻转了,这对于使用一些LDPC解码器架构是不可能的,因为可能不能同时地访问过时的和更新的比特LLR值。
图18示出了用于无线通信(例如,用于解码LDPC码字)的示例性操作1800。根据某些方面,操作1800可以由诸如基站(例如,节点B 110和/或基站210)、用户设备(例如,UE116和/或UE 250)和/或无线设备302之类的无线通信设备中的解码器(例如,解码器800)来执行。
操作1800开始于1802,首先接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR)。在1804处,无线通信设备更新与对应于奇偶校验矩阵(PCM)的列的编码比特相对应的LLR,这些LLR指示编码比特中的每个编码比特的值的概率,其中该PCM的每一行对应于针对编码比特的奇偶校验。在1806处,无线通信设备使用PCM对编码比特进行迭代地解码,其中对于每次迭代解码,针对PCM的每一行,LLR是基于对该PCM的该行的处理来更新的。在1808处,无线通信设备维持整体奇偶校验位和符号翻转比特。在1810处,无线通信设备在迭代解码开始时,将整体奇偶校验位设置为真。在1812处,无线通信设备对于PCM的行的每个处理,在迭代解码期间将针对LLR的奇偶校验结果添加到整体奇偶校验位。在1814处,当任何LLR的符号在迭代解码期间改变时,无线通信设备将符号翻转比特设置为假。在1816处,当在迭代解码结束时将符号翻转比特和整体奇偶校验位设置为真时,无线通信设备停止对编码比特的迭代解码。
本文所公开方法包括用于实现所描述方法的一个或多个步骤或动作。在不脱离本发明保护范围的基础上,这些方法步骤和/或动作可以相互交换。换言之,除非指定特定顺序的步骤或动作,否则在不脱离本发明保护范围的基础上,可以修改特定步骤和/或动作的顺序和/或使用。
如本文所使用的,术语“确定”涵盖很多种动作。例如,“确定”可以包括计算、运算、处理、推导、研究、查询(例如,查询表、数据库或其它数据结构)、断定等等。此外,“确定”还可以包括接收(例如,接收信息)、存取(例如,存取存储器中的数据)等等。此外,“确定”还可以包括解析、选定、选择、建立等等。
在一些情况下,不是实际地传输帧,而是设备可以具有用于传输帧以进行传输的接口。例如,处理器可以经由总线接口,向用于传输的RF前端输出帧。类似地,不是实际地接收帧,而是设备可以具有用于获得从另一个设备接收的帧的接口。例如,处理器可以经由总线接口,从用于传输的RF前端获得(或者接收)帧。
上面所描述的方法的各种操作,可以由能够执行相应功能的任何适当单元来执行。这些单元可以包括各种硬件和/或软件组件和/或模块,其包括但不限于:电路、专用集成电路(ASIC)或者处理器。通常,在附图中示出有操作的地方,这些操作可以具有类似地进行编号的相应配对的功能模块组件。
例如,计算单元、确定单元、利用单元(例如,LLR)、更新单元、读取单元和/或选择单元可以包括具有一个或多个处理器(例如,基站210的处理器230和/或RX数据处理器242和/或用户终端250的处理器270和/或RX数据处理器260)的处理系统。另外,存储单元可以包括存储器(例如,基站210的存储器232和/或用户终端250的存储器272)。此外,接收单元可以包括接收机和/或天线(例如,基站210的接收机222和/或天线224和/或用户终端250的接收机254和/或天线252)。
用于执行本文所述功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件(PLD)、分立门或者晶体管逻辑、分立硬件组件或者其任意组合,可以实现或执行结合本文所公开内容描述的各种示例性的逻辑框、模块和电路。通用处理器可以是微处理器,或者,该处理器也可以是任何商业可用处理器、控制器、微控制器或者状态机。处理器还可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种结构。
当使用硬件实现时,一种示例性硬件配置可以包括无线节点中的处理系统。该处理系统可以使用总线体系结构来实现。根据该处理系统的具体应用和整体设计约束,总线可以包括任意数量的相互连接总线和桥接。总线可以将包括处理器、机器可读介质和总线接口的各种电路链接在一起。总线接口可以用于经由总线,将网络适配器等等连接到处理系统。网络适配器可以用于实现物理层的信号处理功能。在无线节点(参见图1)的情况下,还可以将用户接口(例如,键盘、显示器、鼠标、操纵杆等等)连接到总线。总线还链接诸如时钟源、外围设备、电压调节器、电源管理电路等等之类的各种其它电路,其中这些电路是本领域所公知的,因此没有做任何进一步的描述。处理器可以使用一个或多个通用处理器和/或特殊用途处理器来实现。示例包括微处理器、微控制器、DSP处理器和能够执行软件的其它电路。本领域普通技术人员应当认识到,如何根据具体的应用和对整个系统所施加的整体设计约束条件,最好地实现所述处理系统的所描述功能。
当使用软件来实现时,可以将这些功能存储在性计算机可读介质上或者作为计算机可读介质上的一个或多个指令或代码进行传输。软件应当被广义地解释为意味着指令、数据或者其任意组合等等,无论其被称为软件、固件、中间件、微代码、硬件描述语言还是其它术语。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。处理器可以负责管理总线和通用处理,其包括执行机器可读存储介质上存储的软件。计算机可读存储介质可以耦合至处理器,使得处理器可以从该存储介质读取信息和向该存储介质写入信息。或者,该存储介质也可以是处理器的一部分。举例而言,机器可读介质可以包括传输线、用数据调制的载波波形和/或与无线节点分离的其上存储有指令的计算机可读存储介质,所有这些都可由处理器通过总线接口来访问。替代地或者另外地,机器可读介质或者其任何部分可以是处理器的组成部分,例如,该情况可以是具有高速缓存和/或通用寄存器文件。举例而言,机器可读存储介质的例子可以包括RAM(随机存取存储器)、闪存、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、寄存器、磁盘、光盘、硬盘或者任何其它适当的存储介质、或者其任意组合。机器可读介质可以用计算机程序产品来体现。
软件模块可以包括单一指令或者多个指令,软件模块可以分布在几个不同的代码段上、分布在不同的程序之中、以及分布在多个存储介质之中。计算机可读介质可以包括多个软件模块。这些软件模块包括指令,当指令由诸如处理器之类的装置执行时,使得处理系统执行各种功能。软件模块可以包括传输模块和接收模块。每一个软件模块可以位于单一存储设备中,也可以分布在多个存储设备之中。举例而言,当触发事件发生时,可以将软件模块从硬盘装载到RAM中。在软件模块的执行期间,处理器可以将这些指令中的一些装载到高速缓存中,以增加访问速度。随后,可以将一个或多个高速缓存线装载到用于由处理器执行的通用寄存器文件中。当指代下面的软件模块的功能时,应当理解的是,在执行来自该软件模块的指令时,由处理器实现该功能。
此外,可以将任何连接适当地称作计算机可读介质。举例而言,如果软件是使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或者诸如红外线(IR)、无线和微波之类的无线技术,从网站、服务器或其它远程源传输的,那么所述同轴电缆、光纤电缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所述介质的定义中。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和光盘,其中磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。因此,在一些方面,计算机可读介质可以包括非临时性计算机可读介质(例如,有形介质)。此外,对于其它方面而言,计算机可读介质可以包括临时性计算机可读介质(例如,信号)。上述的组合也应当包括在计算机可读介质的保护范围之内。
因此,某些方面可以包括用于执行本文所给出的操作的计算机程序产品。例如,该计算机程序产品可以包括其上存储有指令(和/或编码有指令)的计算机可读介质,这些指令可由一个或多个处理器执行,以执行本文所描述的操作。
此外,应当理解的是,用于执行本文所述方法和技术的模块和/或其它适当单元可以通过无线节点和/或基站按需地进行下载和/或获得。例如,这种设备可以耦合至服务器,以便有助于实现用于传送执行本文所述方法的单元。或者,本文所描述的各种方法可以通过存储单元(例如,RAM、ROM、诸如压缩光盘(CD)或软盘之类的物理存储介质等等)来提供,使得无线节点和/或基站将存储单元耦接至或提供给该设备时,可以获得各种方法。此外,还可以利用向设备提供本文所描述方法和技术的任何其它适当技术。
应当理解的是,本发明并不受限于上文示出的精确配置和组件。在不脱离本发明的保护范围的基础上,可以对上文所述方法和装置的排列、操作和细节做出各种修改、改变和变化。

Claims (20)

1.一种用于执行低密度奇偶校验(LDPC)解码的方法,所述方法包括:
接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR);
更新与对应于奇偶校验矩阵(PCM)的列的所述编码比特相对应的所述LLR,所述LLR指示所述编码比特中的每个编码比特的值的概率,其中,所述PCM的每一行对应于针对所述编码比特的奇偶校验;
使用所述PCM对所述编码比特进行迭代地解码,其中,对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的;
维持整体奇偶校验位;
在迭代解码开始时,将所述整体奇偶校验位设置为真;
对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位;
维持符号翻转比特;
在所述迭代解码的所述开始时,将所述符号翻转比特设置为真;
当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假;以及
当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码。
2.根据权利要求1所述的方法,其中,对所述编码比特进行迭代解码包括:利用分层LDPC解码技术。
3.根据权利要求1所述的方法,还包括:
基于相对应的过时的后验LLR和相对应的更新的后验LLR,确定任何LLR的符号是否改变。
4.根据权利要求3所述的方法,其中,对所述PCM的所述行的处理包括:针对所述PCM的所述行,对于所述编码比特中的每个编码比特确定后验LLR,其中,对于第一组的所述编码比特,确定所述后验LLR包括:使用第一数量的过时LLR,并且其中,对于第二组的所述编码比特,确定所述后验LLR包括:使用第二数量的更新比特LLR,其中,所述第一组的所述编码比特和所述第二组的所述编码比特包括所有的所述编码比特。
5.根据权利要求1所述的方法,其中,当任何LLR的符号在所述迭代解码期间改变时将所述符号翻转比特设置为假包括:当在所述迭代期间对所述PCM的第一行处理之后,任何LLR的符号改变时,将所述符号翻转比特设置为假。
6.一种用于执行低密度奇偶校验(LDPC)解码的装置,所述装置包括:
存储器;以及
处理器,所述存储器和所述处理器被配置为:
接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR);
更新与对应于奇偶校验矩阵(PCM)的列的所述编码比特相对应的所述LLR,所述LLR指示所述编码比特中的每个编码比特的值的概率,其中,所述PCM的每一行对应于针对所述编码比特的奇偶校验;
使用所述PCM对所述编码比特进行迭代地解码,其中,对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的;
维持整体奇偶校验位;
在迭代解码开始时,将所述整体奇偶校验位设置为真;
对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位;
维持符号翻转比特;
在所述迭代解码的所述开始时,将所述符号翻转比特设置为真;
当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假;以及
当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码。
7.根据权利要求6所述的装置,其中,所述存储器和所述处理器被配置为对所述编码比特进行迭代解码包括:所述存储器和所述处理器被配置为利用分层LDPC解码技术。
8.根据权利要求6所述的装置,其中,所述存储器和所述处理器还被配置为:
基于相对应的过时的后验LLR和相对应的更新的后验LLR,确定任何LLR的符号是否改变。
9.根据权利要求8所述的装置,其中,对所述PCM的所述行的处理包括:针对所述PCM的所述行,对于所述编码比特中的每个编码比特确定后验LLR,其中,对于第一组的所述编码比特,确定所述后验LLR包括:使用第一数量的过时LLR,并且其中,对于第二组的所述编码比特,确定所述后验LLR包括:使用第二数量的更新比特LLR,其中,所述第一组的所述编码比特和所述第二组的所述编码比特包括所有的所述编码比特。
10.根据权利要求6所述的装置,其中,所述存储器和所述处理器被配置为在任何LLR的符号在所述迭代解码期间改变时将所述符号翻转比特设置为假包括:所述存储器和所述处理器被配置为当在所述迭代期间对所述PCM的第一行处理之后,任何LLR的符号改变时,将所述符号翻转比特设置为假。
11.一种在其上存储有用于执行低密度奇偶校验(LDPC)解码的方法的指令的计算机可读介质,所述方法包括:
接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR);
更新与对应于奇偶校验矩阵(PCM)的列的所述编码比特相对应的所述LLR,所述LLR指示所述编码比特中的每个编码比特的值的概率,其中所述PCM的每一行对应于针对所述编码比特的奇偶校验;
使用所述PCM对所述编码比特进行迭代地解码,其中对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的;
维持整体奇偶校验位;
在迭代解码开始时,将所述整体奇偶校验位设置为真;
对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位;
维持符号翻转比特;
在所述迭代解码的所述开始时,将所述符号翻转比特设置为真;
当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假;以及
当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码。
12.根据权利要求11所述的计算机可读介质,其中,对所述编码比特进行迭代解码包括:利用分层LDPC解码技术。
13.根据权利要求11所述的计算机可读介质,其中,所述方法还包括:
基于相对应的过时的后验LLR和相对应的更新的后验LLR,确定任何LLR的符号是否改变。
14.根据权利要求13所述的计算机可读介质,其中,对所述PCM的所述行的处理包括:针对所述PCM的所述行,对于所述编码比特中的每个编码比特确定后验LLR,其中,对于第一组的所述编码比特,确定所述后验LLR包括:使用第一数量的过时LLR,并且其中,对于第二组的所述编码比特,确定所述后验LLR包括:使用第二数量的更新比特LLR,其中,所述第一组的所述编码比特和所述第二组的所述编码比特包括所有的所述编码比特。
15.根据权利要求11所述的计算机可读介质,其中,当任何LLR的符号在所述迭代解码期间改变时将所述符号翻转比特设置为假包括:当在所述迭代期间对所述PCM的第一行处理之后,任何LLR的符号改变时,将所述符号翻转比特设置为假。
16.一种用于执行低密度奇偶校验(LDPC)解码的装置,所述装置包括:
用于接收与使用LDPC编码进行编码的比特相对应的对数似然比(LLR)的单元;
用于更新与对应于奇偶校验矩阵(PCM)的列的所述编码比特相对应的所述LLR的单元,所述LLR指示所述编码比特中的每个编码比特的值的概率,其中所述PCM的每一行对应于针对所述编码比特的奇偶校验;
用于使用所述PCM对所述编码比特进行迭代地解码的单元,其中对于每次迭代解码,针对所述PCM的每一行,所述LLR是基于对所述PCM的所述行的处理来更新的;
用于维持整体奇偶校验位的单元;
用于在迭代解码开始时,将所述整体奇偶校验位设置为真的单元;
用于对于所述PCM的所述行的每个处理,在所述迭代解码期间将针对所述LLR的奇偶校验结果添加到所述整体奇偶校验位的单元;
用于维持符号翻转比特的单元;
用于在所述迭代解码的所述开始时,将所述符号翻转比特设置为真的单元;
用于当任何LLR的符号在所述迭代解码期间改变时,将所述符号翻转比特设置为假的单元;以及
用于当在所述迭代解码结束时将所述符号翻转比特和所述整体奇偶校验位设置为真时,停止对所述编码比特的迭代解码的单元。
17.根据权利要求16所述的装置,其中,用于对所述编码比特进行迭代解码的单元包括:用于利用分层LDPC解码技术的单元。
18.根据权利要求16所述的装置,还包括:
用于基于相对应的过时的后验LLR和相对应的更新的后验LLR,确定任何LLR的符号是否改变的单元。
19.根据权利要求18所述的装置,其中,对所述PCM的所述行的处理包括:针对所述PCM的所述行,对于所述编码比特中的每个编码比特确定后验LLR,其中,对于第一组的所述编码比特,确定所述后验LLR包括:使用第一数量的过时LLR,并且其中,对于第二组的所述编码比特,确定所述后验LLR包括:使用第二数量的更新比特LLR,其中,所述第一组的所述编码比特和所述第二组的所述编码比特包括所有的所述编码比特。
20.根据权利要求16所述的装置,其中,用于当任何LLR的符号在所述迭代解码期间改变时将所述符号翻转比特设置为假的单元包括:用于当在所述迭代期间对所述PCM的第一行处理之后,任何LLR的符号改变时,将所述符号翻转比特设置为假的单元。
CN201780067870.2A 2016-11-02 2017-10-16 用于分层ldpc解码器的早期终止 Active CN109923787B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662416591P 2016-11-02 2016-11-02
US62/416,591 2016-11-02
US15/619,168 US10312937B2 (en) 2016-11-02 2017-06-09 Early termination technique for LDPC decoder architecture
US15/619,168 2017-06-09
PCT/US2017/056789 WO2018085032A1 (en) 2016-11-02 2017-10-16 Early termination for layered ldpc decoders

Publications (2)

Publication Number Publication Date
CN109923787A true CN109923787A (zh) 2019-06-21
CN109923787B CN109923787B (zh) 2023-04-04

Family

ID=62021908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780067870.2A Active CN109923787B (zh) 2016-11-02 2017-10-16 用于分层ldpc解码器的早期终止

Country Status (4)

Country Link
US (1) US10312937B2 (zh)
EP (1) EP3535850B1 (zh)
CN (1) CN109923787B (zh)
WO (1) WO2018085032A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI765476B (zh) * 2020-12-16 2022-05-21 元智大學 基於可信度傳遞演算法作為極化碼解碼之層運算停止方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
US10848182B2 (en) 2018-09-13 2020-11-24 Apple Inc. Iterative decoding with early termination criterion that permits errors in redundancy part
US11146289B2 (en) * 2019-03-29 2021-10-12 Intel Corporation Techniques to use intrinsic information for a bit-flipping error correction control decoder
EP4216443A1 (en) * 2022-01-25 2023-07-26 Nokia Solutions and Networks Oy Reduced-power ldpc decoding
US11799700B1 (en) * 2022-08-31 2023-10-24 Qualcomm Incorporated Decoding multi-level coded (MLC) systems

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
CN1825770A (zh) * 2005-02-26 2006-08-30 美国博通公司 解码ldpc编码信号的加速消息传递解码器和方法
TW200644444A (en) * 2005-02-26 2006-12-16 Broadcom Corp AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
CN101764620A (zh) * 2004-12-22 2010-06-30 Lg电子株式会社 用于使用信道代码解码的装置和方法
CN102045071A (zh) * 2009-10-12 2011-05-04 马维尔国际贸易有限公司 改善用于低功率应用的ldpc解码器中的功耗
TW201123745A (en) * 2009-12-31 2011-07-01 Nat Univ Tsing Hua Low density parity check codec and method of the same
US20110283158A1 (en) * 2010-05-11 2011-11-17 Samsung Electronics Co., Ltd. Apparatus and method for layered decoding in a communication system using low-density parity-check codes
US20140223255A1 (en) * 2012-12-18 2014-08-07 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US20150214980A1 (en) * 2014-01-27 2015-07-30 Tensorcom, Inc. Method and Apparatus of a Fully-Pipelined Layered LDPC Decoder
CN104937555A (zh) * 2012-12-07 2015-09-23 美光科技公司 用于分层迭代错误校正的停止准则

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814402B2 (en) * 2004-05-14 2010-10-12 The Governors Of The University Of Alberta Method and apparatus for digit-serial communications for iterative digital processing algorithms
US20090113256A1 (en) 2007-10-24 2009-04-30 Nokia Corporation Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding
US8219878B1 (en) * 2007-12-03 2012-07-10 Marvell International Ltd. Post-processing decoder of LDPC codes for improved error floors
US8286048B1 (en) 2008-12-30 2012-10-09 Qualcomm Atheros, Inc. Dynamically scaled LLR for an LDPC decoder
US8924812B2 (en) 2010-04-08 2014-12-30 Marvell World Trade Ltd. Non-binary LDPC code decoder
TWI380598B (en) 2010-05-18 2012-12-21 Univ Nat Taiwan Programmable ldpc code decoder and decoding method thereof
US8677227B2 (en) * 2010-08-25 2014-03-18 Royal Institution for the Advancement of Learning / McGill University Method and system for decoding
US10103751B2 (en) 2011-02-28 2018-10-16 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
US8645810B2 (en) * 2011-07-31 2014-02-04 Sandisk Technologies Inc. Fast detection of convergence or divergence in iterative decoding
US8543891B2 (en) * 2011-09-21 2013-09-24 Apple Inc. Power-optimized decoding of linear codes
US20150207523A1 (en) 2014-01-21 2015-07-23 Samsung Electronics Co., Ltd. Low-power dual quantization-domain decoding for ldpc codes

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1713530A (zh) * 2004-06-22 2005-12-28 印芬龙科技股份有限公司 解码低密度奇偶校验(ldpc)码字的ldpc解码器
CN101764620A (zh) * 2004-12-22 2010-06-30 Lg电子株式会社 用于使用信道代码解码的装置和方法
CN1825770A (zh) * 2005-02-26 2006-08-30 美国博通公司 解码ldpc编码信号的加速消息传递解码器和方法
TW200644444A (en) * 2005-02-26 2006-12-16 Broadcom Corp AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
CN102045071A (zh) * 2009-10-12 2011-05-04 马维尔国际贸易有限公司 改善用于低功率应用的ldpc解码器中的功耗
TW201123745A (en) * 2009-12-31 2011-07-01 Nat Univ Tsing Hua Low density parity check codec and method of the same
US20110283158A1 (en) * 2010-05-11 2011-11-17 Samsung Electronics Co., Ltd. Apparatus and method for layered decoding in a communication system using low-density parity-check codes
CN104937555A (zh) * 2012-12-07 2015-09-23 美光科技公司 用于分层迭代错误校正的停止准则
US20140223255A1 (en) * 2012-12-18 2014-08-07 Western Digital Technologies, Inc. Decoder having early decoding termination detection
US20150214980A1 (en) * 2014-01-27 2015-07-30 Tensorcom, Inc. Method and Apparatus of a Fully-Pipelined Layered LDPC Decoder

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIANGPENG LI等: "Memory efficient layered decoder design with early termination for LDPC codes", 《2011 IEEE INTERNATIONAL SYMPOSIUM OF CIRCUITS AND SYSTEMS (ISCAS)》 *
刘晓明等: "一类低密度奇偶校验码的设计", 《重庆大学学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI765476B (zh) * 2020-12-16 2022-05-21 元智大學 基於可信度傳遞演算法作為極化碼解碼之層運算停止方法

Also Published As

Publication number Publication date
EP3535850A1 (en) 2019-09-11
EP3535850B1 (en) 2023-12-27
WO2018085032A1 (en) 2018-05-11
US20180123614A1 (en) 2018-05-03
US10312937B2 (en) 2019-06-04
CN109923787B (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
CN109923787A (zh) 用于分层ldpc解码器的早期终止
JP6828190B2 (ja) レート適合qc−ldpcコードのための行直交性をもつパリティチェック行列を構成すること
TWI700897B (zh) 對於結構化低密度同位檢查碼(ldpc)的刪餘
CN109964411A (zh) 对ldpc码的有效的列表解码
CN109804567A (zh) 针对ldpc码的改进的最小和解码器
CN110351013A (zh) 与harq组合的经提升的低密度奇偶校验(ldpc)码
KR102684139B1 (ko) 생성기 행렬의 삼각 인수분해를 사용한 오류 정정 코딩 방법 및 장치
CN109906559A (zh) 流水线高吞吐量分层ldpc解码器架构
CN109075800A (zh) 用于高效地生成多个提升式低密度奇偶校验(ldpc)码的方法和装置
CN109891754A (zh) 用于ldpc解码器架构的非线性对数似然比量化技术
CN107733442A (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