3 数据链路层(二):差错控制、差错检测和纠正

1 差错控制、差错检测和纠正

数据在传输中可能被破坏,因此需要进行检错和纠错。差错产生主要是由于线路本身电气特性所产生的随机噪声(也称热噪声)、信号振幅、频率和相位的衰减或畸变、电信号在传输介质上的反射回音效应、相邻线路的串扰、外界的电磁干扰和设备故障等因素造成的。

1.1 差错类型和差错控制

1、差错类型

差错分为单比特差错和突发差错

  • 单比特差错:在传输的数据单元中只有一个比特发生了改变(0变1或1变0)
  • 突发差错:在传输的数据单元中有两个或两个以上的比特发生了改变,这两个或两个以上的比特不一定连续,差错的比特之间是否有间隔,只要是在一个帧内

2、差错控制方法

提高通信可靠性的办法有两种:

  • 选择合适的硬件:选用高质量的传输介质并提高信号功率强度,采取最佳的信号编码和调制手段,使传输信号特性与信道特性达到最好的匹配,但是增加了成本。 → 物理层
  • 在传输过程中进行差错控制:采用编码的方法进行查错或纠错处理 → 数据链路层

1.2 差错控制编码

1、差错控制编码介绍

在实际信道上传输数字信号时,由于信道传输特性不理想及加性噪声的影响,所收到的数字信号不可避免地会发生错误。为了在已知信噪比的情况下达到一定的误比特率指标,首先应合理设计基带信号,选择调制、解调方式,采用频域均衡和时域均衡,使误比特率尽可能降低,但若误比特率仍不能满足要求,则必须采用信道编码,即差错控制编码,将误比特率进一步降低,以满足指标要求。

差错控制编码,简单来说就是尽量减少数据单元比特差错的编码

差错控制编码实现方式:

  • 1.在发送端被传输的信息序列上附加一些监督码元,这些多余的码元与信息码元之间以某种确定的规则相互关联(约束)
  • 2.接收端按照既定的规则检验信息码元与监督码元之间的关系
  • 3.一旦传输过程中发生差错,则信息码元与监督码元之间的关系将受到破坏,从而可以发现错误,乃至纠正错误

2、差错控制方式

差错控制方式有三种:

  • 自动请求重发ARQ(Automatic Repeat request,也叫检错重发):
    • 采用检错码实现
    • 使用冗余技术
    • 常用的检错重发系统有三种:停发等候重发、返回重发和选择重发
  • 前向纠错FEC(Forward Error Correction)
    • 采用纠错码实现
  • 混合纠错(简称HEC):前向纠错方式和检错重发方式的结合

冗余技术:在发送方的数据单元中增加一些用于检查差错的附加位,便于接收端进行检错。一旦传输的正确性被确认,这些附加位就被接收端丢弃,并给发送端发一个确认应答ACK(acknowledgment)。当接收端接收到的检错码检测到差错时,就给发送端发送一个否定应答NAK(negative acknowledgment),并要求发送端重发数据
在这里插入图片描述

3、编码分类

差错控制系统中使用的信道编码可以有多种。

  • 按照差错控制编码的不同功能,可分为
    • 检错码:只具有检错能力的编码
      • 常用的检错码有:奇偶、校验和、循环冗余校验
    • 纠错码:既能检错又具有自动纠错能力的编码
      • 特点:实现复杂,编码和解码速度慢,效率较低,造价高而且费时
      • 适用场景:一般用于没有反向信道或线路传输时间长、重发费用较高的场合
      • 常用的纠错码有:海明码、二进制卷积码、里德所罗门码、低密度校验码
    • 纠删码:兼有纠错和检错能力,当发现不可纠正的错误时可以发出错误指示或者简单地删除不可纠正错误的信息段落
  • 按照信息码元和附加的监督码元之间的检验关系,可以分为
    • 线性码:若信息码元与监督码元之间的关系为线性关系,即满足一组线性方程式,则称为线性码
    • 非线性码:若信息码元与监督码元之间的关系不存在线性关系,则称为非线性码
  • 按照信息码元和监督码元之间的约束方式不同可以分为分组码和卷积码
  • 按照信息码元在编码后是否保持原来的形式不变,可划分为系统码和非系统码
  • 按照纠正错误的类型不同,可以分为纠正随机错误的码和纠正突发错误的码
  • 按照构造差错控制编码的数学方法来分类,可以分为代数码、几何码和算术码
  • 按照每个码元取值不同,可以分为二进制码和多进制码

4、几种差错控制编码的价绍

奇偶校验码

奇偶校验(Parity)码:

  • 是一种检错码
  • 实现方式:在信息位的后面附加一个检验位,使得码字中“1”的个数保持为奇数或偶数的编码方法。
  • 分类:
    • 一维空间有:“水平奇偶校验码”和“垂直奇偶校验码”
    • 二维空间有:“水平垂直奇偶校验码”
  • 适用场景:信道干扰不太严重及信息位不太长,以及计算机通信网的数据传送(如计算机串行通信)
  • 案例:
    在这里插入图片描述
循环冗余校验码

循环冗余校验码CRC(Cyclic Redundancy Check)又称多项式码:

  • 检错码
  • 实现原理:收发双方约定好,使用同一个生成多项式G(x)的系数做除法运算,得出的余数作为冗余位,然后将冗余位作为附加位放到二进制位序列后传输,实现差错检查的目的
海明码

海明码:

  • 可以纠正单比特差错的编码
  • 实现原理:通过增加冗余位进行纠错的。
  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值