CN112913146B - 用于3gpp新空口的(解)交织和速率(去)匹配的优化实现方案 - Google Patents

用于3gpp新空口的(解)交织和速率(去)匹配的优化实现方案 Download PDF

Info

Publication number
CN112913146B
CN112913146B CN201880099351.9A CN201880099351A CN112913146B CN 112913146 B CN112913146 B CN 112913146B CN 201880099351 A CN201880099351 A CN 201880099351A CN 112913146 B CN112913146 B CN 112913146B
Authority
CN
China
Prior art keywords
bits
registers
interleaving
memory
processor
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
CN201880099351.9A
Other languages
English (en)
Other versions
CN112913146A (zh
Inventor
刘清朝
陈锡先
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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN112913146A publication Critical patent/CN112913146A/zh
Application granted granted Critical
Publication of CN112913146B publication Critical patent/CN112913146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, 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 using interleaving techniques
    • H03M13/2703Coding, 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 using interleaving techniques the interleaver involving at least two directions
    • H03M13/2707Simple row-column interleaver, i.e. pure block interleaving
    • 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/13Linear 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/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • 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/6569Implementation on processors, e.g. DSPs, or software implementations

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Error Detection And Correction (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

公开了用于与无线传输相关联的通信装置的设备和方法。在一个实施例中,一种方法包括通过将位集并行地加载到多个寄存器中来执行低密度奇偶校验LDPC、解码过程和LDPC编码过程中的一个,该位集分布在多个寄存器之间;通过将所加载的位集重新布置为解交织和交织位集中的一个,对多个寄存器内的所加载的位集进行解交织和交织中的一个;以及在将所述位集重新布置为多个寄存器内的解交织和交织位集中的一个之后,将解交织和交织位集中的一个从所述多个寄存器并行地写入存储器。

Description

用于3GPP新空口的(解)交织和速率(去)匹配的优化实现方案
技术领域
无线通信,并且尤其是用于解交织和速率去匹配的算法优化。
背景技术
低密度奇偶校验(LDPC)码由罗伯特·加拉格尔(Robert Gallager)于1963年首次开发。由于当时过于复杂而无法实施,因此LDPC完全被遗忘了,直到1996年他的工作被重新发现为止。在2003年,不规则的重复堆积(IRA)样式LDPC码击败了六个Turbo码,从而成为用于卫星传输的新的数字视频广播-卫星-第二代(DVB-S2)标准中的纠错码。在2008年,LDPC击败了卷积Turbo码而作为用于国际电信联盟(ITU-T)G.hn标准的前向纠错(FEC)系统。LDPC码还用于10GBase-T以太网,其通过双绞线电缆以每秒10千兆位的速度发送数据。从2009年开始,LDPC码也是Wi-Fi 802.11标准的一部分,作为高吞吐量(HT)PHY规范中的802.11n和802.11ac的可选部分。2017年12月,LDPC被第三代合作伙伴计划(3GPP)采用,以用于第五代(5G)新空口(NR)标准中的业务信道。
如图1示出了例如LDPC编码和解码过程链的图,其可以是5G NR标准中的层1(L1)下行链路(DL)的一部分。对于DL发送器,信息位加上传输块(TB)循环冗余校验(CRC)可以在媒体访问控制(MAC)层上形成TB。如图1所示,TB然后被传递到物理层以进行进一步处理,诸如例如L1中的编码过程链。作为编码过程链的一部分,可以将TB划分为较小的代码块,这可以称为代码块(CB)分段。在CB分段和附接CB CRC之后,可以使用例如LDPC编码方案来对每个CB进行编码。在LDPC编码之后,可以执行速率匹配和交织,以及CB级联和加扰。然后可以使用正交相移键控(QPSK)、16正交幅度调制(16QAM)、64QAM或256QAM调制输出。在层映射、预编码、资源映射、正交频分复用(OFDM)信号生成后,输出通过无线电发送到空中。
接收器可以接收输出信号。接收器处理链通常可以被认为是传送器处理链的反向。在5G中,时隙时间持续时间比其他标准(例如长期演进(LTE))的时隙时间持续时间短得多。例如,对于LTE,时隙持续时间为1毫秒(ms);然而,对于5G,时隙时间持续时间可能短至125微秒(µs)。因此,应开发信号处理技术以支持更短的时隙时间持续时间,诸如5G NR的那些时隙时间持续时间。
国际公开号为WO2018/137645A1涉及一种收发器,其将经编码的数据传送到无线装置的至少一个网络节点。VLSI信号处理期刊在2005年1月1日编号1-2的卷39中的文章“并行DSP架构上的交织(Interleaving on Parallel DSP Architectures)”(由ThomasRichter等人所著)涉及并行数字信号处理(DSP)架构上的交织。美国专利号6476738描述了一种移位寄存器,其加载有锁存到寄存器的并行信号。
发明内容
一些实施例有利地提供了用于解交织和速率去匹配以及交织和速率匹配的方法和设备,它们可以提供对无线电信号的更快处理。
根据第一方面,提供了一种用于与无线传输相关联的通信装置的方法。该方法包括执行低密度奇偶校验LDPC解码过程和LDPC编码过程中的一个。LDPC解码过程和LDPC编码过程中的一个包括:将位集(set of bits)并行地加载到多个寄存器中,该位集分布在多个寄存器(register)之间;通过将所加载的位集重新布置为解交织和交织位集中的一个,对多个寄存器内的所加载的位集进行解交织和交织中的一个;以及在将所述位集重新布置为多个寄存器内的解交织和交织位集中的一个之后,将解交织和交织位集中的一个从所述多个寄存器并行地写入存储器。
根据这个方面,对于解交织操作,位集包括编码软位集。对于交织操作,位集包括编码位集。在该方面的一些实施例中,多个寄存器中的每个是执行LDPC解码过程和LDPC编码过程中的一个的至少一个处理器的处理器寄存器架构的一部分;并且存储器在至少一个处理器的外部,并且经由至少一个总线由至少一个处理器间隔。在该方面的一些实施例中,对多个寄存器内的位集内的位集进行解交织和交织中的一个还包括:通过在不访问所述存储器的情况下将位集重新布置为解交织和交织位集中的一个而对多个寄存器内的位集进行解交织和交织中的一个,在不访问所述存储器的情况下使用所述多个寄存器执行所述解交织和所述交织中的一个比使用所述存储器执行所述解交织和所述交织中的一个更快。在该方面的一些实施例中,如果解交织和交织中的一个是解交织,则位集包括软位集,该软位集对应于多个软值,所述多个软值中的每个对应于LDPC概率值。在该方面的一些实施例中,对多个寄存器内的位集进行解交织包括对位集中的软位进行混洗(shuffling);置换(permuting)所混洗的软位;并且对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集。在该方面的一些实施例中,对多个寄存器内的位集进行解交织包括:在所述多个寄存器的每个寄存器内:对所述位集中的软位进行混洗而不会越过寄存器的通道;以及跨所述寄存器的所述通道置换所混洗的软位;以及在所述多个寄存器内,对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集而无需访问所述存储器。在该方面的一些实施例中,对多个寄存器内的位集进行交织包括对多个寄存器内的位集的位执行封装和解封装;置换所述多个寄存器内的每个寄存器内的封装和解封装位;以及对多个寄存器的每个寄存器内所置换的、封装和解封装位集进行混洗,以产生交织位集而无需访问存储器。在该方面的一些实施例中,通过对多个寄存器内的位集的重新布置而产生的解交织和交织位集中的一个表示与所加载的位集相关联的矩阵的转置矩阵。在该方面的一些实施例中,将所述解交织和交织位集中的一个从所述多个寄存器并行地写入所述存储器包括:将所述解交织和交织位集中的一个存储在通过至少计算基地址加偏移所确定的存储器地址处的所述存储器,所述偏移至少部分地基于所述无线传输的代码块的调制阶数和速率匹配输出位序列长度。
根据第二方面,提供了一种与无线传输相关联的通信装置。该通信装置包括具有多个寄存器的至少一个处理器,该至少一个处理器与存储器通信。该至少一个处理器被配置成执行低密度奇偶校验LDPC解码过程和LDPC编码过程中的一个,LDPC解码过程和LDPC编码过程中的一个包括:将位集并行地加载到多个寄存器中,所述位集分布在所述多个寄存器之间;通过将所加载的位集重新布置为解交织和交织位集中的一个,对所述多个寄存器内的所加载的位集进行解交织和交织中的一个;以及在将所述位集重新布置为所述多个寄存器内的所述解交织和交织位集中的一个之后,将所述解交织和交织位集中的一个从所述多个寄存器并行地写入存储器。
处理器还被配置成例如执行本文中描述的所有功能性和方法以及第一方面中描述的所有实施例。
根据第三方面,提供了一种用于与无线通信相关联的通信装置的方法。该方法包括通过至少迭代处理位序列中的位来对与无线通信相关联的代码块的位序列执行速率去匹配和速率匹配中的一个,并且对于每个迭代,在处理所述位之前,预计算起始位置值和位处理编号,所述起始位置值表示在各个迭代中要处理的位的起始位,并且所述位处理编号表示在各个迭代中要处理的位的总数。
在该方面的一些实施例中,如果速率去匹配和速率匹配中的一个是速率去匹配,则位序列包括编码软位。在该方面的一些实施例中,如果速率去匹配和速率匹配中的一个是速率匹配,则位序列包括编码位。在该方面的一些实施例中,速率去匹配和速率匹配中的一个由通信装置的至少一个处理器执行,而无需执行任何除法操作。在该方面的一些实施例中,速率去匹配和速率匹配中的一个由通信装置的至少一个处理器执行,而无需执行任何模数操作。在该方面的一些实施例中,对于迭代中的每个的起始位置值和位处理编号的预计算允许至少一个处理器执行速率去匹配和速率匹配中的一个,而无需执行任何除法操作。在该方面的一些实施例中,速率去匹配和速率匹配中的一个在低密度奇偶校验LDPC、处理链和极性处理链中的至少一个中执行。在该方面的一些实施例中,对于所述速率匹配,迭代处理所述位序列中的所述位包括重复和打孔所述位中的至少一个以匹配与分配用于所述无线通信的资源相关联的位的总数;以及对于所述速率去匹配,迭代处理所述位序列的所述位包括组合所述位以产生速率去匹配的软位序列。在该方面的一些实施例中,所述预计算所述起始位置值和所述位处理编号至少部分地基于:所述代码块的长度,对于所述代码块的所述位序列的速率去匹配和速率匹配中的一个,要处理的位的总数,以及循环缓冲器的起始位置,所述起始位置至少部分地由所述无线通信的冗余版本确定。在该方面的一些实施例中,所述预计算所述起始位置值和所述位处理编号包括:至少部分地基于以下来确定所述位处理编号:各个迭代的所述起始位置值,所述代码块的长度,对于所述代码块的所述位序列的速率去匹配和速率匹配中的一个,要处理的位的总数,以及循环缓冲器的起始位置,所述起始位置至少部分地由所述无线通信的冗余版本确定。
根据第四方面,提供了一种与无线通信相关联的通信装置。该通信装置包括至少一个处理器,所述至少一个处理器与存储器通信,所述至少一个处理器配置有机器指令以:通过至少迭代处理所述位序列中的位,来执行与无线通信相关联的代码块的位序列的速率去匹配和速率匹配中的一个,以及对于每个迭代,在处理所述位之前,预计算起始位置值和位处理编号,所述起始位置值表示在各个迭代中要处理的位的起始位,并且所述位处理编号表示在各个迭代中要处理的位的总数。
该处理器还被配置成例如执行本文描述的所有方法和功能性以及第三方面的实施例。
附图说明
通过参考以下详细描述当结合附图考虑时,将更容易理解对本发明实施例及其伴随的优点和特征的更完整理解,其中:
图1是例如作为L1 DL通信的一部分的LDPC编码和解码过程链的框图;
图2是示出根据本公开的原理的经由中间网络连接到主机计算机的通信系统的示例性网络架构的示意图;
图3是根据本公开的一些实施例的通过至少部分无线连接经由网络节点与无线装置进行通信的主机计算机的框图;
图4是示出根据本公开的一些实施例的在包括主机计算机、网络节点和无线装置以用于在无线装置处执行客户端应用的通信系统中实现的示例性方法的流程图;
图5是示出根据本公开的一些实施例的在包括主机计算机、网络节点和无线装置以用于在无线装置处接收用户数据的通信系统中实现的示例性方法的流程图;
图6是示出根据本公开的一些实施例的在包括主机计算机、网络节点和无线装置以用于从主机计算机处的无线装置接收用户数据的通信系统中实现的示例性方法的流程图;
图7是示出根据本公开的一些实施例的在包括主机计算机、网络节点和无线装置以用于在主机计算机处接收用户数据的通信系统中实现的示例性方法的流程图;
图8是根据本公开的一些实施例的在网络节点中用于对过程链进行编码的示例性过程的流程图;以及
图9是根据本公开的一些实施例的用于对过程链进行解码的无线装置中的示例性过程的流程图;
图10示出了根据本公开的一些实施例利用表的混洗;
图11示出了根据本公开的一些实施例利用表的置换;
图12示出了根据本公开的一些实施例利用表的软值分组;
图13示出了根据本公开的一些实施例利用表的软值分组;
图14示出了根据本公开的一些实施例的封装和解封装;
图15示出了根据本公开的一个示例利用表的针对寄存器0的用于封装和解封装的软值组映射;以及
图16示出了根据本公开的一个示例利用表的针对寄存器1的封装和解封装。
具体实施方式
与现有技术相比,5G NR具有独特的要求,其可以从本文公开的技术中受益,以便更快地处理信号。例如,5G NR要求经由混合自动重发请求(HARQ)支持增量冗余。除此之外,还应支持速率匹配,以动态地将编码速率调整到所分配的资源。
可以每个编码块(CB)定义针对LDPC码的速率匹配,并且可以包括至少位选择和位交织过程。到速率匹配的输入位序列可以由表示。速率匹配之后的输出位序列可以表示为/>
位选择
可以将编码后的位序列写入长度为N的第r个编码块的循环缓冲区,其中N是对每码块进行编码后的位的总数。速率匹配之后的起始位置和输出位的总数可以由可用于TB的传输的冗余版本、调制顺序、层数、TB大小和/或编码位的总数确定。
起始位位置可以表示为k0,并且可以由冗余版本确定。此外,Ncb可以表示CB长度。因此,对于传送器,用于生成速率匹配输出位序列的伪代码可以如下:
在接收器侧,用于接收器处速率去匹配的伪代码可能如下:
不幸的是,由于计算此伪代码中的每个输出值要求模数操作,因此该算法可能效率不高。例如,执行模数操作要求除法操作,这可能要求比其他数学操作更多的处理循环来计算。
位交织
根据下面的伪代码,可以将位序列与位序列/>交织,其中Q的值可以由下面表(表1)给出:
表1
调制
π/2-BPSK, BPSK 1
QPSK 2
16QAM 4
64QAM 6
256QAM 8
表1:每个QAM符号的调制和编码位数
由于每个输出位是顺序计算而不是并行计算的,因此该算法可能也不有效。因此,本公开的一些实施例提供了更有效的算法,以在诸如例如LDPC解码过程链之类的解码过程链中实现解交织和速率去匹配操作,以及交织和速率匹配操作。例如,对于解交织操作,可以使用基于矢量的并行化。在这样的实施例中,每个操作可以包括例如超快的8×64字节,其与现有算法相比是非常快的。存储器读和写操作两者都可以并行执行(批量操作)。在一些实施例中,每个读/写操作可以包括2x64字节的存储器读/写。用于解交织的本公开的一些实施例可以包括以下步骤:将软值并行加载到8个寄存器中;在每寄存器通道中对软值进行混洗;每寄存器的置换/排列(permutating);解封装和封装;并且并行存储结果。
在本公开的其他实施例中,对于速率匹配操作,可以不使用模块化操作,并且相反可以使用大批读和写来预计算起始位置和环绕(wraparound)位置。
有利地,本公开的一些实施例提供以下中的一个或多个:
•更少的中央处理单元(CPU)循环:在一些实施例中,本文公开的技术已导致解交织和速率去匹配,这比在接收器处的LDPC解码过程链中用于解交织和速率去匹配操作的现有解决方案快40倍。节省CPU循环对于5G尤其有用,因为时隙时间持续时间比LTE短得多。对于LTE,时隙持续时间为1毫秒。然而,对于5G,时隙持续时间可以短至125 µs。
•对于解交织操作,与现有的解交织操作相比,其中每个操作包括8x64字节的基于矢量的并行化可能被认为是超快的。
•可以并行执行存储器读和写操作两者(批量操作),使得每个操作都包括2x64字节的存储器读或写操作。
在详细描述示例实施例之前,注意,实施例主要在于与用于解交织/交织和速率去匹配/匹配的算法优化有关的设备组件和处理步骤的组合。因此,在合适的情况下,附图中用常规符号来表示组件,这些附图只示出与理解这些实施例有关的那些特定细节,以免用本领域技术人员在得益于本文中的描述后将容易明白的细节来混淆本公开。
如本文中所使用,诸如“第一”和“第二”、“顶部”和“底部”等的关系术语可能仅仅用于区分一个实体或元件与另一个实体或元件,而不一定要求或暗示此类实体或元件之间的任何物理或逻辑关系或顺序。本文中所使用的术语仅用于描述特定实施例的目的,而不是要限制本文中描述的概念。如本文中所使用,除非另外清楚地指示,否则单数形式“一”、“一个”和“该”旨在还包括复数形式。将进一步了解,术语“包括”和/或“包含”在本文中使用时规定叙述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或其群组。
在本文中描述的实施例中,可利用连接术语“与…通信”等来指示电或数据通信,它们可通过例如物理接触、感应、电磁辐射、无线电信令、红外信令或光学信令来实现。本领域技术人员将明白,多个组件可相互操作,并且在实现电和数据通信时,修改和变化是可能的。在本文中描述的一些实施例中,术语“耦合”、“连接”等可在本文中用于指示连接,尽管不一定是直接的,并且可包括有线和/或无线连接。
本文中所使用的术语“网络节点”可以是包含在无线电网络中的任何种类的网络节点,无线电网络可还包括以下中的任何:基站(BS)、无线电基站、基站收发器(BTS)、基站控制器(BSC)、无线电网络控制器(RNC)、gNodeB(gNB)、演进节点B(eNB或eNodeB)、节点B、多标准无线电(MSR)无线电节点(如MSR BS)、多小区/多播协调实体(MCE)、中继节点、控制中继站的施主节点、无线电接入点(AP)、传输点、传输节点、远程无线电单元(RRU)、远程无线电头端(RRH)、核心网络节点(例如,移动管理实体(MME)、自组织网络(SON)节点、协调节点、定位节点、MDT节点等)、外部节点(例如,第三方节点、位于当前网络外部的节点)、分布式天线系统(DAS)中的节点、频谱接入系统(SAS)节点、元件管理系统(EMS)等。网络节点还可包括测试设备。本文中所使用的术语“无线电节点”可用于还表示诸如无线装置(WD)或无线电网络节点的无线装置(WD)。
在一些实施例中,非限制性术语无线装置(WD)或用户设备(UE)可互换使用。WD在本文中可以是能够通过无线电信号与网络节点或另一个WD通信的任何类型的无线装置,如无线装置(WD)。WD也可以是无线电通信装置、目标装置、装置到装置(D2D)WD、机器型WD或能够进行机器到机器(M2M)通信的WD、低成本和/或低复杂性WD、配备有传感器的WD、平板、移动终端、智能电话、膝上型嵌入式设备(LEE)、膝上型安装式设备(LME)、USB电子狗、客户驻地设备(CPE)、物联网(IoT)装置或窄带IoT(NB-IOT)装置等。
在一些实施例中,术语“通信装置”在本文中广泛地用于指能够通过无线电信号与另一通信装置通信的任何通信装置。通信装置的示例包括例如WD、UE、网络节点和/或基站。在一些实施例中,通信装置可以是和/或包括被配置成处理和传送诸如DL通信之类的无线电信号的传送器。在一些实施例中,通信装置可以是和/或包括接收器,其被配置成例如根据本公开中的技术来接收和处理诸如DL通信之类的无线电信号。
并且,在一些实施例中,使用通用术语“无线电网络节点”。它可以是任何种类的无线电网络节点,它可包括以下节点中的任何节点:基站、无线电基站、基站收发器、基站控制器、网络控制器、RNC、演进节点B(eNB)、节点B、gNB、多小区/多播协调实体(MCE)、中继节点、接入点、无线电接入点、远程无线电单元(RRU)、远程无线电头端(RRH)。
如本文中所使用,在一些实施例中,术语“软值”和“软位”可互换使用以指示概率值,诸如LDPC概率值。在一些实施例中,“软值”和/或“软位”可以由8个二进制数字(位)表示。在其他实施例中,“软值”和/或“软位”可以由多于或少于8个二进制数字/位表示。在一些实施例中,“软值”和/或“软位”可以被认为是可以例如在接收器(例如,WD)的解调器的输出处采取的软度量,并且可以提供对接收到的信息以及与该信息相关联的概率的指示。例如,可以基于对数似然估计将所接收的无线电信号转换成软位,这在信号处理领域中是已知的。
如本文中所使用,在一些实施例中,使用术语“机器指令”。在一些实施例中,术语“机器指令”表示可以由诸如中央处理单元(CPU)之类的处理器直接执行的机器语言指令。例如,机器指令可以是针对特定类型的处理器的机器指令集的一部分,并且每个机器指令都可以通过使用(一个或多个)寄存器等的处理器或CPU中的算术逻辑单元使处理器或CPU执行非常特定的任务,诸如负载、跳转、算术操作(例如,加、减、除等)。在一些实施例中,机器代码可以是例如汇编语言或编译代码。在一些实施例中,机器代码可以被认为是可执行机器代码。在一些实施例中,根据本公开的机器指令旨在在不访问存储器的情况下将某些操作限制为寄存器内的性能,和/或消除诸如模数和/或除法操作之类的昂贵操作,以使得能够实现由一些新兴的网络技术(诸如,例如新空口)所需的快速处理时间。。
注意,尽管在本公开中可使用来自诸如例如3GPP LTE和/或新型无线电(NR)的一种特定无线系统的术语,但是这不应视为将本公开的范围仅仅局限于上述系统。包括但不限于宽带码分多址(WCDMA)、全球微波接入互操作性(WiMax)、超移动宽带(UMB)和全球移动通信系统(GSM)的其它无线系统也可从利用本公开中涵盖的想法而受益。进一步注意,本文中作为由无线装置或网络节点执行而加以描述的功能可分布在多个无线装置和/或网络节点上。换句话说,设想,本文中描述的网络节点和无线装置的功能不限于由单个物理装置执行,并且实际上,这些功能可分布在若干个物理装置中。
除非另外定义,否则本文中所使用的所有术语(包括技术和科学术语)具有与本公开所属领域的技术人员普遍理解的含义相同的含义。将进一步了解,除非本文中明确定义,否则本文中所使用的术语应解译为具有与它们在本说明书和相关领域的上下文中的含义一致的含义,并且将不以理想化或过度正式的含义来解译它们。
再次参考附图,附图中,类似要素由类似参考数字表示,图2中示出根据一实施例诸如3GPP-型蜂窝网络的可支持诸如LTE和/或NR(5G)的标准的通信系统10的示意图,通信系统10包括诸如无线电接入网络的接入网络12和核心网络14。接入网络12包括诸如NB、eNB、gNB或其它类型的无线接入点的多个网络节点16a、16b、16c(统称为网络节点16),每个网络节点定义对应的覆盖区域18a、18b、18c(统称为覆盖区域18)。每个网络节点16a、16b、16c可通过有线或无线连接20连接到核心网络14。位于覆盖区域18a中的第一无线装置(WD)22a配置成无线地连接到对应的基站16c或通过对应的基站16c寻呼。覆盖区域18b中的第二WD 22b可无线地连接到对应的网络节点16a。尽管在该示例中示出多个WD 22a、22b(统称为无线装置22),但是公开的实施例同样适用于唯一的WD位于覆盖区域中或唯一的WD连接到对应的网络节点16的情形。注意,尽管为了方便起见只示出两个WD 22和三个网络节点16,但是通信系统可包括多得多的WD 22和网络节点16。
并且,设想,WD 22可以与多于一个网络节点16和多于一种类型的网络节点16同时通信和/或配置成与多于一个网络节点16和多于一种类型的网络节点16单独通信。例如,WD22可以与支持LTE的网络节点16和支持NR的相同或不同的网络节点16具有双重连接。作为一示例,WD 22可以与LTE/E-UTRAN的eNB和NR/NG-RAN的gNB通信。
通信系统10本身可连接到主机计算机24,主机计算机24可在独立服务器、云实现的服务器、分布式服务器的硬件和/或软件中实施,或作为服务器机群中的处理资源实施。主机计算机24可由服务供应商拥有或控制,或者可由服务供应商或代表服务供应商操作。通信系统10和主机计算机24之间的连接26、28可从核心网络14直接扩展到主机计算机24,或者可经由可选的中间网络30扩展。中间网络30可以是公共、私有或托管网络中的一个或其中多于一个网络的组合。中间网络30(如果有的话)可以是骨干网络或互联网。在一些实施例中,中间网络30可包括两个或更多个子网络(未示出)。
图2的通信系统作为整体使得能够在连接的WD 22a、22b中的一个和主机计算机24之间连接。可将该连接描述为是过顶(OTT)连接。主机计算机24和连接的WD 22a、22b配置成使用接入网络12、核心网络14、任何中间网络30和可能的进一步基础设施(未示出)作为中介经由OTT连接来传递数据和/或信令。从OTT连接经过的参与通信装置不知道上行链路和下行链路通信的路由的意义来说,OTT连接可能是透明的。例如,可能没有或者不需要告知网络节点16关于将源自主机计算机24的数据转发(例如,移交)给连接的WD 22a的传入下行链路通信的过去路由。类似地,网络节点16不需要知道从WD 22a发出到主机计算机24的传出上行链路通信的未来路由。
可以是网络节点16或无线装置22的通信装置被配置成包括通信处理链单元32,其被配置成执行低密度奇偶校验LDPC解码过程和LDPC编码过程中的一个,LDPC解码过程和LDPC编码过程中的一个包括将位集并行地加载到多个寄存器中,所述位集分布在所述多个寄存器之间;通过将所加载的位集重新布置为解交织和交织位集中的一个,对所述多个寄存器内的所加载的位集进行解交织和交织中的一个;以及在将所述位集重新布置为所述多个寄存器内的所述解交织和交织位集中的一个之后,将所述解交织和交织位集中的一个从所述多个寄存器并行地写入存储器。
可以是网络节点16或无线装置22的通信装置被配置成包括信号处理链单元34,其被配置成通过至少迭代处理所述位序列中的位,来执行与无线通信相关联的代码块的位序列的速率去匹配和速率匹配中的一个,以及对于每个迭代,在处理所述位之前,预计算起始位置值和位处理编号,所述起始位置值表示在各个迭代中要处理的位的起始位,并且所述位处理编号表示在各个迭代中要处理的位的总数。
尽管在一些实施例中,描述讨论了关于WD 22中的示例中所示的信号处理链单元34的速率匹配和速率去匹配,但是应当理解,根据本公开中的技术的速率匹配和速率去匹配还可以由网络节点16中的示例中所示的通信处理链单元32来执行。类似地,在一些实施例中,描述讨论了关于网络节点16中的示例中所示的通信处理链单元32的交织和解交织,应当理解,根据本公开中的技术的交织和解交织也可以由WD 22中的示例中所示的信号处理链单元34执行。换句话说,在图2和图3所描述的架构旨在作为示例,并且不应被视为将本公开限于所示的特定装置和网络结构,并且在一些实施例中,可以将其与能够执行本文所述的处理技术的任何无线电装置一起使用。
现在将参考图3描述根据一实施例在前几段中讨论的WD 22、网络节点16和主机计算机24的示例实现。在通信系统10中,主机计算机24包括硬件(HW)38,硬件38包括配置成与通信系统10的不同通信装置的接口设立和维持有线或无线连接的通信接口40。主机计算机24还包括可具有存储和/或处理能力的处理电路42。处理电路42可包括处理器44和存储器46。特别地,除了诸如中央处理单元的处理器和存储器之外或作为取代,处理电路42可包括用于处理和/或控制的集成电路,例如适于执行指令的一个或多个处理器和/或处理器核和/或FPGA(现场可编程门阵列)和/或ASIC(专用集成电路)。处理器44可配置成访问存储器46(例如,写入到存储器46和/或从存储器46读取),存储器46可包括任何种类的易失性和/或非易失性存储器,例如高速缓冲和/或缓冲存储器和/或RAM(随机存取存储器)和/或ROM(只读存储器)和/或光学存储器和/或EPROM(可擦除可编程只读存储器)。
处理电路42可配置成控制本文中描述的任何方法和/或过程和/或使得由例如主机计算机24执行此类方法和/或过程。处理器44对应于用于执行本文中描述的主机计算机24功能的一个或多个处理器44。主机计算机24包括配置成存储数据、编程软件代码和/或本文中描述的其它信息的存储器46。在一些实施例中,软件48和/或主机应用50可包含指令,这些指令在由处理器44和/或处理电路42执行时使处理器44和/或处理电路42执行本文中关于主机计算机24描述的过程。指令可以是与主机计算机24相关联的软件。
软件48可由处理电路42执行。软件48包含主机应用50。主机应用50可进行操作以便向远程用户(诸如经由在WD 22和主机计算机24处终止的OTT连接52连接的WD 22)提供服务。在向远程用户提供服务时,主机应用50可提供使用OTT连接52传送的用户数据。“用户数据”可以是在本文中作为实现描述的功能性而加以描述的数据和信息。在一个实施例中,主机计算机24可配置成向服务供应商提供控制和功能性,并且可由服务供应商或代表服务供应商进行操作。主机计算机24的处理电路42可使得主机计算机24能够观察、监测、控制、向和/或从网络节点16和/或无线装置22传送和/或接收。主机计算机24的处理电路42可包括配置成使得服务供应商能够观察、监测、控制、向和/或从网络节点16和/或无线装置22传送和/或接收的监测单元54。
通信系统10还包括设置在通信系统10中的网络节点16,网络节点16包括硬件58,以使得它能够与主机计算机24和WD 22通信。硬件58可包括用于与通信系统10的不同通信装置的接口设立和维持有线或无线连接的通信接口60以及用于与位于由网络节点16提供服务的覆盖区域18中的WD 22设立和维持至少无线连接64的无线电接口62。无线电接口62可形成为或者可包括例如一个或多个RF传送器、一个或多个RF接收器和/或一个或多个RF收发器。通信接口60可配置成便于连接66到主机计算机24。连接66可以是直接的,或者它可通过通信系统10的核心网络14和/或通过通信系统10外部的一个或多个中间网络30。
在示出的实施例中,网络节点16的硬件58还包括处理电路68。处理电路68可包括处理器70和存储器72,它们在一些实施例中可由总线间隔。特别地,除了诸如中央处理单元的处理器和存储器之外或作为取代,处理电路68可包括用于处理和/或控制的集成电路,例如适于执行指令的一个或多个处理器和/或处理器核和/或FPGA(现场可编程门阵列)和/或ASIC(专用集成电路)。处理器70可配置成访问存储器72(例如,写入到存储器72和/或从存储器72读取),存储器72可包括任何种类的易失性和/或非易失性存储器,例如高速缓冲和/或缓冲存储器和/或RAM(随机存取存储器)和/或ROM(只读存储器)和/或光学存储器和/或EPROM(可擦除可编程只读存储器)。
因此,网络节点16进一步具有存储在例如存储器72内部或存储在可由网络节点16经由外部连接访问的外部存储器(例如,数据库、存储阵列、网络存储装置等)中的软件74。软件74可由处理电路68执行。处理电路68可配置成控制本文中描述的任何方法和/或过程和/或使得由例如网络节点16执行此类方法和/或过程。处理器70对应于用于执行本文中描述的网络节点16功能的一个或多个处理器70。存储器72配置成存储数据、编程软件代码和/或本文中描述的其它信息。在一些实施例中,软件74可包括指令,这些指令在由处理器70和/或处理电路68执行时使处理器70和/或处理电路68执行本文中关于网络节点16描述的过程。例如,网络节点16的处理电路68可以包括通信处理链单元32。通信处理链单元32可以和/或可以位于和/或实现在具有多个寄存器的至少一个处理器(例如,处理器70)中,至少一个处理器70与存储器(例如,存储器72)通信。至少一个处理器70和/或通信处理链单元32被配置成执行低密度奇偶校验LDPC解码过程和LDPC编码过程中的一个,LDPC解码过程和LDPC编码过程中的一个包括:将位集并行地加载到多个寄存器中,该位集分布在多个寄存器之间;通过将所加载的位集重新布置为解交织和交织位集中的一个,对多个寄存器内的所加载的位集进行解交织和交织中的一个;以及在将所述位集重新布置为多个寄存器内的解交织和交织位集中的一个之后,将解交织和交织位集中的一个从所述多个寄存器并行地写入存储器。
在一些实施例中,如果解交织和交织中的一个是解交织,则位集包括编码软位集。在一些实施例中,如果解交织和交织中的一个是交织,则位集包括编码位集。在一些实施例中,多个寄存器中的每个是执行LDPC解码过程和LDPC编码过程中的一个的至少一个处理器70的处理器寄存器架构的一部分;以及存储器72位于至少一个处理器70的外部,并且经由至少一个总线由至少一个处理器70间隔。在一些实施例中,至少一个处理器70被配置成通过被配置成在不访问存储器72的情况下将位集重新布置为所述解交织和交织位集中的一个而对多个寄存器内的位集进行解交织和交织中的一个,在不访问所述存储器72的情况下使用多个寄存器进行解交织和交织中的一个比使用存储器72进行解交织和交织中的一个更快。在一些实施例中,如果解交织和交织中的一个是解交织,则位集包括软位集,该软位集对应于多个软值,所述多个软值中的每个对应于LDPC概率值。在一些实施例中,至少一个处理器70还被配置有机器指令,以通过对位集中的软位进行混洗来对多个寄存器内的位集进行解交织;置换所混洗的软位;以及对所混洗的、所置换的软位执行封装和解封装操作,以产生解交织位集。在一些实施例中,至少一个处理器70还配置有机器指令,以通过以下方式解交织多个寄存器内的位集:在所述多个寄存器的每个寄存器内:对所述位集中的软位进行混洗而不会越过寄存器的通道;以及跨所述寄存器的所述通道置换所混洗的软位;以及在所述多个寄存器内,对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集而无需访问所述存储器。在一些实施例中,至少一个处理器70还被配置有机器指令,以通过以下方式对所述多个寄存器内的所述位集进行交织:对所述多个寄存器内的所述位集中的位执行封装和解封装;置换所述多个寄存器内的每个寄存器内的封装和解封装位;以及对所述多个寄存器内的每个寄存器内的所置换的、封装和解封装位进行混洗以产生交织位集而无需访问存储器72。在一些实施例中,通过对所述多个寄存器内的所述位集重新布置而产生的所述解交织和交织位集中的一个表示与所加载的位集相关联的矩阵的转置矩阵。在一些实施例中,其中,该至少一个存储器70还配置有机器指令,以通过以下方式将所述解交织和交织位集中的一个从所述多个寄存器并行地写入所述存储器72:将所述解交织和交织位集中的一个存储在通过至少计算基地址加偏移所确定的存储器地址处的所述存储器72,所述偏移至少部分地基于所述无线传输的代码块的调制阶数和速率匹配输出位序列长度。
在一些实施例中,本文描述为由网络节点16实现的实施例结合网络节点16的处理器70和存储器72可以由无线装置22实现,以用于由无线装置22处的处理器86和存储器88进行交织和解交织。
通信系统10还包括已经提过的WD 22。WD 22可具有硬件80,硬件80可包括配置成与服务于WD 22当前所在的覆盖区域18的网络节点16设立和维持无线连接64的无线电接口82。无线电接口82可形成为或者可包括例如一个或多个RF传送器、一个或多个RF接收器和/或一个或多个RF收发器。
WD 22的硬件80还包括处理电路84。处理电路84可包括处理器86和存储器88,它们可以经由例如总线间隔。特别地,除了诸如中央处理单元的处理器和存储器之外或作为取代,处理电路84可包括用于处理和/或控制的集成电路,例如适于执行指令的一个或多个处理器和/或处理器核和/或FPGA(现场可编程门阵列)和/或ASIC(专用集成电路)。处理器86可配置成访问存储器88(例如,写入到存储器88和/或从存储器88读取),存储器88可包括任何种类的易失性和/或非易失性存储器,例如高速缓冲和/或缓冲存储器和/或RAM(随机存取存储器)和/或ROM(只读存储器)和/或光学存储器和/或EPROM(可擦除可编程只读存储器)。
因此,WD 22可还包括存储在例如WD 22处的存储器88中或存储在可由WD 22访问的外部存储器(例如,数据库、存储阵列、网络存储装置等)中的软件90。软件90可由处理电路84执行。软件90可包括客户端应用92。客户端应用92可进行操作以便在主机计算机24的支持下经由WD 22向人或非人用户提供服务。在主机计算机24中,执行的主机应用50可经由在WD 22和主机计算机24处终止的OTT连接52与执行的客户端应用92通信。在向用户提供服务时,客户端应用9可从主机应用50接收请求数据,并且响应于请求数据提供用户数据。OTT连接52可传输请求数据和用户数据。客户端应用92可与用户交互以便生成它提供的用户数据。
处理电路84可配置成控制本文中描述的任何方法和/或过程,和/或使得通过例如WD 22执行此类方法和/或过程。处理器86对应于用于执行本文中描述的WD 22功能的一个或多个处理器86。WD 22包括配置成存储数据、编程软件代码和/或本文中描述的其它信息的存储器88。在一些实施例中,软件90和/或客户端应用92可包含指令,这些指令在由处理器86和/或处理电路84执行时使处理器86和/或处理电路84执行本文中关于WD 22描述的过程。例如,无线装置22的处理电路84可以包括信号处理链单元34。信号处理链单元34可以和/或可以位于和/或实现于至少一个处理器(例如,处理器86)与存储器88结合,至少一个处理器86配置有机器指令,以通过至少迭代处理位序列中的位,来执行与无线通信相关联的代码块的所述位序列的速率去匹配和速率匹配中的一个,以及对于每个迭代,在处理所述位之前,预计算起始位置值和位处理编号,所述起始位置值表示在各个迭代中要处理的位的起始位,并且所述位处理编号表示在各个迭代中要处理的位的总数。
在一些实施例中,如果速率去匹配和速率匹配中的一个是速率去匹配,则位序列包括编码软位。在一些实施例中,如果速率去匹配和速率匹配中的一个是速率匹配,则位序列包括编码位。在一些实施例中,至少一个处理器86还配置有机器指令,以执行速率去匹配和速率匹配中的一个,而无需执行任何除法操作。在一些实施例中,至少一个处理器86还被配置有机器指令,以执行所述速率去匹配和所述速率匹配中的一个,而无需执行任何模数操作。在一些实施例中,对于迭代中的每个的所述起始位置值和所述位处理编号的所述预计算允许所述至少一个处理器86执行所述速率去匹配和速率匹配中的一个,而无需执行任何除法操作。在一些实施例中,所述速率去匹配和速率匹配中的一个在低密度奇偶校验LDPC、处理链和极性处理链中的至少一个中执行。在一些实施例中,至少一个处理器86还被配置成通过被配置成以下来迭代处理所述位序列中的位:对于所述速率匹配,重复和打孔所述位中的至少一个以匹配与分配用于所述无线通信的资源相关联的位的总数;以及对于所述速率去匹配,组合所述位以产生速率去匹配的软位序列。在一些实施例中,至少一个处理器86还配置有机器指令,以至少部分地基于以下来预计算所述起始位置值和所述位处理编号:所述代码块的长度,对于所述代码块的所述位序列的速率去匹配和速率匹配中的一个,要处理的位的总数,以及循环缓冲器的起始位置,所述起始位置至少部分地由所述无线通信的冗余版本确定。在一些实施例中,至少一个处理器86还配置有机器指令,以通过被配置成至少部分地基于以下来确定所述位处理编号来预计算所述起始位置值和所述位处理编号:各个迭代的所述起始位置值,所述代码块的长度,对于所述代码块的所述位序列的速率去匹配和速率匹配中的一个,要处理的位的总数,以及循环缓冲器的起始位置,所述起始位置至少部分地由所述无线通信的冗余版本确定。
在一些实施例中,本文描述为由WD 22实现的实施例,与WD 22的处理器86和存储器88结合,可以由网络节点16实现,以用于由在网络节点16处的处理器70和存储器72进行速率匹配和速率去匹配。
在一些实施例中,网络节点16、WD 22和主机计算机24的内部工作可如图3所示,并且独立地,周围的网络拓扑可以是图2的网络拓扑。
在图3中,抽象地绘制了OTT连接52以便说明主机计算机24和无线装置22之间经由网络节点16的通信,而没有明确提到任何中间装置和经由这些装置的准确的消息路由。网络基础设施可确定路由,它可配置成对WD 22或对操作主机计算机24的服务供应商或两者隐藏路由。当OTT连接52活动时,网络基础设施可进一步做出决定,通过这些决定它动态地改变路由(例如,在负载平衡考虑或重新配置网络的基础上)。
WD 22和网络节点16之间的无线连接64依照本公开通篇中描述的实施例的教导。各种实施例中的一个或多个实施例改善了使用OTT连接52(其中无线连接64形成最后一段)提供给WD 22的OTT服务的性能。更准确地说,这些实施例中的一些实施例的教导可改善数据速率、等待时间和/或功耗,并且从而提供诸如用户等候时间减少、放宽文件大小限制、更好的响应能力、延长电池寿命等好处。
在一些实施例中,可出于监测数据速率、等待时间和这一个或多个实施例要改善的其它因素的目的而提供测量过程。响应于测量结果的变化,可以有进一步的可选的网络功能性来重新配置主机计算机24和WD 22之间的OTT连接52。测量过程和/或用于重新配置OTT连接52的网络功能性可以用主机计算机24的软件48或用WD 22的软件90或两者实现。在实施例中,可在OTT连接52经过的通信装置中或与之联合部署传感器(未示出);传感器可通过供应上文举例的监测量的值或供应可供软件48、90用于计算或估计监测量的其它物理量的值而参与测量过程。OTT连接52的重新配置可包括消息格式、重新传输设置、优先路由等;重新配置不需要影响网络节点16,并且它对于网络节点16可能是未知的或觉察不到的。一些此类过程和功能性在本领域中可能已知且已实践。在某些实施例中,测量可涉及便于主机计算机24测量吞吐量、传播时间、等待时间等的专有WD信令。在一些实施例中,测量之所以可以实现是因为,软件48、90在监测传播时间、错误等时使得使用OTT连接52传送消息,特别是空的或‘假的’消息。
因此,在一些实施例中,主机计算机24包括配置成提供用户数据的处理电路42和配置成将用户数据转发到蜂窝网络以便传送到WD 22的通信接口40。在一些实施例中,蜂窝网络还包括具有无线电接口62的网络节点16。在一些实施例中,网络节点16配置成和/或网络节点16的处理电路68配置成执行本文中描述的用于准备/启动/维持/支持/结束到WD 22的传输和/或准备/终止/维持/支持/结束从WD 22接收传输的功能和/或方法。
在一些实施例中,主机计算机24包括处理电路42和通信接口40,通信接口40配置成接收源自从WD 22到网络节点16的传输的用户数据。在一些实施例中,WD 22配置成执行本文中描述的用于准备/启动/维持/支持/结束到网络节点16的传输和/或准备/终止/维持/支持/结束从网络节点16接收传输的功能和/或方法,和/或WD 22包括配置成执行此类功能和/或方法的无线电接口82和/或处理电路84。
尽管图2和图3将诸如通信处理链单元32和信号处理链单元34之类的各种“单元”示为位于各自的处理器中,但是设想,可实现这些单元,以使得将单元的一部分存储在处理电路中的对应的存储器中。换句话说,这些单元可以用硬件或者用硬件和处理电路内的软件的组合来实现。
图4是示出根据一个实施例在通信系统(诸如例如图2和3的通信系统)中实现的示例方法的流程图。通信系统可包括主机计算机24、网络节点16和WD 22,它们可以是参考图3描述的主机计算机、无线电节点和WD。在该方法的第一步骤中,主机计算机24提供用户数据(方框S100)。在第一步骤的可选的子步骤中,主机计算机24通过执行诸如例如主机应用74的主机应用来提供用户数据(方框S102)。在第二步骤中,主机计算机24发起将用户数据携带到WD 22的传输(方框S104)。在可选的第三步骤中,根据本公开通篇中描述的实施例的教导,网络节点16向WD 22传送在由主机计算机24启动的传输中携带的用户数据(方框S106)。在可选的第四步骤中,WD 22执行与由主机计算机24执行的主机应用74相关联的客户端应用,诸如例如客户端应用114(方框S108)。
图5是示出根据一个实施例在通信系统(诸如例如图2的通信系统)中实现的方法的流程图。通信系统可包括主机计算机24、网络节点16和WD 22,它们可以是参考图2和图3描述的主机计算机、无线电节点和WD。在该方法的第一步骤中,主机计算机24提供用户数据(方框S110)。在可选的子步骤(未示出)中,主机计算机24通过执行诸如例如主机应用74的主机应用来提供用户数据。在第二步骤中,主机计算机24发起将用户数据携带到WD 22的传输(方框S112)。根据本公开通篇中描述的实施例的教导,传输可经过网络节点16。在可选的第三步骤中,WD 22接收在传输中携带的用户数据(方框S114)。
图6是示出根据一个实施例在通信系统(诸如例如图2的通信系统)中实现的方法的流程图。通信系统可包括主机计算机24、网络节点16和WD 22,它们可以是参考图2和图3描述的主机计算机、无线电节点和WD。在该方法的可选的第一步骤中,WD 22接收由主机计算机24提供的用户数据(方框S116)。在第一步骤的可选的子步骤中,WD 22执行客户端应用114,由此对接收的由主机计算机24提供的输入数据做出反应而提供用户数据(方框S118)。另外地或备选地,在可选的第二步骤中,WD 22提供用户数据(方框S120)。在第二步骤的可选的子步骤中,WD通过执行诸如例如客户端应用114的客户端应用而提供用户数据(方框S122)。在提供用户数据时,执行的客户端应用114可进一步考虑从用户接收的用户输入。不管以何种特定方式提供用户数据,在可选的第三子步骤中,WD 22可发起将用户数据传输到主机计算机24(方框S124)。在该方法的第四步骤中,根据本公开通篇中描述的实施例的教导,主机计算机24接收从WD 22传送的用户数据(方框S126)。
图7是示出根据一个实施例在通信系统(诸如例如图2的通信系统)中实现的方法的流程图。通信系统可包括主机计算机24、网络节点16和WD 22,它们可以是参考图2和图3描述的主机计算机、无线电节点和WD。在该方法的可选的第一步骤中,根据本公开通篇中描述的实施例的教导,网络节点16从WD 22接收用户数据(方框S128)。在可选的第二步骤中,网络节点16发起将接收的用户数据传输到主机计算机24(方框S130)。在第三步骤中,主机计算机24接收在由网络节点16启动的传输中携带的用户数据(方框S132)。
图8是根据本公开中提供的技术的在网络节点16中用于解交织和交织的示例性过程的流程图。
该方法包括诸如经由通信处理链单元32执行(框S134)低密度奇偶校验LDPC解码过程和LDPC编码过程中的一个。LDPC解码过程和LDPC编码过程中的一个包括诸如经由通信处理链单元32将位集并行地加载(框S136)到多个寄存器中,该位集分布在多个寄存器之间。该方法包括诸如经由通信处理链单元32,通过将所加载的位集重新布置为解交织和交织位集中的一个,来将多个寄存器内的所加载的位集进行解交织和交织中的一个(框S138)。该方法包括:在将所述位集重新布置为所述多个寄存器内的所述解交织和交织位集中的一个之后,诸如经由通信处理链路单元32,将所述解交织和交织位集中的一个从所述多个寄存器72并行地写入(框S140)存储器72。
在一些实施例中,如果解交织和交织中的一个是解交织,则位集包括编码软位集。在一些实施例中,如果解交织和交织中的一个是交织,则位集包括编码位集。在一些实施例中,多个寄存器中的每个是执行LDPC解码过程和LDPC编码过程中的一个的至少一个处理器70的处理器寄存器架构的一部分;以及存储器72位于至少一个处理器70的外部,并且经由至少一个总线由至少一个处理器70间隔。在一些实施例中,对多个寄存器内的位集进行所述解交织和交织位集中的一个还包括通过在不访问存储器72的情况下将位集重新布置为所述解交织和交织位集中的一个而对多个寄存器内的位集进行解交织和交织中的一个,在不访问所述存储器72的情况下使用多个寄存器执行解交织和交织中的一个比使用存储器72执行解交织和交织中的一个更快。在一些实施例中,如果解交织和交织中的一个是解交织,则位集包括软位集,该软位集对应于多个软值,所述多个软值中的每个对应于LDPC概率值。在一些实施例中,诸如经由通信处理链单元32,对多个寄存器内的位集进行解交织包括对位集中的软位进行混洗;置换所混洗的软位;以及对所混洗的、所置换的软位执行封装和解封装操作,以产生解交织位集。在一些实施例中,诸如经由通信处理链单元32,对多个寄存器内的位集进行解交织包括:在所述多个寄存器的每个寄存器内:对所述位集中的软位进行混洗而不会越过寄存器的通道;以及跨所述寄存器的所述通道置换所混洗的软位;以及在所述多个寄存器内,对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集而无需访问所述存储器72。在一些实施例中,诸如经由通信处理链单元32,对多个寄存器内的位集进行交织包括:对所述多个寄存器内的所述位集中的位执行封装和解封装;置换所述多个寄存器内的每个寄存器内的封装和解封装位;以及对所述多个寄存器内的每个寄存器内的所置换的、封装和解封装位进行混洗以产生交织位集而无需访问存储器。在一些实施例中,通过对所述多个寄存器内的所述位集重新布置而产生的所述解交织和交织位集中的一个表示与所加载的位集相关联的矩阵的转置矩阵。在一些实施例中,将所述解交织和交织位集中的一个诸如经由通信处理链单元32从所述多个寄存器并行地写入所述存储器72包括将所述解交织和交织位集中的一个存储在通过至少计算基地址加偏移所确定的存储器地址处的所述存储器72,所述偏移至少部分地基于所述无线传输的代码块的调制阶数和速率匹配输出位序列长度。
尽管参考网络节点16描述了以上过程,但是应当理解,在一些实施例中,这种解交织和交织过程可以由WD 22、信号处理链单元34、处理器86和/或存储器88代替来执行。
图9是根据本公开的一些实施例的无线装置22中的示例性过程的流程图。该方法包括诸如经由信号处理链单元34,通过至少迭代处理位序列中的位,来执行(框S142)与无线通信相关联的代码块的所述位序列的速率去匹配和速率匹配中的一个。该方法包括,对于每个迭代,在处理所述位之前,诸如经由信号处理链单元34,预计算(S144)起始位置值和位处理编号,所述起始位置值表示在各个迭代中要处理的位的起始位,并且所述位处理编号表示在各个迭代中要处理的位的总数。
在一些实施例中,如果速率去匹配和速率匹配中的一个是速率去匹配,则位序列包括编码软位。在一些实施例中,如果速率去匹配和速率匹配中的一个是速率匹配,则位序列包括编码位。在一些实施例中,速率去匹配和速率匹配中的一个由通信装置(例如,WD22)的至少一个处理器86执行,而无需执行任何除法操作。在一些实施例中,速率去匹配和速率匹配中的一个由通信装置(例如,WD22)的至少一个处理器86诸如经由信号处理链单元34执行,而无需执行任何模数操作。在一些实施例中,对于迭代中的每个的起始位置值和位处理编号的预计算允许至少一个处理器86执行速率去匹配和速率匹配中的一个,而无需执行任何除法操作。在一些实施例中,速率去匹配和速率匹配中的一个在低密度奇偶校验LDPC、处理链和极性处理链中的至少一个中执行。在一些实施例中,对于所述速率匹配,迭代处理所述位序列中的所述位包括重复和打孔所述位中的至少一个以匹配与分配用于所述无线通信的资源相关联的位的总数;以及对于所述速率去匹配,迭代处理所述位序列的所述位包括组合所述位以产生速率去匹配的软位序列。在一些实施例中,诸如经由信号处理链单元34所述预计算所述起始位置值和所述位处理编号至少部分地基于:所述代码块的长度,对于所述代码块的所述位序列的速率去匹配和速率匹配中的一个,要处理的位的总数,以及循环缓冲器的起始位置,所述起始位置至少部分地由所述无线通信的冗余版本确定。在一些实施例中,诸如经由信号处理链单元34所述预计算所述起始位置值和所述位处理编号包括:至少部分地基于以下来确定所述位处理编号:各个迭代的所述起始位置值,所述代码块的长度,对于所述代码块的所述位序列的速率去匹配和速率匹配中的一个,要处理的位的总数,以及循环缓冲器的起始位置,所述起始位置至少部分地由所述无线通信的冗余版本确定。
尽管上面的处理是参照WD 22描述的,但是应该理解,在一些实施例中,这样的速率去匹配和速率匹配处理可以由网络节点16、通信处理链单元32、处理器70和网络节点16和/或存储器72代替执行。
已经一般性地描述了用于解交织/交织和速率去匹配/匹配的一些实施例,下面描述实施例中的一些的更详细的描述。
在描述这样的细节之前,可以认为,在一些实施例中,对于解码器和解交织器(接收器侧),可以对软位执行示例处理。另一方面,在一些实施例中,对于编码器(传送器侧),可以对位(不是软位)执行示例处理,并且对于交织器(传送器侧),可以对编码位执行处理(但是不是软位)。在一些实施例中,接收器侧(解码器、解交织器和速率去匹配器)对编码软位执行处理;而发送方(编码器、交织器、速率匹配器)正在对位或编码位(而非软位)执行处理。换句话说,在传送器侧,可以由通信处理链单元32执行的根据本公开的一些实施例的处理序列包括输入到编码器中的位(例如,代码块中的位);在编码位上执行速率匹配,并且然后在编码位和速率匹配位上执行交织(参见例如图1)。在接收器侧,可以由信号处理链单元34执行的根据本公开的实施例中的一些的处理序列可以包括对对数似然比(LLR)解映射的软位进行解交织,然后进行速率去匹配、并且然后解码(例如,以生成代码块的位)。LLR解映射的软位可以被认为是表示概率值/软值的位,诸如例如LDPC概率值。
解交织和交织
下面描述可以由通信处理链单元32和/或信号处理链单元34执行的用于解交织/交织的一些实施例。
LDPC解码过程链中的解交织
可以根据下面的伪代码执行解交织,其中E可以表示为代码块(CB)接收的“软”位的总数,Q可以表示调制阶数,并且操作可以将位序列解交织为位序列
解交织可以包括对编码软位集进行解交织。要解交织的编码软位集可以对应于位序列,并且位序列/>可以表示解交织的输出位序列。解交织可以在诸如WD 22和/或信号处理链单元34之类的接收器处(例如,在DL中)执行。
在本公开的一些实施例中,可以通过使用例如处理器(例如,处理器86)来并行地执行与伪代码相关联的以上操作。在以下讨论中,示例处理器(例如,WD 22处的处理器86)可以包括八(8)个寄存器,并且每个寄存器可以容纳512位或软位。在这样的实施例中,寄存器可以根据本公开中描述的技术能够处理至少16个软值。在一些实施例中,寄存器可能能够处理多于16个软值。在其他实施例中,具有不同寄存器架构布置的处理器可以用于执行本公开中的技术。在示例过程和示例处理器中,根据本公开的一些实施例,可以由处理器(WD 22处的处理器86)执行以下步骤以便解交织:1)将对应于软值的位并行地加载到处理器寄存器中;2)将每通道的软值进行混洗;3)每寄存器的置换;4)解封装和封装;5)并行存储/写入结果,如下面更详细描述的。
针对寄存器并行加载软值
在该示例中,我们假设处理器(例如,处理器86)中的八(8)个寄存器可用于并行执行解交织。第一步可能是将软值(在此示例中,每个软值可以由8个位表示)并行加载到寄存器中。下表(表2)将针对寄存器0、1、2,…和7的起始地址分别表示为地址0、64、128,…,448。
表2:加载有512个软值的八个寄存器,其中每个软值都可以用8位(二进制数字)表示。
每通道对软值进行混洗
将软值并行加载到寄存器之后,可以每通道对软值进行混洗。在该示例中,每个寄存器包括4个通道,并且每个通道可能能够保存16个软值,如图10中表3和4所述的表所示。应该理解,通道数可能会根据特定的硬件设计而变化。此外,可以认为寄存器被组织为通道。也就是说,对于该示例,假设调制阶数为8(256QAM调制),则对于每个寄存器中的每个通道,可以例如经由信号处理链单元34执行软值的混洗。表3示出了示例:针对寄存器0的混洗之前的软值,并且表4示出了根据本公开中的技术的寄存器0的混洗结果。表3示出了寄存器0混洗之前的软值,而表4示出了寄存器0的软值进行混洗的结果(假设调制阶数Q等于8)。
表4示出了带有阴影的所混洗的软值的组。如通过比较图10中的表3和表4可以看出,每通道的混洗可以以交替的方式导致寄存器列的重新布置。例如,具有寄存器地址8的列(参见表3)在第一列(寄存器地址为0)和第二列(寄存器地址为1)之间被混洗。寄存器0的第二部分中的列可以与寄存器0的第一部分中的列以交替方式交织,结果如表4所示。在一些实施例中,在不使通道中的位从一个通道跨越到另一通道的情况下执行每通道的混洗。表3和表4示出了在寄存器0中执行的混洗作为示例。其他寄存器(寄存器1-7)也可以按类似方式每通道中进行混洗。
在一些实施例中,可以根据本文中公开的技术,响应于寄存器混洗指令来执行或实行混洗,以对寄存器的内容进行混洗。在一些实施例中,混洗指令可以是由处理器(例如,处理器86)架构支持的机器指令集的一部分。
每寄存器的置换
对于解交织,如上所述,在每通道对寄存器内容进行混洗之后,处理器(例如,处理器86)例如经由信号处理链单元34可以执行跨通道的置换。作为示例,在寄存器0内执行的示例置换的结果在图11的表5中示出。表5示出了在跨4个通道置换后寄存器0的软值。
如通过表4和表5的比较可以看出,可以根据本文公开的技术通过在各个寄存器内将软值布置和/或重新布置为可以预定的顺序或预定的序列来执行置换/排列。在表5所示的示例中,通过在适当的情况下跨通道在寄存器中移动每个软值组中的软值(阴影指示分组)来执行置换,使得各个组中的软值最终在寄存器的相同通道中。在其他实施例中,可以以其他方式执行置换。表5示出了在寄存器0中执行的置换作为示例。其他寄存器(寄存器1-7)也可以以类似的方式对每寄存器进行置换。
在一些实施例中,可以根据本文公开的技术,响应于寄存器指令来执行或实行置换以布置和/或重新布置寄存器的内容。在一些实施例中,寄存器指令可以是由处理器(例如,处理器86)架构所支持的机器指令集的一部分。在一些实施例中,寄存器指令可以包括由处理器86架构所支持的置换/排列指令。在其他实施例中,可以根据其他类型的机器指令来执行置换/排列,诸如,例如对寄存器内容执行的移位和/或逻辑操作的序列。
解封装与封装
如上所述,在每寄存器置换之后,寄存器的每通道可以具有两组软值,其中每组具有8个有序软值。如本文中所使用,在一些实施例中,术语“按顺序”可以指示解交织(或交织)结果所期望或针对的顺序。例如,对于解交织,期望的输出顺序可以是0、8、16、24...,其中两个相邻软值之间的索引距离是8。图12表6示出了以图示这种分组。表6示出了8个寄存器的软值组的表示。
如在表6中可以看出,每个寄存器中的每个通道都有两组软值(例如,组B00和B01),每组用Bn表示,其中n是表示一组软值的组号的数字。例如,寄存器0的通道0中的“B00”指示表5中指示的一组软值,作为软值0、8、16、24、32、40、48和56。
为了进一步阐明由每寄存器的置换产生的软值组,图13中示出了表7。表7说明了组名(来自表6)和其对应于表5的寄存器0的内容之间的关系。换句话说,表7是表5(图11)中所示的每寄存器置换结果的备选可视说明(以上步骤所描述的),从而尝试表6(图12)中寄存器0的软值组编号。表7(图13)示出了寄存器0的组名及其内容之间的关系。
在已经建立了软值组名称Bn与每寄存器进行置换之后的寄存器内容之间的关系,将更详细地描述此步骤中的解封装和封装。
解封装和封装可以包括表6所示的解封装和封装寄存器内容,使得寄存器0保持列0、寄存器1保持列1、...、寄存器7保持列7。在一些实施例中,该操作可以被认为是(或可能类似于)矩阵的转置。在一些实施例中,解封装和封装可导致与寄存器中的内容/位相关联的矩阵的转置矩阵。例如,可以执行解封装和封装以在上述置换步骤之后对表示软值/软位的布置的矩阵进行转置。可以通过对表8(图14)(示出示例解封装和封装步骤的结果)与上面的表6(示出示例置换步骤的结果)进行可视比较来观察该转置矩阵特征。在该示例中的解封装和封装的结果在图14的表8中示出。表8示出了在寄存器之间进行封装和解封装操作之后得到的寄存器内容。
在该示例中已经示出了用于解封装和封装步骤的期望的所得的寄存器内容之后,下面将描述在处理器(例如,处理器86)的寄存器架构内可以执行和/或实行解封装和封装的一个示例。。
本示例中的8个寄存器可以分为4组:
•组0:寄存器0和1
•组1:寄存器2和3
•组2:寄存器4和5
•组3:寄存器6和7
对于每个组,可以对解交织过程执行解封装和封装操作,例如如下所示。在以下内容中,以组0用作示例。对于组0,寄存器0,寄存器0的每个字节(来自上面的表5)可以根据图15中的表9来表示。表9示出了置换之后的寄存器0内容(表5的内容的备选表示)。类似地,对于组0,寄存器1,寄存器1的每个字节可以在表10(图15)中表示如下。表10示出了置换之后的寄存器1内容。在执行解封装和封装之后,该示例中的寄存器0的内容应对应于表11(图15)。表11示出了根据该示例实施例的在解封装和封装之后的寄存器0内容。
在执行解封装和封装之后,该示例中的寄存器1的内容应对应于在此示例中的图16中的表12。表12(图16)示出了在解封装和封装之后的寄存器1的内容。
在一些实施例中,可以响应于根据本文公开的技术来布置和/或重新布置寄存器的内容的寄存器指令来执行或实行解封装和封装。在一些实施例中,寄存器指令可以是由处理器(例如,处理器86)架构所支持的机器指令集的一部分。在一些实施例中,寄存器指令可以包括由处理器86架构支持的解封装和封装机器指令。在其他实施例中,可以根据其他类型的机器指令来执行解封装和封装,所述机器指令根据本公开中的技术可用于重新布置和/或布置寄存器内容。
在一些实施例中,在将软值并行加载到寄存器中之后,可以在寄存器内执行上述的混洗、置换以及解封装和封装,而无需访问存储器,例如存储器86。在一些实施例中,通过并行加载软值并在处理器(例如,处理器86或处理器70)的寄存器架构内执行交织/解交织,而无需访问存储器(例如,存储器86或存储器72),解交织/交织的处理速度与现有的解交织/交织技术相比可以改进,在所述现有的解交织/交织技术中,依次计算用于解交织/交织的软位/位。此外,寄存器架构是处理器的一部分,并且因此访问速度比处理器外部的存储器更快。因此,根据本公开的一些实施例,在不访问存储器的情况下在寄存器内进行解交织/交织比使用存储器执行解交织/交织更快。
并行存储结果
在根据本公开中描述的技术通过将软值并行加载到寄存器中、对软值进行混洗、置换软值以及解封装和封装来进行解交织之后,可以将所得的寄存器内容并行存储/写入存储器(例如,存储器88)。在本文所述的示例中,表8表示解交织结果,其可以并行地存储在存储器中。
在一些实施例中,寄存器0、1、2、...、7的起始地址分别是baseAddress + 0、baseAddress + E / Q、baseAddress + 2E / Q、...、7E / Q。
在一些实施例中,在该示例中的解交织的结果(例如,在混洗、置换和封装和解封装之后的寄存器内容)被写入存储器(例如,存储器88)之后,寄存器0、1、2,…,7的起始地址可以分别修改为baseAddress + 64、baseAddress + E / Q + 64、baseAddress + 2E / Q+ 64,…,7E / Q + 64。因此,在一些实施例中,将结果并行地写入或存储在存储器中可以包括通过计算基地址加偏移来确定要写的存储器地址,其中该偏移可以至少部分地基于速率匹配输出位序列长度E(或代码块中软位的总数)和代码块的调制阶数Q。
其他注意事项
在一些实施例中,可以重复上述过程(例如,将软值并行加载到寄存器中、对软值进行混洗、置换软值以及对软值进行解封装和封装),直到来自所接收的信号的软值剩余的数量小于寄存器中可以保留的字节的数量为止,在此示例中为512字节。在一些实施例中,假设剩余的软值的数量可以表示为:
M = k1 * 256 + k2 * 64 + k3 * 32 + k4 * 16 + k5 * 8,
其中ki,i = 1、2、3、4、5为0或1。对于每个不等于0的ki值,可以以相似的方式对对应数量的要解交织的软值进行并行处理。
在一些实施例中,与解交织过程反向执行交织过程和/或对编码位而不是对软位执行交织过程(例如,因为在一些实施例中软位可以被认为是在接收器处的解调输出)。已经描述了根据本公开中的技术的用于解交织的一个示例实施例,下面描述速率去匹配和匹配的示例。
速率去匹配和速率匹配
在一些实施例中,如果用于传输的分配的物理资源元素大于码/编码位,则速率匹配可以被认为是在传送器处重复码/编码位的过程。在一些实施例中,速率去匹配可以被认为是在接收器处组合重复的码/编码位以获得原始码/编码位或更确切地说是软位的过程。
例如,如果存在要传送的1024个编码位,并且分配的资源元素可以容纳2048个编码位,则速率匹配可以包括重复编码位以确保使用所有分配的资源元素。因此,在此示例中,输入将是1024个编码位,并且速率匹配输出将是2048个编码位(重复一次)。在一个示例中,在传送器处用于速率匹配的伪代码可以如下:
另一方面,速率去匹配包括执行速率匹配的反向,因为它可以被认为是针对所传送的信号的接收器的信号处理的一部分。速率去匹配可以包括组合所有重复的编码软位以产生编码软位的原始序列。通过使用用于描述速率匹配的相同示例,速率去匹配的输入将是2048个编码软位(重复一次),并且速率去匹配的输出将是1024个编码软位。
在一个实施例中,用于接收器处的速率去匹配的伪代码可以如下:
已经一般性地描述了用于速率匹配和速率去匹配的一些实施例,下面描述进一步的实施例以说明本公开中提供的用于例如LDPC过程链和极性过程链的技术。
LDPC过程链
LDPC解码过程链中的速率去匹配
在用于速率去匹配的一个实施例中,k0可以表示可以由冗余/冗余版本确定的所接收的“软”位的开始位置,并且Ncb可以表示CB长度。该CB的“软”位的总数可以由E表示。为了避免根据本公开中的技术的模数和除法操作,在对每个迭代执行软组合之前,可以执行预计算以确定用于组合操作的软位的数量。在一个示例中,伪代码可以如下:
numberOfSoftToCombine = min {(Ncb – k0),(E – softStart)},
其中softStart是要为每个迭代组合的软位的起始位置。在while循环之前,将其初始值设置为零。
用于速率去匹配的伪代码可以如下:
如从上面的伪代码可以看出那样,有利的是,可以消除模数操作(其要求除法操作)(与上面标题为“位选择”的部分中所述的伪代码相比)。
在一些实施例中,可以在迭代速率去匹配过程之前计算/预计算对于每个迭代的开始位置softStart和要组合的软位数numberOfSoftToCombine。结果,可以与处理器(例如,处理器86)并行地实现上述伪代码。
LDPC编码过程链中的速率匹配
在一个实施例中,根据本公开的技术的用于速率匹配的伪代码可以如下:
速率匹配可以由传输装置(诸如,例如用于DL通信的网络节点16的处理器70)执行。
极性过程链
在一些实施例中,除了上述的LDPC解码之外,本文中公开的用于速率去匹配和速率匹配的技术可以在极性解码过程链中执行。例如,如果原始编码位的总数E大于极性代码块长度N,则用于生成速率匹配输出位序列的伪代码可以如下:
类似地,在接收器处的用于速率去匹配的伪代码可以如下:
极性解码过程链中的速率去匹配
但是,为了消除模数操作的使用(其通常要求除法操作),可以根据本公开中的技术代替实现用于速率去匹配的上述伪代码,如下:
在一个实施例中,为了加速该过程,可以在迭代速率去匹配过程之前计算/预计算对于每个迭代的起始位置softStart以及要组合的软位数numberOfSoftToCombine。结果,在一些实施例中,可以在与处理器(例如,处理器86)并行地实现用于极性解码过程链中的速率去匹配的上述伪代码。
极性解码过程链中的速率匹配
在一个实施例中,根据本公开中的技术的用于速率匹配的伪代码可以如下实现:
/>
在一些实施例中,可以在与处理器(例如,处理器70)并行地实现用于极性解码过程链中的速率匹配的上述伪代码。
如从上面提供的示例中可以看出,可以实现速率匹配和速率去匹配以及解交织和交织,以在寄存器架构内有利地消除除法和模数操作和/或要完全执行(或至少大体上执行),使得与现有的信号处理相比,可以更快地处理计算,这对于无线标准(例如NR)与其他标准(例如LTE)相比具有更短的时隙时间特别有利。与现有处理技术相比,本公开中的技术可以允许诸如WD 22之类的装置以非常快速的方式支持接收和处理传输。
如本领域技术人员将理解的,本文描述的概念可以体现为方法、数据处理系统和/或计算机程序产品。因此,本文描述的概念可以采取完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式,所有这些在本文中通常被称为“电路”或“模块”。此外,本公开可以采取有形计算机可用存储介质上的计算机程序产品的形式,该计算机可用存储介质具有体现在可以由计算机执行的介质中的计算机程序代码。可以利用任何合适的有形计算机可读介质,包括硬盘、CD-ROM、电子存储装置、光学存储装置或磁性存储装置。
本文中参考方法、系统和计算机程序产品的流程图图示和/或框图描述了一些实施例。将了解,流程图图示和/或框图的每个方框以及流程图图示和/或框图中的方框的组合可由计算机程序指令实现。可将这些计算机程序指令提供给通用计算机的处理器、专用计算机或其它可编程数据处理设备以制造机器,从而使得经由计算机和/或其它可编程数据处理设备的处理器执行的指令创建用于实现在这个或这些流程图和/或框图方框中所指定的功能/动作的部件。
这些计算机程序指令也可存储在计算机可读存储器或存储介质中,由此可以引导计算机或其它可编程数据处理设备以特定方式运转,从而使得存储在计算机可读存储器中的指令制作包括用于实现在这个或这些流程图和/或框图方框中所指定的功能/动作的指令部件的制品。也可将计算机程序指令加载到计算机或其它可编程数据处理设备中以使得在计算机或其它可编程设备上执行一系列操作步骤以产生计算机实现的过程,从而使得在计算机或其它可编程设备上执行的指令提供用于实现在这个或这些流程图和/或框图方框中所指定的功能/动作的步骤。
将了解,在这些方框中记录的功能/动作可不按照在操作图示中记录的顺序进行。例如,取决于涉及的功能性/动作,连续示出的两个方框实际上可大体上同时执行,或者这些方框有时可按相反的顺序执行。尽管一些图在通信路径上包含箭头以示出主要通信方向,但是将了解,通信可沿与描绘的箭头相反的方向进行。
用于执行本文中描述的概念的操作的计算机程序代码可以用诸如Java®或C++的面向对象的编程语言来编写。然而,用于执行本公开的操作的计算机程序代码也可用诸如“C”编程语言的常过程序化编程语言来编写。程序代码可完全在用户的计算机上执行,部分地在用户的计算机上执行,作为独立软件包执行,部分地在用户的计算机上并且部分地在远程计算机上执行,或者完全在远程计算机上执行。在后一种场景中,远程计算机可通过局域网(LAN)或广域网(WAN)连接到用户的计算机,或者可连接到外部计算机(例如,通过互联网使用互联网服务供应商)。
本文中结合以上描述和附图公开了许多不同的实施例。将了解,从字面上描述和说明这些实施例的每个组合和子组合将是过度重复和混淆的。因此,可以用任何方式和/或组合来组合所有实施例,并且包括附图在内的本说明书应当解释为构成对本文中描述的实施例的所有组合和子组合以及制作和使用它们的方式和过程的完整的书面描述,并且应当支持要求任何此类组合或子组合的权利。
本领域技术人员将明白,本文中描述的实施例不限于本文中在上文特别示出和描述的内容。另外,除非上文相反地提到,否则应注意,所有附图都没有按比例绘制。鉴于以上教导,在不偏离随附权利要求的范围的情况下,各种修改和变化都是可能的。

Claims (22)

1.一种用于与无线传输相关联的通信装置(16、22)的方法,所述方法包括:
执行(S134)低密度奇偶校验LDPC解码过程和LDPC编码过程中的一个,所述LDPC解码过程和所述LDPC编码过程中的一个包括:
将位集并行地加载(S136)到多个寄存器中,所述位集分布在所述多个寄存器之间;
在不访问存储器(72、88)的情况下,通过将所加载的位集重新布置为解交织和交织位集中的一个,对所述多个寄存器内的所加载的位集进行解交织和交织(S138)中的一个;以及
在将所述位集重新布置为所述多个寄存器内的所述解交织和交织位集中的一个之后,将所述解交织和交织位集中的一个从所述多个寄存器并行地写入(S140)存储器(72、88)。
2.根据权利要求1所述的方法,其中,如果所述解交织和交织中的一个是解交织,则所述位集包括编码软位集。
3.根据权利要求1-2中的任一项所述的方法,其中,如果所述解交织和交织中的一个是交织,则所述位集包括编码位集。
4.根据权利要求1-2中的任一项所述的方法,其中:
所述多个寄存器中的每个是执行所述LDPC解码过程和所述LDPC编码过程中的一个的至少一个处理器(70、86)的处理器寄存器架构的一部分;以及
所述存储器(72、88)在所述至少一个处理器(70、86)的外部,并且经由至少一个总线由所述至少一个处理器(70、86)间隔。
5.根据权利要求1-2中的任一项所述的方法,其中,在不访问所述存储器(72、88)的情况下使用所述多个寄存器执行所述解交织和所述交织中的一个比使用所述存储器(72、88)执行所述解交织和所述交织中的一个更快。
6.根据权利要求1-2中的任一项所述的方法,其中,如果所述解交织和交织中的一个是解交织,则所述位集包括软位集,所述软位集对应于多个软值,所述多个软值中的每个对应于LDPC概率值。
7.根据权利要求1-2中的任一项所述的方法,其中,对所述多个寄存器内的所述位集进行解交织包括:
对所述位集中的软位进行混洗;
置换所混洗的软位;以及
对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集。
8.根据权利要求1-2中的任一项所述的方法,其中,对所述多个寄存器内的所述位集进行解交织包括:
在所述多个寄存器的每个寄存器内:
对所述位集中的软位进行混洗而不会越过寄存器的通道;以及
跨所述寄存器的所述通道置换所混洗的软位;以及
在所述多个寄存器内,对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集而无需访问所述存储器(72、88)。
9.根据权利要求1-2中的任一项所述的方法,其中,对所述多个寄存器内的所述位集进行交织包括:
对所述多个寄存器内的所述位集中的位执行封装和解封装;
置换所述多个寄存器内的每个寄存器内的封装和解封装位;以及
对所述多个寄存器内的每个寄存器内的所置换的、封装和解封装位进行混洗以产生交织位集而无需访问存储器(72、88)。
10.根据权利要求1-2中的任一项所述的方法,其中,通过对所述多个寄存器内的所述位集重新布置而产生的所述解交织和交织位集中的一个表示与所加载的位集相关联的矩阵的转置矩阵。
11.根据权利要求1-2中的任一项所述的方法,其中,将所述解交织和交织位集中的一个从所述多个寄存器并行地写入所述存储器(72、88)包括:
将所述解交织和交织位集中的一个存储在通过至少计算基地址加偏移所确定的存储器地址处的所述存储器(72、88),所述偏移至少部分地基于所述无线传输的代码块的调制阶数和速率匹配输出位序列长度。
12.一种与无线传输相关联的通信装置(16、22),所述通信装置(16、22)包括:
具有多个寄存器的至少一个处理器(70、86),所述至少一个处理器(70、86)与存储器(72、88)通信,所述至少一个处理器(70、86)被配置成:
执行低密度奇偶校验LDPC解码过程和LDPC编码过程中的一个,所述LDPC解码过程和所述LDPC编码过程中的一个包括:
将位集并行地加载到多个寄存器中,所述位集分布在所述多个寄存器之间;
在不访问存储器(72、88)的情况下,通过将所加载的位集重新布置为解交织和交织位集中的一个,对所述多个寄存器内的所加载的位集进行解交织和交织中的一个;以及
在将所述位集重新布置为所述多个寄存器内的所述解交织和交织位集中的一个之后,将所述解交织和交织位集中的一个从所述多个寄存器并行地写入存储器(72、88)。
13.根据权利要求12所述的通信装置(16、22),其中,如果所述解交织和交织中的一个是解交织,则所述位集包括编码软位集。
14.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,如果所述解交织和交织中的一个是交织,则所述位集包括编码位集。
15.根据权利要求12-13中的任一项所述的通信装置(16、22),其中:
所述多个寄存器中的每个是执行所述LDPC解码过程和所述LDPC编码过程中的一个的至少一个处理器(70、86)的处理器寄存器架构的一部分;以及
所述存储器(72、88)在所述至少一个处理器(70、86)的外部,并且经由至少一个总线由所述至少一个处理器(70、86)间隔。
16.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,在不访问所述存储器(72、88)的情况下使用所述多个寄存器进行所述解交织和所述交织中的一个比使用所述存储器(72、88)进行所述解交织和所述交织中的一个更快。
17.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,如果所述解交织和交织中的一个是解交织,则所述位集包括软位集,所述软位集对应于多个软值,所述多个软值中的每个对应于LDPC概率值。
18.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,所述至少一个处理器(70、86)还被配置有机器指令,以通过以下方式对所述多个寄存器内的所述位集进行解交织:
对所述位集中的软位进行混洗;
置换所混洗的软位;以及
对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集。
19.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,所述至少一个处理器(70、86)还被配置有机器指令,以通过以下方式对所述多个寄存器内的所述位集进行解交织:
在所述多个寄存器的每个寄存器内:
对所述位集中的软位进行混洗而不会越过寄存器的通道;以及
跨所述寄存器的所述通道置换所混洗的软位;以及
在所述多个寄存器内,对所混洗的、所置换的软位执行封装和解封装,以产生解交织位集而无需访问所述存储器(72、88)。
20.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,所述至少一个处理器(70、86)还被配置有机器指令,以通过以下方式对所述多个寄存器内的所述位集进行交织:
对所述多个寄存器内的所述位集中的位执行封装和解封装;
置换所述多个寄存器内的每个寄存器内的封装和解封装位;以及
对所述多个寄存器内的每个寄存器内的所置换的、封装和解封装位进行混洗以产生交织位集而无需访问存储器(72、88)。
21.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,通过对所述多个寄存器内的所述位集重新布置而产生的所述解交织和交织位集中的一个表示与所加载的位集相关联的矩阵的转置矩阵。
22.根据权利要求12-13中的任一项所述的通信装置(16、22),其中,所述至少一个处理器(70、86)还被配置有机器指令,以通过以下方式将所述解交织和交织位集中的一个从所述多个寄存器并行地写入所述存储器(72、88):
将所述解交织和交织位集中的一个存储在通过至少计算基地址加偏移所确定的存储器地址处的所述存储器(72、88),所述偏移至少部分地基于所述无线传输的代码块的调制阶数和速率匹配输出位序列长度。
CN201880099351.9A 2018-11-07 2018-11-07 用于3gpp新空口的(解)交织和速率(去)匹配的优化实现方案 Active CN112913146B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2018/058754 WO2020095093A1 (en) 2018-11-07 2018-11-07 Optimized implementation of (de-)interleaving and rate (de-)matching for 3gpp new radio

Publications (2)

Publication Number Publication Date
CN112913146A CN112913146A (zh) 2021-06-04
CN112913146B true CN112913146B (zh) 2024-03-15

Family

ID=64426988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880099351.9A Active CN112913146B (zh) 2018-11-07 2018-11-07 用于3gpp新空口的(解)交织和速率(去)匹配的优化实现方案

Country Status (5)

Country Link
US (2) US11290130B2 (zh)
EP (2) EP3878102B1 (zh)
CN (1) CN112913146B (zh)
BR (1) BR112021008311A2 (zh)
WO (1) WO2020095093A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418294B2 (en) * 2019-09-20 2022-08-16 Qualcomm Incorporated Single step in-place operation method for 5G NR de-interleaving, de-rate matching, and HARQ combination

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510865A (zh) * 2007-10-30 2009-08-19 索尼株式会社 数据处理设备及方法
CN101971504A (zh) * 2008-06-13 2011-02-09 Lsi公司 用于多个代码类型的可编程解码的方法和设备
CN108633324A (zh) * 2017-01-24 2018-10-09 联发科技股份有限公司 具有ldpc码的交织器的结构

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3549756B2 (ja) * 1998-12-21 2004-08-04 日本電気株式会社 ブロックインターリーブ回路
US8179954B2 (en) * 2007-10-30 2012-05-15 Sony Corporation Odd interleaving only of an odd-even interleaver when half or less data subcarriers are active in a digital video broadcasting (DVB) standard
WO2006082923A1 (ja) 2005-02-03 2006-08-10 Matsushita Electric Industrial Co., Ltd. 並列インターリーバ、並列デインターリーバ及びインターリーブ方法
US8464120B2 (en) * 2006-10-18 2013-06-11 Panasonic Corporation Method and system for data transmission in a multiple input multiple output (MIMO) system including unbalanced lifting of a parity check matrix prior to encoding input data streams
US8281214B2 (en) * 2008-10-17 2012-10-02 Lsi Corporation Programmable quasi-cyclic low-density parity check (QC LDPC) encoder for read channel
US8811452B2 (en) * 2009-12-08 2014-08-19 Samsung Electronics Co., Ltd. Method and apparatus for parallel processing turbo decoder
US8719658B2 (en) * 2010-09-09 2014-05-06 Qualcomm Incorporated Accessing memory during parallel turbo decoding
US8402324B2 (en) * 2010-09-27 2013-03-19 Lsi Corporation Communications system employing local and global interleaving/de-interleaving
EP2525497A1 (en) 2011-05-18 2012-11-21 Panasonic Corporation Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes
US20130028269A1 (en) * 2011-07-28 2013-01-31 Limberg Allen Leroy DTV systems employing parallel concatenated coding in COFDM transmissions for iterative diversity reception
FR2987527B1 (fr) * 2012-02-23 2014-02-21 Univ Bretagne Sud Dispositif auto-configurable d'entrelacement/desentrelacement de trames de donnees
US8879671B2 (en) * 2012-08-30 2014-11-04 Intel Mobile Communications GmbH Worker and iteration control for parallel turbo decoder
US9300517B2 (en) * 2012-12-21 2016-03-29 Samsung Electronics Co., Ltd. Method and apparatus for transmitting/receiving signal in communication system
US9503203B2 (en) * 2013-06-11 2016-11-22 Intel Corporation Wireless interference cancellation
WO2014199865A1 (ja) * 2013-06-12 2014-12-18 ソニー株式会社 データ処理装置、及びデータ処理方法
US9143373B2 (en) * 2013-08-30 2015-09-22 Silicon Laboratories Inc. Transport of an analog signal across an isolation barrier
US10425110B2 (en) 2014-02-19 2019-09-24 Samsung Electronics Co., Ltd. Transmitting apparatus and interleaving method thereof
US20150236723A1 (en) * 2014-02-19 2015-08-20 Eric Morgan Dowling Parallel VLSI architectures for constrained turbo block convolutional decoding
US9748973B2 (en) * 2014-04-22 2017-08-29 Sandisk Technologies Llc Interleaved layered decoder for low-density parity check codes
US9344221B2 (en) * 2014-04-29 2016-05-17 Newracom, Inc. Interleaving and deinterleaving method
US20160036468A1 (en) * 2014-08-01 2016-02-04 Intel IP Corporation Method and device for iterative decoding a data transfer structure
US9564927B2 (en) * 2015-05-27 2017-02-07 John P Fonseka Constrained interleaving for 5G wireless and optical transport networks
WO2017091018A1 (en) * 2015-11-24 2017-06-01 Samsung Electronics Co., Ltd. Method and apparatus for channel encoding/decoding in a communication or broadcasting system
US10756761B2 (en) * 2016-10-24 2020-08-25 Lg Electronics Inc. Method for dividing carrying block of LDPC code and apparatus therefor
US10608786B2 (en) * 2017-02-24 2020-03-31 Huawei Technologies Co., Ltd. Apparatus and methods of specifying ordered sequences of coding sub-channels
CN114553368B (zh) * 2017-03-22 2024-05-17 三星电子株式会社 在通信或广播系统中使用harq传输的装置和方法
US10735154B2 (en) * 2017-03-23 2020-08-04 Huawei Technologies Co., Ltd. Methods and apparatus for coding sub-channel selection
US10447303B2 (en) * 2017-12-20 2019-10-15 Qualcomm Incorporated Low-density parity check (LDPC) incremental parity-check matrix rotation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510865A (zh) * 2007-10-30 2009-08-19 索尼株式会社 数据处理设备及方法
CN101971504A (zh) * 2008-06-13 2011-02-09 Lsi公司 用于多个代码类型的可编程解码的方法和设备
CN108633324A (zh) * 2017-01-24 2018-10-09 联发科技股份有限公司 具有ldpc码的交织器的结构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Interleaving on Parallel DSP Architectures;THOMAS RICHTER;《THE JOURNAL OF VLSI SIGNAL PROCESSING, KLUWER ACADEMIC PUBLISHERS》;第第39卷卷;第161-173页 *

Also Published As

Publication number Publication date
US11290130B2 (en) 2022-03-29
US11811423B2 (en) 2023-11-07
WO2020095093A1 (en) 2020-05-14
EP3878102A1 (en) 2021-09-15
EP3878102B1 (en) 2024-03-06
US20210320675A1 (en) 2021-10-14
EP4358416A2 (en) 2024-04-24
BR112021008311A2 (pt) 2021-08-03
US20220263522A1 (en) 2022-08-18
CN112913146A (zh) 2021-06-04
EP4358416A3 (en) 2024-05-08

Similar Documents

Publication Publication Date Title
JP2023106572A (ja) ポーラコード化システム、プロシージャおよびシグナリングのためのサブブロック単位のインターリービング
EP3954072B1 (en) Method and apparatus for data transmission in wireless communication system
KR101411134B1 (ko) 증가된 mac 헤더 보호를 위한 장치 및 방법
US10110406B2 (en) Systems and methods for channel interleaving in wireless networks
EP3516804B1 (en) Error detection and channel coding of transport blocks
JP2019535163A (ja) 情報送信方法、送信端デバイス及び受信端デバイス
KR20170092672A (ko) 무선 통신 시스템을 위한 sc-ldpc 코드들
US11082061B2 (en) High-rate long LDPC codes
US11811423B2 (en) Optimized implementation of (DE−)interleaving and rate (DE−)matching for 3GPP new radio
US20210344355A1 (en) Polar Coding Method, Polar Decoding Method, and Apparatus
EP3248311B1 (en) Transmitting device, receiving device, and methods performed therein
US9455798B2 (en) Forward error correction (FEC) to support successive interference cancellation (SIC)
KR102591143B1 (ko) 통신 시스템에서 데이터의 재전송 방법 및 장치
KR20220000707A (ko) 통신 시스템에서 극 부호의 부호화 또는 복호화를 위한 장치 및 방법
WO2021225483A1 (en) Network node and method performed therein for handling communication
KR20240062116A (ko) Ldpc용 디인터리버 및 디레이트 매칭 블록의 효율적인 설계 방법 및 장치
EP4169167A1 (en) Network node and method performed therein for handling received signal
WO2018064809A1 (en) Code block segmentation for encoding and decoding in wireless apparatus

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant