转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
校验码辅导讲座         ★★★★

校验码辅导讲座

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4193 更新时间:2009/4/23 18:31:02
【例】2001年初级程序员试题

由 6 个字符的 7 位 ASCII 编码排列,再加上水平垂直奇偶校验位构成下列矩阵(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位):

字符 7 位 ASCII 码 HP 3 0 X1 X2 0 0 1 1 0 Y1 1 0 0 1 0 0 X3 1 + X4 1 0 1 0 1 1 0 Y2 0 1 X5 X6 1 1 1 1 D 1 0 0 X7 1 0 X8 0 = 0 X9 1 1 1 X10 1 1 VP 0 0 1 1 1 X11 1 X12

则 X1 X2 X3 X4 处的比特分别为 __(36)__ ;

   X5 X6 X7 X8 处的比特分别为 ____ ;

   X9 X10 XI1 X12 处的比特分别为 __(38)__ ;Y1 和 Y2 处的字符分别为 __(39)__ 和 __(40)__ 。

[解]

从ASCII码左起第5列可知垂直为偶校验。则:

从第1列可知X4=0;从第3行可知水平也是偶校验。

从第2行可知X3=1;从第7列可知X8=0;从第8列可知X12=1;

从第7行可知X11=1;从第6列可知X10=0;从第6行可知X9=1;从第2列可知X1=1;

从第1行可知X2=1;从第3列可知X5=1;从第4行可知X6=0;

从第4列(或第5行)可知X7=0;整理一下:

(36) X1X2X3X4 = 1110

(37) X5X6X7X8 = 1000

(38) X9X10X11X12 = 1011

(39) 由字符Y1的ASCII码1001001=49H知道,Y1即是“I”(由“D”的ASCII码是1000100=44H推得)

(40) 由字符Y2的ASCII码0110111=37H知道,Y2即是“7”(由“3”的ASCII码是0110011=33H推得)

假如你能记住“0”的ASCII码是0110000=30H;“A”的ASCII码是1000001=41H,则解起来就更方便了。

三、海明校验

我们在前面指出过要能纠正信息字中的单个错误,所需的最小距离为3。实现这种纠正的方法之一是海明码。

海明码是一种多重(复式)奇偶检错系统。它将信息用逻辑形式编码,以便能够检错和纠错。用在海明码中的全部传输码字是由原来的信息和附加的奇偶校验位组成的。每一个这种奇偶位被编在传输码字的特定位置上。实现得合适时,这个系统对于错误的数位无论是原有信息位中的,还是附加校验位中的都能把它分离出来。

推导并使用长度为m位的码字的海明码,所需步骤如下:

1、确定最小的校验位数k,将它们记成D1、D2、…、Dk,每个校验位符合不同的奇偶测试规定。

2、原有信息和k个校验位一起编成长为m+k位的新码字。选择k校验位(0或1)以满足必要的奇偶条件。

3、对所接收的信息作所需的k个奇偶检查。

4、如果所有的奇偶检查结果均为正确的,则认为信息无错误。

如果发现有一个或多个错了,则错误的位由这些检查的结果来唯一地确定。

校验位数的位数

推求海明码时的一项基本考虑是确定所需最少的校验位数k。考虑长度为m位的信息,若附加了k个校验位,则所发送的总长度为m+k。在接收器中要进行k个奇偶检查,每个检查结果或是真或是伪。这个奇偶检查的结果可以表示成一个k位的二进字,它可以确定最多2k种不同状态。 这些状态中必有一个其所有奇偶测试试都是真的,它便是判定信息正确的条件。于是剩下的(2k-1)种状态,可以用来判定误码的位置。于是导出下一关系:

2k-1≥m+k

码字格式

从理论上讲,校验位可放在任何位置,但习惯上校验位被安排在1、2、4、8、…的位置上。

图5列出了m=4,k=3时,信息位和校验位的分布情况。

码字位置 B1 B2 B3 B4 B5 B6 B7 校验位 x x   x       信息位     x   x x x 复合码字 P1 P2 D1 P3 D2 D3 D4

图5 海明码中校验位和信息位的定位

校验位的确定

k个校验位是通过对m+k位复合码字进行奇偶校验而确定的。

其中:P1位负责校验海明码的第1、3、5、7、…(P1、D1、D2、D4、…)位,(包括P1自己)

P2负责校验海明码的第2、3、6、7、…(P2、D1、D3、D4、…)位,(包括P2自己)

P3负责校验海明码的第4、5、6、7、…(P3、D2、D3、D4、…)位,(包括P3自己)

对m=4,k=3,偶校验的例子,只要进行式次偶性测试。这些测试(以A、B、C表示)在图6所示各位的位置上进行。

奇偶条件

码 字 位 置

1 2 3 4 5 6 7

A

B

C

x

 

 

 

x

x

上一页  [1] [2] [3] [4] [5] [6]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台