基于ACE约束的S-IRA编译码器设计

时间:2010-06-29来源:网络

对于外信息计算部分,由于每层的列重至多为1,因此每一个外信息计算单元可以在每一层的计算中更新该单元对应行的外信息。


从输入缓存部分输入的外信息与RAMl中的相减得到,将存人RAM2,并输入比较/选择器。当该行的全部计算完毕后,从比较/选择器输出,经过乘法器得到的存入RAMl,并与缓存在RAM2中的相加,得到,即完成一次迭代。由于RAM2中的数据输出可以连续地输入输出,因此在输入完该次迭代的所有后,马上可以接着输入下一次迭代的,从而译码可以连续地进行。
比较/选择器的作用是计算,即2.1.3式的后半部分。由于输出的绝对值只有两种:最大值和次最大值,因此只需得到最大值和次最大值以及各自对应的位置,并记录对应的正负符号,就可以完全确定。


在译码的横向计算过程中,对于某一行,比较/选择器首先初始化,其输入端输入前一级加法器输出的,将输入的符号存入符号寄存器(其中符号寄存器增加一位符号累加位,计算该行的符号),并将||首先与存储器中的最小值比较,如果输入值小于最小值存储器中所存储的值,则将最小值存储器中所存储的值存入次小值存储器,然后将输入值存入最小值存储器,并在最小/次小选择寄存器中记录最小值位置,接着开始下一个值的比较;如果输入值大于最小值存储器中所存储的值,则接着与次小值存储器中的值比较,如果输入值小于次小值存储器中的值,则将输入值存入次小值存储器,接着进行下一个输入值的比较,如果输入值大于次小值存储器中的值,则直接进行下一个输入值的比较。当该行所有都处理完毕后,则按照符号寄存器中的符号依次输出,并按照最小/次小选择寄存器中记录选择依次输出最小值或次小值,即

3 仿真结果及分析
图lO中黑色曲线为本文提出的RA码构造方法所构造出码字的误码率曲线和误帧率曲线。仿真选择码长为1008,码率1/2,b=7,列重分布尽量符合密度进化算法的结果。采用BPSK调制,AWGN信道,采用log-BP算法译码,最大迭代次数为50次。


红色曲线为传统的基于PEG边增长算法构造出码字的误码率曲线和误帧率曲线。为便于对比,仿真时选择的码长同样为1008,码率l/2,采用。BPSK调制,AWGN信道,采用log-BP算法译码,最大迭代次数为50次。
从仿真结果来看,本文提出的码字构造方法所构造码字的误码平层在10-6左右,而传统的基于PEG边增长算法构造出码字的误码平层则在10-7,性能要更好。这是因为在RA码的校验矩阵中存在一列列重为1的列,H2的双对角形式使得其最小码距太小,RmD码便是针对这一问题而产生的。针对H2的优化已有很多文章专门讨论,文献所介绍了几种有效的处理方法。但本文所提的码字构造方法构造简单,便于硬件实现时的并行处理,有利于实现编译码器的高吞吐量。
对于不同码长、码率的S-IRA码,都可以采用上面所提到的方法得到,当然Q越小,资源消耗就越大。对于编码器,码长、码率不同,则uPT需改变各个存储器的大小,而计算电路则需改变SR从计算电路的数量。对于译码器同样需要改变各个存储器的大小以及外信息计算单元的数量。

4 结论
使用单位阵的循环移位矩阵作为非零子矩阵构造LDPC码的循环矩阵结构十分适合于部分并行译码实现,而RA码则具有编码复杂度低的特点。本文结合两者的特点设计出了硬件实现时的编译码器结构,由于采用的循环矩阵结构因而实现时可以占用很少的资源。

1 2 3

关键词: S-IRA ACE 编译码器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版