奇偶校验-通信原理课程设计心得【模版】
单片机串口通信奇偶校验

单片机串口通信奇偶校验串口通信是单片机与外部设备进行数据交互的一种常见方式。
在串口通信中,为了保证数据的可靠传输,常常会使用奇偶校验来检测和纠正数据传输中的错误。
本文将介绍串口通信的基本原理、奇偶校验的作用和实现方法。
一、串口通信的基本原理串口通信是通过串行传输方式实现数据的发送和接收。
在单片机中,串口通信常用的接口有UART(通用异步收发传输器)和USART (通用同步异步收发传输器)。
这两种接口在硬件上的实现方式不同,但在数据通信的原理上是相似的。
串口通信中的数据是按照位的顺序逐个传输的。
发送端将数据从高位到低位依次发送出去,接收端则按照相同的顺序接收数据。
为了确保数据的可靠传输,通常会在数据的最后添加一个校验位,用来检测数据传输过程中是否出现错误。
二、奇偶校验的作用奇偶校验是一种简单有效的错误检测方法。
在奇偶校验中,发送端会根据数据的位数和奇偶性,在数据的最后添加一个校验位。
接收端在接收到数据后,会重新计算校验位,并与接收到的校验位进行比较,从而判断数据是否传输正确。
奇偶校验的原理是:发送端根据数据的位数和奇偶性计算出校验位,使得数据和校验位中1的个数为奇数或偶数。
接收端在接收到数据后,重新计算校验位,如果计算结果与接收到的校验位一致,则认为数据传输正确;如果计算结果与接收到的校验位不一致,则认为数据传输错误。
三、奇偶校验的实现方法奇偶校验的实现方法主要有两种:奇校验和偶校验。
1. 奇校验:发送端根据数据的位数和奇偶性计算出校验位,使得数据和校验位中1的个数为奇数。
接收端在接收到数据后,重新计算校验位,如果计算结果与接收到的校验位一致,则认为数据传输正确;如果计算结果与接收到的校验位不一致,则认为数据传输错误。
2. 偶校验:发送端根据数据的位数和奇偶性计算出校验位,使得数据和校验位中1的个数为偶数。
接收端在接收到数据后,重新计算校验位,如果计算结果与接收到的校验位一致,则认为数据传输正确;如果计算结果与接收到的校验位不一致,则认为数据传输错误。
通信原理课程设计总结心得

通信原理课程设计总结心得一、课程目标知识目标:1. 让学生掌握通信原理的基本概念,包括信号、信道、噪声等;2. 使学生了解并理解各种通信系统的组成、工作原理及其性能指标;3. 引导学生掌握通信过程中的调制、解调、编码、解码等技术;4. 帮助学生了解现代通信技术的发展趋势,如5G、物联网等。
技能目标:1. 培养学生运用通信原理分析和解决实际问题的能力;2. 培养学生设计和搭建简单通信系统的能力;3. 提高学生进行实验操作、数据采集和分析的能力;4. 培养学生团队合作和沟通表达的能力。
情感态度价值观目标:1. 培养学生对通信科学的兴趣和热情,激发他们探索未知、追求真理的精神;2. 增强学生的国家意识,让他们了解我国在通信领域的重要成就,培养民族自豪感;3. 引导学生树立正确的价值观,认识到通信技术对社会发展的积极作用,同时关注通信安全、隐私保护等问题;4. 培养学生严谨、务实的学习态度,为将来从事通信领域的工作打下坚实基础。
本课程针对高中年级学生的特点,注重理论与实践相结合,充分调动学生的积极性、主动性和创造性。
通过本课程的学习,使学生能够掌握通信原理的基本知识,具备一定的实际操作能力,并培养他们热爱科学、勇于探索的精神风貌。
为实现这些目标,课程将分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 通信原理概述:介绍通信系统的基本组成、分类及其发展历程,涉及信号、信道、噪声等基本概念。
参考教材章节:第一章 通信原理概述2. 通信系统的性能指标:讲解通信系统的性能指标,如带宽、速率、误码率等,并分析各指标之间的关系。
参考教材章节:第二章 通信系统的性能指标3. 模拟通信技术:介绍模拟通信的基本原理,包括幅度调制、频率调制、相位调制等,以及对应的解调技术。
参考教材章节:第三章 模拟通信技术4. 数字通信技术:讲解数字通信的基本原理,包括数字调制、解调、编码、解码等,以及数字通信系统的性能分析。
通信实验心得体会

的各种状况 沉着应对。
当然 除此之外 我们不仅要在课堂上认真的学习理论知识 更是要在实
验的过程中理论结合实际 才能达到实验的预期。我们必须要坚持理论联系实
4
际的科学思想和科学方法 以实践来证实理论 从实践中加深对理论ห้องสมุดไป่ตู้识的理
解和掌握。所以 实验是我们快速认识和掌握理论知识的一条十分重要的途
通信实验心得体会(总2页)
在做实验之前 我以为并不难做 就像以前做过的实验一样 做完实验以
后两下子就可以把实验报告写完。直到做完了实验以后 我才真正的认识到其
实这并不容易 是一件很挑战的事情 然而学到的知识与难度却成正比 让我
受益匪浅。
由于自己的理论知识基础并没有十分牢固 在实验过程中我遇到了许多难
进行了中间站微机连锁模拟实验和编组站信号控制系统模拟的操作以及模拟站
场上的列车走位。最终基本掌握了此类设备的原理及操作方法 学到的不仅是
之前在书本上学到的条条框框 更是理论与实践相结合的情况下实际的操作经
验。实验培养了我在实验中研究问题、分析问题和解决问题的能力以及培养了
良好的工程素质和科学道德。例如团队精神、交流能力、独立思考等 还提高
径。在实验过程中 不免的会遇到很多问题 自己解决不了的时候一定要通过
请教老师 才能了解到问题的所在然后再得以解决 绝对不可以想当然的根据
自己的想法在电脑上胡乱的操作 这样的结果会发生什么谁都不知道 也许会
出现不可控制的局面。
这次实验还有一个地方做的不好 就是应该提前用模拟仿真的软件在自己
的电脑上与小组成员一起进行模拟实验 提前学习如何操作 让自己能够更加
通信原理实训课程学习总结实践通信系统的设计与调试

通信原理实训课程学习总结实践通信系统的设计与调试本文旨在通过对通信原理实训课程的学习总结,探讨实践中通信系统的设计与调试过程。
本次实训课程旨在培养学生对通信原理的理论知识的应用能力,通过实践掌握通信系统的设计与调试技巧。
在课程中,我通过准备实验、实验操作、数据处理等环节,全面了解并掌握了通信原理实践过程中的关键技术与方法。
首先,在实训课程中我们进行了通信系统的设计。
在具体的实验任务中,我们按照老师的指导,从系统的整体框架到具体模块的设计进行了分析和实践。
在实验过程中,我深刻体会到了通信系统设计的重要性。
合理的系统设计可以提高通信系统的性能,并更好地满足用户的需求。
我学会了根据通信需求确定系统的参数,选择合适的设备及器件,并进行系统连线与布局。
同时,我还学习了如何制定详细的系统设计方案,并根据实验结果进行系统的调整与优化。
其次,在实际操控中,我掌握了通信系统的调试技巧。
在实验过程中,我遇到了一些通信系统运行中的问题,例如信号干扰、信噪比不足等。
通过实践与老师的指导,我学习了如何运用仪器设备进行信号调试,如何调整系统的参数以提高通信信号的质量等技巧。
我发现在实际操作中,仪器设备的使用技巧和数据处理的方法是非常重要的,只有熟练掌握这些技巧,才能更好地进行通信系统的调试工作。
此外,我还学习到了数据处理与分析的方法。
在社会发展的今天,大量的通信数据需要进行处理和分析,以提取有价值的信息。
在实践中,我学会了运用数学统计方法和数据处理软件,对通信系统实验中获得的数据进行处理和分析。
通过建立适当的模型和算法,我成功解决了一些实验中遇到的问题,并得出了相应的结论。
这些数据处理与分析的方法对于日后的科研工作和职业生涯都具有重要的意义。
综上所述,通过通信原理实训课程的学习与实践,我全面了解了通信系统的设计和调试过程。
我学会了合理设计通信系统,掌握了系统调试的技巧,并熟练运用数据处理与分析的方法。
这些能力将对我今后的学习和工作产生积极的影响。
奇偶校验实验报告

竭诚为您提供优质文档/双击可除奇偶校验实验报告篇一:奇偶校验实验项目四:数据的校验(2学时)一、实验目的:1.了解数据的校验机制。
*2.掌握海明码校验实施过程(选做)。
*3.掌握循环冗余码校验实施过程(选做)。
二、实验要求:1.设计一个程序模拟奇偶校验实施过程(提示:主函数、发送函数、传输函数、校验函数)。
首先奇偶校验过程的基本过程:奇偶校验位有两种类型:偶校验位与奇校验位。
如果一组给定数据位中1的个数是奇数,那么偶校验位就置为1,从而使得总的1的个数是偶数。
如果给定一组数据位中1的个数是偶数,那么奇校验位就置为1,使得总的1的个数是奇数。
偶校验实际上是循环冗余校验的一个特例,通过多项式x+1得到1位cRc。
*2.设计一个程序模拟海明码校验实施过程(提示:主函数、发送函数、传输函数、校验函数、纠错函数)。
*3.设计一个程序模拟循环冗余码校验实施过程(提示:主函数、发送函数、传输函数、校验函数、纠错函数)。
三、实验报告:1.给出源程序和执行结果。
#include#include#includevoidproduct();voidtrans();voidpop();intp1,p2;inta[8]={0};intmain(){product();//产生一个随机的八位二进制的数trans();//设置传输出错一位或者没有出错的情况pop();//判断有无出错的情况return0;}voidproduct(){inti,data;intcount1=0;srand((unsigned)time(0));data =0+rand()%128;//产生0-127的随机数printf("随机的产生一个128以内的十进制数为%d\n",data);for(i=0;iif(count1%2==0)//奇校验奇数个1校验位为0,偶数个1为1a[7]=1;}for(i=0;i elsea[7]=0;p1=a[7];printf("初始二进制校验位放在最高位它为:%d\n",p1);printf("产生随机二进制数为");/*while(i>=0)printf("%d",a[--i]);*/for(i=7;i>=0;--i){printf("%d",a[i]);}printf("\n");}voidtrans(){inti;srand((unsigned)time(0));i=0+rand()%9;//产生0-8的随机数if(i==0)printf("机器内部设置传输过程中没有出错\n");else{a[i-1]=(a[i-1]==0)?1:0;printf("传输过程将机器内部的数据进行了一位改动,改动位为%d\n",i);}voidpop(){printf("接收数据计算出的校验位为:%d\n",p2);if(p2!=a[7])printf("通过校验位p1与p2的比较得出传输过程中数据出错了。
通信原理课程设计心得体会

通信原理课程设计心得体会篇一:通信原理课程设计报告课程设计报告课程名称通信原理课程设计课题名称专业班级学号姓名指导教师2011年12月12 日湖南工程学院课程设计任务书课程名称课题专业班级学生姓名学号指导老师审批任务书下达日期2011 年12月12 日任务完成日期2011 年12 月26日一、设计目的与设计内容结合《通信原理》课程内容,培养实际动手能力,增强把书本知识转化为实践设计的能力。
在强调基本原理的同时,更突出设计过程的锻炼。
强化学生的实践创新能力和独立进行科研工作的能力。
要求学生经过课程设计这一教学环节学会应用MATLAB软件来实现信号传输中的各个基本环节。
1.设计内容:具体设计题目包括:模拟调制、数字调制、PCM编解码、循环码的编译码、m序列伪随机码、最佳接收等内容。
学生还可以根据自己的兴趣,围绕通信原理课程知识自由选题。
题目1 信息论基本计算要求:(1)编程实现信源平均信息量的计算(2)编程实现离散信道容量的计算(3)编程实现信源编码过程题目2PCM编译码器设计及应用要求:(1)用simulink对系统建模设计一个PCM编译码器(2)输入模拟话音信号观察其输出波形(3)输入数字信号观察其输出波形(4)对所设计的系统性能进行仿真分析(5)对其应用举例阐述题目 3 数字信号基带传输系统设计要求:(1)编程实现常见基带信号的波形、码型转换:非归零/归零码、AMI码(2)并绘出每种波形、码型的功率谱分布,给出与在理论课上所学相符合的分析与理解(3)编程实现基带传输系统的误码率计算:二电平误码率计算(4)编程实现基带信号传输的扰码与解扰题目4数字信号频带传输系统设计(1)2ASK调制/相干解调器和非相干解调系统(包络检波法)设计要求:a编程实现或是用simulink 对系统建模b输入数字信号序列并进行接收判决c通过多次输入输出对两种系统性能进行分析比较d绘出信号的时域波形和频谱图(2)2FSK调制/相干解调器和非相干解调系统(包络检波法)设计要求:a编程实现或是用simulink 对系统建模b输入数字信号序列并进行接收判决c通过多次输入输出对两种系统性能进行分析比较d绘出信号的时域波形和频谱图(3)2PSK、2DPSK调制/相干解调系统设计要求:a编程实现或是用simulink对系统建模b输入数字信号序列并进行接收判决c通过多次输入输出对两种系统性能进行分析比较d绘出信号的时域波形和频谱图(4)16/64QAM调制/解调系统设计要求:a编程实现或是用simulink 对系统建模b输入数字信号序列并进行接收判决c通过多次输入输出对两种系统性能进行分析比较d绘出信号的时域波形和频谱图题目5设计一个先验等概的2ASK 最佳接收机要求:(1)编程实现或是用simulink 对系统建模(2)输入数字信号序列并进行接收判决(3)通过多次输入输出对所设计的系统性能进行分析题目 6 设计一个DSB调制/解调(用平方环和科斯塔斯环实现载波提取)电路要求:(1)编程实现或是用simulink 对系统建模(2)输入模拟话音信号观察其输出波形(3)对所设计的系统性能进行仿真分析(4)对其应用举例阐述题目7数字通信频带传输系统综合设计必做题目:题目1,2,3;选作题目:4(1)、4(2)、4、4,5,6中的一个;综合题目7:每班同学中,做2、3、4、5题目的各选2个同学,共计6人合作来完成题目7。
奇偶校验原理

奇偶校验原理奇偶校验是一种常见的数据传输错误检测方法,它通过在数据位中添加一个奇偶校验位来检测数据传输过程中的错误。
在计算机领域,奇偶校验被广泛应用于串行通信、存储系统和网络传输等领域。
本文将介绍奇偶校验的原理及其在数据传输中的应用。
奇偶校验的原理很简单,它通过对数据位进行统计,使得数据位中包含的1的个数为奇数或偶数。
具体来说,对于奇校验,校验位被设置为1,使得整个数据位中包含的1的个数为奇数;而对于偶校验,校验位被设置为0,使得整个数据位中包含的1的个数为偶数。
在接收端,通过统计接收到的数据位中1的个数,就可以判断数据传输过程中是否出现了错误。
在实际应用中,奇偶校验通常被用于串行通信中。
在串行通信中,数据是逐位传输的,因此很容易受到噪声和干扰的影响。
通过在每个数据字节的最后添加一个奇偶校验位,发送端可以在发送数据时计算出奇偶校验位,并将其附加到数据字节的末尾。
在接收端,接收到数据后,可以再次计算奇偶校验位,并与接收到的校验位进行比较,从而检测出数据传输过程中是否出现了错误。
除了串行通信外,奇偶校验还可以应用于存储系统中。
在存储系统中,数据的传输和存储也容易受到噪声和干扰的影响。
通过在存储的数据块中添加奇偶校验位,可以在读取数据时检测出存储过程中是否出现了错误,从而保障数据的完整性。
此外,奇偶校验还可以应用于网络传输中。
在网络传输中,数据的传输路径往往非常复杂,容易受到各种因素的影响。
通过在数据包中添加奇偶校验位,可以在数据包到达目的地后检测出数据传输过程中是否出现了错误,从而保障数据的准确传输。
总之,奇偶校验作为一种简单有效的数据传输错误检测方法,在计算机领域得到了广泛的应用。
通过在数据中添加奇偶校验位,可以在数据传输过程中及时检测出错误,保障数据的准确性和完整性。
在实际应用中,我们可以根据具体的需求选择奇校验或偶校验,并将其应用于不同的数据传输场景中,以提高数据传输的可靠性和稳定性。
奇偶校验通信原理课程设计

西南科技大学通信原理设计报告课程名称:通信原理课程设计设计名称:奇偶校验编码仿真姓名:王雷学号:班级:通信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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南科技大学通信原理设计报告课程名称:通信原理课程设计设计名称:奇偶校验编码仿真姓名:王雷学号:班级:通信1004指导教师:秦明伟起止日期:2013年7月5日星期五西南科技大学信息工程学院制方向设计任务书学生班级:通信1004 学生姓名:王雷学号:设计名称:奇偶校验编码仿真起止日期: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传输过程没有出现错误2.当传输出现错误时如下图所示校验码S值为1说明传输出现错误,按【Enter】键进行重新传输,如果还是有错则再次按【Enter】键重新传输直至正确,按【Enter】键结束程序。
六、总结奇偶校验是带有一段信息关联的冗余信息,带奇偶校验的带区集意味着每行有一个附加的奇偶校验带区。
因此,必须使用至少三个(而不是两个)磁盘才能考虑该附加的奇偶校验信息。
奇偶校验带区包括该带区内数据的XOR(称为排它性“或”的布尔操作)。
重新生成失败的磁盘时,WindowsNTServer将使用这些带区中与完好磁盘上数据关联的奇偶校验信息重新在失败盘上创建数据。
奇偶校验能够检测出信息传输过程中的部分误码(1位误码能检出,2位及2位以上误码不能检出),同时,它不能纠错。
在发现错误后,只能要求重发。
但由于其实现简单,仍得到了广泛使用。
为了能检测和纠正内存软错误,首先出现的是内存“奇偶校验”。
内存中最小的单位是比特,也称为“位”,位只有两种状态分别以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),结果是奇数。
对于偶校验,校验位就定义为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的一些重要的函数。