漢明碼編譯碼程序說明.doc

漢明碼編譯碼程序說明.doc

ID:55760986

大?。?14.50 KB

頁數(shù):12頁

時間:2020-06-06

漢明碼編譯碼程序說明.doc_第1頁
漢明碼編譯碼程序說明.doc_第2頁
漢明碼編譯碼程序說明.doc_第3頁
漢明碼編譯碼程序說明.doc_第4頁
漢明碼編譯碼程序說明.doc_第5頁
資源描述:

《漢明碼編譯碼程序說明.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、(7,4)漢明碼編譯碼原理程序說明書1、線性分組碼假設(shè)信源輸出為一系列二進(jìn)制數(shù)字0和1.在分組碼中,這些二進(jìn)制信息序列分成固定長度的消息分組(messageblocks)。每個消息分組記為u,由k個信息位組成。因此共有種不同的消息。編碼器按照一定的規(guī)則將輸入的消息u轉(zhuǎn)換為二進(jìn)制n維向量v,這里n>k。此n維向量v就叫做消息u的碼字(codeword)或碼向量(codevector)。因此,對應(yīng)于種不同的消息,也有種碼字。這個碼字的集合就叫一個分組碼(blockcode)。一個長度為n,有個碼字的分組碼,當(dāng)且僅當(dāng)其個碼字構(gòu)成域GF(2)上所有n維向量空間的一個k維子空間時被稱為線性

2、(linear)(n,k)碼。對于線性分組碼,希望它具有相應(yīng)的系統(tǒng)結(jié)構(gòu)(systematicstructure),其碼字可分為消息部分和冗余校驗部分兩個部分。消息部分由k個未經(jīng)改變的原始信息位構(gòu)成,冗余校驗部分則是n-k個奇偶校驗位(parity-check)位,這些位是信息位的線性和(linearsums)。具有這樣的結(jié)構(gòu)的線性分組碼被稱為線性系統(tǒng)分組碼(linearsystematicblockcode)。本實驗以(7,4)漢明碼的編譯碼來具體說明線性系統(tǒng)分組碼的特性。其主要參數(shù)如下:碼長:信息位:校驗位:,且最小距離:由于一個(n,k)的線性碼C是所有二進(jìn)制n維向量組成的向

3、量空間的一個k維子空間,則可以找到k個線性獨(dú)立的碼字,,使得C中的每個碼字v都是這k個碼字的一種線性組合。(7,4)漢明碼的生成矩陣如下,前三位為冗余校驗部分,后四位為消息部分。如果是待編碼的消息序列,則相應(yīng)的碼字可如下給出:編碼結(jié)構(gòu)即碼字,對于(7,4)線性分組碼漢明碼而言,為所提供的消息序列,而,,。由以上關(guān)系可以得到(7,4)漢明碼的全部碼字如下所示:k=4,n=7的線性分組碼消息碼字消息碼字(0000)()(0001)()(1000)()(1001)()(0100)()(0101)()(1100)()(1101)()(0010)()(0011)()(1010)()(101

4、1)()(0110)()(0111)()(1110)()(1111)()2、用C++編寫(7,4)漢明碼編譯碼程序的思路如下:(1)編碼程序循環(huán)輸入待編碼消息序列,首先判斷輸入是否符合輸入條件:輸入必須是4位0,1序列,共有種情況。編碼程序如下:(本人水平有限,使用直接賦值的方法,望見笑)for(j=0;j<7;j++){if(j==3)v[j]=u[0];if(j==4)v[j]=u[1];if(j==5)v[j]=u[2];if(j==6)v[j]=u[3];if(j==0)v[j]=((u[0]^u[2])^u[3]);//異或運(yùn)算if(j==1)v[j]=((u[0]^u

5、[1])^u[2]);//異或運(yùn)算if(j==2)v[j]=((u[1]^u[2])^u[3]);//異或運(yùn)算cout<

6、r(j=0;j<3;j++){a=(v[0]*ht[0][j])^(v[1]*ht[1][j])^(v[2]*ht[2][j])^(v[3]*ht[3][j])^(v[4]*ht[4][j])^(v[5]*ht[5][j])^(v[6]*ht[6][j]);result=result+a;}if(result!=0){cout<<"輸入的是無效的字碼"<

7、格如下:k=4,n=7的線性分組碼消息碼字消息碼字(0000)()(0001)()(1000)()(1001)()(0100)()(0101)()(1100)()(1101)()(0010)()(0011)()(1010)()(1011)()(0110)()(0111)()(1110)()(1111)()第二個方法編碼方法便是:系統(tǒng)碼直接取信息位譯碼程序如下:for(j=0;j<4;j++){if(j==0)u[j]=v[3];if(j==1)u[j]=v[4];if(j==2)

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。