奇偶校验
- 格式:doc
- 大小:189.50 KB
- 文档页数:5
概述奇偶校验法常用于识别数据是否发生传输错误,并且可以启动校正措施,或者舍弃传输发生错误的数据,要求重新传输有错误的数据块。
编辑本段奇偶校验法奇偶校验法是一种很简朴并且广泛使用的校验方法。
这种方法是在每一字节中加上一个奇偶校验位,并被传输,即每个字节发送九位数据。
数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验。
假如校验位不符,则认为传输出错。
奇校验是在每个字节后增加一个附加位,使得“1”的总数为奇数。
奇校验时,校验位按如下规则设定:假如每字节的数据位中“1”的个数为奇数,则校验位为“0”若为偶数,则校验位为“1”。
奇校验通常用于同步传输。
而偶校验是在每个字节后增加一个附加位,使得“1”的总数为偶数。
偶校验时,校验位按如下规则设定:假如每字节的数据位中“1”的个数为奇数,则校验位为“1”;若为偶数,则校验位为“0”。
偶校验常用于异步传输或低速传输。
校验的原理是:假如采用奇校验,发送端发送的一个字符编码(含校验位)中,“1”的个数一定为奇数个,在接收端对接收字符二进制位中的“1”的个数进行统计,若统计出“1”的个数为偶数个,则意味着传输过程中有1位(或奇数位)发生差错。
事实上,在传输中偶尔—位出错的机会最多,故奇偶校验法常常采用。
然而,奇偶校验法并不是一种安全的检错方法,其识别错误的能力较低。
假如发生错误的位数为奇数,那么错误可以被识别,而当发生错误的位数为偶数时,错误就无法被识别了,这是因为错误互相抵消了。
数位的错误,以及大多数涉及偶数个位的错误都有可能检测不出来。
它的缺点在于:当某一数据分段中的一个或者多位被破坏时,并且在下一个数据分段中具有相反值的对应位也被破坏,那么这些列的和将不变,因此接收方不可能检测到错误。
常用的奇偶校验法为垂直奇偶校验、水平奇偶校验和水平垂直奇偶校验。
编辑本段垂直奇偶校验垂直奇偶校验是在垂直方向上以列的形式附加上校验位。
假设数据格式及其发送顺序如图1所示,则垂直奇偶校验的编码规则如图2所示。
校验码的3种计算方法
校验码是一种用于检测数据传输或存储过程中是否出现错误的技术。
以下是三种常见的校验码计算方法:
1. 奇偶校验(Parity Check):奇偶校验是一种简单的校验码计算方法,它通过检查数据的奇偶性来判断数据是否正确。
如果数据的位数为奇数,则在末尾添加一个校验位,该位的值为0或1,取决于数据的最后一位是否为0。
如果数据的位数为偶数,则在末尾添加两个校验位,每个校验位的值都为0或1,取决于数据的最后一位是否为0。
2. 循环冗余校验(CRC):循环冗余校验是一种更复杂的校验码计算方法,它使用多项式除法和生成多项式来计算校验码。
生成多项式是一个固定长度的多项式,通常为2的n次方减1,其中n是数据位数的二进制表示中最高位的位置。
在计算校验码时,将数据与生成多项式进行异或运算,然后将结果取反并加到生成多项式的系数中。
最后得到的结果就是校验码。
3. 海明码(Hamming Code):海明码是一种基于循环冗余校验的纠错码,它可以在接收端检测到传输中的错误并进行纠正。
海明码使用多个校验位来表示数据,每个校验位都是一个独立的多项式。
在发送端,将数据和所有校验位一起发送给接收端。
接收端首先计算出所有校验位的值,然后将这些值与接收到的数据进行比较。
如果发现任何一位不匹配,则说明传输中出现了错误,接收端可以使用已知的纠错规则来纠正错误并重新发送正确的数据。
什么是奇偶校验对数据传输正确性的一种校验方法。
在数据传输前附加一位奇校验位,用来表示传输的数据中"1"的个数是奇数还是偶数,为奇数时,校验位置为"0",否则置为"1",用以保持数据的奇偶性不变。
例如,需要传输"11001110",数据中含5个"1",所以其奇校验位为"0",同时把"110011100"传输给接收方,接收方收到数据后再一次计算奇偶性,"110011100"中仍然含有5个"1",所以接收方计算出的奇校验位还是"0",与发送方一致,表示在此次传输过程中未发生错误。
奇偶校验就是接收方用来验证发送方在传输过程中所传数据是否由于某些原因造成破坏。
具体方法如下:奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数 1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。
偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数 1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。
大家一定会问,如何计算奇偶性呢,在计算机内有一种特殊的运算它遵守下面的规则:1+1=0; 1+0=1; 0+1=1; 0+0=0;我们把传送过来的1100111000逐位相加就会得到一个1,应该注意的的,如果在传送中1100111000变成为0000111000,通过上面的运算也将得到1,接收方就会认为传送的数据是正确的,这个判断正确与否的过程称为校验。
而使用上面方法进行的校验称为奇校验,奇校验只能判断传送数据中奇数个数据从0变为1或从1变为0的情况,对于传送中偶数个数据发生错误,它就无能为力了。
Odd Parity(奇校验),校核数据完整性的一种方法,一个字节的8个数据位与校验位(parity bit )加起来之和有奇数个1。
奇偶校验电路设计一、实验目的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)仿真结果与预期不一致时,可以分析错误波形,从而准确找到出错的地方。
奇偶校验的工作原理嘿,朋友们!今天咱来唠唠奇偶校验的工作原理。
你说奇偶校验就像是个特别细心的小管家。
咱平时发个信息啊,传个数据啥的,就跟送快递一样。
奇偶校验呢,就在旁边盯着,生怕这个“快递包裹”在路上出啥岔子。
想象一下,信息就像是一群排好队的小人儿,一个一个地往前走。
奇偶校验呢,就负责看看这排小人儿的数量是奇数个还是偶数个。
如果规定是奇数个,那它就会一直盯着,要是中间突然多了一个或者少了一个小人儿,它马上就能察觉,“哎呀,不对劲啊!”然后赶紧告诉咱们,这里出问题啦。
这就好比咱出门前总要照照镜子,看看衣服穿得整齐不整齐。
奇偶校验就是那面镜子,能帮咱们发现数据这个“衣服”有没有穿好。
要是没有它,说不定咱发出去的信息就变得乱七八糟,对方收到了都不知道是啥意思。
比如说,你给朋友发了一串数字,本来应该是 12345,结果中间丢了个3,变成了 1245,那朋友收到肯定就糊涂啦。
但有了奇偶校验在,它就能发现这个错误,让你知道得重新发一次。
奇偶校验还有个厉害的地方,它不只是能发现错误哦,有时候还能帮忙修正一些小错误呢!就像一个会魔法的小精灵,轻轻挥动魔法棒,就能让数据变得正确。
你说这奇偶校验是不是特别神奇?它虽然看起来不起眼,但在数据传输的世界里,那可是起着至关重要的作用呢!没有它,那数据传输可就乱套啦,就像没有交通规则的马路一样,到处都是混乱。
咱生活中很多地方都离不开奇偶校验呢。
你想想,你在网上购物的时候,你的订单信息要是传错了,那可不得了。
或者你和朋友视频聊天,画面和声音的数据要是出了问题,那得多别扭啊。
所以啊,奇偶校验这个小管家可得好好感谢它。
它默默地工作着,为咱们的数据传输保驾护航。
下次你再享受着快速、准确的数据传输时,别忘了在心里给奇偶校验点个赞呀!它可真是个大功臣呢!这就是奇偶校验的工作原理啦,是不是挺有意思的?原创不易,请尊重原创,谢谢!。
奇偶校验发生器/检测器奇偶校验发生器/检测器是用来检查数据传输和存取过程中是否产生错误的组合逻辑电路。
奇偶校验发生器/检测器是同一个逻辑器件:当作为奇偶校验发生器使用时,它可产生奇偶校验位,与数据一起传输或保存;当作为奇偶校验检测器使用时,它可以检验所接受数据的正确性。
⑴奇偶校验发生器①工作原理被校验的数据和1位校验位组成校验码。
以 8421 码为例, 当采用奇校验时,被校验的数据和校验位满足奇数个 1 ,组成 5 位奇校验码奇校验位逻辑值的表达式当采用偶校验时,被校验的数据和校验位满足偶数个 1,组成 5位偶校验码偶校验位逻辑值的表达式②电路实现由以上两个表达式看出:电路采用异或门实现,非常简单;奇校验位逻辑值电路是在偶校验位逻辑值电路输出端加非门实现。
⑵奇偶校验检测器①工作原理校验码被送到检测电路,该电路能够检测奇偶错。
工作原理是校验码送到检测电路,发生一位错或奇数位错时,输出为 1,否则为 0.②电路实现和发生器电路相同,只不过增加了 1 个输入端。
实际应用中,发生器电路和检测器电路是同一电路,作在一个 IC 片上。
逻辑表达式Jqi 是奇检测输出当Jqi = 0 时,校验码无错,允许输出;当Jqi=1时,校验码有错,禁止输出。
逻辑表达式Jou 是偶检测输出当Jou = 0 时,校验码无错,允许输出;当Jou = 1 时,校验码有错,禁止输出。
⑶奇偶校验实际应用意义①能够检测一位错或奇数位错,但不能确定错误位置,因此,不能纠错;②由逻辑表达式看出,电路不能检测偶数位错,当发生偶数位错时,电路显示正确;③数据在存储或传送过程中,发生一位错误的可能性占96%以上;④电路简单,容易实现,且有实际应用意义。
奇偶校验算法
奇偶校验算法是一种简单的错误检测算法,常用于串行通信中传输数据的错误检测。
该算法通过在每个传输的字节中添加一个额外的奇偶位,来检测数据传输过程中发生的错误。
奇偶校验算法的原理是,将每个字节的所有二进制位相加,如果总和为偶数,则在该字节的最高位添加一个“0”,如果总和为奇数,则添加一个“1”。
这样,在接收端,如果接收到的数据中某个字节的奇偶校验位与算法计算得到的奇偶校验位不一致,则说明该字节中发生了错误。
奇偶校验算法的优点是简单易实现,开销小,能够检测大多数单比特错误。
然而,该算法也有其局限性。
首先,它只能检测单比特错误,无法检测多比特错误。
其次,如果出现偶数个比特出错,则奇偶校验位不变,无法检测错误。
最后,该算法无法纠正错误,只能检测错误。
在实际应用中,奇偶校验算法常用于低速传输环境下的数据传输,如串口通信、磁带存储等。
对于高速传输环境下的数据传输,通常采用更加复杂的错误检测和纠正算法,如CRC校验、海明码等。
奇偶校验算法是一种简单实用的错误检测算法,在低速传输环境下具有良好的性能表现。
然而,在高速传输环境下,需要采用更加复
杂的算法来保证数据传输的可靠性和准确性。
二维奇偶校验码的基本原理嘿,让我们来聊聊二维奇偶校验码的基本原理吧!想象一下,我们有一个很大的棋盘,就像我们小时候玩的那种。
这个棋盘上的格子就像是要传输的信息。
二维奇偶校验码呢,就像是给这个棋盘加上了特殊的标记。
在每行和每列,它都会计算一个奇偶性。
这就好像是给每行每列都贴上了一个标签,表明这一行或这一列的信息是奇数个还是偶数个。
比如说,如果某一行本来有奇数个“1”,那这行的奇偶校验就是“1”,表示奇数嘛。
如果是偶数个“1”,那奇偶校验就是“0”啦。
这样做有什么用呢?就好比我们寄快递,要在包裹上贴个标签,告诉别人包裹有没有问题。
如果在传输过程中,信息出了差错,比如某个格子里的数字变了,那么通过检查这些奇偶校验,我们就能发现问题出在哪里。
就好像棋盘上某个格子的数字突然变了,我们通过看行和列的奇偶校验标签就能找到这个出问题的格子。
是不是很神奇呀!它就像是一个超级细心的守护者,能帮我们找出那些偷偷捣乱的错误信息。
所以,二维奇偶校验码就是这样一个厉害又有趣的东西,能让我们的信息传输更加准确可靠呢!。
关于奇偶校验
232&485 2009-08-01 09:23:13 阅读365 评论0 字号:大中小
Ø奇偶校验原理:通过计算数据中“1”的个数是奇数还是偶数来判断数据的正确性。
在被校验的数据后加一位校验位或校验字符用作校验码实现校验。
Ø校验位的生成方法
Ø奇校验:确保整个被传输的数据中“1”的个数是奇数个,即载荷数据中“1”的个数是奇数个时校验位填“0”,否则填“1”;
偶校验:确保整个被传输的数据中“1”的个数是偶数个,即载荷数据中“1”的个数是奇数个时校验位填“1”,否则填“0”。
Ø使用奇偶校验码校验的特点:
Ø校验处理过程简单,但如果数据中发生多位数据错误就可能检测不出来,更检测不到错误发生在哪一位;主要应用于低速数字通信系统中,一般异步传输模式选用偶校验,同步传输模式选用奇校验。
Ø按校验的数据量和生成校验码的方式分三类
Ø垂直奇偶校验码:以一个字符作为校验单位纵向生成校验码位;
Ø水平奇偶校验码:以多个字符作为校验单位横向生成校验码位;
Ø水平垂直冗余校验码(方阵校验码):以多个字符作为校验单位水平垂直两个方向共同生成校验字符。
Ø垂直奇偶校验码是以单个字符为校验单位生成的一种校验码。
——如何理解垂直?
Ø例如使用ASCII编码的一个字符由8bit组成,其中低7bit为信息位,最高1bit作为校验位。
Ø假设某一字符的标准ASCII编码为0011000,根据奇偶校验规则,如果采用奇校验,则校验位应为1(这样字符中1的个数才能为奇数),即00110001;如果采用偶校验,校验位应为0,即00110000。
垂直奇偶校验码的特点:校验处理过程简单,但如果字符中发生偶数位的错误就检测不出来,也检测不到错误发生在哪一位。
水平奇偶校验码是以字符组为校验单位而生成,对一组字符中的相同位进行校验。
数据传输还是以字符为单位传输,传输按字符顺序一个个的进行,最后进行校验。
——如何理解水平?
Ø水平垂直奇偶校验码又叫方阵码。
Ø生成方法:以若干个字符作为一个校验单位。
每个字符各自生成一个垂直奇偶校验码,再为每个字符的相同位及其垂直奇偶校验码生成水平奇偶校验码,这些校验码形成一个校验字符,附加在被校验字符的后面一并传输到接收方,该校验字符即称为方阵校验码。
Ø校验特点:一次能校验更多的数据,效率较高,系统实现也比较简单,检测可靠性有所提高,但仍然不能检测出所有的错误。
关于奇偶校验
232&485 2009-08-01 09:23:13 阅读365 评论0 字号:大中小
Ø奇偶校验原理:通过计算数据中“1”的个数是奇数还是偶数来判断数据的正确性。
在被校验的数据后加一位校验位或校验字符用作校验码实现校验。
Ø校验位的生成方法
Ø奇校验:确保整个被传输的数据中“1”的个数是奇数个,即载荷数据中“1”的个数是奇数个时校验位填“0”,否则填“1”;
偶校验:确保整个被传输的数据中“1”的个数是偶数个,即载荷数据中“1”的个数是奇数个时校验位填“1”,否则填“0”。
Ø使用奇偶校验码校验的特点:
Ø校验处理过程简单,但如果数据中发生多位数据错误就可能检测不出来,更检测不到错误发生在哪一位;主要应用于低速数字通信系统中,一般异步传输模式选用偶校验,同步传输模式选用奇校验。
Ø按校验的数据量和生成校验码的方式分三类
Ø垂直奇偶校验码:以一个字符作为校验单位纵向生成校验码位;
Ø水平奇偶校验码:以多个字符作为校验单位横向生成校验码位;
Ø水平垂直冗余校验码(方阵校验码):以多个字符作为校验单位水平垂直两个方向共同生成校验字符。
Ø垂直奇偶校验码是以单个字符为校验单位生成的一种校验码。
——如何理解垂直?
Ø例如使用ASCII编码的一个字符由8bit组成,其中低7bit为信息位,最高1bit作为校验位。
Ø假设某一字符的标准ASCII编码为0011000,根据奇偶校验规则,如果采用奇校验,则校验位应为1(这样字符中1的个数才能为奇数),即00110001;如果采用偶校验,校验位应为0,即00110000。
垂直奇偶校验码的特点:校验处理过程简单,但如果字符中发生偶数位的错误就检测不出来,也检测不到错误发生在哪一位。
水平奇偶校验码是以字符组为校验单位而生成,对一组字符中的相同位进行校验。
数据传输还是以字符为单位传输,传输按字符顺序一个个的进行,最后进行校验。
——如何理解水平?
Ø水平垂直奇偶校验码又叫方阵码。
Ø生成方法:以若干个字符作为一个校验单位。
每个字符各自生成一个垂直奇偶校验码,再为每个字符的相同位及其垂直奇偶校验码生成水平奇偶校验码,这些校验码形成一个校验字符,附加在被校验字符的后面一并传输到接收方,该校验字符即称为方阵校验码。
Ø校验特点:一次能校验更多的数据,效率较高,系统实现也比较简单,检测可靠性有所提高,但仍然不能检测出所有的错误。