CN102611462A - 一种ldpc-cc译码算法及译码器 - Google Patents
一种ldpc-cc译码算法及译码器 Download PDFInfo
- Publication number
- CN102611462A CN102611462A CN2012100892635A CN201210089263A CN102611462A CN 102611462 A CN102611462 A CN 102611462A CN 2012100892635 A CN2012100892635 A CN 2012100892635A CN 201210089263 A CN201210089263 A CN 201210089263A CN 102611462 A CN102611462 A CN 102611462A
- Authority
- CN
- China
- Prior art keywords
- information
- node
- posterior
- processor
- ldpc
- 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
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明属于通信技术领域,具体为一种LDPC-CC译码算法及译码器。所述译码器电路由主控制器、处理器、外信息存储器构成,其中多个处理器间串行连接形成一个流水线结构,后验信息在相邻处理器间直接传递,而外信息则通过外信息存储器传递。该译码器采用了层次化译码算法,提高了算法收敛速度,只需传统的BP算法一半的处理器便能取得更好的译码性能。并且本发明能够有效地减少所需储存单元,从而节省硬件资源的消耗并降低译码器的功耗。
Description
技术领域
本发明属于通信技术领域,具体涉及一种前向纠错码的译码算法及其译码器结构。
背景技术
R.Gallager于1962年首先提出了LDPC码,但由于当时的计算水平及人们对这种码的认识不足,LDPC码在此后的几十年并未受到重视。在1993年后,MacKay等人重新发现了LDPC码。 该码的性能十分优异,甚至在码长较长时能够逼近Shannon极限,并且LDPC还具有较小的译码错误概率和较低的译码复杂度。由于LDPC具有许多优点,人们对LDPC做了大量的研究工作,并且在很多通信标准中采用了LDPC码作为其中的一种前向纠错码(Forward Error Correct, FEC), 如CMMB、DTMB、DVB-S2和IEEE802.16e等。
当前绝大多数标准中的LDPC码都是分块形式的(LDPC-BC),而LDPC-BC的发展存在一些问题:
1、码长固定。如在CMMB与DTMB中只有一种码长,分别是9216与7493,而在DVB-S2中只有两种(16200与64800)。虽然在IEEE 802.16e中有19种码长(576-2304,步进为96),但它的码长仍然是固定的,而且这种可变码长增加了编码与译码的复杂度。码长固定意味着传输数据时,数据比特需要被划分成若干帧码长的数据。这十分不便,尤其是在手持式通信设备与网络传输中,数据比特长度十分灵活,随机性很大。
2、LDPC-BC码的纠错性能十分依赖于其码长。码长越长,其纠错性能越好,但码长的增长将巨大的增加译码器的硬件资源消耗,代价十分昂贵。
3、LDPC-BC码的编码也变得越来越复杂,尤其是需要支持可变码长时。
为此近年来人们开始关注由Felstrom 和 Zigangarov在1999年提出的LDPC-BC的变种:卷积形式的LDPC码,LDPC-CC。它具有以下优点:
1、码长可变。 LDPC-CC码的校验矩阵具有周期性并且可延伸到无限长,所以其码长可以根据数据比特的长度任意调整。
2、LDPC-CC码的纠错性能与LDPC-BC码相当。 在其存储深度(Memory Depth)较小便能取得与LDPC-BC码相当的纠错性能。
3、LDPC-CC码的编码十分简单。由于LDPC-CC码具有卷积特性,其编码十分简单,可由若干延时单元与异或逻辑实现。
4、LDPC-CC码的编码与译码都是在已知的初始状态下进行的,故其帧头部分将变成一个强校验,而帧头部分通常包括一些重要的信息。
由于上述优点,LDPC-CC码十分适用于手持式通信与网络传输,并且近年来得到较多的关注。然而相对而言该码发展并不成熟,现有的译码算法是传统的BP算法,收敛速度慢。译码器大多采用寄存器作为存储单元,消耗了大量的硬件资源与能量。
发明内容
本发明目的在于提出一种收敛速度快的LDPC-CC译码算法,同时提供一种适合该算法的高效译码器电路,以降低需要的存储单元,减少硬件资源消耗,提高算法效率与硬件利用效率。
一、LDPC-CC译码算法
LDPC-CC是由一周期性无限长的校验矩阵所定义, 而人们通常使用其转置形式。 如附图2显示了一码率为b/c的LDPC-CC码的示意图,其中为码的存储深度,( m=0, 1, …, M, t=0, 1, …)是c x (c-b)的周期性子矩阵,必须为满轶。(Tp为周期)对任意m和t都成立。与LDPC-BC类似,LDPC-CC的校验矩阵也可以在Tanner图中显示出来,其中每一行为一信息节点,每一列为一校验节点。附图3显示了一简单的码率为1/2的LDPC-CC码的校验矩阵。图中的与分别代表校验节点与信息节点。
在详细描述算法之前先给出一些定义:是经过信道后信息节点V的本征信息,是信息节点V的后验信息,是校验节点C到信息节点V的外信息,是信息节点V到校验节点C的前验信息,是归一化因子, 是所有与校验节点C有连接关系的信息节点的集合,是所有与信息节点V有连接关系的校验节点的集合,是除去符号,是信息节点V的硬判结果。
传统的LDPC-CC译码算法是由Felstrom 和 Zigangarov在1999年提出LDPC-CC时提出的BP算法,类似于LDPC-BC中的TPMP。所有信息都存储在FIFO中,数据在处理器中不断向后移动。它的算法可表述为:
(1)初始化
(2)校验节点更新
(3)
(3)当信息将通过某处理器时进行信息节点更新
(4)当信息将通过所有处理器时进行硬判决
传统的LDPC-CC译码算法并未有效地利用更新后的外信息与前验信息, 导致其收敛速度不高。为此本发明借鉴LDPC-BC中的做法,将每一个校验节点视为一层,在更新完每一层后,利用更新过的前验信息与外信息立即更新相应的后验信息,如此则更新后的前验信息与外信息将立即反应到相应的后验信息中,能显著提高算法的收敛速度。并且本发明在外信息更新时将引入归一化因子,其算法步骤如下:
(1)初始化
(2)校验节点更新
(3)在更新完某一层时立即更新相应后验信息
(4)重复步骤(2)与步骤(3),直到信息节点通过所有处理器;
(5)硬判决
(10)。
本算法能显著提高收敛速度,为了验证本发明的可行性,我们基于IEEE 1901电力线标准草稿版4中的LDPC-CC码进行了验证,附图4显示了误码率(Bit Error Ratio, BER)曲线与传统算法的对比。所有仿真都采用了AWGN (Additive White Gaussian Noise) 信道和BPSK(Binary Phase Shift Keying)调制方式。归一化因子为0.75, 在定点化仿真中后验信息与前验信息被量化为8比特,外信息被量化为6比特。其中本发明的算法只使用了10个处理器,而传统的算法使用了20个处理器。从图中可以看到,无论是在浮点还是定点仿真中,本发明的算法的性能都高于传统的BP算法。
二、译码结构
本发明采用了一种新的基于存储器的LDPC-CC译码器结构,如附图1如示。 该译码器是首个采用了层次化译码算法的LDPC-CC译码器,并在LDPC-CC译码器中引入了串行处理器与外信息存储器结构。 译码器由主控制器、处理器、外信息存储器构成,其中,多个相同的处理器串行,形成一个流水线结构。
1、主控制器,用于实现整个译码器的控制功能。 该主控制器负责处理整个译码器的输入与输出、各处理器的协调以及外信息传输。
2、串行的处理器,用于完成译码过程中的各种运算。 其中每个处理器都包括:
(1)中央控制器,负责整个处理器的内部协调,即负责产生各类控制信号, 以协调后验信息存储器、减法阵列、归一化阵列和加法阵列的数据传递与更新;
(2)后验信息存储器,负责后验信息的存储,包括本征信息或前一个处理器传递过来的后验信息的写入、 本处理器内部进行如式(7)所示前验信息更新前对相关后验信息的读取及进行如式(9)所示后验信息更新完成后相关后验信息的写入;
3、外信息存储器,用于存储译码过程中校验节点处理器更新生成的外信息,并在相邻两处理器间传递外信息。由于整个译码器是串行结构,所有的信息都是不断地向后一个处理器进行传递,外信息也是如此。此模块是将前一个处理器进行如式(8)所示更新完的外信息传递给下一个处理器以进行如式(7)所示的前验信息更新。
本发明译码器采用层次化译码算法, 提高了算法收敛速度,只需传统的BP算法(Brief Propagation Algorithm)一半的处理器(等同于LDPC-BC, LDPC-Block Code中的迭代次数)便能取得更好的译码性能。并且本发明能够有效地减少所需储存单元,从而减少硬件资源的消耗并降低译码器的功耗。
附图说明
图1译码器结构图。
图2 LDPC-CC校验矩阵示意图。
图3某一码率为1/2的LDPC-CC码的校验矩阵示意图。
图4本发明中的算法与传统算法BER曲线对比图。
具体实施方式
根据发明内容中提供的解决方案,本译码器采用了层次化译码算法,首先进行如式(6)所示的初始化,然后再不断进行式(7)、式(8)、式(9)的循环迭代,最后进行如式(10)所示的硬判决。
译码器的硬件结构如附图1所示,是基于存储器结构的。并在LDPC-CC译码器中引入了串行处理器与与外信息存储的结构,其具体译码器的具体实施方式如下:
译码前,主控制器根据第一个处理器的空闲状况决定是否允许外部数据的输入。当处理器空闲时主控制器负责从外部读取相应的本征信息与码率信息,再传递给第一处理器。
译码开始后,译码器是基于层次化顺序,以层为单位递增。按以下步骤处理:
(1)从后验信息存储器中读取与输入的后验信息在同一层中的相应的后验信息,如附图3中与C2对应的V1、V2、V4、V5。
(2)在减法阵列中进行前验信息的更新,如式(7)所示。
(3)在归一化阵列中进行外信息的更新,如式(8)所示。
(4)在加法阵列中中进行后验信息的更新,如式(9)所示。
(5)当处理到一定层数后,将更新完的后验信息与外信息传递给下一个处理器进行处理。
(6)当数据经过所有处理器之后,由主控制器进行硬判决,如式(10)如示。
译码器的运行完全依照译码算法的顺序。而层次化译码算法的引入显著地提高了算法的收敛速度,并且由于减少了前验信息的存储, 仅存储了后验信息与外信息,使得译码器的硬件资源利用率显著提高。
Claims (2)
1.一种LDPC-CC译码算法,其特征在于将每个校验节点都视为一层,从而使LDPC-CC码也能适用层次化译码算法,具体步骤如下:
(1)初始化:
(2)校验节点更新:
(7)
(3)在更新完某一层时立即更新相应后验信息:
(4)重复步骤(2)与步骤(3),直到信息节点通过所有处理器;
(5)硬判决:
2.一种基于权利要求1所述LDPC-CC译码算法的译码器,其特征在于由主控制器、处理器、外信息存储器构成,其中多个相同的处理器串行,形成一个流水线结构;
(一) 所述主控制器,用于实现整个译码器的控制功能,包括负责处理译码器的输入与输出、各处理器的协调以及外信息传输;
(二)所述串行的处理器,用于完成译码过程中的各种运算;其中每个处理器都包括:
(1)中央控制器,负责整个处理器的内部协调,即负责产生各类控制信号, 以协调后验信息存储器、减法阵列、归一化阵列和加法阵列的数据传递与更新;
(2)后验信息存储器,负责后验信息的存储, 包括本征信息或前一个处理器传递过来的后验信息的写入,本处理器内部进行如式(7)所示前验信息更新前对相关后验信息的读取及进行如式(9)所示后验信息更新完成后相关后验信息的写入;
(3)减法阵列,负责先验信息的更新, 即从相关后验信息存储器和外信息存储器读取相应的后验信息及外信息后进行如式(7)所示前验信息更新;
(4)归一化阵列,负责外信息的更新,即先从减法阵列读取更新后的前验信息 ,然后进行如式(8)所示的外信息更新;
(5)加法阵列,负责后验信息的更新,即分别从减法阵列与归一化阵列中读取更新后的前验信息 与外信息,然后进行如式(9)所示的后验信息更新;
(三)所述外信息存储器,用于存储译码过程中校验节点处理器更新生成的外信息,并在相邻两处理器间传递外信息,具体是将前一个处理器进行如式(8)所示更新完的外信息传递给下一个处理器以进行如式(7)所示的前验信息更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210089263.5A CN102611462B (zh) | 2012-03-30 | 2012-03-30 | 一种ldpc-cc译码算法及译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210089263.5A CN102611462B (zh) | 2012-03-30 | 2012-03-30 | 一种ldpc-cc译码算法及译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102611462A true CN102611462A (zh) | 2012-07-25 |
CN102611462B CN102611462B (zh) | 2015-03-04 |
Family
ID=46528650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210089263.5A Expired - Fee Related CN102611462B (zh) | 2012-03-30 | 2012-03-30 | 一种ldpc-cc译码算法及译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102611462B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515588A (zh) * | 2015-07-15 | 2016-04-20 | 北京理工大学 | 一种ldpc-cc高速译码器 |
CN108449173A (zh) * | 2018-01-25 | 2018-08-24 | 东华大学 | 一种连续变量量子密钥分发模型中的信息协商方法 |
CN108886370A (zh) * | 2016-05-16 | 2018-11-23 | 华为技术有限公司 | 一种卷积ldpc译码方法、装置、译码器及系统 |
CN112653474A (zh) * | 2020-12-22 | 2021-04-13 | 西南大学 | 一种降低平均迭代次数的紧缩型ldpc-cc译码器设计方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009246927A (ja) * | 2008-02-08 | 2009-10-22 | Panasonic Corp | 符号化方法、符号化器、復号器 |
CN101689866A (zh) * | 2007-07-12 | 2010-03-31 | 松下电器产业株式会社 | 低密度奇偶校验卷积码编码器和低密度奇偶校验卷积码解码器 |
-
2012
- 2012-03-30 CN CN201210089263.5A patent/CN102611462B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101689866A (zh) * | 2007-07-12 | 2010-03-31 | 松下电器产业株式会社 | 低密度奇偶校验卷积码编码器和低密度奇偶校验卷积码解码器 |
JP2009246927A (ja) * | 2008-02-08 | 2009-10-22 | Panasonic Corp | 符号化方法、符号化器、復号器 |
Non-Patent Citations (1)
Title |
---|
申睿等: ""一种通用的低成本QC-LDPC码译码结构"", 《小型微型计算机系统》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105515588A (zh) * | 2015-07-15 | 2016-04-20 | 北京理工大学 | 一种ldpc-cc高速译码器 |
CN105515588B (zh) * | 2015-07-15 | 2017-10-17 | 北京理工大学 | 一种ldpc‑cc高速译码器 |
CN108886370A (zh) * | 2016-05-16 | 2018-11-23 | 华为技术有限公司 | 一种卷积ldpc译码方法、装置、译码器及系统 |
CN108886370B (zh) * | 2016-05-16 | 2020-11-10 | 华为技术有限公司 | 一种卷积ldpc译码方法、装置、译码器及系统 |
US10903855B2 (en) | 2016-05-16 | 2021-01-26 | Huawei Technologies Co., Ltd. | Convolutional LDPC decoding method and apparatus, decoder, and system |
CN108449173A (zh) * | 2018-01-25 | 2018-08-24 | 东华大学 | 一种连续变量量子密钥分发模型中的信息协商方法 |
CN112653474A (zh) * | 2020-12-22 | 2021-04-13 | 西南大学 | 一种降低平均迭代次数的紧缩型ldpc-cc译码器设计方法 |
CN112653474B (zh) * | 2020-12-22 | 2022-12-13 | 西南大学 | 一种降低平均迭代次数的紧缩型ldpc-cc译码器设计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102611462B (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101141133B (zh) | 一种结构化低密度校验码的编码方法 | |
CN102545913B (zh) | 一种迭代译码方法及系统 | |
WO2017080249A1 (zh) | 生成用于在信道中传输的低密度奇偶校验码的方法及设备 | |
US20100318872A1 (en) | Decoding Method for LDPC Code Based on BP Arithmetic | |
US20110029756A1 (en) | Method and System for Decoding Low Density Parity Check Codes | |
CN102412843B (zh) | 自适应的归一化最小和ldpc译码方法及译码器 | |
CN101471674A (zh) | 低密度奇偶校验码译码方法及装置 | |
CN101355406B (zh) | 分层的非规则低密度校验码译码器及译码处理方法 | |
CN108462496B (zh) | 一种基于随机比特流更新的ldpc译码器 | |
CN103618556A (zh) | 基于rmp调度的部分并行qc-ldpc译码方法 | |
CN102611462B (zh) | 一种ldpc-cc译码算法及译码器 | |
CN103973314A (zh) | 一种基于ldpc的信号编解码方法、及接收端和发送端 | |
CN103905063A (zh) | 一种ldpc译码器终止译码的方法 | |
CN101345602B (zh) | 低密度校验码迭代译码的提前中止方法 | |
CN107689801A (zh) | Ldpc码admm迭代译码的早停止方法 | |
CN114448446A (zh) | 水下光通信ldpc编码处理方法、装置及计算机可读存储介质 | |
WO2021063217A1 (zh) | 一种译码方法及装置 | |
CN116964945A (zh) | 原模图准循环极化码及相关的低密度生成矩阵族 | |
CN100539441C (zh) | 一种低密度奇偶校验码的译码方法 | |
CN202475439U (zh) | 一种基于可配置qc-ldpc编译码算法的硬件仿真验证平台 | |
CN103166648B (zh) | 一种ldpc解码器及其实现方法 | |
CN102594369B (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 | |
CN101958718A (zh) | 用于ldpc码的改进型半并行译码器和译码方法 | |
WO2020001212A1 (zh) | 译码器、译码方法和计算机存储介质 | |
CN103475378B (zh) | 一种适用于光通信的高吞吐率ldpc译码器 |
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 |
Granted publication date: 20150304 Termination date: 20180330 |
|
CF01 | Termination of patent right due to non-payment of annual fee |