91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

漢明碼糾錯(cuò)的基本原理及優(yōu)化解決方案

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:趙建武,周航慈 ? 2020-09-16 17:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

漢明碼是在原編碼的基礎(chǔ)上附加一部分代碼,使其滿足糾錯(cuò)碼的條件。它屬于線性分組碼,由于線性碼的編碼和譯碼容易實(shí)現(xiàn),至今仍是應(yīng)用最廣泛的一類碼。漢明碼的抗干擾能力較強(qiáng),但付出的代介也很大,比如8比特漢明碼有效信息只有總編碼長(zhǎng)度的一半,可以糾正1個(gè)差錯(cuò)發(fā)現(xiàn)2個(gè)差錯(cuò)。在實(shí)際應(yīng)用中常常存在各種突發(fā)干擾,使連續(xù)多位數(shù)據(jù)發(fā)生差錯(cuò)。為了糾正3個(gè)以上的差錯(cuò),就要加大碼距,使代碼冗余度大大增加,通信效率下降。本文所介紹的方法,就可以在不加大碼距的同時(shí),提高漢明碼對(duì)突發(fā)干擾所產(chǎn)生差錯(cuò)的糾錯(cuò)能力,糾正多位連續(xù)的差錯(cuò)。

1 漢明碼糾錯(cuò)原理及設(shè)計(jì)

設(shè)原代碼的碼長(zhǎng)為k比特,附加糾錯(cuò)編碼部分為r比特,則合成后的糾錯(cuò)碼為n=k+r比特。如果這種糾錯(cuò)碼的糾錯(cuò)能力為糾正1個(gè)差錯(cuò),則應(yīng)滿足如下基本條件:

2r≥k+r+1

當(dāng)上式取等號(hào)時(shí)則稱漢明碼(Hamming Code)。干擾不僅使原代碼的每一位(k比特(可能出錯(cuò),而且附加糾錯(cuò)位(r比特)也可能出錯(cuò),故“一個(gè)差錯(cuò)”的情況共有k+r種,加上“正常”狀態(tài)共有k+r+1種狀態(tài),而r比特的附加糾錯(cuò)位要能分辨這k+r+1種狀態(tài)。

漢明碼是線性分組碼,[n,k]線性分組碼的編碼設(shè)計(jì)就是在滿足給定條件(如碼距)下,如何從已知的k個(gè)信息元中求同r=n-k個(gè)校驗(yàn)元。要計(jì)算出校驗(yàn)元,就要先求出漢明碼校驗(yàn)矩陣。我們可以從線性空間的角度去分析,推出一致校驗(yàn)矩陣。這里給出構(gòu)造“糾正1個(gè)差錯(cuò)發(fā)現(xiàn)2個(gè)差錯(cuò)”漢明碼校驗(yàn)矩陣的簡(jiǎn)便方法。以實(shí)際應(yīng)用中經(jīng)常使用的16位比特漢明碼為例來(lái)說(shuō)明。

15比特漢明碼由11位信息位、4位校驗(yàn)位組成,因此,編碼長(zhǎng)度為 n=k+r=11+4=15。我們把1,2,3,…,15化為二進(jìn)制數(shù),然后把它們作為矩陣的縱列,可得到的矩陣為:

將包含單個(gè)1的4個(gè)縱列移到右邊,在最后加1列全0的縱列,在第1行上面加1行全1的橫行。這樣就得到了[16,11,4]可糾正1位錯(cuò)誤發(fā)現(xiàn)2位錯(cuò)誤的增廣漢明碼校驗(yàn)矩陣。可以根據(jù)編程要求組織信息位和校驗(yàn)位的位置,最后得到矩陣如下:

2 用漢明碼對(duì)連續(xù)多位差錯(cuò)糾正的實(shí)現(xiàn)

要想在不加大碼距的前提下,糾正連續(xù)多位差錯(cuò),提高抵抗突發(fā)干擾的能力,可根據(jù)校驗(yàn)矩陣得出的漢明碼重新進(jìn)行組織排列。以16比特的漢明碼為例,把11個(gè)字節(jié)的數(shù)據(jù)編碼為16個(gè)字節(jié)的漢明碼后再按高低字節(jié)分成兩組。我們把每組字節(jié)8個(gè)漢明碼的第1位分別取出,組成第1個(gè)字節(jié)。然后,再把這8個(gè)字節(jié)漢明碼的第2位取出,組成第2個(gè)字節(jié)。依此類推,將這組8個(gè)字節(jié)漢明碼處理完畢,得到新的8個(gè)字節(jié)編碼,兩組一共16字節(jié)。我們可以看到這們排序后,每個(gè)字節(jié)包括原來(lái)8個(gè)漢明碼的其中1位。這樣,如果一次突發(fā)干擾使某一編碼字節(jié)連續(xù)8位都發(fā)生改變,實(shí)際是分別使原來(lái)8個(gè)漢明碼的其中1位發(fā)生了改變。只要在糾錯(cuò)前把受干擾的編碼恢復(fù)為原來(lái)正常的排列順序,就可通過(guò)計(jì)算校驗(yàn)碼完成差錯(cuò)的定位及糾錯(cuò)。

如果有163個(gè)字節(jié)的原始數(shù)據(jù),經(jīng)編碼后為240個(gè)字節(jié)的漢明碼,那么如果把240個(gè)字節(jié)的漢明碼的每一位都取出,分別組成15個(gè)字節(jié)的編碼,這樣是不是可以連續(xù)糾正15個(gè)字節(jié)的差錯(cuò)了呢?在實(shí)際應(yīng)用中要分情況而定。通信中,一般可分為異步、同步兩種方式。在異步傳輸中起始位和停止位是由硬件電路產(chǎn)生的,如果干擾使起始位或停止位發(fā)生了改變,那么即使程序有跨字節(jié)糾錯(cuò)的能力也是無(wú)用的。對(duì)于同步方式則是可行的,因?yàn)樵诎l(fā)送接收雙方取得同步后,數(shù)據(jù)塊的每個(gè)字符間取消了起始位和停止位。常用的串口通信一般采用異步傳輸方式,能保證糾正連續(xù)1個(gè)字節(jié)的差錯(cuò)就可以了。

我們也要看到,這樣處理后提高了漢明碼對(duì)突發(fā)干擾差錯(cuò)的糾錯(cuò)能力,卻犧牲了對(duì)隨機(jī)干擾糾錯(cuò)能力。因?yàn)檫@樣對(duì)漢明碼重新排序后,原來(lái)1個(gè)漢明碼的各個(gè)位分布在不同位置的字節(jié)里,當(dāng)有多個(gè)隨機(jī)干擾出現(xiàn)時(shí),可能使原來(lái)這個(gè)被拆開的1個(gè)漢明碼多位出現(xiàn)差錯(cuò)。因此采用多少位的漢明碼,如何對(duì)漢明碼重新組織排列,要根據(jù)信道的特點(diǎn)來(lái)決定。例如,一個(gè)數(shù)據(jù)通信信道經(jīng)常會(huì)受到多個(gè)隨機(jī)干擾的影響,那么我們就不必將漢明碼拆開。如果每次通信數(shù)據(jù)量不大,還可以縮短編碼長(zhǎng)度,比如采用[8,4,3]8比特漢明碼。這樣雖然有效信息只是總編碼長(zhǎng)度的50%,但比起出現(xiàn)多個(gè)差錯(cuò)后而要求發(fā)送方重發(fā)數(shù)據(jù)要好。

3 軟件實(shí)現(xiàn)

下面給出基于最常用的MCS-51單片機(jī)匯編語(yǔ)言的漢明碼測(cè)試程序。它的有效信息占到了總編碼長(zhǎng)度的70%,測(cè)試程序中自動(dòng)生成11個(gè)字節(jié)的原始數(shù)據(jù)。

原始數(shù)據(jù)塊的長(zhǎng)度、存放地址可根據(jù)實(shí)際情況由用戶自己確定,只要將本測(cè)試程序的漢明碼編碼、解碼子程序嵌入用戶應(yīng)用程序中,就可直接使用。

3.1 16位漢明碼編碼子程序

原始數(shù)據(jù)是11個(gè)字節(jié),經(jīng)過(guò)編碼后是16個(gè)字節(jié)的漢明碼。圖1是漢明碼編碼子程序流程圖。

3.2 16位漢明碼解碼子程序

在解碼之前可以人為地加入差錯(cuò)。差錯(cuò)要控制在1個(gè)字節(jié)內(nèi),否則出錯(cuò)標(biāo)志將置位,后續(xù)處理可根據(jù)實(shí)際應(yīng)用情況確定。圖2是漢明碼解碼子程序流程圖。

結(jié)語(yǔ)

本文針對(duì)漢明碼在實(shí)際應(yīng)用中對(duì)突發(fā)干擾所產(chǎn)生多位差錯(cuò)糾錯(cuò)能力低的缺點(diǎn),提出了相應(yīng)的解決方案。此方法通過(guò)的實(shí)際使用,證明了這種方案是可行的尤其對(duì)于一些無(wú)線數(shù)傳設(shè)備,采用這種方案后可以有效糾正突發(fā)干擾所產(chǎn)生的差錯(cuò)。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44989

    瀏覽量

    650336
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3826

    瀏覽量

    82962
  • 匯編語(yǔ)言
    +關(guān)注

    關(guān)注

    14

    文章

    412

    瀏覽量

    36861
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    請(qǐng)問(wèn)漢明碼(7,4)一共有多少種碼字呢?

    我覺(jué)得應(yīng)該是2^4=16種吧?漢明碼(12,8)就是2^8=256種?請(qǐng)問(wèn)對(duì)不對(duì)?
    發(fā)表于 05-22 00:09

    AT91SAM9X35-EK評(píng)估套件工業(yè)應(yīng)用優(yōu)化解決方案

    基于ARM926EJ-S內(nèi)核微處理器單元,運(yùn)行頻率為400MHz,具有連接外設(shè),高數(shù)據(jù)帶寬架構(gòu),使其成為工業(yè)應(yīng)用的優(yōu)化解決方案
    發(fā)表于 04-01 06:51

    基于FPGA的漢明碼譯碼器如何對(duì)碼元數(shù)據(jù)添加噪聲干擾?

    入門小白求助,我最近在做畢業(yè)設(shè)計(jì)的時(shí)候 看到一篇《基于FPGA的漢明碼譯碼器》相關(guān)論文,其中學(xué)者對(duì)該譯碼器是這樣設(shè)計(jì)的(附圖),我想問(wèn)一下在noise_add模塊中是如何向輸入數(shù)據(jù)添加噪聲干擾
    發(fā)表于 02-26 23:29

    【原創(chuàng)】基于FPGA的漢明碼編碼解碼設(shè)計(jì)

    基于FPGA的漢明碼編碼解碼設(shè)計(jì)實(shí)驗(yàn)簡(jiǎn)述本實(shí)驗(yàn)的目的是實(shí)現(xiàn)漢明糾錯(cuò)碼的編碼和解碼1.1漢明碼簡(jiǎn)介 漢明碼,是在電信領(lǐng)域的一種線性調(diào)試碼,以發(fā)明者理查德 衛(wèi)斯理 漢明的名字命名。
    發(fā)表于 04-15 11:47

    如何提高漢明碼糾錯(cuò)能力?

    漢明碼糾錯(cuò)原理是什么?怎樣實(shí)現(xiàn)漢明碼對(duì)連續(xù)多位差錯(cuò)糾正?怎樣去設(shè)計(jì)漢明碼測(cè)試程序?
    發(fā)表于 04-27 06:22

    提高漢明碼對(duì)突發(fā)干擾的糾錯(cuò)能力

    在簡(jiǎn)要介紹漢明碼編碼原理的基礎(chǔ)上,詳細(xì)分析干擾對(duì)漢明碼糾錯(cuò)的影響;通過(guò)對(duì)漢明碼重新組織排列,在不增加代碼冗余度的前提下,提高漢明碼抗突發(fā)干擾
    發(fā)表于 04-15 11:34 ?20次下載

    PIC單片機(jī)串行通信中的漢明編碼自動(dòng)檢糾錯(cuò)

    基于漢明碼(Hamning Code)編碼方式實(shí)現(xiàn)串行通信中的自動(dòng)檢糾錯(cuò)功能。重點(diǎn)分析漢明碼編碼方式和糾錯(cuò)方式,并介紹實(shí)現(xiàn)算法。在算法中,將位操作轉(zhuǎn)化為對(duì)字節(jié)操作,從而可以直
    發(fā)表于 05-16 14:09 ?27次下載

    一種基于漢明碼和濕紙碼的隱寫算法

    該文通過(guò)將載體圖像分割成矩陣塊,重復(fù)利用載體矩陣塊像素,結(jié)合漢明碼和濕紙碼構(gòu)造了一種新的雙層結(jié)構(gòu)隱寫算法。該算法首先利用漢明碼在載體矩陣的行向量中嵌入信息,然
    發(fā)表于 02-09 14:45 ?8次下載

    漢明碼,漢明碼是什么意思

    漢明碼,漢明碼是什么意思 漢明碼是一種能夠糾正單個(gè)錯(cuò)誤的線性分組碼。它有以下特點(diǎn): (1)最小碼距
    發(fā)表于 03-17 17:41 ?8606次閱讀

    基于FPGA的檢糾錯(cuò)邏輯算法的實(shí)現(xiàn)

    基于漢明碼糾錯(cuò)原理.根據(jù)對(duì)64位數(shù)據(jù)進(jìn)行檢糾錯(cuò)處理的需要,設(shè)計(jì)一個(gè)利用8位校驗(yàn)碼,以實(shí)現(xiàn)該功能的算法邏輯,并通過(guò)FPGA實(shí)現(xiàn)。
    發(fā)表于 09-15 15:14 ?1825次閱讀
    基于FPGA的檢<b class='flag-5'>糾錯(cuò)</b>邏輯算法的實(shí)現(xiàn)

    23G互操作優(yōu)化解決方案

    本文從23G互操作優(yōu)化的背景出發(fā),分析了當(dāng)前23G互操作優(yōu)化的不足之處,并提出了百林通信的23G互操作優(yōu)化解決方案
    發(fā)表于 12-02 14:58 ?1638次閱讀
    23G互操作<b class='flag-5'>優(yōu)化解決方案</b>

    漢明碼計(jì)算及其糾錯(cuò)原理詳解

    漢明碼(Hamming Code),是在電信領(lǐng)域的一種線性調(diào)試碼,以發(fā)明者理查德·衛(wèi)斯里·漢明的名字命名。漢明碼在傳輸?shù)南⒘髦胁迦腧?yàn)證碼,以偵測(cè)并更正單一比特錯(cuò)誤。由于漢明編碼簡(jiǎn)單,它們被廣泛應(yīng)用于內(nèi)存(RAM )。
    的頭像 發(fā)表于 03-02 15:08 ?3.1w次閱讀
    <b class='flag-5'>漢明碼</b>計(jì)算及其<b class='flag-5'>糾錯(cuò)</b>原理詳解

    漢明碼編譯碼器的數(shù)據(jù)手冊(cè)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是漢明碼編譯碼器的數(shù)據(jù)手冊(cè)免費(fèi)下載。
    發(fā)表于 12-13 08:00 ?0次下載
    <b class='flag-5'>漢明碼</b>編譯碼器的數(shù)據(jù)手冊(cè)免費(fèi)下載

    新思科技正式推出全新DesignDash設(shè)計(jì)優(yōu)化解決方案

    新思科技(Synopsys)近日正式推出全新DesignDash設(shè)計(jì)優(yōu)化解決方案,以擴(kuò)展其EDA數(shù)據(jù)分析產(chǎn)品組合,通過(guò)機(jī)器學(xué)習(xí)技術(shù)來(lái)利用此前未發(fā)掘的設(shè)計(jì)分析結(jié)果,從而提高芯片設(shè)計(jì)的生產(chǎn)力。
    的頭像 發(fā)表于 06-06 15:30 ?1393次閱讀

    漢明碼編譯碼文檔

    電子發(fā)燒友網(wǎng)站提供《漢明碼編譯碼文檔.doc》資料免費(fèi)下載
    發(fā)表于 11-17 16:04 ?4次下載
    <b class='flag-5'>漢明碼</b>編譯碼文檔
    主站蜘蛛池模板: 狠狠五月婷婷 | 日韩欧美在线中文字幕 | 成人欧美一区二区三区黑人3p | 天天襙 | 成人黄色激情网 | 人与禽性视频77777 | 一级一级18女人毛片 | 欧美在线成人午夜影视 | 亚洲九色 | 高清国产亚洲va精品 | xxxxxx性bbbbbb| 国产黄色大片又色又爽 | 欧美日韩视频综合一区无弹窗 | 国产叼嘿网站免费观看不用充会员 | 黄色在线视频免费 | 天天看天天摸色天天综合网 | 欧美1区 | 奇米影色777四色在线首页 | 五月天亚洲 | 在线观看免费高清 | 亚洲黄色一区二区 | 午夜高清福利 | 夜夜爽天天狠狠九月婷婷 | 日本三级在线观看免费 | 毛片爱爱| 国产精品久线观看视频 | 国产理论最新国产精品视频 | 亚洲 图片 小说 欧美 另类 | 日本妈妈4 | 久久奇米 | 在线观看国产精美视频 | 2021成人国产精品 | 国产全部理论片线观看 | 天堂网中文字幕 | 亚洲综合香蕉 | 在线看黄网站 | 又黄又视频 | 干干天天 | 日日操天天操夜夜操 | 亚洲天堂第一页 | 你懂的 在线观看 |