检错纠错码在计算机中的应用情况
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
位错, 取整) 能发现 d-1 位错,或改正 (d-2)/2 (取整 位错 取整 位错, 位错,并改正 位错,应满足如下条件: 要发现 l 位错 并改正 t 位错,应满足如下条件 d >= l + t + 1 ( l >= t )
谢谢
谢谢大家的观看!
纠错编码又称信道编码, 纠错编码又称信道编码,它与信源编码是信 息传输的两个方面。 息传输的两个方面。它们之间存在对偶的关 系。应用信道译码直接对一些自然信息进行 处理,可以去掉剩余度, 处理,可以去掉剩余度,以达到压缩数据的 目的。 目的。
检验码
检错码就是通过一定的编码和解码, 检错码就是通过一定的编码和解码,能够在接收解 码时检查出传输的错误,但不能纠正错误。 码时检查出传输的错误,但不能纠正错误。纠错码 就是在接收时不但能检查错误,而且能纠正错误。 就是在接收时不但能检查错误,而且能纠正错误。 检错码方案在差错控制方面, 检错码方案在差错控制方面,主要是通过干扰码的 方式进行的,其中又有两种方案:纠错码和检错码。 方式进行的,其中又有两种方案:纠错码和检错码。 在检错码方案中, 奇偶校验码 奇偶校验码"和 循环冗余编码 循环冗余编码" 在检错码方案中,"奇偶校验码 和"循环冗余编码 这两种方案应用最广常用的纠错码简介数据通信中 常用的纠错检错码有前向纠错、后向纠错、 常用的纠错检错码有前向纠错、后向纠错、循环冗 余校验码、奇偶校验码、汉明码及其改进码等。 余校验码、奇偶校验码、汉明码及其改进码等。
检错纠错码在计算 机中的应用情况
了解
为了提高计算机的可靠性,除了采取选用更高可靠 为了提高计算机的可靠性, 性的器件,更好的生产工艺等措施之外, 性的器件,更好的生产工艺等措施之外,还可以从 数据编码上想一些办法,即采用一点冗余的线路, 数据编码上想一些办法,即采用一点冗余的线路, 在原有数据位之外再增加一到几位校验位, 在原有数据位之外再增加一到几位校验位,使新得 到的码字带上某种特性, 到的码字带上某种特性,之后则通过检查该码字是 否仍保持有这一特性,来发现是否出现了错误,甚 否仍保持有这一特性,来发现是否出现了错误, 至于定位错误后,自动改正这一错误, 至于定位错误后,自动改正这一错误,这就是我们 这里说的检错纠错编码技术。 这里说的检错纠错编码技术。
奇偶校验位有两种类型: 奇偶校验位有两种类型:偶校验位与奇校验 的个数是奇数, 位。如果一组给定数据位中 1 的个数是奇数, 那么偶校验位就置为 1,从而使得总的 1 的 , 个数是偶数。 个数是偶数。如果给定一组数据位中 1 的个 数是偶数, 数是偶数,那么奇校验位就置为 1,使得总 , 的个数是奇数。 的 1 的个数是奇数。
几种常用的检错纠错码
奇偶检验码, 奇偶检验码, 海明校验码, 海明校验码, 循环冗余码, 循环冗余码, 用于并行数据传送中 用于并行数据传送中 用于串行数据传送中
奇偶校验码
奇偶校验码是一种通过增加冗余位使得码字 的个数恒为奇数或偶数的编码方法,它 中"1"的个数恒为奇数或偶数的编码方法 它 的个数恒为奇数或偶数的编码方法 是一种检错码。 是一种检错码。在实际使用时又可分为垂直 奇偶校验、水平奇偶校验和水平垂直奇偶校 奇偶校验、 验等几种。 验等几种。 奇偶校验位是一个表示给定位数的二进制数 的个数是奇数还是偶数的二进制数。 中 1 的个数是奇数还是偶数的二进制数。奇 偶校验位是最简单的错误检测码。 偶校验位是最简单的错误检测码。
小结
(1) K位码有 K 个编码状态,全用于表示合法码,则 位码有2 个编码状态,全用于表示合法码, 位码有 任何一位出错, 均会变成另一个合法码, 任何一位出错 均会变成另一个合法码,不具有检 错能力。 错能力。 (2) 从一个合法码变成另一个合法码,至少要改变几 从一个合法码变成另一个合法码, 位码的值,称为最小码距(码距 码距)。 位码的值,称为最小码距 码距 。 (3) K+1 位码,只用其 2K 个状态,可使码距 为 2 , 位码, 个状态, 如果一个合法码中的一位错了,就成为非法码, 如果一个合法码中的一位错了,就成为非法码,通 过检查码字的合法性,就得到检错能力, 过检查码字的合法性,就得到检错能力,这就是奇 偶校验码。 偶校验码。
(4) 对 k 位数据位,当给出 r 位校验位时, 位数据位, 位校验位时,
位错, 须满足如下关系: 位错, 须满足如下关系:
要发现并改正一
2r
> = k + r +1 ;
要发现并改正一位错, 要发现并改正一位错,也能发现两位错,则应:
2r-1 >=
k + r , 此时码距为 4。 。
(5) 若最小码距为 d (d>=2),
Fra Baidu bibliotek 汉明码
汉明码是一种能纠一位错的线性分组码, 汉明码是一种能纠一位错的线性分组码,由于它的编译码简 在数据通信和计算机存储系统中广泛应用, 单,在数据通信和计算机存储系统中广泛应用,如在蓝牙技 术和硬盘阵列中。它的最小码距为3,可以纠正一位错误, 术和硬盘阵列中。它的最小码距为 ,可以纠正一位错误, 但对于两位错不能检测,还可能会造成误纠。 但对于两位错不能检测,还可能会造成误纠。尽管发生一位 错的概率相对最高, 错的概率相对最高,但在一些要求较高的应用中汉明码不能 满足要求。 满足要求。 个校验位的值, 合理地用 k 位数据位形成 r 个校验位的值,即保证用 k 个 数据位中不同的数据位组合来形成每个校验位的值, 数据位中不同的数据位组合来形成每个校验位的值,使任何 一个数据位出错时, 一个数据位出错时,将影响 r 个校验位中不同的校验位组合 起变化。 起变化。 换言之,通过检查是哪种校验位组合起了变化, 换言之,通过检查是哪种校验位组合起了变化,就能确 定是哪个数据位错,对该位求反则实现纠错。 定是哪个数据位错,对该位求反则实现纠错。有时两位错与 某种情况的一位错对校验位组合的影响相同, 某种情况的一位错对校验位组合的影响相同,必须加以区分 与解决。 与解决。
举例子
大家都知道,信息是以比特流的方式传输的, 大家都知道,信息是以比特流的方式传输的,类似 01000001。在传输过程中,有可能会发生错误,比如,我 。在传输过程中,有可能会发生错误,比如, 们存储了01000001,但是取出来却是 们存储了 ,但是取出来却是01000000,即低位由 , 0变成了 。为了检测到这种错误,我们可以通过“奇偶校验” 变成了1。为了检测到这种错误,我们可以通过“奇偶校验” 变成了 来实现。假如,我们存储的数据是一个字节, 个比特位 个比特位, 来实现。假如,我们存储的数据是一个字节,8个比特位, 那我们就可以计算每个字节比特位是1的个数 的个数, 那我们就可以计算每个字节比特位是 的个数,如果是偶数 个1,那么,我们就把第九个位设为 ,如果是奇数个 ,那 ,那么,我们就把第九个位设为1,如果是奇数个1, 么就把第九个位设为0,这样连续9个字节比特位为 个字节比特位为1的位数 么就把第九个位设为 ,这样连续 个字节比特位为 的位数 肯定是奇数。这中方法叫做“奇校验” 偶校验” 肯定是奇数。这中方法叫做“奇校验”,“偶校验”和此类 当然,在实际应用中,也可以把一个字节的前7位作为 似。当然,在实际应用中,也可以把一个字节的前 位作为 数据位,最后一个为作为校验位。 数据位,最后一个为作为校验位。
在串行通信中使用的一维奇偶校验码是最简单的一 种纠错码, 种纠错码,它的编码规律是在数据位末尾添加一位 校验位,使得整个码字中含有奇数或偶数个1, 校验位,使得整个码字中含有奇数或偶数个 ,它 能发现所有的奇数位错,但它不能用来纠正错误。 能发现所有的奇数位错,但它不能用来纠正错误。 需要指出的是采用二维奇偶校验码(即将数据按矩阵 需要指出的是采用二维奇偶校验码 即将数据按矩阵 排列,分别对行、列进行一维奇偶校验编码)后 排列,分别对行、列进行一维奇偶校验编码 后,不 仅可以纠正一位错,还能检出某些突发错误, 仅可以纠正一位错,还能检出某些突发错误,所以 在一些数据传输网络中得以应用。 在一些数据传输网络中得以应用。
谢谢
谢谢大家的观看!
纠错编码又称信道编码, 纠错编码又称信道编码,它与信源编码是信 息传输的两个方面。 息传输的两个方面。它们之间存在对偶的关 系。应用信道译码直接对一些自然信息进行 处理,可以去掉剩余度, 处理,可以去掉剩余度,以达到压缩数据的 目的。 目的。
检验码
检错码就是通过一定的编码和解码, 检错码就是通过一定的编码和解码,能够在接收解 码时检查出传输的错误,但不能纠正错误。 码时检查出传输的错误,但不能纠正错误。纠错码 就是在接收时不但能检查错误,而且能纠正错误。 就是在接收时不但能检查错误,而且能纠正错误。 检错码方案在差错控制方面, 检错码方案在差错控制方面,主要是通过干扰码的 方式进行的,其中又有两种方案:纠错码和检错码。 方式进行的,其中又有两种方案:纠错码和检错码。 在检错码方案中, 奇偶校验码 奇偶校验码"和 循环冗余编码 循环冗余编码" 在检错码方案中,"奇偶校验码 和"循环冗余编码 这两种方案应用最广常用的纠错码简介数据通信中 常用的纠错检错码有前向纠错、后向纠错、 常用的纠错检错码有前向纠错、后向纠错、循环冗 余校验码、奇偶校验码、汉明码及其改进码等。 余校验码、奇偶校验码、汉明码及其改进码等。
检错纠错码在计算 机中的应用情况
了解
为了提高计算机的可靠性,除了采取选用更高可靠 为了提高计算机的可靠性, 性的器件,更好的生产工艺等措施之外, 性的器件,更好的生产工艺等措施之外,还可以从 数据编码上想一些办法,即采用一点冗余的线路, 数据编码上想一些办法,即采用一点冗余的线路, 在原有数据位之外再增加一到几位校验位, 在原有数据位之外再增加一到几位校验位,使新得 到的码字带上某种特性, 到的码字带上某种特性,之后则通过检查该码字是 否仍保持有这一特性,来发现是否出现了错误,甚 否仍保持有这一特性,来发现是否出现了错误, 至于定位错误后,自动改正这一错误, 至于定位错误后,自动改正这一错误,这就是我们 这里说的检错纠错编码技术。 这里说的检错纠错编码技术。
奇偶校验位有两种类型: 奇偶校验位有两种类型:偶校验位与奇校验 的个数是奇数, 位。如果一组给定数据位中 1 的个数是奇数, 那么偶校验位就置为 1,从而使得总的 1 的 , 个数是偶数。 个数是偶数。如果给定一组数据位中 1 的个 数是偶数, 数是偶数,那么奇校验位就置为 1,使得总 , 的个数是奇数。 的 1 的个数是奇数。
几种常用的检错纠错码
奇偶检验码, 奇偶检验码, 海明校验码, 海明校验码, 循环冗余码, 循环冗余码, 用于并行数据传送中 用于并行数据传送中 用于串行数据传送中
奇偶校验码
奇偶校验码是一种通过增加冗余位使得码字 的个数恒为奇数或偶数的编码方法,它 中"1"的个数恒为奇数或偶数的编码方法 它 的个数恒为奇数或偶数的编码方法 是一种检错码。 是一种检错码。在实际使用时又可分为垂直 奇偶校验、水平奇偶校验和水平垂直奇偶校 奇偶校验、 验等几种。 验等几种。 奇偶校验位是一个表示给定位数的二进制数 的个数是奇数还是偶数的二进制数。 中 1 的个数是奇数还是偶数的二进制数。奇 偶校验位是最简单的错误检测码。 偶校验位是最简单的错误检测码。
小结
(1) K位码有 K 个编码状态,全用于表示合法码,则 位码有2 个编码状态,全用于表示合法码, 位码有 任何一位出错, 均会变成另一个合法码, 任何一位出错 均会变成另一个合法码,不具有检 错能力。 错能力。 (2) 从一个合法码变成另一个合法码,至少要改变几 从一个合法码变成另一个合法码, 位码的值,称为最小码距(码距 码距)。 位码的值,称为最小码距 码距 。 (3) K+1 位码,只用其 2K 个状态,可使码距 为 2 , 位码, 个状态, 如果一个合法码中的一位错了,就成为非法码, 如果一个合法码中的一位错了,就成为非法码,通 过检查码字的合法性,就得到检错能力, 过检查码字的合法性,就得到检错能力,这就是奇 偶校验码。 偶校验码。
(4) 对 k 位数据位,当给出 r 位校验位时, 位数据位, 位校验位时,
位错, 须满足如下关系: 位错, 须满足如下关系:
要发现并改正一
2r
> = k + r +1 ;
要发现并改正一位错, 要发现并改正一位错,也能发现两位错,则应:
2r-1 >=
k + r , 此时码距为 4。 。
(5) 若最小码距为 d (d>=2),
Fra Baidu bibliotek 汉明码
汉明码是一种能纠一位错的线性分组码, 汉明码是一种能纠一位错的线性分组码,由于它的编译码简 在数据通信和计算机存储系统中广泛应用, 单,在数据通信和计算机存储系统中广泛应用,如在蓝牙技 术和硬盘阵列中。它的最小码距为3,可以纠正一位错误, 术和硬盘阵列中。它的最小码距为 ,可以纠正一位错误, 但对于两位错不能检测,还可能会造成误纠。 但对于两位错不能检测,还可能会造成误纠。尽管发生一位 错的概率相对最高, 错的概率相对最高,但在一些要求较高的应用中汉明码不能 满足要求。 满足要求。 个校验位的值, 合理地用 k 位数据位形成 r 个校验位的值,即保证用 k 个 数据位中不同的数据位组合来形成每个校验位的值, 数据位中不同的数据位组合来形成每个校验位的值,使任何 一个数据位出错时, 一个数据位出错时,将影响 r 个校验位中不同的校验位组合 起变化。 起变化。 换言之,通过检查是哪种校验位组合起了变化, 换言之,通过检查是哪种校验位组合起了变化,就能确 定是哪个数据位错,对该位求反则实现纠错。 定是哪个数据位错,对该位求反则实现纠错。有时两位错与 某种情况的一位错对校验位组合的影响相同, 某种情况的一位错对校验位组合的影响相同,必须加以区分 与解决。 与解决。
举例子
大家都知道,信息是以比特流的方式传输的, 大家都知道,信息是以比特流的方式传输的,类似 01000001。在传输过程中,有可能会发生错误,比如,我 。在传输过程中,有可能会发生错误,比如, 们存储了01000001,但是取出来却是 们存储了 ,但是取出来却是01000000,即低位由 , 0变成了 。为了检测到这种错误,我们可以通过“奇偶校验” 变成了1。为了检测到这种错误,我们可以通过“奇偶校验” 变成了 来实现。假如,我们存储的数据是一个字节, 个比特位 个比特位, 来实现。假如,我们存储的数据是一个字节,8个比特位, 那我们就可以计算每个字节比特位是1的个数 的个数, 那我们就可以计算每个字节比特位是 的个数,如果是偶数 个1,那么,我们就把第九个位设为 ,如果是奇数个 ,那 ,那么,我们就把第九个位设为1,如果是奇数个1, 么就把第九个位设为0,这样连续9个字节比特位为 个字节比特位为1的位数 么就把第九个位设为 ,这样连续 个字节比特位为 的位数 肯定是奇数。这中方法叫做“奇校验” 偶校验” 肯定是奇数。这中方法叫做“奇校验”,“偶校验”和此类 当然,在实际应用中,也可以把一个字节的前7位作为 似。当然,在实际应用中,也可以把一个字节的前 位作为 数据位,最后一个为作为校验位。 数据位,最后一个为作为校验位。
在串行通信中使用的一维奇偶校验码是最简单的一 种纠错码, 种纠错码,它的编码规律是在数据位末尾添加一位 校验位,使得整个码字中含有奇数或偶数个1, 校验位,使得整个码字中含有奇数或偶数个 ,它 能发现所有的奇数位错,但它不能用来纠正错误。 能发现所有的奇数位错,但它不能用来纠正错误。 需要指出的是采用二维奇偶校验码(即将数据按矩阵 需要指出的是采用二维奇偶校验码 即将数据按矩阵 排列,分别对行、列进行一维奇偶校验编码)后 排列,分别对行、列进行一维奇偶校验编码 后,不 仅可以纠正一位错,还能检出某些突发错误, 仅可以纠正一位错,还能检出某些突发错误,所以 在一些数据传输网络中得以应用。 在一些数据传输网络中得以应用。