国家建设部网站查询,做的比较好的海鲜网站,2021年中国十大电商平台排名,ui设计主要做什么海明码是一种用于纠错的编码技术#xff0c;能够在传输过程中自动检测和纠正错误。海明码是在原数据中的一些固定位置#xff0c;插入一个0#xff08;或1#xff09;#xff0c;以进行奇#xff08;或偶#xff09;校验位#xff0c;虽然使原数据变长#xff0c;但可…海明码是一种用于纠错的编码技术能够在传输过程中自动检测和纠正错误。海明码是在原数据中的一些固定位置插入一个0或1以进行奇或偶校验位虽然使原数据变长但可使其拥有纠错能力。 能侦测并更正一个比特的错误若有两个比特出错则只能侦测不能更正若有三个或更多的比特出错则不能侦测更不能更正。 按照海明的理论可以在数据代码上添加若干冗余位组成码字码字之间的海明距离是一个码字要变成另一个码字时必须改变的最小位数。 如何理解这里的海明距离。例如7位的ASCII码将其增加为8位第8位作为校验位的话一般做奇偶校验。 奇校验正确代码一个字节中1的个数必须是奇数若非奇数则在校验位添加1使之变为奇数。 偶校验正确代码一个字节中1的个数必须是偶数如非偶数则在校验位添加1使之变为偶数。 这样最近的两个7位码之间相差1位而校验码同样因为这一位不同而发生改变这样相邻的两个8位码之间至少有两个位数不同那么他们的海明距离就是2使用奇偶校验只能检测出一位出错如果传输过程中有2位数据出错那么数据就变为了另外一个码字这样计算机就会认为传输的是另一个码字。 ①明码的性能可以通过不同的评估函数来衡量其中最常用的是比特错误率Bit Error Rate, BER1。海明码的优点包括在较少的冗余位数量下实现高效的错误检测和纠正。缺点是当出现多个位错误时可能无法纠正 ②海明码能够纠正一位比特的错误。一个长度为$m$的数据中增加$k$位冗余位构成一个 位的码字然后用 个监督关系式产生的 个校正因子来检测和纠正错误。为了能够纠正一个比特的错误数据长度和冗余位的数目必需满足公式\ref{eq:hamming1}海明码的编码效率效为R m/(mk)。 2k≥ m k 1(1) 公式(1)中m是数据的长度k是海明码校验位的个数。 海明码利用监督公式对数据进行交叉校验利用监督公式的特性可以直接定位出错数据的位置。因为二进制数据中数据的取值只有两种状态0和1因此只要知道出错的位置修改就变得非常的容易只要对出错位置的数据取反就可以达到纠正的目的。例如接收端收了一串二进制数据101011经过海明码计算后得到的数字是3说明数据中的第3位的数据出现了错误纠正时只需要把第三位的1取反变成0即可纠正后的二进制串是100011。 公式(1)中海明码虽然可以实现数据的纠错但是只能实现一个比特数据的纠错。如果数据中有多个比特同时出现错误就必须使用更加复杂的海明公式。海明码的纠错能力和最小码距有关。 码距是编码系统中两个编码之间不同的二进制的位数例如数据1010和数据1111的码距就是2因为它们的第2和第3位数据不同数据不同的位数是2因此码距是2。最小码距用 表示是编码系统中码距的最小值。码距和纠错的能力如下 1.如果要检测 e 个错误最小码距应该满足D e1 2.如果要纠正 t 个错误最小码距应满足 D2t1 3如果要检测 e 个错误同时纠正 t 个错 误最小码距应该满足 Det1( et ) 本节主要讨论检测一位错误且纠正一位错误的情况因此最小码距码距$D3$需添加的冗余位的数目需满足公式(1)