CN103475378A - 一种适用于光通信的高吞吐率ldpc译码器 - Google Patents
一种适用于光通信的高吞吐率ldpc译码器 Download PDFInfo
- Publication number
- CN103475378A CN103475378A CN2013104081268A CN201310408126A CN103475378A CN 103475378 A CN103475378 A CN 103475378A CN 2013104081268 A CN2013104081268 A CN 2013104081268A CN 201310408126 A CN201310408126 A CN 201310408126A CN 103475378 A CN103475378 A CN 103475378A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- decoding
- check
- memory cell
- 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译码器。该译码器包括存储器单元(分为A、B两部分)、初始化单元、节点更新单元和译码检测单元:存储器单元用于存储信道本征信息、节点间软信息和译码结果;初始化单元用于将接收到的信道本征信息进行初始化;节点更新单元用于执行迭代译码过程;译码检测单元用于检测每次迭代结束时是否译码成功。该译码器特别采用时钟复用方式提升吞吐率,在时钟上升沿和下降沿分别对两组不同码字进行译码,以提升吞吐率;两组不同的存储器共用同样的初始化单元、节点更新单元和译码检测单元,以节省硬件资源。
Description
技术领域
本发明属于无线数字通信和广播技术领域,具体涉及一种适用于光通信的高吞吐率LDPC译码器。
背景技术
一个完整的通信系统包括信源、信源编码、前向纠错编码、调制、信道、信道估计、均衡、解调、前向纠错解码、信源解码。前向纠错编解码对于降低接收信号误码率有很大的帮助。
低密度奇偶校验码(LDPC Code)是由Robert G.Gallager博士于1963年提出的一类具有稀疏校验矩阵的线性分组码,其特点是逼近Shannon限的良好性能、低的译码复杂度、灵活的硬件结构,是近年信道编码领域的研究热点,目前已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。LDPC码也是第四代通信系统强有力的竞争者。
LDPC码是通过校验矩阵定义的一类线性码,为使译码可行,在码长较长时需要校验矩阵满足“稀疏性”,即校验矩阵中1的密度比较低,也就是要求校验矩阵中1的个数远小于0的个数,并且码长越长,密度就要越低。
现代通信系统的数据量越来越大,为了保证实时性,必然要提高数据传输的吞吐率,在光通信中,这个要求高达100Gbps。
LDPC译码器有很多提高吞吐率的方法,传统的全并行LDPC译码器存在布线拥挤的问题,特别是对于WiMax这样的码长较长的标准。过多的校验节点和变量节点将导致LDPC解码器VLSI实现的面积大小并不决定于逻辑门的多少,而是布线拥挤度。
部分并行的方式解决了布线的问题,但是吞吐率却下降了;比特串行的方式也可以解决布线问题,但是却增加了延时,而且比特串行的时钟周期可以很小,也增加了功耗。因此对于及时性要求很高的场合需要新的解决方案。
发明内容
本发明的目的在于提供一种高吞吐率、低功耗的适用于光通信的LDPC译码器。
本发明提供的适用于光通信的LDPC译码器,是一种全并行译码器,为越来越高的吞吐率需求提供一种选择,非常适用于及时性要求很高的场合,可以应用于传输速率高达100Gbps的场合,适用标准为WiMax标准5/6码率。
本发明所提供的LDPC译码器,包括存储器单元、初始化单元、节点更新单元和译码检测单元,其中:
所述存储器单元,用于存储信道本征信息、节点间软信息(包括校验节点到变量节点的信息以及变量节点到校验节点的信息)和译码结果;所述存储器单元包括:用于存储接收的信道本征信息的信道本征信息存储单元;用于存储节点间软信息的节点间软信息存储单元,所述软信息包括由校验节点到变量节点的信息以及由变量节点到校验节点的信息;用于存储译码结果的译码结果存储单元;每个存储器单元的各个分别包括A、B两部分,各自存储一组码字的译码信息;以上存储单元均采用寄存器堆实现。
适用于光通信的高吞吐率LDPC译码器针对WiMax标准5/6码率设计,校验矩阵大小为384*2304,对应的变量节点数目为2304个,校验节点个数为384个。信道本征信息量化方案为6比特,其中包括两位小数位,所述信道本征信息存储单元(A或B)的所需存储器位宽为2304*6,共计13824比特。
节点间软信息存储单元(A或B)存储包括由校验节点到变量节点的信息R以及由变量节点到校验节点的信息L。对于R的存储是存储对应校验矩阵一行中R绝对值的最小值和次小值,均为5比特,WiMax标准中校验矩阵每一行的行重均为20,因此每行只需要存储两个5位量化的最小、次小值,还有最小值位置和本行符号之积,共计16比特,需要的所述R存储器位宽为384*16,共计6144比特。对于L的存储是存储对应的L的符号位,需要存储器位宽为384*20,共计7680比特。这样需要额外的电平恢复电路来完成完成R信息的读取和L的信息的读取。
所述初始化单元,为组合电路,用于将接收到的信道本征信息进行初始化,即将信道本征信息映射为初始变量节点到校验节点的信息,并且根据初始变量节点到校验节点信息来完成第一次的校验节点到变量节点的信息更新。
所述节点更新单元,为组合电路,用于执行迭代译码过程,包括校验节点更新单元和变量节点更新单元,校验节点更新单元的更新结果传递给变量节点更新单元;变量节点更新单元的更新结果传递给校验节点更新单元。两种单元迭代工作直至译码完成。
所述译码检测单元,为组合电路,用于检测每次迭代结束时是否译码成功。译码检测单元对由每次迭代产生的译码结果进行矩阵相乘操作,结果为零表明译码正确,将结果存入译码结果存储单元,结果不为零表明译码不正确,继续迭代直至预设的最大迭代次数。到达最大迭代次数,无论译码成功与否,都结束译码。在本发明中,最大迭代次数设置为15次。
本发明中,适用于光通信的高吞吐率LDPC译码器可以通过对时钟上升沿和下降沿的分别触发,从而实现吞吐率的提升。其实现方法包括如下步骤:
(1)系统复位,读入两组码字分别存储,在时钟正沿或负沿分别初始化两组码字;
(2)在时钟正沿或负沿分别对两组码字进行更新;
(3)在时钟正沿或负沿分别对两组码字进行译码成功检验;
(4)如果检验成功,在下一周期的正沿或负沿对相应码字进行存取;
(5)接下来一个周期进行读入新码字,输出译码成功码字。
本发明中,适用于光通信的高吞吐率LDPC译码器在同一时钟周期内译两组码,从而可以将吞吐率翻倍。在VLSI实现上相比于传统电路,只是增加信号选择电路和存储单元的面积。信号选择电路针对所有的存储单元输入输出。
本发明中,在译码检验完成后才进行码字存储,以降低功耗。在交替译码的时候需要将中间信息相互交换存储单元,设定一个存储单元管理信号来管理。
本次译码完成后,读入的新信道本征信息需要根据存储单元管理信号来决定存入存储单元A还是B。
为了减少硬件开销,本发明采用归一化的最小和算法。
附图说明
图1为本发明所述适用于光通信的高吞吐率LDPC译码器结构框图。
图2为本发明所述适用于光通信的高吞吐率LDPC译码器浮点仿真BER曲线。
图3为本发明所述适用于光通信的高吞吐率LDPC译码器定点仿真BER曲线。
图4为本发明所述初始化单元4结构框图。
图5为本发明所述节点更新单元5结构框图。
图6为本发明所述电平恢复单元51结构框图。
图7为本发明中提取的单个电平触发沿电路系统框图。
图8为本发明译码过程中数据流程图。
具体实施方式
如图1所示,系统复位后,所有控制信号重置,开始读入码字,信道本征信息存储单元A11在时钟正沿读入第一组信道本征信息并存储,信道本征信息存储单元A11在紧接着的时钟负沿读入第二组信道本征信息并存储,两组信息的每个有用信号均为6位有符号数。
进一步地,在接下来的时钟正沿,信道本征信息存储单元A11的数据进入初始化单元开始进行初始化。如图4所示,本征信道信息先进过循环移位,这是由于WiMax标准中校验矩阵的特性决定的:WiMax标准校验矩阵由子单位阵进行循环移位得到。进过循环移位后的信道本征信息就是第一次的L信息,经过比较大小就得到第一次迭代的R信息。
进一步地,在接下来的时钟负沿,将得到的L和R信息存入节点间软信息存储单元B22,同时开始读取第二组码字的信道本征信息,计算第二组码字的L和R信息在下一时钟的正沿存入节点间软信息存储单元A21。L的计算需要利用ADDER_FOR_L 52,R的计算需要利用COMPARE_FOR_R 54,S的计算需要利用ADDER_FOR_S 53。
进一步地,在接下来的时钟正沿,第二组码字的L和R信息存入节点间软信息存储单元A21,节点更新单元读取第一组码字的L和R信息,并经过恢复,开始计算新的L和R值,同时还计算后验信息S,这个信息需要提供给译码检测单元6进行硬判决。
进一步地,在接下来的时钟负沿,关于第一组码字的新的L和R值存入节点间软信息存储单元B22,并且第一组码字的第一次迭代后验信息也会传给译码检测单元6进行硬判决。与此同时,关于第二组码字的L和R值将会读取出,并进行新的L和R值以及后验信息S的运算。
进一步地,在接下来的时钟正沿,关于第二组码字的新的L和R值将会存入节点间软信息存储单元A21,并且第一组码字的第一次迭代后验信息也会传给译码检测单元6进行硬判决。与此同时,关于第二组码字的L和R值将会读取出,并进行新的L和R值以及后验信息S的运算。
迭代运算就以上述方式进行直到最大迭代次数或者在未达到最大迭代次数时译码成功。
在迭代运算进行的过程中,译码检测的结果是延后一个周期的。
在迭代运算进行的过程中,并且需要有存储单元管理信号来确定第一组或者第二组码字在使用哪一组存储单元,这是为了方便在某一组码字译码结束后确定新进入的码字使用那组存储单元。
在迭代运算过程中,还设立了计数模块,计数模块设置为0到15变化,达到15则清零。在计数模块为0的时候,为初始化状态。
在达到最大迭代次数的时候,不需要进行译码成功检测,直接将译码得到的后验信息的符号位存起来即可得到码字,下一周期的正沿或者负沿读入新的码字,并输出译码完成的码字。进一步的,根据存储单元管理信号来确定新码字当前可以使用的存储模块,避免将还在运算的码字信息覆盖。
如果还没有达到最大迭代次数就已经译码成功,则需要提前终止迭代,此时需要再一次计算S值,因为前个时钟沿的计算结果并没有存储。由于译码成功即表示译码结果收敛,所以再一次计算并不会导致结果错误,只是多了一个时钟开销。再次计算得到的S值的符号位存入译码结果存储单元后,对计数模块清零。下一时钟沿读入新码字,并输出译码结果。进一步地,下一个时钟沿,新的码字迭代运算即可开始。
综上所述,整个译码器的运算步骤已经陈述完整。相比于传统电路,本发明有如下特点:
1、吞吐率
由于利用到时钟的正沿和负沿,同一个时钟周期内本发明可以同时处理两个码字,所以译码器吞吐率提高一倍, 如果可以再内部加上流水线,还可以进一步提高吞吐率。
2、面积
传统全并行LDPC译码器的VLSI结构布线问题在这里被解决,本发明增加了存储单元的数量,可以明显解决芯片面积不由逻辑门数目决定的弊端。
3、时钟
相比于传统电路,为了达到相同的吞吐率,VLSI实现时,本发明需求的时钟周期只是传统电路的一半,降低系统对于时钟的严苛要求。
本发明的方法并不仅限于WiMax标准,可以应用各类LDPC标准。
Claims (8)
1. 一种适用于光通信的高吞吐率LDPC译码器,其特征在于,包括存储器单元、初始化单元、节点更新单元和译码检测单元;其中:
所述存储器单元,用于存储信道本征信息、节点间软信息和译码结果;包括:用于存储接收的信道本征信息的信道本征信息存储单元;用于存储节点间软信息的节点间软信息存储单元,所述软信息包括由校验节点到变量节点的信息以及由变量节点到校验节点的信息;用于存储译码结果的译码结果存储单元;每个存储器单元的各个部分分别包括A、B两部分,各自存储一组码字的译码信息;以上存储单元均采用寄存器堆实现;
所述初始化单元,为组合电路,用于将接收到的信道本征信息进行初始化,即将信道本征信息映射为初始变量节点到校验节点的信息,并且根据初始变量节点到校验节点信息来完成第一次的校验节点到变量节点的信息更新;
所述节点更新单元,为组合电路,用于执行迭代译码过程,包括校验节点更新单元和变量节点更新单元,校验节点更新单元的更新结果传递给变量节点更新单元;变量节点更新单元的更新结果传递给校验节点更新单元;两种单元迭代工作直至译码完成;
所述译码检测单元,为组合电路,用于检测每次迭代结束时是否译码成功;译码检测单元对由每次迭代产生的译码结果进行矩阵相乘操作,结果为零表明译码正确,将结果存入译码结果存储单元,结果不为零表明译码不正确,继续迭代直至预设的最大迭代次数。
2. 根据权利要求1所述的适用于光通信的高吞吐率LDPC译码器,其特征在于,所述信道本征信息存储单元的所需存储器位宽为2304*6,共计13824比特。
3. 根据权利要求1所述的适用于光通信的高吞吐率LDPC译码器,其特征在于,所述节点间软信息存储单元存储包括由校验节点到变量节点的信息R以及由变量节点到校验节点的信息L;对于R的存储是存储对应校验矩阵一行中R绝对值的最小值和次小值,均为5比特,R存储器位宽为384*16,共计6144比特;对于L的存储是存储对应的L的符号位,存储器位宽为384*20,共计7680比特。
4. 根据权利要求1所述的适用于光通信的高吞吐率LDPC译码器,其特征在于,在同一时钟周期内译两组码,使吞吐率翻倍。
5. 根据权利要求1所述的适用于光通信的高吞吐率LDPC译码器,其特征在于,在译码检验完成后才进行码字存储,以降低功耗。
6. 根据权利要求1所述适用于光通信的高吞吐率LDPC译码器,其特征在于,在交替译码的时候将中间信息相互交换存储单元,设定一个存储单元管理信号来管理。
7. 根据权利要求1所述适用于光通信的高吞吐率LDPC译码器,其特征在于,读入的新信道本征信息需要根据存储单元管理信号来决定存入存储单元A还是B。
8. 基于权利要求1所述的适用于光通信的高吞吐率LDPC译码器的提升吞吐率的方法,其特征在于,具体步骤为:
(1)系统复位,读入两组码字分别存储,在时钟正沿或负沿分别初始化两组码字;
(2)在时钟正沿或负沿分别对两组码字进行更新;
(3)在时钟正沿或负沿分别对两组码字进行译码成功检验;
(4)如果检验成功,在下一周期的正沿或负沿对相应码字进行存取;
(5)接下来一个周期进行读入新码字,输出译码成功码字。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310408126.8A CN103475378B (zh) | 2013-09-09 | 2013-09-09 | 一种适用于光通信的高吞吐率ldpc译码器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310408126.8A CN103475378B (zh) | 2013-09-09 | 2013-09-09 | 一种适用于光通信的高吞吐率ldpc译码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475378A true CN103475378A (zh) | 2013-12-25 |
CN103475378B CN103475378B (zh) | 2016-11-23 |
Family
ID=49800105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310408126.8A Active CN103475378B (zh) | 2013-09-09 | 2013-09-09 | 一种适用于光通信的高吞吐率ldpc译码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475378B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105356941A (zh) * | 2015-09-29 | 2016-02-24 | 北京邮电大学 | 一种空间光通信ldpc码映射奇偶校验矩阵度分布方法 |
WO2019205313A1 (zh) * | 2018-04-24 | 2019-10-31 | 成都吉纬科技有限公司 | 一种基于随机比特流更新的ldpc译码器 |
CN112233720A (zh) * | 2020-10-27 | 2021-01-15 | 北京紫光得瑞科技有限公司 | 低时延ldpc解码器的硬件实现方法、装置及解码器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
-
2013
- 2013-09-09 CN CN201310408126.8A patent/CN103475378B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105356941A (zh) * | 2015-09-29 | 2016-02-24 | 北京邮电大学 | 一种空间光通信ldpc码映射奇偶校验矩阵度分布方法 |
WO2019205313A1 (zh) * | 2018-04-24 | 2019-10-31 | 成都吉纬科技有限公司 | 一种基于随机比特流更新的ldpc译码器 |
CN112233720A (zh) * | 2020-10-27 | 2021-01-15 | 北京紫光得瑞科技有限公司 | 低时延ldpc解码器的硬件实现方法、装置及解码器 |
CN112233720B (zh) * | 2020-10-27 | 2022-06-24 | 北京得瑞领新科技有限公司 | 低时延ldpc解码器的硬件实现方法、装置及解码器 |
Also Published As
Publication number | Publication date |
---|---|
CN103475378B (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104079382A (zh) | 一种基于概率计算的极化码译码器和极化码译码方法 | |
CN105024704A (zh) | 一种低复杂度的列分层ldpc译码器实现方法 | |
CN102857324B (zh) | 基于查找表的深空通信中ldpc串行编码器和编码方法 | |
CN104702292A (zh) | 一种部分并行ldpc译码器的实现方法 | |
CN108462496B (zh) | 一种基于随机比特流更新的ldpc译码器 | |
CN109495115A (zh) | 一种基于fpga的ldpc译码器及译码方法 | |
CN109361403A (zh) | Ldpc译码方法、ldpc译码器及其存储设备 | |
CN103501210A (zh) | 一种高性能多标准fec译码器 | |
CN106992026A (zh) | 一种针对NAND‑Flash存储介质的LDPC码快速信息恢复的译码方法 | |
CN103475378A (zh) | 一种适用于光通信的高吞吐率ldpc译码器 | |
CN102340320A (zh) | 卷积Turbo码双向并行译码方法 | |
CN104716965A (zh) | 一种bch软解码算法及其实现电路 | |
CN102404011A (zh) | 维特比解码实现方法及装置 | |
CN106856406A (zh) | 一种译码方法中校验节点的更新方法及译码器 | |
CN102868495B (zh) | 基于查找表的近地通信中ldpc串行编码器和编码方法 | |
CN101958718A (zh) | 用于ldpc码的改进型半并行译码器和译码方法 | |
CN102594369B (zh) | 基于fpga的准循环低密度校验码译码器及译码方法 | |
CN105515588B (zh) | 一种ldpc‑cc高速译码器 | |
CN102201817B (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 | |
CN107872231A (zh) | Ldpc译码方法与装置 | |
CN102684710B (zh) | 基于SSE的咬尾卷积码Viterbi译码方法 | |
CN109379088B (zh) | 一种并行Turbo码迭代译码的方法及系统 | |
CN102571107A (zh) | LTE系统中高速并行Turbo码的解码系统及方法 | |
CN106508094B (zh) | 一种低复杂度的低密度奇偶校验码译码方法及译码器装置 | |
CN104283571A (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 |