3.BCH 码译码算法
BCH 码的译码方法可分为时域译码和频域译码两类。频域译码是把每个码组看成一个数
字信号,把接收的信号进行离散傅立叶变换(DFT),然后利用数字信号处理技术在频域内译
码,最后进行付氏反变换得到译码码组。时域译码是在时域上直接利用码的代数结构进行译
码。时域译码算法一般分为下面几个步骤
1 由接收序列计算伴随式;
2 由伴随式计算差错定位多项式的系数;
3 求差错定位多项式的根,找出错误位置;
4 进行纠错。如何由伴随式计算差错定位多项式的系数是 BCH 译码中最为复杂、关键
的一步,不同的实现方法导致了不同的算法。其中较为著名的是彼得森直接算法和
迭代算法。对于码位数较短,纠错位数较少的码,一般采用彼得森直接算法,而当
要求纠错的码组位数较长,且要求纠正二元 BCH 码组内多个错误时,迭代算法就显
得简捷与高效了。
3.3.2 Perterson(二元)译码算法
由于一个码在工程中的实用性的要求,BCH 码译码在编码理论中一直是重点研究的课题之
一。 Perterson 译码算法的译码步骤分为 3 步:
(1)计算接收到的码字 R(x)的伴随式 S 。
(2)由伴随式 S 找到错误图样,该步骤中,一般利用 BM 迭代算法求出错误位置多项式。
彼得森译码算法适用于设计纠错能力 t 比较大的 BCH 码。
3.3.4 BCH 码的查表译码算法
查表译码算法基本步骤与 BCH 码一般译码算法基本相同,仅针对计算复杂的第二步进行优
化并用查译码表的方式进行译码,而查表算法中如何生成译码则成为关键。