🧑🏻个人简介:具有3年工作经验,擅长通信算法的MATLAB仿真和FPGA实现。代码事宜,私信博主,程序定制、设计指导。
🚀wifi信号处理的CRC8、CRC32
目录
🚀1.CRC概述
🚀1.CRC的具体结构
🚀1.CRC概述
CRC校验是一种检测错误的机制:在数据发送端,通过对数据进行特定的模2运算,计算出CRC校验位,并将其附加到数据的末尾。同样,在数据接收端对数据进行相同的运算,并将得到的结果与CRC校验位比较。如果两者完全一致,则表明数据通过了CRC校验,即数据在传输过程中未发生错误。另一种方法是基于CRC校验的性质,在数据接收端进行CRC校验时,将CRC校验位也一同输入到CRC校验器中。如果经过运算后,校验器的寄存器结果为全0,那么即可判定CRC校验通过。在IEEE 802.11ax中,CRC校验只能用来检测数据是否有错误,不能纠正错误。本文中共用到2种CRC校验,分别为CRC8和CRC32。CRC8用来检测数据长度参数有无错误,CRC32用来检测数据是否有误。
🚀1.CRC的具体结构
CRC8的生成多项式:
对应的CRC8校验器的移位寄存器结构图如下图所示。寄存器初始全为1,移位寄存器第8位与输入数据进行模2运算,并赋值给寄存器第1位。同理,计算并赋值给寄存器的第2位和第3位,其他位依次赋值为低一位的值。当所有数据输入完成后,寄存器的值填充在数据尾部的CRC校验位。
CRC32生成多项式对应的移位寄存器结构与CRC8类似: