freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

循環(huán)冗余校驗(crc)算法實現(xiàn)-文庫吧資料

2025-07-05 00:48本頁面
  

【正文】 圖42 突變及其校驗結(jié)果展示分析:由結(jié)果可知隨機抽到的位序為9,從圖41中看出原冗余數(shù)組的第九位為1。程序中,i為一個隨機數(shù),代表著原冗余數(shù)組crc_M中的某一位的位序;程序中還會輸出該隨機位的值;隨后會得到該隨機位的值發(fā)生突變后的突變數(shù)組,此時用crc_M表示這個突變的數(shù)組;在進(jìn)行校驗后若輸出一組名為original_sequence的數(shù)據(jù)則表明本次校驗結(jié)果正確;若輸出err=1則表明本次校驗結(jié)果錯誤。這也證實了此次編程實現(xiàn)了循環(huán)冗余校驗CRC算法的要求。圖41 CRC校驗結(jié)果展示分析:從結(jié)果中看出crc_M的結(jié)果為101110011,即所得冗余碼FCS=011,與驗算結(jié)果一致。令M=101110;生成多項式P(X)=X^3+1。程序中,M表示原始帶傳送數(shù)據(jù);CRC_P表示生成多項式;crc_M表示經(jīng)計算得到的添加了冗余碼FCS后的數(shù)據(jù)。結(jié)束實際傳輸數(shù)據(jù)錯誤實際傳輸數(shù)據(jù)正確NYerror_sequence == M?已知錯誤序列error_sequence編寫原序列M開始圖33 第四部分判斷結(jié)果的程序流程圖 結(jié)果分析將程序運行后可以得到所有的輸出,現(xiàn)將輸出分三個部分展示。再利用第二部分的檢驗方式,觀察最終輸出結(jié)果與預(yù)測是否一致,最后加上一個判斷語句顯示最終結(jié)果?;仡機RC檢驗的方法,先將添加了冗余碼FCS后發(fā)送的序列與求余過程中的生成多項式進(jìn)行模2運算,再來判斷求得的余數(shù)是否為0?若為0則證明傳輸過程無差錯;若不為0則證明傳輸過程中有差錯。事實證明CRC雖具有良好的檢錯能力,但不能夠檢出所有的錯誤。若CRC校驗的生成多項式的最高次冪為r,則該CRC校驗碼的檢錯性能如下:(1) 可檢出所有奇數(shù)個錯誤;(2) 可檢出所有2bit個錯誤;(3) 可檢出所有長度=r個bit的突發(fā)錯誤;(4) 對于長度=(r+1)個bit的突發(fā)錯,其漏檢率僅為:1/2^(r1)。CRC校驗碼的檢錯能力與其生成多項式密切相關(guān)。第四部分該部分構(gòu)造出了一個無法被CRC檢錯的實例,來驗證CRC是否能夠檢出所有的錯誤。重新利用CRC算法校驗該數(shù)據(jù)包,并指出產(chǎn)生的結(jié)果。按照要求,先利用i=ceil(rand(1,1)*r)函數(shù)來隨機抽取數(shù)組中的一個位,其中r為該數(shù)組的長度。程序流程圖如圖32所示。程序流程圖如圖31所示。以for循環(huán)來建立迭代運算,按照題目要求,可將程序分為四個部分進(jìn)行編寫。若使用此種方法,計算步驟如圖27所示:圖26 首位移出過程 (3)每次迭代,受到影響的是gk的前m位,所以構(gòu)建一個m位的寄存器S,此寄存器儲存gk的前m位。比如CRC8的h是111010101,b只需是11010101。圖24 gk首位為1時的情況圖25 gk首位為0時的情況(2)每次迭代,gk的首位將會被移出,如圖26所示,所以只需考慮第2位后計算即可。(1)每次迭代,根據(jù)gk的首位決定b,b是與gk進(jìn)行運算的二進(jìn)制碼。圖23 使用CRC8算法求101001110100001的效驗碼經(jīng)過迭代運算后,最終得到的r是10001100,這就是CRC效驗碼。CRC8標(biāo)準(zhǔn)的h(x) = x^8 + x^7 + x^6 + x^4 + x^2 + 1,既h是9位的二進(jìn)制串111010101。g(x)和h(x)的除運算,可以通過g和h做xor(異或)運算。將g(x)乘以x^m,既將g后加m個0,然后除以m階多項式h(x),得到的(m1)階余項r(x)對應(yīng)的二進(jìn)制碼r就是CRC編碼。產(chǎn)生的比特模式正好能被除數(shù)整除。如果余數(shù)位數(shù)小于n,最左的缺省位數(shù)為0。由此除法產(chǎn)生的余數(shù)就是循環(huán)冗余碼校驗碼。n是一個比預(yù)定除數(shù)的比特位數(shù)(n+1)少1的數(shù)。 有了加減法就可以用來定義模2除法,于是就可以用生成多項式g(x)生成CRC校驗碼。非常簡單,要說明的:模2除就是在除的過程中用模2加,模2加實際上就是我們熟悉的異或運算,就是加法不考慮進(jìn)位,公式是:0+0=1+1=0,1+0=0+1=1即‘異’則真,‘非異’則假。 CRC編碼規(guī)則CRC碼是由兩部分組成,前部分是信息碼,就是需要校驗的信息,后部分是校驗碼,如果CRC碼共長n個bit,信息碼長k個bit,就稱為(n,k)碼。要實現(xiàn)題目的五點要求,必須先理清循環(huán)冗余檢驗CRC算法的具體計算過程,以此為基礎(chǔ)編寫程序,再在初始算法程序上繼續(xù)修改和添加來實現(xiàn)產(chǎn)生突變等的情況。 方案的選擇及特點由于本次編程需要達(dá)到五點要求,因此進(jìn)行逐一分析。如果在傳送數(shù)據(jù)時不以幀為單位來傳送,那么就無法加入冗余碼以進(jìn)行差錯檢驗。多項式P(X)稱為生成多項式。一種較方便的方法是用多項式來表示循環(huán)冗余檢驗過程??傊?,在接收端對收到的每一幀經(jīng)過CRC檢驗后,有以下兩種情況:(1) 若得到的余數(shù)R等于0,則判定這個幀沒有差錯,就接受(accept)。如果在傳輸過程中無差錯,那么經(jīng)過CRC檢驗后得到的余數(shù)R肯定是0。因此加上FCS后發(fā)送的幀是101001001(即2^n*M+FCS),共有(k+n)位。這個余數(shù)R就作為冗余碼拼接在數(shù)據(jù)M的后面發(fā)送出去。假定除數(shù)P=1101(即n=3)。得到的(k+n)位的數(shù)除以收發(fā)雙方事先商定的長度為(n+1)位的除數(shù)P,得到商是Q而余數(shù)是R(n位,比P少一位)。這n位冗余碼可用以下方達(dá)得出。在所要發(fā)送的數(shù)據(jù)后面增加n位的冗余碼,雖然增大了數(shù)據(jù)傳輸?shù)拈_銷,但卻可以進(jìn)行差錯檢測?,F(xiàn)假定待傳送的數(shù)據(jù)M=101001(k=6)。因為待傳送數(shù)據(jù)的位數(shù)不確定,一一編寫容易出錯且麻煩,不易于修改數(shù)據(jù),因此在程序中采用for循環(huán)語句來逐位求解最終得到余數(shù)。(盡管通過估計偽造可能得到相同的CRC值,但要確保這種概率很小)對于32位的CRC來說,它能區(qū)分2^32的數(shù)據(jù),即長度為2^32的兩個數(shù)據(jù),只要有任何兩位的值不同,它們分
點擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1