引言
昨天同学突然问我CRC循环冗余校验是如何纠错的?我突然大脑一片空白,学过校验码自然知道CRC循环冗余校验码是可以检错和纠错,但是仿佛只知道求出检验码和检错的过程,但是不知道如何纠错的过程,查询书上也是这么描述的。于是在网查了查发现了纠错的过程。
描述
纠错的过程首先是检错后,发现得到的余数不为000,发现有一位出现的错误,但是具体是哪一位计算机是不知道的,但是我们通过规律可以发现余数和出错位有一下关系:
但是计算机不知道这个表,怎么纠错的那?这就是将得到的余数与G(x)通过模2除法重复操作产生循环。直到循环一圈到第一个出错余数,那么这时得到的校验码就是正确的。
下面是我搜的一个博主发的文章,非常详细:
https://blog.csdn.net/limaodx/article/details/116559204