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