在原始数据字节的最高位增加一个奇偶校验位,使结果中1的个数为奇数(奇校验)或偶数(偶校验)。
例如1100010增加偶校验位后为11100010
若接收方收到的字节奇偶校验结果不正确,就可以知道传输中发生了错误。
-只能用于面向字符的通信协议中。
-只能检测出奇数个比特位错。
一、工作原理
奇偶校验码由n-1位信息元和1位校验元组成,可以表示成为(n,n-1)。如果是奇校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为奇数个;如果是偶校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为偶数个。
设:如果一个偶校验码的码字用A=[an-1,an-2,…,a1,a0]表示,则:(1)式中 为校验元,“+”为模二和(以后也这样表示,请注意)。
式(1)通常被称为校验方程。利用式(1),由信息元即可求出校验元。另外,如果发生单个(或奇数个)错误,就会破坏这个关系式,因此通过该式能检测码字中是否发生了单个或奇数个错误。
二、流程
1、奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
1000110(0)必须添0。原来有3个1已经是奇数了所以添上0之后1的个数还是奇数个。
2、偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
1000110(1)必须加1。原来有3个1要想1的个数为偶数就只能再添加1。
扩展资料
校验码的存在:
计算机系统运行时,各个部之间要进行数据交换交换的过程中,会有发生误码的可能(即0变成1或1变成0),由于计算机的储存是通过二进制代码来实现的的,误码会导致储存的内容发生改变。为确保数据在传送过程正确无误,常使用检验码。
优点:简单,易于硬件实现
缺点:如上述,只能检测出奇数个错误。
因为在某些场合,发生错误的情况下,绝大多数都是出现一个错误,所以奇偶校验码有着很大的实用性。
-奇偶校验码
奇偶校验码是一种用来检验代码在传送过程中是否产生错误的代码。二进制信息在传送时,可能由于外界干扰或者其他原因而发生错误,即可能由1变为0或者0变为1,它能够检验这类错误。
奇偶校验码由两部分组成,一是信息位,即要传递的信息本身,可能是一组位不限的二进制代码;二是奇偶检验位,仅一位。奇偶校验位的编码方式有两种,一是使信息位和校验位的“1”的个数为奇数,称为奇校验;二是使信息位和校验位的“1”的个数为偶数,称为偶校验。
采用奇偶校验码进行检测错误时,在发送端由编码器根据信息位编码产生奇偶校验位,形成奇偶校验码发往接收端;接收端通过检测器检查代码中含“1”的个数的奇偶,判断信息是否出错。列如,当采用偶检验时,若收到的代码含有奇数个数的“1”,则说明发生了错误。
所以它的特点:
简单,容易实现。
只有检查错误的能力,但不知道是哪里出错。
只能发现单错,无法发现双错,但由于数据中单错的概率远远大于双错的概率,所以这中编码是具有实用价值的
奇偶校验的方法是通过在编码中增加一位校验位来使编码中的1的个数为奇数个(奇校验)或偶数个(偶校验)奇偶校验位就是插入数据块中的一些冗余信息,使数据块中的数据建立某种关联,如果传输出错就会被检测出来
一般来说,校验位和数据位之间是有密切关系的如hamming
code中校验位k和数据位n之间就存在着这样的关系:2的k次幂-1>=n+k也就是说这里校验位是由数据位来决定的奇偶校验位和数据位结合起来可以差错和纠错
奇偶校验电路是一种校验代码传输正确性的电路。
奇校验电路,当输入有奇数个1时,输出为1;偶校验电路当输入有偶数个1时,输出为0。奇偶校验只能检查一位错误,且没有纠错的能力。
奇校验是通过增加一位校验位的逻辑取值,在源端将原数据代码中为1的位数形成奇数,然后在宿端使用该代码时,连同校验位一起检查为1的位数是否是奇数,做出进一步操作的决定。
奇偶校验器多设计成九位二进制数,以适应一个字节,一个ASCII代码的应用要求。
奇偶校验是一种冗余编码校验,在存储器中是按存储单元为单位进行的,是依靠硬件实现的,因而适时性强,但这种校验方法只能发现奇数个错,如果数据发生偶数位个错,由于不影响码子的奇偶性质,因而不能发现。
对于位数较少,电路较简单的应用,可以采用奇偶校验的方法提高系统的可靠性。
首先字符T的十进制是84,转换成二进制是101 0100,最高位设置为奇校验,所以看101 0100中有3个1,是奇数个,所以最高位就为0使得校验后的数中1的个数还是奇数个,故为:0101 0100
单向奇偶校验
概述
单向奇偶校验(Row Parity)由于一次只采用单个校验位,因此又称为单个位奇偶校验(Single Bit Parity)。发送器在数据祯每个字符的信号位后添一个奇偶校验位,接收器对该奇偶校验位进行检查。典型的例子是面向ASCII码的数据信号祯的传输,由于ASCII码是七位码,因此用第八个位码作为奇偶校验位。
单向奇偶校验又分为奇校验(Odd Parity)和偶校验(Even Parity),发送器通过校验位对所传输信号值的校验方法如下:奇校验保证所传输每个字符的8个位中1的总数为奇数;偶校验则保证每个字符的8个位中1的总数为偶数。
显然,如果被传输字符的7个信号位中同时有奇数个(例如1、3、5、7)位出现错误,均可以被检测出来;但如果同时有偶数个(例如2、4、6)位出现错误,单向奇偶校验是检查不出来的。
一般在同步传输方式中常采用奇校验,而在异步传输方式中常采用偶校验。
校验方法
奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数
1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。
偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数
1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。
双向奇偶校验
为了提高奇偶校验的检错能力,可采用双向奇偶校验(Row and Column Parity),也可称为双向冗余校验(Vertical and Longitudinal Redundancy Checks)。
双向奇偶校验,又称“方块校验”或“垂直水平”校验。
例:
1010101×
1010111×
1110100×
0101110×
1101001×
0011010×
×××××××
“×”表示 奇偶校验 所采用的奇校验或偶校验的校验码。
如此,对于每个数的关注就由以前的1×7次增加到了7×7次。因此,比单项校验的校验能力更强。
简单的校验数据的正确性,在计算机里都是010101二进制表示,每个字节有八位二进制,最后一位为校验码,奇校验测算前七位里1的个数合的奇偶性,偶校验测算前七位里0的个数的奇偶性。当数据里其中一位变了,得到的奇偶性就变了,接收数据方就会要求发送方重新传数据。奇偶校验只可以简单判断数据的正确性,从原理上可看出当一位出错,可以准确判断,如同时两个1变成两个0就校验不出来了,只是两位或更多位及校验码在传输过程中出错的概率比较低,奇偶校验可以用的要求比较低的应用下。
在标准ASCII中,其最高位(b7)用作奇偶校验位。
所谓奇偶校验,是指在百代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校度验两种。
奇校验规定:正确的代码一个字专节中1的个数必须是奇数,若非奇数,则在最高位b7添1。
偶校验规定:正确属的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
扩展资料:
奇偶校验有两种类型:奇校验和偶校验。
奇偶校验位是一个表示给定位数的二进制数中1的个数是奇数或者偶数的二进制数,奇偶校验位是最简单的错误检测码。
如果传输过程中包括校验位在内的奇数个数据位发生改变,那么奇偶校验位将出错表示传输过程有错误发生。
-奇偶校验
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)