資源描述:
《基于matlab的(7,4)漢明碼的編譯仿真》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、摘要在通信系統(tǒng)中,要提高信息傳輸?shù)挠行裕覀儗⑿旁吹妮敵鼋?jīng)過信源編碼用較少的符號來表達(dá)信源消息,這些符號的冗余度很小,效率很高,但對噪聲干擾的抵抗能力很弱。漢明碼(HammingCode)是一種能夠自動檢測并糾正一位錯碼的線性糾錯碼,即SEC(SingleErrorCorrecting)碼,用于信道編碼與譯碼中,提高通信系統(tǒng)抗干擾的能力。為了提高信息傳輸?shù)臏?zhǔn)確性,我們引進(jìn)了差錯控制技術(shù)。而該技術(shù)采用可靠的,有效的信道編碼方法來實(shí)現(xiàn)的。糾錯碼是一種差錯控制技術(shù),目前已廣泛應(yīng)用于各種通信系統(tǒng)和計算機(jī)系統(tǒng)中,糾錯編碼主要用于數(shù)字系統(tǒng)的差錯控制,對于保證通信、存儲、媒體
2、播放和信息轉(zhuǎn)移等數(shù)字傳遞過程的質(zhì)量有著重要意義,是通信、信息類科知識結(jié)構(gòu)中不可缺少的一部分。?關(guān)鍵字:通信系統(tǒng)、MATLAB線性分組碼、Hamming碼一、引言1二、設(shè)計原理22.1漢明碼的構(gòu)造原理22.2監(jiān)督矩陣H32.3生成矩陣G42.4校正子(伴隨式)S5三、(7,4)漢明碼編碼的設(shè)計73.1(7,4)漢明碼編碼方法73.2編碼流程圖73.3(7,4)漢明碼編碼程序設(shè)計7四、(7,4)漢明碼的譯碼器的設(shè)計84.1(7,4)漢明碼譯碼方法84.2譯碼流程圖104.3(7,4)漢明碼譯碼程序的設(shè)計10五、(7,4)漢明碼編譯碼程序的編譯及仿真波形11六、總結(jié)?1
3、3七、參考文獻(xiàn)14附錄15一、引言當(dāng)計算機(jī)存儲或移動數(shù)據(jù)時,可能會產(chǎn)生數(shù)據(jù)位錯誤,這時可以利用漢明碼來檢測并糾錯,簡單的說,漢明碼是一個錯誤校驗(yàn)碼碼集,由Bell實(shí)驗(yàn)室的R.W.Hamming發(fā)明,因此定名為漢明碼。與其他的錯誤校驗(yàn)碼類似,漢明碼也利用了奇偶校驗(yàn)位的概念,通過在數(shù)據(jù)位后面增加一些比特,可以驗(yàn)證數(shù)據(jù)的有效性。利用一個以上的校驗(yàn)位,漢明碼不僅可以驗(yàn)證數(shù)據(jù)是否有效,還能在數(shù)據(jù)出錯的情況下指明錯誤位置。在接受端通過糾錯譯碼自動糾正傳輸中的差錯來實(shí)現(xiàn)碼糾錯功能,稱為前向糾錯FEC。在數(shù)據(jù)鏈路中存在大量噪音時,F(xiàn)EC可以增加數(shù)據(jù)吞吐量。通過在傳輸碼列中加入冗余
4、位(也稱糾錯位)可以實(shí)現(xiàn)前向糾錯。但這種方法比簡單重傳協(xié)議的成本要高。漢明碼利用奇偶塊機(jī)制降低了前向糾錯的成本。151二、設(shè)計原理2.1漢明碼的構(gòu)造原理線性分組碼是一類重要的糾錯碼,應(yīng)用很廣泛。在(n,k)分組碼中,若監(jiān)督碼元是按線性關(guān)系模2相加而得到的,則稱其為線性分組碼。一般來說,若漢明碼長為n,信息位數(shù)為k,則監(jiān)督位數(shù)r=n-k.若希望用r個監(jiān)督位構(gòu)造出r個監(jiān)督關(guān)系式來指示一位錯碼的n種可能位置,則要求或???íì??=??=??=346035614562aaaaaaaaaaaa現(xiàn)在以(7,4)分組碼為例來說明線性分組碼的特點(diǎn)。設(shè)其碼字為A=[,],前4位是
5、信息元,后3位是監(jiān)督元,可用下列線性方程組來描述該分組碼產(chǎn)生監(jiān)督元:顯然,這3個方程是線性無關(guān)的。代入上述公式可得(7,4)碼的全部碼組,如表1所示。表1(7,4)漢明碼的全部碼組信息位a6a5a4a3監(jiān)督位a2a1a0信息位a6a5a4a3監(jiān)督位a2a1a00000000100011100010111001100001010110100100011110101100101001101100001010110111010100110011111010001110001111111151由上表可知:(7,4)漢明碼的最小碼距=3,它能糾1位錯或檢2位錯。由此可見,漢
6、明碼是能夠糾正單個錯誤的線性分組碼,其特點(diǎn)是:最小碼距=3,碼長n與監(jiān)督位r滿足關(guān)系式:,說明上述所說的(7,4)線性分組碼就是漢明碼。同時,由于碼率,故當(dāng)很大和很小時,碼率接近1,可見,漢明碼是一種高效碼。2.2監(jiān)督矩陣H式(3.1)所示的(7,4)漢明碼的監(jiān)督方程可以改寫為:(式2.2.1)用矩陣的形式可以將上式表示為:(摸2)(式2.2.2)上式可以簡記為:或式中A=[a6a5a4a3a2a1a0]0=[000]右上標(biāo)“T”表示將矩陣轉(zhuǎn)置。例如,HT是H的轉(zhuǎn)置,即HT的第一行為H的第一列,HT的第二行為H的第二列等等。151其中,H成為監(jiān)督矩陣,只要監(jiān)督矩陣
7、H給定,編碼時信息位和監(jiān)督位的關(guān)系也就隨即確定下來了。2.3生成矩陣G上面漢明碼例子中的監(jiān)督位公式為(式2.3.1)也可改寫成矩陣形式:(式2.3.2)或者寫成(式2.3.3)式中,Q為一個k*r階矩陣,它為P的轉(zhuǎn)置,即Q=PT上式表示,在信息位給定后,用信息位的行矩陣車乘矩陣Q就產(chǎn)生出監(jiān)督位。若將(2.2.1式)的監(jiān)督方程補(bǔ)充完整并寫成矩陣的形式:151(式2.3.4)即:A=G·[]=G·M即漢明碼的編碼原理上式中G=(式2.3.5)G為生成矩陣,根據(jù)式2.3.4知:由G和信息碼就能產(chǎn)生所有碼字。生成矩陣也可分為兩部分,即G=(式2.3.6)上式中Q=(式2.
8、3.7)Q