奇偶校验-通信原理课程设计.doc

上传人:ni****g 文档编号:556175482 上传时间:2023-12-30 格式:DOC 页数:9 大小:108.01KB
返回 下载 相关 举报
奇偶校验-通信原理课程设计.doc_第1页
第1页 / 共9页
奇偶校验-通信原理课程设计.doc_第2页
第2页 / 共9页
奇偶校验-通信原理课程设计.doc_第3页
第3页 / 共9页
奇偶校验-通信原理课程设计.doc_第4页
第4页 / 共9页
奇偶校验-通信原理课程设计.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《奇偶校验-通信原理课程设计.doc》由会员分享,可在线阅读,更多相关《奇偶校验-通信原理课程设计.doc(9页珍藏版)》请在金锄头文库上搜索。

1、西南科技大学通信原理设计报告 课程名称: 通信原理课程设计 设计名称: 奇偶校验编码仿真 姓 名: 王雷 学 号: 20105615 班 级: 通信1004 指导教师: 秦明伟 起止日期: 2013年7月5日星期五 西南科技大学信息工程学院制2方 向 设 计 任 务 书学生班级: 通信1004 学生姓名: 王雷 学号: 20105615 设计名称: 奇偶校验编码仿真 起止日期: 2013年7月5日星期五 指导教师: 秦明伟 设计要求:(1)基于MATLAB编写M文件,实现CRC编码的奇偶校验,数据帧长8bit,校验位1bit;(2)仿真中要体现出有错误bit时的校验情况,且要求错误时自动报错;

2、方 向 设 计 学 生 日 志时间设计内容2013年7月1日了解题目要求和设计内容2013年7月2日查询资料学习matlab的使用2013年7月3日实验内容设计2013年7月5日调试程序,更改错误,编写报告奇偶校验编码仿真 一、 摘要(150-250字)奇偶校验是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。二、

3、设计目的和意义认识matlab软件,学习掌握matlab的基本操作方法,熟悉M文件和simulink的具体实现方法,了解数据奇偶校验的原理和在matlab中的基本仿真,通过对简单的通信实验设计,提高了动手能力和对matlab操作,巩固了课程知识。三、 设计原理 在数据传输前附加一位奇校验位,用来表示传输的数据中1的个数是奇数还是偶数,为奇数时,校验位置为0,否则置为1,用以保持数据的奇偶性不变。例如,需要传输11001110,数据中含5个1,所以其奇校验位为0,同时把110011100传输给接收方,接收方收到数据后再一次计算奇偶性,110011100中仍然含有5个1,所以接收方计算出的奇校验位

4、还是0,与发送方一致,表示在此次传输过程中未发生错误。奇偶校验就是接收方用来验证发送方在传输过程中所传数据是否由于某些原因造成破坏。 奇偶校验原理是基于异或的逻辑功能。奇偶校验的编码方法是在原信号码组后面添加以为监督码元,奇偶校验分为奇校验和偶校验,奇校验是原信息码元加上监督码元后,使整个组成的数码组中,1的个数为奇数个。偶校验的工作原理则正好与奇校验相反。 对于n位二进码a1a2a3a4an奇校验有如下表示:a1a2a3a4anC=1 偶校验的表达式为:a1a2a3a4anC =1 其中,C为监督码元,在本设计中n为8,可以推出C的表达式为:C =a1a2a3a4a8、 在发送端让其监督码和

5、信息码一起发送,在信息接收端,计算校验因子的表达式为:S=a1a2a3a4anC四、 详细设计步骤 1.创建一个M文件,保存到自定义的文件夹中。2.在M文件中,首先利用rand函数随机生成一组八位的只包含0和1的数组a,设置当a(n)大于0.5时,设a(n)为1,小于0.5,则为0,这样0和1等概率出现,即出现一组随机等概率的八位都为0或者1的数组。3.同样用rand函数生成一组八位的只含有0和1的数组b,但是要设置当b(n)大于0.95时,才给其赋值为1,其他为0,这样在异或的逻辑检测中容易检测到错误序列,其中的0.95是一个自己可以设定的概率大小,本设计选择0.95.4.利用已知的数组a相

6、互异或生成数C,利用数组a和b对应相互异或生成数组c,然后用c和数C分别模拟接受到的八位有效位和校验位。5.把C和c相互异或可以生成数S,当S大于0时,则表示b中有1的出现,既某些位错误传输了,当S等于0时,则表示原有效数据传输正确。(由于奇偶校验只是检查当发生奇数数位变化时,才能够通过异或的关系检测到变化,当你错误位为偶数时,不能够检测出你传输出错。)6.在程序的开始,初始化S=1,并且设置只能当S大于0时才进入到后面的数据处理,在程序的结尾,设置了一个判断打印函数和一个断点函数pause,这样当有错误产生的时候,可以提示错误警告,在从新点击enter键时,程序会再次传输一次,一直到S=0,

7、即传输没有错误产生。7.在M文件中点击运行,观察实验结果,本实验未来更加直观的感受到数据传输和接受的情况,在传输的数据赋值为send,接收数据为receive。该M文件中,程序利用校验因子S用于判断传输途中是否有错,从而决定信号是否被重新传输;程序利用随机数列b模拟使传输信号出错率为5%的干扰信号。程序中的while循环中被加入了一个pause命令。在pause的作用下,当程序模拟一次信号传输后,不管模拟的传输信号是否需要被重传,程序都将暂停执行。在程序结束运行之后,如果前一次循环传输成功(即S=0),则用户在按下【Enter】键后程序结束运行;如果前一次循环传输有错(即S=1),则用户按下【

8、Enter】键后,程序将再次进入while循环,如此反复直到传输成功(即S=0),程序运行结束。实验M文件源程序:clc;clear;a=rand(1,8);S=1;while S0 b=rand(1,8) for i=1:8 if a(i)0.5 a(i)=1 else a(i)=0 end if b(i)0.95 b(i)=1 else b(i)=0 end c(i)=a(i)+b(i) if c(i)=2 c(i)=0 endendsend=a;receive=cfor i=1:7 send (i+1)=send (i)*not(send (i+1)+not(send (i)*send

9、(i+1) receive (i+1)=receive (i)*not(receive (i+1)+not(receive (i)*receive (i+1)endC=send(8)B=receive(8)S=B*not(C)+not(B)*C if S=1 fprintf(传输错误,请重传!) end pause; end五、 设计结果及分析1. 在M文件中点击运行后,在command window窗口观察实验结果并截图: 传输数据为【01000110】接收数据为【01000110】校验码S值为0传输过程没有出现错误2.当传输出现错误时如下图所示 校验码S值为1说明传输出现错误,按【Ente

10、r】键进行重新传输,如果还是有错则再次按【Enter】键重新传输直至正确,按【Enter】键结束程序。六、 总结奇偶校验是带有一段信息关联的冗余信息,带奇偶校验的带区集意味着每行有一个附加的奇偶校验带区。因此,必须使用至少三个(而不是两个)磁盘才能考虑该附加的奇偶校验信息。奇偶校验带区包括该带区内数据的XOR(称为排它性“或”的布尔操作)。重新生成失败的磁盘时,WindowsNTServer将使用这些带区中与完好磁盘上数据关联的奇偶校验信息重新在失败盘上创建数据。奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出),同时,它不能纠错。在发现错误后,只能要求重

11、发。但由于其实现简单,仍得到了广泛使用。为了能检测和纠正内存软错误,首先出现的是内存“奇偶校验”。内存中最小的单位是比特,也称为“位”,位只有两种状态分别以1和0来标示,每8个连续的比特叫做一个字节(byte)。不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生错误。而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位。在某字节中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假设存储的数据用位标志为1、1、1、0、0、1、0、1,那么把每个位相加(1+1+1+0+0+1+0+1=5),结果

12、是奇数。对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致。从而一定程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,但奇偶校验却无法检测出双位错误。奇偶监督码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。例如,单个的奇偶监督将使码的最小距离由一增加到二。一个二进码字,如果它的码元有奇数个1,就称为具有奇性。例如,码字“1011010111”有七个1,因此,这个码字具有奇性。同样,偶性码字具有偶数个1。注意奇性检测等效于所有码元的模二

13、加,并能够由所有码元的异或运算来确定。对于一个n位字,奇性下式给出:奇性=a0a1a2an(8-1)很明显,用同样的方式,我们也能够根据每一个码字的零的个数来构成奇偶监督。单个的奇偶监督码可描述为:给每一个码字加一个监督位,用它来构成奇性或偶性监督。在一个典型系统里,在传输以前,由奇偶发生器把奇偶监督位加到每个字中。原有信息中的数字在接收机中被检测,如果没有出现正确的奇、偶性,这个信息标定为错误的,这个系统将把错误的字抛掉或者请求重发。注意,用单个的奇偶监督码仅能检出奇数个码元的错误。Matlab是一种方便的容易上手的数学软件,其软件编写语言和其他程序语言相通,并且更加灵活,在其中创建M文件可以很好的模拟本次奇偶校验的实验现象。通过在其中的simulink中添加控件模块,能够更加直观的感受到本次实验的通信传输特性。在本次实验中,实验的内容相对简单,概念容易理解,在M文件中,利用了matlab固有的rand函数和pause等语句,简单的在异或的关系上实现了奇偶校验的仿真,并且能够体现数据在真实传输过程中的误差性,当数据在传输出现错误的时候,会提示传输错误并且从新传输直到传输正确为止。七、 体会在本次实验中,通过对实现实验目的的一步步研究,让我学习到了查阅资料,操作matlab软件的一些基本方法,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号