张力检测系统中差错控制编码的原理与实现.docVIP

张力检测系统中差错控制编码的原理与实现.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
张力检测系统中差错控制编码的原理与实现

张力检测系统中差错控制编码的原理与实现摘要:在钢丝绳张力无线检测系统数据传输过程中,由于受传输信道介质和外界环境干扰影响,导致数据传输错误。根据差错控制编码的基本原理,本文介绍一种能检测两位错误并纠正一位错误的差错控制技术,并在Keil C51中进行C语言程序设计实现此算法 关键词:张力检测;编码;译码;汉明码;KeilC51 中图分类号:TP274 文献标识码:A 随着现代通信技术和计算机技术的高速发展,无线数字通信的应用越来越广泛。钢丝绳张力检测系统就是一个很好的例子。此系统将数字无线通信、测量和计算机技术结合在一起,其功能是将电梯、缆车或提升机钢丝绳张力检测信息通过测力传感器转换成数字信号, 通过数据采集处理与移动数据通信发射装置,在接收端经过数据接收与数据处理等装置,对原始数据进行处理、分析和计算,输出人们想要的结果,并作出相应的判断与控制。使用该系统,可为提升机安全、经济地运行提供重要保证,从而大大地提高提升系统可靠性,减少事故,防止人员伤亡 1 编译码算法讨论 1.1 编码原理 汉明码就是在一组代码中加入一定数量的监督码元。若某个信息位错,引起几组奇偶校验结果均出错,由此根据奇偶组的检错,确定误码信息位及误码性质 一般说来,若码长为n,信息位数为k,则监督位数r=n-k。编码效率为k/n。如果希望用r个监督位构造出r个监督关系式来指示一位错码中的n种可能位置,则要求: 1.2 设计思想 在提升机钢丝绳张力检测系统中需要同时检测好几根钢丝绳的张力均衡情况,因此在传送数据的时候需要将这几路信号连续传送出去。在测力传感器将检测信息转换成数字信号后,钢丝绳张力无线检测系统上位机用来对这些数字信号进行编码。在数据接收端,下位机则用来进行译码取出有效数据 假定数据块长度为8个字节,发送前将高四位和低四位取出分别进行编码再进行发送(见图1)。在接收端,同编码一样,译码也是分开进行:接收到16位数据后,分别取出高八位和低八位进行译码,并提取有用信息,即信息位,得到编码前的原始数据 1.2.1 编码设计 由于单片机串口串行发送数据一般都是8 位数据位,所以根据汉明码不等式,需要4 位监督位,即 r = 4 ,用s3 s2 s1 s0 表示四个监督关系式中的校正子,信息码位k = 4。这样就构成(8 ,4) 汉明码,此编码效率为50%。其构成见表1 所示。这里用a7 a6 a5 a4 a3 a2 a1 a0 表示8 个码元,s0 s1 s2 s3 表示四个监督关系式中的校正子。则s0 s1 s2 的值与错码位置的对应关系可以规定如表2 所示(当然我们可以规定成另外一种对应关系)。s3的值在下面1.2.2译码设计这一节中确定 由表1知,发送编码时,按下式决定监督位 当s3为0时表示没有错码或者有两个错码 当s3为1时表示存在一个错码 现根据s3s2s1s0的取值进行错码分析从而进行检测和纠正 讨论: (1)s3=0 当s2s1s0不为000 (即a1,a2………a7中有一个错码) 当s2s1s0为000(即a1,a2………a7中没有错码) 没有错码 (2)s3=1 综合以上讨论情况得出此种编码方式可以满足纠正一个错码检测两个错码的要求。下面进一步讨论在Keil C51进行C语言编程实现 2 软件实现 上述设计思想可以通过一定的数字逻辑器件来实现,将其运用于串行数据通信中,可提高数据的可靠性,并且编译码速度也较快。但是这需要一定的硬件电路来支持,因此也就增加了设备的成本和复杂性。下面叙述的用软件实现的方法,能够在不增加任何硬件的情况下,完成错码的纠正和检测,从而也更好地改善了传输系统的性能 软件实现的基本思想:先构造一个编码表,因此数据的编码可以通过查表来实现,具体流程图见图2。在数据接收端,当一数据块接收完毕,取出高8位和低8位,通过计算校正因子,判断接收数据有无错误,若有一个错误,则通过表2确定错码位置,然后用取反指令即可。若有两个或以上错误,则重新发送数据。接收程序流程图见图3 MCS-51系列单片机在串行数据传输过程中用软件实现流程如图2~图4所示。为叙述方便,假定A机发送,B机接收。在A机开始发送时,先送一个“AA”信号,B机收到后回答一个“BB”,表示同意接收。当A机收到“BB”后,开始发送编码后的数据信息,直到全部数据信息发送完毕。接收程序与此对应,B机首先和A机联络,然后接收数据,待全部数据接收完毕,再对接收的数据进行译码,完成数据位错码的检测和纠正,当检测到两个或两个以上错码时,向A机回送“CC”,重新接收数据块长度 在实时的,动态的单片机级的通信中要有快速的算法。因为在动

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档