• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      計(jì)算機(jī)循環(huán)冗余校驗(yàn)算法分析

      2019-03-12 22:36:56申豪東
      科技傳播 2019年4期
      關(guān)鍵詞:算法分析

      申豪東

      摘 要 在計(jì)算機(jī)網(wǎng)絡(luò)通信中,為了將數(shù)據(jù)信息正確而迅速地在發(fā)送端及接收端間進(jìn)行有效傳輸,必須采用差錯(cuò)控制技術(shù)來(lái)保障數(shù)據(jù)傳輸?shù)恼_性與可靠性。循環(huán)冗余校驗(yàn)碼(Cyclic redundancy check:CRC)因其檢驗(yàn)速度快、檢錯(cuò)率高且成本較低被廣泛應(yīng)用于計(jì)算機(jī)網(wǎng)絡(luò)通信領(lǐng)域,提升了計(jì)算機(jī)信息傳輸?shù)馁|(zhì)量。文章對(duì)CRC的概念及工作原理進(jìn)行了簡(jiǎn)要分析,并結(jié)合CRC-8進(jìn)行了算法設(shè)計(jì)與總結(jié)分析,并指出了CRC的優(yōu)勢(shì)所在。

      關(guān)鍵詞 計(jì)算機(jī)網(wǎng)絡(luò)通信;循環(huán)冗余校驗(yàn)碼(CRC);算法;分析

      中圖分類號(hào) TP3 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1674-6708(2019)229-0131-02

      計(jì)算機(jī)網(wǎng)絡(luò)通信是在公共的通信協(xié)議基礎(chǔ)之上實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接受,而計(jì)算機(jī)是利用數(shù)據(jù)鏈路將應(yīng)用程序、數(shù)據(jù)傳輸包等資源進(jìn)行系統(tǒng)連接,從而在不同系統(tǒng)內(nèi)進(jìn)行信息的流通與共享。計(jì)算機(jī)網(wǎng)絡(luò)通信數(shù)據(jù)信息在傳輸時(shí)并不一定不出出現(xiàn)錯(cuò)誤代碼,其傳輸?shù)恼_率往往受到外界條件的干擾,導(dǎo)致錯(cuò)誤代碼的產(chǎn)生[ 1 ],而數(shù)據(jù)通信系統(tǒng)傳輸?shù)恼_率與傳輸速度也存在一定的內(nèi)在?關(guān)系。

      隨著網(wǎng)絡(luò)通信數(shù)據(jù)傳輸速度的提升,傳輸過(guò)程中錯(cuò)誤碼的比例也隨之提高。因此,?通過(guò)合理的方法解決數(shù)據(jù)傳輸正確率與傳輸速度的矛盾關(guān)系是檢驗(yàn)一個(gè)計(jì)算機(jī)通信系統(tǒng)是否有效的?關(guān)鍵。

      CRC算法就是對(duì)傳輸數(shù)據(jù)進(jìn)行高效校驗(yàn)且誤判率很低的控制方法。本文針對(duì)當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)在傳輸過(guò)程中的一些校驗(yàn)算法,結(jié)合對(duì)計(jì)算機(jī)數(shù)據(jù)傳輸?shù)睦斫?,分析了循環(huán)冗余校驗(yàn)算法,為進(jìn)一步深入學(xué)習(xí)計(jì)算機(jī)相關(guān)專業(yè)奠定基礎(chǔ)。

      1 循環(huán)冗余校驗(yàn)算法原理

      1.1 CRC算法介紹

      CRC在計(jì)算機(jī)通信過(guò)程中能夠完成對(duì)信息字段的隨意選擇,并能完成對(duì)選擇信息字段的校驗(yàn),校驗(yàn)后的信息字段通過(guò)多項(xiàng)式計(jì)算得到新的結(jié)果,將結(jié)果附在幀后,并在接受設(shè)備中進(jìn)行同樣的信息字段選擇、校驗(yàn)與計(jì)算的過(guò)程,從而在一定程度上保證了數(shù)據(jù)由發(fā)送端至接收端傳輸過(guò)程的正確性與完整性[2]。因此,在數(shù)據(jù)通信領(lǐng)域,CRC成為了較為常用的查錯(cuò)校驗(yàn)?方法。

      CRC是在通信過(guò)程中常用的二元碼,而二元碼在信息傳遞過(guò)程中往往會(huì)發(fā)生0到1或從1到0的突變現(xiàn)象。在對(duì)CRC進(jìn)行操作之前,應(yīng)當(dāng)測(cè)試位于存儲(chǔ)位置的存儲(chǔ)字節(jié)數(shù),以保證存儲(chǔ)位置能夠具備存儲(chǔ)龐大參數(shù)表數(shù)據(jù)的空間。計(jì)算機(jī)網(wǎng)絡(luò)通信通過(guò)硬軟件兩部分實(shí)現(xiàn)算法,實(shí)現(xiàn)效果與數(shù)據(jù)傳輸?shù)乃俣瘸烧?,CRC通過(guò)發(fā)送相應(yīng)數(shù)據(jù)包的方式來(lái)使得通信數(shù)據(jù)傳輸?shù)墓δ艿玫剑靠刂啤?/p>

      由于不同的數(shù)據(jù)包具有不同的字節(jié)長(zhǎng)度,因此在數(shù)據(jù)傳輸過(guò)程中需要使用專門用于測(cè)量字節(jié)長(zhǎng)度的工具來(lái)對(duì)不同的數(shù)據(jù)包的字節(jié)長(zhǎng)度進(jìn)行測(cè)量,以保證在信息傳遞過(guò)程中的正確性[3]。數(shù)據(jù)包字節(jié)的尾部包含了數(shù)據(jù)與序列校驗(yàn)碼等信息,在數(shù)據(jù)傳輸過(guò)程中發(fā)揮著糾正錯(cuò)誤數(shù)據(jù)編碼的?作用。

      雖然在數(shù)據(jù)傳輸過(guò)程中不可避免的出現(xiàn)差錯(cuò),但通過(guò)CRC可以在一定程度上降低差錯(cuò)發(fā)生的概率。在實(shí)際應(yīng)用的過(guò)程CRC值通常在發(fā)射端計(jì)算并發(fā)送,接收端會(huì)接收到涵蓋CRC值信息包。接收端將接收到的信息包進(jìn)行解碼并計(jì)算出CRC值后與收到的CRC值進(jìn)行比較以判斷接受的信息是否正確?無(wú)誤。

      1.2 CRC算法步驟

      循環(huán)冗余校驗(yàn)算法的實(shí)現(xiàn)需要按照特定的步驟進(jìn)行,其中有兩個(gè)步驟是關(guān)鍵。

      一是預(yù)先隨機(jī)選擇確定一個(gè)最高位和最低位為1,且符合國(guó)際標(biāo)準(zhǔn)的二進(jìn)制多項(xiàng)式(如X3+X2+1,可以表示為1101),該多項(xiàng)式在發(fā)送端和接收端都作為除數(shù)使用;二是通過(guò)模2除法運(yùn)算的方式將原始幀與隨機(jī)選擇并計(jì)算出來(lái)的二進(jìn)制多項(xiàng)式數(shù)值相除,計(jì)算出CRC。具體步驟可以如下?描述。

      首先,選擇一個(gè)合適的數(shù)作為除數(shù)。

      接著,通過(guò)計(jì)算的方式計(jì)算出這個(gè)合適除數(shù)的二進(jìn)制位數(shù),并以模2除法的方式將生成的數(shù)據(jù)幀除以選定的除數(shù),CRC即為以該種方式相除得到的余數(shù),CRC的位數(shù)因余數(shù)的位數(shù)比除數(shù)位數(shù)少一位,得到數(shù)值首位數(shù)字0需要保留在CRC中,不能?忽略。

      最后,在原數(shù)據(jù)幀后加上計(jì)算出的首位為0的CRC,形成新的數(shù)據(jù)幀并發(fā)送至接收端,接收端獲取數(shù)據(jù)幀后以模2的方式除以的比除數(shù)位數(shù)少一位的余數(shù),如果計(jì)算結(jié)果可以整除,則說(shuō)明接收端接收到的數(shù)據(jù)幀沒(méi)有錯(cuò)誤,即在傳輸過(guò)程中沒(méi)有出現(xiàn)差錯(cuò)[4]。若計(jì)算的有誤,則需要重新檢驗(yàn),并通知重新發(fā)送數(shù)據(jù)幀。

      2 循環(huán)冗余校驗(yàn)算法設(shè)計(jì)

      2.1 校驗(yàn)算法設(shè)計(jì)背景

      在通過(guò)計(jì)算機(jī)實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)體通信時(shí),首先要將要交換的信息分割成眾多的數(shù)據(jù)段,并分別在每個(gè)數(shù)據(jù)前后加入首部和校驗(yàn)碼后形成完整的數(shù)據(jù)包。因?yàn)楦鱾€(gè)數(shù)據(jù)包中包含了各類有用的信息,且可在數(shù)據(jù)傳輸過(guò)程中進(jìn)行人為控制,因此通過(guò)CRC校驗(yàn)的方法提升數(shù)據(jù)通信過(guò)程中的準(zhǔn)確率。

      當(dāng)將數(shù)據(jù)包末端加上CRC并經(jīng)計(jì)算機(jī)發(fā)送端發(fā)送時(shí),計(jì)算機(jī)發(fā)送的數(shù)據(jù)就與CRC發(fā)生了聯(lián)系,并建立了編碼關(guān)系。隨后計(jì)算機(jī)接收端接收到來(lái)自發(fā)送端的數(shù)據(jù)包并進(jìn)行譯碼獲得信息,再與經(jīng)發(fā)送端發(fā)送的信息進(jìn)行比較分析,若兩種數(shù)據(jù)一致則說(shuō)明數(shù)據(jù)包在傳輸過(guò)程中未受到其他干擾因素的影響,得到了正確的編碼信息[5]。

      如果運(yùn)算后得到的數(shù)據(jù)與發(fā)送端發(fā)送的數(shù)據(jù)不一致,則說(shuō)明數(shù)據(jù)包在發(fā)送過(guò)程中出現(xiàn)了偏差,則需要以自動(dòng)重發(fā)的方式將數(shù)據(jù)包重新發(fā)送,在通過(guò)同樣的過(guò)程將數(shù)據(jù)包進(jìn)行譯碼再進(jìn)行比對(duì),直到接收端譯碼得到的數(shù)據(jù)與發(fā)送端傳輸?shù)臄?shù)據(jù)一致,通過(guò)此種方法確保計(jì)算機(jī)信息傳輸過(guò)程中信息的準(zhǔn)確無(wú)誤,為計(jì)算機(jī)信息傳輸安全提供有力?保障。

      2.2 基于CRC-8的算法設(shè)計(jì)

      首先按照要求選擇特定的二進(jìn)制除數(shù),如有:x8+x5+x4+1-0x31(0x131);x8+x2+x1+1-?0x07(0x107);? x8+x6+x4+x3+x2+x1-0x5E(0x15E)。在通過(guò)循環(huán)冗余校驗(yàn)碼(CRC)-8校驗(yàn)算法把校驗(yàn)的數(shù)據(jù)通過(guò)循環(huán)異或與多項(xiàng)式比對(duì)時(shí),由于通過(guò)循環(huán)異或的方式在實(shí)際中傳輸數(shù)據(jù)時(shí),往往存在高位先傳和低位先傳兩種不同的方式。

      通常數(shù)據(jù)從高位先傳的方式即循環(huán)異或從數(shù)據(jù)的高位開(kāi)始稱為順序異或,對(duì)于數(shù)據(jù)從低位先傳的方式即循環(huán)異或從數(shù)據(jù)的低位開(kāi)始,成為反序異或。兩種不同的異或方式,即使對(duì)應(yīng)相同的多項(xiàng)式,計(jì)算出來(lái)的結(jié)果也是不一樣的,因此設(shè)計(jì)時(shí)要首先確定好實(shí)際異或順序。

      在實(shí)際通信過(guò)程中,往往使用按字節(jié)查表的方式來(lái)獲得CRC-8。這種算法以計(jì)算本字節(jié)之后的CRC為基礎(chǔ),把與跟上一字節(jié)的校驗(yàn)碼相減差8位的位置處的數(shù)值向左移動(dòng)8位得到數(shù)字,再加上上一字節(jié)校驗(yàn)碼向右移8位后得到的數(shù)字,新的校驗(yàn)碼即為這兩個(gè)數(shù)字之和的組成。將256個(gè)8位二進(jìn)制序列數(shù)的CRC全部以表格的形式進(jìn)行數(shù)據(jù)統(tǒng)計(jì),編碼時(shí)對(duì)應(yīng)表格中相應(yīng)的數(shù)值查閱即可,進(jìn)而提高了工作效率[6]。

      2.3 CRC算法校驗(yàn)的優(yōu)勢(shì)分析

      在計(jì)算機(jī)網(wǎng)絡(luò)通信中運(yùn)用CRC校驗(yàn)時(shí)相對(duì)于其他校驗(yàn)方法就有一定的優(yōu)勢(shì)。CRC可以高比例的糾正信息傳輸過(guò)程中的錯(cuò)誤,可以在極短的時(shí)間內(nèi)完成數(shù)據(jù)校驗(yàn)碼的計(jì)算,并迅速完成糾錯(cuò)過(guò)程,通過(guò)數(shù)據(jù)包自動(dòng)重發(fā)的方式使得計(jì)算機(jī)的通信速度大幅提高,對(duì)通信效率和安全提供了?保障[7]。

      另外,由于CRC算法檢驗(yàn)的檢錯(cuò)能力極強(qiáng),且檢測(cè)成本較低,因此在對(duì)于編碼器和電路的檢測(cè)中使用較為廣泛。從檢錯(cuò)的正確率與速度、成本等方面,都比奇偶校驗(yàn)等校驗(yàn)方式具有優(yōu)勢(shì)。因而,CRC成為計(jì)算機(jī)信息通信領(lǐng)域最為普遍的校驗(yàn)?方式。

      3 結(jié)論

      綜上所述,CRC算法作為一種糾錯(cuò)效率高、成本低廉的算法在計(jì)算機(jī)網(wǎng)絡(luò)通信糾錯(cuò)算法中廣泛應(yīng)用,極大的提升了在在數(shù)據(jù)傳輸?shù)倪^(guò)程中信息的可靠性和正確率。因此需要在計(jì)算的過(guò)程中,重點(diǎn)關(guān)注有關(guān)多項(xiàng)式和算法編譯碼的問(wèn)題,并結(jié)合其他算法的綜合運(yùn)用,保障在信息傳輸過(guò)程中因各種原因?qū)е碌男畔㈠e(cuò)誤被及時(shí)的發(fā)現(xiàn)與糾正,以提高計(jì)算機(jī)網(wǎng)絡(luò)整體通信效率與通信質(zhì)量。

      參考文獻(xiàn)

      [1]李長(zhǎng)青.論CRC算法在計(jì)算機(jī)網(wǎng)絡(luò)通信中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2017(12):141-142.

      [2]高岳,馬帥.CRC算法在計(jì)算機(jī)網(wǎng)絡(luò)通信中的應(yīng)用研究[J].信息記錄材料,2017,18(10):8-10.

      [3]李欣.CRC算法在計(jì)算機(jī)網(wǎng)絡(luò)通信中的應(yīng)用分析[J].物流工程與管理,2017,39(4):166-167.

      [4]趙玉紅.循環(huán)冗余校驗(yàn)的實(shí)現(xiàn)方法[J].雷達(dá)與對(duì)抗,2006(4):25-27.

      [5]杜杏菁,劉春梅.循環(huán)冗余校驗(yàn)算法分析和實(shí)現(xiàn)[J].華北科技學(xué)院學(xué)報(bào),2005(3):105-107.

      [6]原明亭,蔣偉.基于字節(jié)查表的循環(huán)冗余校驗(yàn)碼的軟件生成算法[J].山東礦業(yè)學(xué)院學(xué)報(bào)(自然科學(xué)版),2009(2):73-75,78.

      [7]顧文達(dá),孫亞民,楊建榮.快速循環(huán)冗余校驗(yàn)算法及其程序?qū)崿F(xiàn)[J].南京理工大學(xué)學(xué)報(bào),2015(2):113-116.

      猜你喜歡
      算法分析
      隱蔽失效適航要求符合性驗(yàn)證分析
      基于MapReduce的改進(jìn)Eclat算法
      Travellng thg World Full—time for Rree
      進(jìn)位加法的兩種算法
      電力系統(tǒng)不平衡分析
      電子制作(2018年18期)2018-11-14 01:48:24
      算法初步兩點(diǎn)追蹤
      基于增強(qiáng)隨機(jī)搜索的OECI-ELM算法
      電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
      一種改進(jìn)的整周模糊度去相關(guān)算法
      中西醫(yī)結(jié)合治療抑郁癥100例分析
      玉田县| 苍南县| 白玉县| 英吉沙县| 广宗县| 广饶县| 洞头县| 武冈市| 泽普县| 杭锦后旗| 进贤县| 贡觉县| 三河市| 鄂托克前旗| 峡江县| 余干县| 开平市| 改则县| 兴海县| 仁布县| 芜湖市| 同江市| 灯塔市| 沿河| 临潭县| 开平市| 营口市| 蓬溪县| 洪江市| 乐东| 定日县| 湾仔区| 灵寿县| 瑞丽市| 应城市| 五莲县| 岳西县| 鹤庆县| 漳州市| 乌鲁木齐市| 浮梁县|