日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]介紹數(shù)據(jù)傳輸中BCH解碼校驗用匯編語言實現(xiàn)的算法。算法包含BCH碼的差錯檢驗、差錯位查找和差錯糾正,同時列出相關(guān)主要子程序清單并予說明。

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

    關(guān)鍵詞:BCH解碼 校驗算法 匯編語言

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

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

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

BCH碼是一種檢糾能力較強(qiáng)的循環(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……X20 X21……X30 X31
T(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ù)余項是否為零來判斷碼中有無錯誤(檢錯),如有余項,通過一定的運(yùn)算就可以確定錯誤位置,從而加以糾正(糾錯)。

這里R(X)被S(X)除,是32位被11除,這在非實時靜態(tài)的微機(jī)級實現(xiàn)非常簡單;但在實時的、動態(tài)的、單片機(jī)級的通信中實現(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),檢出傳輸差錯。

在算法語言中,所有的運(yùn)算總歸于二種運(yùn)算:加和減。這是電子計算機(jī)的二進(jìn)制基本電路特性所決定的,也是匯編語言唯一的算術(shù)運(yùn)算方法。為此,這里把除法用模二加法再加右移位實現(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)用表格子程序,讀入表格值

clr c

subb a,r3 ;Y(X)中的r3 和表格值比較

jnz binc1 :不相等,轉(zhuǎn)出

mov a,b ;相等,繼續(xù)

acall tabsub

clr

subb a,r4 ;Y(X)中的r4和表格值比較

jnz r2decl:不相等,轉(zhuǎn)出

setb f0 ;相等,置標(biāo)志位返回

ret

bincl:inc b

r2decl:djnz r2,btoa

ret ;表格查畢,沒有相等的值,不置標(biāo)志位返回

從查找子程序返回的B寄存器的值,即為差錯在R(X)中從高位到低位的位數(shù)值。

;4位差錯表格子程序

tabsub:inc a

movc a,@a+pc;將相對位置的表格送入a寄存器

ret

db 0ebh ;表格開始,長度為查找子程序中

db 00 ;r2寄存器的預(yù)置值

db 76h

.

.

.

4 糾錯

找到了差錯在R(X)位置,就可以糾錯了。

糾錯的原理比較簡單,因為單片機(jī)處理的是二進(jìn)制數(shù),而二進(jìn)制數(shù)只有二個狀態(tài),即不是“0”就是“1”。也就是說,R(X)中差錯位是“0”,則改為“1”;差錯位是“1”,則改為“0”。所以糾錯要對所在位求反就行了,程序見本刊網(wǎng)絡(luò)補(bǔ)充版(http://www.dpj.com.cn)。

至此,整個檢錯、定位、糾錯的BCH碼校驗檢糾過程結(jié)束。BCH碼校驗算法,經(jīng)過實踐的檢驗,不失為單片機(jī)級的數(shù)據(jù)傳輸校驗好算法。這種方法可以對多位隨機(jī)差錯和多位突發(fā)差錯進(jìn)行檢驗和糾錯,具體位數(shù)的多少僅受單片機(jī)工作頻率的限制,而不受方法的限制。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會、上海市發(fā)展和改革委員會、上海市商務(wù)委員會、上海市教育委員會、上海市科學(xué)技術(shù)委員會指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動駕駛

推進(jìn)卓越制造,擴(kuò)大產(chǎn)能并優(yōu)化布局 蘇州2025年9月5日 /美通社/ --?耐世特汽車系統(tǒng)與蘇州工業(yè)園區(qū)管委會正式簽署備忘錄,以設(shè)立耐世特亞太總部蘇州智能制造項目。...

關(guān)鍵字: 智能制造 BSP 汽車系統(tǒng) 線控

慕尼黑和北京2025年9月4日 /美通社/ -- 寶馬集團(tuán)宣布,新世代首款量產(chǎn)車型BMW iX3將于9月5日全球首發(fā),9月8日震撼亮相慕尼黑車展。中國專屬版車型也將在年內(nèi)與大家見面,2026年在國內(nèi)投產(chǎn)。 寶馬集團(tuán)董事...

關(guān)鍵字: 寶馬 慕尼黑 BSP 數(shù)字化

北京2025年9月4日 /美通社/ --?在全球新一輪科技革命與產(chǎn)業(yè)變革的澎湃浪潮中,人工智能作為引領(lǐng)創(chuàng)新的核心驅(qū)動力,正以前所未有的深度與廣度重塑各行業(yè)發(fā)展格局。體育領(lǐng)域深度融入科技變革浪潮,駛?cè)霐?shù)字化、智能化轉(zhuǎn)型快車...

關(guān)鍵字: 人工智能 智能體 AI BSP

上海2025年9月2日 /美通社/ -- 近日,由 ABB、Moxa(摩莎科技)等八家企業(yè)在上海聯(lián)合發(fā)起并成功舉辦"2025 Ethernet-APL 技術(shù)應(yīng)用發(fā)展大會"。會議以"破界?融合...

關(guān)鍵字: ETHERNET 智能未來 BSP 工業(yè)通信

傳感器模塊能實現(xiàn)便捷無接觸的后備箱或側(cè)滑門開啟,適配各種車輛架構(gòu) 該24 GHz雷達(dá)傳感器可集成于保險杠或底盤上,并通過特定的手勢或腳部動作觸發(fā)響應(yīng) 已為多家歐洲主流車企啟動量產(chǎn)交付 德國布爾2025...

關(guān)鍵字: 傳感器 BSP 觸發(fā) 保險杠

以高效節(jié)能方案繪制AI算力綠色未來 上海2025年8月29日 /美通社/ -- 8月28日,臺達(dá)受邀出席"2025中國智算產(chǎn)業(yè)綠色科技大會",全方位分享臺達(dá)在智算領(lǐng)域的前沿洞見與綠色解決方...

關(guān)鍵字: AI 可持續(xù)發(fā)展 數(shù)據(jù)中心 BSP

淄博2025年8月29日 /美通社/ -- 8月26日至27日,TÜV南德意志集團(tuán)(以下簡稱"TÜV南德")受邀參加由淄博市...

關(guān)鍵字: BSP 人工智能 信息安全 新加坡

無錫2025年8月29日 /美通社/ -- 2025年8月27日,正值中國與瑞士建交75周年這一歷史性時刻,在北京隆重舉辦的中瑞商業(yè)大獎頒獎典禮上,作為中瑞經(jīng)貿(mào)合作的標(biāo)桿企業(yè),布勒憑借在創(chuàng)新研發(fā)和數(shù)字化轉(zhuǎn)型領(lǐng)域的卓越表現(xiàn)...

關(guān)鍵字: 解碼 數(shù)字化 AN SMART

北京2025年8月28日 /美通社/ -- 近日,北京亦莊創(chuàng)新發(fā)布消息,北京經(jīng)濟(jì)技術(shù)開發(fā)區(qū)(簡稱北京經(jīng)開區(qū),又稱北京亦莊)以"高效辦成一件事"為抓手,圍繞企業(yè)信用修復(fù)的全流程全環(huán)節(jié),打造經(jīng)開區(qū)特色的&...

關(guān)鍵字: 數(shù)字化 集成 BSP 數(shù)據(jù)共享
關(guān)閉