CN103401655A - 一种ldpc译码消息存储结构及译码方法 - Google Patents
一种ldpc译码消息存储结构及译码方法 Download PDFInfo
- Publication number
- CN103401655A CN103401655A CN2013103516686A CN201310351668A CN103401655A CN 103401655 A CN103401655 A CN 103401655A CN 2013103516686 A CN2013103516686 A CN 2013103516686A CN 201310351668 A CN201310351668 A CN 201310351668A CN 103401655 A CN103401655 A CN 103401655A
- Authority
- CN
- China
- Prior art keywords
- message
- decoding
- node
- check
- variable node
- 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
Landscapes
- Error Detection And Correction (AREA)
Abstract
一种LDPC译码消息存储结构及译码方法,属移动通信信道编码领域,该LDPC译码消息存储结构只存储LDPC校验矩阵H中非零元素所对应的译码消息,在软件或是硬件实现时能大大减少译码消息的存储空间。同时在采用本译码消息存储结构相适应的BP(Belief Propagation)译码方法时,通过事先准备好的校验矩阵非零元素行、列统计信息,可加快译码消息寻址速度,从而加快译码速度。
Description
技术领域
本发明涉及一种LDPC译码消息存储结构及译码方法,属移动通信信道编码领域。
背景技术
随着多媒体和宽带移动通信业务的广泛展开,无线通信系统对传输速度和可靠性提出了更高的要求。LDPC码作为一种比较强大的信道纠错编码方式,可以提供很高的传输可靠性。现在LDPC码已经被应用于许多标准中,如IEEE802.16e(WiMax),IEEE802.11n(Wi-Fi)等,属于4G的关键技术。目前对于LDPC码的理论研究已经趋于成熟,无论是国际还是国内都把研究重点放在了编译码器的实现上,研究的焦点为如何在现有器件条件下尽可能的增加编译码的效率。
LDPC(Low Density Parity Check,低密度奇偶校验)码是一种基于低密度校验矩阵的线性分组码,由Gallager于1962年提出。在采用置信传播(Belief Propagation,BP)译码的条件下,LDPC码可以达到接近香农极限的优良性能。
BP译码是一种采用软判决的消息迭代译码算法。本质上,BP译码是基于Tanner图的消息传递迭代译码算法。消息沿Tanner图的边传递,根据这些消息的组合对变量节点进行判决。在对数域的BP译码算法中沿Tanner图传递的对数似然比消息主要有:变量节点n传到校验节点m的对数似然比消息qnm;校验节点m传到变量节点n的对数似然比消息rmn。
Tanner图与LDPC码校验矩阵H有着很强的对应关系,通常在进行译码时所使用的对数似然比消息qnm、rmn的数目与LPDC码校验矩阵H的维数相同,其中校验矩阵H的维数为M×N,而LDPC码的校验矩阵H为稀疏矩阵,即矩阵中的0元素的数目远大于非0元素的数目;同时在译码时参与运算的对数似然比消息只与校验矩阵非0元素有关,这意味着采用传统方式存储译码消息会浪费大量的存储空间。论文“IEEE802.16e标准的LDPC码的实现研究”【哈尔滨工业大学大学,郭昊,硕士毕业论文,2010.07.30】中所使用的译码消息存储方式即如上所述,在译码时会浪费大量的存储空间,而且随LDPC码码长的增加所使用的存储空间会急剧增加,不利于软、硬件的实现。
发明内容
针对背景技术中所述的缺陷和不足,本发明采用了一种新型的译码消息存储结构及译码实现方式。与其他的译码消息存储结构相比,这种译码消息存储结构只存储LDPC码校验矩阵H非零元素所对应的译码消息,故其占用内存小并在译码时能加快译码速度。
本发明的技术方案如下:
一种LDPC译码消息存储结构及译码方法,该译码消息存储结构只记录LDPC码校验矩阵H中非零元素所对应的译码消息,在用BP或MS算法译码时采用与本译码消息存储结构相对应的寻址方式对译码消息进行处理,定义符号:M表示校验矩阵的行数;N表示校验矩阵的列数;Cn为和变量节点n相连的校验节点的集合,n=0,1,...,N-1;Rm为和校验节点m相连的变量节点的集合,m=0,1,...,M-1;Cn\m表示除去校验节点m的Cn的集合;Rm\n表示除去变量节点n的Rm的集合;和分别为第l次迭代中从变量节点n到校验节点m和从校验节点m到变量节点n的对数似然比(log-likelihood ratio,LLR)消息;αnm表示的符号;βnm表示的幅值,消息存储结构组成:行号;列号;αnm消息;βnm消息;消息;rmn消息,该译码消息存储结构同时能够表示为一个译码消息存储子单元,该译码方法通过计算机C语言编程实现,其具体步骤如下:
1)校验矩阵H非零元素信息统计
统计待译码码字所对应的校验矩阵H非零元素的总数记作ALL,校验矩阵H每行、每列非零元素的数目以及每个非零元素在校验矩阵所对应的行号、列号;
2)开辟译码消息存储空间并初始化部分消息
开辟校验矩阵H非零元素的总数个译码消息存储子单元,并按行号的升序将每个非零元素在校验矩阵所对应的行号、列号赋给每个译码消息存储子单元的行号、列号;
3)记录列号为i时,0≤i<N,译码消息存储子单元的个数及序号,其中N表示校验矩阵的列数;
4)采用对应的方式实现译码过程
a)初始化:变量节点n到校验节点m的消息被初始化为从信道来的消息,即
yn为还未经过解调的信号;
zn为LDPC编码码字;
σ2为AWGN信道中的噪声方差;
αnm消息初始化:
βnm消息初始化:
迭代次数l=1;
b)第一步:校验节点处理
校验节点m(m=0,1,...,M-1)收集与它相邻的变量节点n’的消息,取出行号为i(i=m)的译码消息存储子单元参与运算,再加上自身的校验方程的约束条件,得到第l次迭代中从校验节点m到变量节点n的对数似然比(log-likelihood ratio,LLR)消息
c)第二步:变量节点处理
变量节点n(n=0,1,...,N-1)收集与它相邻的校验节点的消息,还有来自信道的初始化消息L(zn),取出列号为j(j=n)的译码消息存储子单元参与运算,对于所有的变量节点n和校验节点m∈Cn,消息更新如下:
更新变量节点n的LLR(对数似然比)消息:
d)第三步:硬件判决和迭代停止条件判定
如果 译码出来的码字比特 如 则
如果其中H表示LDPC码校验矩阵、表示译出的码字向量、表示译出的码字向量的转秩、表示校验矩阵与译出码字的转秩做内积,或者迭代次数l达到最大迭代次数lmax,迭代停止;若且l≠lmax则l=l+1,然后转入步骤b)。
本发明的有效增益如下:
1、本发明所提供的LDPC译码消息存储结构可大大降低译码时译码消息的存储空间,其效果视校验矩阵的稀疏程度而定。
2、本发明所提供的译码方法在使用计算机C语言编程实现时可加快至少40%的译码速度。
具体实施方式
下面结合实施例对本发明做进一步说明,但不限于此。
实施例:
一种LDPC译码消息存储结构及译码方法,该译码消息存储结构只记录LDPC码校验矩阵H中非零元素所对应的译码消息,在用BP或MS算法译码时采用与本译码消息存储结构相对应的寻址方式对译码消息进行处理,定义符号:M表示校验矩阵的行数;N表示校验矩阵的列数;Cn为和变量节点n相连的校验节点的集合,n=0,1,...,N-1;Rm为和校验节点m相连的变量节点的集合,m=0,1,...,M-1;Cn\m表示除去校验节点m的Cn的集合;Rm\n表示除去变量节点n的Rm的集合;和分别为第l次迭代中从变量节点n到校验节点m和从校验节点m到变量节点n的对数似然比(log-likelihood ratio,LLR)消息;αnm表示的符号;βnm表示的幅值,消息存储结构组成:行号;列号;αnm消息;βnm消息;消息;rmn消息,该译码消息存储结构同时能够表示为一个译码消息存储子单元,该译码方法通过计算机C语言编程实现,其具体步骤如下:
1)校验矩阵H非零元素信息统计
统计待译码码字所对应的校验矩阵H非零元素的总数记作ALL,校验矩阵H每行、每列非零元素的数目以及每个非零元素在校验矩阵所对应的行号、列号;
2)开辟译码消息存储空间并初始化部分消息
开辟校验矩阵H非零元素的总数个译码消息存储子单元,并按行号的升序将每个非零元素在校验矩阵所对应的行号、列号赋给每个译码消息存储子单元的行号、列号;
3)记录列号为i时,0≤i<N,译码消息存储子单元的个数及序号,其中N表示校验矩阵的列数;
4)采用对应的方式实现译码过程
a)初始化:变量节点n到校验节点m的消息被初始化为从信道来的消息,即
yn为还未经过解调的信号;
zn为LDPC编码码字;
σ2为AWGN信道中的噪声方差;
αnm消息初始化:
βnm消息初始化:
迭代次数l=1;
b)第一步:校验节点处理
校验节点m(m=0,1,...,M-1)收集与它相邻的变量节点n’的消息,取出行号为i(i=m)的译码消息存储子单元参与运算,再加上自身的校验方程的约束条件,得到第l次迭代中从校验节点m到变量节点n的对数似然比(log-likelihood ratio,LLR)消息
c)第二步:变量节点处理
变量节点n(n=0,1,...,N-1)收集与它相邻的校验节点的消息,还有来自信道的初始化消息L(zn),取出列号为j(j=n)的译码消息存储子单元参与运算,对于所有的变量节点n和校验节点m∈Cn,消息更新如下:
更新变量节点n的LLR(对数似然比)消息:
d)第三步:硬件判决和迭代停止条件判定
如果 译码出来的码字比特 如 则
Claims (1)
1.一种LDPC译码消息存储结构及译码方法,该译码消息存储结构只记录LDPC码校验矩阵H中非零元素所对应的译码消息,在用BP或MS算法译码时采用与本译码消息存储结构相对应的寻址方式对译码消息进行处理,定义符号:M表示校验矩阵的行数;N表示校验矩阵的列数;Cn为和变量节点n相连的校验节点的集合,n=0,1,...,N-1;Rm为和校验节点m相连的变量节点的集合,m=0,1,...,M-1;Cn\m表示除去校验节点m的Cn的集合;Rm\n表示除去变量节点n的Rm的集合;和分别为第l次迭代中从变量节点n到校验节点m和从校验节点m到变量节点n的对数似然比消息;αnm表示的符号;βnm表示的幅值,消息存储结构组成:行号;列号;αnm消息;βnm消息;消息;rmn消息,该译码消息存储结构同时能够表示为一个译码消息存储子单元,该译码方法通过计算机C语言编程实现,其具体步骤如下:
1)校验矩阵H非零元素信息统计
统计待译码码字所对应的校验矩阵H非零元素的总数记作ALL,校验矩阵H每行、每列非零元素的数目以及每个非零元素在校验矩阵所对应的行号、列号;
2)开辟译码消息存储空间并初始化部分消息
开辟校验矩阵H非零元素的总数个译码消息存储子单元,并按行号的升序将每个非零元素在校验矩阵所对应的行号、列号赋给每个译码消息存储子单元的行号、列号;
3)记录列号为i时,0≤i<N,译码消息存储子单元的个数及序号,其中N表示校验矩阵的列数;
4)采用对应的方式实现译码过程
a)初始化:变量节点n到校验节点m的消息被初始化为从信道来的消息,即
yn为还未经过解调的信号;
zn为LDPC编码码字;
σ2为AWGN信道中的噪声方差;
αnm消息初始化:
βnm消息初始化:
迭代次数l=1;
b)第一步:校验节点处理
c)第二步:变量节点处理
变量节点n收集与它相邻的校验节点的消息,还有来自信道的初始化消息L(zn),取出列号为j的译码消息存储子单元参与运算,j=n,对于所有的变量节点n和校验节点m∈Cn,消息更新如下:
更新变量节点n的对数似然比消息:
d)第三步:硬件判决和迭代停止条件判定
如果 译码出来的码字比特 如 则
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310351668.6A CN103401655B (zh) | 2013-08-14 | 2013-08-14 | 一种用ldpc译码消息存储结构进行译码的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310351668.6A CN103401655B (zh) | 2013-08-14 | 2013-08-14 | 一种用ldpc译码消息存储结构进行译码的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103401655A true CN103401655A (zh) | 2013-11-20 |
CN103401655B CN103401655B (zh) | 2016-05-18 |
Family
ID=49565195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310351668.6A Expired - Fee Related CN103401655B (zh) | 2013-08-14 | 2013-08-14 | 一种用ldpc译码消息存储结构进行译码的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103401655B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
CN113742898A (zh) * | 2021-08-13 | 2021-12-03 | 华力智芯(成都)集成电路有限公司 | 一种应用于低轨卫星互联网系统的ldpc译码器逻辑设计方法 |
CN117375636A (zh) * | 2023-12-07 | 2024-01-09 | 成都星联芯通科技有限公司 | 提高qc-ldpc译码器吞吐率的方法、装置及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028282A1 (en) * | 2006-07-25 | 2008-01-31 | Legend Silicon | receiver architecture having a ldpc decoder with an improved llr update method for memory reduction |
US20080270868A1 (en) * | 2007-04-27 | 2008-10-30 | Sony Corporation | Decoding apparatus |
CN101471673A (zh) * | 2007-12-28 | 2009-07-01 | 三星电子株式会社 | Ldpc码存储单元划分方法以及一种ldpc码存储器 |
CN101599302A (zh) * | 2009-07-23 | 2009-12-09 | 西安空间无线电技术研究所 | 一种基于fpga的ldpc译码器的译码码字的高效存储方法 |
CN102594504A (zh) * | 2012-02-08 | 2012-07-18 | 河南科技大学 | 一种lt编译码算法的dsp硬件实现方法 |
-
2013
- 2013-08-14 CN CN201310351668.6A patent/CN103401655B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080028282A1 (en) * | 2006-07-25 | 2008-01-31 | Legend Silicon | receiver architecture having a ldpc decoder with an improved llr update method for memory reduction |
US20080270868A1 (en) * | 2007-04-27 | 2008-10-30 | Sony Corporation | Decoding apparatus |
CN101471673A (zh) * | 2007-12-28 | 2009-07-01 | 三星电子株式会社 | Ldpc码存储单元划分方法以及一种ldpc码存储器 |
CN101599302A (zh) * | 2009-07-23 | 2009-12-09 | 西安空间无线电技术研究所 | 一种基于fpga的ldpc译码器的译码码字的高效存储方法 |
CN102594504A (zh) * | 2012-02-08 | 2012-07-18 | 河南科技大学 | 一种lt编译码算法的dsp硬件实现方法 |
Non-Patent Citations (1)
Title |
---|
梁伟等: "采用动态量化的低存储空间LDPC译码研究", 《计算机工程与应用》, vol. 47, no. 10, 31 December 2011 (2011-12-31) * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105049060A (zh) * | 2015-08-14 | 2015-11-11 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN105049060B (zh) * | 2015-08-14 | 2019-07-30 | 航天恒星科技有限公司 | 一种低密度奇偶码ldpc的译码方法及装置 |
CN107863972A (zh) * | 2017-11-06 | 2018-03-30 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
CN107863972B (zh) * | 2017-11-06 | 2020-09-25 | 山东大学 | 一种低译码复杂度的快速多元ldpc码译码方法 |
CN113742898A (zh) * | 2021-08-13 | 2021-12-03 | 华力智芯(成都)集成电路有限公司 | 一种应用于低轨卫星互联网系统的ldpc译码器逻辑设计方法 |
CN117375636A (zh) * | 2023-12-07 | 2024-01-09 | 成都星联芯通科技有限公司 | 提高qc-ldpc译码器吞吐率的方法、装置及设备 |
CN117375636B (zh) * | 2023-12-07 | 2024-04-12 | 成都星联芯通科技有限公司 | 提高qc-ldpc译码器吞吐率的方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103401655B (zh) | 2016-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ueng et al. | A fast-convergence decoding method and memory-efficient VLSI decoder architecture for irregular LDPC codes in the IEEE 802.16 e standards | |
US8185797B2 (en) | Basic matrix, coder/encoder and generation method of the low density parity check codes | |
US9075738B2 (en) | Efficient LDPC codes | |
US9432052B2 (en) | Puncture-aware low density parity check (LDPC) decoding | |
EP2510623B1 (en) | Method and apparatus for channel encoding and decoding in a communication system using a low-density parity check code | |
KR20140145978A (ko) | Ldpc 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법 | |
CN101345532B (zh) | Ldpc信道编码的译码方法 | |
CN101141133A (zh) | 一种结构化低密度校验码的编码方法 | |
US8145986B2 (en) | Multi-CSI (Cyclic Shifted Identity) sub-matrix based LDPC (Low Density Parity Check) codes | |
Shin et al. | A stopping criterion for low-density parity-check codes | |
Yokokawa et al. | Parity and column twist bit interleaver for DVB-T2 LDPC codes | |
US11791845B2 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
CN103401655B (zh) | 一种用ldpc译码消息存储结构进行译码的方法 | |
US8312344B2 (en) | Communication method and apparatus using LDPC code | |
CN106209305A (zh) | 一种多址信道下的喷泉码译码方法 | |
US8413025B2 (en) | Method of handling packet loss using error-correcting codes and block rearrangement | |
Oh et al. | Efficient highly-parallel decoder architecture for quasi-cyclic low-density parity-check codes | |
CN101854179B (zh) | 一种应用于ldpc译码的5比特量化方法 | |
CN103338044A (zh) | 一种适用于深空光通信系统的原模图码 | |
CN104426553A (zh) | 低密度奇偶校验矩阵的编码方法 | |
Rao et al. | Performance analysis of QC-LDPC and polar codes for eMBB in 5G systems | |
CN114124108A (zh) | 基于低密度奇偶校验的编码方法、译码方法和相关装置 | |
Mahdi et al. | An encoding scheme and encoder architecture for rate-compatible QC-LDPC codes | |
KR20140145977A (ko) | 패리티 검사 부호의 부호화 장치, 그의 부호화 방법, 복호화 장치 및 그의 복호화 방법 | |
Huang et al. | A Markov chain model for edge memories in stochastic decoding of LDPC codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160518 Termination date: 20200814 |