BCH码

BCH码是循环码的一个重要子类,它具有纠多个错误的能力,BCH码有严密的代数理论,是目前研究最透彻的一类码。它的生成多项式与最小码距之间有密切的关系,人们可以根据所要求的纠错能力t很容易构造出BCH码,它们的译码器也容易实现,是线性分组码中应用最普遍的一类码。
 
本原循环码是一类重要的码。汉明码、BCH码和某些大数逻辑可译码都是本原码。本原码的特点是:
1、码长为2^m-1,m为整数。
2、它的生成多项式由若干m阶或以m的因子为最高阶的多项式相乘构成。
要判断循环码是否存在,只需判断阶生成多项式是否能由的因式构成。
代数理论告诉我们,每个m阶既约多项式一定能除尽。例如,m=5,共有6个5阶既约多项式:
这6个多项式都能除尽。且必定是的因式。
若循环码的生成多项式具有如下形式:
,这里t为纠错个数,为最小多项式,LCM表示取最小公倍式,则由此生成的循环码称之为BCH码。该码是以三个发现者博斯(Bose)、查德胡里(Chaudhuri)和霍昆格姆(Hocquenghem)名字的开头字母命名的。其最小码距dmin≥2t+1,能纠t个错误。BCH的码长为n=或的因子。码长为n=的BCH码称为本原BCH码。码长为因子的BCH码称为非本原BCH码。对于纠t个错误的本原BCH码,其生成多项式为。纠正单个错误的本原BCH码就是循环汉明码。
下面介绍几种常见的BCH码。
1、戈雷码(Golay)
(23,12)码是一个特殊的非本原BCH码,称为戈雷码,它的最小码距7,能纠正3个错误,其生成多项式为。它也是目前为止发现的唯一能纠正多个错误的完备码。
2、扩展形式
实际应用中,为了得到偶数码长,并增加检错能力,可以在BCH码的生成多项式中乘D+1,从而得到(n+1,k+1)扩展BCH码。扩展BCH码相当于将原有BCH码再加上一位的偶校验,它不再有循环性。
3、缩短形式
几乎所以的循环码都存在它另一种缩短形式。实际应用中,可能需要不同的码长不是或它的因子,我们可以从码中挑出前s位为0的码组构成新的码,这种码的监督位数不变,因此纠错能力保持不变,但是没有了循环性。
BCH码的译码方法可以有时域译码和频域译码两类。频移译码是把每个码组看成一个数字信号,把接受到的信号进行离散傅氏变换(DFT),然后利用数字信号处理技术在“频域”内译码,最后进行傅氏反变换得到译码后的码组。时域译码则是在时域直接利用码的代数结构进行译码。BCH的时域译码方法有很多,而且纠多个错误的BCH码译码算法十分复杂。常见的时域BCH译码方法有彼得森译码、迭代译码等。BCH的彼得森译码基本过程为:1、用的各因式作为除式,对接收到的码多项式求余,得到t个余式,称为“部分校验式”。2、用t个部分校验式构造一个特定的译码多项式,它以错误位置数为根。3、求译码多项式的根,得到错误位置。4、纠正错误。具体内容可参阅参考资料[2]的第357-359页。
事实上,BCH码是一种特殊的循环码,因此它的编码器不但可以象其它循环码那样用除法器来实现,而且原则上所有适合循环码译码的方法也可以用于BCH码的译码。
RS码是Reed-Solomon码(理德-所罗门码)的简称,它是一类非二进制BCH码,在RS码中,输入信号分成k

贡献者:
mouse123
Copyright © 1999-2024 C114 All Rights Reserved | 联系我们 | 沪ICP备12002291号-4