用汇编语言实现BCH解码校验算法

本文介绍了如何使用汇编语言实现BCH码的解码校验算法,包括BCH码的结构、检错过程、定位方法和纠错原理。通过模二加法和右移位实现除法,当检测到余项不为零时,通过快速查表定位错误位置,并对错误位进行反转以完成纠错。这种方法适用于单片机级别的实时通信数据校验。
摘要由CSDN通过智能技术生成
数据传输通信中,常常因传输差错造成误码错码,尤其在无线通信中,空中的突发或随机干扰噪声会造成编码差错。为了提高传输的正确率,往往采用一些校验方法,以检验纠正传输差错。通信中校验的方法很多,其中的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) 偶校验位

J(X)=M(X)/S(X)    (2)

式中S(X)是BCH(31:21)码的生成多项式,见式(3):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值