本发明属于无线通信系统的纠错技术领域,尤其涉及一种采用低密度奇偶校验码的编码方法和装置,具体是一种低复杂度的码率兼容的5gldpc编码方法和编码器,用于5g标准下任意奇偶校验矩阵的编码。
背景技术:
在通信系统中,链路性能受到信道中各种噪音、衰落、以及码间串扰(isi)现象的影响。为了实现高数据吞吐量和可靠的高速数字通信系统——例如在60ghz的私域网(pan)、下一代移动通信、数字广播以及便携式互联网中,开发有效的信道纠错码技术是十分有利的。近来,通过高效恢复畸变信息来增加通信可靠性的方法成为纠错码的热门研究领域。
随着第五代移动通信系统标准化工作的推进,3gppran1会议中已将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编码硬件实现结构应用于5gldpc编码时,会导致硬件资源耗费过多,编码硬件复杂度较高,编码性能过低。
技术实现要素:
针对现有技术存在的问题,本发明提供了一种高吞吐率,低复杂度的码率兼容的5gldpc编码的方法和编码器。
本发明首先是一种基于5g标准的低复杂度ldpc(低密度奇偶校验码)编码方法,其特征在于,满足奇偶校验矩阵与码字的乘积恒等于0,即为h×ct=0,其中在5g标准下奇偶校验矩阵h是行块为m,列块数为n的分块矩阵,所述的分块矩阵为大小为z*z准循环移位矩阵,矩阵h表示为
1)设定参数:根据经过信源编码后的比特流得到信息码元,并设定对应于不同基准矩阵所述低密度奇偶校验矩阵h的大小和循环子阵的大小;
2)初始化:初始化奇偶校验码元p1和p2,并根据循环子阵的大小将信息码元s分成k个信息比特组;
3)计算4个比特组的第一奇偶校验码元p1:根据所述的k个信息比特组s与奇偶校验矩阵h的第一子矩阵为
4)根据第一奇偶校验码元p1计算(m-4)个比特组的第二奇偶校验码元p2:同时对奇偶校验矩阵h的第二子矩阵为
5)打孔:根据所述的信息比特组s去除前2组可得打孔后的信息比特组s';
6)拼接:根据所述的打孔后的信息比特组s'和第一奇偶校验码元p1,第二奇偶校验码元p2拼接后即可得打孔后的码字c’。
本发明还是一种码率兼容的5gldpc编码器装置,输入bg(bg有两种,对应于不同码率的基准矩阵),扩展因子z和信源比特流,然后通过全局互联模块,输出编码后的码字比特流,其特征在于,所述全局互联模块包括有:
校验矩阵存储模块,包括26个并行blockrom,用于存储5g标准的低密度奇偶校验矩阵的循环移位系数;
基于ram的校验位计算模块,包括30个并行blockram,用于对输入的信息比特进行循环移位计算,这些blockram采用异步时钟的方式,即ram的读时钟是写时钟的2倍,以提高吞吐率,blockram的输出经过异或运算之后获得校验比特;
码字打孔和拼接模块,包括5个fifo,用于其中1个fifo用于缓存打孔后的信息比特,另外4个fifo缓存打孔后的校验比特,经过各个fifo的串行输出完成信息比特和校验比特的拼接,可构成各种码率的码字;
编码器控制模块,用于控制校验矩阵存储模块,基于ram的校验位计算模块,码字打孔和拼接模块中的ipcore的每个,从而能够正确实现编码功能;
全局互联模块,用于将上述的编码器控制模块并行输出的blockrom,blockram和fifo的控制信息,并行输入到校验矩阵存储模块,基于ram的校验位计算模块,码字打孔和拼接模块中;用于将校验矩阵存储模块输出的循环移位系数输入到基于ram的校验位计算模块中;用于将基于ram的校验位计算模块输出的校验比特输入到码字打孔和拼接模块中,最终所述完成信息比特和校验比特的拼接,从而构成一个完整的编码器。
本发明的优点及积极效果为:
1、本发明的编码方法将奇偶校验矩阵h分为六个独立的子矩阵,推导出的校验向量计算公式,计算公式简单,复杂度低并且能够兼容5g标准下所有的bg和z;
2、本发明的编码装置兼容了5g标准下所有的bg和z,随意切换bg和z的取值,编码结果验证都正确;
3、为了兼容所有的bg和z,传统的编码器需要借助位宽为384的桶形移位寄存器来实现编码功能,这种编码器的缺点是寄存器位宽大,导致耗费大量的lut资源,且吞吐率低,不适用于5g系统,本发明的编码器装置采用blockram的方法实现循环移位的功能,减少了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)数据传输的信道编译码方案,然而现有技术中还没有涉及低复杂度、高效的5gldpc编码方法,而且传统的编码方法不能兼容5g标准的所有奇偶校验矩阵,本发明针对这些问题,经过研究与创新提出一种低复杂度的码率兼容的5gldpc编码方法和编码器。
本发明首先是一种基于5g标准的低复杂度ldpc(低密度奇偶校验码)编码方法,满足奇偶校验矩阵与码字的乘积恒等于0,即为h×ct=0,其中在5g标准下奇偶校验矩阵h是行块为m,列块数为n的分块矩阵,分块矩阵为大小为z*z准循环移位矩阵,表示为
根据一般奇偶校验矩阵h矩阵与码字c的关系:h×ct=0,其中h矩阵可以写成h=[hshp],c可以写成
解方程,可以得出:
其中
参见图2,编码过程包括如下步骤:
1)设定参数:根据经过信源编码后的比特流得到信息码元,并设定对应于不同基准矩阵所述低密度奇偶校验矩阵h的大小和循环子阵的大小。其中循环子阵指的是z*z的准循环移位矩阵。
2)初始化:初始化奇偶校验码元p1和p2为0向量,并根据循环子阵的大小将信息码元s分成k个信息比特组。
3)计算4个比特组的第一奇偶校验码元p1:根据所述的k个信息比特组s与奇偶校验矩阵h的第一子矩阵为
4)根据第一奇偶校验码元p1计算(m-4)个比特组的第二奇偶校验码元p2:同时对奇偶校验矩阵h的第二子矩阵为
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可推导出第一奇偶校验码元
将第二奇偶校验码元p2的计算如果采用普通的计算方法,即矩阵b与p1相乘再加上矩阵
实施例3
基于5g标准的低复杂度ldpc编码方法同实施例1-2,由于第一奇偶校验码元p1的计算需要对子矩阵a求逆运算,认真观察子矩阵a可以发现该矩阵具有某种特殊结构,特殊性为a具有双对角结构,且双对角元素的绝对值都为1,所以第三子矩阵a的逆与中间向量r作乘法运算可以转化为对r向量的各个组作循环右移1位并组合累加的运算。
对子矩阵a的逆运算,如果采用传统方法矩阵求逆运算的复杂度是非常高的,本发明根据矩阵a的特殊结构,将a的逆与中间向量r作乘法运算转化为对r向量的各个组作循环右移1位并组合累加的运算,大大降低运算复杂度,更加有利于硬件实现。
实施例4
本发明还是一种码率兼容的5gldpc编码器装置,是根据基于5g标准的低复杂度ldpc编码方法设计的,基于5g标准的低复杂度ldpc编码方法同实施例1-3。
码率兼容的5gldpc编码器装置的输入bg,bg有两种,对应于不同码率的基准矩阵,扩展因子z和信源比特流,然后通过全局互联模块,输出编码后的码字比特流,参见图3,所述全局互联模块包括有:
校验矩阵存储模块,包括26个并行blockrom,用于存储5g标准的低密度奇偶校验矩阵的循环移位系数;
基于ram的校验位计算模块,包括30个并行blockram,用于对输入的信息比特进行循环移位计算,这些blockram采用异步时钟的方式,即ram的读时钟是写时钟的2倍,以提高吞吐率,blockram的输出经过异或运算之后获得校验比特;
码字打孔和拼接模块,包括5个fifo,用于其中1个fifo用于缓存打孔后的信息比特,另外4个fifo缓存打孔后的校验比特,经过各个fifo的串行输出完成信息比特和校验比特的拼接,可构成各种码率的码字;
编码器控制模块,用于控制校验矩阵存储模块,基于ram的校验位计算模块,码字打孔和拼接模块中的ipcore的每个,从而能够正确实现编码功能;
全局互联模块,用于将上述的编码器控制模块并行输出的blockrom,blockram和fifo的控制信息,并行输入到校验矩阵存储模块,基于ram的校验位计算模块,码字打孔和拼接模块中;用于将校验矩阵存储模块输出的循环移位系数输入到基于ram的校验位计算模块中;用于将基于ram的校验位计算模块输出的校验比特输入到码字打孔和拼接模块中,最终所述完成信息比特和校验比特的拼接,从而构成一个完整的编码器。
本发明针对传统ldpc编码硬件实现结构采用桶形移位寄存器的处理方法进行循环移位和累加来计算校验位,由于z值过大导致资源占用率过高,这一缺点造成编码性能较低以及不能兼容所有的5g标准h矩阵等问题,本发明提出的编码硬件实现结构是基于ram来实现信息位的循环移位,循环移位后的比特流串行输出并且累加,最终得到校验比特流。由于本发明的硬件实现结构是串行处理信息比特,降低了硬件复杂度,且不会造成各种资源,如bram和lut利用率过大还能够兼容5g标准的所有h矩阵,提高编码性能,更好地应对未来5g对传输速率及传输可靠性的高要求。
根据本发明基于5g标准的低复杂度ldpc编码方法还可以设计出更多的编码器,以适用于5g标准下对时延等要求更加严格的情况中,设计出更多的装置以满足实际项目的需要。
实施例5
基于5g标准的低复杂度的ldpc编码方法和码率兼容的5gldpc编码器装置同实施例1-4。编码器装置中的校验矩阵存储模块包含26个blockrom用于存储奇偶校验矩阵,这是奇偶校验矩阵h的结构特点所决定的,本发明的26个blockrom中前22个用于存储
其中,在本发明校验矩阵存储模块中,26个blockrom同时并行工作,并且每z个时钟之后,rom的地址加1,用来读取rom中存储的循环移位系数。从rom中并行的读出26个循环移位系数,可以同时对26个blockram中的信息比特进行循环移位,相对于传统编码器减少了时延,降低了硬件复杂度。
实施例6
基于5g标准的低复杂度ldpc编码方法和码率兼容的5gldpc编码器装置同实施例1-5。编码器装置中的基于ram的校验位计算模块的30个blockram的前26个用于存储22组信息码元s,和计算得到的中间向量r的4组,后4个用于存储第一校验码元p1的4组,另外计算得到的第二校验码元p2不需要存储在ram中,可直接输出;校验位计算方法为将校验矩阵存储模块并行输出的循环移位系数并行输入到基于ram的校验位计算模块中,每个循环移位系数作为每个blockram的初始读地址,实现了信息比特的循环移位,同时每个blockram的输出经过异或可以得到校验比特;另外所采用的随机存储ip核blockram采用异步时钟的方式,即输出时钟是输入时钟的2倍,即编码频率是输入信息比特频率的2倍,大大提高了编码器的吞吐率,编码器的吞吐率计算公式如下:
由上述公式可以得出,在本发明低复杂度的码率兼容的5gldpc编码方法和编码器中,编码吞吐率变为原来的2倍。
在基于ram的校验位计算模块中,编码具体过程为,首先把22*z位信息比特分别存储在22个ram中。为了兼容5g标准的所有z,把每个ram的深度设置为384(z的最大值)*2,前384位存储z位信息比特,后384位全为0比特。这是因为当循环移位系数为-1时,代表全0阵,这时循环移位后的信息位即为全0;然后可由公式
传统的编码器为了兼容所有的bg和z,需要借助位宽为384的桶形移位寄存器来实现编码功能,这种编码器的缺点是寄存器位宽大,导致耗费大量的lut资源,且吞吐率低,本发明的编码器装置采用blockram实现循环移位的方式,减少了lut资源,提高了吞吐率并且降低了复杂度。
实施例7
基于5g标准的低复杂度ldpc编码方法和码率兼容的5gldpc编码器装置同实施例1-6。编码器装置中的码字打孔和拼接模块中5个fifo的第1个用于缓存打孔2*z个信息比特之后的s',另外4个fifo分别缓存第一奇偶校验码元p1的4组,而校验比特p2不用存储在fifo中,计算出来后直接输出即可。所以一共需要5个fifo来实现码字的输出。
传统的编码器在硬件实现过程中,没有实现对信息比特打孔和校验比特打孔,本发明编码器在码字打孔和拼接模块可以对信息比特打孔,并且可以对校验比特进行任意长度打孔,实现任意码率的编码功能。
实施例8
基于5g标准的低复杂度ldpc编码方法和码率兼容的5gldpc编码器装置同实施例1-7。编码器装置中的编码器控制模块包含校验矩阵存储模块中各个rom读地址的控制信息,即可正确的读出rom中存储的循环移位系数;对校验位计算模块中各个ram写使能,写地址,读使能,读地址的控制信息,即可根据rom的循环移位系数从ram的不同地址开始读,实现循环移位的功能;对码字打孔和拼接模块中各个fifo写使能,读使能的控制信息,即可正确保存信息比特,校验比特信息,确保输出打孔后的码字。编码器控制模块包括一个计数器,通过计数器来产生对其他各个模块的控制信号,从而使得各个模块按秩序执行,保证编码的正确性。
下面给出一个详细的例子,对本发明进一步说明。
实施例9
基于5g标准的低复杂度ldpc编码方法和码率兼容的5gldpc编码器装置同实施例1-8。
如图1所示,是本发明提供的5g标准下h矩阵的整体分块结构图。利用5g标准的低密度奇偶校验矩阵来编码信息码元得到码字,所述5g标准的低密度奇偶校验矩阵包括与信息码元相关联的第一子矩阵
如图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矩阵的结构,可以得出,只需要存储
如图5所示,是本例提供的ldpc编码器中基于ram的校验位计算模块实现的计算p1的具体流程图。p1=[p11p12p13p14],所以p1的长度为4*z比特。又因为前述编码原理公式
s401:将信息比特存储到ram中。每z比特存储在一个ram中,经过k*z个时钟之后,信息位全部存储在了k个ram中。
s402:实现对信息位的循环移位和累加得到
s403:实现对
s404:计算得到校验比特p12,p13,p14。在s103中已经介绍到
如图6所示,是本例提供的ldpc编码器中基于ram的校验位计算模块实现的计算p2的具体流程图。
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编码方法和码率兼容的5gldpc编码器装置同实施例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%的资源,memorylut占用了0.45%,i/o占用了0.96%,bram只占了4.5%,bufg占用了0.83%,pll占用了5%。所以,在满足兼容性的条件下,本发明的编码器相对于传统编码器能够有效的减少硬件资源。
实施例11
基于5g标准的低复杂度ldpc编码方法和码率兼容的5gldpc编码器装置同实施例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的取值,编码结果验证都正确。
简而言之,本发明提供的低复杂度的码率兼容的5gldpc编码方法和编码器,解决了传统编码器不能兼容5g标准下的所有校验矩阵的问题,本发明的编码方法采用将奇偶校验矩阵分为六个子矩阵的方式来计算校验位,根据奇偶校验矩阵与码字的关系推导出校验向量的公式,并简化了公式的计算,通过设定参数、初始化、计算第一奇偶校验码元、计算第二奇偶校验码元、打孔、拼接的方式,得到码字,计算复杂度低,有利于硬件实现。本发明的编码器采用blockram替代寄存器的方法实现循环移位的功能,通过编码器控制模块分别控制校验矩阵存储模块、基于ram的校验位计算模块、码字打孔和拼接模块形成全局互联模块实现编码功能,大大减少了硬件资源,降低了复杂度,提高了吞吐率,并实现了码率兼容。本发明的编码方法和编码器适用于需要兼容不同的校验矩阵且校验矩阵规模较大,对硬件资源消耗要求较小的情况下。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。