CN110192349B - 用于基于向量的ldpc基础矩阵的使用和生成的方法和装置 - Google Patents
用于基于向量的ldpc基础矩阵的使用和生成的方法和装置 Download PDFInfo
- Publication number
- CN110192349B CN110192349B CN201780080542.6A CN201780080542A CN110192349B CN 110192349 B CN110192349 B CN 110192349B CN 201780080542 A CN201780080542 A CN 201780080542A CN 110192349 B CN110192349 B CN 110192349B
- Authority
- CN
- China
- Prior art keywords
- portions
- matrix
- integers
- zero matrix
- vector
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/033—Theoretical methods to calculate these checking codes
- H03M13/036—Heuristic code construction methods, i.e. code construction or code search based on using trial-and-error
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1131—Scheduling of bit node or check node processing
- H03M13/114—Shuffled, staggered, layered or turbo decoding schedules
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/27—Coding, 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/2703—Coding, 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/2707—Simple row-column interleaver, i.e. pure block interleaving
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
Abstract
基础矩阵被应用于LDPC编码器。基础矩阵包括多个部分,每个部分包括多个行和多个列,并且包含整数,每个整数表示根据整数被循环移位的单位矩阵或者表示全零矩阵。多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同起始向量,在经过循环移位或交织之后,其中不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代。多个部分中的至少两个部分不相同。所应用的基础矩阵被用于进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个。
Description
技术领域
本发明一般地涉及无线通信并且,更具体地,涉及被用于无线通信的纠错码。
背景技术
本节旨在提供下文公开的本发明的背景或上下文。此处的描述可以包括可能被考虑过的概念,但并不一定是先前已经构思、实现或描述过的概念。因此,除非本文另有明确指示,否则在本节中描述的内容不是本申请中的描述的现有技术,并且不因被包括在本节中就被承认为是现有技术。下文在详细描述的章节的主要部分之后定义了在本说明书和/或附图中可以找到的缩写。
有许多不同的纠错码被用在无线通信中。这种代码允许在对所接收到的信息进行解码期间纠正某些类型的错误。
低密度奇偶校验(LDPC)是一种纠错码,其已经被用在802.11n、802.16e和许多其它标准中。近年来,LDPC作为一种满足下一代(即,5G)移动无线电要求的有潜力的编码方案已经受到了更多的关注。
特别地,LDPC已被选择作为用于5G中的eMBB的通道编码。因此,改进LDPC将是有益的。
发明内容
本节旨在包括示例并且不旨在是限制性的。
在示例性实施例中,一种方法包括:将基础矩阵应用于LDPC编码器,其中该基础矩阵由多个部分组成,每个部分包括多个行和多个列,并且基础矩阵由整数组成,其中每个整数表示根据整数被循环移位的单位矩阵或者表示全零矩阵。多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同起始向量,在经过循环移位或交织之后,其中不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代,其中多个部分中的至少两个部分不相同。该方法还包括:使用所应用的基础矩阵来进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个。
实施例的附加示例包括一种计算机程序,其包括用于当在处理器上运行计算机程序时执行上一段落的方法的代码。根据本段的计算机程序,其中计算机程序是计算机程序产品,该计算机程序产品包括计算机可读介质,该计算机可读介质承载有包含在计算机可读介质中以用于与计算机一起使用的计算机程序代码。
装置的示例包括一个或者多个处理器以及包括计算机程序代码的一个或多个存储器。该一个或多个存储器和该计算机程序代码被配置为与该一个或多个处理器一起使装置至少执行以下:将基础矩阵应用于LDPC编码器,其中该基础矩阵由多个部分组成,每个部分包括多个行和多个列,并且基础矩阵由整数组成,其中每个整数表示根据整数循环移位的单位矩阵或者表示全零矩阵,其中多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同的起始向量,在经过循环移位或交织之后,其中不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代,其中多个部分中的至少两个部分不相同;以及使用所应用的基础矩阵来进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个。
计算机程序产品的示例包括计算机可读介质,该计算机可读介质承载有包含在计算机可读介质中以用于与计算机一起使用的计算机程序代码。计算机程序代码包括:用于将基础矩阵应用于LDPC编码器的代码,其中该基础矩阵由多个部分组成,每个部分包括多个行和多个列,并且基础矩阵由整数组成,其中每个整数表示根据整数被循环移位的单位矩阵或者表示全零矩阵,其中多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同的起始向量,在经过循环移位或交织之后,其中不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代,其中多个部分中的至少两个部分不相同;以及使用所应用的基础矩阵的代码来进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个。
在实施例的另一示例中,一种装置包括:用于将基础矩阵应用于LDPC编码器的部件,其中该基础矩阵由多个部分组成,每个部分包括多个行和多个列,并且基础矩阵由整数组成,其中每个整数表示根据整数循环移位的单位矩阵或者表示全零矩阵,其中多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同的起始向量,在经过循环移位或交织之后,不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代,其中多个部分中的至少两个部分不相同;以及使用所应用的基础矩阵的部件来进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个。
上述示例可以被实施为用户设备和/或基站的一部分。通信***可以包括实现上面提供的示例的两个装置,例如,其中第一装置执行对数据的编码和对经编码的数据的传输并且第二装置执行接收经传输的数据并且对所接收的数据进行解码。
附图说明
在随附的附图中:
图1是可以实践示例性实施例的一种可能的非限制性示例性***的框图;
图2同时图示了在LDPC基础矩阵的一部分中的行正交性和在单层解码处理中的消息传递;
图3是在一个示例性实施例中用于LDPC的利用行重新使用和位移进行的矩阵生成的逻辑流程图,并且图示了示例性方法的操作、计算机可读存储器上所实施的计算机程序指令的执行结果、由以硬件实现的逻辑执行的功能、和/或用于根据示例性实施例执行功能的互连部件;
图4A图示了根据图3中的操作的多行集合的两种分布;
图4B图示了相对于图4A的一个多行集合的循环移位;
图4C图示了相对于图4A的另一多行集合的循环移位;
图4D图示了使用两个所生成的行集合作为一个码率兼容基础矩阵的扩展部分的部分;
图5是在另一示例性实施例中用于LDPC的利用行重新使用和位移进行的矩阵生成的逻辑流程图,并且图示了示例性方法的操作、计算机可读存储器上所实施的计算机程序指令的执行结果、由以硬件实现的逻辑执行的功能、和/或用于根据示例性实施例执行功能的互连部件;
图6A图示了根据图5中的操作将一行复制成多个行并且执行多次稀疏操作;
图6B图示了相对于图6A的一个多行集合的循环移位;
图6C图示了相对于图6A的另一多行集合的循环移位;
图6D图示了使用两个所生成的行集合作为一个码率兼容基础矩阵的扩展部分的部分;
图7图示了根据多个行集合的层解码器的配置以及使用循环移位对多个行集合的示例性导出;
图8图示了根据多个行集合的层解码器的配置以及使用交织对多个行集合的示例性导出;
图9图示了根据多个行集合的层解码器的配置以及使用循环移位和扩展对多个行集合的示例性导出;以及
图10图示了根据本发明的实施例的针对用于生成PCM的信令参数的各种信令实施例以及使用所生成的PCM以用于编码数据以供传输和/或解码所接收到的数据。
具体实施方式
本文使用了词语“示例性”来表示“用作示例、实例或者图示”。本文中被描述为“示例性”的任何实施例不一定被解释为相比于其它实施例优选或有利。在本详细说明中描述的所有实施例是被提供用以使本领域技术人员能够制造或使用本发明,而非限制本发明的范围,本发明的范围由权利要求书限定。
以下公开内容分成多个部分以便于查阅。
可能的***
本文中的示例性实施例描述了用于纠错的技术。这些技术的附加描述在可以使用示例性实施例的***被描述之后被提出。
转到图1,该图示出了可以实践示例性实施例的一种可能的非限制性示例性***的框图。在图1中,用户设备(UE)110与无线网络100无线通信。UE是无线的,通常是能够访问无线网络的移动设备。UE 110包括通过一个或多个总线127互连的一个或多个处理器120、一个或多个存储器125、以及一个或多个收发器130。该一个或多个收发器130中的每一个包括接收器Rx 132和传输器Tx 133。该一个或多个总线127可以是地址、数据或控制总线,并且可以包括任何互连机构,诸如主板或集成电路上的一系列线路、光纤或其它光学通信设备等。一个或多个收发器130被连接到一个或多个天线128。一个或多个存储器125包括计算机程序代码123。UE 110包括纠错模块140,其包括部分140-1和/或140-2中的一者或两者,这可以以多种方式来实现。纠错模块140可以以硬件被实现为纠错模块140-1,诸如被实现为一个或多个处理器120的一部分。纠错模块140-1也可以被实现为集成电路(图示为附图标记113并且通常称为“芯片”)或通过诸如可编程门阵列等其它硬件来实现。在另一示例中,纠错模块140可以被实现为纠错模块140-2,其被实现为计算机程序代码123并且由一个或多个处理器120执行。例如,一个或多个存储器125和计算机程序代码123可以被配置为与一个或多个处理器120一起使用户设备110执行本文描述的一个或多个操作。UE 110经由无线链路111与eNB 170通信。
eNB(演进NodeB)170是提供由诸如UE 110等无线设备对无线网络100的访问的基站(例如,用于LTE,长期演进)。eNB 170包括通过一个或多个总线157互连的一个或多个处理器152、一个或多个存储器155、一个或多个网络接口(N/W I/F)161和一个或多个收发器160。一个或多个收发器160中的每一个包括接收器Rx 162和传输器Tx 163。一个或多个收发器160被连接到一个或多个天线158。一个或多个存储器155包括计算机程序代码153。eNB170包括纠错模块150,该纠错模块150包括部分150-1和/或150-2中的一者或两者,其可以以多种方式来实现。纠错模块150可以以硬件被实现为纠错模块150-1,诸如被实现为一个或多个处理器152的一部分。纠错模块150-1也可被实现为集成电路(图示为标记112并且通常称为“芯片”)或通过诸如可编程门阵列等其它硬件来实现。在另一示例中,纠错模块150可以被实现为纠错模块150-2,其被实现为计算机程序代码153并且由一个或多个处理器152执行。例如,一个或多个存储器155和计算机程序代码153被配置为与一个或多个处理器152一起使eNB 170执行本文描述的一个或多个操作。一个或多个网络接口161通过网络通信,诸如经由链路176和131。两个或更多个eNB 170使用例如链路176通信。链路176可以是有线的或无线的或两者并且可以实现例如X2接口。
一个或多个总线157可以是地址、数据或控制总线,并且可以包括任何互连机构,诸如主板或集成电路上的一系列线路、光纤或其它光学通信设备、无线通道等。例如,一个或多个收发器160可以被实现为远程无线电头(RRH)195,其中eNB 170的其它元件物理上位于与RRH不同的位置,并且一个或多个总线157可以部分地被实现为光纤缆线以将eNB 170的其它元件连接到RRH 195。
无线网络100可以包括网络控制元件(NCE)190,其可以包括MME(移动性管理实体)/SGW(服务网关)功能性,并且该网络控制元件提供与另一网络,诸如电话网络和/或数据通信网络(例如,因特网)的连接性。eNB 170经由链路131被耦合到NCE 190。链路131可以被实现为例如S1接口。NCE 190包括一个或多个处理器175、一个或多个存储器171、以及一个或多个网络接口(N/W I/F)180,它们通过一个或多个总线185互连。一个或多个存储器171包括计算机程序代码173。一个或多个存储器171和计算机程序代码173被配置为与一个或多个处理器175一起使NCE 190执行一个或多个操作。
计算机可读存储器125、155和171可以是适合本地技术环境的任何类型并且可以使用任何合适的数据存储技术(诸如,基于半导体的存储器设备、闪存、磁性存储器设备和***、光学存储器设备和***、固定存储器和可移除存储器)来实现。计算机可读存储器125、155和171可以是用于执行存储功能的部件。处理器120、152和175可以是适合本地技术环境的任何类型,并且可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个,作为非限制性示例。处理器120、152和175可以是用于执行功能的部件,诸如控制UE 110、eNB 170、以及本文描述的其它功能。
通常,用户设备110的各种实施例可以包括但不限于:诸如智能电话的蜂窝电话、平板电脑、具有无线通信能力的个人数字助理(PDA)、具有无线通信能力的便携式计算机、图像捕获设备(诸如具有无线通信能力的数码相机)、具有无线通信能力的游戏设备、具有无线通信能力的音乐存储和播放设备、允许无线因特网访问和浏览的因特网设备、具有无线通信能力的平板电脑、以及并入这些功能的组合的便携式单元或终端。
概述
已经介绍了用于实践本发明的示例性实施例的一种合适的且非限制性的技术上下文,现在将更具体地描述示例性实施例。
如前所述,LDPC已被选择为用于5G中eMBB的通道编码。这部分地发生在3GPPRAN1#87会议上。对于UL eMBB数据通道,过去的工作假设是采用灵活的LDPC作为针对小块大小的单通道编码方案(除非发现重大问题才需要确定)。先前已经同意对大块大小采用LDPC。在该会议中,对于DL eMBB数据通道,同意采用灵活的LDPC作为针对所有块大小的单通道编码方案。
此外,也同意针对在5G中的LDPC应支持IR HARQ,因为这在3GPP RAN1#86会议中达成了协议。对于为了支持增量冗余(IR)(或类似的)和蔡斯合并(CC)HARQ的NR的数据通道而设计的(多种)通道编码技术达成附加协议。
此外,在3GPP RAN1#87会议上达成如下协议:奇偶校验矩阵的代码扩展被用于IRHARQ/码率匹配支持,并且将会使用下三角扩展,该下三角扩展包括作为特例的对角扩展。
因此,LDPC正在获得对于5G的接纳和重视。本发明旨在改进LDPC和LDPC的使用。
作为介绍,LDPC的细节更常与被用于编码和解码的奇偶校验矩阵(PCM)相关联来讨论。在LDPC的不同变体中,准循环(QC)LDPC被认为是在实际情况下使用LDPC码的最实用方式。在QC-LDPC中,PCM可以通过基于扩展因子Z扩展基础矩阵来生成,其中,该基本矩阵可以被如下定义:
基础矩阵=[P1,1,P1,2,P1,3,…P1,N
P2,1,P2,2,P2,3,…P2,N
………………………
PM,1,PM,2,PM,3…PM,N],
其中,Pi,j等于-1或非负值,i=1,2,…M,并且j=1,2,…N。
当生成PCM时,执行以下操作:
1)如果Pi,j=-1,则它将会被大小为Z*Z的全零矩阵取代;
2)如果Pi,j是非负值,则它将会被大小为Z*Z的单位矩阵的循环排列所取代,其中,该循环排列基于Pi,j的值,例如,如果Pi,j=5,Z=8,则单位矩阵的循环排列会如下:
考虑到PCM的对应Tanner图,结构应该满足一些PCM标准,例如,避免长度为4的圆或将长度为4的圆保持低比例或者在Tanner图中保持具有低比例的小(例如,4、6)圆的良好周长轮廓。否则,已发现LDPC编码方案的性能不是很好。例如,PEG方法可以被用来生成确保上述要求的PCM。众所周知,码的周长g是Tanner图中最短圆的长度。周长轮廓是该圆在其Tanner图中的长度的轮廓。
对于LDPC,在解码中使用消息传递,其中,从变量节点到校验节点以及从校验节点到变量节点存在消息传递。最小和(Min-Sum)解码方案是一种具有较低复杂度的实用方案,其被选择作为有效的可实现解码方案。在最小和解码中,比较与选择被用于消息选择和传递。
分层解码是一种具有高执行效率的重要解码方案,例如,相较于泛洪解码,芯片面积更小(例如,就集成电路112或113或两者而言)且迭代次数更少。在分层解码中,一些行是行正交的(即,多个行中的每列最多有一个不指示全零矩阵的元素,或者等效地,多个行中的每列最多有一个单位矩阵循环移位值)并且在解码中被逐列地合并成一行作为一个层。
转到图2,该图同时图示了在LDPC基础矩阵的一部分中的行正交性(用附图标记280示出)以及在单层解码处理中的消息传递(用附图标记290示出)。如附图标记280所示,行R、R+1和R+2是LDPC基础矩阵的行(或行的列子集)并且被合并成一行240。行240从左到右由如下值组成:来自行R的值210-1;来自行R+1的值220-2;来自行R+2的值230-3;来自行R+1的值220-4;来自行R的值210-5;来自行R+2的值230-6;…;来自行R+2的值230-(N-2);来自行R的值230-(N-1);以及来自行R+1的值220-N。在单层解码处理290的消息传递中,单层处理250包括如下执行的多个比较和选择处理255-1、255-2和255-3:处理255-1使用来自行210的值210-1、210-5和210-(N-1);处理255-2使用来自行220的值220-2、220-4和210-N;以及处理255-3使用来自行230的值230-3、230-6和230-(N-2)。单层处理250执行与在变量节点与校验节点之间的消息传递等效的操作。这些处理255中的每一个以相同的顺序输出它们相应的输出值。输出是行260,包括值270-1、270-2、270-3、270-4、270-5、270-6、…、270-(N-2)、270-(N-1)和270-N。
虽然这种单层解码处理在5G中,尤其是对于eMBB是有价值的(且可以在此使用),但考虑到Gbps吞吐量的要求,块大小可能会非常大。一般的情况是一次传输有数百个代码块,每个块包含多达5000到8000个信息位。基于5G的这种一般情况的要求,为了实现高吞吐量,应该将多个平行LDPC解码器实现在一个终端(例如,UE)中,并且在eNB中的解码器数目可能是数倍于单个UE中实现的解码器数目。同时,在每个解码器中,应实施有多层,所有这些层应当被分离地优化,以确保高解码速度和低能耗。这是一项重大挑战。
在LDPC基础矩阵的一般设计中,Pi,j彼此不相关,因此对于每一层,应有不同的交换网络以基于独立的Pi,j传递来自每个块的消息。这种交换网络是用于LDPC的最小和解码器的一个主要组件,并且在每个平行解码器中将占用大比例的芯片面积(诸如在半导体112或113或两者中)。如何降低交换网络的复杂度和芯片面积是一个问题。
本文中的示例性实施例改进了当前LDPC基础矩阵和PCM的生成和使用。特别地,LDPC基础矩阵被调适为使得其包括多个通常不相同的行正交部分,每个部分具有行的逐列组合,这些行组合可以通过以下方式从部分所共有的单个向量导出:针对每个部分,最多用指示全零矩阵的值替换少于所有向量值(通常表示为-1)、以及循环移位或交织在一部分中产生的行和用零个或多个由仅指示全零矩阵的值组成的元素修改这些行中的一种。这种部分可以通过多种技术来生成。特别地,在示例性方面中,可以使用以下技术:
技术1:使用一个(例如,起始)向量来生成多个正交行的两个(或更多)个集合,其中,起始向量包括多个值,每个值是非负值或-1(如上面描述的)。
技术2:执行多个正交行的每个集合的循环移位(或交织)以生成基础矩阵的部分。
现在已经提供了概述,将提供附加的细节。
基础矩阵和PCM考虑
基础矩阵和PCM被用于编码和解码,以下对描述编码和解码的总体流程进行描述。然而,在此之前,描述基础矩阵和PCM考虑。
在示例性方面中,基础矩阵可以是用于某个码率的一个基础矩阵或支持IR HARQ或基于基础矩阵的不同部分支持多个码率的码率兼容基础矩阵。对于码率兼容基础矩阵,我们考虑从支持高码率的基础矩阵扩展到支持低码率的最终已扩展基础矩阵的方法。下面详细描述了两种示例性方法。
参照图3描述第一种示例性方法。图3是利用用于LDPC的行重新使用和移位进行矩阵生成的逻辑流程图。该图进一步图示了根据示例性实施例的示例方法的操作、被实施在计算机可读存储器上的计算机程序指令的执行结果、由以硬件实现的逻辑执行的功能、和/或用于执行功能的互连部件。
在该示例性方法中,将一个(起始向量)分布到具有行正交性的多行集合(见框310)中,其中,该起始向量包括多个非负值。框320涉及执行该多行集合的循环移位以生成基础矩阵的一个部分。在框330中,重新使用相同起始向量并且将起始向量分布到具有行正交性的另一多行集合中。在框340中执行该另一多行集合的循环移位以生成基础矩阵的另一部分。注意,本文中描述的示例针对框320和340使用了不同的循环移位,但可以针对框320和340使用相同数目的移位。此外,虽然参照框320和340(分别对应于图4B和图4C)描述了循环移位,但可以相反执行交织(例如,见图8)。
在图4A至图4C中图示了这些框中的某些操作。图4A图示了根据图3中的操作的多行集合的两种分布,图4B图示了针对来自图4A的一个多行集合的循环移位,并且图4C图示了针对来自图4A的另一多行集合的循环移位。此外,图4D图示了使用两个所生成的行集合作为一个码率兼容基础矩阵的扩展部分的部分。
在图4A至图4C示出的以下示例中,将一个起始向量分布到三个正交行中并且循环移位以生成基础矩阵的一个部分,并且将相同的起始向量分布到另外三个正交行中并且循环移位以生成基础矩阵的另一部分。图4A图示了包括值P1至P12的起始向量410。在该示例中,将该起始向量410分布(附图标记310)到行425-1、425-2和425-3的集合420。将相同起始向量410分布(附图标记330)到行435-1、435-2和435-3的另一集合430。值P1至P12中的每一个值表示针对单位矩阵的移位值(通常由非负整数值指示)并且“空白”值表示全零矩阵(通常用-1指示)。行数仅仅是图示性的,针对个别行的值的数目也是图示性的。
图4B图示了循环移位320,其中,针对集合420的行425中的最后两个值被移位到行的开始处以创建行集合440,在循环移位之后具有行445-1、445-2和445-3。图4C图示了循环移位340,其中,针对集合430的行435中的最后六个值被移位到行的开始处以创建行集合450,在循环移位之后具有行455-1、455-2和455-3。
在该示例中,所生成的两个部分440、450被用作一个码率兼容基础矩阵的扩展部分,其中,该扩展来自支持高码率的基础矩阵。这由图4D图示,其中,在基础矩阵460上执行扩展操作470以形成具有包括行集合440、450的扩展490的码率兼容基础矩阵480。一般,区域495应只包含指示灰色部分460旁边的全零矩阵的元素,但不应全部只有指示附加部分440、450旁边的全零矩阵的元素。在本示例中,440和450的宽度与460的宽度相同。应注意,在其它情况下,440和450的宽度可以小于460的宽度。在一些情况下,部分440和450可以由460的列数的子集组成,其中,剩余的列可以包含指示全零矩阵的元素。
参照图5描述第二示例性方法。在框510中,将一个(起始)向量复制到多行并且将该多行稀疏处理而使该稀疏后的行集合形成行正交的结构,其中,起始向量包括多个非负值。稀疏意味着值P1至P12中的每一个都指示单位矩阵的移位值(一般由非负整数指示)并且“空白”值指示全零矩阵(一般由-1指示),并且“空白”值被放在未放置值P1至P12的位置。换言之,确定如何产生所生成的被稀疏处理后的行集合以使得每个行集合在它的其中一个行中的原始列位置中仅包含P1至P12中的一个值,并且针对该列位置的其它行的其它值包含全零矩阵的指示。
在框520中,将被稀疏处理后的行的集合循环移位以生成基础矩阵的一个部分。在框530中,将起始向量复制到另一多行集合并且如上所描述那样对该多行集合进行稀疏处理以将另一被稀疏处理后的行的集合形成行正交的结构。注意,多行集合中的行数在框510与530之间可以不相同,参见例如图7和图8。在框540中,将另一被稀疏处理后的行的集合循环移位以生成基础矩阵的另一部分。虽然参照框520和540(分别对应于图6B和图6C)描述了循环移位,但可以相反执行交织(例如,见图8)。
在图6A至图6C中图示了这些框中的某些操作。图6A图示了根据图5中的操作将起始向量复制成多行并且执行多次稀疏操作,图6B图示了针对来自图6A的一个多行集合的循环移位,并且图6C图示了针对来自图6A的另一多行集合的循环移位。另外,图6D图示了使用两个所生成的行集合作为一个码率兼容基础矩阵的扩展部分的部分。
在图6A至图6C所示的以下示例中,将一个起始向量复制到多个行中并且对这些行进行稀疏处理以创建两个正交行集合,并且将这些集合循环移位以生成基础矩阵的部分。图6A图示了包括值P1至P12的起始向行410。在该示例中,将该起始行410复制到(附图标记510)副本525-1、525-2和525-3的集合520中。将副本525的集合520稀疏到(附图标记510)行425-1、425-2和425-3的集合420。将副本525的集合520稀疏到(附图标记530)行435-1、435-2和435-3的集合430。值P1至P12中的每一个都是非负值并且“空白”值指示全零矩阵。因此,该稀疏处理创建了稀疏行425的集合420,其中,在每个列位置中,仅定位有元素P1至P12中的最多一个,并且行425中的其它值指示全零矩阵。类似地,稀疏处理创建了稀疏行435的集合430,其中,在每个列位置中,仅定位有元素P1至P12中的一个,并且行435中的其它值指示全零矩阵。行数仅仅是图示性的,针对个别行的值的数目也是图示性的。
图6B图示了循环移位520,其中,针对集合420的行425中的最后两个值被移位到行的开始处以创建行集合440,在循环移位之后具有行445-1、445-2和445-3。图6C图示了循环移位540,其中,针对集合430的行435中的最后六个值被移位到行的开始处以创建行集合450,在循环移位之后具有行455-1、455-2和455-3。
在本示例中,所生成的两个部分440、450被用作一个码率兼容基础矩阵的扩展部分,其中,该扩展来自支持高码率的基础矩阵。这由图6D图示,其中,在基础矩阵460上执行扩展操作470以形成具有包括行集合440、450的扩展490的码率兼容基础矩阵480。还参见图4D及其对应文本。
图7中描绘了另一示例。层解码器(711、712)根据两个多行集合701和702来配置。更特别地,层解码器被配置有表示循环移位值[12 3 4 5 6]的向量790的交换结构。这两个多行集合701和702被配置为使得它们是行正交的并且它们对应的逐列组合(706、707)是该相同的[1 2 3 4 5 6]向量790被稀疏处理后且循环移位后的表示。即,可以观察到逐列组合706通过循环移位三并且用此处被示作空白的全零矩阵的指示取代元素二(2)来对应于[1 2 3 4 5 6]。在框792中,对应于原始向量790的元素(2)执行行正交集合721的整个列的稀疏,并且通过全零矩阵的指示在逐列组合706中指示出该稀疏。并且,可以观察到逐列组合707通过循环移位二并且用此处被示作空白的全零矩阵的指示取代元素一(1)来对应于[1 2 3 4 5 6]。在框794中,对应于原始向量790的元素(1)执行行正交集合722的整个列的稀疏,并且通过全零矩阵的指示在逐列组合707中指示出该稀疏。
当根据第一集合701处理数据时,通过禁用交换结构780的与元素二(2)对应的部分并且将输入循环移位三来配置层解码器711。当根据第二集合702处理数据时,通过禁用与元素一(1)对应的交换结构部分并且将输入循环移位二来配置层解码器712。例如,可以通过在交换结构的入口处简单地禁用裸片上的某些门、通过防止存储交换结构的这部分的输出、或者通过跳过读取交换结构的这部分至不同存储器的输出,来实现禁用交换结构780的一部分。可以通过对输入存储器中的数据进行实际移位、或者更通常地通过存储器再寻址来使输入移位。循环移位和禁用两者都需要最少量的附加逻辑。因此,层解码器711和712可以方便地是按照两种不同的方式配置的相同层解码器(不像常规***,其中,需要两个层解码器)。这通过层解码器750进行了图示并且其交换结构780被配置为(见框770)执行列的适当移位和稀疏以创建层解码器711、712。在示例中,在框770中,纠错模块140/150可以执行配置,并且层解码器750及其交换结构780可以被实现为纠错模块140/150的一部分,或者被实现为传输器133/163(例如,作为编码器)的一部分或被实现为接收器132/162(例如,作为解码器)的一部分,与纠错模块140/150分开。其它配置也是可能的。
例如,可能的是:可以将单个编码器760(例如,解码器或编码器)配置为(框765)执行框510/530中的复制(或者框310/330中的分布)、行和个别列的稀疏(如附图标记721和722中的)、以及框520/540的循环移位,并且进一步创建并且实现层解码器711/712(如前所述)。该单个编码器760可以被实现为纠错模块140/150的一部分、或者被实现为传输器133/163(例如,作为编码器)的一部分或被实现为接收器132/162(例如,作为解码器)的一部分,例如,与纠错模块140/150分离。纠错模块140/150可以执行框765中的操作,其中,编码器760被配置有向量790、复制(或分布)指示、稀疏信息(例如,针对行和/或列)、以及循环移位信息(以及任何其它合适的信息)以引起LDPC解码(或编码)。
在图7中描绘的实施例中,根据图5中描绘的处理,通过将向量复制和稀疏(510)成721接着循环移位(520)并且通过将向量复制和稀疏(530)成722接着循环移位(540),从向量790(起始行)[12 3 4 5 6]导出两个多行集合。在替代实施例中,可以利用图3中描绘的处理类似地导出两个集合701和702。稀疏和循环移位的顺序可以自然反转。如可以观察到的,集合701和702被描绘为具有不同的行数。通常不要求多行集合具有相同的行数。
图8描绘了另一实施例。该实施例与图7的实施例的不同之处主要在于:替代循环移位,两个多行集合731和732的逐列组合736、737通过交织(针对框520和540)和稀疏,而不是通过循环移位和稀疏,来对应于向量[1 2 3 4 5 6]。对应地,必须对层解码器(741、742)的输入进行交织。在框892和894中对整个列进行稀疏。与图7一样,在图8中,层解码器750和交换结构780可以被配置为(框880)执行列的适当移位和稀疏以创建层解码器741、742。此外,可能的是:单个编码器860(例如,解码器或编码器)可以被配置为(框865)执行框510/530中的复制(或者框310/330中的分布)、行和个别列的稀疏(如附图标记721/892和722/894中的)、以及框520/540的交织。该单个编码器860可被实现为纠错模块140/150的一部分,或者被实现为传输器133/163(例如,作为编码器)的一部分或被实现为接收器132/162(例如,作为解码器)的一部分。纠错模块140/150可以执行框865中的操作,其中,编码器860被配置有向量790、复制(或分布)指示、稀疏信息(例如,针对行和/或列)、以及循环移位信息(以及任何其它合适的信息)以引起LDPC解码(或编码)。
应该理解,还设想了实施例,其中,一个或多个多行集合对应于交织并且一个或多个其它多行集合对应于循环移位。能够处理这些集合的层解码器针对这种实施例将具有输入交织能力,而针对与循环移位相对应的集合则将使其输入交织被设置为反映循环移位。
图9描绘了另一实施例,其与图7中描绘的实施例相似,区别在于:替代框792,在910处通过***仅由指示全零矩阵的值组成的附加列来扩展多行集合930。层解码器911可以对应地被配置为跳过(附图标记920)与***的列相对应的输入数据。
可能的实现
有至少两种实现方法,如下所述。
在示例性的第一实现中,使用上述技术中的一种或多种来生成在5G中使用的基础矩阵,例如eMBB。根据上述技术中的一种或多种来预先生成PCM的基础矩阵并且将其存储在eNB 170(和/或UE 110)中,并且eNB 170(和/或UE 110)使用基础矩阵(和/或PCM)进行解码。
在示例性的第二实现中,eNB 170(和/或UE 110)根据上述技术中的一种或多种来生成基础矩阵(和/或PCM),并且eNB 170(和/或UE 110)使用基础矩阵(和/或PCM)进行解码。
上面提到的实现基于预先定义的基础矩阵。还可以有其它方式使eNB和UE使用相同的基础矩阵,比如eNB和UE之间的信令(最有可能的是eNB配置给UE),其中,该信令可以包括以下中的一个或某个组合:
·被用于生成多行集合的行的指示符;和/或
·针对指示如何分布和/或稀疏该行以生成多行的每个集合的指示符和/或
·针对将被用于每个集合的循环移位的指示符;和/或
·针对将被应用于每个集合的交织模式的指示符。
此外,还可以预先定义某个参数并且基于eNB和UE之间的信令传输某个参数。例如,UE可以存储多个向量(起始行),其中,eNB可以发信号通知UE应从哪个向量生成多行集合。因为针对向量(起始行)的存储器存储空间明显小于对应的多行集合的存储器存储空间,并且可以通过不同的稀疏和循环移位或交织从相同的向量生成许多的多行集合,所以可以实现明显减小的存储空间和更灵活的基础矩阵选择的组合。
图10描绘了这种参数信令的一些可能的实施例。在一个实施例中,eNB 170基本上向UE 110传输(1010)整个向量或被存储在UE中的一个或多个向量中的向量的索引,UE接收并且使用该索引来生成(1020)PCM的多行集合。UE可以随后使用所生成的PCM来传输(1091)经编码的数据和/或解码(1093)从eNB接收到的经编码的数据。对应地,eNB可以使用向量生成相同的PCM以传输(1090)经编码的数据和/或解码(1092)从eNB接收到的经编码的数据。
在另一实施例中,另外地或替代1010和1020,eNB可以传输(1030)循环移位值以用于在UE处生成(1040)PCM的至少一个多行集合。
在另一实施例中,另外地或替代1010、1020和/或1030、1040,eNB可以传输(1050)交织指示以用于在UE处生成(1060)PCM的多行集合,其中,该交织指示是指示PCM的至少一个多行集合的交织向量。例如,交织指示可以采取可能的交织向量的集合的索引的形式或采取交织向量的形式。
在另一实施例中,另外地或替代1010、1020和/或1030、1040和/或1050、1060,eNB可以传输(1070)行指示向量指示以用于在UE处生成(1080)多行集合,其中,该行指示向量指示是指示PCM的至少一个多行集合的至少一个行指示向量。例如,行指示向量指示可以采取行指示向量的集合的索引的形式或采取行指示向量的形式。
如此,UE可以例如接收向量索引、针对一个多行集合的循环移位值、针对另一多行集合的交织向量的索引、以及针对该一个多行集合和另一多行集合中的每个集合的行指示向量的索引,并且可以在使用所生成的PCM进行传输(1091)或解码数据(1093)之前根据所接收到的索引和循环移位值生成PCM的行的集合。
当通过上述技术中的一种或通过从其导出的任何方法来生成基础矩阵时,至少使得该基础矩阵包括多个通常不相同的行正交部分,每个部分具有逐列组合,该逐列组合可以通过以下方式从针对这些部分的相同行导出:针对每个部分,最多用指示全零矩阵的值替换少于所有相同行值(通常表示为-1)、并且用由仅指示全零矩阵的值组成的零个或多个元素来扩展向量、以及对所产生的向量进行循环移位或交织中的一种,然后分层解码可以由相同行所生成的多个层共用(作为技术效果的一个示例)。详细地说,当两个层通过相同的行生成或至少具有对应于该相同行的逐列组合时,则针对这两个层中的任何层可以使用一组循环移位处理器和层解码器。我们只需要设置精确的循环移位值,使得该层可以被解码。因此,该组循环移位处理器和层解码器可以由相同行所生成的层共用。如果应用交织而非循环移位亦如此。针对对应于相同行的所有层,只需要且共用一个交换网络,因此可以减少芯片面积(作为示例)。
而且,基于上述技术,将会减少基础矩阵设计和标准工作所花的努力。
此外,如上所述,数据存储也有改进。例如,可以仅存储原始向量,从而节省数据存储。常规的存储是基础矩阵中的部分(见图中的部分1和2)的直接存储。基本上,单位矩阵的可能的循环移位数是Z,因此需要ceil(log2(Z+1))位(其中,“ceil”是众多周知的取整函数)来存储基础矩阵的每个元素,这是由于需要一个附加的值来指示-1。如果Z=8,则因此基础矩阵的每个条目需要4位。针对大小分别为4x12的两个部分,一个部分将会最终存储384位。通过比较,所公开的方法可能需要92或158位,这取决于是否使用循环移位或是否使用更灵活的交织方法。这些数字仅仅是图示性的,但确实指示存储节省。因此,在所存储的原始向量的基础上生成基础矩阵而不是存储基础矩阵本身允许显著的存储空间节省。
附加信息
上面的描述使用术语“用户设备”和“基站”(或eNB)。这些术语仅仅是为了方便描述而使用。用户设备可以是任何无线移动设备并且基站可以是允许无线移动设备接入无线网络的任何无线网络接入节点。例如,在局域网(LAN)中使用的术语(诸如WI-FI,一种允许电子设备连接至无线LAN的技术)通常是基站被称为接入点并且无线移动设备具有许多不同的名字。
本领域的技术人员要理解,虽然本公开中描绘的示例使用非常小的多行集合以便于容易地理解附图,但是在实际***中根据本发明的实施例的基础矩阵的多行集合将反映基础矩阵的一个相当大的部分,但不一定是全部。
另外的示例如下。
示例1:一种方法,包括:将基础矩阵应用于LDPC编码器,其中,该基础矩阵由多个部分组成,每个部分包括多个行和多个列,并且基础矩阵由整数组成,其中每个整数表示根据整数被循环移位的单位矩阵或者表示全零矩阵,其中多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同起始向量,在经过循环移位或交织之后,其中不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代,其中多个部分中的至少两个部分不相同;以及使用所应用的基础矩阵来进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个。
示例2:根据示例1的方法,其中多个部分中的至少两个部分中的一个或多个部分被配置有除了相同起始向量的元素之外的一个或多个附加列,该附加列仅指示全零矩阵。
示例3:根据示例1或示例2中任一示例的方法,其中当使用LDPC编码器来解码数据时,将基础矩阵应用于LDPC编码器进一步包括:根据相同起始向量来配置具有交换结构的单层编码器以解码多个部分中的至少两个部分。
示例4:根据示例3的方法,其中:多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同起始向量,其中不指示相同向量的全零矩阵的一个或多个但不是所有整数由指示全零矩阵的整数取代;以及配置单层编码器以用于解码多个部分中的至少两个部分中的每个部分进一步包括:根据由指示全零矩阵的整数取代的不指示相同向量的全零矩阵的一个或多个但不是所有整数,相应地禁用交换结构的一个或多个但不是所有部分。
示例5:根据示例3的方法,其中解码数据进一步包括:根据通过使至少两个部分中的一个或多个部分中的每个部分的列移位而创建的循环移位的表示,将经循环移位的数据应用于交换结构,或者解码数据进一步包括:根据通过将至少两个部分中的一个或多个部分中的每个部分的列交织而创建的交织的表示,将经交织的数据应用于交换结构。
示例6:根据示例1至5中任一示例的方法,其中针对部分的循环移位或交织包括:针对部分中的所有行以相同的顺序循环移位或者针对部分中的所有行以相同的模式交织。
示例7:根据示例1至6中任一示例的方法,其中多个部分中的至少两个部分的相应的行数不同。
示例8:根据示例1至7中任一示例的方法,其中多个部分中的至少两个部分的相应的循环移位数不同,或者多个部分中的至少两个部分的相应的交织不同。
示例9:根据示例1至8中任一示例的方法,进一步包括:至少通过执行以下来生成多个部分中的至少两个部分:将相同起始向量复制到多个部分中的至少两个部分的每行;以及按照每行,用指示全零矩阵的整数取代不指示全零矩阵的至少一个但不是所有整数,使得不表示全零矩阵的最多一个整数保留在多个部分中的每个部分中的每一列中。
示例10:根据示例1至8中任一示例的方法,进一步包括:至少通过执行以下来生成多个部分中的至少两个部分:针对至少两个多个部分中的每个部分,将相同起始向量分布在部分的每行上;以及按照每行,用指示全零矩阵的整数取代不指示全零矩阵的零个或多个但不是所有整数,其中划分和取代中的至少一项被执行,使得不指示全零矩阵的最多一个整数保留在多个部分中的每个部分中的每列中。
示例11:根据示例1至10中任一示例的方法,进一步包括:在用户设备处从网络元件接收至少一个所接收的指示,该至少一个所接收的指示包括以下中的至少一个:针对多个部分中的至少两个部分中的至少一个部分的循环移位的指示、针对多个部分中的至少两个部分中的至少一个部分的交织的指示、针对多个部分中的至少一个部分的行指示向量的指示,其中行指示包括针对相同向量的每个元素的行指示、相同向量的指示;以及根据至少一个所接收的指示来生成多个部分中的至少两个部分。
示例12:一种装置,包括:用于将基础矩阵应用于LDPC编码器的部件,其中该基础矩阵由多个部分组成,每个部分包括多个行和多个列,并且基础矩阵由整数组成,其中每个整数表示根据整数循环移位的单位矩阵或者表示全零矩阵,其中多个部分中的至少两个部分被配置成使得它们相应的逐列的行组合表示相同起始向量,在经过循环移位或交织之后,其中不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代,其中多个部分中的至少两个部分不相同;以及用于使用所应用的基础矩阵的部件来进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个的部件。
示例13:根据示例12的装置,其中多个部分中的至少两个部分中的一个或多个部分被配置有除了相同起始向量的元素之外的一个或多个附加列,该附加列仅指示全零矩阵。
示例14:根据示例12或示例13中任一示例的装置,其中当使用LDPC编码器来解码数据时,用于将基础矩阵应用于LDPC编码器的部件进一步包括::用于根据相同起始向量来配置具有交换结构的单层编码器以解码多个部分中的至少两个部分的部件。
示例15:根据示例14的装置,其中:多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示相同起始向量,其中不指示相同向量的全零矩阵的一个或多个但不是所有整数由指示全零矩阵的整数取代;以及用于配置单层编码器以用于解码多个部分中的至少两个部分中的每个部分的部件进一步包括:用于根据由指示全零矩阵的整数取代的、不指示相同向量的全零矩阵的一个或多个但不是所有整数,相应地禁用交换结构的一个或多个但不是所有部分的部件。
示例16:根据示例13的装置,其中用于解码数据的部件进一步包括:用于根据通过使至少两个部分中的一个或多个部分中的每个部分的列移位而创建的循环移位的表示将经循环移位的数据应用于交换结构的部件,或者用于解码数据的部件进一步包括:用于根据通过将至少两个部分中的一个或多个部分中的每个部分的列交织而创建的交织的表示将交织的数据应用于交换结构的部件。
示例17:根据示例12至16中任一示例的装置,其中针对部分的循环移位或交织包括:针对部分中的所有行以相同的顺序循环移位或者针对部分中的所有行以相同的模式交织。
示例18:根据示例12至17中任一示例的装置,其中多个部分中的至少两个部分的相应的行数不同。
示例19:根据示例12至18中任一示例的装置,其中多个部分中的至少两个部分的相应的循环移位数不同,或者多个部分中的至少两个部分的相应的交织不同。
示例20:根据示例12至19中任一示例的装置,进一步包括:用于至少通过使用以下来生成多个部分中的至少两个部分的部件:用于将相同起始向量复制到多个部分中的至少两个部分的每行的部件;以及用于按照每行用指示全零矩阵的整数取代不指示全零矩阵的至少一个但不是所有整数使得不指示全零矩阵的最多一个整数保留在多个部分中的每个部分中的每列中的部件。
示例21:根据示例12至19中任一示例的装置,进一步包括:用于至少通过使用以下来生成多个部分中的至少两个部分的部件:用于针对至少两个多个部分中的每个部分将相同起始向量分布在部分的每行上的部件,以及用于按照每行用指示全零矩阵的整数取代不指示全零矩阵的零个或多个但不是所有整数的部件,其中划分和取代中的至少一项被执行,使得不指示全零矩阵的最多一个整数保留在多个部分中的每个部分中的每列中。
示例22:根据示例12至21中任一示例的装置,进一步包括:用于在用户设备处从网络元件接收至少一个所接收的指示的部件,该至少一个所接收的指示包括以下中的至少一个:针对多个部分中的至少两个部分中的至少一个部分的循环移位的指示、针对多个部分中的至少两个部分中的至少一个部分的交织的指示、针对多个部分中的至少一个部分的行指示向量的指示,其中行指示包括针对相同向量的每个元素的行指示、相同向量的指示;以及用于根据至少一个所接收的指示来生成多个部分中的至少两个部分的部件。
示例23:一种用户设备,包括根据示例12至22中任一示例的装置。
示例24:一种基站,包括根据示例12至21中任一示例的装置。
示例25:一种通信***,包括根据示例12至22中任一示例的第一装置和根据示例12至21中任一示例的第二装置。
示例26:一种计算机程序,包括用于执行根据示例1至11中任一示例的方法的程序代码。
示例27:根据示例26的计算机程序,其中计算机程序是计算机程序产品,计算机程序产品包括计算机可读介质,计算机可读介质承载有包含在计算机可读介质中以用于与计算机一起使用的计算机程序代码。
示例28:一种装置,包括:一个或多个处理器;以及包括计算机程序代码的一个或多个存储器,该一个或多个存储器和计算机程序代码被配置为与该一个或多个处理器一起使装置至少执行以下:将基础矩阵应用于LDPC编码器,其中该基础矩阵由多个部分组成,每个部分包括多个行和多个列,并且基础矩阵由整数组成,其中每个整数表示根据整数循环移位的单位矩阵或者表示全零矩阵,其中多个部分中的至少两个部分被配置成使得它们相应的逐列的行组合表示相同起始向量,在经过循环移位或交织之后,其中不指示相同向量的全零矩阵的零个或多个但不是所有整数由指示全零矩阵的整数取代,其中多个部分中的至少两个部分不相同;以及使用所应用的基础矩阵来进行使用LDPC编码器来编码数据或使用LDPC编码器来解码数据中的一个。
示例29:根据示例28的装置,其中该一个或多个存储器和计算机程序代码被配置为与该一个或多个处理器一起使装置执行根据示例2至11中任一示例的方法。
本文中的实施例可以在软件(由一个或多个处理器执行)、硬件(例如,专用集成电路)、或软件和硬件的组合中被实现。在示例实施例中,软件(例如,应用逻辑、指令集)被保持在各种常规计算机可读介质中的任何一种上。在本文的上下文中,“计算机可读介质”可以是能够包含、存储、传送、传播或运输指令以供指令执行***、装置或设备使用或与指令执行***、装置或设备一起使用的任何介质或部件,诸如计算机,例如在图1中描述和描绘了计算机的一个示例。计算机可读介质可以包括计算机可读存储介质(例如,存储器125、155、171或其它设备),该计算机可读存储介质可以是能够包含、存储、和/或运输指令以供由指令执行***、装置或设备使用或与指令执行***、装置或设备一起使用的任何介质或部件,诸如计算机。计算机可读存储介质不包括传播信号。
若需要,本文讨论的不同功能可以按照不同的顺序和/或彼此并行执行。此外,若需要,上述功能中的一种或者多种功能可以是可选的或者可以被组合。
虽然上面给出了各种方面,但其它方面包括来自所描述的实施例的特征的其它组合,并且不仅仅是上面描述的组合。
在本文中还要注意,虽然上面描述了本发明的示例实施例,但这些描述不应该被视为具有限制意义。相反,在不脱离本发明的范围的情况下,存在进行多种变型和修改。
在说明书和/或附图中可以找到的以下缩写定义如下:
3GPP 第三代合作伙伴计划
5G 第五代
CC 蔡斯合并
DL 下行链路(例如,从基站到UE)
eMBB 增强型移动宽带
eNB(或eNodeB) 演进NodeB(例如,LTE基站)
Gbps 每秒千兆位
HARQ 混合自动重传请求
HARQ IR 混合自动重传请求增量冗余
I/F 接口
IR 增量冗余
LDPC 低密度奇偶校验
QC-LDPC 准循环LDPC
LTE 长期演进
MME 移动性管理实体
NCE 网络控制元件
NR 新无线电
N/W 网络
PCM 奇偶校验矩阵
PEG 渐进边增长
QC-LDPC 准循环LDPC
RAN1 无线电层(例如,工作组),负责无线电接口的物理层的规范
RRH 远程无线电头
Rx 接收器或接收
SGW 服务网关
Tx 发送器或传输
UE 用户设备(例如,无线的,通常是移动设备)
UL 上行链路(从UE到基站)
Claims (22)
1.一种用于无线通信的方法,包括:
将基础矩阵应用于低密度奇偶校验LDPC编码器,其中所述基础矩阵由多个部分组成,每个部分包括多个列和多个正交行,并且所述基础矩阵由整数组成,其中每个整数表示根据所述整数被循环移位的单位矩阵或者表示全零矩阵,其中所述多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示经循环移位或交织的相同起始向量,其中不指示所述相同起始向量的所述全零矩阵的零个或多个但不是所有整数由指示所述全零矩阵的整数取代,其中所述多个部分中的所述至少两个部分不相同;以及
使用所应用的所述基础矩阵进行使用所述LDPC编码器来编码数据或使用所述LDPC编码器来解码数据中的一个。
2.根据权利要求1所述的方法,其中所述多个部分中的所述至少两个部分中的一个或多个部分被配置有除了相同起始向量的元素之外的一个或多个附加列,所述附加列仅指示所述全零矩阵。
3.根据权利要求1所述的方法,其中当使用所述LDPC编码器来解码数据时,将所述基础矩阵应用于所述LDPC编码器进一步包括:
根据所述相同起始向量来配置具有交换结构的单层编码器,以解码所述多个部分中的所述至少两个部分。
4.根据权利要求3所述的方法,其中:
所述多个部分中的所述至少两个部分被配置成使得它们相应的行的逐列组合表示相同起始向量,其中不指示所述相同起始向量的所述全零矩阵的一个或多个但不是所有整数由指示所述全零矩阵的整数取代;以及
配置所述单层编码器以解码所述多个部分中的所述至少两个部分中的每个部分进一步包括:根据由指示所述全零矩阵的整数取代的、不指示所述相同起始向量的所述全零矩阵的所述一个或多个但不是所有整数,相应地禁用所述交换结构的一个或多个但不是所有部分。
5.根据权利要求3所述的方法,其中所述解码数据进一步包括:根据通过使所述至少两个部分中的一个或多个部分中的每个部分的列移位而创建的循环移位的表示,将经循环移位的所述数据应用于所述交换结构,或者所述解码数据进一步包括:根据通过将所述至少两个部分中的一个或多个部分中的每个部分的列交织而创建的交织的表示,将经交织的所述数据应用于所述交换结构。
6.根据权利要求1所述的方法,其中针对部分的循环移位或交织包括:针对所述部分中的所有行以相同的顺序循环移位或者针对所述部分中的所有行以相同的模式交织。
7.根据权利要求1所述的方法,其中所述多个部分中的所述至少两个部分的相应的循环移位数不同,或者所述多个部分中的所述至少两个部分的相应的交织不同。
8.根据权利要求1所述的方法,进一步包括:至少通过执行以下来生成所述多个部分中的所述至少两个部分:
将所述相同起始向量复制到所述多个部分中的所述至少两个部分的每行;以及
按照每行,用指示所述全零矩阵的整数取代不指示所述全零矩阵的至少一个但不是所有整数,使得不指示所述全零矩阵的最多一个整数保留在所述多个部分中的每个部分中的每列中。
9.根据权利要求1至8中任一项所述的方法,进一步包括:至少通过执行以下来生成所述多个部分中的所述至少两个部分:
针对所述至少两个部分中的每个部分,将所述相同起始向量分布在所述部分的每行上,以及
按照每行,用指示所述全零矩阵的整数取代不指示所述全零矩阵的零个或多个但不是所有整数,其中分布或取代中的至少一项被执行,使得不指示所述全零矩阵的最多一个整数保留在所述多个部分中的每个部分中的每列中。
10.一种无线通信的装置,包括:处理器和存储器,所述存储器包括计算机程序代码,其中所述存储器和所述计算机程序代码被配置为与所述处理器一起使所述装置至少用以:
将基础矩阵应用于低密度奇偶校验LDPC编码器,其中所述基础矩阵由多个部分组成,每个部分包括多个列和多个正交行,并且所述基础矩阵由整数组成,其中每个整数表示根据所述整数循环移位的单位矩阵或者表示全零矩阵,其中所述多个部分中的至少两个部分被配置成使得它们相应的行的逐列组合表示经循环移位或交织的相同起始向量,其中不指示所述相同起始向量的所述全零矩阵的零个或多个但不是所有整数由指示所述全零矩阵的整数取代,其中所述多个部分中的所述至少两个部分不相同;以及
使用所应用的所述基础矩阵进行使用所述LDPC编码器来编码数据或使用所述LDPC编码器来解码数据中的一个。
11.根据权利要求10所述的装置,其中所述多个部分中的所述至少两个部分中的一个或多个部分被配置有除了相同起始向量的元素之外的一个或多个附加列,所述附加列仅指示所述全零矩阵。
12.根据权利要求10所述的装置,其中当使用所述LDPC编码器来解码数据时,将所述基础矩阵应用于所述LDPC编码器进一步包括:
根据所述相同起始向量来配置具有交换结构的单层编码器以解码所述多个部分中的所述至少两个部分。
13.根据权利要求12所述的装置,其中:
所述多个部分中的所述至少两个部分被配置成使得它们相应的行的逐列组合表示相同起始向量,其中不指示所述相同起始向量的所述全零矩阵的一个或多个但不是所有整数由指示所述全零矩阵的整数取代;以及
其中配置所述单层编码器以解码所述多个部分中的所述至少两个部分中的每个部分进一步包括:根据由指示所述全零矩阵的整数取代的、不指示所述相同起始向量的所述全零矩阵的所述一个或多个但不是所有整数,相应地禁用所述交换结构的一个或多个但不是所有部分。
14.根据权利要求12所述的装置,其中解码数据进一步包括:根据通过使所述至少两个部分中的一个或多个部分中的每个部分的列移位而创建的循环移位的表示将经循环移位的所述数据应用于所述交换结构,或者解码数据进一步包括:根据通过将所述至少两个部分中的一个或多个部分中的每个部分的列交织而创建的交织的表示将交织的所述数据应用于所述交换结构。
15.根据权利要求10所述的装置,其中针对部分的循环移位或交织包括:针对所述部分中的所有行以相同的顺序循环移位或者针对所述部分中的所有行以相同的模式交织。
16.根据权利要求10所述的装置,其中所述多个部分中的所述至少两个部分的相应的循环移位数不同,或者所述多个部分中的所述至少两个部分的相应的交织不同。
17.根据权利要求10所述的装置,所述存储器和所述计算机程序代码进一步被配置为与所述处理器一起使所述装置至少通过执行以下来生成所述多个部分中的所述至少两个部分:
将所述相同起始向量复制到所述多个部分中的所述至少两个部分的每行;以及
按照每行用指示所述全零矩阵的整数取代不指示所述全零矩阵的至少一个但不是所有整数使得不指示所述全零矩阵的最多一个整数保留在所述多个部分中的每个部分中的每列中。
18.根据权利要求10所述的装置,所述存储器和所述计算机程序代码进一步被配置为与所述处理器一起使所述装置至少通过执行以下来生成所述多个部分中的所述至少两个部分:
针对所述至少两个部分中的每个部分,将所述相同起始向量分布在所述部分的每行上,以及
按照每行用指示所述全零矩阵的整数取代不指示所述全零矩阵的零个或多个但不是所有整数,其中分布或取代中的至少一项被执行,使得不指示所述全零矩阵的最多一个整数保留在所述多个部分中的每个部分中的每列中。
19.根据权利要求10至18中任一项所述的装置,所述存储器和所述计算机程序代码进一步被配置为与所述处理器一起使所述装置用以:
在用户设备处从网络元件接收至少一个所接收的指示,所述至少一个所接收的指示包括以下中的至少一个:针对所述多个部分中的所述至少两个部分中的至少一个部分的循环移位的指示、针对所述多个部分中的所述至少两个部分中的至少一个部分的交织的指示、针对所述多个部分中的至少一个部分的行指示向量的指示,其中所述行指示向量包括针对所述相同起始向量的每个元素的行指示、或者所述相同起始向量的指示;以及
根据所述至少一个所接收的指示来生成所述多个部分中的所述至少两个部分。
20.一种用户设备,包括根据权利要求10至19中任一项所述的装置。
21.一种基站,包括根据权利要求10至18中任一项所述的装置。
22.一种计算机可读介质,包括用于执行根据权利要求1至8中任一项所述的方法的程序代码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/070377 WO2018126428A1 (en) | 2017-01-06 | 2017-01-06 | Method and apparatus for vector based ldpc base matrix usage and generation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110192349A CN110192349A (zh) | 2019-08-30 |
CN110192349B true CN110192349B (zh) | 2021-08-27 |
Family
ID=62788990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780080542.6A Active CN110192349B (zh) | 2017-01-06 | 2017-01-06 | 用于基于向量的ldpc基础矩阵的使用和生成的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10979084B2 (zh) |
EP (1) | EP3566316A4 (zh) |
CN (1) | CN110192349B (zh) |
TW (1) | TWI653839B (zh) |
WO (1) | WO2018126428A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI703331B (zh) * | 2019-09-23 | 2020-09-01 | 瑞昱半導體股份有限公司 | 電壓差量測電路以及相關的電壓差量測方法 |
CN112578176A (zh) * | 2019-09-29 | 2021-03-30 | 瑞昱半导体股份有限公司 | 电压差测量电路以及相关的电压差测量方法 |
CN110808742A (zh) * | 2019-11-22 | 2020-02-18 | 南京大学 | 一种适用于5g ldpc码的高效译码器架构 |
WO2024103386A1 (zh) * | 2022-11-18 | 2024-05-23 | 华为技术有限公司 | 一种基于ldpc码的通信方法和通信装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023587A (zh) * | 2004-09-17 | 2007-08-22 | Lg电子株式会社 | 使用ldpc码编码和解码的方法及其装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1528702B1 (en) * | 2003-11-03 | 2008-01-23 | Broadcom Corporation | FEC (forward error correction) decoding with dynamic parameters |
KR20080033381A (ko) | 2005-08-10 | 2008-04-16 | 미쓰비시덴키 가부시키가이샤 | 검사 행렬 생성 방법, 부호화 방법, 복호 방법, 통신 장치,통신 시스템, 부호화기 및 복호기 |
CN102347774A (zh) | 2010-07-29 | 2012-02-08 | 国立清华大学 | 低密度奇偶检查码编解码方法 |
EP2525498A1 (en) | 2011-05-18 | 2012-11-21 | Panasonic Corporation | Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes |
EP2525495A1 (en) | 2011-05-18 | 2012-11-21 | Panasonic Corporation | Bit-interleaved coding and modulation (BICM) with quasi-cyclic LDPC codes |
EP2536030A1 (en) | 2011-06-16 | 2012-12-19 | Panasonic Corporation | Bit permutation patterns for BICM with LDPC codes and QAM constellations |
US9141467B2 (en) | 2012-03-23 | 2015-09-22 | Samsung Electronics Co., Ltd. | Semiconductor memory system including Reed-Solomon low density parity check decoder and read method thereof |
EP2690790A1 (en) | 2012-07-27 | 2014-01-29 | Panasonic Corporation | Bit interleaving for rotated constellations with quasi-cyclic LDPC codes |
JPWO2014136756A1 (ja) * | 2013-03-04 | 2017-02-09 | シャープ株式会社 | 無線通信装置及び無線通信方法 |
US20160164537A1 (en) * | 2014-12-08 | 2016-06-09 | Samsung Electronics Co., Ltd. | Method and apparatus for parallel concatenated ldpc convolutional codes enabling power-efficient decoders |
TWI578714B (zh) * | 2015-04-02 | 2017-04-11 | 國立清華大學 | 低密度奇偶檢查碼解碼方法及用於該解碼方法的資訊儲存方法 |
WO2018027497A1 (en) | 2016-08-08 | 2018-02-15 | Nokia Technologies Oy | Inter-block modifications to generate sub-matrix of rate compatible parity check matrix |
-
2017
- 2017-01-06 CN CN201780080542.6A patent/CN110192349B/zh active Active
- 2017-01-06 EP EP17890117.9A patent/EP3566316A4/en active Pending
- 2017-01-06 US US16/471,617 patent/US10979084B2/en active Active
- 2017-01-06 WO PCT/CN2017/070377 patent/WO2018126428A1/en unknown
- 2017-12-22 TW TW106145384A patent/TWI653839B/zh active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101023587A (zh) * | 2004-09-17 | 2007-08-22 | Lg电子株式会社 | 使用ldpc码编码和解码的方法及其装置 |
Non-Patent Citations (1)
Title |
---|
"Design of LDPC code for high throughput";SAMSUNG;《3GPP TSG RAN WG1 #85,R1-164813》;20160207;第1-3节,图1-3 * |
Also Published As
Publication number | Publication date |
---|---|
TW201830874A (zh) | 2018-08-16 |
CN110192349A (zh) | 2019-08-30 |
WO2018126428A1 (en) | 2018-07-12 |
TWI653839B (zh) | 2019-03-11 |
EP3566316A1 (en) | 2019-11-13 |
EP3566316A4 (en) | 2020-08-19 |
US20200244290A1 (en) | 2020-07-30 |
US10979084B2 (en) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110192349B (zh) | 用于基于向量的ldpc基础矩阵的使用和生成的方法和装置 | |
TWI751284B (zh) | 低密度同位檢查(ldpc)循環緩衝器速率匹配 | |
US8627166B2 (en) | LDPC code family for millimeter-wave band communications in a wireless network | |
RU2740151C1 (ru) | Способ обработки информации и устройство связи | |
KR20190053899A (ko) | 폴라 코드를 사용하여 데이터를 인코딩하는 방법 및 장치 | |
US10879927B2 (en) | Compact low density parity check (LDPC) base graph | |
JP7279779B2 (ja) | Polar符号の構築のための方法および装置 | |
CN110192346B (zh) | 低密度奇偶校验码的偏移系数和提升因子设计方法 | |
CN108988869A (zh) | 一种确定校验矩阵的方法及装置、计算机存储介质 | |
US11228321B2 (en) | System and method for processing polar code | |
JP2018514964A (ja) | ダウンリンク制御情報送信方法及び装置 | |
US10581457B2 (en) | Shift coefficient and lifting factor design for NR LDPC code | |
CN113810061A (zh) | Polar码编码方法、Polar码译码方法及其装置 | |
CN107733440B (zh) | 多边类型结构化ldpc处理方法及装置 | |
US10784895B2 (en) | Inter-block modifications to generate sub-matrix of rate compatible parity check matrix | |
CN107733439B (zh) | 一种ldpc编码方法、编码装置及通信设备 | |
CN107733442B (zh) | 结构化ldpc码的处理方法及装置 | |
CN110870207B (zh) | 信息处理的方法和通信装置 | |
CN112737600B (zh) | 译码方法和译码器 | |
EP3876424A1 (en) | Decoding method, decoding device, and decoder | |
EP3614592A1 (en) | Encoding method and device | |
WO2021213219A1 (zh) | 编码、译码方法、装置及设备 | |
EP3734873B1 (en) | Channel encoding method and encoding device | |
US11973593B2 (en) | LDPC codes for 3GPP NR ultra-reliable low-latency communications | |
US10756762B2 (en) | Method of channel coding for communication systems and apparatus using the same |
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 |