基于MATLAB——漢明碼設計與實現(xiàn)_第1頁
基于MATLAB——漢明碼設計與實現(xiàn)_第2頁
基于MATLAB——漢明碼設計與實現(xiàn)_第3頁
基于MATLAB——漢明碼設計與實現(xiàn)_第4頁
基于MATLAB——漢明碼設計與實現(xiàn)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗報告書-漢明碼設計與實現(xiàn)漢明碼編譯碼器系統(tǒng)班級: 姓名: 學號:1. 實驗原理描述1.1漢明碼編碼原理一般來說,若漢明碼長為n,信息位數(shù)為k,則監(jiān)督位數(shù)r=n-k。若希望用r個監(jiān)督位構造出r個監(jiān)督關系式來指示一位錯碼的n種可能位置,則要求或下面以(7,4)漢明碼為例說明原理: 設漢明碼(n,k)中k=4,為了糾正一位錯碼,由式(1)可知,要求監(jiān)督位數(shù)r3。若取r=3,則n=k+r=7。我們用來表示這7個碼元,用的值表示3個監(jiān)督關系式中的校正子,則的值與錯誤碼元位置的對應關系可以規(guī)定如表1所列。表1 校正子和錯碼位置的關系錯碼位置錯碼位置001101010110 100111011000無錯

2、碼則由表1可得監(jiān)督關系式:S1=a6a5a4a2 (2)S2=a6a5a3a1(3) S3=a6a4a3a0(4)在發(fā)送端編碼時,信息位的值決定于輸入信號,因此它們是隨機的。監(jiān)督位、應根據信息位的取值按監(jiān)督關系來確定,即監(jiān)督位應使式(2)式(4)中、的值為0(表示編成的碼組中應無錯碼) a6a5a4a2=0a6a5a3a1=0a6a4a3a0=0(5)式(5)經過移項運算,接觸監(jiān)督位a2=a6a5a4a1=a6a5a3a0=a6a4a3(6)式(5)其等價形式為:1 1 1 0 1 0 01 1 0 1 0 1 01 0 1 1 0 0 1a6a5a4a3a2a1a0=000(7)式(6)還可

3、以簡記為HAT=0T或AHT=0 (8)其中H=1 1 1 0 1 0 01 1 0 1 0 1 01 0 1 1 0 0 1A=a6a5a4a3a2a1a0P=1 1 1 01 1 0 11 0 1 1Ir=1 0 00 1 00 0 10=0 0 0所以有H=PIr式(6)等價于a2a1aa=a6 a5 a4 a31 1 11 1 01 0 10 1 1=a6 a5 a4a3Q(10)其中Q為P的轉置,即式(10)表示,信息位給定后,用信息位的行矩陣乘矩陣Q就產生出監(jiān)督位。我們將Q的左邊加上一個k×k階單位方陣,就構成一個矩陣GG=IkQ=1 0 0 0 1 1 10 1 0 0

4、 1 1 00 0 1 0 1 0 10 0 0 1 0 1 1(12)G稱為生成矩陣,因為由它可以產生整個碼組,即有a6a5a4a3a2a1a0=a6a5a4a3G(13) 或者A=a6a5 a4 a3G(14)式(13)即漢明碼的編碼原理1.2漢明碼糾錯原理當數(shù)字信號編碼成漢明碼形式(本文中即A)后在信道中傳輸,由于信道中噪聲的干擾,可能由于干擾引入差錯,使得接收端收到錯碼,因此在接收端進行漢明碼糾錯,以提高通信系統(tǒng)的抗干擾能力及可靠性。 一般來說接收碼組與A不一定相同。若設接收碼組為一n列的行矩陣B,即B=a6a5a4a3a2a1a0(15)則發(fā)送碼組和接收碼組之差為B-A=E(16)E

5、就是傳輸中產生的錯碼行矩陣E=e6e5e4e3e2e1e0(17)若ei=0,表示接收碼元無錯誤,若ei=1,則表示該接收碼元有錯。式(16)可改寫成B=A+E (18)若E=0,即接收碼組無錯,則,將它代人式(8),該是仍成立,即有BHT=0(19)當接收碼組有錯時,E0,將B帶入式(8)后,該式不一定成立。在未超過檢錯能力時,式(19)不成立。假設此時式(19)的右端為S,即BHT=S(20)將B=A+E代入式(20),可得S=A+EHT+EHT由式(8)可知,所以S=EHT(21)此處S與前面的有著一一對應關系,則S能代表錯碼位置。因此,糾錯原理即,接收端收到碼組后按式(20)計算出S,

6、再根據表1判斷錯碼情況,進行差錯糾正。二.實驗儀器1.通信原理綜合實驗系統(tǒng)一臺2.電腦-MATlab一臺三.實驗目的1.熟悉掌握漢明碼的原理與實現(xiàn)2.觀察了解漢明距離的作用3.通過已經知道的漢明碼監(jiān)督方程為傳輸?shù)木幋a進行糾錯也驗證四.實驗內容1.漢明碼編碼規(guī)則漢明碼是1950年由美國貝爾實驗室提出來的,是第一個設計用來糾正一位誤碼的線性分組碼,漢明碼及其變型已廣泛應用于數(shù)字通信和數(shù)據存儲系統(tǒng)中作為差錯控制碼。漢明碼的原始設計思想來自于前面討論的奇偶監(jiān)督碼。通過一個例子來說明如何具體構造這些監(jiān)督關系式。 設分組碼 (n,k)中k = 4。為了糾正一位錯碼,按漢明不等式可得r3,若取r =3,則n

7、 = kr =7。我們用 a6 a5 a4 a3 a2 a1 a0 a2 a6 a5 a4 a1 a6 a5 a3 a0 a6 a4 a32.編碼的檢驗與糾錯用S1,S2,S3表示三個監(jiān)督關系式式中的校正子,監(jiān)督方程為: S1 =a6 a5 a4 a2 S2 =a6 a5 a3 a1 S3 =a6 a4 a3 a0則S1,S2,S3的值與錯碼位置的對應關系可以規(guī)定如下表:五.實驗要求1.編寫7位漢明碼的程序,輸出漢明碼function f=hammingencod(a) G=1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1;0 0 0 1 0 1 1; a=i

8、nput('輸入信息元序列:'); c=mod(a*G,2); disp('編碼后序列為:'); disp(c);x=.01:.01:4;m,n=size(a'*ones(1,100);y=reshape(a'*ones(1,100)',1,m*n);plot(x,y)axis(0 4 0 1.5);set(gca,'XTick',0:1:4);set(gca,'YTick',0:0.5:1.5);title('hanmingencode')xlabel('value')yl

9、abel('value')end輸入信息元序列:1101編碼后序列為: 1 0 0 0 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 0 0 0 1 0 1 12.任意輸入一個7位編碼使用程序判斷編碼是否正確,如果錯誤,指出錯位并糾正。function g=hammingdecod(B) H=1 1 1 0 1 0 0 ;1 1 0 1 0 1 0;1 0 1 1 0 0 1; B=input('輸入接收序列B='); S=mod(B*H',2); %計算B的伴隨式if S=0 disp('接收到的碼字無錯誤。');

10、 E=dec2bin(0,7); endfori=1:1:7if S=H(:,i)' E=dec2bin(2(7-i),7); %計算R的錯誤圖樣fprintf('錯誤出現(xiàn)在第%1.0f位n',i); break; endend a=mod(B-E,2); %計算原發(fā)送碼序列disp('原發(fā)送碼字為:'); disp(a) x=.01:.01:7;m,n=size(a'*ones(1,100);y=reshape(a'*ones(1,100)',1,m*n);m,n=size(B'*ones(1,100);z=reshape(B'*ones(1,100)',1,m*n);plot(x,y)holdon;plot(x,z,'-r')axis(0 7 0 1.5);set(gca,'XTick',0:1:7);set(gca,'YTick',0:0.5:2.5);set(gca,'ZTick',0:0.5:2.5);title('hanmingdecode')xlabel('value')ylabel(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論