当前位置: 首页 > 专利查询>山东大学专利>正文

一种低译码复杂度的快速多元LDPC码译码方法技术

技术编号:17600805 阅读:38 留言:0更新日期:2018-03-31 12:56
一种低译码复杂度的快速多元LDPC码译码方法,属移动通信信道编码技术领域。该多元LDPC码译码方法在存储译码消息时,只存储校验矩阵H中非零元素位置所对应的译码消息,由于校验矩阵H的稀疏性,该译码方法在使用软件或者硬件实现时可以大大减少译码消息所占用的存储空间。在译码时,通过先前统计好的校验矩阵H中非零元素的信息,包括非零元素的行号、列号及其元素值,可以加快译码消息的寻址速度;同时,在译码迭代过程中,对校验节点消息进行处理时引入快速傅里叶变换来降低译码运算复杂度,从而加快译码速度。该种译码方法不但译码复杂度相对较低、需要的存储空间小,而且可以较大程度的提高译码速度。

【技术实现步骤摘要】
一种低译码复杂度的快速多元LDPC码译码方法
本专利技术涉及一种低译码复杂度的快速多元LDPC码译码方法,属移动通信信道编码

技术介绍
随着通信技术的发展和实际应用的需要,人们不断地寻找能够逼近Shannon限的信道编码方法。1962年,Gallager首次提出LDPC码,随后MacKay等人在研究中发现LDPC码在编译码复杂度较低的情况下其纠错能力具有接近并有可能超越Turbo码的优点,因而出现了LDPC码的研究热潮,成为当今信道编码领域最瞩目的热点。1998年,MacKay和Davey在“LowDensityParityCheckcodesoverGF(q)”一文中首次提出了基于多元域GF(q)的多元LDPC码,使得LDPC码的研究进入了一个全新的领域。多元LDPC码的性能在相同码率下要优于二元LDPC码,并且具有消除小环的潜力。在多元域条件下,连续的多个突发错误比特形成了数量较少的码元符号错误,因此多元LDPC码的抗突发错误能力优于其他二元码种。由于多元LDPC码的码元可以非常方便的映射为高阶调制下的信息矢量,因此在同高阶调制方案相结合后,多元LDPC码还可以为系统提供更高的数据传输速率。因此,对多元LDPC码的研究和应用有着重要的研究价值。多元LDPC码在B3G、4G无线通信领域有广泛的应用前景。但是,由于在多元域中的运算并非像二元域那样简便,多元LDPC码的译码复杂度随着多元域阶数的增大而急剧增长,限制了其实际应用,而对校验节点消息的处理是多元LDPC码译码过程中复杂度最高的部分,因此多元LDPC码的译码复杂度相比二元LDPC码来说更高。Tanner图与LDPC码校验矩阵H有着很强的对应关系,通常在进行译码时所存储的译码消息的数目与LPDC码校验矩阵H的维数相同,其中校验矩阵H的维数为M×N,通常校验矩阵的维数是非常大的,这意味着采用传统方式存储译码消息会浪费大量的存储空间。而且随LDPC码码长的增加所使用的存储空间会急剧增加,不利于软、硬件的实现。由于每个多进制码元是有多个二进制码元组合而成,相比于二元LDPC码的译码,多元LDPC码的译码变得更加复杂,译码计算量有了显著的增加。论文“多进制准循环LDPC码编译码算法研究”【哈尔滨工程大学,张晗,硕士毕业论文,2013.03】中所使用的译码消息存储方式即如上所述,在译码时会浪费大量的存储空间,而且随LDPC码码长的增加所使用的存储空间会急剧增加;其论文中所采用的传统的译码方法,译码复杂,计算量大,不利于快速译码的实现。
技术实现思路
针对
技术介绍
中所述的缺陷和不足,本专利技术提出了一种低译码复杂度的快速多元LDPC码译码方法,它采用一种新型的译码消息存储方式及译码实现方法。与其他的译码消息存储方式相比,这种译码消息存储方式只存储多元LDPC码校验矩阵H中非零元素所对应的译码消息,故其占用内存小;在迭代译码时引入快速傅里叶变换,可降低运算的复杂度,译码时能加快译码速度。本专利技术的技术方案如下:一种低译码复杂度的快速多元LDPC码译码方法,在对译码消息进行存储时只存储校验矩阵H中非零元素位置所对应的译码消息,在迭代译码过程中引入快速傅里叶变换(FFT,FASTFOURIERTRANSFORM)对校验节点消息进行更新处理,令M表示校验矩阵的行数;N表示校验矩阵的列数;表示在进行第l次迭代时第m个校验节点传递给第n个变量节点的信息,其中a是取自有限域中的元素,a∈GF(q),q=2p,p是有限域GF(q)的阶数,q是有限域GF(q)的元数,GF(q)表示q元的有限域,m=0,1,...,M-1,n=0,1,...,N-1;表示在进行第l次迭代时第n个变量节点传递给第m个校验节点的信息;N(m)表示参加第m个校验方程的所有变量节点的集合;N(m)\n表示满足第m个校验节点的校验方程中除第n个变量节点外其余变量节点的集合;M(n)表示第n个变量节点参与的所有校验方程的校验节点集合;M(n)\m表示除了第m个校验节点,第n个变量节点参与的其余校验方程的校验节点集合;在VISUALSTUDIO2012平台上运用C语言对该译码方法进行编程实现,该方法具体步骤如下:1)统计校验矩阵H中的非零元素信息遍历校验矩阵H,统计出校验矩阵H中非零元素的总个数,校验矩阵H中每行、每列非零元素的个数以及每个非零元素在校验矩阵中所对应的行号、列号;2)开辟译码消息存储空间开辟与校验矩阵H中非零元素个数相等的存储译码消息所需的消息存储子单元,并按行号的升序将每个非零元素在校验矩阵中所对应的行号、列号赋给每个译码消息存储子单元的行号、列号;3)采用FFT-BP译码算法实现译码过程a)译码消息初始化设置译码时最大迭代次数lmax,设置初始迭代次数为l=0;初始时,第n个变量节点上的消息被初始化为从信道来的消息,即式中表示未进行迭代时变量节点的初始消息值,表示码字第n个码元为a的后验概率;由Tanner图模型知变量节点传过来的消息向量经过每一条边上的参数hmn相当于一个消息的交织过程,其中hmn表示校验矩阵H中第m行第n列的元素;经过边传递后传递给校验节点的消息为:式中除法运算a/hmn是在有限域GF(q)上进行的;b)校验节点处理在初始化过程中我们得到了变量节点经过边传递后传递给校验节点的消息l表示迭代次数,对a所有取值情况下的校验节点的消息作快速傅里叶变换,这里的傅里叶变换是p维2点的傅里叶变换;定义中间变量为变换后的消息值,则其中符号FFT[]表示对q个作p维2点的傅里叶变换,对于中间变量消息值取出行号相同的译码消息存储子单元参与运算,将a所有可能取值的同类项进行乘法运算,即其中n′表示和第m个校验节点相邻的变量节点,符号表示对进行连乘运算,把计算得到的q个值作快速傅里叶反变换(IFFT,inverseFFT)得到第m个校验节点上的消息同理,经过边传递后传递给变量节点的消息为:式中乘法运算a×hmn是在有限域GF(q)上进行的;c)变量节点处理第n个变量节点收集与它相邻的校验节点传递来的消息和来自信道的初始化消息取出列号相同的译码消息存储子单元参与运算,对于所有的变量节点和校验节点,消息更新如下:其中m′表示和第n个变量节点相邻的校验节点,αmn为归一化因子,满足d)码字判决根据第n个变量节点收集到的所有与它相邻的校验节点传递来的消息和来自信道的初始化消息fna,计算出码字中第n个码元取值为a的后验概率:其中αn为归一化因子,满足根据下式对发送码字cn做出硬判决:其中符号表示取得最大值时a的取值,这样就得到了对应发送码字c的一个估计e)迭代译码停止判定如果码字满足式译码成功,其中表示译出的码字向量,表示译出的码字向量的转置,表示校验矩阵与译出码字的转置做内积,在译码成功或者迭代次数l达到最大迭代次数lmax时,则停止迭代译码;若且l≠lmax时,l=l+1,然后转入步骤b)进行下一轮的迭代,直至达到预定的最大迭代次数或译码成功为止。本专利技术的有益效果如下:1、本专利技术所提出的多元LDPC码译码消息存储方式可较大程度的减少译码时译码消息的存储空间,其效果视校验矩阵的稀疏程度而定,校验矩阵越稀疏,效果越好。2、本专利技术所提出的引入快速傅里叶变换的多元LDPC码译码方法在使用计算本文档来自技高网
...

【技术保护点】
一种低译码复杂度的快速多元LDPC码译码方法,在对译码消息进行存储时只存储校验矩阵H中非零元素位置所对应的译码消息,在迭代译码过程中引入快速傅里叶变换对校验节点消息进行更新处理,令M表示校验矩阵的行数;N表示校验矩阵的列数;

【技术特征摘要】
1.一种低译码复杂度的快速多元LDPC码译码方法,在对译码消息进行存储时只存储校验矩阵H中非零元素位置所对应的译码消息,在迭代译码过程中引入快速傅里叶变换对校验节点消息进行更新处理,令M表示校验矩阵的行数;N表示校验矩阵的列数;表示在进行第l次迭代时第m个校验节点传递给第n个变量节点的信息,其中a是取自有限域中的元素,a∈GF(q),q=2p,p是有限域GF(q)的阶数,q是有限域GF(q)的元数,GF(q)表示q元的有限域,m=0,1,...,M-1,n=0,1,...,N-1;表示在进行第l次迭代时第n个变量节点传递给第m个校验节点的信息;N(m)表示参加第m个校验方程的所有变量节点的集合;N(m)\n表示满足第m个校验节点的校验方程中除第n个变量节点外其余变量节点的集合;M(n)表示第n个变量节点参与的所有校验方程的校验节点集合;M(n)\m表示除了第m个校验节点,第n个变量节点参与的其余校验方程的校验节点集合;在VisualStudio2012平台上运用C语言对该译码方法进行编程实现,该方法具体步骤如下:1)统计校验矩阵H中的非零元素信息遍历校验矩阵H,统计出校验矩阵H中非零元素的总个数,校验矩阵H中每行、每列非零元素的个数以及每个非零元素在校验矩阵中所对应的行号、列号;2)开辟译码消息存储空间开辟与校验矩阵H中非零元素个数相等的存储译码消息所需的消息存储子单元,并按行号的升序将每个非零元素在校验矩阵中所对应的行号、列号赋给每个译码消息存储子单元的行号、列号;3)采用FFT-BP译码算法实现译码过程a)译码消息初始化设置译码时最大迭代次数lmax,设置初始迭代次数为l=0;初始时,第n个变量节点上的消息被初始化为从信道来的消息,即式中表示未进行迭代时变量节点的初始消息值,表示码字第n个码元为a的后验概率;由Tanner图模型知变量节点传过来的消息向量经过每一条边上的参数hmn相当于一个消息的交织过程,其中hmn表示校验矩阵H中第m行第n列的元素;经过边传递后传递给校验节点的消息为:式中除法运算a/hmn是在有限域GF(q)上进行的;b)校验节点处理在初始化过程中我们得到了变量节点经过边传递后传递给校验节点的消息l表示迭代次数,对a所有取值情况下的校验节点的消息作快速傅里叶变换,这里的傅里叶变换是p维2点的傅里叶变换;定义中间变量为变换后的消息值,则

【专利技术属性】
技术研发人员:马丕明徐威王海洋
申请(专利权)人:山东大学
类型:发明
国别省市:山东,37

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

1