CN107863972A - 一种低译码复杂度的快速多元ldpc码译码方法 - Google Patents
一种低译码复杂度的快速多元ldpc码译码方法 Download PDFInfo
- Publication number
- CN107863972A CN107863972A CN201711080724.1A CN201711080724A CN107863972A CN 107863972 A CN107863972 A CN 107863972A CN 201711080724 A CN201711080724 A CN 201711080724A CN 107863972 A CN107863972 A CN 107863972A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msubsup
- message
- node
- decoding
- 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.)
- Granted
Links
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/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
一种低译码复杂度的快速多元LDPC码译码方法,属移动通信信道编码技术领域。该多元LDPC码译码方法在存储译码消息时,只存储校验矩阵H中非零元素位置所对应的译码消息,由于校验矩阵H的稀疏性,该译码方法在使用软件或者硬件实现时可以大大减少译码消息所占用的存储空间。在译码时,通过先前统计好的校验矩阵H中非零元素的信息,包括非零元素的行号、列号及其元素值,可以加快译码消息的寻址速度;同时,在译码迭代过程中,对校验节点消息进行处理时引入快速傅里叶变换来降低译码运算复杂度,从而加快译码速度。该种译码方法不但译码复杂度相对较低、需要的存储空间小,而且可以较大程度的提高译码速度。
Description
技术领域
本发明涉及一种低译码复杂度的快速多元LDPC码译码方法,属移动通信信道编码技术领域。
背景技术
随着通信技术的发展和实际应用的需要,人们不断地寻找能够逼近Shannon限的信道编码方法。1962年,Gallager首次提出LDPC码,随后MacKay等人在研究中发现LDPC码在编译码复杂度较低的情况下其纠错能力具有接近并有可能超越Turbo码的优点,因而出现了LDPC码的研究热潮,成为当今信道编码领域最瞩目的热点。
1998年,Mac Kay和Davey在“Low Density Parity Check codes over GF(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,FAST FOURIER TRANSFORM)对校验节点消息进行更新处理,令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个变量节点参与的其余校验方程的校验节点集合;在VISUAL STUDIO 2012平台上运用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,inverse FFT)得到第m个校验节点上的消息
同理,经过边传递后传递给变量节点的消息为:式中乘法运算a×hmn是在有限域GF(q)上进行的;
c)变量节点处理
第n个变量节点收集与它相邻的校验节点传递来的消息和来自信道的初始化消息取出列号相同的译码消息存储子单元参与运算,对于所有的变量节点和校验节点,消息更新如下:
其中m′表示和第n个变量节点相邻的校验节点,αmn为归一化因子,满足
d)码字判决
根据第n个变量节点收集到的所有与它相邻的校验节点传递来的消息和来自信道的初始化消息fn a,计算出码字中第n个码元取值为a的后验概率:
其中αn为归一化因子,满足
根据下式对发送码字cn做出硬判决:
其中符号表示取得最大值时a的取值,这样就得到了对应发送码字c的一个估计
e)迭代译码停止判定
如果码字满足式译码成功,其中表示译出的码字向量,表示译出的码字向量的转置,表示校验矩阵与译出码字的转置做内积,在译码成功或者迭代次数l达到最大迭代次数lmax时,则停止迭代译码;若且l≠lmax时,l=l+1,然后转入步骤b)进行下一轮的迭代,直至达到预定的最大迭代次数或译码成功为止。
本发明的有益效果如下:
1、本发明所提出的多元LDPC码译码消息存储方式可较大程度的减少译码时译码消息的存储空间,其效果视校验矩阵的稀疏程度而定,校验矩阵越稀疏,效果越好。
2、本发明所提出的引入快速傅里叶变换的多元LDPC码译码方法在使用计算机C语言进行编程实现时可加快至少30%的译码速度。
具体实施方式
下面结合实施例对本发明做进一步说明,但不限于此。
实施例:
一种低译码复杂度的快速多元LDPC码译码方法,在对译码消息进行存储时只存储校验矩阵H中非零元素位置所对应的译码消息,在迭代译码过程中引入快速傅里叶变换(FFT,Fast Fourier Transform)对校验节点消息进行更新处理,令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个变量节点参与的其余校验方程的校验节点集合;在Visual Studio 2012平台上运用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,inverse FFT)得到第m个校验节点上的消息
同理,经过边传递后传递给变量节点的消息为:式中乘法运算a×hmn是在有限域GF(q)上进行的;
c)变量节点处理
第n个变量节点收集与它相邻的校验节点传递来的消息和来自信道的初始化消息取出列号相同的译码消息存储子单元参与运算,对于所有的变量节点和校验节点,消息更新如下:
其中m′表示和第n个变量节点相邻的校验节点,αmn为归一化因子,满足
d)码字判决
根据第n个变量节点收集到的所有与它相邻的校验节点传递来的消息和来自信道的初始化消息计算出码字中第n个码元取值为a的后验概率:
其中αn为归一化因子,满足
根据下式对发送码字cn做出硬判决:
其中符号表示取得最大值时a的取值,这样就得到了对应发送码字c的一个估计
e)迭代译码停止判定
如果码字满足式译码成功,其中表示译出的码字向量,表示译出的码字向量的转置,表示校验矩阵与译出码字的转置做内积,在译码成功或者迭代次数l达到最大迭代次数lmax时,则停止迭代译码;若且l≠lmax时,l=l+1,然后转入步骤b)进行下一轮的迭代,直至达到预定的最大迭代次数或译码成功为止。
Claims (1)
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个变量节点参与的其余校验方程的校验节点集合;在Visual Studio 2012平台上运用C语言对该译码方法进行编程实现,该方法具体步骤如下:
1)统计校验矩阵H中的非零元素信息
遍历校验矩阵H,统计出校验矩阵H中非零元素的总个数,校验矩阵H中每行、每列非零元素的个数以及每个非零元素在校验矩阵中所对应的行号、列号;
2)开辟译码消息存储空间
开辟与校验矩阵H中非零元素个数相等的存储译码消息所需的消息存储子单元,并按行号的升序将每个非零元素在校验矩阵中所对应的行号、列号赋给每个译码消息存储子单元的行号、列号;
3)采用FFT-BP译码算法实现译码过程
a)译码消息初始化
设置译码时最大迭代次数lmax,设置初始迭代次数为l=0;初始时,第n个变量节点上的消息被初始化为从信道来的消息,即
<mrow>
<msubsup>
<mi>q</mi>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mi>f</mi>
<mi>n</mi>
<mi>a</mi>
</msubsup>
</mrow>
式中表示未进行迭代时变量节点的初始消息值,表示码字第n个码元为a的后验概率;
由Tanner图模型知变量节点传过来的消息向量经过每一条边上的参数hmn相当于一个消息的交织过程,其中hmn表示校验矩阵H中第m行第n列的元素;经过边传递后传递给校验节点的消息为:式中除法运算a/hmn是在有限域GF(q)上进行的;
b)校验节点处理
在初始化过程中我们得到了变量节点经过边传递后传递给校验节点的消息l表示迭代次数,对a所有取值情况下的校验节点的消息作快速傅里叶变换,这里的傅里叶变换是p维2点的傅里叶变换;定义中间变量为变换后的消息值,则
<mrow>
<msubsup>
<mi>Q</mi>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>F</mi>
<mi>F</mi>
<mi>T</mi>
<mo>&lsqb;</mo>
<msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mi>p</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mn>0</mn>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>q</mi>
<mi>p</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>q</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
其中符号FFT[]表示对q个作p维2点的傅里叶变换,对于中间变量消息值取出行号相同的译码消息存储子单元参与运算,将a所有可能取值的同类项进行乘法运算,即其中n′表示和第m个校验节点相邻的变量节点,符号表示对进行连乘运算,把计算得到的q个值作快速傅里叶反变换得到第m个校验节点上的消息
<mrow>
<msubsup>
<mrow>
<mo>(</mo>
<msub>
<mi>R</mi>
<mi>p</mi>
</msub>
<mo>)</mo>
</mrow>
<mrow>
<mi>m</mi>
<mi>n</mi>
</mrow>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>I</mi>
<mi>F</mi>
<mi>F</mi>
<mi>T</mi>
<mo>&lsqb;</mo>
<munder>
<mo>&Pi;</mo>
<mrow>
<msup>
<mi>n</mi>
<mo>&prime;</mo>
</msup>
<mo>&Element;</mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>\</mo>
<mi>n</mi>
</mrow>
</munder>
<msubsup>
<mi>Q</mi>
<mrow>
<msup>
<mi>n</mi>
<mo>&prime;</mo>
</msup>
<mi>m</mi>
</mrow>
<mn>0</mn>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<munder>
<mo>&Pi;</mo>
<mrow>
<msup>
<mi>n</mi>
<mo>&prime;</mo>
</msup>
<mo>&Element;</mo>
<mi>N</mi>
<mrow>
<mo>(</mo>
<mi>m</mi>
<mo>)</mo>
</mrow>
<mo>\</mo>
<mi>n</mi>
</mrow>
</munder>
<msubsup>
<mi>Q</mi>
<mrow>
<msup>
<mi>n</mi>
<mo>&prime;</mo>
</msup>
<mi>m</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>q</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
同理,经过边传递后传递给变量节点的消息为:式中乘法运算a×hmn是在有限域GF(q)上进行的;
c)变量节点处理
第n个变量节点收集与它相邻的校验节点传递来的消息和来自信道的初始化消息取出列号相同的译码消息存储子单元参与运算,对于所有的变量节点和校验节点,消息更新如下:
<mrow>
<msubsup>
<mi>q</mi>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>&alpha;</mi>
<mrow>
<mi>m</mi>
<mi>n</mi>
</mrow>
</msub>
<msubsup>
<mi>f</mi>
<mi>n</mi>
<mi>a</mi>
</msubsup>
<munder>
<mo>&Pi;</mo>
<mrow>
<msup>
<mi>m</mi>
<mo>&prime;</mo>
</msup>
<mo>&Element;</mo>
<mi>M</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>\</mo>
<mi>m</mi>
</mrow>
</munder>
<msubsup>
<mi>R</mi>
<mrow>
<msup>
<mi>m</mi>
<mo>&prime;</mo>
</msup>
<mi>n</mi>
</mrow>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
其中m′表示和第n个变量节点相邻的校验节点,αmn为归一化因子,满足
<mrow>
<msubsup>
<mi>q</mi>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mn>0</mn>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msubsup>
<mi>q</mi>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>...</mn>
<mo>+</mo>
<msubsup>
<mi>q</mi>
<mrow>
<mi>n</mi>
<mi>m</mi>
</mrow>
<mrow>
<mo>(</mo>
<mi>q</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mn>1</mn>
<mo>;</mo>
</mrow>
d)码字判决
根据第n个变量节点收集到的所有与它相邻的校验节点传递来的消息和来自信道的初始化消息计算出码字中第n个码元取值为a的后验概率:
<mrow>
<msubsup>
<mi>q</mi>
<mi>n</mi>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>&alpha;</mi>
<mi>n</mi>
</msub>
<msubsup>
<mi>f</mi>
<mi>n</mi>
<mi>a</mi>
</msubsup>
<munder>
<mo>&Pi;</mo>
<mrow>
<msup>
<mi>m</mi>
<mo>&prime;</mo>
</msup>
<mo>&Element;</mo>
<mi>M</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
</munder>
<msubsup>
<mi>R</mi>
<mrow>
<msup>
<mi>m</mi>
<mo>&prime;</mo>
</msup>
<mi>n</mi>
</mrow>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
其中αn为归一化因子,满足
根据下式对发送码字cn做出硬判决:
<mrow>
<msub>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mi>n</mi>
</msub>
<mo>=</mo>
<mi>arg</mi>
<munder>
<mi>max</mi>
<mi>a</mi>
</munder>
<msubsup>
<mi>q</mi>
<mi>n</mi>
<mi>a</mi>
</msubsup>
<mrow>
<mo>(</mo>
<mi>l</mi>
<mo>)</mo>
</mrow>
</mrow>
其中符号表示取得最大值时a的取值,这样就得到了对应发送码字c的一个估计
e)迭代译码停止判定
如果码字满足式译码成功,其中表示译出的码字向量,表示译出的码字向量的转置,表示校验矩阵与译出码字的转置做内积,在译码成功或者迭代次数l达到最大迭代次数lmax时,则停止迭代译码;若且l≠lmax时,l=l+1,然后转入步骤b)进行下一轮的迭代,直至达到预定的最大迭代次数或译码成功为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711080724.1A CN107863972B (zh) | 2017-11-06 | 2017-11-06 | 一种低译码复杂度的快速多元ldpc码译码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711080724.1A CN107863972B (zh) | 2017-11-06 | 2017-11-06 | 一种低译码复杂度的快速多元ldpc码译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107863972A true CN107863972A (zh) | 2018-03-30 |
CN107863972B CN107863972B (zh) | 2020-09-25 |
Family
ID=61700994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711080724.1A Active CN107863972B (zh) | 2017-11-06 | 2017-11-06 | 一种低译码复杂度的快速多元ldpc码译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107863972B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109586838A (zh) * | 2018-11-22 | 2019-04-05 | 东南大学 | 一种针对大规模scma系统的高效因子矩阵设计方法及其硬件架构 |
CN110086568A (zh) * | 2019-04-02 | 2019-08-02 | 中山大学 | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 |
CN110730005A (zh) * | 2019-10-12 | 2020-01-24 | 湖南智领通信科技有限公司 | 一种基于矢量指令集的ldpc码快速译码方法 |
CN111224674A (zh) * | 2018-11-27 | 2020-06-02 | 泰斗微电子科技有限公司 | 多进制ldpc码的解码方法、装置及解码器 |
CN111384976A (zh) * | 2018-12-29 | 2020-07-07 | 泰斗微电子科技有限公司 | 稀疏校验矩阵的存储方法和读取方法 |
CN111384973A (zh) * | 2018-12-29 | 2020-07-07 | 泰斗微电子科技有限公司 | 多进制ldpc解码算法的优化方法、装置及解码器 |
CN111384972A (zh) * | 2018-12-29 | 2020-07-07 | 泰斗微电子科技有限公司 | 多进制ldpc解码算法的优化方法、装置及解码器 |
CN112039533A (zh) * | 2020-08-05 | 2020-12-04 | Oppo广东移动通信有限公司 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
CN112332859A (zh) * | 2020-11-11 | 2021-02-05 | 西安电子科技大学 | 低复杂度的多元ldpc码校验节点单元及数字通信设备 |
CN112953678A (zh) * | 2021-01-27 | 2021-06-11 | 华中科技大学 | 一种大范围snr内接近容量限的无速率调制解调方法 |
CN113411087A (zh) * | 2021-06-30 | 2021-09-17 | 展讯半导体(成都)有限公司 | 解码q元LDPC的方法、电路及包括其的接收机 |
CN113644918A (zh) * | 2021-07-21 | 2021-11-12 | 中国电子科技集团公司电子科学研究院 | 基于有限域傅里叶变换的qc-ldpc码构造方法、系统及设备 |
CN117118462A (zh) * | 2023-09-07 | 2023-11-24 | 重庆大学 | 一种基于编码分布式计算的神经网络bp译码方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707489A (zh) * | 2009-02-03 | 2010-05-12 | 天津博微科技有限公司 | 基于振荡的多进制ldpc译码方法 |
CN103401655A (zh) * | 2013-08-14 | 2013-11-20 | 山东大学 | 一种ldpc译码消息存储结构及译码方法 |
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN106301388A (zh) * | 2015-05-14 | 2017-01-04 | 北京航空航天大学 | 多进制ldpc码译码方法 |
CN106330201A (zh) * | 2016-08-18 | 2017-01-11 | 中山大学 | 基于变量节点可靠性动态选择策略的多进制ldpc码更新方法 |
-
2017
- 2017-11-06 CN CN201711080724.1A patent/CN107863972B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707489A (zh) * | 2009-02-03 | 2010-05-12 | 天津博微科技有限公司 | 基于振荡的多进制ldpc译码方法 |
CN103401655A (zh) * | 2013-08-14 | 2013-11-20 | 山东大学 | 一种ldpc译码消息存储结构及译码方法 |
CN106301388A (zh) * | 2015-05-14 | 2017-01-04 | 北京航空航天大学 | 多进制ldpc码译码方法 |
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN106330201A (zh) * | 2016-08-18 | 2017-01-11 | 中山大学 | 基于变量节点可靠性动态选择策略的多进制ldpc码更新方法 |
Non-Patent Citations (1)
Title |
---|
胡树楷: "LDPC码构造及低复杂度译码算法研究", 《中国博士学位论文全文数据库 信息科技辑》 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109586838B (zh) * | 2018-11-22 | 2020-11-03 | 东南大学 | 一种针对大规模scma系统的高效因子矩阵设计方法及其硬件架构 |
CN109586838A (zh) * | 2018-11-22 | 2019-04-05 | 东南大学 | 一种针对大规模scma系统的高效因子矩阵设计方法及其硬件架构 |
CN111224674B (zh) * | 2018-11-27 | 2023-05-26 | 泰斗微电子科技有限公司 | 多进制ldpc码的解码方法、装置及解码器 |
CN111224674A (zh) * | 2018-11-27 | 2020-06-02 | 泰斗微电子科技有限公司 | 多进制ldpc码的解码方法、装置及解码器 |
CN111384972B (zh) * | 2018-12-29 | 2023-05-26 | 泰斗微电子科技有限公司 | 多进制ldpc解码算法的优化方法、装置及解码器 |
CN111384972A (zh) * | 2018-12-29 | 2020-07-07 | 泰斗微电子科技有限公司 | 多进制ldpc解码算法的优化方法、装置及解码器 |
CN111384976A (zh) * | 2018-12-29 | 2020-07-07 | 泰斗微电子科技有限公司 | 稀疏校验矩阵的存储方法和读取方法 |
CN111384973A (zh) * | 2018-12-29 | 2020-07-07 | 泰斗微电子科技有限公司 | 多进制ldpc解码算法的优化方法、装置及解码器 |
CN111384976B (zh) * | 2018-12-29 | 2023-09-05 | 泰斗微电子科技有限公司 | 稀疏校验矩阵的存储方法和读取方法 |
CN111384973B (zh) * | 2018-12-29 | 2023-05-26 | 泰斗微电子科技有限公司 | 多进制ldpc解码算法的优化方法、装置及解码器 |
CN110086568A (zh) * | 2019-04-02 | 2019-08-02 | 中山大学 | 基于消息更新范围可变的动态选择策略的ldpc码译码方法 |
CN110730005A (zh) * | 2019-10-12 | 2020-01-24 | 湖南智领通信科技有限公司 | 一种基于矢量指令集的ldpc码快速译码方法 |
CN112039533A (zh) * | 2020-08-05 | 2020-12-04 | Oppo广东移动通信有限公司 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
CN112039533B (zh) * | 2020-08-05 | 2023-10-10 | Oppo广东移动通信有限公司 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
CN112332859A (zh) * | 2020-11-11 | 2021-02-05 | 西安电子科技大学 | 低复杂度的多元ldpc码校验节点单元及数字通信设备 |
CN112332859B (zh) * | 2020-11-11 | 2023-04-18 | 西安电子科技大学 | 低复杂度的多元ldpc码校验节点单元及数字通信设备 |
CN112953678B (zh) * | 2021-01-27 | 2022-12-02 | 华中科技大学 | 一种大范围snr内接近容量限的无速率调制解调方法 |
CN112953678A (zh) * | 2021-01-27 | 2021-06-11 | 华中科技大学 | 一种大范围snr内接近容量限的无速率调制解调方法 |
CN113411087A (zh) * | 2021-06-30 | 2021-09-17 | 展讯半导体(成都)有限公司 | 解码q元LDPC的方法、电路及包括其的接收机 |
CN113644918A (zh) * | 2021-07-21 | 2021-11-12 | 中国电子科技集团公司电子科学研究院 | 基于有限域傅里叶变换的qc-ldpc码构造方法、系统及设备 |
CN117118462A (zh) * | 2023-09-07 | 2023-11-24 | 重庆大学 | 一种基于编码分布式计算的神经网络bp译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107863972B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107863972A (zh) | 一种低译码复杂度的快速多元ldpc码译码方法 | |
Arıkan | Polar codes: A pipelined implementation | |
CN101924565B (zh) | Ldpc编码器、解码器、系统及方法 | |
JP4823176B2 (ja) | 復号方法及び復号装置 | |
US20160173132A1 (en) | Construction of Structured LDPC Convolutional Codes | |
US20110010602A1 (en) | Method and apparatus for performing decoding using ldpc code | |
US20190273511A1 (en) | Generation of spatially-coupled quasi-cyclic ldpc codes | |
CN101459430B (zh) | 低密度生成矩阵码的编码方法及装置 | |
CN106998208B (zh) | 一种可变长Polar码的码字构造方法 | |
CN110739976B (zh) | 一种无短环qc-ldpc码的快速生成方法 | |
EP3648379B1 (en) | Design method and apparatus for quasi-cyclic low-density parity-check | |
JP6817414B2 (ja) | 2のべき乗でない長さに拡張されたポーラ符号の符号化および復号化 | |
Sarkis et al. | Efficient stochastic decoding of non-binary LDPC codes with degree-two variable nodes | |
US8572462B2 (en) | Decoding apparatus and decoding method | |
CN108429553B (zh) | 极化码的编码方法、编码装置及设备 | |
CN105871385B (zh) | 一种ldpc卷积码构造方法 | |
CN101877591B (zh) | 一种二进制对称信源编码的方法和装置 | |
Mahdi et al. | An encoding scheme and encoder architecture for rate-compatible QC-LDPC codes | |
McAven et al. | Classification of the Deletion Correcting Capabilities of Reed–Solomon Codes of Dimension $2 $ Over Prime Fields | |
Hernandez et al. | Low complexity construction of low density lattice codes based on array codes | |
Huang et al. | Lattice codes based on product constructions over F 2 q with applications to compute-and-forward | |
Savin | Fourier domain representation of non-binary LDPC codes | |
Kim | Improved trellis-based decoder for non-binary LDPC codes | |
Huang et al. | A Markov chain model for edge memories in stochastic decoding of LDPC codes | |
US20230327685A1 (en) | Transmission apparatus and method, and reception apparatus and method |
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 |