1. 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这称为比特差错。
  2. 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)。

差错检验方式

奇偶校验

  • 在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中“1”的个数为奇数(奇校验)或偶数(偶校验)。
  • 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;
  • 如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检);

    循环冗余校验CRC(Cyclic Redundancy Check)

  • 收发双方约定好一个生成多项式G(x);

  • 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;
  • 接收方通过相同的方式计算多项式,且与发送方发来的冗余码比对,来计算收到的数据是否产生了误码;

image.png
除法:异或运算
余数应当与多项式的最高次项相同,若不足,使用0补齐。
因此待发送的完整字串为 1010 01 001

总结

image.png

例题

image.png