色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CRC校驗快速算法的原理及實現改進設計

電子設計 ? 來源:單片機與嵌入式系統應用 ? 作者:劉小匯 , 王飛雪 ? 2020-09-14 17:42 ? 次閱讀

CRC(循環冗余校驗碼)編碼是數字信號傳輸中用得較普遍的一種差錯控制編碼。它不但可以用于糾正獨立的隨機錯誤,也可以用于糾正突發錯誤。CRC校驗通常是靠專用硬件電路來實現的,但很多系統為了降低成本,常常利用單片機微處理器編程來完成這一功能。因此,在器件處理能力有限的情況下,如何提高CRC 校驗軟件計算的速度,是開發者最為關心的問題。

1 整字節序列的CRC校驗快速算法

文獻[1]提出了一種針對整字節的CRC快速算法。它的基本思想是預先生成一個余式表,通過查表,利用遞推原理進行快速計算。現以 CCITT(國際電話電報咨詢委員會)建議的,用于基本型數據傳輸規程的生成多項式為例,簡要介紹此先驗算法的基本原理。

設M為由i個字節組成的8×i位二進制序列,用字節形式表示為

截取Mi的前個字節構成一個序列,即

這兩個序列之間的關系可以表示為

其中是字節的二進制多項式表示形式,是將序列左移一個字節。

對于序列來說,有

其中,是商多項式,為一整數項;為最高次冪小于15的余數項。而對于Mi序列,

其中為整數項,因此對多項式取余即等效于對多項式取余,記做

這樣就形成了遞推關系。對于序列,已知就可知,已知就可知,最后就變成了求三字節序列的余式項的問題。

不失一般性,設三字節序列 ,那么

我們可以預先做好一個16×16的[a00]形式的余式表,通過查余式表可以很快知道,而是小于等于16位的二字節序列,除以的余式即為本身。(4)式中的加法運算為模2加(異或運算)。運用此算法就可很快求出整字節的CRC校驗碼。

2 任意長度序列的CRC校驗快速算法

上述算法,只適用于信息長度為整字節的情形;但在實際應用中,往往會遇到計算非整字節的CRC校驗碼。一種解決方法是,在信息數據前補零,即將信息數據右移,使之成為整字節來計算,這對于信息數據序列不長的情況還是奏效的;但遇到長數據序列,若對每一個字節均進行移位操作,則計算量明顯增加,這一缺點對于實時性要求高的系統來說尤其明顯。下面以生成多項式為例,提出一種改進算法,可實現任意長度序列快速CRC校驗運算。

設D為任意長度的二進制序列,記長度為k位,則k總可以表示成的形式。其中s≥0,且0≤p<8。這樣,就可以將序列D按降冪形式寫成 D(x)=xp[d1d2……ds-1ds]+m(x),dj(1≤j≤s)是位長為8的字節,m為序列D除掉整字節后余下的位,為非整字節。記序列 M(x)=[d1d2……ds-1ds],那么

M(x)為整字節序列,其余式RM(x)可用前面介紹的整字節CRC算法求出。因為生成多項式G(x)=x16+x12+x5+1的最高次冪為 16,所以序列D(x)的余式RD(x)為

其中 ,即形成兩個余式的模2加(異或運算),m(x)的長度小于1字節,所以RM(x)是[a00]形式的余式,通過查余式表可以很快得到。

現在來討論xpRM(x)的計算。RM(x)可以按照上述整字節的快速算法算出結果。因為RM(x)的位長為16,xpRM(x)相當于 RM(x)向左移p位,位長為(16+p)。

因為 0≤p<8

所以 16≤(16+p)<24

xpRM(x)可以看成一個3字節序列,定義

其中是2字節序列,長16位,小于生成多項式17位。它們除以生成多項式的余式即為本身,所以

是為樣式的余式,可以由余式表直接獲得,所以(1)式又可寫為

這就是改進后的非整字節CRC校驗快速算法。它不需要進行大量的數據移位對齊,比起整字節的算法,只增加了兩次查表和兩次異或運算,可見其運算量并沒有顯著增加。

值得提出的是,在文獻[1]提出的整字節CRC校驗快速算法中,推導遞推公式(3)時,作者并沒有考慮到序列用于計算CRC校驗碼時要先移16 位(生成多項式為時)。若讀者按照此法,直接用序列來做運算,顯然是不對的,必將導致錯誤結果。

3 適用于單片機或微處理器的算法流程

為了編程方便,我們將需處理的信息序列做以下變形。重寫(4)式,在整字節部分的M(x)后補2字節的“0”,得到新數列

其中,用取代M(x)做編程計算,算法流程如圖1所示。

圖1 算法流程圖

結語

任意長度非整字節的CRC快速算法適用的范圍很廣,只需預先在內存中生成一個余式表,通過查余式表就可以快速計算。由于算法的每一步遞推都是以字節為單位的,這樣就比傳統的以位為單位的算法要快上十幾倍。數據序列的長度越長,其體現的優越性就越高。而且算法不要求用于計算的序列為整字節,任意位長均適用,在實際應用中效果顯著。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634681
  • 微處理器
    +關注

    關注

    11

    文章

    2258

    瀏覽量

    82405
收藏 人收藏

    評論

    相關推薦

    CRC校驗算法的研究與實現

    CRC校驗算法的研究與實現
    發表于 08-06 11:09

    如何提高CRC校驗軟件計算的速度?

    整字節序列的CRC校驗快速算法是什么?任意長度序列的CRC校驗快速算法是什么?適用于單片機或微處
    發表于 04-27 06:50

    簡單實用的單片機CRC快速算法

    摘要:提供兩個實用的、能夠在單片機上通過軟件來實現CRC快速算法,其中一個適用于51系列等單片機,另一個適用于PIC單片機,這兩種算法十分簡單快捷。
    發表于 09-09 17:52 ?33次下載

    C51實現單片機CRC快速算法

    摘要:本文介紹了CRC的基本原理和計算方法,給出了利用C51實現單片機CRC快速算法關鍵字:CRC;C51;單片機;
    發表于 09-10 11:14 ?50次下載

    LTE系統的CRC校驗算法及DSP實現

    通過對兩種常用CRC校驗算法的研究分析,為TD-LTE測試儀表系統選擇了一種最優的CRC校驗算法,并在TMS320C64xDSP中實現。將
    發表于 02-23 14:58 ?30次下載

    CRC校驗算法的研究與實現

    為了提高實際通信中檢查信號傳輸錯誤的能力,提高和推廣CRC校驗技術,本論文用邏輯代數知識、按模運算、代數知識和C語言編程工具設計了幾種具體實用的CRC校驗碼的計算方法,這些
    發表于 05-28 15:41 ?0次下載

    簡單實用的單片機CRC快速算法

    本文提供兩個實用的、能夠在單片機上通過軟件來實現CRC快速算法
    發表于 03-22 16:40 ?3次下載

    16位CRC校驗原理與算法分析

    16位CRC校驗原理與算法分析,感興趣的小伙伴們可以看看。
    發表于 10-10 14:55 ?11次下載

    一種改進的增維型雙邊濾波的快速算法

    一種改進的增維型雙邊濾波的快速算法_李俊峰
    發表于 01-07 16:00 ?0次下載

    基于查表的無乘法DCT快速算法 Jpeg壓縮算法中的DCT快速算法

    基于查表的無乘法DCT快速算法 Jpeg壓縮算法中的DCT快速算法
    發表于 09-18 09:47 ?14次下載
    基于查表的無乘法DCT<b class='flag-5'>快速算法</b> Jpeg壓縮<b class='flag-5'>算法</b>中的DCT<b class='flag-5'>快速算法</b>

    DM6446的車牌定位快速算法實現與優化

    DM6446的車牌定位快速算法實現與優化
    發表于 10-26 15:27 ?1次下載
    DM6446的車牌定位<b class='flag-5'>快速算法</b><b class='flag-5'>實現</b>與優化

    如何使用SMART編寫CRC校驗算法程序

    本文檔的主要內容詳細介紹的是如何使用SMART編寫CRC校驗算法程序。
    發表于 10-24 08:00 ?4次下載
    如何使用SMART編寫<b class='flag-5'>CRC</b>的<b class='flag-5'>校驗算法</b>程序

    面向硬件實現的HEVC幀內編碼快速算法

    面向硬件實現的HEVC幀內編碼快速算法
    發表于 06-21 16:30 ?10次下載

    CRC校驗算法原理及c語言實現

    CRC校驗算法原理及c語言實現
    發表于 11-30 10:04 ?9次下載

    CRC校驗原理及實現

    作者:王超首發:電子電路開發學習目錄前言CRC算法簡介CRC計算CRC校驗CRC計算的C語言
    發表于 01-26 17:37 ?30次下載
    <b class='flag-5'>CRC</b><b class='flag-5'>校驗</b>原理及<b class='flag-5'>實現</b>
    主站蜘蛛池模板: 日韩在线中文字幕无码| 轻点灬大ji巴太粗太双性高h| 嫩草影院永久在线一二三四| 欧美最猛黑人XXXXWWW| 亚洲精品成人无码区一在线观看| 2018国产天天弄谢| 国产欧美日韩综合精品一区二区| 麻豆天美国产一区在线播放| 无人区乱码1区2区3区网站| 99爱视频在线观看| 九九在线精品亚洲国产| 撕烂衣服扒开胸罩揉爆胸| 99久在线国内在线播放免费观看| 国产亚洲精品欧洲在线视频| 嗯啊…跟校草在教室里做h | 国产亚洲精品首页在线播放| 米奇影视999| 亚洲精品免费在线| 俄罗斯孩交精品| 女性性纵欲派对| 18美女腿打开无遮软件| 九九热视频免费观看| 亚洲国产精品热久久| 国产黄a三级三级三级| 女生扒开下面| 最近日本免费观看MV免费| 国产免费午夜| 亚欧洲乱码视频一二三区| 超碰caoporn| 日本一本2017国产| seyeye免费高清观看| 欧美18在线| 中文字幕不卡一区二区三区| 国产在线观看黄| 午夜免费小视频| 国产AV一区二区三区日韩| 日韩亚洲国产欧美免费观看| 东北疯狂xxxxbbbb中国| 试看2分钟AA片| 国产国拍精品AV在线观看 | 十八禁啪啦啪漫画|