信息倫實(shí)驗(yàn)MATLAB實(shí)現(xiàn)漢明碼編譯碼及誤碼率分析_第1頁(yè)
信息倫實(shí)驗(yàn)MATLAB實(shí)現(xiàn)漢明碼編譯碼及誤碼率分析_第2頁(yè)
信息倫實(shí)驗(yàn)MATLAB實(shí)現(xiàn)漢明碼編譯碼及誤碼率分析_第3頁(yè)
信息倫實(shí)驗(yàn)MATLAB實(shí)現(xiàn)漢明碼編譯碼及誤碼率分析_第4頁(yè)
信息倫實(shí)驗(yàn)MATLAB實(shí)現(xiàn)漢明碼編譯碼及誤碼率分析_第5頁(yè)
已閱讀5頁(yè),還剩5頁(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)介

信息論與編碼基礎(chǔ)課程實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:Hamming碼編譯碼實(shí)驗(yàn)學(xué)員姓名:學(xué)號(hào):組別:專業(yè):指導(dǎo)教師:班級(jí):完成時(shí)間:2020年3月17日成績(jī):

Hamming碼編譯碼實(shí)驗(yàn)實(shí)驗(yàn)?zāi)康暮鸵笫煜amming碼的設(shè)計(jì)原理,編程實(shí)現(xiàn)(15,11)Hamming碼的編碼和譯碼算法,驗(yàn)證Hamming碼的檢錯(cuò)能力和糾錯(cuò)能力。實(shí)驗(yàn)內(nèi)容和原理內(nèi)容:產(chǎn)生二進(jìn)制(15,11)Hamming碼的生成矩陣,利用生成矩陣完成編碼,利用BSC模擬信道傳輸,產(chǎn)生二進(jìn)制(15,11)Hamming碼的校驗(yàn)矩陣,利用校驗(yàn)矩陣完成譯碼。要求:改變信道轉(zhuǎn)移概率,繪制誤碼率和BSC信道轉(zhuǎn)移概率的關(guān)系圖。禁用encode和decode等MATLAB內(nèi)置函數(shù),可參考bsc函數(shù)。原理:Hamming碼是一種奇偶校驗(yàn)系統(tǒng),它將信息用邏輯形式編碼,只要增加少數(shù)幾個(gè)校驗(yàn)位,就能檢測(cè)出一位出錯(cuò)并自動(dòng)改正,即實(shí)現(xiàn)自動(dòng)糾錯(cuò)。它的實(shí)現(xiàn)原理,是在k個(gè)數(shù)據(jù)位之外加上r個(gè)校驗(yàn)位,從而形成一個(gè)k+r位的新碼字,使新碼字的碼距比較均勻地拉大。把數(shù)據(jù)的每一個(gè)二進(jìn)制位分配在幾個(gè)不同的奇偶校驗(yàn)位的組合中,當(dāng)某一位出錯(cuò)后,就會(huì)引起相關(guān)的幾個(gè)校驗(yàn)位的值發(fā)生變化,這不但可以發(fā)現(xiàn)出錯(cuò),還能指出是哪一位出錯(cuò),為進(jìn)一步自動(dòng)糾錯(cuò)提供了依據(jù)??刹捎镁€性分組碼的通用編碼方法實(shí)現(xiàn)Hamming碼的編碼步驟,再采用伴隨式譯碼表方法完成Hamming碼的譯碼過(guò)程。操作方法和實(shí)驗(yàn)步驟完成(15,11)Hamming碼編譯碼的MonteCarlo仿真,繪制誤碼率和BSC信道轉(zhuǎn)移概率的關(guān)系圖,分析其與理論糾錯(cuò)能力之間的關(guān)系。漢明碼編碼漢明碼生成矩陣和一致校驗(yàn)矩陣直接使用內(nèi)置函數(shù)hammgen()獲得,生成信息元矩陣M,傳輸元矩陣C=M*G。模擬BSC信道模擬BSC信道傳輸,遍歷傳輸碼字矩陣C,使用rand生成均勻分布的隨機(jī)數(shù),若該數(shù)大于p則傳輸誤碼。由于二元信源特性,使用模2加1即可實(shí)現(xiàn)0/1的互換。經(jīng)過(guò)BSC后可得到接收碼字集合R,順便計(jì)算如果只傳輸信息元的誤碼率。漢明碼譯碼伴隨式譯碼,首先計(jì)算伴隨式,漢明碼的特性規(guī)律,陪集首與伴隨式譯碼表有關(guān)系,根據(jù)對(duì)應(yīng)關(guān)系得到錯(cuò)誤圖樣E,由進(jìn)行譯碼。同時(shí)可計(jì)算漢明碼誤碼率。輸出關(guān)系圖輸出信道轉(zhuǎn)移概率和誤碼率的關(guān)系圖。實(shí)驗(yàn)數(shù)據(jù)記錄和處理clearall;clc;r=4;%r=4,理論上對(duì)r取不同值可完成不同漢明碼實(shí)驗(yàn)[H,G,n,k]=hammgen(r);%使用內(nèi)置函數(shù)hammgen()生成漢明矩陣a=2^k;%為方便調(diào)用置a%%%%%%%%%%%%%%%漢明碼編碼部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%漢明碼編碼部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%漢明碼編碼部分%%%%%%%%%%%%%%%M=zeros(a,k);%信息組矩陣M,為a行k列fori=0:(a-1)m=dec2bin(i,k);%十進(jìn)制轉(zhuǎn)2進(jìn)制forj=1:k%將轉(zhuǎn)換成的二進(jìn)制數(shù)依次給矩陣ifm(j)=='0'M(i+1,j)=0;elseM(i+1,j)=1;endendendC=mod(M*G,2);%生成傳輸矩陣C=M*G%%%%%%%%%%%%%%%信道傳輸部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%信道傳輸部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%信道傳輸部分%%%%%%%%%%%%%%T=0;%T用來(lái)計(jì)數(shù),提供游標(biāo),最終記錄的是轉(zhuǎn)移概率p的次數(shù)forp=0.001:0.001:0.3T=T+1;R{T}=C;%R為傳輸矩陣a*n,由于p取值不同故放在不同單元中fori=1:a%遍歷每一行每一列的元素forj=1:nra=rand(1);%隨機(jī)生成一個(gè)0-1的數(shù),此處是模擬BSC信道ifra<=p%如果隨機(jī)生成的ra<=p,對(duì)該元素模2加1就實(shí)現(xiàn)了0/1互換R{T}(i,j)=mod(R{T}(i,j)+1,2);endendenderr{T}=mod(R{T}+C,2);%err為等維度的矩陣,記錄錯(cuò)誤信息碼所在位置為1ce=0;%ce為直接通過(guò)bsc的錯(cuò)誤碼元數(shù),每次置零fori=1:aifsum(err{T}(i,(n-k+1):n))>0ce=ce+1;%如果每行中出現(xiàn)1,則出現(xiàn)傳輸錯(cuò)誤endendPce(T)=ce/a;%Pce記錄不同轉(zhuǎn)移概率情況下誤碼率ErrL(T)=1-(1-p)^n-n*p*(1-p)^(n-1);%ErrL記錄漢明碼理論誤碼率PceL(T)=1-(1-p)^k;%PceL記錄理論誤碼率end%%%%%%%%%%%%%%%%%%%接收譯碼部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%接收譯碼部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%接收譯碼部分%%%%%%%%%%%%%forz=1:TA{z}=zeros(a,n);%置A為譯碼輸出矩陣,a行,n列S=mod(R{z}*H',2);%計(jì)算R的伴隨式矩陣fori=1:a%遍歷S的每一行ifS(i,:)==zeros(1,n-k)%如果S=0,則傳輸無(wú)錯(cuò),直接把R給A(按行)A{z}(i,:)=R{z}(i,:);elseforj=1:n%出錯(cuò)則遍歷,尋找伴隨式對(duì)應(yīng)錯(cuò)誤圖樣ifS(i,:)==H(:,j)'E=dec2bin(2^(n-j),n);%計(jì)算R的錯(cuò)誤圖樣(來(lái)自網(wǎng)絡(luò)經(jīng)驗(yàn))A{z}(i,:)=mod(R{z}(i,:)-E,2);%C=R-Ebreak;%如果找到直接跳出endendendendError{z}=mod(C+A{z},2);%Erroz記錄錯(cuò)誤位置,用C模二加A即可ae=0;%同信道部分,記錄錯(cuò)誤碼元個(gè)數(shù)fori=1:aifsum(Error{z}(i,(n-k+1):n))>0%如果出現(xiàn)一個(gè)以上1,則譯碼錯(cuò)誤ae=ae+1;endendErr(z)=ae/a;%檢查譯碼與傳輸矩陣誤差end%%%%%%%%%%%%%%%%%%%輸出部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%輸出部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%輸出部分%%%%%%%%%%%%%%%%p=0.001:0.001:0.3;figure(1);plot(p,Err,'r-',p,ErrL,'b-',p,Pce,'y-',p,PceL,'g-',p,(Pce-Err),'k-');legend('\it漢明碼實(shí)際誤碼率','\it漢明碼理論誤碼率','\it直接傳輸理論誤碼率','\it直接傳輸實(shí)際誤碼率','\it直接傳輸誤碼率與漢明碼誤碼率實(shí)際差值');gridon;title('BSC的轉(zhuǎn)移概率和漢明碼誤碼率關(guān)系曲線');xlabel('BSC轉(zhuǎn)移概率p');ylabel('誤碼率Pe');實(shí)驗(yàn)結(jié)果與分析結(jié)果分析:當(dāng)p較小時(shí)使用漢明碼傳輸顯著提升了誤碼率,當(dāng)pe接近于1/15,即15個(gè)碼中期望出現(xiàn)一位錯(cuò)誤時(shí),直接傳輸誤碼率與漢明碼誤碼率的差值最大,此后漢明碼誤碼率逐漸增大,當(dāng)pe接近于0.3時(shí)直接傳輸?shù)恼`碼率和漢明碼誤碼率都接近1。討論和心得思考:Hamming碼性能與哪些因素相關(guān)?答:漢明碼的性能與碼長(zhǎng),信道轉(zhuǎn)移概率有關(guān)。由于漢明碼是t=1的完備碼,固定可以糾正1個(gè)位錯(cuò)碼,碼長(zhǎng)為,信息元長(zhǎng)度為校驗(yàn)元r=n-k,易知隨r

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論