循環(huán)冗余碼(CRC)及計(jì)算方法 循環(huán)冗余校驗(yàn)碼怎么算?
循環(huán)冗余校驗(yàn)碼怎么算?循環(huán)冗余校驗(yàn)碼的計(jì)算方法:CRC(cyclic redundancy)循環(huán)冗余校驗(yàn)碼(cyclic redundancy check,CRC)是一種常用的校驗(yàn)碼,在早期通信中得到
循環(huán)冗余校驗(yàn)碼怎么算?
循環(huán)冗余校驗(yàn)碼的計(jì)算方法:CRC(cyclic redundancy)循環(huán)冗余校驗(yàn)碼(cyclic redundancy check,CRC)是一種常用的校驗(yàn)碼,在早期通信中得到了廣泛的應(yīng)用。由于早期的通信技術(shù)是不可靠的(不可靠的來源是由通信技術(shù)決定的,如電磁波通信中雷電等因素的影響),不可靠的通信會(huì)帶來“確認(rèn)信息”的混亂。書中提到,紅軍和藍(lán)軍聯(lián)手攻打山頭的情況下,在敵人的情況下,紅軍向藍(lán)軍發(fā)出了第二天進(jìn)攻的信息。藍(lán)軍收到消息后,發(fā)出了確認(rèn)消息。但藍(lán)軍擔(dān)心,如果“確認(rèn)電文”不可靠,不能送達(dá)紅軍,豈不是很危險(xiǎn)?于是紅軍又發(fā)了一條“求證電文”,但同樣的問題解決不了,紅軍還是不敢貿(mào)然行動(dòng)。
求循環(huán)冗余校驗(yàn)碼的步驟?
信息代碼:110信息多項(xiàng)式:K(x)=x2 x
生成代碼:10011生成多項(xiàng)式:G(x)=X4 x 1(r=4)
解決方案:1)K(x)*X4的乘積為x6x5,對(duì)應(yīng)代碼為1100000。
2)產(chǎn)品g(x)(根據(jù)模塊化二算法)。
結(jié)果顯示冗余碼為0101,碼字為1100101。
****************************110←Q(x)
g(x)→10011)1100000←f(x)*XR
*******10011
*******10110
**********10011
***********************************************************************************************************
循環(huán)冗余碼:0101
模2:
1-0-0=1]有效信息:m;
除數(shù)g(生成多項(xiàng)式)有:m/g=q R/g;
在這種情況下,可以選擇R作為校驗(yàn)位,那么Mr是校驗(yàn)碼。
校驗(yàn)原理:(M-R)/g=q 0/g
注:將收到的校驗(yàn)碼除以約定的除數(shù)。如果余數(shù)為0,則可以認(rèn)為接收到的數(shù)據(jù)是正確的。
示例:有效信息1101,生成多模式1011
循環(huán)校驗(yàn)碼解決方案:
有效信息1101(k=4),即m(x)=X3 x2 x0,生成多項(xiàng)式1011(r1=4,即R=3);
即g(x)=X3 X1 x0,m(x)·X3=X6 X5 X3,即1101000(左移三位到1101);
m(x)·X3/g(x)=1101000/1011=1111001/1011,即1010的CRC為1101001。
計(jì)算如下: