位置:51电子网 » 技术资料 » 通信网络

DVB-S2中BCH译码器的硬件设计

发布时间:2008/5/29 0:00:00 访问次数:635

1 引言

  第二代数字卫星广播标准dvb-s2自发布以来一直广受关注,他采用了由bch外码和ldpc内码级联而成的前向纠错编码(fec)系统,有效地降低了系统解调门限,几乎可以接近香农限,此外还使用了多种具有高频带利用率的调制方式,大幅度提高了信道传输能力。dvb-s2技术上的突破扩大了他的应用范围,服务范围包括广播业务(bs)、数字新闻采集(dsng)、数据分配/中继,以及internet接人等交互式业务。同时新的编码技术使其可以工作在更为恶劣的信道环境中,保证了卫星传输的通信质量。卫星数字电视直播产业已经在全球形成发展热点,随着业务的拓展,数字卫星接收机将具有广阔的市场前景。

  dvb-s2的前向纠错系统(fec)中配合ldpc码使用了长bch,其码字长度为16 200~58 320 b(正常帧模式)及14 400~3 240 b(缩短帧模式)不等。长bch码极大地增加了硬件的实现难度,满足芯片面积要求的同时,更要求其译码速度能够符合前级ldpc译码器输出。本文通过对长bch码优化方法的研究与讨论,针对标准中二进制bch码的特性,设计了实现该译码器的fpga硬件结构。

2 bch编译码原理及算法

  bch码是可以纠正多个随即错误的循环码,可以用生成多项式g(x)来构成,循环码的生成多项式可以表示成g(x)=lcm[g1(x),g2(x),…,gi(x)],其中g1(x),g2(x),…,gi(x)是g(x)零点的最小多项式,lcm表示这些最小多项式的最小公倍式。倘若给定一个bch码的码长n和纠错能力t,我们可以计算a,a2,a3,…,a2t在gf(q)上的最小多项式gi(x),i=1,2,…,2t(其中a是gf(qm)上的本原域元素),来构成该bch码的生成多项式:

g(x)=lcm[g1(x),g2(x),…,gi(x)]

  bch码的译码方法主要分两大类:时域译码和频域译码,目前普遍使用的是时域中迭代译码的方法。bch码的译码过程遵循循环码和线性码的一般译码步骤:

  (1)计算接收码字r(x)的伴随s(x);

  (2)根据伴随式s(x)找出估计错误图样e(x);

  (3)r(x)-e(x)=c1,得到译码器输出的估计值;若c1=c,则译码正确,否则译码错误。

  其中对于可纠正t个错误的bch码而言,需要计算2t个伴随式。由伴随式sj求出错误位置多项式λ(x)和错误值多项式ω(x)。这一过程有多种实现算法,常用的有peterson算法,berlekamp算法以及euclid算法。其中peterson算法需要完成矩阵求逆运算,当纠错数t较小时,该算法有很高的效率,但随着纠错能力t的增加,其运算量迅速增加。对于纠错数t较大的情况下,后两种基于迭代的方法更常用。之后一般利用钱氏搜索算法来计算错误位置多项式λ(x)的根,即位错误位置x1,x2,…,xt。该算法实质是一种穷尽法,将每个位置代人多项式验证是否为错误位置,在工程上很好地解决了错误位置求解的问题。同时一般利用forney算法通过错误位置多项式λ(x)和错误值多项式ω(x)来计算错误值y1,y2,…,yt。最后由错误位置xi和错误值yi得到错误图样e(x),通过r(x)-e(x)=c1纠正错误值,并输出最终译码值。

3 bch译码器硬件结构

  在这一节中,本文将针对dvb-s2中bch码的特性,提出一种高效、低复杂度的译码器硬件结构。根据译码原理,译码器一般由5个部分组成。

  其中r(x)为接收的码字,s为所求的伴随式,λ(x)为错误位置多项式,c1为输出的译码值。

  针对标准中二进制bch码的特殊性,对各模块作了如下优化:

  (1)利用二进制bch码的特性,减少伴随式的计算数量,以并行结构实现;

  (2)采用无逆二进制berlekamp算法,减少迭代次数,并从算法上去除了错误值多项式ω(x)的求解、求逆运算,省去相应硬件开销;采用序列化硬件结构,复用迦罗华域乘法器数量;

  (3)并行结构实现钱氏搜索;

  (4)利用递归匹配和群组递归匹配的方法,优化伴随式、钱氏搜索中使用的迦罗华域固定因子乘法器。

3.1 伴随式计算

  在bch译码过程中所需计算的伴随式个数为2t,即可纠正错误数t的2倍。dvb-s2中正常帧长模式下的bch码分别由(65 535,65 343,12),(65 535,65 375,10)和(65 535,65 407,8)三种码截短而得,可纠正12,10,8个错误,相应需要计算24,20,16个伴随式。伴随式计算公式如下:

  从伴随式的计算公式可知,完成一个伴随式的计算,需要一个码字所有码元输入花费的时间。因此码长为n的情况下,码元逐一输入,计算一个伴随式则需要n个时钟。为了减少伴随式计算时间,采用图2并行结构计算伴随式。一个时钟并行输入p位,则计算一个伴随式只需要[n/p]个时钟。

  因此对于dvb-s2中的bch码,最多只需计算12个伴随式,

1 引言

  第二代数字卫星广播标准dvb-s2自发布以来一直广受关注,他采用了由bch外码和ldpc内码级联而成的前向纠错编码(fec)系统,有效地降低了系统解调门限,几乎可以接近香农限,此外还使用了多种具有高频带利用率的调制方式,大幅度提高了信道传输能力。dvb-s2技术上的突破扩大了他的应用范围,服务范围包括广播业务(bs)、数字新闻采集(dsng)、数据分配/中继,以及internet接人等交互式业务。同时新的编码技术使其可以工作在更为恶劣的信道环境中,保证了卫星传输的通信质量。卫星数字电视直播产业已经在全球形成发展热点,随着业务的拓展,数字卫星接收机将具有广阔的市场前景。

  dvb-s2的前向纠错系统(fec)中配合ldpc码使用了长bch,其码字长度为16 200~58 320 b(正常帧模式)及14 400~3 240 b(缩短帧模式)不等。长bch码极大地增加了硬件的实现难度,满足芯片面积要求的同时,更要求其译码速度能够符合前级ldpc译码器输出。本文通过对长bch码优化方法的研究与讨论,针对标准中二进制bch码的特性,设计了实现该译码器的fpga硬件结构。

2 bch编译码原理及算法

  bch码是可以纠正多个随即错误的循环码,可以用生成多项式g(x)来构成,循环码的生成多项式可以表示成g(x)=lcm[g1(x),g2(x),…,gi(x)],其中g1(x),g2(x),…,gi(x)是g(x)零点的最小多项式,lcm表示这些最小多项式的最小公倍式。倘若给定一个bch码的码长n和纠错能力t,我们可以计算a,a2,a3,…,a2t在gf(q)上的最小多项式gi(x),i=1,2,…,2t(其中a是gf(qm)上的本原域元素),来构成该bch码的生成多项式:

g(x)=lcm[g1(x),g2(x),…,gi(x)]

  bch码的译码方法主要分两大类:时域译码和频域译码,目前普遍使用的是时域中迭代译码的方法。bch码的译码过程遵循循环码和线性码的一般译码步骤:

  (1)计算接收码字r(x)的伴随s(x);

  (2)根据伴随式s(x)找出估计错误图样e(x);

  (3)r(x)-e(x)=c1,得到译码器输出的估计值;若c1=c,则译码正确,否则译码错误。

  其中对于可纠正t个错误的bch码而言,需要计算2t个伴随式。由伴随式sj求出错误位置多项式λ(x)和错误值多项式ω(x)。这一过程有多种实现算法,常用的有peterson算法,berlekamp算法以及euclid算法。其中peterson算法需要完成矩阵求逆运算,当纠错数t较小时,该算法有很高的效率,但随着纠错能力t的增加,其运算量迅速增加。对于纠错数t较大的情况下,后两种基于迭代的方法更常用。之后一般利用钱氏搜索算法来计算错误位置多项式λ(x)的根,即位错误位置x1,x2,…,xt。该算法实质是一种穷尽法,将每个位置代人多项式验证是否为错误位置,在工程上很好地解决了错误位置求解的问题。同时一般利用forney算法通过错误位置多项式λ(x)和错误值多项式ω(x)来计算错误值y1,y2,…,yt。最后由错误位置xi和错误值yi得到错误图样e(x),通过r(x)-e(x)=c1纠正错误值,并输出最终译码值。

3 bch译码器硬件结构

  在这一节中,本文将针对dvb-s2中bch码的特性,提出一种高效、低复杂度的译码器硬件结构。根据译码原理,译码器一般由5个部分组成。

  其中r(x)为接收的码字,s为所求的伴随式,λ(x)为错误位置多项式,c1为输出的译码值。

  针对标准中二进制bch码的特殊性,对各模块作了如下优化:

  (1)利用二进制bch码的特性,减少伴随式的计算数量,以并行结构实现;

  (2)采用无逆二进制berlekamp算法,减少迭代次数,并从算法上去除了错误值多项式ω(x)的求解、求逆运算,省去相应硬件开销;采用序列化硬件结构,复用迦罗华域乘法器数量;

  (3)并行结构实现钱氏搜索;

  (4)利用递归匹配和群组递归匹配的方法,优化伴随式、钱氏搜索中使用的迦罗华域固定因子乘法器。

3.1 伴随式计算

  在bch译码过程中所需计算的伴随式个数为2t,即可纠正错误数t的2倍。dvb-s2中正常帧长模式下的bch码分别由(65 535,65 343,12),(65 535,65 375,10)和(65 535,65 407,8)三种码截短而得,可纠正12,10,8个错误,相应需要计算24,20,16个伴随式。伴随式计算公式如下:

  从伴随式的计算公式可知,完成一个伴随式的计算,需要一个码字所有码元输入花费的时间。因此码长为n的情况下,码元逐一输入,计算一个伴随式则需要n个时钟。为了减少伴随式计算时间,采用图2并行结构计算伴随式。一个时钟并行输入p位,则计算一个伴随式只需要[n/p]个时钟。

  因此对于dvb-s2中的bch码,最多只需计算12个伴随式,

相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!