CN114257251A - 编码方法、编码装置与编码器 - Google Patents
编码方法、编码装置与编码器 Download PDFInfo
- Publication number
- CN114257251A CN114257251A CN202111436784.9A CN202111436784A CN114257251A CN 114257251 A CN114257251 A CN 114257251A CN 202111436784 A CN202111436784 A CN 202111436784A CN 114257251 A CN114257251 A CN 114257251A
- Authority
- CN
- China
- Prior art keywords
- code
- block
- coded
- blocks
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
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/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
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请提供了一种编码方法、编码装置与编码器,该方法包括:对数据块进行分割得到多个码块,码块的码长小于预定码长;对多个码块进行填充,得到多个待编码码块,待编码码块的码长等于预定码长;对待编码码块进行LDPC编码,得到多个编码码块,编码码块的码率等于目标码率,目标码率大于或者等于最小码率,最小码率等于预定码长与编码码块的最大码长的比值。该方法相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,本方法减少了编码计算的计算量,降低了编码时延和功耗,从而解决了现有技术中编码方法的时延长的问题。
Description
技术领域
本申请涉及无线通信领域,具体而言,涉及一种编码方法、编码装置、计算机可读存储介质、处理器与编码器。
背景技术
随着无线通信的发展,人们对大容量、低延时、高可靠、高速度、高连接数、高能效通信的需求将显著增加,应用场景也不止有广域覆盖,还有密集热点、机器间通信、车联网、大型露天集会、地铁等。将这些应用大致可以归为三大场景:增强的移动宽带eMBB、低时延高可靠URLLC、海量物联网mMTC。信道编码是物理层的最基本的技术,将对5G系统的各项性能指标起着直接和间接的作用,所以5G系统对信道编码提出很高的要求。高峰值速率要求数据信道的译码器在高码率时能达到下行20Gbit/s和上行10Gbit/s。由于系统对用户面和控制面的延迟要求很高,信道编码的译码器一次译码的延迟一般在几微秒到十几微秒,同时要求译码器具有合理的芯片面积和功耗。
LDPC最早于1963年由Robert Gallager在其博士论文中提出。在2005年,基于单位阵的循环移位矩阵的准循环LDPC码即QC-LDPC,又称为结构化LDPC码,首次在WiMAX标准中得到应用,之后,类似于WiMAX LDPC结构的QC LDPC方案被IEEE802.11n和IEEE802.11ad采纳。为提高5G NR信道编码效率,适应5G大数据量,高可靠性和低时延的传输需求,LDPC码在2016年10月最终被3GPP标准采纳,成为5G NR标准的数据信道编码方案。
在背景技术部分中公开的以上信息只是用来加强对本文所描述技术的背景技术的理解,因此,背景技术中可能包含某些信息,这些信息对于本领域技术人员来说并未形成在本国已知的现有技术。
发明内容
本申请的主要目的在于提供一种编码方法、编码装置、计算机可读存储介质、处理器与编码器,以解决现有技术中编码方法的时延长的问题。
根据本发明实施例的一个方面,提供了一种编码方法,包括:对数据块进行分割得到多个码块,所述码块的码长小于预定码长;对多个所述码块进行填充,得到多个待编码码块,所述待编码码块的码长等于所述预定码长;对所述待编码码块进行LDPC编码,得到多个编码码块,所述编码码块的码率等于目标码率,所述目标码率大于或者等于最小码率,所述最小码率等于所述预定码长与所述编码码块的最大码长的比值。
可选地,对所述待编码码块进行LDPC编码,得到多个编码码块,包括:根据所述待编码码块生成目标编码码块,所述目标编码码块由第一码块、第二码块和第三码块依次拼接得到,所述第一码块包括所述待编码码块,所述目标编码码块的码长等于所述编码码块的最大码长;计算所述第一码块的码长与所述目标码率的比值,得到第一码长,所述第一码长为所述编码码块的码长;根据奇偶校验矩阵计算得到所述第二码块;根据所述奇偶校验矩阵计算得到第四码块,所述第四码块由目标数量个所述第三码块的码元组成,所述目标数量为所述第一码长与第二码长的差值,所述第二码长为所述第一码块的码长与所述第二码块的码长之和;所述第一码块、所述第二码块和所述第四码块依次拼接得到所述编码码块。
可选地,所述奇偶校验矩阵为基础校验矩阵和标准置换矩阵计算得到的,所述基础校验矩阵包括第一基础校验矩阵和第二基础校验矩阵,所述第一基础校验矩阵对应的所述奇偶校验矩阵用于对所述目标码率大于或者等于1/3的所述数据块进行编码,所述第二基础校验矩阵对应的所述奇偶校验矩阵用于对所述目标码率大于或者等于1/5的所述数据块进行编码。
可选地,根据所述待编码码块生成目标编码码块,包括:在所述奇偶校验矩阵为所述第一基础校验矩阵和标准置换矩阵计算得到的情况下,所述第一码块为所述待编码码块;在所述奇偶校验矩阵为所述第二基础校验矩阵和标准置换矩阵计算得到的情况下,所述第一码块为所述待编码码块或者所述第一码块由所述待编码码块和多个0码元组成。
可选地,对多个所述码块进行填充,得到多个待编码码块,包括:在各所述码块中添加CRC码,得到多个添加码块,所述添加码块的码长小于或者等于所述预定码长;对多个所述添加码块进行填充,得到多个所述待编码码块。
可选地,在对所述待编码码块进行LDPC编码,得到多个编码码块之后,所述方法还包括:对所述编码码块进行比特交织,得到交织后的比特流。
根据本发明实施例的另一方面,还提供了一种编码装置,包括:第一处理单元,用于对数据块进行分割得到多个码块,所述码块的码长小于预定码长;第二处理单元,用于对多个所述码块进行填充,得到多个待编码码块,所述待编码码块的码长等于所述预定码长;编码单元,用于对所述待编码码块进行LDPC编码,得到多个编码码块,所述编码码块的码率等于目标码率,所述目标码率大于或者等于最小码率,所述最小码率等于所述预定码长与所述编码码块的最大码长的比值。
根据本发明实施例的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行任意一种所述的方法。
根据本发明实施例的再一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任意一种所述的方法。
根据本发明实施例的一方面,还提供了一种编码器,包括编码装置,所述编码装置用于执行任意一种所述的方法。
在本发明实施例中,上述编码方法中,首先,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;然后,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;最后,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。该方法对数据块进行分割和填充得到多个预定码长的待编码码块,在上述目标码率等于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长等于最大码长,以使得上述编码码块的码率等于目标码率,在上述目标码率大于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长小于最大码长,以使得上述编码码块的码率等于目标码率,相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,减少了编码计算的计算量,降低了编码时延和功耗,解决了现有技术中编码方法的时延长的问题。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1示出了根据本申请的一种实施例的编码方法的示意图;
图2(a)至(d)示出了根据本申请的一种实施例的B子矩阵对应的循环移位系数分布情况;
图3示出了根据本申请的一种实施例的二进制数的向量乘运输示意图;
图4示出了根据本申请的一种实施例的编码过程的示意图;
图5示出了根据本申请的又一种实施例的编码过程的示意图;
图6示出了根据本申请的一种实施例的数据块分割的示意图;
图7示出了根据本申请的一种实施例的编码装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
正如背景技术中所说的,现有技术中的编码方法的时延长,为了解决上述问题,本申请的一种典型的实施方式中,提供了一种编码方法、编码装置、计算机可读存储介质、处理器与编码器。
根据本申请的实施例,提供了一种编码方法。
图1是根据本申请实施例的编码方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;
步骤S102,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;
步骤S103,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。
上述编码方法中,首先,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;然后,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;最后,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。该方法对数据块进行分割和填充得到多个预定码长的待编码码块,在上述目标码率等于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长等于最大码长,以使得上述编码码块的码率等于目标码率,在上述目标码率大于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长小于最大码长,以使得上述编码码块的码率等于目标码率,相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,减少了编码计算的计算量,降低了编码时延和功耗,解决了现有技术中编码方法的时延长的问题。
需要说明的是,对需要发送的校验比特进行编码运算,校验比特可以是连续的,也可以为间隔的。
在实际的应用过程中,为了在接收端对接收到的数据块进行错误侦测,需对传输块TB添加循环冗余校验CRC码;由于信道编码的长度有限,对LDPC编码来说,超过一定长度的码字带来的编码增益效果不大,且5G标准规定LDPC码长最大为8448bits,因此需要对已经添加了CRC的传输块进行分割,并对分割后得到的码块CB再次添加CRC码,并对每个不足K=kb*Zc长度的码块进行填充;对填充之后符合预定码长的待编码码块进行LDPC编码,得到多个编码码块,使得经过编码后的码块长度为68*Zc或52*Zc,其中,Zc为扩展因子。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的一种实施例中,对上述待编码码块进行LDPC编码,得到多个编码码块,包括:根据上述待编码码块生成目标编码码块,上述目标编码码块由第一码块、第二码块和第三码块依次拼接得到,上述第一码块包括上述待编码码块,上述目标编码码块的码长等于上述编码码块的最大码长;计算上述第一码块的码长与上述目标码率的比值,得到第一码长,上述第一码长为上述编码码块的码长,根据奇偶校验矩阵计算得到上述第二码块;根据上述奇偶校验矩阵计算得到第四码块,上述第四码块由目标数量个上述第三码块的码元组成,上述目标数量为上述第一码长与第二码长的差值,上述第二码长为上述第一码块的码长与上述第二码块的码长之和;上述第一码块、上述第二码块和上述第四码块依次拼接得到上述编码码块。在该方案中,通过第一码长和第二码长的差值得到目标数量,再通过目标数量个的第三码块的码元得到第四码块,根据得到的第一码块、第二码块和第四码块进行拼接得到编码码块,即本方案实现了对不需要传输的校验位不进行编码,减少了编码计算的计算量,进一步地降低了编码时延。
本申请的另一种实施例中,上述奇偶校验矩阵为基础校验矩阵和标准置换矩阵计算得到的,上述基础校验矩阵包括第一基础校验矩阵BG1和第二基础校验矩阵BG2,上述第一基础校验矩阵BG1对应的上述奇偶校验矩阵用于对上述目标码率大于或者等于1/3的上述数据块进行编码,上述第二基础校验矩阵BG2对应的上述奇偶校验矩阵用于对上述目标码率大于或者等于1/5的上述数据块进行编码。
具体地,第一基础校验矩阵BG1和第二基础校验矩阵BG2具有不同的列数,在实际的应用过程中,第一基础校验矩阵BG1的列数可以为68列,第二基础校验矩阵BG2的列数可以为52列,如图4和图5所示,第一基础校验矩阵BG1和第二基础校验矩阵BG2均可以分为六个子矩阵,分别为A/B/C/D/0/E六个子矩阵,第一基础校验矩阵BG1中,A矩阵的列数为22,第二基础校验矩阵BG2中,A矩阵的列数为10。
在实际的应用过程中,5G NR LDPC码使用准循环结构,其奇偶校验矩阵由3GPP技术规范给出的基础校验矩阵HBG定义,基础校验矩阵HBG包含了校验矩阵的特殊结构特点,还可以通过扩展因子Zc来构建出更大的奇偶校验矩阵,扩展因子为上述标准置换矩阵的阶数。基础校验矩阵中的每个元素都表示Zc*Zc的零矩阵或者经过右循环移位的Zc*Zc单位矩阵,其中右移位数由3GPP技术规范中的移位系数表给出。组成基础校验矩阵的分别是信息比特列(也称为系统比特列)、校验比特列和附加的校验比特列。采用2个基础矩阵,即第一基础校验矩阵HBG1和第二基础校验矩阵HBG2,奇偶校验矩阵将通过这样两个基础校验矩阵生成不同奇偶校验矩阵),再结合扩展因子(Zc的范围2~384)参数,这两个参数可以根据码块大小以及码率来选取,也就是说,多个Zc值的设计使得QC-LDPC码可以灵活地得到不同码长、不同码率的码字,Zc值从表1中选取,Zc=a×2j,其中,a和j为影响Zc取值的系数。
表1
j=1 | j=2 | j=3 | j=4 | j=5 | j=6 | j=7 | |
a=2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 |
a=3 | 6 | 12 | 24 | 48 | 96 | 192 | 384 |
a=5 | 10 | 20 | 40 | 80 | 160 | 320 | |
a=7 | 14 | 28 | 56 | 112 | 224 | ||
a=9 | 18 | 36 | 72 | 144 | 288 | ||
a=11 | 22 | 44 | 88 | 176 | 352 | ||
a=13 | 26 | 52 | 104 | 208 | |||
a=15 | 30 | 60 | 120 | 240 |
本申请的一种具体的实施例中,LDPC编码是根据奇偶校验矩阵来定义的一种线性分组码,其满足校验关系H*CT=0,其中,H是奇偶校验矩阵,是一个稀疏矩阵,C是系统码的LDPC码字,奇偶校验矩阵主要用于编码。对于准循环LDPC码,又称为结构化LDPC码,其奇偶校验矩阵可以由多个子矩阵构成,每个子矩阵都是全零方阵或单位阵的循环移位矩阵。进一步,准循环LDPC码的每个奇偶校验矩阵H可以由1个基础校验矩阵Hb(又称为移位系数矩阵)和1个标准置换矩阵来定义。其中,基础校验矩阵Hb为标准置换矩阵P是一个单位矩阵,即奇偶校验矩阵 例如,得到奇偶校验矩阵
为了节省编码过程中的大量的循环移位异或计算,本申请的又一种实施例中,根据上述待编码码块生成目标编码码块,包括:在上述奇偶校验矩阵为上述第一基础校验矩阵和标准置换矩阵计算得到的情况下,上述第一码块为上述待编码码块;在上述奇偶校验矩阵为上述第二基础校验矩阵和标准置换矩阵计算得到的情况下,上述第一码块为上述待编码码块或者上述第一码块由上述待编码码块和多个0码元组成。
具体地,可以根据基础校验矩阵H的分割形式,将目标编码码块分成3部分,分别为第一码块S,第二码块Pcore,第三码块Pi,具体可以表示为C=[S Pcore Pi],其中,信息位块S的块数与A、C子矩阵所在列数相同,校验位块Pcore和Pi的块数分别与子矩阵B、D和0、E所在列数相同。
对于B4×4有四种不同的矩阵,具体如图2(a)、图2(b)、图2(c)和图2(d)所示,在16种循环移位系数矩阵中B子矩阵对应的循环移位系数分布情况只有4种,循环移位系数取值只有4种情况:-1、0、1和105,其中,分别表示子矩阵是零矩阵、单位矩阵、单位矩阵右移1位和单位矩阵右移105位得到的置换矩阵。
通过准循环LDPC码的编码特点及码字H*CT=0,可以得出:
(1)、计算A*ST
如图3所示,该二进制数的向量乘运算,实际上可以转变成逐行循环移位异或运算,进而求出每一列向量的值,并且只有基础校验矩阵中为1的位置参与运算。
根据图2所示的B子矩阵的特点,可以进一步推导
对于如图2(a)所示的循环移位图:
对于如图2(b)所示的循环移位图:
对于如图2(c)所示的循环移位图:
对于如图2(d)所示的循环移位图:
如图4所示,如果系统需要编码的码率为1/3或1/5时,需要将C和D子矩阵所有的行块都进行循环移位异或运算;当系统只需要发送P1长度的检验信息时,式中的C和D矩阵只需要编码到其Mb1行即可,当系统只需要发送P2长度的校验信息时,只需要编码计算到其Mb2行即可,这样,如果系统不需要的校验位块部分就不需要进行编码,只需要将系统要求发送的校验列块计算出来即可,大大降低了编码时延和功耗;此外,如图5所示,对于短码块的编码,即Kb=6,8,9时,同样的除了只需要编码系统所需的校验列块外,信息比特列块(10-Kb)这一部分不需要参与任何计算,这样就省去了大量的循环移位异或计算。
本申请的再一种实施例中,对多个上述码块进行填充,得到多个待编码码块,包括:在各上述码块中添加CRC码,得到多个添加码块,上述添加码块的码长小于或者等于上述预定码长;对多个上述添加码块进行填充,得到多个上述待编码码块。在该方案中,在各上述的码块中添加CRC码,得到多个添加码块,这样保证了可以对各添加码块进行错误侦测,还能够具体定位到出现错误的添加码块的具体位置,其次,本方案中对多个添加码块进行填充,使其达到预定码长,得到多个待编码码块,便于后续对待编码码块进行编码,得到多个编码码块,进一步地可以使得编码码块码率等于目标码率。
具体地,如图6所示,为对数据块进行分割得到多个码块,并对得到的对个码块添加CRC码得到多个添加码块的过程,在得到的多个码块中添加CRC码,这样可以对得到的各个添加码块进行错误侦测,还能够进一步地确定出现错误的添加码块的具体位置,与现有技术中在整个数据码块中添加CRC码相比,本方案不仅实现了对添加码块进行错误侦测,还实现了对添加码块的具体位置进行具体定位和分析,这样能够较为快速地知晓错误所在的位置和原因。
为了能够抵抗突发错误,本申请的一种实施例中,在对上述待编码码块进行LDPC编码,得到多个编码码块之后,上述方法还包括:对上述编码码块进行比特交织,得到交织后的比特流。
本申请的一种具体的实施例中,在对上述编码码块进行比特交织,得到交织后的比特流之后,上述方法还包括:码块级联、比特加扰以及进行符号调制,将比特流映射到每个符号上。
本申请实施例还提供了一种编码装置,需要说明的是,本申请实施例的编码装置可以用于执行本申请实施例所提供的用于编码方法。以下对本申请实施例提供的编码装置进行介绍。
图7是根据本申请实施例的编码装置的示意图。如图7所示,该装置包括:
第一处理单元10,用于对数据块进行分割得到多个码块,上述码块的码长小于预定码长;
第二处理单元20,用于对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;
编码单元30,用于对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。
上述的编码装置中,第一处理单元用于对数据块进行分割得到多个码块,上述码块的码长小于预定码长;第二处理单元用于对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;编码单元用于对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。该装置对数据块进行分割和填充得到多个预定码长的待编码码块,在上述目标码率等于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长等于最大码长,以使得上述编码码块的码率等于目标码率,在上述目标码率大于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长小于最大码长,以使得上述编码码块的码率等于目标码率,相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,减少了编码计算的计算量,降低了编码时延和功耗,解决了现有技术中编码方法的时延长的问题。
需要说明的是,对需要发送的校验比特进行编码运算,校验比特可以是连续的,也可以为间隔的。
在实际的应用过程中,为了在接收端对接收到的数据块进行错误侦测,需对传输块TB添加循环冗余校验CRC码;由于信道编码的长度有限,对LDPC编码来说,超过一定长度的码字带来的编码增益效果不大,且5G标准规定LDPC码长最大为8448bits,因此需要对已经添加了CRC的传输块进行分割,并对分割后得到的码块CB再次添加CRC码,并对每个不足K=kb*Zc长度的码块进行填充;对填充之后符合预定码长的待编码码块进行LDPC编码,得到多个编码码块,使得经过编码后的码块长度为68*Zc或52*Zc,其中,Zc为扩展因子。
本申请的一种实施例中,上述编码单元包括生成模块、第一计算模块、第二计算模块、第三计算模块和拼接模块,其中,上述生成模块用于根据上述待编码码块生成目标编码码块,上述目标编码码块由第一码块、第二码块和第三码块依次拼接得到,上述第一码块包括上述待编码码块,上述第二码块的码长为4,上述目标编码码块的码长等于上述编码码块的最大码长;上述第一计算模块用于计算上述第一码块的码长与上述目标码率的比值,得到第一码长,上述第一码长为上述编码码块的码长;上述第二计算模块用于根据奇偶校验矩阵计算得到上述第二码块;上述第三计算模块用于根据上述奇偶校验矩阵计算得到第四码块,上述第四码块由目标数量个上述第三码块的码元组成,上述目标数量为上述第一码长与第二码长的差值,上述第二码长为上述第一码块的码长与上述第二码块的码长之和;上述拼接模块用于上述第一码块、上述第二码块和上述第四码块依次拼接得到上述编码码块。在该方案中,通过第一码长和第二码长的差值得到目标数量,再通过目标数量个的第三码块的码元得到第四码块,根据得到的第一码块、第二码块和第四码块进行拼接得到编码码块,即本方案实现了对不需要传输的校验位不进行编码,减少了编码计算的计算量,进一步地降低了编码时延。
本申请的另一种实施例中,上述奇偶校验矩阵为基础校验矩阵和标准置换矩阵计算得到的,上述基础校验矩阵包括第一基础校验矩阵BG1和第二基础校验矩阵BG2,上述第一基础校验矩阵BG1对应的上述奇偶校验矩阵用于对上述目标码率大于或者等于1/3的上述数据块进行编码,上述第二基础校验矩阵BG2对应的上述奇偶校验矩阵用于对上述目标码率大于或者等于1/5的上述数据块进行编码。
具体地,第一基础校验矩阵BG1和第二基础校验矩阵BG2具有不同的列数,在实际的应用过程中,第一基础校验矩阵BG1的列数可以为68列,第二基础校验矩阵BG2的列数可以为52列,如图4和图5所示,第一基础校验矩阵BG1和第二基础校验矩阵BG2均可以分为六个子矩阵,分别为A/B/C/D/0/E六个子矩阵,第一基础校验矩阵BG1中,A矩阵的列数为22,第二基础校验矩阵BG2中,A矩阵的列数为10。
在实际的应用过程中,5G NR LDPC码使用准循环结构,其奇偶校验矩阵由3GPP技术规范给出的基础校验矩阵HBG定义,基础校验矩阵HBG包含了校验矩阵的特殊结构特点,还可以通过扩展因子Zc来构建出更大的奇偶校验矩阵,扩展因子为上述标准置换矩阵的阶数。基础校验矩阵中的每个元素都表示Zc*Zc的零矩阵或者经过右循环移位的Zc*Zc单位矩阵,其中右移位数由3GPP技术规范中的移位系数表给出。组成基础校验矩阵的分别是信息比特列(也称为系统比特列)、校验比特列和附加的校验比特列。采用2个基础矩阵,即第一基础校验矩阵HBG1和第二基础校验矩阵HBG2,奇偶校验矩阵将通过这样两个基础校验矩阵生成不同奇偶校验矩阵),再结合扩展因子(Zc的范围2~384)参数,这两个参数可以根据码块大小以及码率来选取,也就是说,多个Zc值的设计使得QC-LDPC码可以灵活地得到不同码长、不同码率的码字,Zc值从表1中选取,Zc=a×2j,其中,a和j为影响Zc取值的系数。
本申请的一种具体的实施例中,LDPC编码是根据奇偶校验矩阵来定义的一种线性分组码,其满足校验关系H*CT=0,其中,H是奇偶校验矩阵,是一个稀疏矩阵,C是系统码的LDPC码字,奇偶校验矩阵主要用于编码。对于准循环LDPC码,又称为结构化LDPC码,其奇偶校验矩阵可以由多个子矩阵构成,每个子矩阵都是全零方阵或单位阵的循环移位矩阵。进一步,准循环LDPC码的每个奇偶校验矩阵H可以由1个基础校验矩阵Hb(又称为移位系数矩阵)和1个标准置换矩阵来定义。其中,基础校验矩阵Hb为标准置换矩阵P是一个单位矩阵,即奇偶校验矩阵 例如,得到奇偶校验矩阵
为了节省编码过程中的大量的循环移位异或计算,本申请的又一种实施例中,上述生成模块包括第一计算子模块和第二计算子模块,其中,上述第一计算子模块用于在上述奇偶校验矩阵为上述第一基础校验矩阵和标准置换矩阵计算得到的情况下,上述第一码块为上述待编码码块;上述第二计算子模块用于在上述奇偶校验矩阵为上述第二基础校验矩阵和标准置换矩阵计算得到的情况下,上述第一码块为上述待编码码块或者上述第一码块由上述待编码码块和多个0码元组成。
具体地,可以根据基础校验矩阵H的分割形式,将目标编码码块分成3部分,分别为第一码块S,第二码块Pcore,第三码块Pi,具体可以表示为C=[S Pcore Pi],其中,信息位块S的块数与A、C子矩阵所在列数相同,校验位块Pcore和Pi的块数分别与子矩阵B、D和0、E所在列数相同。
对于B4×4有四种不同的矩阵,具体如图2(a)、图2(b)、图2(c)和图2(d)所示,在16种循环移位系数矩阵中B子矩阵对应的循环移位系数分布情况只有4种,循环移位系数取值只有4种情况:-1、0、1和105,其中,分别表示子矩阵是零矩阵、单位矩阵、单位矩阵右移1位和单位矩阵右移105位得到的置换矩阵。
通过准循环LDPC码的编码特点及码字H*CT=0,可以得出:
(1)、计算A*ST
如图3所示,该二进制数的向量乘运算,实际上可以转变成逐行循环移位异或运算,进而求出每一列向量的值,并且只有基础校验矩阵中为1的位置参与运算。
根据图2所示的B子矩阵的特点,可以进一步推导
对于如图2(a)所示的循环移位图:
对于如图2(b)所示的循环移位图:
对于如图2(c)所示的循环移位图:
对于如图2(d)所示的循环移位图:
如图4所示,如果系统需要编码的码率为1/3或1/5时,需要将C和D子矩阵所有的行块都进行循环移位异或运算;当系统只需要发送P1长度的检验信息时,式中的C和D矩阵只需要编码到其Mb1行即可,当系统只需要发送P2长度的校验信息时,只需要编码计算到其Mb2行即可,这样,如果系统不需要的校验位块部分就不需要进行编码,只需要将系统要求发送的校验列块计算出来即可,大大降低了编码时延和功耗;此外,如图5所示,对于短码块的编码,即Kb=6,8,9时,同样的除了只需要编码系统所需的校验列块外,信息比特列块(10-Kb)这一部分不需要参与任何计算,这样就省去了大量的循环移位异或计算。
本申请的再一种实施例中,上述第二处理单元包括添加模块和填充模块,其中,上述添加模块用于在各上述码块中添加CRC码,得到多个添加码块,上述添加码块的码长小于或者等于上述预定码长;上述填充模块用于对多个上述添加码块进行填充,得到多个上述待编码码块。在该方案中,在各上述的码块中添加CRC码,得到多个添加码块,这样保证了可以对各添加码块进行错误侦测,还能够具体定位到出现错误的添加码块的具体位置,其次,本方案中对多个添加码块进行填充,使其达到预定码长,得到多个待编码码块,便于后续对待编码码块进行编码,得到多个编码码块,进一步地可以使得编码码块码率等于目标码率。
具体地,如图6所示,为对数据块进行分割得到多个码块,并对得到的对个码块添加CRC码得到多个添加码块的过程,在得到的多个码块中添加CRC码,这样可以对得到的各个添加码块进行错误侦测,还能够进一步地确定出现错误的添加码块的具体位置,与现有技术中在整个数据码块中添加CRC码相比,本方案不仅实现了对添加码块进行错误侦测,还实现了对添加码块的具体位置进行具体定位和分析,这样能够较为快速地知晓错误所在的位置和原因。
为了能够抵抗突发错误,本申请的一种实施例中,上述装置还包括比特交织单元,用于在对上述待编码码块进行LDPC编码,得到多个编码码块之后,对上述编码码块进行比特交织,得到交织后的比特流。
本申请的一种具体的实施例中,在对上述编码码块进行比特交织,得到交织后的比特流之后,上述方法还包括:码块级联、比特加扰以及进行符号调制,将比特流映射到每个符号上。
上述编码装置包括处理器和存储器,上述第一处理单元、第二处理单元和编码单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决现有技术中编码方法的时延长的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现上述编码方法。
本发明实施例提供了一种处理器,上述处理器用于运行程序,其中,上述程序运行时执行上述编码方法。
本申请的一种典型的实施例中,还提供了一种编码器,包括编码装置,上述编码装置用于执行任意一种上述的方法。
上述编码器包括编码装置,上述编码装置用于任一种上述的编码方法,上述编码方法中,首先,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;然后,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;最后,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。该方法对数据块进行分割和填充得到多个预定码长的待编码码块,在上述目标码率等于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长等于最大码长,以使得上述编码码块的码率等于目标码率,在上述目标码率大于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长小于最大码长,以使得上述编码码块的码率等于目标码率,相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,减少了编码计算的计算量,降低了编码时延和功耗,解决了现有技术中编码方法的时延长的问题。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现至少以下步骤:
步骤S101,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;
步骤S102,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;
步骤S103,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有至少如下方法步骤的程序:
步骤S101,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;
步骤S102,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;
步骤S103,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
从以上的描述中,可以看出,本申请上述的实施例实现了如下技术效果:
1)、本申请的编码方法中,首先,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;然后,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;最后,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。该方法对数据块进行分割和填充得到多个预定码长的待编码码块,在上述目标码率等于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长等于最大码长,以使得上述编码码块的码率等于目标码率,在上述目标码率大于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长小于最大码长,以使得上述编码码块的码率等于目标码率,相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,减少了编码计算的计算量,降低了编码时延和功耗,解决了现有技术中编码方法的时延长的问题。
2)、本申请的编码装置中,第一处理单元用于对数据块进行分割得到多个码块,上述码块的码长小于预定码长;第二处理单元用于对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;编码单元用于对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。该装置对数据块进行分割和填充得到多个预定码长的待编码码块,在上述目标码率等于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长等于最大码长,以使得上述编码码块的码率等于目标码率,在上述目标码率大于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长小于最大码长,以使得上述编码码块的码率等于目标码率,相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,减少了编码计算的计算量,降低了编码时延和功耗,解决了现有技术中编码方法的时延长的问题。
3)、本申请的编码器包括编码装置,上述编码装置用于任一种上述的编码方法,上述编码方法中,首先,对数据块进行分割得到多个码块,上述码块的码长小于预定码长;然后,对多个上述码块进行填充,得到多个待编码码块,上述待编码码块的码长等于上述预定码长;最后,对上述待编码码块进行LDPC编码,得到多个编码码块,上述编码码块的码率等于目标码率,上述目标码率大于或者等于最小码率,上述最小码率等于上述预定码长与上述编码码块的最大码长的比值。该方法对数据块进行分割和填充得到多个预定码长的待编码码块,在上述目标码率等于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长等于最大码长,以使得上述编码码块的码率等于目标码率,在上述目标码率大于最小码率的情况下,对上述待编码码块进行LDPC编码,编码得到的编码码块的码长小于最大码长,以使得上述编码码块的码率等于目标码率,相比于现有技术中编码计算得到的编码码块的码长等于最大码长,再进行速率匹配,减少了编码计算的计算量,降低了编码时延和功耗,解决了现有技术中编码方法的时延长的问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种编码方法,其特征在于,包括:
对数据块进行分割得到多个码块,所述码块的码长小于预定码长;
对多个所述码块进行填充,得到多个待编码码块,所述待编码码块的码长等于所述预定码长;
对所述待编码码块进行LDPC编码,得到多个编码码块,所述编码码块的码率等于目标码率,所述目标码率大于或者等于最小码率,所述最小码率等于所述预定码长与所述编码码块的最大码长的比值。
2.根据权利要求1所述的方法,其特征在于,对所述待编码码块进行LDPC编码,得到多个编码码块,包括:
根据所述待编码码块生成目标编码码块,所述目标编码码块由第一码块、第二码块和第三码块依次拼接得到,所述第一码块包括所述待编码码块,所述目标编码码块的码长等于所述编码码块的最大码长;
计算所述第一码块的码长与所述目标码率的比值,得到第一码长,所述第一码长为所述编码码块的码长;
根据奇偶校验矩阵计算得到所述第二码块;
根据所述奇偶校验矩阵计算得到第四码块,所述第四码块由目标数量个所述第三码块的码元组成,所述目标数量为所述第一码长与第二码长的差值,所述第二码长为所述第一码块的码长与所述第二码块的码长之和;
所述第一码块、所述第二码块和所述第四码块依次拼接得到所述编码码块。
3.根据权利要求2所述的方法,其特征在于,所述奇偶校验矩阵为基础校验矩阵和标准置换矩阵计算得到的,所述基础校验矩阵包括第一基础校验矩阵和第二基础校验矩阵,所述第一基础校验矩阵对应的所述奇偶校验矩阵用于对所述目标码率大于或者等于1/3的所述数据块进行编码,所述第二基础校验矩阵对应的所述奇偶校验矩阵用于对所述目标码率大于或者等于1/5的所述数据块进行编码。
4.根据权利要求3所述的方法,其特征在于,根据所述待编码码块生成目标编码码块,包括:
在所述奇偶校验矩阵为所述第一基础校验矩阵和标准置换矩阵计算得到的情况下,所述第一码块为所述待编码码块;
在所述奇偶校验矩阵为所述第二基础校验矩阵和标准置换矩阵计算得到的情况下,所述第一码块为所述待编码码块或者所述第一码块由所述待编码码块和多个0码元组成。
5.根据权利要求1至4任一项所述的方法,其特征在于,对多个所述码块进行填充,得到多个待编码码块,包括:
在各所述码块中添加CRC码,得到多个添加码块,所述添加码块的码长小于或者等于所述预定码长;
对多个所述添加码块进行填充,得到多个所述待编码码块。
6.根据权利要求1至4任一项所述的方法,其特征在于,在对所述待编码码块进行LDPC编码,得到多个编码码块之后,所述方法还包括:
对所述编码码块进行比特交织,得到交织后的比特流。
7.一种编码装置,其特征在于,包括:
第一处理单元,用于对数据块进行分割得到多个码块,所述码块的码长小于预定码长;
第二处理单元,用于对多个所述码块进行填充,得到多个待编码码块,所述待编码码块的码长等于所述预定码长;
编码单元,用于对所述待编码码块进行LDPC编码,得到多个编码码块,所述编码码块的码率等于目标码率,所述目标码率大于或者等于最小码率,所述最小码率等于所述预定码长与所述编码码块的最大码长的比值。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1至6中任意一项所述的方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的方法。
10.一种编码器,包括编码装置,其特征在于,所述编码装置用于执行权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436784.9A CN114257251A (zh) | 2021-11-29 | 2021-11-29 | 编码方法、编码装置与编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111436784.9A CN114257251A (zh) | 2021-11-29 | 2021-11-29 | 编码方法、编码装置与编码器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114257251A true CN114257251A (zh) | 2022-03-29 |
Family
ID=80793551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111436784.9A Pending CN114257251A (zh) | 2021-11-29 | 2021-11-29 | 编码方法、编码装置与编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257251A (zh) |
-
2021
- 2021-11-29 CN CN202111436784.9A patent/CN114257251A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107370489B (zh) | 结构化ldpc码的数据处理方法及装置 | |
US20120210189A1 (en) | Error correction encoding method and device, and communication system using the same | |
CN104917536B (zh) | 一种支持低码率编码的方法及装置 | |
KR102276721B1 (ko) | 정보 처리 방법, 장치 및 통신 장치 | |
CN110999091A (zh) | 信息处理的方法和通信装置 | |
CN108809506B (zh) | 一种编码方法及装置 | |
CN108347297B (zh) | 一种编码方法、译码方法、编码装置及译码装置 | |
CN1307804C (zh) | 纠错编码设备及方法 | |
CN100592639C (zh) | 低密度奇偶校验编码方法、装置及奇偶校验矩阵生成方法 | |
CN109391360A (zh) | 数据编码方法及装置 | |
US20190173496A1 (en) | Coding and Decoding of Polar Codes Extended to Lengths which are not Powers of Two | |
CN103731160A (zh) | 分组空间耦合低密度奇偶校验编码方法 | |
CN111416625A (zh) | 信息处理的方法和通信装置 | |
KR100669152B1 (ko) | 저밀도 패리티 검사 코드의 부호화 장치 및 방법 | |
CN101488760B (zh) | 一种低码率ldpc码的编码方法 | |
CN107733439B (zh) | 一种ldpc编码方法、编码装置及通信设备 | |
WO2019001477A1 (zh) | 信息处理的方法、装置和通信设备 | |
CN114257251A (zh) | 编码方法、编码装置与编码器 | |
CN108631913B (zh) | 一种基于准循环低密度校验码的交织方法及相关设备 | |
CN108712174B (zh) | 信息处理的方法、装置和通信设备 | |
US8255782B2 (en) | Method for constructing LDPC code in the mobile digital multimedia broadcast system | |
CN114499758B (zh) | 信道编码方法、装置、设备和计算机可读存储介质 | |
EP4270793A1 (en) | Low-density parity-check encoding method, low-density parity-check decoding method, encoding device, decoding device and medium | |
CN101789795B (zh) | 基于多码率原模图ldpc码的编码方法及编码器 | |
CN113541698B (zh) | 编码、译码方法、装置及设备 |
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 |