Matlab中執(zhí)行循環(huán)冗余校驗(yàn)_第1頁(yè)
Matlab中執(zhí)行循環(huán)冗余校驗(yàn)_第2頁(yè)
Matlab中執(zhí)行循環(huán)冗余校驗(yàn)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Matlab中執(zhí)循環(huán)冗余校驗(yàn)錄如何對(duì)數(shù)值的位執(zhí)循環(huán)冗余校驗(yàn) (CRC)。CRC于檢測(cè)數(shù)字系統(tǒng)中數(shù)據(jù)傳輸中的錯(cuò)誤。發(fā)送數(shù)據(jù)時(shí),會(huì)對(duì)數(shù)據(jù)附加個(gè)短校驗(yàn)值。該校驗(yàn)值通過數(shù)據(jù)中的位進(jìn)多項(xiàng)式除法獲得。當(dāng)接收到數(shù)據(jù)時(shí),重復(fù)執(zhí)多項(xiàng)式除法,并將結(jié)果與校驗(yàn)值進(jìn)較。如果結(jié)果不同,則數(shù)據(jù)在傳輸過程中被破壞。動(dòng)計(jì)算校驗(yàn)值從個(gè)16位進(jìn)制數(shù)開始,這是要傳輸?shù)膱?bào):1101100111011010要獲得校驗(yàn)值,請(qǐng)將該數(shù)除以多項(xiàng)式x3+x2+x+1。可以其系數(shù)來(lái)表此多項(xiàng)式:1111。除法是分步驟進(jìn)的,每步后多項(xiàng)式除數(shù)都與數(shù)值中最左邊的1對(duì)齊。由于除以四項(xiàng)多項(xiàng)式的結(jié)果有三位(通常除以長(zhǎng)度為 n+1 的多項(xiàng)式會(huì)產(chǎn)長(zhǎng)度為n的校驗(yàn)值),

2、對(duì)該數(shù)值追加000以計(jì)算余數(shù)。每步,結(jié)果都對(duì)正在操作的四個(gè)位進(jìn)按位XOR,所有其他位保持不變。第個(gè)除法是-0010100111011010 000每個(gè)后續(xù)除法運(yùn)算都基于前步的結(jié)果,因此第個(gè)除法是-0001010111011010 000旦被除數(shù)全為零,則除法完成。整個(gè)除法運(yùn)算過程(包括上述兩步在內(nèi))如下余數(shù)位110是該報(bào)的校驗(yàn)值。以編程式計(jì)算校驗(yàn)值在MATLAB 中,可以通過按位運(yùn)算執(zhí)上述運(yùn)算來(lái)獲得校驗(yàn)值。先,為報(bào)和多項(xiàng)式除數(shù)定義變量。使符號(hào)32位整數(shù),以便有額外的位可供余數(shù)使。divisor = 0b1111u32;divisorDegree = 3;接下來(lái),初始化多項(xiàng)式除數(shù)。使dec2bi

3、n顯結(jié)果的位。divisor = bitshift(divisor,messageLength-divisorDegree-1);1111000000000000現(xiàn)在,移動(dòng)除數(shù)和報(bào),使它們具有正確的位數(shù)(報(bào)為16位,余數(shù)為3位)。dec2bin(remainder)ans =1101100111011010000使for 循環(huán)執(zhí)循環(huán)冗余校驗(yàn)的除法步驟。循環(huán)每步都會(huì)前進(jìn)位,因此請(qǐng)包含項(xiàng)校驗(yàn)來(lái)查看當(dāng)前位是否為1。如果當(dāng)前位是1,則執(zhí)除法步驟;否則,循環(huán)前進(jìn)位并繼續(xù)。remainder = bitshift(remainder,1);end將余數(shù)的位向右移動(dòng),以獲得運(yùn)算的校驗(yàn)值。CRC_check_

4、value = bitshift(remainder,-messageLength);ans =110檢查報(bào)完整性可以重復(fù)上述除法運(yùn)算以使校驗(yàn)值來(lái)驗(yàn)證報(bào)的完整性。但是,不要使余數(shù)000開始,應(yīng)使校驗(yàn)值110。如果報(bào)沒有錯(cuò)誤,則除法的結(jié)果將為零。重置余數(shù)變量,并使按位OR將CRC校驗(yàn)值添加到余數(shù)位。使bitset翻轉(zhuǎn)個(gè)位值,以在報(bào)中引個(gè)錯(cuò)誤。remainder = bitshift(message,divisorDegree);remainder = bitor(remainder,CRC_check_value);remainder = bitset(remainder,6);dec2bin(remainder)ans =1101100111011110110執(zhí)CRC除法運(yùn)算,然后檢查結(jié)果是否為零。for k = 1:messageLengthif bitget(remainder,messageLength+divisorDegree)remainder = bitxor(remainder,divisor);endremainder = bitshift(remainder,1);en

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論