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

合集下载

单片机串口通信奇偶校验

单片机串口通信奇偶校验

单片机串口通信奇偶校验串口通信是单片机与外部设备进行数据交互的一种常见方式。

在串口通信中,为了保证数据的可靠传输,常常会使用奇偶校验来检测和纠正数据传输中的错误。

本文将介绍串口通信的基本原理、奇偶校验的作用和实现方法。

一、串口通信的基本原理串口通信是通过串行传输方式实现数据的发送和接收。

在单片机中,串口通信常用的接口有UART(通用异步收发传输器)和USART (通用同步异步收发传输器)。

这两种接口在硬件上的实现方式不同,但在数据通信的原理上是相似的。

串口通信中的数据是按照位的顺序逐个传输的。

发送端将数据从高位到低位依次发送出去,接收端则按照相同的顺序接收数据。

为了确保数据的可靠传输,通常会在数据的最后添加一个校验位,用来检测数据传输过程中是否出现错误。

二、奇偶校验的作用奇偶校验是一种简单有效的错误检测方法。

在奇偶校验中,发送端会根据数据的位数和奇偶性,在数据的最后添加一个校验位。

接收端在接收到数据后,会重新计算校验位,并与接收到的校验位进行比较,从而判断数据是否传输正确。

奇偶校验的原理是:发送端根据数据的位数和奇偶性计算出校验位,使得数据和校验位中1的个数为奇数或偶数。

接收端在接收到数据后,重新计算校验位,如果计算结果与接收到的校验位一致,则认为数据传输正确;如果计算结果与接收到的校验位不一致,则认为数据传输错误。

三、奇偶校验的实现方法奇偶校验的实现方法主要有两种:奇校验和偶校验。

1. 奇校验:发送端根据数据的位数和奇偶性计算出校验位,使得数据和校验位中1的个数为奇数。

接收端在接收到数据后,重新计算校验位,如果计算结果与接收到的校验位一致,则认为数据传输正确;如果计算结果与接收到的校验位不一致,则认为数据传输错误。

2. 偶校验:发送端根据数据的位数和奇偶性计算出校验位,使得数据和校验位中1的个数为偶数。

接收端在接收到数据后,重新计算校验位,如果计算结果与接收到的校验位一致,则认为数据传输正确;如果计算结果与接收到的校验位不一致,则认为数据传输错误。

四位奇偶校验器的设计

四位奇偶校验器的设计

题目:基于可编程逻辑器件的四位奇偶校验器设计指导老师:学生姓名:所属院系:专业:班级:学号:完成日期:本科生课程设计任务书班级:姓名:设计题目:基于可编程逻辑器件的四位奇偶校验器设计要求完成的内容:1.设计出一个奇偶校验逻辑电路,当四位数中有奇数个1时输出结果为1;否则为0。

2.写出该电路的真值表。

3.采用逻辑门电路或可编程逻辑阵列PLA实现。

4.画出详细的电路图。

5.写出详细的原理说明。

指导教师:教研室主任:一、概述奇偶校验是一种荣誉编码校验,在存储器中是按存储单元为单位进行的,是依靠硬件实现的,因而适时性强,但这种校验方法只能发现奇数个错,如果数据发生偶数位个错,由于不影响码子的奇偶性质,因而不能发现。

奇偶校验是一种校验代码传输正确性的方法。

根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。

采用奇数的称为奇校验,反之,称为偶校验。

采用何种校验是事先规定好的。

通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。

若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。

二、写出详细的原理说明奇偶校验法是对数据传输正确性的一种校验方法。

我们所涉及的奇偶校验逻辑电路是用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"1",否则置为"0"。

例如,需要传输"1101",数据中含3个"1",所以其奇校验位为"1",需要传输"1111",数据中含4个"1",所以其偶校验位为"0"。

上面设计的奇偶校验逻辑电路就是属于单向奇偶校验逻辑电路,当我们输入一个四位数1000时A,B端所流的直流通过U1A异或门后输出为高电平,而C,D 端所流的直流通过U2A异或门后输出为低电平,它们个别通过U6A和U7A非门后输出的是低电平,高电平。

湖南省信息技术赛课优质课教学设计 《信息的校验--奇偶校验》

湖南省信息技术赛课优质课教学设计 《信息的校验--奇偶校验》

信息的校验—奇偶校验执教者:长沙高新区明德麓谷学校江英授课课题信息的校验--奇偶校验课时 1选用教材湖南省义务教育教科书八年级上册《Computer Science Unplugged》(即《不插电的计算机科学》)教学内容分析在生活中,我们经常会听到说“人工算容易出错,可以用计算机算吗?”“这个是计算机算出来的,不会错!”诸如此类的话。

看来大家对计算机处理信息的能力是很信任的。

可是计算机真的不会出错吗?出错了怎么办?以教科书八年级上册为基础,着重培养计算思维的《Computer Science Unplugged》为拓展,从培养学生信息素养和计算思维出发,结合学生“乐于探究计算机内部秘密”的兴趣,进行二次开发,共设计了两节课《第一节二进制和计算机》和《第二节信息的校验--奇偶校验》,丰富现有教材,开阔学生的视野。

通过第一节课让学生了解计算机信息处理最基本的数制--二进制。

在第一节课的基础上,通过对本节课(《第二节信息的校验--奇偶校验》)的学习,分析最基础最简单的信息校验--奇偶校验,让学生了解计算机信息处理时也会出错,而计算机通过信息的校验发现和修改错误,是一个由浅入深的过程。

在学习的过程中,理解“利用数据的奇偶性解决问题”这种计算思维,尝试运用“对比探究”和“分类探究”的方法,引导学生用计算机科学家的思维方式思考并解决问题,提升信息处理能力(信息素养)。

学习者分析本课教学面向八年级学生,该学段学生已经初步掌握了比特的概念及计算机内部用二进制传递信息等信息技术知识,懂得了基本的信息技术操作技能,但很多同学只知道计算机能正确的处理和传输信息,至于计算机怎么保证信息的正确性,基本没有太多的了解和认识。

除此以外,这一阶段的学生思维较为活跃、乐于探索,但不太乐意听老师讲解大量相对抽象的理论知识。

抓住学生的这些特点,本节课设计了学生易接受并具有挑战性的探究活动,通过师生魔术互动游戏、自主开发设计《卡牌魔术》“小软件”(该软件用来模拟“真实的魔术互动”)等,辅助学生探究,给课堂注入活力的同时,使课堂教学更有效。

奇偶校验电路设计

奇偶校验电路设计

奇偶校验电路设计一、实验目的1.熟悉QuartusII的使用;2. 学习在QuartusII中;3. 学习原理图方式自定义元件的输入,封装,调用;4. 掌握奇偶校验原理;5. 学会使用现成的芯片搭建目标电路。

二、实验内容和原理实验内容:(1)在QuartusII环境下以原理图方式建立顶层文件工程。

利用多个74386芯片搭建一个奇偶校验电路。

74386提供四个2输入异或门(2)建立仿真文件,观察输出结果。

实验原理:奇偶校验码是最简单的数据校验码,其码距为2,可以检测出一位错误,但无法指出错误的位置。

具体校验实现方法为将有效信息位和校验位读入,判断其1的个数是奇数个还是偶数个,在奇校验的情况下正常情况下个数应该为奇数个,偶校验正常情况下应该是偶数个。

校验码的生成:对于奇校验,判断有效信息位1的个数,若为偶数则校验位为1,奇数则校验位为0;偶校验反之。

具体实现的逻辑表达式如下:三、 实验设计原理图以及综合结果记录逻辑单元<Le>的消耗情况等。

原理图如下: 76543210校奇形成偶校验出错奇校验出错偶形成A B =1=1=1=1=1=1=1=111经过设计后用74386实现的原理图如下:综合结果如下图所示:四、仿真波形图画出波形图以及波形图中仿真信号的说明。

并分析结果(实验现象结论)。

仿真波形图如下所示:其中,D0-7为信息位,Djiao为校验位。

实验结果如下:说明:波形信息位为奇数个1,校验位为0时,输出的奇校验位为0,偶校验位为1,奇校验错误为0,偶校验错误为1(即有错)。

同理其他测试分别测试了信息位为奇数个1,校验位为1、信息位为偶数个1,校验位为1、信息位为偶数个1,校验位为0的情况,图中波形的测试完全符合预期要求。

五、实验中遇到的问题和解决方法。

在实验中遇到的主要问题:(1)操作不熟悉导找不到部分功能元件(2)由于连线有误,在仿真时结果出现错误。

解决方法:(1)寻找芯片时双击面板在搜索的框内打入全名(打入部分名字不显示)(2)仿真结果与预期不一致时,可以分析错误波形,从而准确找到出错的地方。

实验五 奇偶校验器的设计

实验五 奇偶校验器的设计

实验五奇偶校验器的设计一.实验目的1.理解奇偶校验码.2.设计并实现一个4位代码奇偶校验器.二.实验内容1.奇偶校验奇偶校验代码是计算机中的一种安全码.它由信息码和一位校验位组成的.这位校验位的取值将使得整个代码串的1的个数为奇数或偶数.以上为奇偶校验码的功能表,分两种情况,奇检验和偶检验.设计的方法当然有两种,文本输入或原理图输入两种.2.下面从文本输入这种方法来介绍:首先打开文本框,输入以下程序:LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_arith.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY code IS PORT(d3,d2,d1,d0:IN std_logic;P,Q:OUT std_logic);END;ARCHITECTURE arc_code OF code ISSIGNAL din:std_logic_vector (3 DOWNTO 0);SIGNAL dout:std_logic_vector (1 DOWNTO 0);BEGINdin<=d3&d2&d1&d0;PROCESS (din)BEGINCASE din ISWHEN"0000"=>dout<="10";WHEN"0001"=>dout<="01";WHEN"0010"=>dout<="01";WHEN"0011"=>dout<="10";WHEN"0100"=>dout<="01";WHEN"0101"=>dout<="10";WHEN"0110"=>dout<="10";WHEN"0111"=>dout<="01";WHEN"1000"=>dout<="01";WHEN"1001"=>dout<="10";WHEN"1010"=>dout<="10";WHEN"1011"=>dout<="01";WHEN"1100"=>dout<="10";WHEN"1101"=>dout<="01";WHEN"1110"=>dout<="01";WHEN others=>dout<="10";END CASE;END PROCESS;P<=dout(1);Q<=dout(0);END arc_code;3.打开波形图输入,并导入图形三、心得体会:经过此次实验,体会到文本输入方式在某种程序上比原理输入方法会简单易操作,进一步熟悉MAXPLUS的操作。

关于单片机串口通信的奇偶校验

关于单片机串口通信的奇偶校验

关于单片机串口通信的奇偶校验(C语言的解决方案)2011-07-05 18:29最近做了一个项目,是关于51单片机与计算机之间的通信问题,上位机来控制下位机。

在通信中要求单字节偶校验,很少碰到在这里校验的,一般都是帧校验就可以了,但是为了提高精度,就加了偶校验。

那么用C语言怎么来处理单片机收发的偶校验问题呢?直接使用项目中的要求:波特率:9600,偶检验,停止位1,数据位8。

现在开始:单片机的奇偶校验使用串口工作方式2或者3,在有于波特率要求9600,所以使用串口方式3,这些设置自己查资料解决。

偶校验:就是发送的8个数据位的1的个数为偶数时,TB8=0;为奇数时,TB8=1;奇校验:与偶校验相反的TB8。

先讲发送字节时的偶校验:先看下汇编的解决方案是什么:MOV A,@R0MOV C,PMOV TB8,CMOV SBUF,@R0再看下C语言的解决方案:void chk_even(uchar dat)//要发送的数据位dat{ACC=dat;TB8=P;SBUF=dat;while(TI==0);TI=0;}这只是发送的一个字节的偶校验,接收时的为RB8位,学过的同学应该能看懂,要是还是感觉吃力的话,就继续查资料。

(程序中去掉了注释,请大家自己理解,加深印象。

)关于C语言的接受数据偶校验如下:void chk_even(uchar dat)//要接收的数据位dat{while(RI==0);RI=0;dat=SBUF;ACC=dat;if(RB8==P) chk_flag=0;else chk_flag=1;}。

奇偶校验的VHDL设计

奇偶校验的VHDL设计

奇偶校验电路1.引言串行数据在传输过程中,由于干扰,可能引起传输信息的错误,这种情况,我们称为出现了“误码”。

我们把如何发现传输中的错误叫“检错”。

最简单的检错方法是“奇偶校验”,即在传送字符的各个位的基础上,再传送1位奇偶校验位。

可采用奇校验或偶校验。

本文采用奇校验。

2.真值表3.VHDL程序3个数据位产生奇校验位odd的VHDL 程序如下:LIBRARY ieee; --打开需要用到的库USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY odd_correct IS --实体说明PORT(d : IN STD_LOGIC_VECTOR(2 DOWNTO 0);dout : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);odd : OUT STD_LOGIC);END odd_correct;ARCHITECTURE behavior OF odd_correct IS --结构体定义BEGINPROCESS (d)V ARIABLE odd_tmp : STD_LOGIC;BEGINodd_tmp :='0'; --给变量赋初始值FOR i IN 0 TO 2 LOOP --循环odd_tmp := NOT(odd_tmp XOR d(i)); --有奇数个‘0’时odd_tmp=1 END LOOP;odd<=odd_tmp;dout<=d&odd_tmp; --使得输出数据dout中有奇数个‘1’END PROCESS;END behavior;4.仿真结果如下:实现的逻辑功能:根据输入的数位产生奇校验位odd, 使得输出数据dout 中‘1’的个数为奇数。

单片机串行通信的奇偶校验位

单片机串行通信的奇偶校验位

单片机串行通信的奇偶校验位在单片机的串行通信中,为了保证数据的正确性,通常会使用奇偶校验位来进行数据校验。

奇偶校验位是一种简单有效的数据校验方法,它可以检测出数据传输过程中的错误,并进行纠正。

本文将从奇偶校验位的原理、应用和实现方法三个方面进行介绍。

一、奇偶校验位的原理奇偶校验位是通过在数据传输时添加一个校验位来实现的。

校验位的值可以是0或1,它的值是根据数据位中1的个数来确定的。

如果数据位中1的个数是偶数,那么校验位的值就是0;如果数据位中1的个数是奇数,那么校验位的值就是1。

在接收端,接收到数据后,再次计算数据位中1的个数,如果计算出来的结果与接收到的校验位不一致,就说明数据传输过程中出现了错误。

二、奇偶校验位的应用奇偶校验位广泛应用于串行通信中,例如RS232、RS485、SPI、I2C等通信协议中。

在这些通信协议中,奇偶校验位可以有效地检测出数据传输过程中的错误,从而保证数据的正确性。

在实际应用中,奇偶校验位通常被用于传输重要的数据,例如密码、控制指令等。

三、奇偶校验位的实现方法在单片机中实现奇偶校验位通常有两种方法:硬件实现和软件实现。

硬件实现是通过单片机内部的硬件电路来实现奇偶校验位的计算和校验。

在硬件实现中,单片机内部的UART模块通常都会提供奇偶校验位的功能。

在使用UART进行串行通信时,只需要设置相应的参数即可开启奇偶校验位的功能。

软件实现是通过单片机的程序来实现奇偶校验位的计算和校验。

在软件实现中,需要编写相应的程序来计算数据位中1的个数,并根据计算结果来确定校验位的值。

在接收端,同样需要编写相应的程序来计算接收到的数据位中1的个数,并与接收到的校验位进行比较,从而判断数据传输是否正确。

总之,奇偶校验位是一种简单有效的数据校验方法,它可以在串行通信中保证数据的正确性。

在实际应用中,我们可以根据具体的需求选择硬件实现或软件实现的方法来实现奇偶校验位的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西南科技大学通信原理设计报告课程名称:通信原理课程设计设计名称:奇偶校验编码仿真姓名:王雷学号:班级:通信1004指导教师:秦明伟起止日期:2013年7月5日星期五西南科技大学信息工程学院制方向设计任务书学生班级:通信1004 学生姓名:王雷学号:20105615 设计名称:奇偶校验编码仿真起止日期:2013年7月5日星期五指导教师:秦明伟方向设计学生日志奇偶校验编码仿真一、摘要(150-250字)奇偶校验是一种校验代码传输正确性的方法。

根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。

采用奇数的称为奇校验,反之,称为偶校验。

采用何种校验是事先规定好的。

通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。

若用奇校验,则当接收端收到这组代码时,校验“1”的个数是否为奇数,从而确定传输代码的正确性。

二、设计目的和意义认识matlab软件,学习掌握matlab的基本操作方法,熟悉M文件和simulink的具体实现方法,了解数据奇偶校验的原理和在matlab中的基本仿真,通过对简单的通信实验设计,提高了动手能力和对matlab操作,巩固了课程知识。

三、设计原理在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。

例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0",同时把"110011100"传输给接收方,接收方收到数据后再一次计算奇偶性,"110011100"中仍然含有5个"1",所以接收方计算出的奇校验位还是"0",与发送方一致,表示在此次传输过程中未发生错误。

奇偶校验就是接收方用来验证发送方在传输过程中所传数据是否由于某些原因造成破坏。

奇偶校验原理是基于异或的逻辑功能。

奇偶校验的编码方法是在原信号码组后面添加以为监督码元,奇偶校验分为奇校验和偶校验,奇校验是原信息码元加上监督码元后,使整个组成的数码组中,1的个数为奇数个。

偶校验的工作原理则正好与奇校验相反。

对于n位二进码a1a2a3a4……a n奇校验有如下表示:a1⊕a2⊕a3⊕a4……⊕a n⊕C=1偶校验的表达式为:a1⊕a2⊕a3⊕a4……⊕a n⊕C =1其中,C为监督码元,在本设计中n为8,可以推出C的表达式为:C =a1⊕a2⊕a3⊕a4……⊕a8在发送端让其监督码和信息码一起发送,在信息接收端,计算校验因子的表达式为:、S=a1⊕a2⊕a3⊕a4……⊕a n⊕C四、详细设计步骤1.创建一个M文件,保存到自定义的文件夹中。

2.在M文件中,首先利用rand函数随机生成一组八位的只包含0和1的数组a,设置当a(n)大于0.5时,设a为1,小于0.5,则为0,这样0和1等概率出现,即出现一组随机等概(n)率的八位都为0或者1的数组。

3.同样用rand函数生成一组八位的只含有0和1的数组b,但是要设置当b大于0.95时,(n)才给其赋值为1,其他为0,这样在异或的逻辑检测中容易检测到错误序列,其中的0.95是一个自己可以设定的概率大小,本设计选择0.95.4.利用已知的数组a相互异或生成数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.在M文件中点击运行,观察实验结果,本实验未来更加直观的感受到数据传输和接受的情况,在传输的数据赋值为send,接收数据为receive。

该M文件中,程序利用校验因子S用于判断传输途中是否有错,从而决定信号是否被重新传输;程序利用随机数列b模拟使传输信号出错率为5%的干扰信号。

程序中的while循环中被加入了一个pause命令。

在pause的作用下,当程序模拟一次信号传输后,不管模拟的传输信号是否需要被重传,程序都将暂停执行。

在程序结束运行之后,如果前一次循环传输成功(即S=0),则用户在按下【Enter】键后程序结束运行;如果前一次循环传输有错(即S=1),则用户按下【Enter】键后,程序将再次进入while循环,如此反复直到传输成功(即S=0),程序运行结束。

实验M文件源程序:clc;clear;a=rand(1,8);S=1;while S>0b=rand(1,8)for i=1:8if a(i)>0.5a(i)=1else a(i)=0endif b(i)>0.95b(i)=1else b(i)=0endc(i)=a(i)+b(i)if c(i)==2c(i)=0endendsend=a;receive=cfor i=1:7send (i+1)=send (i)*not(send (i+1))+not(send (i))*send (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)*Cif S==1fprintf('传输错误,请重传!')endpause;end五、设计结果及分析1.在M文件中点击运行后,在command window窗口观察实验结果并截图:传输数据为【01000110】接收数据为【01000110】校验码S值为0传输过程没有出现错误校验码S值为1说明传输出现错误,按【Enter】键进行重新传输,如果还是有错则再次按【Enter】键重新传输直至正确,按【Enter】键结束程序。

六、总结奇偶校验是带有一段信息关联的冗余信息,带奇偶校验的带区集意味着每行有一个附加的奇偶校验带区。

因此,必须使用至少三个(而不是两个)磁盘才能考虑该附加的奇偶校验信息。

奇偶校验带区包括该带区内数据的XOR(称为排它性“或”的布尔操作)。

重新生成失败的磁盘时,WindowsNTServer将使用这些带区中与完好磁盘上数据关联的奇偶校验信息重新在失败盘上创建数据。

奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出),同时,它不能纠错。

在发现错误后,只能要求重发。

但由于其实现简单,仍得到了广泛使用。

为了能检测和纠正内存软错误,首先出现的是内存“奇偶校验”。

内存中最小的单位是比特,也称为“位”,位只有两种状态分别以1和0来标示,每8个连续的比特叫做一个字节(byte)。

不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生错误。

而奇偶校验就是在每一字节(8位)之外又增为位只能有两种状态1或0,假设存储的数据用位标志为1、1、1、0、0、1、0、1,那么把每个位相加(1+1+1+0+0+1+0+1=5),结果是奇数。

对于偶校验,校验位就定义为1,反之则为0;对于奇校验,则相反。

当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致。

从而一定程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,但奇偶校验却无法检测出双位错误。

奇偶监督码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。

例如,单个的奇偶监督将使码的最小距离由一增加到二。

一个二进码字,如果它的码元有奇数个1,就称为具有奇性。

例如,码字“1011010111”有七个1,因此,这个码字具有奇性。

同样,偶性码字具有偶数个1。

注意奇性检测等效于所有码元的模二加,并能够由所有码元的异或运算来确定。

对于一个n位字,奇性下式给出:奇性=a0⊕a1⊕a2⊕…⊕an(8-1)很明显,用同样的方式,我们也能够根据每一个码字的零的个数来构成奇偶监督。

单个的奇偶监督码可描述为:给每一个码字加一个监督位,用它来构成奇性或偶性监督。

在一个典型系统里,在传输以前,由奇偶发生器把奇偶监督位加到每个字中。

原有信息中的数字在接收机中被检测,如果没有出现正确的奇、偶性,这个信息标定为错误的,这个系统将把错误的字抛掉或者请求重发。

注意,用单个的奇偶监督码仅能检出奇数个码元的错误。

Matlab是一种方便的容易上手的数学软件,其软件编写语言和其他程序语言相通,并且更加灵活,在其中创建M文件可以很好的模拟本次奇偶校验的实验现象。

通过在其中的simulink 中添加控件模块,能够更加直观的感受到本次实验的通信传输特性。

在本次实验中,实验的内容相对简单,概念容易理解,在M文件中,利用了matlab固有的rand函数和pause等语句,简单的在异或的关系上实现了奇偶校验的仿真,并且能够体现数据在真实传输过程中的误差性,当数据在传输出现错误的时候,会提示传输错误并且从新传输直到传输正确为止。

七、体会在本次实验中,通过对实现实验目的的一步步研究,让我学习到了查阅资料,操作matlab 软件的一些基本方法,也让我深刻认识到了自学能力的重要性。

在实验之初,我对于matlab 了解很少,只是知道它是一款非常流行的数学软件,在国内外的数学研究上有举足轻重的地位,在这次实验中,我发现原来matlab还有更多的应用功能,比如在通信的实验仿真,在物理电路等实验的仿真。

本次实验让我更加深刻的理解了奇偶校验的原理,奇偶校验是一种比较简单的解决通信传输误差的分析方法,在一般要求不高的通信传输中有着重要的作用,能够避免大部分传输误差,由于其原理简单,容易实现,因此在通信传输方面得到了广泛的应用和发展,这次试验我从根本上了解了其通信传输的原理和实现方法,在简单的仿真实验中,加深了对matlab软件的认识,也提高了自己的动手操作能力,了解了关于matlab的M文件和simulink的基本操作,也认识了matlab的一些重要的函数。

在学习之初,我在图书馆借阅了基本关于matlab的软件书籍,通过这些书籍,我了解了matlab的一些基本方法,同时,我在网络中也找到了一些关于matlab的学习资料,这样,我先熟悉的掌握了matlab的操作方法之后,再结合奇偶校验的原理,很快我就明白了仿真的原理,并且自己试着改编,调试,这样一步步实现了整个设计。

相关文档
最新文档