基于MATLAB的(7_4)漢明碼編譯碼設(shè)計與仿真結(jié)果分析_第1頁
基于MATLAB的(7_4)漢明碼編譯碼設(shè)計與仿真結(jié)果分析_第2頁
基于MATLAB的(7_4)漢明碼編譯碼設(shè)計與仿真結(jié)果分析_第3頁
基于MATLAB的(7_4)漢明碼編譯碼設(shè)計與仿真結(jié)果分析_第4頁
基于MATLAB的(7_4)漢明碼編譯碼設(shè)計與仿真結(jié)果分析_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、2009級通信工程專業(yè)通信原理課程設(shè)計通信原理課程設(shè)計報告書課題名稱基于MATLAB的(7,4)漢明碼編譯碼設(shè)計與仿真結(jié)果分析姓 名學 號學 院通信與電子工程學院專 業(yè)通信工程指導教師 2011年 12月 23日 一、設(shè)計任務(wù)及要求:設(shè)計任務(wù):利用MATLAB編程,實現(xiàn)漢明碼編譯碼設(shè)計。理解(7,4)漢明碼的構(gòu)造原理,掌握(7,4)漢明碼的編碼和譯碼的原理和設(shè)計步驟。并對其性能進行分析。要 求: 通過MATLAB編程,設(shè)計出(7,4)漢明碼的編碼程序,編碼后加入噪聲,然后譯碼,畫出信噪比與誤比特數(shù)和信噪比與誤比特率的仿真圖,然后對其結(jié)果進行分析指導教師簽名: 2011年12月23日 二、指導教

2、師評語:指導教師簽名: 年 月 日 三、成績 驗收蓋章 年 月 日 基于MATLAB的(7,4)漢明碼編譯碼設(shè)計與仿真結(jié)果分析 1 設(shè)計目的(1)熟悉掌握漢明碼的重要公式和基本概念。(2)利用MATLAB編程,實現(xiàn)漢明碼編譯碼設(shè)計。(3)理解(7,4)漢明碼的構(gòu)造原理,掌握(7,4)漢明碼的編碼和譯碼的原理和設(shè)計步驟。(4)對其仿真結(jié)果進行分析。2 設(shè)計要求(1)通過MATLAB編程,設(shè)計出(7,4)漢明碼的編碼程序。(2)編碼后加入噪聲,然后譯碼,畫出信噪比與誤比特數(shù)和信噪比與誤比特率的仿真圖。(3)然后對其結(jié)果進行分析。3 設(shè)計步驟3.1 線性分組碼的一般原理線性分組碼的構(gòu)造3.1.1 H

3、矩陣根據(jù)(7, 4)漢明碼可知一般有 (1)現(xiàn)在將上面它改寫為(2)上式中已經(jīng)將“Å”簡寫成“+”。 上式可以表示成如下矩陣形式:(3)上式還可以簡記為(4)H × AT = 0T 或A × HT = 0式中(5)(6)A = a6 a5 a4 a3 a2 a1 a0(7)0 = 000右上標“T”表示將矩陣轉(zhuǎn)置。例如,HT是H的轉(zhuǎn)置,即HT的第一行為H的第一列,HT的第二行為H的第二列等等。將H稱為監(jiān)督矩陣。 只要監(jiān)督矩陣H給定,編碼時監(jiān)督位和信息位的關(guān)系就完全確定了。 H矩陣的性質(zhì): 1) H的行數(shù)就是監(jiān)督關(guān)系式的數(shù)目,它等于監(jiān)督位的數(shù)目r。H的每行中“1”的

4、位置表示相應碼元之間存在的監(jiān)督關(guān)系。例如,H的第一行1110100表示監(jiān)督位a2是由a6 a5 a4之和決定的。H矩陣可以分成兩部分,例如(8)式中,P為r ´ k階矩陣,Ir為r ´ r階單位方陣。我們將具有P Ir形式的H矩陣稱為典型陣。2) 由代數(shù)理論可知,H矩陣的各行應該是線性無關(guān)的,否則將得不到 r個線性無關(guān)的監(jiān)督關(guān)系式,從而也得不到 r個獨立的監(jiān)督位。若一矩陣能寫成典型陣形式P Ir,則其各行一定是線性無關(guān)的。因為容易驗證Ir的各行是線性無關(guān)的,故P Ir的各行也是線性無關(guān)的。3.1.2 G矩陣:上面漢明碼例子中的監(jiān)督位公式為(9)(10)也可以改寫成矩陣形式:

5、或者寫成(11)式中,Q為一個k ´ r階矩陣,它為P的轉(zhuǎn)置,即 Q = PT 上式表示,在信息位給定后,用信息位的行矩陣乘矩陣Q就產(chǎn)生出監(jiān)督位。我們將Q的左邊加上1個k ´ k階單位方陣,就構(gòu)成1個矩陣G (12)(13)G稱為生成矩陣,因為由它可以產(chǎn)生整個碼組,即有或者(14)因此,如果找到了碼的生成矩陣G,則編碼的方法就完全確定了。具有IkQ形式的生成矩陣稱為典型生成矩陣。由典型生成矩陣得出的碼組A中,信息位的位置不變,監(jiān)督位附加于其后。這種形式的碼稱為系統(tǒng)碼。 G矩陣的性質(zhì):1) G矩陣的各行是線性無關(guān)的。因為由上式可以看出,任一碼組A都是G的各行的線性組合。G共有

6、k行,若它們線性無關(guān),則可以組合出2k種不同的碼組A,它恰是有k位信息位的全部碼組。若G的各行有線性相關(guān)的,則不可能由G生成2k種不同的碼組了。2) 實際上,G的各行本身就是一個碼組。因此,如果已有k個線性無關(guān)的碼組,則可以用其作為生成矩陣G,并由它生成其余碼組。3.1.3 校正子S當接收碼組有錯時,E ¹ 0,將B當作A代入公式(A × H T = 0)后,該式不一定成立。在錯碼較多,已超過這種編碼的檢錯能力時,B變?yōu)榱硪辉S用碼組,則該式仍能成立。這樣的錯碼是不可檢測的。在未超過檢錯能力時,上式不成立,即其右端不等于0。假設(shè)這時該式的右端為S,即(15)B ×

7、H T = S(16)將B = A + E代入上式,可得S = (A + E) H T = A × H T + E × H T(17)由于A × HT = 0,所以S = E × H T式中S稱為校正子。它能用來指示錯碼的位置。S和錯碼E之間有確定的線性變換關(guān)系。若S和E之間一一對應,則S將能代表錯碼的位置。3.2 (7,4)漢明碼的構(gòu)造原理在偶數(shù)監(jiān)督碼中,由于使用了一位監(jiān)督位a0,它和信息位an-1 a1一起構(gòu)成一個代數(shù)式:(18)在接收端解碼時,實際上就是在計算(19) 若S = 0,就認為無錯碼;若S = 1,就認為有錯碼。現(xiàn)將上式稱為監(jiān)督關(guān)系式,

8、S稱為校正子。由于校正子S只有兩種取值,故它只能代表有錯和無錯這兩種信息,而不能指出錯碼的位置。若監(jiān)督位增加一位,即變成兩位,則能增加一個類似的監(jiān)督關(guān)系式。由于兩個校正子的可能值有4中組合: 00,01,10,11,故能表示4種不同的信息。若用其中1種組合表示無錯,則其余3種組合就有可能用來指示一個錯碼的3種不同位置。同理,r個監(jiān)督關(guān)系式能指示1位錯碼的(2r 1)個可能位置。(20)一般來說,若碼長為n,信息位數(shù)為k,則監(jiān)督位數(shù)rnk。如果希望用r個監(jiān)督位構(gòu)造出r個監(jiān)督關(guān)系式來指示1位錯碼的n種可能位置,則要求 然后根據(jù)(7,4)漢明碼的編碼原理,畫出程序設(shè)計的流程圖:開始始對(7,4)漢明

9、碼進行編碼輸出編碼后的(7,4)漢明碼加入高斯白噪聲對加入噪聲后的(7,4)漢明碼進行譯碼結(jié) 束輸出譯碼碼后的(7,4)漢明碼畫出誤碼率/數(shù)與信噪比的仿真圖對編碼后的(7,4)漢明碼進行調(diào)制 圖1 編碼流程圖然后根據(jù)流程圖進行編寫程序。4、程序設(shè)計clear all;close all;N=30000;K=4*N;%信息長度Q=8;%調(diào)制形式num=zeros(20,1);%誤比特數(shù)ber=zeros(20,1);%誤比特率for SNR=1:1:20%生成矩陣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 ;%監(jiān)督矩陣H=

10、1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1;A=zeros(7*N,1);編碼后信號S=zeros(N,3);%校驗子E=zeros(7*N,1);%錯誤圖樣I=zeros(7*N,1);%解調(diào)糾錯后的矩陣NEW=zeros(K,1);%收到的信號a=randsrc(K,1,0,1);%信源%編碼for k=1:N code=a(4*k-3) a(4*k-2) a(4*k-1) a(4*k)*G; for l=0:6 A(7*k-l)=mod(code(7-l),2); end end%8PSK調(diào)制 Xa=pskmod(A,Q);%信道傳輸加噪 Xb=a

11、wgn(Xa,SNR);%解調(diào) B=pskdemod(Xb,Q);%編碼 for n=1:N M=7*n-6; Z=4*n-3; T=7*n-3; V=4*n; L=7*n; s=B(M:L,1)'*H' S(n,:)=mod(s,2); if S(n,:)=0 0 0 E(M:L,1)=0 0 0 0 0 0 0' elseif S(n,:)=0 0 1 E(M:L,1)=0 0 0 0 0 0 1' elseif S(n,:)=0 1 0 E(M:L,1)=0 0 0 0 0 1 0' elseif S(n,:)=0 1 1 E(M:L,1)=0 0

12、 0 0 1 0 0' elseif S(n,:)=1 0 0 E(M:L,1)=0 0 0 1 0 0 0' elseif S(n,:)=1 0 1 E(M:L,1)=0 0 1 0 0 0 0' elseif S(n,:)=1 1 0 E(M:L,1)=0 1 0 0 0 0 0' elseif S(n,:)=1 1 1 E(M:L,1)=1 0 0 0 0 0 0' end P=B(M:L,1)+E(M:L,1); I(M:L,1)=mod(P,2); NEW(Z:V,1)=I(M:T,1);endnum(SNR,:),ber(SNR,:)=bit

13、err(NEW,a);endplot(num,'b:s'); %畫出誤比特數(shù)xlabel('信噪比');ylabel('誤比特數(shù)');figureplot(ber,'k-*'); %畫出誤比特率xlabel('信噪比');ylabel('誤比特率');5、設(shè)計結(jié)果及分析5.1通過對以上程序的編譯運行仿真可以得到以下兩個仿真圖。圖2 漢明碼譯碼誤比特數(shù)圖 圖3 漢明碼譯碼誤比特率圖5.2 編碼后信號A與經(jīng)過校驗子S校驗后譯碼得到的信號截圖圖 4 編碼后信號A的截圖圖5 譯碼得到的信號截圖5.3 仿真結(jié)果分析(1) 觀察圖2和圖3我們可以看到誤比特數(shù)和誤比特率隨信噪比的增加而減小,并最后趨于0.由圖4和圖5,再聯(lián)系前面校正子s與各碼元之間的對應關(guān)系,我們可以發(fā)現(xiàn)校正子s的重要作用。并且我們還可以推算出當程序中N取值很小時畫出來的圖形將是鋸齒減函數(shù),也就是說隨著N的增大觀察到的圖形越光滑。(2) 與其它檢錯糾錯碼相比較(7,4)漢明碼是能夠糾正1位錯碼且編碼效率較高的一種線性分組碼6主要儀器與設(shè)備安裝了matlab R2009a 程序的電腦。7設(shè)計體會與建議 7.1設(shè)計體會7.2

溫馨提示

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

評論

0/150

提交評論