



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息的输送:数据传递过程中的奇偶校验丁伟宋道星很多娱乐节目中都有一个名叫“传声筒”的游戏,在游戏中,由于受到各种因素的影响,参与人员在传递信息的过程中会使信息发生错误而产生喜剧效果。而在生活中,信息的传输时刻都在发生,模拟信号在传输过程中,由于各种影响因素的存在,会产生各种失真现象,且不容易纠正。数字信号是利用0、1两个数字的编码来表示信息,在数字设备之间,存储、传输的数据都是数字信号,数据在存储、传输过程中的错误会引起数据的变化。因此,在数字信号的传输过程中,以编码理论为基础的校验纠错技术就顯得尤为重要。本文奇偶校验原理在诸多的校验方法中,比较容易理解的是奇偶校验,奇偶校验是一种常用的检验代码传输正确性的校验方法,它根据传输的一组二进制数中的“1”的个数是奇数还是偶数来进行校验。是奇数还是偶数是事先定好的,奇数的叫奇校验,反之叫偶校验。在数据传输之前,我们首先要设定一个校验位,通过这个校验位使传输的数据中“1”的个数为奇数或者偶数。若用奇校验则在接收端收到代码时校验“1”的个数是否为奇数,同理,若用偶校验则校验“1”的个数是否为偶数,如图1所示。在接收方收到数据后,对数据中“1”的个数进行统计,如果为预定好的奇数或偶数则校验通过,否则表示传输过程中有错误发生,此时接收方可以发送请求要求发送方重新发送数据。这种校验方式只能校验正误,没有纠错能力,称为一维奇偶校验。二维奇偶校验,也被称为矩阵校验或水平垂直一致校验。计算机在对数据信息进行传送之前,除了对每行数据添加一个奇偶校验位,还要对每列数据添加一个奇偶校验位,所以,二维奇偶校验就是结合行、列两种一维校验的校验方法。通过这种横向、纵向同时进行校验的方式来对整个数据进行校验,这种校验方法拥有更好的校验性能,因为它有可能检测出偶数个错误。尽管每行的校验位无法检测出本行中的偶数个错码,但是按列的方向来进行检测的话检测出来的概率是非常大的。此外,二维奇偶校验码拥有一定的纠错功能,可以纠正部分错码,如对数据中的1个随机错误,就可以通过行列确定错码的位置,从而对其进行纠正。本文用掌控板模拟数据传递中的奇偶校验本实验使用掌控板模拟数字信号传输过程中出现误码,并通过二维奇偶校验进行纠错的过程。掌控板是一块微控制器板,板载加速度计、按键、触摸引脚、声光传感器、128*64的OLED屏幕等,通过mPython编程,借助掌控板的显示屏就可以直观地呈现数据。mPython0.5.4是在原版PythonEditor基础上拓展开发的编程软件,可以进行可视化代码编程,有Blockly、Python、Jupyter三种代码读写等功能。启动mPython0.5.4,使用“显示”模块中的绘制实心和绘制空心积木块,绘制“十”字形二维矩阵。笔者用矩阵中的白色矩形代表数字“1”,用黑色矩形代表数字“0”。假设采用偶检验来进行校验,那么需要在矩阵的最右侧和最下面分别增加一列和一行校验码,使得每行每列的白色矩形均为偶数个,如图2所示。笔者通过掌控板S(send)上的“A”键来实现这一过程,并通过“B”键将这个二维矩阵发送到另一个掌控板R(receive)上。写好掌控板S的代码后,将掌控板S连接到计算机上,选择好对应的端口号,将代码上传到掌控板,如图3所示。本文奇偶校验模拟接下来编写信息接收方掌控板R的代码,首先打开掌控板的无线广播功能,当接收到掌控板S的广播时开始绘制下页图4中含有校验码的二维矩阵。通过校验可以发现第三行中的“1”变成了奇数个,同时第三列中的“1”也变成了奇数个,因此可以判断是第三行和第三列交叉处的数据发生了错误。这时通过按钮“B”来进行纠错,完成整个的传输纠错过程,代码如下页图5所示。通过上面的实验可以了解奇偶校验是如何检测并修正一个错误的,但计算机中会有不止一个数据发生错误的时候,当出现这样的情况时,有一种特殊情况是能够被纠正的。下页图6就显示了这样一个奇偶校验阵列(每行每列的白色卡片数均为偶数),但是它的第四列数据全部丢失(灰色区域)。RAID(独立冗余磁盘阵列)硬盘系统采用的就是这种纠错方式,通过将数据分散存储在多块硬盘中,来保证运行的高速性和稳定性。上述实验只是模拟了奇偶校验中的基本原理,利用这种校验方法还可以设计一个读心术小游戏。首先准备好36张卡片,要保证每张卡片正反两面的图案和颜色不同(如实验中的白色和黑色矩形)。找一个同伴,由他来把卡片放在桌子上,并决定每张卡片放置的正反。接下来,你可以增加几张卡片(添加校验数据),然后转身,这时让你的同伴随意翻转一张卡片,当他翻转后你总能正确地说出哪一张卡片是他翻过的。奇偶校验系统的优化方案称为RAID5。假设需要使用8个硬盘来储存大量的数据,这些数据包含大量字节,可能超过数亿字节(吉字节)甚至千亿字节(太字节)。这时,可以将每个字节打散成8比特分别储存在多个硬盘上,而不是将数据陆续填满每个磁盘。这样的存储方式会让系统运行得更快,因为当计算机需要读取文件时,它只要分别同时向每块硬盘读取片段即可。该方法也可用于提高纠错性能:如果再增加存有奇偶校验位的第9块硬盘,我们可以用上面的思路让每一列数据分别放在不同的硬盘上,这样一来,如果其中一块硬盘被损坏,即使损失全部数据,仍然能依靠奇偶校验的思路来修复原始数据——只要算出遗失的比特使得9个硬盘上值为1的比特数总保持为偶数即可。正是因为RAID系统的存储速度飞快,任何一块硬盘被损坏也不会影响原始数据的读取。所以,对于大型数据中心和主要的网站来说,RAID已经成为提高运行速度和保障稳定性的优选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预定租房合同协议
- 摄像摄影服务合同
- 工地门卫劳动合同
- 劳务派遣人员劳动合同书
- 13足球运球绕杆 教学设计 -九年级体育与健康
- 天津音乐学院《写作与沟通》2023-2024学年第二学期期末试卷
- 江苏科技大学《大数据处理框架》2023-2024学年第二学期期末试卷
- 对外经济贸易大学《儿童文学与中学语文教学》2023-2024学年第二学期期末试卷
- 福建农业职业技术学院《建筑设备(暖)》2023-2024学年第二学期期末试卷
- 喀什职业技术学院《游戏治疗》2023-2024学年第二学期期末试卷
- 一年级美术课后辅导教案-1
- 智慧社区建设中的智能化医疗与康养服务
- 2023-2024年人教版八年级上册数学期末模拟试卷(含答案)
- 数据采集管理制度范文
- 幼儿园小班开学家长会课件
- 中药抗骨质疏松作用
- 中建综合支吊架施工方案
- 建筑施工规范大全
- 幼儿园开学家长会PPT模板(含完整内容)
- 表冷器更换施工方案
- 沥青集料筛分反算计算表格(自动计算)
评论
0/150
提交评论