CN109906559B - 流水线高吞吐量分层ldpc解码器架构 - Google Patents

流水线高吞吐量分层ldpc解码器架构 Download PDF

Info

Publication number
CN109906559B
CN109906559B CN201780067344.6A CN201780067344A CN109906559B CN 109906559 B CN109906559 B CN 109906559B CN 201780067344 A CN201780067344 A CN 201780067344A CN 109906559 B CN109906559 B CN 109906559B
Authority
CN
China
Prior art keywords
bit
llrs
encoded bits
encoded
llr
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.)
Active
Application number
CN201780067344.6A
Other languages
English (en)
Other versions
CN109906559A (zh
Inventor
V·隆科
G·瓦拉特卡
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 CN109906559A publication Critical patent/CN109906559A/zh
Application granted granted Critical
Publication of CN109906559B publication Critical patent/CN109906559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0061Error detection codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/002Error detection; Error correction; Monitoring protecting against parasitic influences, e.g. noise, temperatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • 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/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本公开的某些方面一般涉及用于解码低密度奇偶校验(LDPC)码的方法和装置,并且尤其涉及用于解决存储器一致性和冲突问题的高解码吞吐量的深度流水线分层LDPC解码器架构。本公开的各方面提出了用于缓解流水线延迟的技术,例如,通过放宽更新比特LLR和计算校验节点消息之间的依赖性,使得对于特定行,校验节点处理可以使用最新的可用的比特LLR(例如,过时的比特LLR)而非等待最新的更新(例如,经更新的比特LLR)发生。通过将最新的可用的比特LLR存储在LLR存储器中并使用旧的和新的校验节点消息之间的差异来更新比特LLR以避免存储器一致性冲突。此外,逻辑上将LLR存储器拆分成双组使得解码器能够同时从存储器的两个组读取或写入,由此增加读/写带宽。基于例如PCM中的各行之间的依赖性来有利地选择奇偶校验矩阵行(PCM)计算次序、对存储器中的校验节点消息和比特LLR更新进行排序、和/或选择存储器组以存储校验节点消息和比特LLR更新,缓解了存储器冲突/一致性错误并减少了流水线处理延迟。

Description

流水线高吞吐量分层LDPC解码器架构
相关申请的交叉引用
本申请要求于2016年11月2日提交的美国临时专利申请S/N.62/416,584、以及于2017年9月22日提交的美国专利申请No.15/712,845的权益,这两篇申请的全部内容通过援引纳入于此。
技术领域
本公开的某些方面一般涉及用于无线通信的方法和装置,并且尤其涉及深度流水线高吞度量低密度奇偶校验(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)上使用具有循环前缀(CP)的OFDMA的其他开放标准进行整合,以及支持波束成形、多输入多输出(MIMO)天线技术和载波聚集。
随着对移动宽带接入的需求的持续增长,存在对NR技术中的进一步改进的需要。优选地,这些改进应当适用于其他多址技术以及采用这些技术的电信标准。改进的一个领域是适用于NR的编码/解码领域。例如,期望用于NR的高性能LDPC码的技术。
简要概述
本公开的系统、方法和设备各自具有若干方面,其中并非仅靠任何单一方面来负责其期望属性。在不限定如所附权利要求所表述的本公开的范围的情况下,现在将简要地讨论一些特征。在考虑本讨论后,并且尤其是在阅读题为“详细描述”的章节之后,将理解本公开的特征是如何提供包括无线网络中的接入点与站之间的改进通信在内的优点的。
本公开的某些方面提出了一种用于执行低密度奇偶校验(LDPC)解码的方法。示例性方法一般包括:接收对应于使用LDPC编码来编码的比特的对数似然比(LLR);更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的LLR,该LLR指示每个经编码比特的值的概率);通过处理PCM的行内的每个LLR来为每个经编码比特确定该行的后验LLR,其中对于第一组经编码比特,确定后验LLR包括使用第一数目的过时的LLR,并且其中对于第二组经编码比特,确定后验LLR包括使用第二数目的经更新的LLR,其中第一组经编码比特和第二组经编码比特包括全部经编码比特;以及利用LLR来对经编码比特进行解码。
本公开的某些方面提出了一种用于执行低密度奇偶校验(LDPC)解码的装置。该装置一般包括至少一个处理器,其被配置成:接收对应于使用LDPC编码来编码的比特的对数似然比(LLR);更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的LLR,该比特LLR指示每个经编码比特的值的概率;通过处理PCM的行内的每个LLR来为每个经编码比特确定该行的后验LLR,其中对于第一组经编码比特,确定后验LLR包括使用第一数目的过时的LLR,并且其中对于第二组经编码比特,确定后验LLR包括使用第二数目的经更新的LLR,其中第一组经编码比特和第二组经编码比特包括全部经编码比特;以及利用LLR来对经编码比特进行解码。该装置一般还包括与该至少一个处理器耦合的存储器。
本公开的某些方面提出了一种用于执行低密度奇偶校验(LDPC)解码的装备。该装备一般包括:用于接收对应于使用LDPC编码来编码的比特的对数似然比(LLR)的装置;用于更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的LLR的装置,该LLR指示每个经编码比特的值的概率;用于通过处理PCM的行内的每个LLR来为每个经编码比特确定该行的后验LLR的装置,其中对于第一组经编码比特,确定后验LLR包括使用第一数目的过时的LLR,并且其中对于第二组经编码比特,确定后验LLR包括使用第二数目的经更新的LLR,其中第一组经编码比特和第二组经编码比特包括全部经编码比特;以及用于利用LLR来对经编码比特进行解码的装置。
本公开的某些方面提出了一种用于执行低密度奇偶校验(LDPC)解码的非瞬态计算机可读介质。该非瞬态计算机可读介质一般包括在被至少一个处理器执行时将所述至少一个处理器配置成执行以下动作的指令:接收对应于使用LDPC编码来编码的比特的对数似然比(LLR);更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的LLR,该比特LLR指示每个经编码比特的值的概率;通过处理PCM的行内的每个LLR来为每个经编码比特确定该行的后验LLR,其中对于第一组经编码比特,确定后验LLR包括使用第一数目的过时的LLR,并且其中对于第二组经编码比特,确定后验LLR包括使用第二数目的经更新的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解说了根据本公开的各方面的分层LDPC解码器流水线,其假定写入LLR存储器的单循环等待时间和3个循环流水线深度。
图15解说了根据本公开的各方面的对应于示例奇偶校验矩阵(PCM)的比特LLR处理步骤。
图16解说了根据本公开的各方面的分层解码器处理流水线中比特LLR的交换。
图17解说了据本公开的各方面的用于增加存储器带宽以容纳LLR的处理和更新的示例性解决方案。
为了促进理解,在可能之处使用了相同的附图标记来指定各附图共有的相同要素。构想了一个实施例中所公开的要素可有益地用在其他实施例而无需具体引述。
详细描述
本公开的各方面提供了用于新无线电(NR)(新无线电接入技术)的编码的装置、方法、处理系统、和计算机程序产品。新无线电(NR)可指代被配置成根据新空中接口或固定传输层来操作的无线电。NR可包括以宽带宽(例如,超过80MHz)为目标的增强型移动宽带(eMBB)、以高载波频率(例如,60GHz)为目标的毫米波(mmW)、以非后向兼容MTC技术为目标的大规模MTC(mMTC)、以及以超可靠低等待时间通信(URLLC)为目标的关键任务。对于这些通用主题,考虑不同的技术,诸如编码、低密度奇偶校验(LDPC)和极化。NR蜂窝小区可指代根据新空中接口或固定传输层来操作的蜂窝小区。NR B节点(例如,5G B节点)可对应于一个或多个传输接收点(TRP)。
本公开的某些方面一般涉及用于解码低密度奇偶校验(LDPC)码的方法和装置,并且尤其涉及用于高解码吞吐量的深度流水线分层LDPC解码器架构。例如,本公开的各方面呈现了能放松比特对数似然比(LLR)和后验LLR的依赖性的技术,这可以导致处理延迟的减少。另外,本公开的各方面提供了用于解决在放松比特LLR和后验LLR之间的此类依赖性时可能出现的存储器冲突和一致性错误的技术。
以下参照附图更全面地描述本公开的各种方面。然而,本公开可用许多不同形式来实施并且不应解释为被限于本公开通篇给出的任何具体结构或功能。相反,提供这些方面是为了使得本公开将是透彻和完整的,并且其将向本领域技术人员完全传达本公开的范围。基于本文中的教导,本领域技术人员应领会,本公开的范围旨在覆盖本文中所披露的本公开的任何方面,不论其是与本公开的任何其他方面相独立地实现还是组合地实现的。例如,可使用本文所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为本文中所阐述的本公开的各种方面的补充或者另外的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,本文中所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。措辞“示例性”在本文中用于表示“用作示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
尽管本文描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。尽管提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限于特定益处、用途或目标。确切而言,本公开的各方面旨在宽泛地适用于不同的无线技术、系统配置、网络、和传输协议,其中一些藉由示例在附图和以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。
本文中描述的技术可用于各种无线通信网络,诸如长期演进(LTE)、码分多址(CDMA)网络、时分多址(TDMA)网络、频分多址(FDMA)网络、正交FDMA(OFDMA)网络、单载波FDMA(SC-FDMA)网络等。术语“网络”和“系统”常被可互换地使用。CDMA网络可实现诸如通用陆地无线电接入(UTRA)、CDMA 2000等的无线电技术。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、
Figure BDA0002044776460000071
等无线电技术。UTRA、E-UTRA、以及GSM是通用移动电信系统(UMTS)的部分。长期演进(LTE)是使用E-UTRA的UMTS版本。UTRA、E-UTRA、GSM、UMTS以及LTE在来自名为“第三代伙伴项目”(3GPP)的组织的文献中描述。CDMA2000在来自名为“第三代伙伴项目2”(3GPP2)的组织的文献中描述。NR是正协同5G技术论坛(5GTF)进行开发的新兴无线通信技术。这些通信网络仅仅作为其中可应用本公开中描述的技术的网络的示例来列出;然而,本公开并不限于上述通信网络。
单载波频分多址(SC-FDMA)是在发射机侧利用单载波调制且在接收机侧利用频域均衡的传输技术。SC-FDMA具有与OFDMA系统相近的性能以及本质上相同的总体复杂度。然而,SC-FDMA信号因其固有的单载波结构而具有较低的峰均功率比(PAPR)。SC-FDMA已引起极大注意,尤其是在较低PAPR在发射功率效率的意义上极大地裨益无线节点的上行链路(UL)通信中。
接入点(“AP”)可包括、被实现为、或被称为B节点、无线电网络控制器(“RNC”)、演进型B节点(eNB)、B节点(例如,5G B节点)、传输接收点(TRP)、基站控制器(“BSC”)、基收发机站(“BTS”)、基站(“BS”)、收发机功能(“TF”)、无线电路由器、无线电收发机、基本服务集(“BSS”)、扩展服务集(“ESS”)、无线电基站(“RBS”)、或其它某个术语。
接入终端(“AT”)可包括、被实现为、或被称为接入终端、订户站、订户单元、移动站、远程站、远程终端、用户终端、用户代理、用户设备、用户装备(UE)、用户站、无线节点或其他某个术语。在一些实现中,接入终端可包括蜂窝电话、智能电话、无绳电话、会话发起协议(“SIP”)电话、无线本地环路(“WLL”)站、个人数字助理(“PDA”)、平板、上网本、智能本、超级本、具有无线连接能力的手持式设备、站(“STA”)、或连接到无线调制解调器的其他某个合适的处理设备。因此,本文中所教导的一个或多个方面可被纳入到电话(例如,蜂窝电话、智能电话)、计算机(例如,台式计算机)、便携式通信设备、便携式计算设备(例如,膝上型设备、个人数据助理、平板设备、上网本、智能本、超级本)、医疗设备或装备、生物测定传感器/设备、娱乐设备(例如,音乐或视频设备、或卫星无线电)、车载组件或传感器、智能计量表/传感器、工业制造装备、全球定位系统设备、或配置成经由无线或有线介质通信的任何其他合适的设备中。在一些方面,节点是无线节点。无线节点可例如经由有线或无线通信链路来为网络(例如,广域网,诸如因特网或蜂窝网络)提供连通性或提供至该网络的连通性。
虽然各方面在此处可使用通常与3G和/或4G无线技术相关联的术语来描述,但本公开的各方面可以在包括NR技术在内的基于其它代的通信系统(诸如5G和后代)中应用。
示例无线通信系统
图1解说了其中可执行本公开的各方面的示例通信网络100。如解说的,B节点102(例如,TRP或5G B节点)可包括多个天线群,一个群包括天线104和106,另一个群包括天线108和110,并且附加的一个群包括天线112和114。在图1中,为每个天线群仅示出了两个天线,然而,可为每个天线群利用更多或更少的天线。无线节点116可与天线112和114处于通信中,其中天线112和114在前向链路120上向无线节点116传送信息,并在反向链路118上接收来自无线节点116的信息。无线节点122可与天线106和108处于通信中,其中天线106和108在前向链路126上向无线节点122传送信息,并在反向链路124上接收来自无线节点122的信息。B节点102还可与其它无线节点通信,其它无线节点可以是例如万物联网(IoE)设备。IoE设备136可以与B节点102的一个或多个其它天线通信,其中这些天线通过前向链路140向IoE设备136传送信息并且通过反向链路138从IoE设备136接收信息。IoE设备142可以与B节点102的一个或多个其它天线通信,其中这些天线通过前向链路146向IoE设备142传送信息并且通过反向链路144从IoE设备142接收信息。在频分双工(FDD)系统中,通信链路118、120、124、126、138、140、144和146可使用不同的频率来通信。例如,前向链路120可使用与反向链路118所使用的频率不同的频率,且前向链路140可使用与反向链路138所使用的频率不同的频率。
每群天线和/或它们被设计成在其中通信的区域常常被称作B节点的扇区。在本公开的一方面中,每个天线群可被设计成与在由B节点102覆盖的区域的扇区中的无线节点通信。
无线节点130可与B节点102处于通信中,其中来自B节点102的天线在前向链路132上向无线节点130传送信息,并在反向链路134上接收来自无线节点130的信息。
在前向链路120和126上的通信中,BS 102的发射天线可利用波束成形来提高不同无线节点116、122、136和142的前向链路的信噪比。并且,与B节点通过单个天线向其全部无线节点发射相比,使用波束成形向随机散布遍及其覆盖的诸无线节点发射的B节点对相邻蜂窝小区中的无线节点造成较少干扰。
虽然本文中所描述的各示例的各方面可与LTE技术相关联,但是本公开的各方面可适用于其他无线通信系统(诸如NR)。NR可在上行链路和下行链路上利用具有CP的正交频分复用(OFDM),并且包括对使用时分双工(TDD)的半双工操作的支持。可支持100MHZ的单分量载波带宽。NR资源块可在0.1ms历时上跨越具有75kHz的副载波带宽的12个副载波。每个无线电帧可包括具有10ms的长度的50个子帧。因此,每个子帧可具有0.2ms的长度。每个子帧可指示用于数据传输的链路方向(即,下行链路(DL)或上行链路(UL))并且用于每个子帧的链路方向可动态切换。每个子帧可包括DL/UL数据以及DL/UL控制数据。可支持波束成形并且可动态配置波束方向。还可支持具有预编码的MIMO传输。DL中的MIMO配置可支持至多达8个发射天线(具有至多达8个流的多层DL传输)。可支持每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,其可进一步处理这些调制码元(例如,针对OFDM)。TX MIMO处理器220随后向NT个发射机(TMTR)222a到222t提供NT(例如,其中NT是正整数)个调制码元流。在本公开的某些方面,TX MIMO处理器220向这些数据流的码元并向发射该码元的天线施加波束成形权重。
每个发射机222接收并处理各自相应的码元流以提供一个或多个模拟信号,并进一步调理(例如,放大、滤波、以及上变频)这些模拟信号以提供适于在MIMO信道上传输的经调制信号。来自发射机222a到222t的NT个经调制信号随后分别从NT个天线224a到224t被发射。
在接收机系统250处,所发射的经调制信号可被NR(例如,其中NR是正整数)个天线252a到252r所接收,并且从每个天线252接收到的信号可被提供给各自相应的接收机(RCVR)254a到254r。每个接收机254可调理(例如,滤波、放大、及下变频)各自相应的收到信号,数字化该经调理信号以提供采样,并且进一步处理这些采样以提供相应的“收到”码元流。
接收(RX)数据处理器260随后从NR个接收机254接收这NR个收到的码元流并基于特定接收机处理技术对其进行处理以提供NT个“检出”码元流。RX数据处理器260随后解调、解交织、和解码每个检出码元流以恢复该数据流的话务数据。RX数据处理器260所作的处理可与发射机系统210处由TX MIMO处理器220和TX数据处理器214所执行的处理互补。
处理器270周期性地确定要使用哪个预编码矩阵。处理器270编制包括矩阵索引部分和秩值部分的反向链路消息。存储器272可存储供接收机系统250使用的数据和软件/固件。反向链路消息可包括关于通信链路和/或收到数据流的各种类型的信息。该反向链路消息随后由还从数据源236接收数个数据流的话务数据的TX数据处理器238处理,由调制器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、或其他处理器/元件中的任一者或它们的组合可被配置成执行根据下文讨论的本公开的某些方面的用于无连接接入的规程。在一方面,处理器270、RX数据处理器260以及TX数据处理器238中的至少一者可被配置成执行存储在存储器272中的算法以执行本文描述的用于无连接接入的随机接入信道(RACH)规程。在另一方面,处理器230、TX MIMO处理器220、TX数据处理器214以及RX数据处理器242中的至少一者可被配置成执行存储在存储器232中的算法以执行本文描述的用于无连接接入的随机接入信道(RACH)规程。
图3解说了可在图1中所解说的通信系统100内采用的无线设备302中可利用的各种组件。无线设备302是可被配置成实现本文描述的各种方法的设备的示例。无线设备302可以是B节点102(例如,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在无连接接入期间高效地传送数据。处理器304的一些非限制性示例可包括骁龙处理器、专用集成电路(ASIC)、可编程逻辑,等等。
无线设备302还可包括外壳308,该外壳308可内含发射机310和接收机312以允许在无线设备302和远程位置之间进行数据的传送和接收。发射机310和接收机312可被组合成收发机314。单个或多个发射天线316可被附连到外壳308并且电耦合至收发机314。无线设备302还可包括(未示出)多个发射机、多个接收机和多个收发机。无线设备302还可包括无线电池充电装备。
无线设备302还可包括信号检测器318,其可被用于力图检测和量化由收发机314收到的信号电平。信号检测器318可检测诸如总能量、每副载波每码元能量、功率谱密度之类的信号以及其它信号。无线设备302还可包括用于处理信号的数字信号处理器(DSP)320。
另外,该无线设备还可包括:编码器322,其用于编码信号以供传输;以及解码器324,其用于解码接收到的信号。根据某些方面,解码器324可执行根据本文中给出的某些方面的解码(例如,通过实现图12中解说的操作1200)。
无线设备302的各个组件可由总线系统326耦合在一起,该总线系统326除数据总线以外还可包括电源总线、控制信号总线、以及状态信号总线。根据下文讨论的本公开的各方面,处理器304可被配置成访问存储在存储器306中的指令以执行无连接接入。
示例纠错编码
许多通信系统使用纠错码。具体而言,纠错码通过将冗余度引入到数据流中来补偿这些系统中固有的信息传递不可靠性。低密度奇偶校验(LDPC)码是一种特定类型的纠错码,其使用迭代编码系统。具体地,Gallager码是“正则”LDPC码的早期示例。LDPC码是线性块码,其中其奇偶校验矩阵H的大多数元素被设为‘0’。
LDPC码可由二分图(通常称为“Tanner图”)表示,其中一组变量节点对应于码字的比特(例如,信息比特或系统比特),并且一组校验节点对应于限定该码的一组奇偶校验约束。该图中的边将变量节点连接到校验节点。由此,该图的节点被分成两个不同的集合(变量节点和校验节点),其中各条边连接两种不同类型的节点。
通过将二分基图(G)(其可被称为原模图)复制数(Z)次来创建经提升图。如果变量节点和校验节点在图中由“边”(即,连接变量节点和校验节点的线)连接,则它们可被认为是“邻居”。另外,对于二分基图(G)的每条边(e),将置换应用于边(e)的Z个副本以互连G的Z个副本。当且仅当对于每个校验节点而言与全部相邻变量节点相关联的比特加总模2为0(即,它们包括偶数个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时(例如,在对于每个约束节点而言与该约束相邻(经由它们与变量节点的关联)的比特加总模2为0(即,它们包括偶数个1)的情况下),码字向量x才表示有效码字。由此,如果码字被正确接收,则Hx=0(mod 2)。当经编码收到信号与奇偶校验矩阵H的乘积变为‘0’时,这表示未发生差错。奇偶校验矩阵是C行乘V列二进制矩阵。行表示等式,并且列表示码字中的数位。
经解调码元或变量节点的数目是LDPC码长度。行(列)中非零元素的数目被定义为行(列)权重dc(dv)。
节点的度数是指连接到该节点的边的数目。此特征在图4A中所示的H矩阵中示出,其中入射到变量节点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矩阵替换,而1条目(指示基边)用ZxZ转置矩阵替换。在循环提升的情形中,该置换是循环置换。
经循环提升LDPC码也可被解读为二进制多项式模xz+1的环上的码。在该解读中,二进制多项式(x)=b0+b1x+b2x2+...+bz-1xz-1可与基图中的每个变量节点相关联。二进制向量(b0,b1,b2,…,bz-1)对应于与经提升图中的Z个对应变量节点相关联的比特,即单个基变量节点的Z个副本。通过将对应的二进制多项式乘以xk来实现二进制向量的k次循环置换,其中以xz+1对该乘积取模。在基图中进行的度数d的奇偶校验可被解读为对相邻二进制多项式B1(x),…,Bd(x)的线性约束,写作xk1B1(x)+xk2B2(x)+...+xkdBd(x)=0,其中值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图表示中的全部边在统计上可以是可互换的。换言之,存在单个统计上的边等价类。对经提升LDPC码的更详细讨论可以在例如Tom Richardson和Ruediger Urbanke于2008年3月17日出版的题为“ModernCoding Theory(现代编码理论)”的书中找到。对于多边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码元序列712被Tx链714调制、放大并以其他方式处理,以产生供通过天线718传输的RF信号716。
图8解说了可被配置成接收并解码包括经编码消息(例如,如上述使用LDPC码来编码的消息)的无线传送的信号的RF调制调解器814的一部分。在各种示例中,接收到该信号的调制解调器814可驻留在无线节点处(例如,无线节点116、接收机系统250)、基站处(B节点102、发射机系统210)、或者用于执行所描述的功能的任何其他合适装备或装置处(例如,无线设备302)。天线802接收用于无线节点的(例如,无线节点116和/或接收机系统250)RF信号716(即,图7中产生的RF信号716)。RF链804对RF信号716进行处理和解调,并且可向解映射器808提供经解调码元序列806,该解映射器808产生表示该经编码消息的比特流810。
解码器812随后可被用来从已经使用编码方案(例如,LDPC码)进行编码的比特流中解码出m比特信息串。解码器812可以包括具有全并行、行并行或块并行架构的分层LDPC解码器。(诸)LDPC解码器一般通过迭代地执行以下动作来操作:执行局部计算并通过在二分图400内交换消息来沿着各边传递那些结果;以及通过在各节点处基于传入消息执行计算来更新这些消息。这些步骤通常可重复若干次,并且可被称为消息传递步骤。例如,图400中的每个变量节点410最初可被提供“软比特”(例如,表示码字的收到比特),其指示如由从通信信道进行的观察所确定的相关联比特的值的估计。“软比特”可以由对数似然比(LLR)来表示,该LLR在一些方面可被定义为log((比特为0的概率)/(比特为1的概率))。使用这些LLR,LDPC解码器可如下更新消息:迭代地从存储器读取消息或其某个部分以及将经更新消息或其某个部分写回到存储器。这些更新操作通常基于对应LDPC码的奇偶校验约束。在用于经提升LDPC码的各实现中,相似边上的消息通常被并行地处理。根据各方面,遵循这些解码技术,解码器812可基于LLR来对比特流810进行解码,以确定包含从基站(例如,B节点102和/或发射机系统210)传送的数据和/或经编码语音或其他内容的消息702。解码器可根据以下呈现的本公开的各方面(例如,通过实现图12中所解说的操作1200)来对比特流810进行解码。
示例深度流水线高吞度量LDPC解码器架构
低密度奇偶校验(LDPC)是一种在诸如无线通信、存储和以太网之类的若干应用中使用的强大的纠错编码技术。LDPC是基于在二分图上设计代码的,例如,如上所述并在图4中所解说的。LDPC解码通常使用上述的置信传播技术来实现,其中消息沿着图中的边来传递,并且图中的节点计算它们的边缘分布,从该边缘分布可以做出关于源码元的决定。准循环(QC)码是一类流行的结构化LDPC码,其中基LDPC奇偶校验矩阵(PCM)得到‘提升’。例如,“提升”要求用ZxZ子矩阵替换每个基PCM条目。对于‘0’基PCM条目,ZxZ子矩阵可以是全零矩阵;或者对于‘1’基PCM条目,ZxZ子矩阵可以是循环旋转的单位矩阵。QC LDPC码通过使解码器(诸如图8中所解说的解码器)能够与交换网络复制处理Z次以交换消息来实现硬件中的并行处理。
LDPC解码器实现消息传递架构以实现迭代的置信传播(BP)算法。对数BP算法可被写为:
Figure BDA0002044776460000201
Figure BDA0002044776460000202
Rmj=-smjΨ(Amj) (式3)
Figure BDA0002044776460000203
L(qmj)=L(qj)-Rmj (式5)
其中L(c)是定义为
Figure BDA0002044776460000204
的对数似然比,m是奇偶校验节点或PCM行索引,j是比特节点或PCM列索引,N(m)是连接到奇偶校验节点m的比特的全部比特索引的集合,并且M(j)是连接到比特j的全部奇偶校验节点的全部奇偶校验节点索引的集合。对于码字的每个比特,可以使用LLR来初始化L(qmj),L(qmj)也被称为比特LLR,其由从通信信道的观察来确定(诸如使用/>
Figure BDA0002044776460000205
其中rj是衰落增益,且σ2是信道方差)。
根据各方面,式1计算比特j的奇偶校验度量Amj,其通过变换Ψ对连接到奇偶校验节点m的全部比特的输入比特LLRL(qmn)(除了比特j的LLR)求和。该操作连同式3一起基于对属于奇偶校验m的其他比特的观察来计算比特j的后验LLR Rmj。式2基于输入比特LLRL(qmn)的符号来计算后验LLR Rmj的符号smj。式4通过将来自解码器的关于比特j的全部后验LLRRmj(即,外部LLR)和来自信道的先验LLR
Figure BDA0002044776460000206
(即,固有LLR)组合在一起来计算经更新的比特LLRL(qj)。式5在比特LLR总和L(qmj)被传递回奇偶校验节点m以计算下一次迭代中的经更新的后验/外部LLR Rmj之前从比特LLR总和L(qj)中减去奇偶校验节点m的外部LLR Rmj。对于‘泛洪’LDPC解码器迭代,针对全部奇偶校验节点执行步骤1-3(即,计算式1-3),之后全部比特(变量)节点执行步骤4(即,计算式4)以更新比特LLR L(qj)。
例如,如本文所呈现的分层LDPC解码器执行类似于以上式1-5的步骤,但是稍作修改。例如,分层对数BP算法可被写为:
L(qmj)=L(qj)-Rmj (式6)
Figure BDA0002044776460000211
Figure BDA0002044776460000212
Rmj=-smjΨ(Amj) (式9)
L(qj)=L(qmj)+Rmj (式10)
在以上分层解码步骤(即,式6-10)中,比特LLRL(qj)是用信道比特LLR
Figure BDA0002044776460000213
来初始化的。根据某些方面,分层解码(式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(在全部m和j上循环式1-3)。结果,分层解码允许信息(以经更新的后验LLR Rmj的形式)比泛洪解码器更快地传播通过置信传播消息传递,这导致更快的解码器收敛。
图9解说了通用分层LDPC解码器900的高级框图,其可以是图8中所解说的解码器的示例。如所解说的,分层LDPC解码器包括LLR存储存储器902以用于存储比特LLR(例如,L(qj))(即,码字的每比特存储一比特LLR),其由信道比特LLR(例如,
Figure BDA0002044776460000214
)来初始化,其又由后验LLR(例如,Rmj)来更新。分层LDPC解码器900还包括数据路径处理器904,其并行操作以计算后验LLR并更新LLR存储存储器902中存储的比特LLR。分层LDPC解码器900附加地包括:度量存储存储器906(以存储由数据路径处理器904计算的后验LLR)和置换网络908(以在存储器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,6)是空的,行4的后验LLR计算不包括列6。当计算行5的后验LLR时,从存储器(例如,LLR存储存储器902)读取而非从先前的更新计算传递列6的比特LLR。还应注意,写入和读取冲突是可能的,因为式6和10可以从LLR存储器902读取、也可以对LLR存储器902写入。如果LLR存储存储器902仅具有单个读取和单个写入端口,则此类冲突可在处理流水线中产生“气泡”(例如,延迟)。
由于递归处理也可能引入气泡,其中行(层)的比特LLR更新被传递到下一层的后验LLR处理,对于该下一层,经计算的后验LLR被再次用于更新比特LLR。例如,给定非零处理流水线深度,在比特LLR更新阶段之间可能存在间隙,使得后验LLR计算可以完成。
例如,图11A解说了用于计算后验LLR并基于后验LLR来更新比特LLR的这种逐行处理。如图11A中所解说的,由于递归处理具有后验计算(例如,式6-9)和比特LLR更新步骤(例如,式10)之间的相互依赖性,因此存在流水线“气泡”(例如,处理中的间隙)。流水线气泡随着流水线深度以及存储器冲突的增加而增长,例如,如图11B中所解说的,其中可以看出流水线深度增加到3个循环,伴随着存储器冲突增加了由于流水线气泡而浪费的循环次数。因此,本公开的各方面提出了用于缓解流水线气泡的技术,例如,通过放宽更新比特LLR和计算后验LLR之间的依赖性,使得对于特定行,后验处理可以使用最新的可用比特LLR而非等待最新的更新发生。
图12解说了用于无线通信的示例操作1200,例如,用于在解码LDPC经编码比特时减少处理延迟和存储器冲突。根据某些方面,操作1200可以由无线通信设备中的解码器(例如,解码器800)来执行,该无线通信设备诸如是基站(例如,B节点110和/或发射机系统210)、用户装备(例如,无线节点116和/或接收机系统250)、和/或无线设备302等。
操作1200始于1202,接收与使用LDPC编码来编码的比特相对应的对数似然比(LLR)。在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期间,解码器通过采取图14A中所解说的PCM的列0的比特LLR L(q0)来对行4的比特0计算式6,并且从列0的比特LLR中减去过时的后验LLR Rmj。这导致行4、列0的比特LLR(即,L(q40))。结果得到的比特LLR L(q40)需要被存储在某处(例如,在LLR存储器902中)以便稍后被用于计算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)导出)由于流水线处理延迟还未存储在存储器中,这可能使解码器性能降低。另外,对于循环4,因为对于式6和10的处理都想要在相同循环中写入该存储器,所以存在存储器冲突。在一些情形中,解码器可以选择延迟式6写操作或式10写操作以解决该冲突,其在图14B中所示的括号中的步骤中被解说。然而,无论哪种方式,都可能存在不期望的行为。例如,如果首先发生式6写操作,则当行5的更新发生时,L(q50)消息将被盖写。另外,如果首先发生式10写操作,则行4的更新将被盖写。
根据某些方面,对分层等式(例如,式6-10)稍作修改解决了存储器一致性和冲突问题,如以下所解说的。
L(qmj)=L(qj)-Rmj(旧的) (式11)
Figure BDA0002044776460000251
Figure BDA0002044776460000252
Rmj(新的)=-SmjΨ(Amj- (式14)
L(qj)=L(qj)+(Rmj(新的)-Rmj(旧的)) (式15)
如式6-9中那样,由式11生成的L(qmj)被馈送到式12-14中的后验处理。然而,与式6-9不同,L(qmj)不如图14B中的示例所示的那样存储在LLR存储器中。取而代之的是,用旧的和新的后验LLR之间的差异(即,(Rmj(新的)-Rmj(旧的)))来更新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中。根据某些方面,通过将式11处理中的L(q50)交换为L(q55)允许L(q0)的最新更新被用于L(q50)处理,如图16所解说的。
根据某些方面,由于消息传递中的延迟,将从存储器读取L(qj)而非L(qmj)。由于式11和15都访问存储器以读取L(qj),可能需要高存储器带宽以将L(qj)消息馈送到用于式11和15两者的逐循环处理。
图17解说了用于增加存储器带宽以容纳LLR的处理和更新的示例性解决方案。例如,根据某些方面,为了在不向存储器添加昂贵的附加端口的情况下实现较高的读/写带宽,LLR存储器(例如,LLR存储器存储902)可被拆分成双组并且L(qj)消息可以在存储器的各组中以特定次序来排序(例如,基于PCM中的行之间的依赖性)以避免式11处理和式15处理尝试在相同循环上读取相同的组的冲突,例如,如图17中所解说的。换言之,将LLR存储器在逻辑上拆分成双组使得解码器(例如,解码器800)能够同时从存储器的两个组进行读取并且还同时写入存储器的两个组,由此增加读/写带宽。
另外,存储器中的排序和其中处理比特(即,列)索引的次序也可以按此方式执行以最大化传递图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中的行之间的依赖性)有利地选择PCM行计算次序,对存储器中的后验LLR和比特LLR更新进行排序,和/或选择存储器组以存储后验LLR和比特LLR更新,以缓解存储器冲突/一致性错误并减少流水线处理延迟,由此增加解码效率和准确性。
本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。
如本文中所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或其他数据结构中查找)、探知及诸如此类。而且,“确定”可包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)及诸如此类。而且,“确定”还可包括解析、选择、选取、确立及类似动作。
在一些情形中,设备可以并非实际上传送帧,而是可具有用于输出帧以供传输的接口。例如,处理器可经由总线接口向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)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文中所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和
Figure BDA0002044776460000291
碟,其中盘(disk)常常磁性地再现数据,而碟(disc)用激光来光学地再现数据。因此,在一些方面,计算机可读介质可包括非瞬态计算机可读介质(例如,有形介质)。另外,对于其他方面,计算机可读介质可包括瞬态计算机可读介质(例如,信号)。上述的组合应当也被包括在计算机可读介质的范围内。
因此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。
此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其它恰适装置能由无线节点和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合至服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文中所描述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘之类的物理存储介质等)来提供,以使得一旦将该存储装置耦合到或提供给无线节点和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。
将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。

Claims (30)

1.一种用于执行低密度奇偶校验(LDPC)解码的方法,所述方法包括:
接收对应于使用LDPC编码来编码的比特的比特对数似然比(LLR);
更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的所述比特LLR,所述比特LLR指示每个经编码比特的值的概率;
通过处理所述PCM的行内的每个比特LLR来为每个经编码比特确定所述行的后验LLR,其中对于第一组经编码比特,确定所述后验LLR包括使用第一数目的过时的比特LLR,并且其中对于第二组经编码比特,确定所述后验LLR包括使用第二数目的经更新的比特LLR,其中所述第一组经编码比特和所述第二组经编码比特包括全部经编码比特;以及
利用所述比特LLR来解码所述经编码比特。
2.如权利要求1所述的方法,其中更新所述比特LLR是基于对应的后验LLR的。
3.如权利要求2所述的方法,其中基于所述对应的后验LLR来更新所述比特LLR包括:基于对应的过时的后验LLR与对应的经更新的后验LLR之间的差异来更新所述比特LLR。
4.如权利要求1所述的方法,进一步包括:将对应于第三组经编码比特的第一组经更新的比特LLR存储在第一存储器组中,以及将对应于第四组经编码比特的第二组经更新的比特LLR存储在第二存储器组中,其中所述第三组经编码比特和所述第四组经编码比特包括全部经编码比特。
5.如权利要求4所述的方法,进一步包括:在从所述第一存储器组进行读取的同时从所述第二存储器组进行读取。
6.如权利要求4所述的方法,进一步包括:基于所述PCM的各行之间的依赖性来为所述第三组经编码比特或所述第四组经编码比特选择比特。
7.如权利要求6所述的方法,进一步包括:基于所述PCM中的各行之间的依赖性来确定用于更新所述比特LLR的次序。
8.如权利要求1所述的方法,其中利用所述比特LLR来对所述经编码比特进行解码包括:利用所述比特LLR在所述经编码比特上执行分层解码。
9.一种用于执行低密度奇偶校验(LDPC)解码的装置,包括:
至少一个处理器,其被配置成:
接收对应于使用LDPC编码来编码的比特的比特对数似然比(LLR);
更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的所述比特LLR,所述比特LLR指示每个经编码比特的值的概率;
通过处理所述PCM的行内的每个比特LLR来为每个经编码比特确定所述行的后验LLR,其中对于第一组经编码比特,确定所述后验LLR包括使用第一数目的过时的比特LLR,并且其中对于第二组经编码比特,确定所述后验LLR包括使用第二数目的经更新的比特LLR,其中所述第一组经编码比特和所述第二组经编码比特包括全部经编码比特;以及利用所述比特LLR来解码所述经编码比特;以及
与所述至少一个处理器耦合的存储器。
10.如权利要求9所述的装置,其中更新所述比特LLR是基于对应的后验LLR的。
11.如权利要求10所述的装置,其中基于所述对应的后验LLR来更新所述比特LLR包括:基于对应的过时的后验LLR与对应的经更新的后验LLR之间的差异来更新所述比特LLR。
12.如权利要求9所述的装置,其中所述至少一个处理器被进一步配置成:将对应于第三组经编码比特的第一组经更新的比特LLR存储在第一存储器组中,并且将对应于第四组经编码比特的第二组经更新的比特LLR存储在第二存储器组中,其中所述第三组经编码比特和所述第四组经编码比特包括全部经编码比特,并且其中所述存储器包括所述第一存储器组和所述第二存储器组。
13.如权利要求12所述的装置,其中所述至少一个处理器被进一步配置成在从所述第一存储器组进行读取的同时从所述第二存储器组进行读取。
14.如权利要求12所述的装置,其中所述至少一个处理器被进一步配置成:基于所述PCM中的各行之间的依赖性来为所述第三组经编码比特或所述第四组经编码比特选择比特。
15.如权利要求14所述的装置,其中所述至少一个处理器被进一步配置成:基于所述PCM中的各行之间的依赖性来确定用于更新所述比特LLR的次序。
16.如权利要求9所述的装置,其中所述至少一个处理器被配置成:通过利用所述比特LLR在所述经编码比特上执行分层解码来利用所述比特LLR对所述经编码比特进行解码。
17.一种用于执行低密度奇偶校验(LDPC)解码的装备,包括:
用于接收对应于使用LDPC编码来编码的比特的比特对数似然比(LLR)的装置;
用于更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的所述比特LLR的装置,所述比特LLR指示每个经编码比特的值的概率;
用于通过处理所述PCM的行内的每个比特LLR来为每个经编码比特确定所述行的后验LLR的装置,其中对于第一组经编码比特,确定所述后验LLR包括使用第一数目的过时的比特LLR,并且其中对于第二组经编码比特,确定所述后验LLR包括使用第二数目的经更新的比特LLR,其中所述第一组经编码比特和所述第二组经编码比特包括全部经编码比特;以及
用于利用所述比特LLR来解码所述经编码比特的装置。
18.如权利要求17所述的装备,其中用于更新的装置进一步包括:用于基于对应的后验LLR来更新所述比特LLR的装置。
19.如权利要求18所述的装备,其中用于基于所述对应的后验LLR来更新所述比特LLR的装置进一步包括:用于基于对应的过时的后验LLR与对应的经更新的后验LLR之间的差异来更新所述比特LLR的装置。
20.如权利要求17所述的装备,进一步包括:用于将对应于第三组经编码比特的第一组经更新的比特LLR存储在第一存储器组中的装置,以及用于将对应于第四组经编码比特的第二组经更新的比特LLR存储在第二存储器组中的装置,其中所述第三组经编码比特和所述第四组经编码比特包括全部经编码比特。
21.如权利要求20所述的装备,进一步包括用于在从所述第一存储器组进行读取的同时从所述第二存储器组进行读取的装置。
22.如权利要求20所述的装备,进一步包括:用于基于所述PCM中的各行之间的依赖性来为所述第三组经编码比特或所述第四组经编码比特选择比特的装置。
23.如权利要求22所述的装备,进一步包括:用于基于所述PCM中的各行之间的依赖性来确定用于更新所述比特LLR的次序的装置。
24.如权利要求17所述的装备,其中用于利用的装置进一步包括用于通过利用所述比特LLR在所述经编码比特上执行分层解码来利用所述比特LLR对所述经编码比特进行解码的装置。
25.一种用于执行低密度奇偶校验(LDPC)解码的非瞬态计算机可读介质,其包括在被至少一个处理器执行时将所述至少一个处理器配置成执行以下动作的指令:
接收对应于使用LDPC编码来编码的比特的比特对数似然比(LLR);
更新对应于奇偶校验矩阵(PCM)的列的每个经编码比特的所述比特LLR,所述比特LLR指示每个经编码比特的值的概率;
通过处理所述PCM的行内的每个比特LLR来为每个经编码比特确定所述行的后验LLR,其中对于第一组经编码比特,确定所述后验LLR包括使用第一数目的过时的比特LLR,并且其中对于第二组经编码比特,确定所述后验LLR包括使用第二数目的经更新的比特LLR,其中所述第一组经编码比特和所述第二组经编码比特包括全部经编码比特;以及
利用所述比特LLR来解码所述经编码比特。
26.如权利要求25所述的非瞬态计算机可读介质,其中基于对应的后验LLR来更新所述比特LLR,并且其中基于所述对应的后验LLR来更新所述比特LLR包括基于对应的过时的后验LLR与对应的经更新的后验LLR之间的差异来更新所述比特LLR。
27.如权利要求25所述的非瞬态计算机可读介质,进一步包括将所述至少一个处理器配置成执行以下动作的指令:将对应于第三组经编码比特的第一组经更新的比特LLR存储在第一存储器组中,并且将对应于第四组经编码比特的第二组经更新的比特LLR存储在第二存储器组中,其中所述第三组经编码比特和所述第四组经编码比特包括全部经编码比特。
28.如权利要求27所述的非瞬态计算机可读介质,进一步包括在从所述第一存储器组进行读取的同时从所述第二存储器组进行读取。
29.如权利要求27所述的非瞬态计算机可读介质,进一步包括以下至少一者:
基于所述PCM的各行之间的依赖性来为所述第三组经编码比特或所述第四组经编码比特选择比特;或者
基于所述PCM中的各行之间的依赖性来确定用于更新所述比特LLR的次序。
30.如权利要求25所述的非瞬态计算机可读介质,其中用于利用所述比特LLR对所述经编码比特进行解码的指令包括使得所述至少一个处理器利用所述比特LLR在所述经编码比特上执行分层解码的指令。
CN201780067344.6A 2016-11-02 2017-09-23 流水线高吞吐量分层ldpc解码器架构 Active CN109906559B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662416584P 2016-11-02 2016-11-02
US62/416,584 2016-11-02
US15/712,845 US10778371B2 (en) 2016-11-02 2017-09-22 Deeply-pipelined high-throughput LDPC decoder architecture
US15/712,845 2017-09-22
PCT/US2017/053128 WO2018084956A1 (en) 2016-11-02 2017-09-23 Pipelined high-throughput layered ldpc decoder architecture

Publications (2)

Publication Number Publication Date
CN109906559A CN109906559A (zh) 2019-06-18
CN109906559B true CN109906559B (zh) 2023-07-04

Family

ID=62022740

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780067344.6A Active CN109906559B (zh) 2016-11-02 2017-09-23 流水线高吞吐量分层ldpc解码器架构

Country Status (8)

Country Link
US (1) US10778371B2 (zh)
EP (1) EP3535849B1 (zh)
JP (1) JP6840236B2 (zh)
KR (1) KR102265247B1 (zh)
CN (1) CN109906559B (zh)
BR (1) BR112019008746A2 (zh)
SG (1) SG11201902036YA (zh)
WO (1) WO2018084956A1 (zh)

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
CN109921880B (zh) * 2019-01-25 2020-10-23 北京航空航天大学 基于询问的目标定位方法、装置与电子设备
CN112583419B (zh) * 2019-09-30 2024-06-18 华为技术有限公司 一种译码方法及装置
US20210152282A1 (en) * 2019-11-15 2021-05-20 Nvidia Corporation Scheduling method for ldpc decoding
US11799700B1 (en) * 2022-08-31 2023-10-24 Qualcomm Incorporated Decoding multi-level coded (MLC) systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6633865B1 (en) 1999-12-23 2003-10-14 Pmc-Sierra Limited Multithreaded address resolution system
US6633856B2 (en) 2001-06-15 2003-10-14 Flarion Technologies, Inc. Methods and apparatus for decoding LDPC codes
US7673223B2 (en) * 2001-06-15 2010-03-02 Qualcomm Incorporated Node processors for use in parity check decoders
US6961888B2 (en) 2002-08-20 2005-11-01 Flarion Technologies, Inc. Methods and apparatus for encoding LDPC codes
US7174495B2 (en) * 2003-12-19 2007-02-06 Emmanuel Boutillon LDPC decoder, corresponding method, system and computer program
CN101601187B (zh) * 2007-01-24 2014-08-20 高通股份有限公司 对可变大小分组进行ldpc编码和译码
US8359522B2 (en) * 2007-05-01 2013-01-22 Texas A&M University System Low density parity check decoder for regular LDPC codes
US7958429B2 (en) * 2007-07-02 2011-06-07 Broadcom Corporation Distributed processing LDPC (low density parity check) decoder
US20090113256A1 (en) * 2007-10-24 2009-04-30 Nokia Corporation Method, computer program product, apparatus and device providing scalable structured high throughput LDPC decoding
US8219876B2 (en) * 2007-10-24 2012-07-10 Core Wireless Licensing, S.a.r.l. Method, apparatus, computer program product and device providing semi-parallel low density parity check decoding using a block structured parity check matrix
US20090271686A1 (en) * 2008-04-28 2009-10-29 Qualcomm Incorporated Communication signal decoding with iterative cooperation between turbo and reed-solomon decoding
US8464121B2 (en) * 2009-01-07 2013-06-11 Intel Corporation LDPC codes with small amount of wiring
US8443255B2 (en) * 2010-08-26 2013-05-14 Qualcomm Incorporated Parity check matrix optimization and selection for iterative decoding
US9037938B2 (en) * 2012-10-30 2015-05-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Hardware architecture and implementation of low power layered multi-level LDPC decoder
US9235467B2 (en) * 2013-03-15 2016-01-12 Pmc-Sierra Us, Inc. System and method with reference voltage partitioning for low density parity check decoding
KR102241416B1 (ko) * 2013-09-16 2021-04-16 삼성전자주식회사 디지털 비디오 방송 시스템에서 LDPC(Low Density Parity Check) 복호기 및 LDPC 복호기의 복호화 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103155421A (zh) * 2011-01-14 2013-06-12 马维尔国际贸易有限公司 Ldpc多解码器架构

Also Published As

Publication number Publication date
CN109906559A (zh) 2019-06-18
KR20190071728A (ko) 2019-06-24
BR112019008746A2 (pt) 2019-07-09
US20180123734A1 (en) 2018-05-03
JP6840236B2 (ja) 2021-03-10
SG11201902036YA (en) 2019-05-30
WO2018084956A1 (en) 2018-05-11
KR102265247B1 (ko) 2021-06-14
EP3535849B1 (en) 2022-04-13
US10778371B2 (en) 2020-09-15
JP2019536316A (ja) 2019-12-12
EP3535849A1 (en) 2019-09-11

Similar Documents

Publication Publication Date Title
CN110622425B (zh) 用于执行低密度奇偶校验(ldpc)解码的方法和装置
CN108352936B (zh) 用于无线地传送数据的方法和装置
CN109964411B (zh) 对ldpc码的有效的列表解码
CN109906559B (zh) 流水线高吞吐量分层ldpc解码器架构
EP3526900B1 (en) Modified min-sum decoder for ldpc codes
CN109923787B (zh) 用于分层ldpc解码器的早期终止
EP3535851A1 (en) Non-linear log-likelihood ratio quantization techniques 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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40007668

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant