计算循环冗余校验码计算

来源:互联网 发布:淘宝返利什么意思 编辑:程序博客网 时间:2024/06/05 03:13

循环冗余校验码的计算是计算机组成原理的一大考点,具体算法如下:


A、编码原理:   

                           现假设有:   有效信息:M   ;  

               除数G(生成多项式)   有:   M/G=Q+R/G

                          此时,可选择R作为校验位,则MR即为校验码。

                         

B、校验原理:  (M-R/G=Q+0/G   

                            说明:以接收到的校验码除以约定的除数,若余数为0,则可认为接收到的数据是正确的。

                     

                         例:有效信息1101,生成多项式样1011

               求循环校验码解:  

                                         有效信息1101(k=4),即M(x)=x3+x2+x0    生成多项式1011(r+1=4,r=3),

                                                G(x)=x3+x1+x0    M(x)·x3=x6+x5+x3,即1101000(对1101左移三位)   

                                        M(x)·x3/G(x)=1101000/1011=1111+001/1011    即1010CRC是:1101001

                       

                                                如下图进行计算:

            

                                                


                                        循环校验码的来源余数与出错序号间处理存在对应模式,

                                       该模式只与只与码制和生成多项式有关,与具体的码字无关。

                                        生成多项式满足的条件:任一位发生错误都应使余数不为0不同的位发生的错误余数应不同。


0 0