数据传输通信中,常常因传输差错造成误码错码,尤其在无线通信中,空中的突发或随机干扰噪声会造成编码差错。为了提高传输的正确率,往往采用一些校验方法,以检验纠正传输差错。通信中校验的方法很多,其中的BCH编码有其独特的优点:不仅可以检纠突发差错,还能检纠随机差错,被广泛地采用在微机级的通信中。但对更低层的单片机级的数据传输通信纠错,往往采用奇偶校验等简单的校验方法。BCH校验因其算法复杂,尤其是动态实时的无线通信中,单片机的通信往往无法采用BCH解码检纠。
1 BCH码结构
BCH码是一种检纠能力较强的循环码。它由信息多项式M(X)和校验多项式J(X)组成,如以T(X)表示整个BCH(31:21)码字的31位码组多项式,则:
T(X)=M(X)+J(X) (1)
在31位BCH码的后面再加上1位,以保证整个码字32位中“1”的个数为偶数。该位称偶校验位。这样就形成BCH(31:21)加1位偶校验位的标准码字,其结构为:
其中校验多项式J(X)由公式(2)计算:
| X0X1……X20 | X21……X30 | X31 |
| T(X) | J(X) | 偶校验位 |

本文介绍了如何使用汇编语言实现BCH码的解码校验算法,包括BCH码的结构、检错过程、定位方法和纠错原理。通过模二加法和右移位实现除法,当检测到余项不为零时,通过快速查表定位错误位置,并对错误位进行反转以完成纠错。这种方法适用于单片机级别的实时通信数据校验。
最低0.47元/天 解锁文章
7980

被折叠的 条评论
为什么被折叠?



