实现LDPC码编码的方法与装置制造方法及图纸

技术编号:9768071 阅读:156 留言:0更新日期:2014-03-15 22:35
本发明专利技术公开了一种实现LDPC码的编码方法与装置。其中方法包括:步骤A.设定LDPC码编码的码长n与码率R,初始化并更新参数;步骤B.当长度为k的信息码S输入时,将长度为k的信息码S转换成n-k长度的中间变量e;步骤C.迭代求解方程A*pT=e,得到检验码p。预设迭代起始地址,从起始地址开始迭代,得到检验码,然后实时产生迭代地址,并根据迭代地址分别从e缓冲器中读取中间变量e,从检验码缓冲器取已知当前位置的检验码,进行GF(2)迭代求解下一位置的检验码,并根据迭代地址将运算结果写入检验码缓冲器指定位置。本发明专利技术采用预设与迭代求解相结合方法,实现了LDPC线性复杂度设计实现LDPC编码的零延时和高吞吐率。

【技术实现步骤摘要】
实现LDPC码编码的方法与装置
本专利技术涉及一种无线局域网信道编码
,特别是涉及一种实现LDPC码编码的方法与装置。
技术介绍
通信的目的是将信源信息及时可靠地传输到信宿。但在数字通信系统中,信道存在着各种噪声和干扰,使得传输信息的准确性和可靠性降低。尤其是近年来,随着大量数据信息的处理和交换,人们对高效、高可靠性的数字通信系统的需求日益增长,使得高可靠性这一性能变得更加迫切。因此,设计数字通信系统的关键在于如何控制各种噪声和干扰引起的差错的情况下,还可以使数据能够可靠准确地进行传输。理论研究表明:LDPC码即低密度奇偶校验码(LowDensityParityCheckCode,LDPC)的性能超过Turbo码,已接近香农极限,同时具有线性译码复杂度,适用高速数据传输,特别适合信道情况复杂的无线局域网环境。但就目前情况来看,LDPC码的编码复杂度、造成的编码时延及硬件实现高成本成为制约LDPC码在高速数据业务中应用的一个关键因素。低密度奇偶校验码图(LDPC码)本质上是一种线形分组码,它通过一个生成矩阵G将信息序列映射成发送序列,也就是码字序列。对于生成矩阵G,完全等效地存在一个奇偶校验矩阵H,所有的码字序列C构成了H的零空间(nullspace),即HCT=0。LDPC码的奇偶校验矩阵H是一个稀疏矩阵,相对于行与列的长度,校验矩阵每行、列中非零元素的数目(我们习惯称作行重、列重)非常小,这也是LDPC码之所以称为低密度码的原因。目前,LDPC编码方法主要有三种:传统编码算法、串行编码算法、并行编码算法。后两种编码需要由检验矩阵H得到生成矩阵G,但其生成矩阵的稀疏性很难得到保证,这样就可能会导致编码的运算与存储复杂性急剧增加,其时延与成本较难控制。按照传统编码方法,首先将子矩阵B进行LU分解,然后利用前向迭代就可以方便地根据信息位求解得到检验码。但传统编码方法在成本与复杂度方面依然难尽人意。因此,如何解决现有技术中LDPC码编码的低速,高成本,高延时的缺陷是个亟待解决的问题。
技术实现思路
基于上述问题,本专利技术提供了一种实现LDPC码编码的方法与装置,用以高速地实现LDPC码的编码,并降低编码成本。H=[BA],则H*x=0演变为则A*pT=B*sT,所以p可以通过解方程组的思想求得。e=B*sT即为预处理过程,而A*pT=e采用迭代求解的方式进行求检验码。本专利技术正是基于以上设计思路改进了LDPC码编码的处理方法及装置。本专利技术提供了一种实现LDPC码的编码装置,包括:主控制单元,异或阵列处理器,e缓冲器,GF(2)迭代求解器,迭代地址产生器,进程控制计数器,检验码缓冲器和宏矩阵表模块,其中:所述主控制单元,用于接收用户设定的LDPC码编码的码长n与码率R信息,初始化更新各个部件的参数;协调所述异或阵列处理器和e缓冲器完成预处理操作;在接收预设起始迭代地址信息后,协调所述GF(2)迭代求解器执行运算迭代的操作并根据所述迭代地址产生器产生的迭代地址分别从e缓冲器中读取中间变量e,从检验码缓冲器取已知当前位置的检验码,进行GF(2)迭代求解下一位置的检验码,再根据迭代地址将运算结果写入检验码缓冲器指定位置;所述异或阵列处理器,用于进行信息码S的载入操作时,将长度为K的信息码S转换成n-k长度的中间变量e;所述e缓冲器,用于保存所述计算结果中间变量e的值;包括n-k个1比特的缓冲寄存器;所述迭代地址产生器,用于从起始地址开始迭代,经过多次迭代得到检验码,根据当前迭代进程,产生迭代地址;所述迭代地址包括当前运算所需的e缓冲器中间变量e地址、所需的检验码缓冲器检验码地址及当前得到的检验码写入检验码缓冲器地址;所述进程控制计数器,用于对所述GF(2)迭代地址产生器的迭代循环操作次数进行计数;所述检验码缓冲器,用于保存产生的检验码,用单端口SRAM来实现,只有写操作,避免读操作;所述检验码缓冲器长度为n-k比特;所述GF(2)迭代求解器,用于对当前运算所需的中间变量e地址、所需的已知的检验码地址及当前位置的检验码地址进行异或运算,得到新位置的检验码;所述宏矩阵表模块,用于将校验矩阵H的分割宏矩阵A和B并保存,即H=[BA]。较佳地,作为一种可实施方式。所述主控制单元包括载入控制模块、第一判断模块和第二判断模块,其中:所述载入控制模块,用于载入信息码S时,每次控制载入到所述异或阵列处理器1比特信息码;所述第一判断模块,用于当先载入信息码S中的第j列信息码Sj时,判断第j列信息码Sj是否为零,若判断结果不为零,则控制所述异或阵列处理器计算对应的中间变量e的值,再将对应的中间变量e与e缓冲器中现有的中间变量e值模2和,控制e缓冲器保存所述计算结果;若判断结果为零,则直接跳转第二判断模块;所述第二判断模块,用于判断所述第j列信息码Sj是否为信息码S中的最后一个信息码;若是,则跳转预设模块执行后续的操作;若否,则返回载入控制模块执行下一列信息码的载入操作。较佳地,作为一种可实施方式。所述主控制单元还包括预设模块和迭代协调控制模块,其中:所述预设模块,用于预设第二个检验码的值为0或者1,且迭代起始地址为1;所述迭代协调控制模块,用于在接收预设起始地址信息后,协调所述GF(2)迭代求解器从起始地址1开始执行迭代运算的操作,并协调进程控制计数器计数,协调迭代地址产生器实时产生当前迭代地址,并根据迭代地址分别从e缓冲器中取中间变量e,从检验码缓冲器读取当前位置的检验码,进行GF(2)迭代求解下一位置的检验码,再根据迭代地址将运算出新位置的检验码的写入检验码缓冲器指定位置;重复经过n-k-1次迭代,得到n-k个检验码。较佳地,作为一种可实施方式。所述主控制单元还包括第三判断模块、重调模块和结束模块,其中:所述第三判断模块,用于直至处理到第n-k次迭代操作时,且将得到的n-k个检验码都写入到检验码缓冲器后判断初始预设条件是否正确;若是,则直接跳转结束模块执行结束编码的操作;若否,则跳转重调模块执行相应操作;所述重调模块,用于重新调整迭代操作且调整计算错误的检验码;所述结束模块,用于结束执行LDPC码的编码操作。较佳地,作为一种可实施方式。所述第三判断模块包括第三判断子模块,其中:所述第三判断子模块,用于在判断初始预设条件是否正确时,判断最后一个检验方程中的3个已知检验码满足方程,若是,则判断结果为预设正确;若否,则判断结果为预设错误。较佳地,作为一种可实施方式。所述重调模块包括重调处理子模块,其中:所述重调处理子模块,用于运算GF(2)过程中,在判断预设错误后,将第一个环路中求解所得的个检验码逻辑反相,行度为3的行阻止了错误的传播;其中:第一个环路的24×(1-R)次迭代一定错误,错误止于第一个环路;将前24×(1-R)次迭代的结果进行反相。相应地,本专利技术还提供了一种实现LDPC码的编码方法,包括如下步骤:步骤A、设定LDPC码编码的码长n与码率R,初始化并更新各部件的参数;步骤B、当长度为k的信息码S输入时,利用公式e=BsT;将长度为k的信息码S转换成n-k长度的中间变量e;步骤C;迭代求解方程A*pT=e,得到检验码p。其中,A和B为校验本文档来自技高网
...
实现LDPC码编码的方法与装置

【技术保护点】
一种实现LDPC码的编码装置,其特征在于,包括:主控制单元,异或阵列处理器,e缓冲器,GF(2)迭代求解器,迭代地址产生器,进程控制计数器,检验码缓冲器和宏矩阵表模块,其中:所述主控制单元,用于接收用户设定的LDPC码编码的码长n与码率R信息,初始化更新各个部件的参数;协调所述异或阵列处理器和e缓冲器完成预处理操作;在接收预设起始迭代地址信息后,协调所述GF(2)迭代求解器执行运算迭代的操作并根据所述迭代地址产生器产生的迭代地址分别从e缓冲器中读取中间变量e,从检验码缓冲器取已知当前位置的检验码,进行GF(2)迭代求解下一位置的检验码,再根据迭代地址将运算结果写入检验码缓冲器指定位置;所述异或阵列处理器,用于进行信息码S的载入操作时,将长度为K的信息码S转换成n?k长度的中间变量e;所述e缓冲器,用于保存所述计算结果中间变量e的值;包括n?k个1比特的缓冲寄存器;所述迭代地址产生器,用于从起始地址开始迭代,经过多次迭代得到检验码,根据当前迭代进程,产生迭代地址;所述迭代地址包括当前运算所需的e缓冲器中间变量e地址、所需的检验码缓冲器检验码地址及当前得到的检验码写入检验码缓冲器地址;所述进程控制计数器,用于对所述GF(2)迭代地址产生器的迭代循环操作次数进行计数;所述检验码缓冲器,用于保存产生的检验码,用单端口SRAM来实现,只有写操作,避免读操作;所述检验码缓冲器长度为n?k比特;所述GF(2)迭代求解器,用于对当前运算所需的中间变量e地址、所需的已知的检验码地址及当前位置的检验码地址进行异或运算,得到新位置的检验码;所述宏矩阵表模块,用于将校验矩阵H的分割宏矩阵A和B并保存,即H=[B????A]。...

【技术特征摘要】
1.一种实现LDPC码的编码装置,其特征在于,包括:主控制单元,异或阵列处理器,e缓冲器,GF(2)迭代求解器,迭代地址产生器,进程控制计数器,检验码缓冲器和宏矩阵表模块,其中:所述主控制单元,用于接收用户设定的LDPC码编码的码长n与码率R信息,初始化更新各个部件的参数;协调所述异或阵列处理器和e缓冲器完成预处理操作;在接收预设起始迭代地址信息后,协调所述GF(2)迭代求解器执行运算迭代的操作并根据所述迭代地址产生器产生的迭代地址分别从e缓冲器中读取中间变量e,从检验码缓冲器取已知当前位置的检验码,进行GF(2)迭代求解下一位置的检验码,再根据迭代地址将运算结果写入检验码缓冲器指定位置;所述异或阵列处理器,用于进行信息码S的载入操作时,将长度为k的信息码S转换成n-k长度的中间变量e;所述e缓冲器,用于保存计算结果中间变量e的值;包括n-k个1比特的缓冲寄存器;所述迭代地址产生器,用于从起始地址开始迭代,经过多次迭代得到检验码,根据当前迭代进程,产生迭代地址;所述迭代地址包括当前运算所需的e缓冲器中间变量e地址、所需的检验码缓冲器检验码地址及当前得到的检验码写入检验码缓冲器地址;所述进程控制计数器,用于对所述迭代地址产生器的迭代循环操作次数进行计数;所述检验码缓冲器,用于保存产生的检验码,用单端口SRAM来实现,只有写操作,避免读操作;所述检验码缓冲器长度为n-k比特;所述GF(2)迭代求解器,用于对当前运算所需的中间变量e地址、所需的已知的检验码地址及当前位置的检验码地址中的数据进行异或运算,得到新位置的检验码;所述宏矩阵表模块,用于将校验矩阵H分割为宏矩阵A和B并保存,即H=[BA]。2.根据权利要求1所述的实现LDPC码的编码装置,其特征在于:所述主控制单元包括载入控制模块、第一判断模块和第二判断模块,其中:所述载入控制模块,用于载入信息码S时,每次控制载入到所述异或阵列处理器1比特信息码;所述第一判断模块,用于当先载入信息码S中的第j列信息码Sj时,判断第j列信息码Sj是否为零,若判断结果不为零,则控制所述异或阵列处理器计算对应的中间变量e的值,再将对应的中间变量e与e缓冲器中现有的中间变量e值模2和,控制e缓冲器保存所述计算结果;若判断结果为零,则直接跳转第二判断模块;所述第二判断模块,用于判断所述第j列信息码Sj是否为信息码S中的最后一个信息码;若是,则跳转预设模块执行后续的操作;若否,则返回载入控制模块执行下一列信息码的载入操作。3.根据权利要求1所述的实现LDPC码的编码装置,其特征在于:所述主控制单元还包括预设模块和迭代协调控制模块,其中:所述预设模块,用于预设第二个检验码的值为0或者1,且迭代起始地址为1;所述迭代协调控制模块,用于在接收预设起始地址信息后,协调所述GF(2)迭代求解器从起始地址1开始执行迭代运算的操作,并协调进程控制计数器计数,协调迭代地址产生器实时产生当前迭代地址,并根据迭代地址分别从e缓冲器中取中间变量e,从检验码缓冲器读取当前位置的检验码,进行GF(2)迭代求解下一位置的检验码,再根据迭代地址将运算出新位置的检验码的写入检验码缓冲器指定位置;重复经过n-k-1次迭代,得到n-k个检验码。4.根据权利要求1所述的实现LDPC码的编码装置,其特征在于:所述主控制单元还包括第三判断模块、重调模块和结束模块,其中:所述第三判断模块,用于直至处理到第n-k次迭代操作时,且将得到的n-k个检验码都写入到检验码缓冲器后判断初始预设条件是否正确;若是,则直接跳转结束模块执行结束编码的操作;若否,则跳转重调模块执行相应操作;所述重调模块,用于重新调整迭代操作且调整计算错误的检验码;所述结束模块,用于结束执行LDPC码的编码操作。5.根据权利要求4所述的实现LDPC码的编码装置,其特征在于:所述第三判断模块包括第三判断子模块,其中:所述第三判断子模块,用于在判断初始预设条件是否正确时,判断最后一个检验方程中的相关变量是否满足方程,若是,则判断结果为预设正确;若否,则判断结果为预设错误。6.根据权利要求4所述的实现LDPC码的编码装置,其特征在于:所述重调模块包括重调处理子模块,其中:所述重调处理子模块,用于运算GF(2)过程中,在判断预设错误后,将第一个环路中求解所得的个检验码逻辑反相,行度为3的行阻止了错误的传播;其中:第一个环路的24×(1-R)次迭代一定错误,错误止于第一个环路;将前24×(1-R)次迭代的结果进行反相;其中,Z为长度向量,表示每Z个向量中有且仅有一个1。7.一种实现LDPC码的编码方法,其特征在于,包括如下步骤:步骤A、设定LDPC码编码的码长n与码率R,初始化并更新各部件的参数;步骤B、当长度为k的信息码S输入时,利用公式e=B*ST;将长度为k的信息码S转换成n-k长度的中间变量e;步骤C;迭代求解方程A*pT=e,得到检验码p;其中,A和B为校验矩阵H的分割宏矩阵,即H=[BA],则H*x=0演变为则A*pT=B*ST;运算e=B*ST即为预处理过程;求解方程中p即为迭代求解过程。8.根据权利要求7所述的实现LDPC码的编码方法,其特征在于,所述步骤B中,在每个信息码s进入异或...

【专利技术属性】
技术研发人员:熊富贵
申请(专利权)人:珠海全志科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1