期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 社科历史 > 自然科学 >

一种低复杂度LDPC译码器的计与实现(2)


假设接收到的向量为y,其长度为N,H矩阵的大小为M×N,定义集合: 
  〖HL(1:1,Z〗M(n)={m:Hm,n=1}, 
  N(m)={n:Hm,n=1}, 
  N(m)\i={n:Hm,n=1,n≠i}, 
  M(n)\j={m:Hm,n=1,m≠j}. 
  BP译码算法分以下几个步骤 : 
  初始化(Initialization):计算每个变量节点的初始信道先验概率值.即对于n∈{1,2,…,N},计算概率: 
  若迭代次数没有达到预设的最大次数,则重复(2)~(4)步骤,反复迭代,直到得出译码结果. 
  BP译码算法充分利用了变量节点和校验节点之间的关系,从而可以得到逼近香农极限的译码性能,且其迭代过程中的收敛也比较快.同时由于采用了并行的迭代译码算法,译码复杂度和译码延时都很低. 
  1.3 算法分析 
  由上述算法描述可知,在译码过程中,除了大量的加法和乘法运算外,在式(1)的计算中还要用到ex.一般地,在FPGA设计中,对此公式的实现方法主要有:ROM(Read Only Memory)查表法、泰勒级数求值法.其中ROM查表法结构简单、准确度高,应用广泛,但受ROM容量限制,性能提高很有限,且数据精度也会受影响;泰勒级数求值法运算复杂,在硬件实现的复杂度和速度上受到一定限制.为了在不影响译码性能的前提下,最大程度地减少所占内存资源,同时降低复杂度,本文利用切比雪夫多项式拟合算法的优良的逼近性能,提出采用切比雪夫多项式拟合的方法,对式(1)进行简化,方便其硬件实现. 
  2 切比雪夫多项式 
  2.1 切比雪夫多项式理论 
  由上述结论可知,可以通过式(6)对一些复杂度的表达式进行切比雪夫多项式拟合,从而进行简化. 
  2.2 改进的概率初始化公式 
  在通信系统模型中,当信噪比SNR属于某区间时,经过该信道加噪后的传输信号,即译码器输入数据也是属于特定范围的.因此,若对区间进行划分,则可以利用基于截断切比雪夫级数的多项式来拟合式(1). 
  3 BP译码算法的设计与实现 
  本文在对BP译码算法进行实现的过程中,将节点实现分为校验节点单元(Check Node Unit , CNU)和变量节点单元(Variable Node Unit ,VNU),对应于译码算法中的横向处理和纵向处理,分别用来处理校验节点和变量节点的概率更新.同时,本文还利用切比雪夫多项式来进行初始化处理. 
  本文中译码器的总体结构如图2所示. 
  3.1 切比雪夫单元 
  由上节可知,当用Pn=C0+C1x+C2x2来拟合式(1)时,该公式的实现由3个乘法和3个加法组成.实际上,当x的范围确定时,切比雪夫多项式的系数C0, C1和C2是定值,为了进一步降低电路设计的复杂度,将式中系数进一步简化为2的指数和的形式.即Pn=C0+(2-a+2-b)*x+(2-c+2-d)*x2,在二进制域中,式中与2-n的乘法可以转化为移位运算.因此,在本文中利用移位运算对切比雪夫多项式的实现进行了简化. 
  由图3可知,改进后的切比雪夫多项式的实现可转化为1个乘法、3个加法和4个移位运算.与原式相比,所占资源明显减少,且降低了复杂度. 
  3.2 改进式半并行结构 
  一般地,由于BP译码算法的特性,采用全并行结构的译码器,可以达到很高的译码速率.全并行结构的译码器是指在概率更新过程中,多个CNU单元或VNU单元并行执行,数据在CNU模块和VNU模块之间直接传递.这种方法能够很快地得到输出结果.但是对于传输信息位超过1 000 bit的码字,在全并行结构下,由于各执行单元的并行性,不仅会要求较多的资源,同时还会要求很大的存储量来存储中间值.因此,本文中采用了半并行结构. 
  半并行结构是一种并串结合的结构.其主要思路是通过串行地完成原本可以由多个节点并行完成的计算,仅实现数目远远少于二分图节点数目的计算单元,从而简化译码器节点之间错综复杂的数据线网络布线问题并降低译码器对逻辑资源的需求.与全并行结构相同,半并行译码器的译码算法的计算由节点完成,并增加缓存来对计算数据进行存储,其具体框图如图4所示. 
  由图4可知,传统半并行译码器在每次迭代中的工作流程按照以下几步进行: 
  1)VNU根据H矩阵,顺序从与之连接的RAM中读取数据. 
  2)VNU将计算结果输出到RAM的写端口,并将数据写回到RAM的原先位置. 
  3)步骤1)~2)循环n次,直到RAM中的所有数据都被读写一次之后, CNU开始工作.
  4)CNU根据H矩阵,顺序从与之连接的RAM中读取数据. 
  5)CNU将计算结果输出到RAM的写端口,并将数据写回到RAM的原先位置. 
  6)步骤3)~4)循环m次,直到RAM中的所有数据都被读写一次之后,一次迭代结束. 
  同时,为了减少由于半并行结构中的串行计算带来的速率延迟,每一个节点单元的计算须采用流水线结构.然而,对于非规则LDPC码来说,因其校验矩阵的行重与列重不相同,故对于VNU和CNU执行单元来说,每一次参与运算的数据个数是不相同的,这必会引起流水线结构中复杂的控制信号.为了减少控制部件的复杂度,本文中取行计算和列计算的最大时序周期,作为流水结构中的固定周期,用在CNU模块和VNU模块中,对这两个模块进行了流水线的设计.其模块流水设计如图5所示. 
  由表1可知,与文献[7]的实现结果对比,可以发现使用切比雪夫多项式的BP译码算法省去了因查表法而占用的存储资源,同时采用的半并行结构使得系统在逻辑资源消耗上较相关工作更少.


更多自然科学论文详细信息: 一种低复杂度LDPC译码器的计与实现(2)
http://www.400qikan.com/mflunwen/skls/zrkx/4038.html

相关专题:西安文理学院学报 安阳工学院学报


上一篇:RC端角的定制与应用
下一篇:面向分组密码处理的可重构分簇式架构模型及其任务映射技术研究

认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


品牌介绍