基于汇编语言的BCH解码校验算法.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘要:介绍数据传输中 BCH 解码校验用汇编语言实现的算法。算法包含 BCH 码的差 错检验、差错位查找和差错纠正,同时列出相关主要子程序清单并予说明。 关键词: BCH 解码校验算法汇编语言 数据传输通信中, 常常因传输差错造成误码错码, 尤其在无线通信中, 空中的突发或随 机干扰噪声会造成编码差错。 为了提高传输的正确率, 往往采用一些校验方法, 以检验纠正 传输差错。通信中校验的方法很多,其中的 BCH 编码有其独特的优点:不仅可以检纠突发 差错, 还能检纠随机差错, 被广泛地采用在微机级的通信中。 但对更低层的单片机级的数据 传输通信纠错,往往采用奇偶校验等简单的校验方法。 BCH 校验因其算法复杂,尤其是动 态实时的无线通信中,单片机的通信往往无法采用 BCH 解码检纠。 笔者近几年在工业测控和无线通信系统开发, 摸索了 BCH 解码检纠在实时的、 动态的、 单片机级的通信中的算法,并取得十分突出的效果。以下以 BCH(31 :21)码为例进行探讨。 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 …… X20X21 …… X30X31T(X)J(X) 偶校验位 J(X)=M(X)/S(X)(2) 式中 S(X) 是 BCH(31 :21)码的生成多项式,见式 (3) : 生成多项式 S(X) 的值在 BCH(31:21) 码的值是固定的。 BCH 码是一种循环码,循环码是利用除法来纠错的。由于任一码组多项式 T(X) 都能被 生成多项式 S(X) 整除,所以在接收端可以将接收码组 R(X) 用 S(X) 去除。若在传输中未发生 错误,接收码与发送码相同,即 R(X)=T(X) ,故接收码组 R(X) 必定能被生成多项式 S(X) 整 除;若码组在传输中发生错误, 即 R(X) ≠T(X) ,R(X) 被 S(X) 除时,可能除不尽而有余项 Y(X) , 因此,可根据余项是否为零来判断码中有无错误 (检错 ),如有余项,通过一定的运算就可以 确定错误位置,从而加以纠正 (纠错 ) 。 这里 R(X) 被 S(X) 除,是 32 位被 11 除,这在非实时静态的微机级实现非常简单 ;但在实 时的、 动态的、 单片机级的通信中实现要快速巧妙的算法才能实现,否则, 现有的码未检错 及纠错完毕,下一个码已经到了。因为动态中位和位的时距 t 往往只有几十 μs,以 9.6b/s 的短信为例, t=104 μs。在这 104 μs 中要完成检错、定位和纠错三个算法程序,才是一个 完整的解码检纠过程。 2、检错 根据上述原理, 检错过程也就是求算 R(X) 被 S(X) 除的余项 Y(X) 的过程,如余项 Y(X)=0 , 则 R(X)=T(X) ,传输无差错 ;如余项 Y(

文档评论(0)

fkh4608 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档