CN109379086B - 低复杂度的码率兼容的5g ldpc编码方法和编码器 - Google Patents
低复杂度的码率兼容的5g ldpc编码方法和编码器 Download PDFInfo
- Publication number
- CN109379086B CN109379086B CN201811181606.4A CN201811181606A CN109379086B CN 109379086 B CN109379086 B CN 109379086B CN 201811181606 A CN201811181606 A CN 201811181606A CN 109379086 B CN109379086 B CN 109379086B
- Authority
- CN
- China
- Prior art keywords
- matrix
- check
- parity
- information
- sub
- 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/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
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
本发明提供了一种低复杂度的码率兼容的5G LDPC编码方法和编码器,解决了传统编码器不能兼容5G标准下所有校验矩阵的问题。编码方法将奇偶校验矩阵分为六个子矩阵计算校验位,根据奇偶校验矩阵与码字关系推出校验向量公式,通过设定参数、初始化、计算第一、第二奇偶校验码元、打孔、拼接得到码字,计算复杂度低,利于硬件实现。编码器采用RAM替代寄存器实现循环移位,通过编码器控制模块分别控制校验矩阵存储模块、基于RAM的校验位计算模块、码字打孔和拼接模块形成全局互联模块实现编码,大大减少硬件资源,降低复杂度,提高吞吐率,实现码率兼容。本发明适用于需要兼容不同的校验矩阵且规模较大,对硬件资源消耗要求小的情况。
Description
技术领域
本发明属于无线通信系统的纠错技术领域,尤其涉及一种采用低密度奇偶校验码的编码方法和装置,具体是一种低复杂度的码率兼容的5G LDPC编码方法和编码器,用于5G标准下任意奇偶校验矩阵的编码。
背景技术
在通信系统中,链路性能受到信道中各种噪音、衰落、以及码间串扰(ISI)现象的影响。为了实现高数据吞吐量和可靠的高速数字通信系统——例如在60GHz的私域网(PAN)、下一代移动通信、数字广播以及便携式互联网中,开发有效的信道纠错码技术是十分有利的。近来,通过高效恢复畸变信息来增加通信可靠性的方法成为纠错码的热门研究领域。
随着第五代移动通信系统标准化工作的推进,3GPP RAN1会议中已将QC-LDPC码作为增强移动宽带(eMBB)场景的数据传输和控制信息传输的信道编译码方案,这是LDPC码(低密度奇偶校验码)研究近半个世纪以来的一个质的飞跃,因而研究低复杂度、高效的5GLDPC编码技术具有重要的实际意义和应用价值。LDPC码是线性分组码,并且可由奇偶校验矩阵来表示。
LDPC码是低密度奇偶校验码,这意味着它们的奇偶校验矩阵是稀疏的。稀疏的矩阵有很少的非零项。5G标准中的奇偶校验矩阵H是准循环(QC)LDPC矩阵。QC-LDPC矩阵主要的构造是基于准循环的单位子矩阵。这种准循环单位子矩阵结构在硬件实现中非常适合并行操作,进而提高吞吐率。传统的QC-LDPC矩阵尽管可以采用并行的结构,利用H矩阵中的循环移位系数对信息位进行循环移位和累加来实现编码,但在未来5G对编码性能和编码速度等要求更高的形势下,传统编码的硬件实现只是针对小规模的H矩阵和Z的取值比较少的情况下,并不适用于5G标准给出的H矩阵,因为5G标准的基准H矩阵有2种,对应于BG1,BG2,每一基准矩阵其循环移位阵的大小为Z,取值有51种,一共有102种,且Z的最大值为384,若要兼容标准给出的所有BG,Z,则会耗费大量的硬件资源,不利于硬件实现。因此需要进一步研究5G标准下兼容所有H矩阵和的高吞吐量的LDPC编码硬件实现结构。
综上所述,现有技术存在的问题是:为了兼容5G所有的H矩阵,将传统LDPC编码硬件实现结构应用于5G LDPC编码时,会导致硬件资源耗费过多,编码硬件复杂度较高,编码性能过低。
发明内容
针对现有技术存在的问题,本发明提供了一种高吞吐率,低复杂度的码率兼容的5G LDPC编码的方法和编码器。
本发明首先是一种基于5G标准的低复杂度LDPC(低密度奇偶校验码)编码方法,其特征在于,满足奇偶校验矩阵与码字的乘积恒等于0,即为H×cT=0,其中在5G标准下奇偶校验矩阵H是行块为M,列块数为N的分块矩阵,所述的分块矩阵为大小为Z*Z准循环移位矩阵,矩阵H表示为包括与信息码元相关联的第一子矩阵为其中行块数为4,列块数为K;与信息码元相关联的第二子矩阵为其中行块数为(M-4),列块数为K;与奇偶校验码元的第一子集P1相关联的具有双对角结构的可逆第三子矩阵为A,其中行块数为4,列块数为4;与奇偶校验码元的第二子集P2相关联的第四子矩阵为B,其中行块数为M-4,列块数为4;另外O表示全0子矩阵;I表示单位子矩阵。其中码字c表示为c=[S P1P2],包括对应于所述第一子矩阵的信息码元S,组数为K;对应于所述第三子矩阵的第一奇偶校验码元P1,组数为4;以及对应于所述第四子矩阵的第二奇偶校验码元P2,组数为M-4。所述将码元分组的方法为根据准循环移位子矩阵的大小Z,每Z个比特为一组,编码过程包括如下步骤:
1)设定参数:根据经过信源编码后的比特流得到信息码元,并设定对应于不同基准矩阵所述低密度奇偶校验矩阵H的大小和循环子阵的大小;
2)初始化:初始化奇偶校验码元P1和P2,并根据循环子阵的大小将信息码元S分成K个信息比特组;
3)计算4个比特组的第一奇偶校验码元P1:根据所述的K个信息比特组S与奇偶校验矩阵H的第一子矩阵为作乘法运算得到中间向量R,然后将奇偶校验矩阵的第三子矩阵A的逆与R作乘法运算可得4个比特组的第一奇偶校验码元P1;
4)根据第一奇偶校验码元P1计算(M-4)个比特组的第二奇偶校验码元P2:同时对奇偶校验矩阵H的第二子矩阵为与第四子矩阵B做乘法运算,对所述的K个信息比特组S与奇偶校验码元P1做乘法运算,得出的向量相加,可计算出(M-4)比特组的第二奇偶校验码元P2,其中M为奇偶校验矩阵H的行块数即总校验比特组的个数;
5)打孔:根据所述的信息比特组S去除前2组可得打孔后的信息比特组S';
6)拼接:根据所述的打孔后的信息比特组S'和第一奇偶校验码元P1,第二奇偶校验码元P2拼接后即可得打孔后的码字c’。
本发明还是一种码率兼容的5G LDPC编码器装置,输入BG(BG有两种,对应于不同码率的基准矩阵),扩展因子Z和信源比特流,然后通过全局互联模块,输出编码后的码字比特流,其特征在于,所述全局互联模块包括有:
校验矩阵存储模块,包括26个并行BLOCK ROM,用于存储5G标准的低密度奇偶校验矩阵的循环移位系数;
基于RAM的校验位计算模块,包括30个并行BLOCK RAM,用于对输入的信息比特进行循环移位计算,这些BLOCK RAM采用异步时钟的方式,即RAM的读时钟是写时钟的2倍,以提高吞吐率,BLOCK RAM的输出经过异或运算之后获得校验比特;
码字打孔和拼接模块,包括5个FIFO,用于其中1个FIFO用于缓存打孔后的信息比特,另外4个FIFO缓存打孔后的校验比特,经过各个FIFO的串行输出完成信息比特和校验比特的拼接,可构成各种码率的码字;
编码器控制模块,用于控制校验矩阵存储模块,基于RAM的校验位计算模块,码字打孔和拼接模块中的IP Core的每个,从而能够正确实现编码功能;
全局互联模块,用于将上述的编码器控制模块并行输出的BLOCK ROM,BLOCK RAM和FIFO的控制信息,并行输入到校验矩阵存储模块,基于RAM的校验位计算模块,码字打孔和拼接模块中;用于将校验矩阵存储模块输出的循环移位系数输入到基于RAM的校验位计算模块中;用于将基于RAM的校验位计算模块输出的校验比特输入到码字打孔和拼接模块中,最终所述完成信息比特和校验比特的拼接,从而构成一个完整的编码器。
本发明的优点及积极效果为:
1、本发明的编码方法将奇偶校验矩阵H分为六个独立的子矩阵,推导出的校验向量计算公式,计算公式简单,复杂度低并且能够兼容5G标准下所有的BG和Z;
2、本发明的编码装置兼容了5G标准下所有的BG和Z,随意切换BG和Z的取值,编码结果验证都正确;
3、为了兼容所有的BG和Z,传统的编码器需要借助位宽为384的桶形移位寄存器来实现编码功能,这种编码器的缺点是寄存器位宽大,导致耗费大量的LUT资源,且吞吐率低,不适用于5G系统,本发明的编码器装置采用BLOCK RAM的方法实现循环移位的功能,减少了LUT资源,并且降低了硬件复杂度。
4、本发明采用的全局互联模块中的编码频率是输入信息比特频率的2倍,提高了吞吐率;
5、可实现信息比特与校验比特任意长度的打孔,从而实现任意码率的编码功能。
附图说明
图1是5G标准下校验矩阵H的整体结构。
图2是本发明的5G标准下低复杂度的LDPC编码方法的流程框图。
图3是本发明的5G标准下码率兼容的LDPC编码器硬件结构功能配置框图。
图4是本发明的5G标准下码率兼容的LDPC编码器中校验矩阵存储模块使用ROM存储H矩阵的描述图。
图5是本发明的5G标准下码率兼容的LDPC编码器中基于RAM的校验位计算模块实现的计算P1的具体流程图。
图6是本发明实施例提供的5G标准下码率兼容的LDPC编码器中基于RAM的校验位计算模块实现的计算P2的具体流程图。
图7是本发明实施例在硬件平台实现的5G标准下码率R=1/5,BG=2,Z=2的编码结果波形图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明详细说明。
实施例1
随着第五代移动通信系统标准化工作的推进,LDPC码已成为第五代通信系统(5G)数据传输的信道编译码方案,然而现有技术中还没有涉及低复杂度、高效的5G LDPC编码方法,而且传统的编码方法不能兼容5G标准的所有奇偶校验矩阵,本发明针对这些问题,经过研究与创新提出一种低复杂度的码率兼容的5G LDPC编码方法和编码器。
本发明首先是一种基于5G标准的低复杂度LDPC(低密度奇偶校验码)编码方法,满足奇偶校验矩阵与码字的乘积恒等于0,即为H×cT=0,其中在5G标准下奇偶校验矩阵H是行块为M,列块数为N的分块矩阵,分块矩阵为大小为Z*Z准循环移位矩阵,表示为参见图1,包括与信息码元相关联的第一子矩阵为其中行块数为4,列块数为K;与信息码元相关联的第二子矩阵为其中行块数为M-4,列块数为K;与奇偶校验码元的第一子集P1相关联的具有双对角结构的可逆第三子矩阵为A,其中行块数为4,列块数为4;与奇偶校验码元的第二子集P2相关联的第四子矩阵为B,其中行块数为M-4,列块数为4;另外O表示全0子矩阵;I表示单位子矩阵。其中码字c表示为c=[S P1 P2],包括对应于所述第一子矩阵的信息码元S,组数为K;对应于所述第三子矩阵的第一奇偶校验码元P1,组数为4;以及对应于所述第四子矩阵的第二奇偶校验码元P2,组数为M-4。所述将码元分组的方法为根据准循环移位子矩阵的大小Z,每Z个比特为一组。
解方程,可以得出:
参见图2,编码过程包括如下步骤:
1)设定参数:根据经过信源编码后的比特流得到信息码元,并设定对应于不同基准矩阵所述低密度奇偶校验矩阵H的大小和循环子阵的大小。其中循环子阵指的是Z*Z的准循环移位矩阵。
2)初始化:初始化奇偶校验码元P1和P2为0向量,并根据循环子阵的大小将信息码元S分成K个信息比特组。
3)计算4个比特组的第一奇偶校验码元P1:根据所述的K个信息比特组S与奇偶校验矩阵H的第一子矩阵为作乘法运算,即根据的循环移位系数对K个信息比特组进行循环移位并累加,得到中间向量R;然后奇偶校验矩阵的第三子矩阵A的逆与R作乘法运算,此乘法运算可转化为对R向量的各个组作循环右移1位并组合累加的运算,即可得4个比特组的第一奇偶校验码元P1。第一奇偶校验码元P1的计算只需要循环移位运算和累加运算,相较于其他编码方法更加简单易算,易于实现。
4)根据第一奇偶校验码元P1计算(M-4)个比特组的第二奇偶校验码元P2:同时对奇偶校验矩阵H的第二子矩阵为与第四子矩阵B做乘法运算,对所述的K个信息比特组S与奇偶校验码元P1做乘法运算,得出的向量相加,可计算出(M-4)比特组的第二奇偶校验码元P2,其中M为奇偶校验矩阵H的行块数即总校验比特组的个数。第二奇偶校验码元P2的计算也只需要循环移位运算和累加运算,相较于其他编码方法更加简单易算,易于实现。
5)打孔:根据信息比特组S去除前2组可得打孔后的信息比特组S'。
6)码字拼接:根据打孔后的信息比特组S'和第一奇偶校验码元P1,第二奇偶校验码元P2拼接后即可得打孔后的码字c’,具体拼接方式为依次S',P1,P2串行拼接。
传统的LDPC编码方法通常采用将校验矩阵转化为生成矩阵的方式来进行编码,此方法应用于5G标准的校验矩阵中,会导致生成矩阵十分复杂,不满足矩阵低密度的特性;或者采用LU分解校验矩阵的方式来编码,此方法应用于5G标准的校验矩阵中,会导致校验向量的计算公式十分复杂,计算量比较大。本发明提供的5G标准下低复杂度LDPC编码方法是通过采用新编码的方式,将奇偶校验矩阵H分为6个子矩阵,从而根据奇偶校验矩阵与码字的关系推导出校验向量的公式,具有计算复杂度低,计算量小并且有利于硬件实现的优点。
实施例2
基于5G标准的低复杂度LDPC编码方法同实施例1,由奇偶校验矩阵与码字的关系H×cT=0可推导出第一奇偶校验码元(R表示),第二奇偶校验码元其中第二奇偶校验码元P2的计算转化为所述的第二子矩阵为与第四子矩阵B的组合和所述的K个信息比特组S与奇偶码元P1的组合作乘法运算,简化了运算结构,从而获得码字,完成编码。
将第二奇偶校验码元P2的计算如果采用普通的计算方法,即矩阵B与P1相乘再加上矩阵与S相乘,计算过程较为复杂,不利于并行处理,本发明将此公式转化为矩阵表达形式更加简洁,有利于在硬件实现中并行处理,减少运算复杂度。
实施例3
基于5G标准的低复杂度LDPC编码方法同实施例1-2,由于第一奇偶校验码元P1的计算需要对子矩阵A求逆运算,认真观察子矩阵A可以发现该矩阵具有某种特殊结构,特殊性为A具有双对角结构,且双对角元素的绝对值都为1,所以第三子矩阵A的逆与中间向量R作乘法运算可以转化为对R向量的各个组作循环右移1位并组合累加的运算。
对子矩阵A的逆运算,如果采用传统方法矩阵求逆运算的复杂度是非常高的,本发明根据矩阵A的特殊结构,将A的逆与中间向量R作乘法运算转化为对R向量的各个组作循环右移1位并组合累加的运算,大大降低运算复杂度,更加有利于硬件实现。
实施例4
本发明还是一种码率兼容的5G LDPC编码器装置,是根据基于5G标准的低复杂度LDPC编码方法设计的,基于5G标准的低复杂度LDPC编码方法同实施例1-3。
码率兼容的5G LDPC编码器装置的输入BG,BG有两种,对应于不同码率的基准矩阵,扩展因子Z和信源比特流,然后通过全局互联模块,输出编码后的码字比特流,参见图3,所述全局互联模块包括有:
校验矩阵存储模块,包括26个并行BLOCK ROM,用于存储5G标准的低密度奇偶校验矩阵的循环移位系数;
基于RAM的校验位计算模块,包括30个并行BLOCK RAM,用于对输入的信息比特进行循环移位计算,这些BLOCK RAM采用异步时钟的方式,即RAM的读时钟是写时钟的2倍,以提高吞吐率,BLOCK RAM的输出经过异或运算之后获得校验比特;
码字打孔和拼接模块,包括5个FIFO,用于其中1个FIFO用于缓存打孔后的信息比特,另外4个FIFO缓存打孔后的校验比特,经过各个FIFO的串行输出完成信息比特和校验比特的拼接,可构成各种码率的码字;
编码器控制模块,用于控制校验矩阵存储模块,基于RAM的校验位计算模块,码字打孔和拼接模块中的IP Core的每个,从而能够正确实现编码功能;
全局互联模块,用于将上述的编码器控制模块并行输出的BLOCK ROM,BLOCK RAM和FIFO的控制信息,并行输入到校验矩阵存储模块,基于RAM的校验位计算模块,码字打孔和拼接模块中;用于将校验矩阵存储模块输出的循环移位系数输入到基于RAM的校验位计算模块中;用于将基于RAM的校验位计算模块输出的校验比特输入到码字打孔和拼接模块中,最终所述完成信息比特和校验比特的拼接,从而构成一个完整的编码器。
本发明针对传统LDPC编码硬件实现结构采用桶形移位寄存器的处理方法进行循环移位和累加来计算校验位,由于Z值过大导致资源占用率过高,这一缺点造成编码性能较低以及不能兼容所有的5G标准H矩阵等问题,本发明提出的编码硬件实现结构是基于RAM来实现信息位的循环移位,循环移位后的比特流串行输出并且累加,最终得到校验比特流。由于本发明的硬件实现结构是串行处理信息比特,降低了硬件复杂度,且不会造成各种资源,如BRAM和LUT利用率过大还能够兼容5G标准的所有H矩阵,提高编码性能,更好地应对未来5G对传输速率及传输可靠性的高要求。
根据本发明基于5G标准的低复杂度LDPC编码方法还可以设计出更多的编码器,以适用于5G标准下对时延等要求更加严格的情况中,设计出更多的装置以满足实际项目的需要。
实施例5
基于5G标准的低复杂度的LDPC编码方法和码率兼容的5G LDPC编码器装置同实施例1-4。编码器装置中的校验矩阵存储模块包含26个BLOCK ROM用于存储奇偶校验矩阵,这是奇偶校验矩阵H的结构特点所决定的,本发明的26个BLOCK ROM中前22个用于存储的循环移位系数,后4个BLOCK ROM用于矩阵B的循环移位系数。
其中,在本发明校验矩阵存储模块中,26个BLOCK ROM同时并行工作,并且每Z个时钟之后,ROM的地址加1,用来读取ROM中存储的循环移位系数。从ROM中并行的读出26个循环移位系数,可以同时对26个BLOCK RAM中的信息比特进行循环移位,相对于传统编码器减少了时延,降低了硬件复杂度。
实施例6
基于5G标准的低复杂度LDPC编码方法和码率兼容的5G LDPC编码器装置同实施例1-5。编码器装置中的基于RAM的校验位计算模块的30个BLOCK RAM的前26个用于存储22组信息码元S,和计算得到的中间向量R的4组,后4个用于存储第一校验码元P1的4组,另外计算得到的第二校验码元P2不需要存储在RAM中,可直接输出;校验位计算方法为将校验矩阵存储模块并行输出的循环移位系数并行输入到基于RAM的校验位计算模块中,每个循环移位系数作为每个BLOCK RAM的初始读地址,实现了信息比特的循环移位,同时每个BLOCKRAM的输出经过异或可以得到校验比特;另外所采用的随机存储IP核BLOCK RAM采用异步时钟的方式,即输出时钟是输入时钟的2倍,即编码频率是输入信息比特频率的2倍,大大提高了编码器的吞吐率,编码器的吞吐率计算公式如下:
由上述公式可以得出,在本发明低复杂度的码率兼容的5G LDPC编码方法和编码器中,编码吞吐率变为原来的2倍。
在基于RAM的校验位计算模块中,编码具体过程为,首先把22*Z位信息比特分别存储在22个RAM中。为了兼容5G标准的所有Z,把每个RAM的深度设置为384(Z的最大值)*2,前384位存储Z位信息比特,后384位全为0比特。这是因为当循环移位系数为-1时,代表全0阵,这时循环移位后的信息位即为全0;然后可由公式根据校验矩阵存储模块里前4个地址读取的22个不同ROM中循环移位系数,对22个RAM中的信息组S进行相应的循环移位和异或,经过4*Z个时钟之后即可被计算出来,因为A-1是4*4的有特殊结构的矩阵,只需对的结果进行简单的处理,一共经过6*Z个时钟便可得出P1,并将P1存储在4个RAM中;然后可由公式根据校验矩阵存储模块里的地址读取26个不同ROM中循环移位系数,对22个RAM中的信息位S和4个RAM中的校验位P1进行相应的循环移位和异或,再经过(M-4)*Z个时钟之后,P2即可被计算出来。
传统的编码器为了兼容所有的BG和Z,需要借助位宽为384的桶形移位寄存器来实现编码功能,这种编码器的缺点是寄存器位宽大,导致耗费大量的LUT资源,且吞吐率低,本发明的编码器装置采用BLOCK RAM实现循环移位的方式,减少了LUT资源,提高了吞吐率并且降低了复杂度。
实施例7
基于5G标准的低复杂度LDPC编码方法和码率兼容的5G LDPC编码器装置同实施例1-6。编码器装置中的码字打孔和拼接模块中5个FIFO的第1个用于缓存打孔2*Z个信息比特之后的S',另外4个FIFO分别缓存第一奇偶校验码元P1的4组,而校验比特P2不用存储在FIFO中,计算出来后直接输出即可。所以一共需要5个FIFO来实现码字的输出。
传统的编码器在硬件实现过程中,没有实现对信息比特打孔和校验比特打孔,本发明编码器在码字打孔和拼接模块可以对信息比特打孔,并且可以对校验比特进行任意长度打孔,实现任意码率的编码功能。
实施例8
基于5G标准的低复杂度LDPC编码方法和码率兼容的5G LDPC编码器装置同实施例1-7。编码器装置中的编码器控制模块包含校验矩阵存储模块中各个ROM读地址的控制信息,即可正确的读出ROM中存储的循环移位系数;对校验位计算模块中各个RAM写使能,写地址,读使能,读地址的控制信息,即可根据ROM的循环移位系数从RAM的不同地址开始读,实现循环移位的功能;对码字打孔和拼接模块中各个FIFO写使能,读使能的控制信息,即可正确保存信息比特,校验比特信息,确保输出打孔后的码字。编码器控制模块包括一个计数器,通过计数器来产生对其他各个模块的控制信号,从而使得各个模块按秩序执行,保证编码的正确性。
下面给出一个详细的例子,对本发明进一步说明。
实施例9
基于5G标准的低复杂度LDPC编码方法和码率兼容的5G LDPC编码器装置同实施例1-8。
如图1所示,是本发明提供的5G标准下H矩阵的整体分块结构图。利用5G标准的低密度奇偶校验矩阵来编码信息码元得到码字,所述5G标准的低密度奇偶校验矩阵包括与信息码元相关联的第一子矩阵与信息码元相关联的第二子矩阵与奇偶校验码元的第一子集相关联的具有双对角结构的可逆的第三子矩阵A、与奇偶校验码元的第二子集相关联的第四子矩阵B。本发明的编码方法执行于各个子矩阵之上。
如图2所示,是5G标准下基于H矩阵的LDPC编码方法流程图。首先设定编码需要的参数BG和Z,由BG和Z决定奇偶校验矩阵H,并输入信息比特流;接下来初始化奇偶校验向量为0向量;然后根据信息比特流和奇偶校验矩阵H计算出第一奇偶校验码元;根据第一奇偶校验码元、信息比特流和校验矩阵H计算出第二奇偶校验码元;对信息比特流打孔即去掉前2*Z个比特;最后串行依次拼接信息比特流、第一奇偶校验码元、第二奇偶校验码元,得到编码后的码字。
如图3所示,是5G标准下基于H矩阵的LDPC编码器硬件结构功能配置框图。将BG、Z作为顶层模块的输入,以达到兼容性的目的;顶层模块为全局互联模块,此模块包含校验矩阵存储模块、基于RAM的校验位计算模块、码字打孔和拼接模块、编码器控制模块。此编码器硬件结构功能配置框图中,编码器控制模块是核心模块,用于协调整个编码器的工作。编码器控制模块输出的各种控制信号分别送到校验矩阵存储模块,基于RAM的校验位计算模块,码字打孔和拼接模块中,用于控制这些模块的工作。
本发明通过编码器控制模块分别控制校验矩阵存储模块、基于RAM的校验位计算模块、码字打孔和拼接模块形成全局互联模块实现编码功能,大大减少了硬件资源,降低了复杂度,提高了吞吐率,并实现了码率兼容。
如图4所示,是本例提供的5G标准下编码器中校验矩阵存储模块使用ROM存储H矩阵的结构图。由H矩阵的结构,可以得出,只需要存储矩阵和B矩阵,矩阵的存储需要22个ROM,B矩阵的存储需要4个ROM,所以一共需要26个ROM来存储。其中前22个ROM深度为46,后4个ROM的深度为42,宽度为9(循环移位系数的最大值为384)。编码器控制模块中产生控制读取ROM的地址的信号,每隔Z个时钟,ROM的地址加1。
如图5所示,是本例提供的LDPC编码器中基于RAM的校验位计算模块实现的计算P1的具体流程图。P1=[P11 P12 P13 P14],所以P1的长度为4*Z比特。又因为前述编码原理公式所以计算P1前,要首先计算R,即然后再经过运算得出P1。具体步骤如下:
S401:将信息比特存储到RAM中。每Z比特存储在一个RAM中,经过K*Z个时钟之后,信息位全部存储在了K个RAM中。
S402:实现对信息位的循环移位和累加得到同时读取校验矩阵存储模块中K个ROM的循环移位系数,ROM的地址从0开始到4结束,根据循环移位系数从RAM的不同地址开始读取,每个时钟读取一比特,当读至RAM的第(Z-1)位时,转至从第0位开始读,直至读完Z位,这样即实现了对K个RAM的循环移位;每一个时钟从K个不同的RAM中读取K位,并对它们进行累加处理(在二进制中相当于异或运算),经过4*Z个时钟之后,便可得到的值,即为所定义的R=[R1 R2 R3 R4],把它存储到4个不同的RAM中,名字为R_RAM1~R_RAM4。
S403:实现对的循环移位和累加得到P11。由于5G标准下A子矩阵具有双对角结构且双对角的循环移位系数的绝对值1,所以的计算也是比较简单。可以推导出,P11的计算即是对图4中R_RAM1~R_RAM4中的内容同时进行循环移位和累加,经过Z个时钟之后,校验位P11便可被计算出来,同时将P11也存储到RAM中,名字为P1_RAM1。
S404:计算得到校验比特P12,P13,P14。在S103中已经介绍到的计算比较简单,可以推导出,P12的结果等于P11加上R1,P13的结果等于P11加上R1再加上R2,P14的结果等于P11加上R4。由于P11,R1,R2,R3,R4已经被计算出来,并且存储到RAM中,所以P12,P13,P14可以同时计算,这样只需经过Z个时钟,P12,P13,P14便可以计算出来,并存储到P1_RAM2~P1_RAM4中。
S501:实现对信息位和校验位的循环移位和累加得到P2。同时读取校验矩阵存储模块中26个ROM的循环移位系数,ROM的地址从4开始到(M-1)结束,根据循环移位系数从26个RAM(包括信息位的K个RAM和校验位的4个RAM)的不同地址开始读取,来实现对26个RAM的循环移位;每一个时钟从26个不同的RAM中读取26位,并对它们进行累加处理(在二进制中相当于异或运算),经过(M-4)*Z个时钟之后,便可得到P2的值。对计算出来的校验比特P2直接输出即可。
下面通过实验和仿真及其结果对本发明的技术效果再作说明。
实施例10
基于5G标准的低复杂度LDPC编码方法和码率兼容的5G LDPC编码器装置同实施例1-9。如下表一所示,是5G标准下码率R=1/5的具有兼容性的硬件资源结果对比图,对比的是传统编码器的资源利用率与本发明编码器的资源利用率,所采用的开发板为KCU105,信息比特输入频率为100MHz,编码时钟频率为200MHz。
参数为:
码率:R=1/5;
信息位:MessageLength=10*Z;
码长:CodewordLength=50*Z;
表一 传统编码器与本发明编码器硬件资源结果对比图
由5G标准可知,在H矩阵中Z的取值有51种,因为BG,Z作为输入,所以本发明采用的实现结构具有兼容性,当BG,Z取任何值时都具有相同的资源利用率。由表中可以看出,在本发明编码器中,FF只占用了0.1%的资源,LUT只占用了1.73%的资源,Memory LUT占用了0.45%,I/O占用了0.96%,BRAM只占了4.5%,BUFG占用了0.83%,PLL占用了5%。所以,在满足兼容性的条件下,本发明的编码器相对于传统编码器能够有效的减少硬件资源。
实施例11
基于5G标准的低复杂度LDPC编码方法和码率兼容的5G LDPC编码器装置同实施例1-9。如图7所示,是本发明实施例在VIVADO平台实现的5G标准下编码频率为200M,码率R=1/5,Z=24的编码结果仿真波形图。在仿真平台进行测试时,Z作为输入要为其配置9个引脚,(Z最大值为384),当把Z配置成24时,即设置引脚取值为000011000,从抓取的波形图中可以看到,码字保持连续输出,保存码字信息,可以在matlab平台验证编码结果是正确的。
本发明是针对未来5G对编码性能、编码速度和编码可靠性等要求更高的形势下,为进一步提高LDPC编码性能,所提供的一种兼容5G标准下所有H矩阵,低复杂度,高吞吐率,码率兼容的LDPC编码方法和编码器装置。该编码方法采用新的编码方式,具有计算复杂度低,计算量小并且有利于硬件实现的优点。该编码器装置是通过采用新的实现方式,即用RAM来实现循环移位,降低了复杂度,并减少了在硬件平台中所占用的资源,提高了编码性能;处理时钟是信源时钟的2倍,减少了计算时延,提高了吞吐率;提供了信息比特与校验比特任意长度的打孔,实现了任意码率的编码功能;同时兼容5G标准下所有的BG和Z,随意切换BG和Z的取值,编码结果验证都正确。
简而言之,本发明提供的低复杂度的码率兼容的5G LDPC编码方法和编码器,解决了传统编码器不能兼容5G标准下的所有校验矩阵的问题,本发明的编码方法采用将奇偶校验矩阵分为六个子矩阵的方式来计算校验位,根据奇偶校验矩阵与码字的关系推导出校验向量的公式,并简化了公式的计算,通过设定参数、初始化、计算第一奇偶校验码元、计算第二奇偶校验码元、打孔、拼接的方式,得到码字,计算复杂度低,有利于硬件实现。本发明的编码器采用BLOCK RAM替代寄存器的方法实现循环移位的功能,通过编码器控制模块分别控制校验矩阵存储模块、基于RAM的校验位计算模块、码字打孔和拼接模块形成全局互联模块实现编码功能,大大减少了硬件资源,降低了复杂度,提高了吞吐率,并实现了码率兼容。本发明的编码方法和编码器适用于需要兼容不同的校验矩阵且校验矩阵规模较大,对硬件资源消耗要求较小的情况下。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于5G标准的低复杂度LDPC编码方法,其特征在于,满足奇偶校验矩阵与码字的乘积恒等于0,即为H*c=0,其中在5G标准下奇偶校验矩阵H是行块为M,列块数为N的分块矩阵,所述的分块矩阵为大小为Z*Z准循环移位矩阵,矩阵H表示为包括与信息码元相关联的第一子矩阵为其中行块数为4,列块数为K,与信息码元相关联的第二子矩阵为其中行块数为M-4,列块数为K,与第一奇偶校验码元P1相关联的具有双对角结构的可逆第三子矩阵为A,其中行块数为4,列块数为4,与第二奇偶校验码元P2相关联的第四子矩阵为B,其中行块数为M-4,列块数为4,另外O表示全0子矩阵,I表示单位子矩阵;其中码字c表示为c=[S P1 P2],包括对应于所述第一子矩阵的信息码元S,组数为K、对应于所述第三子矩阵的第一奇偶校验码元P1,组数为4、以及对应于所述第四子矩阵的第二奇偶校验码元P2,组数为M-4,将码元分组的方法为根据准循环移位子矩阵的大小Z,每Z个比特为一组,编码过程包括如下步骤:
1)设定参数:根据经过信源编码后的比特流得到信息码元,并设定对应于不同基准矩阵低密度奇偶校验矩阵H的大小和循环子阵的大小;
2)初始化:初始化第一奇偶校验码元P1和第二奇偶校验码元P2,并根据循环子阵的大小将信息码元S分成K个信息比特组;
3)计算4个比特组的第一奇偶校验码元P1:根据所述的K个信息比特组组成的信息码元S与奇偶校验矩阵H的第一子矩阵为作乘法运算得到中间向量R,然后将奇偶校验矩阵的第三子矩阵A的逆与R作乘法运算可得4个比特组的第一奇偶校验码元P1;
4)根据第一奇偶校验码元P1计算(M-4)个比特组的第二奇偶校验码元P2:同时对奇偶校验矩阵H的第二子矩阵为与第四子矩阵B做乘法运算,对所述的K个信息比特组成的信息码元S与第一奇偶校验码元P1做乘法运算,得出的向量相加,可计算出(M-4)比特组的第二奇偶校验码元P2,其中M为奇偶校验矩阵H的行块数即总校验比特组的个数;
5)打孔:根据所述的信息比特组成的信息码元S去除前2组可得打孔后的信息比特组S';
6)拼接:根据所述的打孔后的信息比特组S'和第一奇偶校验码元P1,第二奇偶校验码元P2拼接后即可得打孔后的码字c’。
3.如权利要求1所述的基于5G标准的低复杂度LDPC编码方法,其特征在于,所述第三子矩阵A具有双对角结构,且双对角元素的绝对值都为1,所以第三子矩阵A的逆与中间向量R作乘法运算可以转化为对R向量的各个组作循环右移1位并组合累加的运算。
4.一种码率兼容的5G LDPC编码器装置,输入基准矩阵BG,扩展因子Z和信源比特流,然后通过全局互联模块,输出编码后的码字比特流,其特征在于,所述全局互联模块包括有:
校验矩阵存储模块,包括26个并行BLOCK ROM,用于存储5G标准的低密度奇偶校验矩阵的循环移位系数;
基于RAM的校验位计算模块,包括30个并行BLOCK RAM,用于对输入的信息比特进行循环移位计算,BLOCK RAM采用异步时钟的方式,即RAM的读时钟是写时钟的2倍,以提高吞吐率,BLOCK RAM的输出经过异或运算之后获得校验比特;
码字打孔和拼接模块,包括5个FIFO,用于其中1个FIFO用于缓存打孔后的信息比特,另外4个FIFO缓存打孔后的校验比特,经过各个FIFO的串行输出完成信息比特和校验比特的拼接,可构成各种码率的码字;
编码器控制模块,用于控制校验矩阵存储模块,基于RAM的校验位计算模块,码字打孔和拼接模块中的IP Core的每个,从而能够正确实现编码功能;
全局互联模块,用于将上述的编码器控制模块并行输出的BLOCK ROM,BLOCK RAM和FIFO的控制信息,并行输入到校验矩阵存储模块,基于RAM的校验位计算模块,码字打孔和拼接模块中;用于将校验矩阵存储模块输出的循环移位系数输入到基于RAM的校验位计算模块中;用于将基于RAM的校验位计算模块输出的校验比特输入到码字打孔和拼接模块中,最终所述完成信息比特和校验比特的拼接,从而构成一个完整的编码器。
6.如权利要求4所述的码率兼容的5G LDPC编码器装置,其特征在于,所述基于RAM的校验位计算模块的30个BLOCK RAM的前26个用于存储22组信息码元S,和计算得到的中间向量R的4组,后4个用于存储第一校验码元P1的4组,另外计算得到的第二校验码元P2不需要存储在RAM中,可直接输出;校验位计算方法为将校验矩阵存储模块并行输出的循环移位系数并行输入到基于RAM的校验位计算模块中,每个循环移位系数作为每个BLOCK RAM的初始读地址,实现了信息比特的循环移位,同时每个BLOCK RAM的输出经过异或得到校验比特;另外所采用的随机存储IP核BLOCK RAM采用异步的方式,即编码频率是输入信息比特频率的2倍,大大提高了编码器的吞吐率。
7.如权利要求4所述的码率兼容的5G LDPC编码器装置,其特征在于,所述码字打孔和拼接模块中5个FIFO的第1个用于缓存打孔后的信息比特,另外4个FIFO分别缓存第一奇偶校验码元的4组。
8.如权利要求4所述的码率兼容的5G LDPC编码器装置,其特征在于,所述编码器控制模块包括一个计数器,用于控制ROM的读使能,RAM的读写使能与读写地址,FIFO的读写使能,使各个模块按秩序执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811181606.4A CN109379086B (zh) | 2018-10-11 | 2018-10-11 | 低复杂度的码率兼容的5g ldpc编码方法和编码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811181606.4A CN109379086B (zh) | 2018-10-11 | 2018-10-11 | 低复杂度的码率兼容的5g ldpc编码方法和编码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109379086A CN109379086A (zh) | 2019-02-22 |
CN109379086B true CN109379086B (zh) | 2021-06-08 |
Family
ID=65402845
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811181606.4A Active CN109379086B (zh) | 2018-10-11 | 2018-10-11 | 低复杂度的码率兼容的5g ldpc编码方法和编码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109379086B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023057046A1 (en) * | 2021-10-05 | 2023-04-13 | Nokia Technologies Oy | Reduced complexity ldpc encoding |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936380B (zh) * | 2019-03-28 | 2023-01-24 | 中国传媒大学 | 无需后向迭代的qc-ldpc编码方法 |
CN112671504A (zh) * | 2019-10-15 | 2021-04-16 | 普天信息技术有限公司 | 5g nr标准的ldpc编码的实现方法和装置 |
CN113037297B (zh) * | 2019-12-25 | 2022-09-06 | 上海交通大学 | Ldpc码字的编码方法、编码系统及存储介质 |
CN111162795B (zh) * | 2020-01-06 | 2023-02-03 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 基于校验子矩阵分割的ldpc编码硬件实现方法 |
WO2021146967A1 (zh) * | 2020-01-21 | 2021-07-29 | 华为技术有限公司 | 低密度奇偶校验码编码方法和编码器 |
CN111162797B (zh) * | 2020-01-21 | 2023-05-30 | 华侨大学 | 一种速率兼容的5g ldpc码的编码装置及编码方法 |
CN113114271A (zh) * | 2021-03-11 | 2021-07-13 | 苏州华兴源创科技股份有限公司 | 低密度奇偶校验编码装置和方法 |
CN113131949A (zh) * | 2021-03-11 | 2021-07-16 | 苏州华兴源创科技股份有限公司 | 数据预处理方法、装置、电子设备及计算机可读存储介质 |
CN113098529B (zh) * | 2021-03-30 | 2022-06-21 | 中山大学 | 基于循环移位的额外信息传输方法、系统及存储介质 |
CN113114273B (zh) * | 2021-04-14 | 2022-11-18 | 深圳市统先科技股份有限公司 | Ldpc码的校验矩阵提取方法及系统、设备 |
CN113285724B (zh) * | 2021-05-19 | 2022-06-17 | 西南交通大学 | 一种基于码率自适应的小型化ldpc编码器电路 |
CN113300717B (zh) * | 2021-05-19 | 2022-06-10 | 西南交通大学 | 一种基于码率自适应的高效化ldpc编码器电路 |
CN117394950A (zh) * | 2022-06-30 | 2024-01-12 | 大唐移动通信设备有限公司 | 编码方法、装置及存储介质 |
CN114860651B (zh) * | 2022-07-05 | 2022-10-11 | 南京万般上品信息技术有限公司 | 一种基于分散聚合流水线实现mds阵列码的ip核系统 |
CN115118289B (zh) * | 2022-08-29 | 2022-11-18 | 北京航空航天大学 | 一种基于gpu的5gldpc编码器的编码方法 |
CN115882873B (zh) * | 2023-02-23 | 2023-05-23 | 成都星联芯通科技有限公司 | 低密度奇偶校验码译码方法、装置、通信设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122315B2 (en) * | 2005-12-01 | 2012-02-21 | Electronics And Telecommunications Research Institute | LDPC decoding apparatus and method using type-classified index |
CN103634014A (zh) * | 2012-08-24 | 2014-03-12 | 中兴通讯股份有限公司 | 一种ldpc编码方法及装置 |
CN104969476A (zh) * | 2013-02-08 | 2015-10-07 | 索尼公司 | 数据处理装置以及数据处理方法 |
US9793879B2 (en) * | 2014-09-17 | 2017-10-17 | Avnera Corporation | Rate convertor |
CN107786211A (zh) * | 2017-09-26 | 2018-03-09 | 华中科技大学 | 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8418023B2 (en) * | 2007-05-01 | 2013-04-09 | The Texas A&M University System | Low density parity check decoder for irregular LDPC codes |
US8055973B2 (en) * | 2009-06-05 | 2011-11-08 | Stmicroelectronics, Inc. | Channel constrained code aware interleaver |
-
2018
- 2018-10-11 CN CN201811181606.4A patent/CN109379086B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122315B2 (en) * | 2005-12-01 | 2012-02-21 | Electronics And Telecommunications Research Institute | LDPC decoding apparatus and method using type-classified index |
CN103634014A (zh) * | 2012-08-24 | 2014-03-12 | 中兴通讯股份有限公司 | 一种ldpc编码方法及装置 |
CN104969476A (zh) * | 2013-02-08 | 2015-10-07 | 索尼公司 | 数据处理装置以及数据处理方法 |
US9793879B2 (en) * | 2014-09-17 | 2017-10-17 | Avnera Corporation | Rate convertor |
CN107786211A (zh) * | 2017-09-26 | 2018-03-09 | 华中科技大学 | 一种ira‑qc‑ldpc码的代数结构获取方法、编码方法和编码器 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023057046A1 (en) * | 2021-10-05 | 2023-04-13 | Nokia Technologies Oy | Reduced complexity ldpc encoding |
Also Published As
Publication number | Publication date |
---|---|
CN109379086A (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109379086B (zh) | 低复杂度的码率兼容的5g ldpc编码方法和编码器 | |
CN111162797B (zh) | 一种速率兼容的5g ldpc码的编码装置及编码方法 | |
US7373581B2 (en) | Device, program, and method for decoding LDPC codes | |
CN110741557B (zh) | 通过合并极化码图的级的低延迟极化编码和解码 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
JP4764973B2 (ja) | Crc値の算出装置 | |
CN110999095B (zh) | 用于极化码的按块并行冻结位生成 | |
CN109802687B (zh) | 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器 | |
JP2007089064A (ja) | 復号装置および受信装置 | |
CN107124251B (zh) | 一种基于任意内核的极化码编码方法 | |
CN110741558B (zh) | 具有逻辑三维存储器的极化编码器、通信单元、集成电路及其方法 | |
JP5333233B2 (ja) | 復号装置、データ蓄積装置、データ通信システム、および復号方法 | |
CN110741559B (zh) | 极化编码器、通信单元、集成电路及其方法 | |
CN109245775B (zh) | 一种译码器及其实现译码的方法 | |
CN114629507B (zh) | 一种Turbo和LDPC码速率匹配和交织器共享存储设计方法 | |
CN110166060A (zh) | 高吞吐流水线型极化码bp译码器及其实现方法 | |
CN115858230A (zh) | 最大距离可分离码的构造、修复方法及相关装置 | |
CN112953567A (zh) | Turbo编码方法和装置、电子设备和存储介质 | |
CN110958025B (zh) | 一种基于叠加的短帧长编码及译码方法 | |
CN112534724B (zh) | 用于解码极化码和乘积码的解码器和方法 | |
Heyse et al. | Attacking code-based cryptosystems with information set decoding using special-purpose hardware | |
CN111181570A (zh) | 基于fpga的编译码方法和装置 | |
CN107592958B (zh) | 不同码长下使用一个多比率指数表和一个扩展因子的多比率的ldpc编码和解码 | |
Kuang et al. | FPGA implementation of a modified turbo product code decoder | |
Lakshmi et al. | Area efficient implementation of short length QC-LDPC codes for Ultra-Reliable Low-Latency Communication (URLLC) application |
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 |