漢明碼檢糾錯(cuò)課程設(shè)計(jì)報(bào)告_第1頁(yè)
已閱讀1頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  I 摘 要 </p><p>  通信技術(shù)與人們的生活越來(lái)越緊密,對(duì)通信技術(shù)的仿真和研究使復(fù)雜的通信過(guò)程變得</p><p>  簡(jiǎn)單直觀化。文中對(duì)編碼通信中漢

2、明碼的編譯碼原理進(jìn)行了分析,并用 Matlab 語(yǔ)言仿真,不但簡(jiǎn)化了學(xué)生的學(xué)習(xí)過(guò)程,提高了教學(xué)效果,而且激發(fā)了其學(xué)習(xí)興趣。差錯(cuò)控制技術(shù)可以提高信息傳輸?shù)臏?zhǔn)確性。該技術(shù)采用可靠的,有效的信道編碼方法來(lái)實(shí)現(xiàn)的。 糾錯(cuò)碼是一種差錯(cuò)控制技術(shù),目前已廣泛應(yīng)用于各種通信系統(tǒng)和計(jì)算機(jī)系統(tǒng)中,糾錯(cuò)編碼主要用于數(shù)字系統(tǒng)的差錯(cuò)控制,對(duì)于保證通信、存儲(chǔ)、媒體播放和信息轉(zhuǎn)移等數(shù)字傳遞過(guò)程的質(zhì)量有著重要意義,是通信、信息類科知識(shí)結(jié)構(gòu)中不可缺少的一部分。 

3、;</p><p>  關(guān)鍵字:仿真、MATLAB、漢明碼</p><p><b>  一、前言</b></p><p>  MATLAB通信系統(tǒng)功能函數(shù)庫(kù)由七十多個(gè)函數(shù)組成,每個(gè)函數(shù)有多種選擇參數(shù)、函數(shù)功能覆蓋了現(xiàn)代通信系統(tǒng)的各個(gè)方面。信道編碼是人為地按照一定的規(guī)則加入人工剩余,從而使信息傳輸中的差錯(cuò)率降低,甚至達(dá)到無(wú)錯(cuò)傳輸?shù)囊环N提高信息系統(tǒng)

4、可靠性的編碼方法,是現(xiàn)代通信系統(tǒng)廣泛采用的一種差錯(cuò)控制措施。以糾錯(cuò)控制編解碼函數(shù)為例:函數(shù)庫(kù)提供了線性分組碼、漢明碼、循環(huán)碼、BCH碼、里德一索洛蒙碼(REED—SOLOMON)、卷積碼等6種糾錯(cuò)控制編碼,每種編碼又有編碼、解碼、矢量輸入輸出、序列輸入輸出等四種形式的函數(shù)表達(dá)。在信道編碼中,有一類所謂漢明碼,在理論上已十分成熟,并且在通信實(shí)踐中已被廣泛使用。本文簡(jiǎn)述了漢明碼的編碼方法、譯碼方法做一簡(jiǎn)述,并給出相應(yīng)的Matlab 計(jì)算程序

5、。</p><p><b>  二、設(shè)計(jì)主體</b></p><p>  2.1漢明碼編碼原理</p><p>  一般來(lái)說(shuō),若漢明碼長(zhǎng)為n,信息位數(shù)為k,則監(jiān)督位數(shù)r=n-k。若希望用r個(gè)監(jiān)督位構(gòu)造出r個(gè)監(jiān)督關(guān)系式來(lái)指示一位錯(cuò)碼的n種可能位置,則要求</p><p><b>  或 </b>

6、;</p><p>  下面以(7,4)漢明碼為例說(shuō)明原理: </p><p>  設(shè)漢明碼(n,k)中k=4,為了糾正一位錯(cuò)碼,由式(1)可知,要求監(jiān)督位數(shù)r≥3。若取r=3,則n=k+r=7。我們用來(lái)表示這7個(gè)碼元,用的值表示3個(gè)監(jiān)督關(guān)系式中的校正子,則的值與錯(cuò)誤碼元位置的對(duì)應(yīng)關(guān)系可以規(guī)定如表1所列。</p><p>  表1 校正子和錯(cuò)碼位置的關(guān)系</p

7、><p>  則由表1可得監(jiān)督關(guān)系式:</p><p><b>  (2)</b></p><p><b>  (3) </b></p><p>  ⊕ (4)</p><p>  在發(fā)送端編碼時(shí),信息位的值決定于輸入信號(hào),因此它們是隨機(jī)的。監(jiān)督位、、應(yīng)根據(jù)信息位的取

8、值按監(jiān)督關(guān)系來(lái)確定,即監(jiān)督位應(yīng)使式(2)~式(4)中、、的值為0(表示編成的碼組中應(yīng)無(wú)錯(cuò)碼) </p><p><b>  (5)</b></p><p>  式(5)經(jīng)過(guò)移項(xiàng)運(yùn)算,接觸監(jiān)督位</p><p><b>  (6)</b></p><p>  式(5)其等價(jià)形式為:</p>

9、<p><b>  (7)</b></p><p>  式(6)還可以簡(jiǎn)記為</p><p><b>  或</b></p><p><b>  其中 </b></p><p><b>  所以有</b></p>&l

10、t;p><b>  式(6)等價(jià)于</b></p><p><b>  (10)</b></p><p>  其中Q為P的轉(zhuǎn)置,即</p><p>  式(10)表示,信息位給定后,用信息位的行矩陣乘矩陣Q就產(chǎn)生出監(jiān)督位。</p><p>  我們將Q的左邊加上一個(gè)k×k階單位方陣,

11、就構(gòu)成一個(gè)矩陣G</p><p><b>  (12)</b></p><p>  G稱為生成矩陣,因?yàn)橛伤梢援a(chǎn)生整個(gè)碼組,即有</p><p><b>  (13)</b></p><p>  或者 (14)</p><p>  式(13)即漢明碼

12、的編碼原理</p><p>  2.2漢明碼糾錯(cuò)原理</p><p>  當(dāng)數(shù)字信號(hào)編碼成漢明碼形式(本文中即A)后在信道中傳輸,由于信道中噪聲的干擾,可能由于干擾引入差錯(cuò),使得接收端收到錯(cuò)碼,因此在接收端進(jìn)行漢明碼糾錯(cuò),以提高通信系統(tǒng)的抗干擾能力及可靠性。</p><p>  一般來(lái)說(shuō)接收碼組與A不一定相同。若設(shè)接收碼組為一n列的行矩陣B,即 </p>

13、<p><b>  (15)</b></p><p>  則發(fā)送碼組和接收碼組之差為</p><p>  (16) </p><p>  E就是傳輸中產(chǎn)生的錯(cuò)碼行矩陣</p><p><b>  (17)</b></p>

14、;<p>  若ei=0,表示接收碼元無(wú)錯(cuò)誤,若ei=1,則表示該接收碼元有錯(cuò)。式(16)可改寫成 </p><p><b>  (18)</b></p><p>  若E=0,即接收碼組無(wú)錯(cuò),則,將它代人式(8),該是仍成立,即有</p><p><b>  (19)</b></p>&

15、lt;p>  當(dāng)接收碼組有錯(cuò)時(shí),E≠0,將B帶入式(8)后,該式不一定成立。在未超過(guò)檢錯(cuò)能力時(shí),式(19)不成立。假設(shè)此時(shí)式(19)的右端為S,即</p><p><b>  (20)</b></p><p>  將 代入式(20),可得</p><p>  由式(8)可知,所以</p><p><b>

16、  (21)</b></p><p>  此處S與前面的有著一一對(duì)應(yīng)關(guān)系,則S能代表錯(cuò)碼位置。</p><p>  因此,糾錯(cuò)原理即,接收端收到碼組后按式(20)計(jì)算出S,再根據(jù)表1判斷錯(cuò)碼情況,進(jìn)行差錯(cuò)糾正。</p><p>  三、漢明碼編碼的設(shè)計(jì)</p><p>  3.1 漢明碼編碼方法</p><p&

17、gt;  (7,4)漢明碼的編碼就是將輸入的4 位信息碼M=[ ]加上3 位監(jiān)督碼從而編成7位漢明碼[],編碼輸出B=[ ].</p><p>  由式A = M·G=[]·G 可知,信息碼M與生成矩陣G 的乘積就是編好以后的(7,4)漢明碼。</p><p><b>  3、2編碼流程圖</b></p><p>  編碼程

18、序的設(shè)計(jì)流程圖</p><p>  3.3 漢明碼編碼程序設(shè)計(jì)</p><p>  根據(jù)(7,4)漢明碼的編碼原理,將上式計(jì)算所得的監(jiān)督位和輸入的信息位一起輸出,則此次編碼就算完成了。 (7,4)漢明碼的編碼源程序見(jiàn)下文附錄。</p><p>  四、漢明碼的譯碼器的設(shè)計(jì)</p><p>  4、1 漢明碼譯碼方法</p>&l

19、t;p>  (7,4)漢明碼的譯碼器的功能就是把輸入的7 位漢明碼B=[] 譯為4位信息碼,并且根據(jù)伴隨矩陣S 從而糾正編碼中可能出現(xiàn)的1 位錯(cuò)碼。</p><p>  根據(jù)監(jiān)督矩陣H和生成矩陣G的關(guān)系,即:</p><p>  H = [ ] ,其中是的單位陣,</p><p>  G = [ ] ,其中 是的單位陣,</p><p>

20、;<b> ?。ㄊ?.1.1)</b></p><p><b>  生成矩陣??</b></p><p>  ? G== 由式(4.1.1),得P=</p><p><b>  監(jiān)督矩陣</b></p><p>  ???????

21、 (式4.1.2)</p><p><b>  ?</b></p><p>  由式(2.2.2)知,其中E=[]從而即可得到校正子S與(7,4)漢明碼各位之間的關(guān)系:</p><p>  算出校正子S()后,對(duì)照表2,即可判斷出哪位出錯(cuò),并糾正出錯(cuò)的那位,從而輸出正確的碼字。</p><p>  表3 (7,

22、4)漢明碼譯碼輸入、輸出對(duì)應(yīng)關(guān)系</p><p><b>  4.2譯碼流程圖</b></p><p>  譯碼程序設(shè)計(jì)的流程圖:</p><p>  4.3漢明碼譯碼程序的設(shè)計(jì)</p><p>  第1 位(a0)出錯(cuò),則C 輸出0;若第2 位出錯(cuò),則C 輸出1;??;若無(wú)錯(cuò),則C 輸出0。這樣譯碼程序就可以編出來(lái)了。

23、譯碼源程序見(jiàn)附錄。</p><p>  五、漢明碼編譯碼程序及仿真波形</p><p>  5.1漢明碼編碼源程序及仿真圖</p><p>  function f=hammingencod(a) </p><p>  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];

24、 </p><p>  a=input('輸入信息元序列:'); </p><p>  c=mod(a*G,2); </p><p>  disp('編碼后序列為:'); </p>&

25、lt;p><b>  disp(c);</b></p><p>  x=.01:.01:4;</p><p>  [m,n]=size([a]'*ones(1,100));</p><p>  y=reshape(([a]'*ones(1,100))',1,m*n);</p><p><

26、;b>  plot(x,y)</b></p><p>  axis([0 4 0 1.5]);</p><p>  set(gca,'XTick',0:1:4);</p><p>  set(gca,'YTick',0:0.5:1.5);</p><p>  title('hanmin

27、gencode')</p><p>  xlabel('value')</p><p>  ylabel('value')</p><p><b>  end</b></p><p>  5.2漢明碼譯碼源程序及仿真圖</p><p>  function

28、g=hammingdecod(B) </p><p>  H=[1 1 1 0 1 0 0 ;1 1 0 1 0 1 0;1 0 1 1 0 0 1]; </p><p>  B=input('輸入接收序列B='); </p><p>  S=mod(B*H',2); %計(jì)算B的伴隨式</p><

29、p><b>  if S==0 </b></p><p>  disp('接收到的碼字無(wú)錯(cuò)誤。'); </p><p>  E=dec2bin(0,7); </p><p><b>  end </b></p><p>  for i=1:1:7</p><

30、p>  if S==H(:,i)' </p><p>  E=dec2bin(2^(7-i),7); %計(jì)算R的錯(cuò)誤圖樣</p><p>  fprintf('錯(cuò)誤出現(xiàn)在第%1.0f位\n',i); </p><p><b>  break; </b></p><p><b>

31、;  end </b></p><p><b>  end </b></p><p>  a=mod(B-E,2); %計(jì)算原發(fā)送碼序列</p><p>  disp('原發(fā)送碼字為:'); </p><p><b>  disp(a) </b><

32、;/p><p>  x=.01:.01:7;</p><p>  [m,n]=size([a]'*ones(1,100));</p><p>  y=reshape(([a]'*ones(1,100))',1,m*n);</p><p>  [m,n]=size([B]'*ones(1,100));</p&g

33、t;<p>  z=reshape(([B]'*ones(1,100))',1,m*n);</p><p><b>  plot(x,y)</b></p><p><b>  hold on;</b></p><p>  plot(x,z,'--r')</p>&

34、lt;p>  axis([0 7 0 1.5]);</p><p>  set(gca,'XTick',0:1:7);</p><p>  set(gca,'YTick',0:0.5:2.5);</p><p>  set(gca,'ZTick',0:0.5:2.5);</p><p> 

35、 title('hanmingdecode')</p><p>  xlabel('value')</p><p>  ylabel('value')</p><p>  zlabel('value')</p><p><b>  end</b></p

36、><p>  輸入接收序列B=[1 0 1 0 0 1 0]</p><p>  接收到的碼字無(wú)錯(cuò)誤。</p><p><b>  原發(fā)送碼字為:</b></p><p>  1 0 1 0 0 1 0</p><p>  輸入接收序列B=[1 0 1

37、0 1 1 0]</p><p><b>  錯(cuò)誤出現(xiàn)在第5位</b></p><p><b>  原發(fā)送碼字為:</b></p><p>  1 0 1 0 0 1 0</p><p><b>  六、總結(jié)</b></p&

38、gt;<p>  本文探討了漢明碼的編譯碼過(guò)程,并給出了相應(yīng)的 Matlab 程序,仿真結(jié)果表明結(jié)果正確。這次通信原理課程設(shè)計(jì)我做的是(7,4)漢明碼的編譯碼的設(shè)計(jì),剛接到這個(gè)題目時(shí),感覺(jué)有點(diǎn)迷茫和彷徨,不知道從何入手。通過(guò)查閱以前的書籍資料,對(duì)相關(guān)知識(shí)進(jìn)行溫習(xí),通過(guò)反復(fù)溫習(xí),終于領(lǐng)會(huì)了(7,4)漢明碼的編解碼的原理、方法,頓時(shí)覺(jué)得豁然開(kāi)朗,腦海里也有了大致的實(shí)施方案。這其中我深刻地體會(huì)到專業(yè)英語(yǔ)的重要性??上攵喾e累

39、點(diǎn)英語(yǔ)對(duì)今后的工作、學(xué)習(xí)將有極大的幫助。通過(guò)本次學(xué)習(xí),我再一次體會(huì)到MATLAB的強(qiáng)大。豐富的庫(kù)函數(shù)、強(qiáng)大的數(shù)據(jù)處理能力,出色的繪圖功能,友好的工作平臺(tái),簡(jiǎn)單一用的操作語(yǔ)言等等,這些優(yōu)點(diǎn)都促使MATLAB成為數(shù)學(xué)處理軟件發(fā)展史上的巔峰之作。這激發(fā)了我之后學(xué)習(xí)MATLAB的決心。知識(shí)的構(gòu)架是千枝交錯(cuò)的。學(xué)到大學(xué),知識(shí)之間相互滲透的現(xiàn)象可謂比比皆是,這啟發(fā)我們不僅要發(fā)散思維的領(lǐng)域,也要拓寬知識(shí)的領(lǐng)域。對(duì)與本專業(yè)相關(guān)的領(lǐng)域多加了解百利而無(wú)一害

40、。</p><p><b>  七、參考文獻(xiàn)</b></p><p>  趙靜 基于MATLAB的通信系統(tǒng)仿真 北京:北京航空航天大學(xué)出版社,2008年. </p><p>  樊昌信 通信原理.北京:國(guó)防工業(yè)出版社,2002</p><p>  劉敏 MATLAB通信仿真與應(yīng)用 國(guó)防工業(yè)出版

41、社</p><p>  曹志剛等著 現(xiàn)代通信原理 北京:清華大學(xué)出版社,2001 5</p><p>  吳偉陵等著 移動(dòng)通信原理 北京:電子工業(yè)出版社,2005</p><p>  李建新 現(xiàn)代通信系統(tǒng)分析與仿真—MATLAB通信工具箱.西安:西安電子科技大學(xué)出版社,2000</p><p>  韓利竹,王華 MATLAB電子

42、仿真與應(yīng)用 北京:國(guó)防工業(yè)出版社,2003年.</p><p>  葛哲學(xué) 精通MATLAB 北京:電子工業(yè)出版社,2008年.</p><p><b>  附錄</b></p><p>  一、(7,4)漢明碼編碼源程序</p><p>  function f=hammingencod(a) </p&

43、gt;<p>  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]; </p><p>  a=input('輸入信息元序列:'); </p><p>  c=mod(a*G,2);

44、 </p><p>  disp('編碼后序列為:'); </p><p><b>  disp(c);</b></p><p>  x=.01:.01:4;</p><p>  [m,n]=size([a]'*ones(1,100));</p>&l

45、t;p>  y=reshape(([a]'*ones(1,100))',1,m*n);</p><p><b>  plot(x,y)</b></p><p>  axis([0 4 0 1.5]);</p><p>  set(gca,'XTick',0:1:4);</p><p>

46、;  set(gca,'YTick',0:0.5:1.5);</p><p>  title('hanmingencode')</p><p>  xlabel('value')</p><p>  ylabel('value')</p><p><b>  end&l

47、t;/b></p><p>  二、(7,4)漢明碼譯碼源程序</p><p>  function g=hammingdecod(B) </p><p>  H=[1 1 1 0 1 0 0 ;1 1 0 1 0 1 0;1 0 1 1 0 0 1]; </p><p>  B=input('輸入接收序列B='); &

48、lt;/p><p>  S=mod(B*H',2); %計(jì)算B的伴隨式</p><p><b>  if S==0 </b></p><p>  disp('接收到的碼字無(wú)錯(cuò)誤。'); </p><p>  E=dec2bin(0,7); </p><p&

49、gt;<b>  end </b></p><p>  for i=1:1:7</p><p>  if S==H(:,i)' </p><p>  E=dec2bin(2^(7-i),7); %計(jì)算R的錯(cuò)誤圖樣</p><p>  fprintf('錯(cuò)誤出現(xiàn)在第%1.0f位\n',i);

50、</p><p><b>  break; </b></p><p><b>  end </b></p><p><b>  end </b></p><p>  a=mod(B-E,2); %計(jì)算原發(fā)送碼序列</p><p>  

51、disp('原發(fā)送碼字為:'); </p><p><b>  disp(a) </b></p><p>  x=.01:.01:7;</p><p>  [m,n]=size([a]'*ones(1,100));</p><p>  y=reshape(([a]'*ones(1,100)

52、)',1,m*n);</p><p>  [m,n]=size([B]'*ones(1,100));</p><p>  z=reshape(([B]'*ones(1,100))',1,m*n);</p><p><b>  plot(x,y)</b></p><p><b> 

53、 hold on;</b></p><p>  plot(x,z,'--r')</p><p>  axis([0 7 0 1.5]);</p><p>  set(gca,'XTick',0:1:7);</p><p>  set(gca,'YTick',0:0.5:2.5);&l

54、t;/p><p>  set(gca,'ZTick',0:0.5:2.5);</p><p>  title('hanmingdecode')</p><p>  xlabel('value')</p><p>  ylabel('value')</p><p&g

溫馨提示

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

評(píng)論

0/150

提交評(píng)論