新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 基于BM算法的BCH码的译码硬件实现

基于BM算法的BCH码的译码硬件实现

作者:时间:2009-04-23来源:网络收藏

摘要:码是一种理论上比较成熟的代数码型,在电力通信系统,GSM标准的语音和数据业务,以及卫星通信和数字广播通信(DVB-S2)等多个领域均有着广泛的应用。基于幂次运算,在线性反馈移位寄存器(LFSR)下实现了基于Berlekamp―Massey(BM)时域迭代译码的整个译码器构架,以及BM简化的硬件设计。通过计算机模拟仿真表明,两种的译码速率分别可达到32 Mbps,37Mbps。
关键词:BM迭代简化算法;FPGA;译码器构架

本文引用地址:http://www.eepw.com.cn/article/192083.htm


O 引言
码是1959年由Hocquenghem,1960年由Bose和Chandhari分别独立提出的一种能纠正多个随机错误的循环码,该码有严格的代数结构,具有纠错能力可控,在中短码长情况下性能接近理论最佳值等优点,并且构造方便,编码简单,是实际使用最广泛的码型之一。
1960年Peterson从理论上解决了二进制码的译码算法,奠定了BCH码译玛的理论基础。随后,Gorensten和Zierler把它推广到高阶有限域中。1966年Berlekamp提出了迭代译码算法,Maxsey从线性反馈寄存器的角度对该算法进行描述,不仅使算法成为可能,也大大提高了译码速度,从实际上解决了BCH码的译码问题。鉴于FP―GA具有较大块RAM,本文以(15,5)BCH码为例说明如何将BM迭代算法,以及后面的chien搜索都建立在有限域上进行运算,用域元素的幂次运算代替原来的乘和除操作,从而节约了逻辑单元(slice)资源。文献已经给出了普通BM译码算法的流程图,本文根据二元BCH码的特点给出了简化的BM算法流程图。


1 BM算法介绍
1.1 有限域知识介绍
BCH码是在有限域中进行运算的,详细的有限域知识参考文献。
以本文设计的BCH码为例,p(x)=x4+x1+1是GF(2)上的本原多项式。令α为本原多项式的根,m=4,则由{l,α,α2,α3}中元素的线性组合可表示GF(24)上的所有非零元素{α0,α1,α2,…,α14},这些非零元素构成一个循环群如表l所示。最后一行是为了运算的需要,人为加上去的,表示“无”这种状态。

1.2 经典BM算法
普通的译码算法都可分为如下三步:
(1)由接收码字R(x)计算伴随式S(x).(用除法电路)
(2)由伴随式S(x)求差错图样E(x).(用各种译码方式)
(3)由差错图样E(x)求得译出码字C(x).(用关系式C(x)=R(x)一E(x))
上面的(1)(3)步是固定关系式的运算,相对容易,最关键的是第(2)步。1966年,Berlekamp针对关键方程式S(x)D(x)≡ω(x)(mod x2t+1)的求解(这里的D(x)为错误位置多项式),提出一种复杂度随纠错数目线性增加的迭代算法,而Massey对Berlekamp算法作为设计自回归滤波器的过程进行了重新的推导,采用反馈移位寄存器来完成关键方程的计算。自此以后这种译码算法被称为BM迭代译码算法,其算法流程图参考文献。


2 二元域下的简化算法
经典的BM算法流程适合任何有限域的BCH码,对于GF(2),我们可以证明当r为偶数时,△r为0[2],此时迭代可以省略。通过对经典BM算法流程图的改进,得到下图l,即GF(2)上的简化BM算法流程图。

其中,Sn为伴随式,D(x)为错误位置多项式,B(x)为多项式修正项,△代表差值即下一个伴随式与由当前错误位置多项式表示的移位寄存器所产生的值之间的差值,L为移位寄存器的当前长度。


上一页 1 2 下一页

关键词: BCH 算法 硬件实现

评论


相关推荐

技术专区

关闭