資源描述:
《基于MATLAB——漢明碼設(shè)計與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、實驗報告書------漢明碼設(shè)計與實現(xiàn)漢明碼編譯碼器系統(tǒng)班級:姓名:學(xué)號:一.實驗原理描述1.1漢明碼編碼原理一般來說,若漢明碼長為n,信息位數(shù)為k,則監(jiān)督位數(shù)r=n-k。若希望用r個監(jiān)督位構(gòu)造出r個監(jiān)督關(guān)系式來指示一位錯碼的n種可能位置,則要求或下面以(7,4)漢明碼為例說明原理:設(shè)漢明碼(n,k)中k=4,為了糾正一位錯碼,由式(1)可知,要求監(jiān)督位數(shù)r≥3。若取r=3,則n=k+r=7。我們用來表示這7個碼元,用的值表示3個監(jiān)督關(guān)系式中的校正子,則的值與錯誤碼元位置的對應(yīng)關(guān)系可以規(guī)定如表1所列。表1校正子和錯碼
2、位置的關(guān)系錯碼位置錯碼位置001101010110100111011000無錯碼則由表1可得監(jiān)督關(guān)系式:S1=a6⊕a5⊕a4⊕a2(2)S2=a6⊕a5⊕a3⊕a1(3)S3=a6⊕a4⊕a3⊕a0(4)在發(fā)送端編碼時,信息位的值決定于輸入信號,因此它們是隨機的。監(jiān)督位、、應(yīng)根據(jù)信息位的取值按監(jiān)督關(guān)系來確定,即監(jiān)督位應(yīng)使式(2)~式(4)中、、的值為0(表示編成的碼組中應(yīng)無錯碼)a6⊕a5⊕a4⊕a2=0a6⊕a5⊕a3⊕a1=0a6⊕a4⊕a3⊕a0=0(5)式(5)經(jīng)過移項運算,接觸監(jiān)督位a2=a6⊕a5⊕a4
3、a1=a6⊕a5⊕a3a0=a6⊕a4⊕a3(6)式(5)其等價形式為:111010011010101011001a6a5a4a3a2a1a0=000(7)式(6)還可以簡記為H?AT=0T或A?HT=0(8)其中H=111010011010101011001A=a6a5a4a3a2a1a0P=111011011011Ir=1000100010=000所以有H=PIr式(6)等價于a2a1aa=a6a5a4a3111110101011=a6a5a4a3Q(10)其中Q為P的轉(zhuǎn)置,即式(10)表示,信息位給定后,用信息
4、位的行矩陣乘矩陣Q就產(chǎn)生出監(jiān)督位。我們將Q的左邊加上一個k×k階單位方陣,就構(gòu)成一個矩陣GG=IkQ=1000111010011000101010001011(12)G稱為生成矩陣,因為由它可以產(chǎn)生整個碼組,即有a6a5a4a3a2a1a0=a6a5a4a3?G(13)或者A=a6a5a4a3?G(14)式(13)即漢明碼的編碼原理1.2漢明碼糾錯原理當數(shù)字信號編碼成漢明碼形式(本文中即A)后在信道中傳輸,由于信道中噪聲的干擾,可能由于干擾引入差錯,使得接收端收到錯碼,因此在接收端進行漢明碼糾錯,以提高通信系統(tǒng)的抗干
5、擾能力及可靠性。一般來說接收碼組與A不一定相同。若設(shè)接收碼組為一n列的行矩陣B,即B=a6a5a4a3a2a1a0(15)則發(fā)送碼組和接收碼組之差為B-A=E(16)E就是傳輸中產(chǎn)生的錯碼行矩陣E=e6e5e4e3e2e1e0(17)若ei=0,表示接收碼元無錯誤,若ei=1,則表示該接收碼元有錯。式(16)可改寫成B=A+E(18)若E=0,即接收碼組無錯,則,將它代人式(8),該是仍成立,即有B?HT=0(19)當接收碼組有錯時,E≠0,將B帶入式(8)后,該式不一定成立。在未超過檢錯能力時,式(19)不成立。假
6、設(shè)此時式(19)的右端為S,即B?HT=S(20)將B=A+E代入式(20),可得S=A+EHT+E?HT由式(8)可知,所以S=E?HT(21)此處S與前面的有著一一對應(yīng)關(guān)系,則S能代表錯碼位置。因此,糾錯原理即,接收端收到碼組后按式(20)計算出S,再根據(jù)表1判斷錯碼情況,進行差錯糾正。二.實驗儀器1.通信原理綜合實驗系統(tǒng)一臺2.電腦-MATlab一臺三.實驗?zāi)康?.熟悉掌握漢明碼的原理與實現(xiàn)2.觀察了解漢明距離的作用3.通過已經(jīng)知道的漢明碼監(jiān)督方程為傳輸?shù)木幋a進行糾錯也驗證四.實驗內(nèi)容1.漢明碼編碼規(guī)則漢明碼是
7、1950年由美國貝爾實驗室提出來的,是第一個設(shè)計用來糾正一位誤碼的線性分組碼,漢明碼及其變型已廣泛應(yīng)用于數(shù)字通信和數(shù)據(jù)存儲系統(tǒng)中作為差錯控制碼。漢明碼的原始設(shè)計思想來自于前面討論的奇偶監(jiān)督碼。通過一個例子來說明如何具體構(gòu)造這些監(jiān)督關(guān)系式。設(shè)分組碼(n,k)中k=4。為了糾正一位錯碼,按漢明不等式可得r≥3,若取r=3,則n=k+r=7。我們用a6a5a4a3a2a1a0a2=a6⊕a5⊕a4a1=a6⊕a5⊕a3a0=a6⊕a4⊕a32.編碼的檢驗與糾錯用S1,S2,S3表示三個監(jiān)督關(guān)系式式中的校正子,監(jiān)督方程為:S
8、1=a6⊕a5⊕a4⊕a2S2=a6⊕a5⊕a3⊕a1S3=a6⊕a4⊕a3⊕a0則S1,S2,S3的值與錯碼位置的對應(yīng)關(guān)系可以規(guī)定如下表:五.實驗要求1.編寫7位漢明碼的程序,輸出漢明碼functionf=hammingencod(a)G=[1000111;0100110;0010101;0001011];a=input('輸入信息元序列:'