CN109891754A - 用于ldpc解码器架构的非线性对数似然比量化技术 - Google Patents

用于ldpc解码器架构的非线性对数似然比量化技术 Download PDF

Info

Publication number
CN109891754A
CN109891754A CN201780067755.5A CN201780067755A CN109891754A CN 109891754 A CN109891754 A CN 109891754A CN 201780067755 A CN201780067755 A CN 201780067755A CN 109891754 A CN109891754 A CN 109891754A
Authority
CN
China
Prior art keywords
bit
value
log
likelihood ratio
fixed quantity
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780067755.5A
Other languages
English (en)
Inventor
G·瓦拉特卡尔
V·隆克
T·J·理查森
Y·曹
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 CN109891754A publication Critical patent/CN109891754A/zh
Pending legal-status Critical Current

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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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
    • 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/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/6575Implementations based on combinatorial logic, e.g. Boolean circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6591Truncation, saturation and clamping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/6594Non-linear quantization
    • 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
    • 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

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)
  • Nonlinear Science (AREA)
  • Artificial Intelligence (AREA)
  • Error Detection And Correction (AREA)

Abstract

概括而言,本公开内容的某些方面涉及用于对低密度奇偶校验(LDPC)码进行解码的方法和装置,以及更具体地,本公开内容的某些方面涉及用于低密度奇偶校验(LDPC)解码器架构的非线性对数似然比量化技术。本公开内容的各方面涉及如下的技术:该技术使能够利用固定数量的比特来在度量储存中存储后验LLR,所述固定数量的比特少于在用于执行LDPC解码的数据路径处理器中表示后验LLR的固定数量的比特。具体地,某些方面涉及用于将用于表示由数据路径处理器使用的后验LLR的比特量化至数量减少的比特以在度量储存中进行储存的非线性量化技术(使用查找表LUT或诸如逻辑门的硬件)。

Description

用于LDPC解码器架构的非线性对数似然比量化技术
相关申请的交叉引用
本申请要求享受于2017年6月9日递交的美国申请No.15/619,232的优先权,该申请要求享受于2016年11月2日递交的美国临时专利No.62/416,589的优先权和权益。上述两个申请的内容通过引用的方式整体并入本文中。
技术领域
概括而言,本公开内容的某些方面涉及用于无线通信的方法和装置,以及更具体地,本公开内容的某些方面涉及用于低密度奇偶校验(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)解码的方法。概括而言,一种示例性方法包括:接收与使用LDPC编码进行编码的比特相对应的对数似然比。所述方法还包括:针对经编码的比特中的每个比特更新所述对数似然比。所述对数似然比指示所述经编码的比特中的每个比特的值的概率。所述方法还包括:针对每个对数似然比,使用固定数量的比特来存储所述对数似然比。针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值。针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值。所述方法还包括:利用所述对数似然比来对经编码的比特进行解码。
本公开内容的某些方面提出了一种用于执行低密度奇偶校验(LDPC)解码的装置。所述装置包括处理器和存储器。所述处理器和所述存储器被配置为:接收与使用LDPC编码进行编码的比特相对应的对数似然比。所述处理器和所述存储器还被配置为:针对经编码的比特中的每个比特更新所述对数似然比,所述对数似然比指示所述经编码的比特中的每个比特的值的概率。所述处理器和所述存储器还被配置为:针对每个对数似然比,使用固定数量的比特来存储所述对数似然比。针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值。针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值。所述处理器和所述存储器还被配置为:利用所述对数似然比来对经编码的比特进行解码。
本公开内容的某些方面提出了一种用于执行低密度奇偶校验(LDPC)解码的装置。所述装置包括:用于接收与使用LDPC编码进行编码的比特相对应的对数似然比的单元。所述装置还包括:用于针对经编码的比特中的每个比特更新所述对数似然比的单元。所述对数似然比指示所述经编码的比特中的每个比特的值的概率。所述装置还包括:用于针对每个对数似然比,使用固定数量的比特来存储所述对数似然比的单元。针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值。针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值。所述装置还包括:用于利用所述对数似然比来对经编码的比特进行解码的单元。
本公开内容的某些方面提出了一种具有存储在其上的用于执行低密度奇偶校验(LDPC)解码的指令的计算机可读介质。概括而言,一种示例性方法包括:接收与使用LDPC编码进行编码的比特相对应的对数似然比。所述方法还包括:针对经编码的比特中的每个比特更新所述对数似然比。所述对数似然比指示所述经编码的比特中的每个比特的值的概率。所述方法还包括:针对每个对数似然比,使用固定数量的比特来存储所述对数似然比。针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值。针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值。所述方法还包括:利用所述对数似然比来对经编码的比特进行解码。
在结合附图回顾了本公开内容的特定示例性方面的以下描述之后,本公开内容的其它方面和特征对于本领域的普通技术人员来说将变得显而易见。虽然下文可能关于某些方面和附图论述了本公开内容的特征,但是本公开内容的所有方面可以包括本文所论述的有利特征中的一个或多个特征。换句话说,虽然可能将一个或多个方面论述成具有某些有利特征,但是也可以根据本文所论述的本公开内容的各个方面,使用这样的特征中的一个或多个特征。以类似的方式,虽然下文可能将示例性方面论述成设备、系统或者方法方面,但是应当理解的是,这样的示例性方面可以在各种设备、系统和方法中实现。
附图说明
为了能够详细地理解本公开内容的上述特征,可以通过参照各方面,来得到(上文所简要概括的)更加具体的描述,这些方面中的一些方面在附图中示出。然而,附图仅示出了本公开内容的某些典型的方面并且因此不被认为是对其范围的限制,因为该描述可以允许其它等同有效的方面。
图1示出了根据本公开内容的某些方面的示例性多址无线通信系统。
图2示出了根据本公开内容的某些方面的基站和无线节点的方块图。
图3示出了根据本公开内容的某些方面的可以在无线设备中利用的各种组件。
图4-图4A示出了根据本公开内容的某些方面的示例性低密度奇偶校验(LDPC)码的图形和矩阵表示。
图5用图形示出了根据本公开内容的某些方面的对图4A的LDPC码的提升。
图6是用于准循环802.11LDPC码的矩阵的整数表示。
图7是示出了根据本公开内容的某些方面的打孔编码器的简化方块图。
图8是示出了根据本公开内容的某些方面的解码器的简化方块图。
图9示出了根据本公开内容的某些方面的通用分层LDPC解码器的高级方块图。
图10示出了根据本公开内容的某些方面的用于以下操作的过程的示例:计算/更新在奇偶校验矩阵中的比特对数似然比(LLR)和后验LLR。
图11示出了根据本公开内容的某些方面的对后验LLR的非线性量化的示例。
图12是示出了根据本公开内容的某些方面的用于对低密度奇偶校验(LDPC)码进行解码的示例性操作的流程图。
为了有助于理解,在可能的情况下已经使用相同的附图标记来指定对于附图是共同的相同元素。预期的是,在一个方面中所公开的元素可以有益地用在其它方面上,而不需要具体的记载。
具体实施方式
本公开内容的各方面提供用于对新无线电(NR)(新无线电接入技术)进行编码的装置、方法、处理系统和计算机程序产品。新无线电(NR)可以指代被配置为根据新空中接口或固定传输层来操作的无线电。NR可以包括以宽带宽(例如,80MHz以及更宽)为目标的增强型移动宽带(eMBB)、以高载波频率(例如,60GHz)为目标的毫米波(mmW)、以非向后兼容的MTC技术为目标的大规模MTC(mMTC)、以及以超可靠低时延通信(URLLC)为目标的关键任务。对于这些一般的主题而言,考虑了不同的技术,诸如编码、低密度奇偶校验(LDPC)和极化。NR小区可以指代根据新空中接口或固定传输层来操作的小区。NR节点B(例如,5G节点B)可以与一个或多个发送接收点(TRP)相对应。
概括而言,本公开内容的某些方面涉及用于对低密度奇偶校验(LDPC)码进行解码的方法和装置,以及更具体地,本公开内容的某些方面涉及用于LDPC解码器架构的非线性对数似然比(LLR)量化技术。例如,本公开内容的各方面涉及如下的技术:该技术使能够利用用于表示后验LLR的固定数量的比特来存储该后验LLR,该固定数量的比特少于在利用该后验LLR执行LDPC解码的处理器中表示该后验LLR的固定数量的比特。具体地,某些方面涉及用于将用于表示由处理器使用的后验LLR的比特量化至数量减少的比特以进行存储的技术。通过减少用于存储后验LLR的比特数量,减少了用于实现LDPC解码器的成本(例如,硅面积)和材料清单(BOM),这是因为需要更少的存储器来存储后验LLR。例如,将用于存储后验LLR的比特数量从7比特减少到6比特可以导致针对储存存储器所需要的硅面积减少大约15%,其可以是为了实现LDPC解码器所需要的总体硅面积减少5%。用于存储后验LLR的比特数量的减少还节省在LDPC解码器处的功率,这是因为需要更少的比特来从存储器读取和写入,其中从存储器读取和写入消耗功率。假设硅面积和功率直接相关,则所描述的示例的功率节省也可以大约是5%。
下文参考附图更充分描述了本公开内容的各个方面。然而,本公开内容可以以许多不同的形式来体现,以及不应被解释为限于遍及本公开内容所提出的任何特定的结构或功能。更确切地说,提供了这些方面使得本公开内容将是透彻的和完整的,以及这些方面将向本领域技术人员充分传达本公开内容的范围。基于本文的教导,本领域技术人员应当了解的是,本公开内容的范围旨在涵盖本文所公开的本公开内容的任何方面,无论是独立于本公开内容的任何其它方面来实现还是与本公开内容的任何其它方面结合地来实现。例如,使用本文所阐述的任何数量的方面,可以实现一种装置或者可以实践一种方法。此外,本公开内容的范围旨在涵盖使用除了本文所阐述的本公开内容的各个方面或不同于本文所阐述的本公开内容的各个方面的其它结构、功能、或者结构和功能来实践的这样的装置或方法。应当理解的是,本文所公开的本公开内容的任何方面可以由权利要求的一个或多个元素来体现。本文使用“示例性”一词来意指“用作示例、实例或说明”。本文中被描述为“示例性”的任何方面未必被解释为比其它方面优选或具有优势。
尽管本文描述了特定方面,但是这些方面的许多变形和置换落在本公开内容的范围之内。尽管提到了优选方面的一些益处和优点,但是本公开内容的范围并非旨在限于特定益处、用途或目标。更确切地说,本公开内容的各方面旨在广泛地适用于不同的无线技术、系统配置、网络和传输协议,其中的一些通过举例的方式在附图和以下对优选方面的描述中进行说明。该详细描述和附图仅说明本公开内容而非对其进行限制,本公开内容的范围由所附的权利要求及其等效物来限定。
本文所描述的技术可以被用于各种无线通信网络,诸如长期演进(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、闪速-等的无线电技术。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、无线网络控制器(“RNC”)、演进型节点B(eNB)、节点B(例如,5G节点B)、发送接收点(TRP)、基站控制器(“BSC”)、基站收发机(“BTS”)、基站(“BS”)、收发机功能(“TF”)、无线电路由器、无线电收发机、基本服务集(“BSS”)、扩展服务集(“ESS”)、无线电基站(“RBS”)或某种其它术语。
接入终端(“AT”)可以包括、被实现为、或者被称为接入终端、订户站、订户单元、移动站、远程站、远程终端、用户终端、用户代理、用户装置、用户设备(UE)、用户站、无线节点或某种其它术语。在一些实现方式中,接入终端可以包括蜂窝电话、智能电话、无绳电话、会话发起协议(“SIP”)电话、无线本地环路(“WLL”)站、个人数字助理(“PDA”)、平板设备、上网本、智能本、超级本、具有无线连接能力的手持设备、站(“STA”)或某种连接到无线调制解调器的其它适当的处理设备。因此,本文所教导的一个或多个方面可以被并入电话(例如,蜂窝电话或智能电话)、计算机(例如,桌上型计算机)、便携式通信设备、便携式计算设备(例如,膝上型计算机、个人数据助理、平板设备、上网本、智能本、超级本)、医疗设备或装置、生物计量传感器/设备、娱乐设备(例如,音乐或视频设备、或卫星无线电单元)、车辆的组件或传感器、智能仪表/传感器、工业制造设备、全球定位系统设备、或被配置为经由无线或有线介质进行通信的任何其它适当的设备。在一些方面中,节点是无线节点。无线节点可以经由有线或无线通信链路来提供例如针对网络(例如,诸如互联网或蜂窝网络的广域网)的连接或到网络的连接。
虽然本文可能使用通常与3G和/或4G无线技术相关联的术语来描述各方面,但是本公开内容的各方面可以应用于基于其它代的通信系统(诸如5G及以后的技术(包括NR技术))。
示例性无线通信系统
图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可以与节点B102的一个或多个其它天线相通信,其中这些天线在前向链路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持续时间内跨越具有75kHz的子载波带宽的12个子载波。每个无线电帧可以包括具有10ms的长度的50个子帧。因此,每个子帧可以具有0.2ms的长度。每个子帧可以指示用于数据传输的链路方向(即,下行链路(DL)或上行链路(UL)),以及可以动态地切换用于每个子帧的链路方向。每个子帧可以包括DL/UL数据以及DL/UL控制数据。可以支持波束成形并且可以动态地配置波束方向。还可以支持具有预编码的MIMO传输。在DL中的MIMO配置可以支持多至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信道上的传输的经调制的信号。然后,分别从NT个天线224a至224t发送来自发射机222a至222t的NT个经调制的信号。
在接收机系统250处,可以由NR个(例如,其中NR是正整数)天线252a至252r来接收所发送的经调制的信号,以及可以将从每个天线252所接收的信号提供给各自的接收机(RCVR)254a至254r。每个接收机254可以调节(例如,滤波、放大以及下变频)各自的所接收的信号,对经调节的信号进行数字化以提供采样,以及进一步处理采样以提供各自的“接收到的”符号流。
然后,接收(RX)数据处理器260从NR个接收机254接收NR个符号流,以及基于特定的接收机处理技术来处理该NR个接收到的符号流,以提供NT个“检测到的”符号流。然后,RX数据处理器260对每个检测到的符号流进行解调、解交织和解码,以恢复出用于数据流的业务数据。RX数据处理器260进行的处理可以与在发射机系统210处的TX MIMO处理器220和TX数据处理器214所执行的处理互补。
处理器270周期性地确定要使用哪个预编码矩阵。处理器270规划(formulate)包括矩阵索引部分和秩值部分的反向链路消息。存储器272可以存储用于接收机系统250的数据和软件/固件。反向链路消息可以包括关于通信链路和/或接收到的数据流的各种类型的信息。然后,反向链路消息由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)码进行解码的过程。在一方面中,处理器270、RX数据处理器260和TX数据处理器238中的至少一项可以被配置为:执行在存储器272中存储的用于执行用于对包括本文所描述的非线性对数似然比量化技术的低密度奇偶校验(LDPC)码进行解码的过程的算法。在另一方面中,处理器230、TX MIMO处理器220、TX数据处理器214和RX数据处理器242中的至少一项可以被配置为:执行在存储器232中存储的用于执行用于对包括本文所描述的非线性对数似然比量化技术的低密度奇偶校验(LDPC)码进行解码的过程的算法。
图3示出了可以在无线设备302中利用的各个组件,无线设备302可以在图1中示出的无线通信系统100内采用。无线设备302是可以被配置为实现本文所描述的各种方法的设备的示例。无线设备302可以是节点B102(例如,TRP)或无线节点(例如,无线节点116、122、130或IoT设备136或142)中的任何无线节点。例如,无线设备302可以被配置为执行在图12中所描述的操作1200以及本文所描述的其它操作。
无线设备302可以包括对无线设备302的操作进行控制的处理器304。处理器304还可以被称为中央处理单元(CPU)。可以包括只读存储器(ROM)和随机存取存储器(RAM)二者的存储器306向处理器304提供指令和数据。存储器306的一部分还可以包括非易失性随机存取存储器(NVRAM)。处理器304通常基于在存储器306内存储的程序指令来执行逻辑和算术运算。在存储器306中的指令可以是可执行以实现本文所描述的方法,例如,以允许UE对包括非线性对数似然比量化技术的低密度奇偶校验(LDPC)码进行解码。处理器304的一些非限制性示例可以包括Snapdragon处理器、专用集成电路(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可以(例如,通过实现在图12中所示出的操作1200)执行根据本文所给出的某些方面的解码。
无线设备302的各个组件可以通过总线系统326耦合在一起,总线系统326除数据总线之外还可以包括电源总线、控制信号总线以及状态信号总线。根据下文所论述的本公开内容的各方面,处理器304可以被配置为:访问在存储器306中所存储的指令,以执行对包括非线性对数似然比量化技术的低密度奇偶校验(LDPC)码的解码。
示例性纠错编码
许多通信系统使用纠错码。具体地,纠错码通过将冗余度引入到数据流中来补偿在这些系统中的信息传送的固有不可靠性。低密度奇偶校验(LDPC)码是使用迭代编码系统的特定类型的纠错码。具体地,加拉格尔(Gallager)码是常规LDPC码的早期示例。LDPC码是线性块码,其中其奇偶校验矩阵H的元素中的大多数元素是“0”。
可以通过二分图(通常被称为“Tanner图”)来表示LDPC码,其中可变节点集合与码字的比特(例如,信息比特或系统化比特)相对应,以及校验节点集合与定义码的奇偶校验约束集合相对应。在图中的边缘将可变节点连接到校验节点。因此,图中的节点被分离成两个不同的集合,以及其中边缘将两种不同类型(即可变和校验)的节点连接。
通过将二分基图(G)(其也可以被称为原模图)复制Z次来创建经提升的图(liftedgraph)。如果可变节点和校验节点在图中通过“边缘”(即,连接可变节点和校验节点的线)连接,则可以认为它们是“邻居”。另外,对于二分基图(G)的每个边缘(e),向边缘(e)的Z个副本应用排列or置换,以将G的Z个副本互连。当且仅当针对每个校验节点与所有相邻可变节点相关联的比特之和对二取模为零(即,这些比特包括偶数个1)时,具有与可变节点序列的一对一关联的比特序列才是有效码字。如果所使用的排列是循环的,则所产生的LDPC码可以是准循环(QC)的。
图4-图4A示出了根据本公开内容的某些方面的示例性LDPC码的图形和矩阵表示。例如,图4示出了用于表示示例性LDPC码的二分图400。二分图400包括被连接到4个校验节点420(由正方形表示)的5个可变节点410(由圆形表示)的集合。在图400中的边缘将可变节点410连接到校验节点420(由将可变节点410连接到校验节点420的线表示)。该图包括|V|=5个可变节点和|C|=4个校验节点,它们通过|E|=12个边缘连接。
可以通过简化的相邻矩阵(其也可以被称为奇偶校验矩阵)来表示二分图。图4A示出了二分图400的矩阵表示400A。矩阵表示400A包括奇偶校验矩阵H和码字向量x,其中x1-x5表示码字x的比特。奇偶校验矩阵H用于确定接收到的信号是否被正常地解码。奇偶校验矩阵H具有C行(对应于j个校验节点)和V列(对应于i个可变节点(即,经解调的符号)),其中行表示方程,而列表示码字的比特。在图4A中,矩阵H具有分别对应于4个校验节点和5个可变节点的4行和5列。如果第j校验节点通过边缘连接到第i可变节点,即,这两个节点是邻居,则在奇偶校验矩阵H的第i列中并且在第j行中存在1。即,第i行和第j列的交叉点在边缘连接对应顶点的情况下包含“1”,而在不存在边缘的情况下包含“0”。当且仅当Hx=0时(例如,如果针对每个约束节点,与该约束节点相邻(经由其与可变节点的关联)的比特之和对二取模为0,即,它们包含偶数个一),码字向量x表示有效码字。因此,如果码字被正确地接收,则Hx=0(模2)。当经编码的接收信号与奇偶校验矩阵H的乘积变为“0”时,这表示没有发生错误。奇偶校验矩阵是C行乘V列的二进制矩阵。行表示方程,而列表示在码字中的数字。
经解调的符号或可变节点的数量是LDPC码长度。在行(列)中的非零元素的数量被定义为行(列)权重dc(dv)。
节点的度是指连接到该节点的边缘的数量。在图4A中所示出的H矩阵中示出了这一特征,其中连接到可变节点410的边缘的数量等于在对应的列中的1的数量并且被称为可变节点度d(v)。类似地,与校验节点420连接的边缘的数量等于在对应的行中的一的数量并且被称为校验节点度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。三个副本产生自的原始图在本文中被称为基图。为了获得具有不同大小的推导图,我们可以向基图应用“复制和排列”操作。
可以通过将在基奇偶校验矩阵中的每个元素(entry)替换成ZxZ阶矩阵,来从基图的奇偶校验矩阵中构建经提升的图的对应的奇偶校验矩阵。0元素(不具有基边缘的元素)被替换成0矩阵,以及1元素(指示基边缘)被替换成ZxZ阶排列矩阵。在循环提升的情况下,排列是循环排列。
循环经提升的LDPC码还可以被解释成在二进制多项式模环xZ+1上的码。在这种解释中,可以将二进制多项式(x)=b0+b1 x+b2 x2+…+bZ-1 xZ-1关联到基图中的每个可变节点。二进制向量(b0,b1,b2,…,bZ-1)与关联到在经提升的图中的Z个对应的可变节点(即,单个基可变节点的Z个副本)的比特相对应。通过将对应的二进制多项式乘以xk来实现对二进制向量的k阶循环排列,其中上述乘法对xZ+1取模。在基图中的奇偶校验的度可以被解释成关于相邻二进制多项式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日出版的名为“Modern Coding Theory”的书中找到对经提升的LDPC码的更详细的论述。对于多边缘LDPC码,多个边缘等价类是可能的。虽然在标准的不规则LDPC码系综定义中,在图中的节点(可变和约束两者)是由其度(即,其连接到的边缘的数量)来指定的,但是在多边缘类型设置中,边缘度是向量,其独立地指定来自每个边缘等价类(类型)的连接到节点的边缘的数量。多边缘类型系综包括有限数量的边缘类型。约束节点的度类型是(非负)整数的向量;该向量的第i元素记录连接到这样的节点的第i类型的socket数量。该向量可以被称为边缘度。可变节点的度类型具有两部分,但是其可以被视作(非负)整数的向量。第一部分与接收分布有关并且将被称为接收度,以及第二部分指定边缘度。边缘度与用于约束节点的边缘度起相同的作用。将边缘类型化,这是因为它们将相同类型的socket配对。关于socket必须与相同类型的socket配对的这一约束表征多边缘类型概念。在多边缘类型描述中,不同的节点类型可以具有不同的接收分布(例如,相关联的比特可以经历不同的信道)。
图7示出了可以被配置为提供用于无线传输的经编码的消息的射频(RF)调制解调器704的一部分。在一个示例中,在基站(例如,节点B 102和/或发射机系统210)(或在反向路径上的无线节点)中的编码器706接收用于传输的消息702。消息702可以包含被引导去往接收设备的数据和/或经编码的语音或其它内容。编码器706使用通常基于由基站或另一网络实体定义的配置而选择的适当的调制和编码方案(MCS)来对消息进行编码。在一些情况下,编码器706可以例如使用上述技术(例如,通过使用LDPC码)来对消息进行编码。然后,可以将由编码器706所产生的经编码的比特流708提供给映射器710,映射器710生成Tx符号712的序列,Tx符号712的序列由Tx链714调制、放大并且以其它方式处理,以产生用于通过天线718进行传输的RF信号716。
图8示出了可以被配置为接收和解码无线地发送的包括经编码的消息(例如,使用如上所述的LDPC码进行编码的消息)的信号的RF调制解调器814的一部分。在各个示例中,接收信号的调制解调器814可以存在于无线节点(例如,无线节点116、接收机系统250)处、存在于基站(例如,节点B 102、发射机系统210)处、或者存在于用于执行所描述的功能的任何其它适当的装置或单元(例如,无线设备302)处。天线802接收用于无线节点(例如,无线节点116、118和/或接收机系统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进行解码,以确定包含从基站(例如,节点B 102和/或发射机系统210)发送的数据和/或经编码的语音或其它内容的消息702。解码器可以根据下文所提出的本公开内容的各方面(例如,通过实现在图12中所示出的操作1200)来对比特流810进行解码。
在LDPC解码器架构中的用于LLR的示例性非线性量化
低密度奇偶校验(LDPC)是在诸如无线通信、储存和以太网的若干应用中使用的强大的纠错编码技术。LDPC是基于在二分图上设计码的,例如,如在图4中所示出的。LDPC解码通常是使用上述置信传播技术来实现的,其中沿着图的边缘传递消息,以及在图中的节点计算其边缘分布,其中可以根据该边缘分布来作出关于源符号的决策。准循环(QC)码是一类流行的结构化LDPC码,其中基LDPC奇偶校验矩阵(PCM)得到“提升”。例如,“提升”需要将每个基PCM元素替换成ZxZ阶子矩阵。针对“0”基PCM元素,ZxZ阶子矩阵可以是全零矩阵,或者针对“1”基PCM元素,ZxZ阶子矩阵可以是经循环旋转的单位矩阵。QC LDPC码通过使诸如在图8中所示出的解码器的解码器能够在切换网络以交换消息的情况下将处理重复Z次,来在硬件中实现并行处理。
LDPC解码器实现消息传递架构以实现迭代置信传播(BP)算法。log BP算法可以被记为:
Rmj=-smjΨ(Amj) (方程3)
L(qmj)=L(qj)-Rmj (方程5)
其中L(c)是对数似然比,其被定义为m是奇偶校验节点或PCM行索引,j是比特节点或PCM列索引,N(m)是连接到奇偶校验节点m的比特的所有比特索引的集合,以及M(j)是连接到比特j的所有奇偶校验节点的所有奇偶校验节点索引的集合。可以使用通过对通信信道的观察(诸如使用其中rj是衰落增益,以及σ2是信道方差)确定的针对码字的每个比特的LLR(也被称为比特LLR)来对L(qmj)进行初始化。
根据各方面,方程1通过变换Ψ来计算针对比特j的奇偶校验度量Amj,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 L(qj)。在将比特LLR总和L(qmj)传递回奇偶校验节点m以用于在下一次迭代中计算经更新的非本征LLR Rmj之前,方程5从比特LLR总和L(qj)中减去针对奇偶校验节点m的非本征LLR Rmj。对于“洪泛式(flooding)”LDPC解码器迭代,针对所有奇偶校验节点来执行步骤1-3(即,计算方程1-3),在步骤1-3之后,所有比特(可变)节点执行步骤4(即,计算方程4)以更新比特LLR L(qj)。
例如,如本文所提出的分层LDPC解码器执行与以上方程1-5类似的步骤,但是进行一些细微的修改。例如,分层log BP算法可以被记为:
L(qmj)=L(qj)-Rmj (方程6)
Rmj=-smjΨ(Amj) (方程9)
L(qj)=L(qmj)+Rmj (方程10)
在以上分层解码步骤(即,方程6-10)中,利用信道比特来对比特LLR L(qj)进行初始化。根据某些方面,在分层解码(方程6-10)与洪泛式解码(方程1-5)之间的关键区别在于:在分层解码迭代中,当在方程9中计算针对特定奇偶校验节点(PCM行)的后验LLR Rmj时,在方程6-9中计算下一行的后验LLR Rmj之前,立即在方程10中利用新的后验LLRRmj来更新比特LLR L(qj)。这与洪泛式解码器相反,在洪泛式解码器中,在方程4中利用后验LLR Rmj来更新所有比特LLR L(qj)之前,计算与PCM行相对应的所有后验LLR Rmj(方程1-3循环遍历所有m和j)。因此,分层解码允许具有经更新的后验LLR Rmj的形式的信息通过与洪泛式解码器相比传递地更快的置信传播消息进行传播,这导致更快的解码器收敛。
图9示出了通用分层LDPC解码器900(其可以是在图8中所示出的解码器的示例)的高级方块图。如所示出的,分层LDPC解码器包括用于存储比特LLR(例如,L(qj))的LLR储存存储器902(即,针对码字的每比特为一比特LLR),可以通过信道比特LLR(例如,)来对比特LLR进行初始化,继而通过后验LLR(例如,Rmj)来更新信道比特LLR。分层LDPC解码器900还包括数据路径处理器904,数据路径处理器904可以并行地操作以计算后验LLR并且更新在LLR储存存储器902中存储的比特LLR。另外,分层LDPC解码器900包括度量储存存储器906和排列网络908,其中度量储存存储器906用于存储由数据路径处理器904计算的后验LLR,排列网络908用于在存储器902、906与数据路径处理器904之间路由LLR(例如,比特LLR和后验LLR)。
如上所述,分层解码沿着在PCM中的行遍历PCM列(比特LLR)来计算针对该行的后验LLR。在计算了针对该行的后验LLR之后,在将每个比特LLR馈送到对针对下一行的后验LLR的计算时立即利用每个比特LLR的对应的后验LLR来对其进行更新。如果经更新的比特LLR的列索引连接到该下一行,则将经更新的比特LLR传递到针对该下一行的后验LLR计算。如果不存在连接,则可以将经更新的比特LLR存储到LLR储存存储器902中。
图10示出了用于计算/更新在奇偶校验矩阵(PCM)中的比特LLR和后验LLR的这一过程的示例。具体地,PCM的每个单元示出了经计算的后验LLR。例如,对于在图10中所示出的PCM,一旦计算出针对行3的后验LLR,就可以更新(例如,使用方程10)针对列5的比特LLR,以及在针对行4的后验LLR计算中使用该比特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的比特LLR。
在一些方面中,如所论述的,数据路径处理器904在执行LDPC解码时计算后验LLR,以及进一步利用后验LLR来更新比特LLR。此外,如所论述的,数据路径处理器904可以按需要在度量储存906中读取和写入后验LLR。概括而言,本公开内容的某些方面涉及用于非线性后验LLR量化技术的方法和装置。例如,本公开内容的各方面涉及如下的技术:该技术使得能够利用固定数量的比特来在度量储存906中存储后验LLR,该固定数量的比特少于在执行LDPC解码的数据路径处理器904中用于表示后验LLR的固定数量的比特。具体地,某些方面涉及用于将用于表示由数据路径处理器904使用的后验LLR的比特量化至数量减少的比特以在度量储存906中进行储存的非线性量化技术。应当注意的是,虽然在某些方面中,这样的量化技术是关于分层LDPC解码器来论述的,但是类似技术也可以应用于其它适当的LDPC解码器。
在一个示例中,可以在数据路径处理器904中通过固定数量的比特(例如,针对5比特信道比特LLR为7比特)来表示后验LLR,以确保对码字的高效解码。减少在数据路径处理器904中用于表示后验LLR的比特数量(诸如通过将比特数量减少到6比特)可能使解码器性能降级,这是因为使用通过较少的比特表示的后验LLR的计算可能更快地饱和。因此,减少在数据路径处理器904中用于针对后验LLR的计算的比特数量可能不是可行或期望的。
然而,可能仍然期望减少在度量储存906中用于存储后验LLR的比特数量,即使在数据路径处理器904中用于表示后验LLR的比特数量没有改变。因此,本文所论述的某些方面涉及将用于表示由数据路径处理器904使用的后验LLR的比特量化至数量减少的比特以在度量储存906中进行储存。
在某些方面中,在度量储存906中存储的经量化的用于表示后验LLR的值比特可以具有某一范围的值。例如,6比特可以具有范围从二进制的000000到111111的值。如果没有被量化,则在度量储存906中的6比特将相应地表示针对后验LLR的值+31到-32(例如,其中这些比特使用任何适当的表示(诸如1的补码、2的补码、excess k等)来表示带符号的整数)。因此,如果数据路径处理器904直接利用6比特,则所存储的后验LLR值的范围将仅从+31到-32,这对于有效的LDPC解码而言可能不是充足的范围。
相应地,在某些方面中,在度量储存906中存储的比特可以表示对由数据路径处理器904使用的后验LLR的值的量化。通常,经量化的值可以表示任何其它值。例如,比特值000可以被映射到使用任何其它数量的比特的任何其它值(例如,1111111)。在一些方面中,经量化的值可以用于表示较大范围的值,尽管在值之间具有较低的粒度。例如,在一些方面中,6比特可以表示从+63到-64的值(对应于在数据路径处理器904中的7比特后验LLR),但是可以仅表示这样的值中的26个值,而不是表示所有27个这样的值。因此,在某些方面中,通过执行量化,可以使用少于实际地表示后验LLR值(即,未经量化)的数量的比特来表示后验LLR值的范围。
在一些方面中,所有经量化的值可以具有与其表示的值的直接线性关系,这可以被称为线性量化。例如,在线性量化中,后验LLR的实际值可以等于经量化的值的线性倍数。例如,如果线性倍数是2,则从度量储存906中存储和读取的经量化的值在被输入到数据路径处理器904之前将乘以2(例如,移位1次)(或者未经量化的值在存储在度量储存906中之前将除以2)。这样的线性量化可以在硬件中简单地实现,诸如通过使用乘法器或移位器。然而,这样的线性量化对于表示后验LLR可能是没用的,这是因为在值之间的粒度可能不提供高效的解码。
相应地,在一些方面中,非线性量化技术用于后验LLR。具体地,本文所描述的技术可以将更多的粒度用于后验LLR的小值,以及将更少的粒度用于后验LLR的大值。例如,在统计上,由于后验LLR是迭代地计算出来的,因此它们倾向于是具有后验LLR所对应的实际比特的符号的无限大小。相应地,后验LLR的大小越大,其就越不太可能将改变符号,以及因此是软比特决策。基于此,在针对后验LLR的大的大小处减小粒度不太可能导致降级的LDPC解码器性能。
因此,在某些方面中,可能的后验值可以被划分成组,其中针对后验LLR的较低的绝对值,使用较大数量的经量化的比特值来表示该后验LLR,而针对后验LLR的较高的绝对值,使用较小数量的经量化的比特值来表示该后验LLR。
在一些方面中,可以通过查找表来表示对后验LLR值的非线性量化,查找表将如在度量储存906中存储的表示后验LLR的比特映射到由数据路径处理器904使用的后验LLR值。具体地,数据路径处理器904可以使用查找表来在经量化的后验LLR值与未经量化的后验LLR值之间转换。然而,对这样的查找表的利用也将需要被存储在存储器中,这将抵消本文所论述的技术的储存空间节省益处。
相应地,本文所论述的某些方面涉及用于后验LLR的不要求使用查找表的非线性量化技术。具体地,在某些方面中,对于针对后验LLR的第一范围的值(例如,较低的绝对值),可以线性地量化(例如,利用为1的线性倍数)第一范围的值。相应地,针对在度量储存906中存储的具有第一范围的值的后验LLR的值可以线性地对应于(例如,直接对应于)针对如由数据路径处理器904使用的后验LLR的值,这可以在硬件中容易地实现,这是因为不需要另外的硬件来转换比特值,或者可以仅利用乘法器或移位器。
进一步地,在某些方面中,对于针对后验LLR的第二范围的值(例如,较高的绝对值),可以非线性地量化第二范围的值。相应地,针对在度量储存906中存储的具有第二范围的值的后验LLR的值可以取任何期望的值。在一些方面中,只有相对少量的值在第二范围的值中,因此代替将查找表用于非线性量化,而是可以使用硬件(例如,非门、或门和与门)来转换第二范围的值。具体地,那么第一范围的值可以对应于针对后验LLR的除了第二范围的值以外的剩余值。相应地,用于实现对后验LLR的非线性量化的硬件是少的。例如,可以使用诸如逻辑门的硬件来生成信号,该信号指示后验LLR值是否是第一范围的值中的被线性地量化的一部分,或者该信号指示后验LLR值对应于第二范围的值中的哪个值。例如,硬件可以被配置为:如果后验LLR是第一范围的值中的一部分,则生成具有第一值的信号,以及生成针对第二范围的值中的每个值具有不同值的信号。该信号可以用于控制/选择多路复用器(mux)的输出。例如,多路复用器可以具有:耦合到包括实际后验LLR值的信号(例如,耦合到数据路径处理器904)的一个输入(可选地耦合到乘法器或移位器,如果量化是除了1以外的倍数的话)、以及与针对第二范围的值中的每个值的经量化的值相对应的单独输入(例如,至包括经量化的值的寄存器)。如果该信号指示后验LLR值具有在第一范围的值内的值,则多路复用器被配置为在其输出端上输出来自对应的输入端的指示实际后验LLR值的信号(可选地耦合到乘法器或移位器,如果量化是除了1以外的倍数的话)。多路复用器的输出可以耦合到用于存储经量化的值的度量储存906。此外,如果该信号指示后验LLR值具有在第二范围的值内的值,则多路复用器被配置为在其输出端上输出来自对应的输入端的指示针对后验LLR值的对应的经量化的值的信号。
在一些方面中,针对后验LLR的第二范围的值可以仅对应于针对后验LLR的最大负值(例如,-64)和针对后验LLR的最大正值(例如,+63)。相应地,针对在度量储存906中存储的具有最大负值(例如,-32)的后验LLR的值可以对应于针对如由数据路径处理器904使用的后验LLR的最大负值(例如,-64),以及针对在度量储存906中存储的具有最大正值(例如,+31)的后验LLR的值可以对应于针对如由数据路径处理器904使用的后验LLR的最大正值(例如,+63)。相应地,仅存在与第二范围的值相对应的两个经量化的比特值,从而使硬件实现方式是容易的并且要求较少的组件和硅面积。在一些方面中,与用于表示如由数据路径处理器904使用的后验LLR的比特数量相比,用于表示在度量储存906中的后验LLR的比特数量少一个。
相应地,对于本文所描述的量化中的任何量化,从在度量储存906中存储的经量化的比特转换到数据路径处理器904包括增加用于表示后验LLR的比特数量,而从数据路径处理器904转换到在度量储存906中存储的经量化的比特包括减少用于表示后验LLR的比特数量。
图11示出了根据一方面的对后验LLR的非线性量化的示例。x轴指代如在度量储存906中存储的后验LLR的值。y轴指代如由数据路径处理器904使用的后验LLR的值。
图12是示出了用于无线通信(例如,用于减少使用非线性量化进行LDPC解码)的示例性操作1200。根据某些方面,操作1200可以由诸如基站(例如,节点B 110和/或基站210)、用户设备(例如,UE 116和/或UE 250)和/或无线设备302的无线通信设备中的解码器(例如,解码器800)来执行。
操作1200在1202处通过如下操作开始:接收与使用LDPC编码进行编码的比特相对应的对数似然比。在1204处,无线通信设备针对经编码的比特中的每个比特更新对数似然比,该对数似然比指示经编码的比特中的每个比特的值的概率。在1206处,无线通信设备针对每个对数似然比,使用固定数量的比特来存储对数似然比,其中,针对固定数量的比特的第一范围的值,对数似然比的值线性地对应于固定数量的比特的值,并且其中,针对固定数量的比特的第二范围的值,对数似然比的值对应于与固定数量的比特的值不同的值。在1208处,无线通信设备利用对数似然比来对经编码的比特进行解码。
本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。在不脱离权利要求的范围的情况下,这些方法步骤和/或动作可以彼此互换。换句话说,除非规定了步骤或动作的具体次序,否则,在不脱离权利要求的范围的情况下,可以对具体步骤和/或动作的次序和/或使用进行修改。
如本文所使用的,术语“确定”包括多种多样的动作。例如,“确定”可以包括计算、运算、处理、推导、研究、查找(例如,在表、数据库或另一数据结构中查找)、查明等等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问在存储器中的数据)等等。此外,“确定”可以包括解析、选定、选择、建立等等。
在一些情况下,设备可以具有用于输出帧以进行传输的接口,而不是实际上发送帧。例如,处理器可以经由总线接口向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内核相结合的一个或多个微处理器、或者任何其它这样的配置。
如果在硬件中实现,则示例性硬件配置可以包括在无线节点中的处理系统。处理系统可以利用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可以包括任意数量的互连总线和桥接器。总线可以将包括处理器、机器可读介质和总线接口的各种电路链接在一起。总线接口可以用于将网络适配器等经由总线连接至处理系统。网络适配器可以用于实现PHY层的信号处理功能。在无线节点(参见图1)的情况下,用户接口(例如,小键盘、显示器、鼠标、操纵杆等)也可以连接至总线。总线还可以链接诸如时序源、外围设备、电压调节器、功率管理电路等的各种其它电路,这些电路在本领域中是公知的,以及因此将不再进一步描述。处理器可以利用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器和可以执行软件的其它电路系统。本领域技术人员将认识到的是,根据特定的应用和施加在整个系统上的总体设计约束任何最佳地实现处理系统的所描述的功能。
如果在软件中实现,则所述功能可以作为在计算可读介质上的一个或多个指令或代码来存储或传输。无论是被称为软件、固件、中间件、微代码、硬件描述语言还是其它术语,软件都应当被广义地解释为意指指令、数据或其任意组合。计算机可读介质包括计算机存储介质和通信介质二者,该通信介质包括有助于将计算机程序从一个地方传送到另一个地方的任何介质。处理器可以负责管理总线和通用处理,其包括对在机器可读存储介质上存储的软件模块的执行。计算机可读存储介质可以耦合到处理器,以使得处理器可以从该存储介质读取信息以及向该存储介质写入信息。在替代方案中,存储介质可以是处理器的组成部分。举例而言,机器可读介质可以包括传输线、由数据调制的载波、和/或与无线节点分开的其上存储有指令的计算机可读存储介质,其全部可以由处理器通过总线接口来访问。替代地或另外的,机器可读介质或其任何部分可以集成到处理器中,诸如该情况可以具有高速缓存和/或通用寄存器文件。举例而言,机器可读存储介质的示例可以包括RAM(随机存取存储器)、闪存、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、寄存器、磁盘、光盘、硬驱动器、或任何其它适当的存储介质、或其任何组合。机器可读介质可以体现在计算机程序产品中。
软件模块可以包括单个指令或许多指令,以及可以分布在数个不同的代码段上,分布在不同的程序之中以及跨越多个存储介质而分布。计算机可读介质可以包括多个软件模块。软件模块包括指令,所述指令在由诸如处理器的装置执行时使得处理系统执行各种功能。软件模块可以包括发送模块和接收模块。每个软件模块可以存在于单个存储设备中或跨越多个存储设备而分布。举例而言,当触发事件发生时,可以将软件模块从硬驱动器加载到RAM中。在软件模块的执行期间,处理器可以将指令中的一些指令加载到高速缓存中以增加访问速度。随后可以将一个或多个高速缓存行加载到通用寄存器文件中以便由处理器执行。当在下文涉及软件模块的功能时,将理解的是,当执行来自该软件模块的指令时,这样的功能由处理器来实现。
此外,任何连接被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者无线技术(诸如红外线(IR)、无线电和微波)从网站、服务器或其它远程源发送软件,则同轴电缆、光纤光缆、双绞线、DSL或者无线技术(诸如红外线、无线电和微波)包括在介质的定义中。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。因此,在一些方面中,计算机可读介质可以包括非暂时性计算机可读介质(例如,有形介质)。此外,对于其它方面来说,计算机可读介质可以包括暂时性计算机可读介质(例如,信号)。上述的组合也应当包括在计算机可读介质的范围之内。
因此,某些方面可以包括用于执行本文所提出的操作的计算机程序产品。例如,这样的计算机程序产品可以包括具有在其上存储(和/或编码)的指令的计算机可读介质,所述指令由一个或多个处理器可执行以执行本文所描述的操作。
进一步地,应当了解的是,如果适用的话,用于执行本文所描述的方法和技术的模块和/或其它适当的单元可以由无线节点和/或基站进行下载和/或以其它方式获得。例如,这样的设备可以耦合到服务器,以促进对用于执行本文所描述的方法的单元的传送。或者,本文所描述的各种方法可以经由存储单元(例如,RAM、ROM、诸如压缩光盘(CD)或软盘等的物理存储介质等)来提供,使得无线节点和/或基站可以在与设备耦合或向设备提供存储单元时获得各种方法。此外,可以使用用于向设备提供本文所描述的方法和技术的任何其它适当的技术。
要理解的是,权利要求不限于上文所描述的精确配置和组件。在不脱离权利要求范围的情况下,可以对上文所描述的方法和装置的安排、操作和细节进行各种修改、改变和变化。

Claims (30)

1.一种用于执行低密度奇偶校验(LDPC)解码的方法,所述方法包括:
接收与使用LDPC编码进行编码的比特相对应的对数似然比;
针对经编码的比特中的每个比特更新所述对数似然比,所述对数似然比指示所述经编码的比特中的每个比特的值的概率;
针对每个对数似然比,使用固定数量的比特来存储所述对数似然比,其中,针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值,并且其中,针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值;以及
利用所述对数似然比来对经编码的比特进行解码。
2.根据权利要求1所述的方法,其中,所述固定数量的比特的所述第二范围的值对应于所述固定数量的比特的最大负值和所述固定数量的比特的最大正值。
3.根据权利要求2所述的方法,其中,所述第一范围的值对应于所述固定数量的比特的除了所述第二范围的值以外的值。
4.根据权利要求2所述的方法,其中,所述固定数量的比特的所述最大负值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大负值。
5.根据权利要求2所述的方法,其中,所述固定数量的比特的所述最大正值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大正值。
6.根据权利要求1所述的方法,其中,利用所述对数似然比来对经编码的比特进行解码包括:
取得所存储的对数似然比;以及
将用于表示所述对数似然比的比特的数量增加超过所述固定数量的比特,其中,针对所述第一范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是相同的,并且其中,针对所述第二范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是不同的。
7.根据权利要求6所述的方法,其中,增加所述比特的数量是使用一个或多个非门、或门、或者与门来实现的。
8.根据权利要求7所述的方法,其中,增加所述比特数量是在不使用查找表的情况下实现的。
9.根据权利要求1所述的方法,其中,所述对数似然比包括后验对数似然比。
10.一种用于执行低密度奇偶校验(LDPC)解码的装置,所述装置包括:
存储器;以及
处理器,所述存储器和所述处理器被配置为:
接收与使用LDPC编码进行编码的比特相对应的对数似然比;
针对经编码的比特中的每个比特更新所述对数似然比,所述对数似然比指示所述经编码的比特中的每个比特的值的概率;
针对每个对数似然比,使用固定数量的比特来存储所述对数似然比,其中,针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值,并且其中,针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值;以及
利用所述对数似然比来对经编码的比特进行解码。
11.根据权利要求10所述的装置,其中,所述固定数量的比特的所述第二范围的值对应于所述固定数量的比特的最大负值和所述固定数量的比特的最大正值。
12.根据权利要求11所述的装置,其中,所述第一范围的值对应于所述固定数量的比特的除了所述第二范围的值以外的值。
13.根据权利要求11所述的装置,其中,所述固定数量的比特的所述最大负值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大负值。
14.根据权利要求11所述的装置,其中,所述固定数量的比特的所述最大正值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大正值。
15.根据权利要求10所述的装置,其中,所述存储器和所述处理器被配置为利用所述对数似然比来对经编码的比特进行解码包括所述存储器和所述处理器被配置为进行以下操作:
取得所存储的对数似然比;以及
将用于表示所述对数似然比的比特的数量增加超过所述固定数量的比特,其中,针对所述第一范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是相同的,并且其中,针对所述第二范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是不同的。
16.根据权利要求10所述的装置,还包括被配置为进行以下操作的一个或多个非门、或门、或者与门:
将用于表示所述对数似然比的比特的数量增加超过所述固定数量的比特,其中,针对所述第一范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是相同的,并且其中,针对所述第二范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是不同的。
17.根据权利要求10所述的装置,其中,所述对数似然比包括后验对数似然比。
18.一种具有存储在其上的指令的计算机可读介质,所述指令用于执行一种用于执行低密度奇偶校验(LDPC)解码的方法,所述方法包括:
接收与使用LDPC编码进行编码的比特相对应的对数似然比;
针对经编码的比特中的每个比特更新所述对数似然比,所述对数似然比指示所述经编码的比特中的每个比特的值的概率;
针对每个对数似然比,使用固定数量的比特来存储所述对数似然比,其中,针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值,并且其中,针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值;以及
利用所述对数似然比来对经编码的比特进行解码。
19.根据权利要求18所述的计算机可读介质,其中,所述固定数量的比特的所述第二范围的值对应于所述固定数量的比特的最大负值和所述固定数量的比特的最大正值。
20.根据权利要求19所述的计算机可读介质,其中,所述第一范围的值对应于所述固定数量的比特的除了所述第二范围的值以外的值。
21.根据权利要求19所述的计算机可读介质,其中,所述固定数量的比特的所述最大负值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大负值。
22.根据权利要求19所述的计算机可读介质,其中,所述固定数量的比特的所述最大正值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大正值。
23.根据权利要求18所述的计算机可读介质,其中,利用所述对数似然比来对经编码的比特进行解码包括:
取得所存储的对数似然比;以及
将用于表示所述对数似然比的比特的数量增加超过所述固定数量的比特,其中,针对所述第一范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是相同的,并且其中,针对所述第二范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是不同的。
24.一种用于执行低密度奇偶校验(LDPC)解码的装置,所述装置包括:
用于接收与使用LDPC编码进行编码的比特相对应的对数似然比的单元;
用于针对经编码的比特中的每个比特更新所述对数似然比的单元,所述对数似然比指示所述经编码的比特中的每个比特的值的概率;
用于针对每个对数似然比,使用固定数量的比特来存储所述对数似然比的单元,其中,针对所述固定数量的比特的第一范围的值,所述对数似然比的值线性地对应于所述固定数量的比特的所述值,并且其中,针对所述固定数量的比特的第二范围的值,所述对数似然比的值对应于与所述固定数量的比特的所述值不同的值;以及
用于利用所述对数似然比来对经编码的比特进行解码的单元。
25.根据权利要求24所述的装置,其中,所述固定数量的比特的所述第二范围的值对应于所述固定数量的比特的最大负值和所述固定数量的比特的最大正值。
26.根据权利要求25所述的装置,其中,所述第一范围的值对应于所述固定数量的比特的除了所述第二范围的值以外的值。
27.根据权利要求25所述的装置,其中,所述固定数量的比特的所述最大负值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大负值。
28.根据权利要求25所述的装置,其中,所述固定数量的比特的所述最大正值对应于如通过相比所述固定数量的比特的至少一个另外比特表示的所述对数似然比的最大正值。
29.根据权利要求24所述的装置,其中,用于利用所述对数似然比来对经编码的比特进行解码的单元包括:
用于取得所存储的对数似然比的单元;以及
用于将用于表示所述对数似然比的比特的数量增加超过所述固定数量的比特的单元,其中,针对所述第一范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是相同的,并且其中,针对所述第二范围的值,如通过所述固定数量的比特和通过数量增加的比特表示的所述对数似然比的所述值是不同的。
30.根据权利要求29所述的装置,其中,用于增加所述比特的数量的单元包括一个或多个非门、或门、或者与门。
CN201780067755.5A 2016-11-02 2017-10-18 用于ldpc解码器架构的非线性对数似然比量化技术 Pending CN109891754A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662416589P 2016-11-02 2016-11-02
US62/416,589 2016-11-02
US15/619,232 2017-06-09
US15/619,232 US20180123615A1 (en) 2016-11-02 2017-06-09 Non-linear log-likelihood ratio quantization techniques for ldpc decoder architecture
PCT/US2017/057166 WO2018085047A1 (en) 2016-11-02 2017-10-18 Non-linear log-likelihood ratio quantization techniques for ldpc decoder architecture

Publications (1)

Publication Number Publication Date
CN109891754A true CN109891754A (zh) 2019-06-14

Family

ID=62021945

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780067755.5A Pending CN109891754A (zh) 2016-11-02 2017-10-18 用于ldpc解码器架构的非线性对数似然比量化技术

Country Status (4)

Country Link
US (1) US20180123615A1 (zh)
EP (1) EP3535851A1 (zh)
CN (1) CN109891754A (zh)
WO (1) WO2018085047A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2563419B (en) * 2017-06-15 2020-04-22 Accelercomm Ltd Polar decoder, communication unit, integrated circuit and method therefor
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
US11139839B1 (en) * 2020-07-07 2021-10-05 Huawei Technologies Co., Ltd. Polar code decoder and a method for polar code decoding
US20220263691A1 (en) * 2021-02-16 2022-08-18 Nvidia Corporation Technique to perform demodulation of wireless communications signal data
WO2023068973A1 (en) * 2021-10-20 2023-04-27 Telefonaktiebolaget Lm Ericsson (Publ) Iterative guessing random additive noise decoding (grand) in the presence of bursty channels

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534166A (zh) * 2008-03-10 2009-09-16 上海明波通信技术有限公司 准循环低密度奇偶校验码解码器及解码方法
US20100146361A1 (en) * 2008-12-09 2010-06-10 Entropic Communications Inc. Multiple input hardware reuse using LDPC codes.

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090103601A1 (en) * 2007-10-17 2009-04-23 Augusta Technology, Inc. Methods for Soft Bit Companding for Time De-interleaving of Digital Signals

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101534166A (zh) * 2008-03-10 2009-09-16 上海明波通信技术有限公司 准循环低密度奇偶校验码解码器及解码方法
US20100146361A1 (en) * 2008-12-09 2010-06-10 Entropic Communications Inc. Multiple input hardware reuse using LDPC codes.

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DAESUN OH等: ""Min-Sum Decoder Architectures With Reduced Word Length for LDPC Codes"", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS I: REGULAR PAPERS》 *

Also Published As

Publication number Publication date
US20180123615A1 (en) 2018-05-03
WO2018085047A1 (en) 2018-05-11
EP3535851A1 (en) 2019-09-11

Similar Documents

Publication Publication Date Title
TWI725308B (zh) Ldpc速率相容設計中的列正交性
CN109891754A (zh) 用于ldpc解码器架构的非线性对数似然比量化技术
CN108352936A (zh) 用于结构化低密度奇偶校验(ldpc)码的穿孔
EP3526900B1 (en) Modified min-sum decoder for ldpc codes
TWI691173B (zh) 通訊用錯誤更正編碼方法和裝置
CN109964411A (zh) 对ldpc码的有效的列表解码
CN109906559B (zh) 流水线高吞吐量分层ldpc解码器架构
US10312937B2 (en) Early termination technique for LDPC decoder architecture

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190614