计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

数据存储系统中的安全卫士--汉明码软

2013-05-23 01:29
导读:计算机软件论文毕业论文,数据存储系统中的安全卫士--汉明码软怎么写,格式要求,写法技巧,科教论文网展示的这篇论文是很好的参考:毕业 摘要:汉明码是1种编码效率极高的差错控制码
毕业

摘要:汉明码是1种编码效率极高的差错控制码,汉明码及扩展汉明码广泛应用于数据存储系统中。本文在简单分析汉明码原理的基础上,详细阐述了汉明码的编码及纠错步骤,旨在使读者理解汉明码的纠错过程以及在实际中的广泛应用。 毕业 网
关键词:差错控制编码技术;汉明码;原理;编码、纠错步骤
随着PC机的日益普及,存储对象的日渐多元化,用户对存储需求不断升级,如何保证数据稳定、高速传输?RAID(“Redundant Array of Independent Disk”)独立冗余磁盘阵列解决了这个难题,并且成为目前存储的主流技术。RAID是如何实现数据高速、可靠的传输呢,1个关键的核心技术就是应用了1定的差错控制编码技术,在RAID众多系列中最复杂的RAID 2中就采用了“汉明码(Hamming Code)差错控制编码技术”,它在数据存储及移动过程中进行差错控制,对传输过程中出现的差错自动进行纠正,保证了数据传输的安全可靠性。笔者在这里将阐述汉明码的编码原理,并剖析汉明码编码纠错过程。
1:汉明码的应用与原理
汉明码是1950年由美国贝尔实验室汉明(也有译为海明)提出来的,是第1个设计用来纠错的分组码。目前,汉明码及其变形已广泛地应用在数字通信、数据通信中的数据存储系统中,尤其在计算机的内存寻址及RAM与寄存器之间来回传送比特位时经常使用。
汉明码是在原编码的基础上附加1部分代码,使其满足纠错码的条件,原编码我们可将它称为信息码,附加码称为校验码(又可称为监督码或冗余码)。汉明码码距为3,所以只能够发现2个错误或纠正1个错误,编码效率最高。它属于线性分组码,由于线性码的编码和译码容易实现,至今仍是应用最广泛的1类码。
2:汉明码编码过程
汉明码编码可遵循以下四个步骤: (科教作文网http://zw.ΝsΕAc.Com编辑整理)
1。 由信息位数,根据汉明不等式,确定校验位数
    2。确定校验码位置 毕业 网
    3。确定校验码的值
    4。求出汉明码
实例:若有17位长的信息码为1001101,请求出汉明码。
步骤1:校验位数的确定
由汉明不等式2r-1≥n 或 2r≥k+r+1(其中r为检验码位数, k为信息码位数,n为编码后的码总长)可知,在本题中k=7,代入2r≥k+r+1公式中可解得r 的取值为4,即需要4位检验码(可依次编为r0、r1、r2、r3),则总码长n=k+r=7+4=11。
步骤2:确定校验码位置
从理论上讲校验码位可放在任何位置,但习惯上将它放于位置1,2,4,8……等位置,对于校验位少的可用强记法记住所在位置,而对于位数较多的强记法就不适用,在这里介绍1种公式法,不用死记硬背,即可求出各校验码的位置。
校验位rn对应的位置为2n,n的取值从0开始,则:
r0=20=1  r1=21=2  r2=22=4  r3=23=8
将校验位填在表格1对应的单元格内,其余位用信息码填充。表格1中,位数是指数据存放在第几位,共11位,用In表示(n的取值从1至11)。
11 10 9 8 7 6 5 4 3 2 1 位数
1 0 0 r3 1 1 0 r2 1 r1 r0 编码
表格 1
步骤3:确定校验码的值
确定校验码的值是个较繁琐的过程,遵循以下几个步骤:
首先,将信息码所对应的位数写成2的幂之和的形式。在实例中我们知道信息码对应的位数有I11、I10、I9、I7、I6、I5、I3等7位,相应的值写成如下形式:
11=23+21+20          10=23+21        9=23+20        7=22+21+20          6=22+21                      5=22+20                3=21+20
其次,校验位rn由信息码对应位数的幂之和形式中包含有n的信息码异或而得,从表格1分析可知, r0的值由I11(信息码为1)、I9(信息码为0)、I7位(信息码为1)、I5位(信息码为0)、I3(信息码为1)对应的信息码异或而得, (科教范文网 lw.nseaC.Com编辑发布)
则r0=1○+0○+1○+0○+1=1
依此类推:
r1=1○+0○+1○+1○+1=0
r2==1○+1○+0=0
r3==1○+0○+0=1
步骤4:求出汉明码
将校验位rn的值填充到表格1中,即可求出汉明码为10011100101。
11 10 9 8 7 6 5 4 3 2 1 位数
1 0 0 1 1 1 0 0 1 0 1 汉明码
表格 2
三:汉明码纠错步骤
实例1中,由7位信息码,求出了汉明码为10011100101,若该编码传输被接收时,第7位变成了0,接收端如何来判断并且纠正错误呢?
11 10 9 8 7 6 5 4 3 2 1 位数
1 0 0 1 1 1 0 0 1 0 1 汉明码
1 0 0 1 0 1 0 0 1 0 1 出错的汉明码
表格 3
在汉明码中,通过校验因子进行验证,校验因子公式为Sn=rn(校验码) ○+ Rn(接收码)
rn(校验码)即为所对应的r的取值,Rn(接收码)为由信息码对应位数的幂之和形式中包含有n的信息码异或而得。
如表格4所示,出错的第7位数据用蓝色显示,黄色表示校验位,黑色表示信息位。
S0=r0(校验码) ○+ R0(接收码)=1○+1○+0○+0○+0○+1=1
S1=r1(校验码) ○+ R1(接收码)=0○+1○+1○+0○+0○+1=1
S2=r2(校验码) ○+ R2(接收码)=0○+0○+1○+0=1
S3=r3(校验码) ○+ R3(接收码)=1○+0○+0○+1=0
求出来的S3S2S1S0=0111(即十进制7),该数指示了发生错误的比特的准确位置是第7位,1旦确定了错误的位置,接收方就可在将该位纠正过来,在本题中将0改为1,这样就起到了纠错的作用。
11 10 9 8 7 6 5 4 3 2 1 位数
1 0 0 1 0 1 0 0 1 0 1 出错的汉明码
表格 4
结束语
本文从RAID 2中应用汉明码进行纠错为出发点,阐述了汉明码的原理及应用方向,通过实例,对如何进行汉明码编码及汉明码如何进行纠错进行了详解。
参考文献:
          [ 1 ]  李斯伟 雷新生  数据通信技术  人民邮电出版社  2004
          [ 2 ]  Bernard Sklar著 数字通信—基础与应用研究 电子工业出版社 2003  毕业 网

    上一篇:计算机软件之模具CAD/CAM软件的应用与开发现状 下一篇:没有了