zoukankan      html  css  js  c++  java
  • 差错控制

    差错控制

      1. 差错 检测的方法: CRC(Cyclic Redundancy Check)循环冗余校验

        CRC 的工作原理是:

        1. 首先把帧里的数据(除了帧定界符SFD和前导符) 进行模二运算,

          通过双方约定好的(使用的N位CRC),则除数为N+1位。在原帧数据里,

          补0为k+n位,然后求得N位的余数 (这个作为FCS- 帧校验序列,俗称帧尾),

          也就是把这个FCS放在数据后-帧的尾部。

        2. 接收方收到这个帧的时候,以同样的方式进行模2运算,得出余数与FCS字段

          判断是否相等,相等则为比特无差错。

        3. 但不能保证传输无差错,比如帧丢失,失序,重复

      2. 纠错码 是一种能让接收端能够自动的纠正传输中所产生差错的码。基本思路是在所有发送的

        符号组成的序列中,挑出一部分作为信息的代表,发过去。

        接收端解码,若收到的信号不是码中的一个码字,则判断出错。根据"距离"去纠正他。

        又有一种叫汉明码.

      3. 检错码 在传输过程中发生错误后,在接收端能自动检查并发现错误的编码

        1. 奇偶校验码 比如ASCII 7位,在后面补充1位(根据奇校验或偶校验,去补够奇数个1或偶数个1),接收端 以同样的方法检测.

        2. 循环冗余编码 CRC

      4.  

        1. 前向纠错。实时性好,单工通信采用。

        2. 自动重发请求(ARQ)。强调检错能力,不要求有纠错能力

  • 相关阅读:
    Using Boost C++ libraries with gcc g++ under Windows(cygwin+netbeans)
    RFC中文目录
    GNU Make 学习笔记(一)
    make
    ODBC连接ORACLE数据库的设置
    windows下boost开发环境简易教程(cygwin+eclipse)
    GNU Make(二)
    C++虚函数表解析(转)
    如何判断adoquery中字段值是不是空值?
    Delphi ListView基本用法大全
  • 原文地址:https://www.cnblogs.com/zhanp/p/10931386.html
Copyright © 2011-2022 走看看