- 实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。这称为比特差错。
- 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(Bit Error Rate)。
差错检验方式
奇偶校验
- 在待发送的数据后面添加1位奇偶校验位,使整个数据(包括所添加的校验位在内)中“1”的个数为奇数(奇校验)或偶数(偶校验)。
- 如果有奇数个位发生误码,则奇偶性发生变化,可以检查出误码;
如果有偶数个位发生误码,则奇偶性不发生变化,不能检查出误码(漏检);
循环冗余校验CRC(Cyclic Redundancy Check)
收发双方约定好一个生成多项式G(x);
- 发送方基于待发送的数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据的后面一起传输;
- 接收方通过相同的方式计算多项式,且与发送方发来的冗余码比对,来计算收到的数据是否产生了误码;
除法:异或运算
余数应当与多项式的最高次项相同,若不足,使用0补齐。
因此待发送的完整字串为 1010 01 001