首页 > 软件 > 请利用汉明码找到错误的数据点并解释理由

请利用汉明码找到错误的数据点并解释理由

软件 2024-04-21

计算机组成原理汉明码纠错

汉明码的检测码的p1计算的是C1位所在的第一组偶(奇)校验是否出错,有错就是1否则为0,p2计算的是C2位配置的第二组偶(奇)校验是否出错,有错就是1否则为0,,p3计算的是C3位配置的第三组偶(奇)校验是否出错,有错就是1,否则为0。p1,p2,p3他们的下标减1之后代表他们实际上的二进制的位权。所以p1p2p3计算出来是110,而答案是p3p2p1是011反着写表示十进制的3,也就是指出接收到汉明码第3位出错。这里的3是指这个接收到的汉明码从左往右数的第3位。这是因为汉明码编码时候就是从左往右编码的,序号分别是1,2,3,4,5,6... 再回顾2^k>=N+k+1这个汉明码编码公式限制条

汉明码的校验方法

如果一条信息中包含更多用于纠错的位,且通过妥善安排这些纠错位使得不同的出错位产生不同的错误结果,那么我们就可以找出出错位了。在一个7位的信息中,单个位出错有7种可能,因此3个错误控制位就足以确定是否出错及哪一位出错了。
汉明码SECDED(single error correction, double error detection)版本另外加入一检测比特,可以侦测两个或以下同时发生的比特错误,并能够更正单一比特的错误。因此,当发送端与接收端的比特样式的汉明距离(Hamming distance)小于或等于1时(仅有1 bit发生错误),可实现可靠的通信。相对的,简单的奇偶检验码除了不能纠正错误之外,也只能侦测出奇数个的错误。
下列通用算法可以为任意位数字产生一个可以纠错一位的汉明码:
1.从1开始给数字的数据位(从左向右)标上序号, 1,2,3,4,5...
2.将这些数据位的位置序号转换为二进制,1, 10, 11, 100, 101,等。
3.数据位的位置序号中所有为二的幂次方的位(编号1,2,4,8,等,即数据位位置序号的二进制表示中只有一个1)是校验位
4.所有其它位置的数据位(数据位位置序号的二进制表示中至少2个是1)是数据位
5.每一位的数据包含在特定的两个或两个以上的校验位中,这些校验位取决于这些数据位的位置数值的二进制表示
(1) 校验位1覆盖了所有数据位位置序号的二进制表示倒数第一位是1的数据:1(校验位自身,这里都是二进制,下同),11,101,111,1001,等
(2) 校验位2覆盖了所有数据位位置序号的二进制表示倒数第二位是1的数据:10(校验位自身),11,110,111,1010,1011,等
(3) 校验位4覆盖了所有数据位位置序号的二进制表示倒数第三位是1的数据:100(校验位自身),101,110,111,1100,1101,1110,1111,等
(4) 校验位8覆盖了所有数据位位置序号的二进制表示倒数第四位是1的数据:1000(校验位自身),1001,1010,1011,1100,1101,1110,1111,等
(5) 简而言之,所有校验位覆盖了数据位置和该校验位位置的二进制与的值不为0的数。
采用奇校验还是偶校验都是可行的。偶校验从数学的角度看更简单一些,但在实践中并没有区别。校验位一般的规律可以如下表示:
观察上表可发现一个比较直观的规律:第i个检验位是第2i-1位,从该位开始,检验2i-1位,跳过2i-1位……依次类推。例如上表中第3个检验位p4从第23-1=4位开始,检验4、5、6、7共4位,然后跳过8、9、10、11共4位,再检验12、13、14、15共4位……

汉明码三位校验位最小距离为3的编码如何判断是错了一位还是两位啊?谢谢

最常用的差错控制方法有奇偶校验法、循环冗余校验法和汉明码等。这些方法用于识别数据是否发生传输错误,并且可以启动校正措施,或者舍弃传输发生错误的数据,要求重新传输有错误的数据块。 1.奇偶校验法 奇偶校验法是一种很简单并且广泛使用的校验方法。这种方法是在每一字节中加上一个奇偶校验位,并被传输,即每个字节发送九位数据。数据传输以前通常会确定是奇校验还是偶校验,以保证发送端和接收端采用相同的校验方法进行数据校验。如果校验位不符,则认为传输出错。 奇校验是在每个字节后增加一个附加位,使得“1”的总数为奇数。奇校验时,校验位按如下规则设定:如果每字节的数据位中“1”的个数为奇数,则校验位为“0”若为偶数

若接收到的汉明码为1101011按偶校验配置判断是否存在错误若出错请纠正过来?

答:p1=1+3+5+7=1;p2=2+3+6+7=1;p4=4+5+6+7=0 推出:p4p2p1=011 推出第三位出错故正确编码为11100000 推出欲传送码为1000

汉明码检错纠错性能检验师波图什么意思

意思是能够自动检测并纠正一位错码的线性纠错码。

计算机为了及时发现错误并能纠正错误,通常会把原数据配成汉明编码。汉明码是Richard Hanming于1950年提出的,具有一位纠错能力。

也就是说汉明码的纠错可以视作一种误码校验。

假设有一串n位的二进制代码,为了使其具有纠错能力,需要增加k位的检测位,k应当满足:

2^k>=n+k+1

把这n+k位的一串代码从左至右依次编为第1,2···n+k位;

我们把这k个检测位分别放在第1,2···2^(k-1)位上。

同时k个检测位代表着把整个n+k位的一串代码分为k个组,以保证他们能分别承担n+k位中不同数位组成的小组的奇偶检验任务,所谓奇偶检验可以理解为使得一组中所有数位上的信息的代数和为奇数或者偶数。

k个组的分法

1、每个小组仅有一位为其独占,这一位其他小组都没有的,也就是我们所加入的用来给这一住做奇偶校验的检测位。即gi小组占有第2^(i-1)位。

2、每两个小组共同占有一位其他小组没有的,即每两个小组gi和gj共同占有第2^(i-1)+2^(g-1)位。

3、每三个小组共同占有一位其他小组所没有的,即gi,gj和gk组共同占有第2^(i-1)+2^(j-1)+2^(k-1)位。以此类推就可以得到各小组的组成了。


标签:计算机 电脑网络 校验 汉明码 配置

大明白知识网 Copyright © 2020-2022 www.wangpan131.com. Some Rights Reserved. 京ICP备11019930号-18