<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 用語言實現(xiàn)BCH解碼校驗算法

    時間:2024-08-07 06:32:12 理工畢業(yè)論文 我要投稿
    • 相關(guān)推薦

    用匯編語言實現(xiàn)BCH解碼校驗算法

    摘要:介紹數(shù)據(jù)傳輸中BCH解碼校驗用匯編語言實現(xiàn)的算法。算法包含BCH碼的差錯檢驗、差錯位查找和差錯糾正,同時列出相關(guān)主要子程序清單并予說明。

    數(shù)據(jù)傳輸通信中,常常因傳輸差錯造成誤碼錯碼,尤其在無線通信中,空中的突發(fā)或隨機干擾噪聲會造成編碼差錯。為了提高傳輸?shù)恼_率,往往采用一些校驗方法,以檢驗糾正傳輸差錯。通信中校驗的方法很多,其中的BCH編碼有其獨特的優(yōu)點:不僅可以檢糾突發(fā)差錯,還能檢糾隨機差錯,被廣泛地采用在微機級的通信中。但對更低層的單片機級的數(shù)據(jù)傳輸通信糾錯,往往采用奇偶校驗等簡單的校驗方法。BCH校驗因其算法復(fù)雜,尤其是動態(tài)實時的無線通信中,單片機的通信往往無法采用BCH解碼檢糾。

    筆者近幾年在工業(yè)測控和無線通信系統(tǒng)開發(fā),摸索了BCH解碼檢糾在實時的、動態(tài)的、單片機級的通信中的算法,并取得十分突出的效果。以下以BCH(31:21)碼為例進行探討。

    1 BCH碼結(jié)構(gòu)

    BCH碼是一種檢糾能力較強的循環(huán)碼。它由信息多項式M(X)和校驗多項式J(X)組成,如以T(X)表示整個BCH(31:21)碼字的31位碼組多項式,則:

    T(X)=M(X) J(X) (1)

    在31位BCH碼的后面再加上1位,以保證整個碼字32位中“1”的個數(shù)為偶數(shù)。該位稱偶校驗位。這樣就形成BCH(31:21)加1位偶校驗位的標(biāo)準(zhǔn)碼字,其結(jié)構(gòu)為:

    其中校驗多項式J(X)由公式(2)計算:

    X0X1……X20X21……X30X31T(X)J(X)偶校驗位

    J(X)=M(X)/S(X) (2)

    式中S(X)是BCH(31:21)碼的生成多項式,見式(3):

    生成多項式S(X)的值在BCH(31:21)碼的值是固定的。

    BCH碼是一種循環(huán)碼,循環(huán)碼是利用除法來糾錯的。由于任一碼組多項式T(X)都能被生成多項式S(X)整除,所以在接收端可以將接收碼組R(X)用S(X)去除。若在傳輸中未發(fā)生錯誤,接收碼與發(fā)送碼相同,即R(X)=T(X),故接收碼組R(X)必定能被生成多項式S(X)整除;若碼組在傳輸中發(fā)生錯誤,即R(X)≠T(X),R(X)被S(X)除時,可能除不盡而有余項Y(X),因此,可根據(jù)余項是否為零來判斷碼中有無錯誤(檢錯),如有余項,通過一定的運算就可以確定錯誤位置,從而加以糾正(糾錯)。

    這里R(X)被S(X)除,是32位被11除,這在非實時靜態(tài)的微機級實現(xiàn)非常簡單;但在實時的、動態(tài)的、單片機級的通信中實現(xiàn)要快速巧妙的算法才能實現(xiàn),否則,現(xiàn)有的碼未檢錯及糾錯完畢,下一個碼已經(jīng)到了。因為動態(tài)中位和位的時距t往往只有幾十μs,以9.6b/s的短信為例,t=104μs。在這104μs中要完成檢錯、定位和糾錯三個算法程序,才是一個完整的解碼檢糾過程。

    2 檢錯

    根據(jù)上述原理,檢錯過程也就是求算R(X)被S(X)除的余項Y(X)的過程,如余項Y(X)=0,則R(X)=T(X),傳輸無差錯;如余項Y(X)≠0,則R(X)≠T(X),檢出傳輸差錯。

    在算法語言中,所有的運算總歸于二種運算:加和減。這是電子計算機的二進制基本電路特性所決定的,也是匯編語言唯一的算術(shù)運算方法。為此,這里把除法用模二加法再加右移位實現(xiàn)。

    已知:S(X)=11101101001

    R(X)=r3r4r5r6 (ri為8位寄存器)

    調(diào)用下面的模二加法右移子程序,得到R(X)/S(X)的余項Y(X)=r3r4。

    ;32位/16位模二加法右移子程序

    m2add:mov r7,#00

    m2ddgx:mov a,r3

    xrl a,#0edh ;S(x)的高位=oed(h)

    mov r3a

    mov a,r4

    cpl acc.5 ;S(x)的低3位=001(b)

    mov r4,a

    mov a,r3

    acc7e10:jb acc.7m2addgx ;R(x)的最高位為“0”,則R(x)右移

    mov a,r6

    rlc a

    mov r6,a

    mov a,r5

    rlc a

    mov r5,a

    mov a,r4

    rlc a

    mov r4,a

    mov a,r3

    rlc a

    mov r3,a

    mov r7

    cjne r7,#10h,acc7e10 ;右移總次數(shù)為16次

    ret

    余項Y(X)的高8位在r3寄存器中,低3位在r4的高3位。

    3 定位

    如果Y(X)=r3r4≠0,表示接收到的碼組R(X)有差錯,下一步則由Y(X)的值推算差錯在R(X)中的位置。

    理論上要找出R(X)中差錯的位置,必須計算出差錯校驗子C(X)。在實踐中,校驗子C(X)的計算不僅費時間,而且多位檢糾還需多個校驗子C(X)。為此,經(jīng)過幾年的實踐,把Y(X)(即r3r4)直接作為綜合校驗子,通過快速查表找到差錯位置。查找程序的大小和檢糾差錯位數(shù)有關(guān),這里以檢糾4位差錯為例,說明定位糾錯的方法。

    ;4位差錯位址查找子程序

    bitposi:mov b,0 ;對R(X)高位至低位的移動計數(shù)

    mov r2,#1fh ;設(shè)表格長度

    bto a: mov a,b

    inc b

    acall tabsub ;調(diào)用表格子程序,讀入表格值

    【用語言實現(xiàn)BCH解碼校驗算法】相關(guān)文章:

    圖像拼接算法及實現(xiàn)03-03

    FFT算法的研究與DSP實現(xiàn)03-07

    鐵路行包配裝算法研究與實現(xiàn)03-02

    圖像處理中的模糊算法及實現(xiàn)03-13

    網(wǎng)頁模糊歸類算法的應(yīng)用與實現(xiàn)03-19

    ADPCM語音編解碼電路設(shè)計及FPGA實現(xiàn)03-18

    嵌入式MPEG—4解碼系統(tǒng)的設(shè)計與實現(xiàn)03-19

    3-DES算法的FPGA高速實現(xiàn)03-20

    高級加密標(biāo)準(zhǔn)Rijndael算法的分析及實現(xiàn)11-23

    主站蜘蛛池模板: 国产精品亚洲A∨天堂不卡| 国产精品无码无片在线观看| 在线中文字幕精品第5页| 8050免费午夜一级国产精品| 日产精品久久久一区二区| 久久er国产精品免费观看8| 欧美精品国产日韩综合在线| 国产精品亚洲片在线| 亚洲精品第一国产综合精品99| 国产高清在线精品一本大道| 国产精品亚洲精品| 精品无码一区在线观看| 一本一本久久a久久综合精品蜜桃| 国产亚洲精品自在线观看| 日本精品久久久久中文字幕| 国产精品女同久久久久电影院| 在线精品自拍无码| 亚洲精品无码专区2| 亚洲国产精品嫩草影院久久| 久久免费99精品国产自在现线| 国产高清在线精品一本大道| 欧美久久精品一级c片片| 国产成人精品福利网站在线| 精品久久久噜噜噜久久久| 亚洲国产精品VA在线观看麻豆| 日本精品久久久久影院日本| 久久久久99精品成人片牛牛影视| 国产精品视频不卡| 国产精品一香蕉国产线看观看| 国产成人精品一区在线| wwwvr高清亚洲精品二区| www夜片内射视频日韩精品成人| 99久久精品九九亚洲精品| 一区二区三区日韩精品| 91精品国产品国语在线不卡| 伊人久久大香线蕉精品| 亚洲国产精品久久久久| 中文字幕亚洲综合精品一区| 一级香蕉精品视频在线播放| 国产午夜精品久久久久九九电影| 国产伦精品一区二区三区视频猫咪|