CN102611462A - 一种ldpc-cc译码算法及译码器 - Google Patents

一种ldpc-cc译码算法及译码器 Download PDF

Info

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
Application number
CN2012100892635A
Other languages
English (en)
Other versions
CN102611462B (zh
Inventor
陈赟
周昌盛
黄跃斌
郭志远
葛云龙
陈绪斌
樊文华
曾晓洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CN201210089263.5A priority Critical patent/CN102611462B/zh
Publication of CN102611462A publication Critical patent/CN102611462A/zh
Application granted granted Critical
Publication of CN102611462B publication Critical patent/CN102611462B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Error Detection And Correction (AREA)

Abstract

本发明属于通信技术领域,具体为一种LDPC-CC译码算法及译码器。所述译码器电路由主控制器、处理器、外信息存储器构成,其中多个处理器间串行连接形成一个流水线结构,后验信息在相邻处理器间直接传递,而外信息则通过外信息存储器传递。该译码器采用了层次化译码算法,提高了算法收敛速度,只需传统的BP算法一半的处理器便能取得更好的译码性能。并且本发明能够有效地减少所需储存单元,从而节省硬件资源的消耗并降低译码器的功耗。

Description

一种LDPC-CC译码算法及译码器
技术领域
本发明属于通信技术领域,具体涉及一种前向纠错码的译码算法及其译码器结构。
背景技术
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是由一周期性无限长的校验矩阵
Figure 335871DEST_PATH_IMAGE001
所定义, 而人们通常使用其转置形式
Figure 572949DEST_PATH_IMAGE002
。 如附图2显示了一码率为b/c的LDPC-CC码的
Figure 284553DEST_PATH_IMAGE002
示意图,其中
Figure 680899DEST_PATH_IMAGE003
为码的存储深度,
Figure 819756DEST_PATH_IMAGE004
( m=0, 1, …, M, t=0, 1, …)是c x (c-b)的周期性子矩阵,
Figure 475954DEST_PATH_IMAGE005
必须为满轶。
Figure 132194DEST_PATH_IMAGE006
(Tp为周期)对任意m和t都成立。与LDPC-BC类似,LDPC-CC的校验矩阵也可以在Tanner图中显示出来,其中每一行为一信息节点,每一列为一校验节点。附图3显示了一简单的码率为1/2的LDPC-CC码的校验矩阵
Figure 117468DEST_PATH_IMAGE002
。图中的
Figure 692805DEST_PATH_IMAGE007
Figure 763530DEST_PATH_IMAGE008
分别代表校验节点与信息节点。
在详细描述算法之前先给出一些定义:
Figure 816936DEST_PATH_IMAGE009
是经过信道后信息节点V的本征信息,是信息节点V的后验信息,
Figure 543901DEST_PATH_IMAGE011
是校验节点C到信息节点V的外信息,
Figure 39604DEST_PATH_IMAGE012
是信息节点V到校验节点C的前验信息,
Figure 896702DEST_PATH_IMAGE013
是归一化因子, 
Figure 122147DEST_PATH_IMAGE014
是所有与校验节点C有连接关系的信息节点的集合,
Figure 773708DEST_PATH_IMAGE015
是所有与信息节点V有连接关系的校验节点的集合,是除去符号,
Figure 886338DEST_PATH_IMAGE017
是信息节点V的硬判结果。
传统的LDPC-CC译码算法是由Felstrom 和 Zigangarov在1999年提出LDPC-CC时提出的BP算法,类似于LDPC-BC中的TPMP。所有信息都存储在FIFO中,数据在处理器中不断向后移动。它的算法可表述为:
(1)初始化
Figure 435131DEST_PATH_IMAGE018
                      (1)
(2)校验节点更新
Figure 726435DEST_PATH_IMAGE019
                      (2)
       (3)
(3)当信息将通过某处理器时进行信息节点更新
Figure 192368DEST_PATH_IMAGE021
                       (4)
(4)当信息将通过所有处理器时进行硬判决
Figure 736613DEST_PATH_IMAGE022
                       (5)
传统的LDPC-CC译码算法并未有效地利用更新后的外信息与前验信息, 导致其收敛速度不高。为此本发明借鉴LDPC-BC中的做法,将每一个校验节点视为一层,在更新完每一层后,利用更新过的前验信息与外信息立即更新相应的后验信息,如此则更新后的前验信息与外信息将立即反应到相应的后验信息中,能显著提高算法的收敛速度。并且本发明在外信息更新时将引入归一化因子
Figure 995556DEST_PATH_IMAGE013
,其算法步骤如下:
(1)初始化
Figure 281044DEST_PATH_IMAGE018
                      (6)
(2)校验节点更新
Figure 18056DEST_PATH_IMAGE019
                      (7)
Figure 744703DEST_PATH_IMAGE023
       (8)
Figure 174548DEST_PATH_IMAGE013
为归一化因子,取值为0~1 之间;
(3)在更新完某一层时立即更新相应后验信息
Figure 557118DEST_PATH_IMAGE024
                       (9)
(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)所示后验信息更新完成后相关后验信息
Figure 342038DEST_PATH_IMAGE010
的写入;
(3)减法阵列,负责先验信息的更新, 即从相关后验信息存储器和外信息存储器读取相应的后验信息
Figure 70959DEST_PATH_IMAGE010
及外信息后进行如式(7)所示前验信息更新;
(4)归一化阵列,负责外信息的更新,即先从减法阵列读取更新后的前验信息
Figure 54276DEST_PATH_IMAGE012
,然后进行如式(8)所示的外信息更新;
(5)加法阵列,负责后验信息的更新,即分别从减法阵列与归一化阵列中读取更新后的前验信息
Figure 763606DEST_PATH_IMAGE012
与外信息
Figure 979824DEST_PATH_IMAGE011
, 然后进行如式(9)所示的后验信息更新。 
3、外信息存储器,用于存储译码过程中校验节点处理器更新生成的外信息,并在相邻两处理器间传递外信息。由于整个译码器是串行结构,所有的信息都是不断地向后一个处理器进行传递,外信息也是如此。此模块是将前一个处理器进行如式(8)所示更新完的外信息
Figure 393487DEST_PATH_IMAGE011
传递给下一个处理器以进行如式(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)初始化:
Figure 2012100892635100001DEST_PATH_IMAGE001
                      (6)
(2)校验节点更新:
                      (7)
Figure 2012100892635100001DEST_PATH_IMAGE003
       (8)
(3)在更新完某一层时立即更新相应后验信息:
Figure 936561DEST_PATH_IMAGE004
                       (9)
(4)重复步骤(2)与步骤(3),直到信息节点通过所有处理器;
(5)硬判决:
Figure 2012100892635100001DEST_PATH_IMAGE005
                       (10)
 
其中,是经过信道后信息节点V的本征信息,
Figure 2012100892635100001DEST_PATH_IMAGE007
是信息节点V的后验信息,
Figure 314770DEST_PATH_IMAGE008
是校验节点C到信息节点V的外信息,
Figure 2012100892635100001DEST_PATH_IMAGE009
是信息节点V到校验节点C的前验信息,
Figure 207771DEST_PATH_IMAGE010
是归一化因子, 
Figure 2012100892635100001DEST_PATH_IMAGE011
是所有与校验节点C有连接关系的信息节点的集合,是所有与信息节点V有连接关系的校验节点的集合,
Figure 2012100892635100001DEST_PATH_IMAGE013
是除去符号,是信息节点V的硬判结果。
2.一种基于权利要求1所述LDPC-CC译码算法的译码器,其特征在于由主控制器、处理器、外信息存储器构成,其中多个相同的处理器串行,形成一个流水线结构;
(一) 所述主控制器,用于实现整个译码器的控制功能,包括负责处理译码器的输入与输出、各处理器的协调以及外信息传输;
(二)所述串行的处理器,用于完成译码过程中的各种运算;其中每个处理器都包括:
(1)中央控制器,负责整个处理器的内部协调,即负责产生各类控制信号, 以协调后验信息存储器、减法阵列、归一化阵列和加法阵列的数据传递与更新;
(2)后验信息存储器,负责后验信息的存储, 包括本征信息或前一个处理器传递过来的后验信息的写入,本处理器内部进行如式(7)所示前验信息更新前对相关后验信息的读取及进行如式(9)所示后验信息更新完成后相关后验信息的写入;
(3)减法阵列,负责先验信息的更新, 即从相关后验信息存储器和外信息存储器读取相应的后验信息及外信息后进行如式(7)所示前验信息更新;
(4)归一化阵列,负责外信息的更新,即先从减法阵列读取更新后的前验信息 ,然后进行如式(8)所示的外信息更新;
(5)加法阵列,负责后验信息的更新,即分别从减法阵列与归一化阵列中读取更新后的前验信息 与外信息,然后进行如式(9)所示的后验信息更新;
(三)所述外信息存储器,用于存储译码过程中校验节点处理器更新生成的外信息,并在相邻两处理器间传递外信息,具体是将前一个处理器进行如式(8)所示更新完的外信息传递给下一个处理器以进行如式(7)所示的前验信息更新。
CN201210089263.5A 2012-03-30 2012-03-30 一种ldpc-cc译码算法及译码器 Expired - Fee Related CN102611462B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 松下电器产业株式会社 低密度奇偶校验卷积码编码器和低密度奇偶校验卷积码解码器

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
申睿等: ""一种通用的低成本QC-LDPC码译码结构"", 《小型微型计算机系统》 *

Cited By (8)

* Cited by examiner, † Cited by third party
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