信息論與編碼課程大作業(yè)信道容量的迭代算法_第1頁
信息論與編碼課程大作業(yè)信道容量的迭代算法_第2頁
信息論與編碼課程大作業(yè)信道容量的迭代算法_第3頁
信息論與編碼課程大作業(yè)信道容量的迭代算法_第4頁
信息論與編碼課程大作業(yè)信道容量的迭代算法_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、信息論與編碼課程大作業(yè) 題 目: 信道容量的迭代算法 學生姓名: 學 號: 2010020200 專業(yè)班級: 10電子信息工程 2013 年 5 月 18 日信道容量的迭代算法1信道容量的迭代算法的步驟一、用了matlab實現(xiàn)DMC容量迭代的算法如下:第一步:首先要初始化信源分布:即選取一個精度,本次中我選deta=0.000001。第二步:。第三步:。 第四步:第五步:若,則執(zhí)行k=k+1,然后轉(zhuǎn)第二步。直至轉(zhuǎn)移條件不成立,接著執(zhí)行下面的程序。第六步:輸出迭代次數(shù)k和和,程序終止。2. Matlab實現(xiàn)clear;r=input('輸入信源個數(shù):');s=input('

2、;輸入信宿個數(shù):');deta=input('輸入信道容量的精度: ');Q=rand(r,s); %形成r行s列隨機矩陣QA=sum(Q,2); %把Q矩陣每一行相加和作為一個列矩陣AB=repmat(A,1,s); %把矩陣A的那一列復(fù)制為S列的新矩陣 %判斷信道轉(zhuǎn)移概率矩陣輸入是否正確P=input('輸入信道轉(zhuǎn)移矩陣P:')%從這句話開始將用下面兩句代替可自動生成信道轉(zhuǎn)移矩陣 r,s=size(P); for i=1:r if(sum(P(i,:)=1) %檢測概率轉(zhuǎn)移矩陣是否行和為1. error('概率轉(zhuǎn)移矩陣輸入有誤!')

3、return; end for j=1:s if(P(i,j)<0|P(i,j)>1) %檢測概率轉(zhuǎn)移矩陣是否負值或大于1 error('概率轉(zhuǎn)移矩陣輸入有誤!') return; end endend%將上面的用下面兩句代替可自動生成信道轉(zhuǎn)移矩陣%disp('信道轉(zhuǎn)移概率矩陣:')%P=Q./B 信道轉(zhuǎn)移概率矩陣(每一個原矩陣的新數(shù)除以所在行的數(shù)總和) i=1:1:r; %設(shè)置循環(huán)首項為1,公差為1,末項為r(Q的行數(shù))的循環(huán)p(i)=1/r; %原始信源分布r個信源,等概率分布disp('原始信源分布:')p(i)E=repmat

4、(p',1,s);%把r個等概率元素組成一列,復(fù)制為s列for k=1:1:1/deta m=E.*P; % m=p.*E; %后驗概率的分子部分 a=sum(m); %把得到的矩陣m每列相加之和構(gòu)成一行 su1=repmat(a,r,1);%把得到的行矩陣a復(fù)制r行,成一新矩陣sul,后驗概率的分母部分 t=m./su1; %后驗概率矩陣 n=exp(sum(P.*log(t),2); %信源分布的分子部分 su2=sum(n); %信源分布的分母部分 p=n/su2; %信源分布 E=repmat(p,1,s); C(k+1)=log(sum(exp(sum(P.*log(t),2

5、)/log(2); kk=abs(C(k+1)-C(k)/C(k+1); if(kk<=deta) break; end disp('迭代次數(shù):k='),disp(k) enddisp('最大信道容量時的信源分布:p='),disp(p')disp('最大信道容量:C='),disp(C(k+1)3. 運行結(jié)果及分析(宋體四號,加粗)結(jié)果分析:這兩組數(shù)據(jù)都是我隨機選的,都是選的信源個數(shù)為2,信宿的個數(shù)為3,選用的精度為0.000001。然后輸入信道轉(zhuǎn)移矩陣P,執(zhí)行,將得到的結(jié)果代入,得到后,再進行的判斷,這個條件滿足時繼續(xù)求,再依次

6、往下計算,直至這個條件不滿足,然后輸出k和和??偟膩碚f這不過是將矩陣不斷的代入公式,當最后的精度不大于0.000001.輸出k和和。第二組數(shù)據(jù): 4.心得體會  在此次matlab編程實現(xiàn)信道容量的迭代算法的過程中,開始我覺得這十分的困難,經(jīng)過網(wǎng)上查閱資料和請教同學,最后才對本次設(shè)計有了一定的理解,詳細理解了信道容量的迭代算法過程。經(jīng)過理解,發(fā)現(xiàn)這種編碼其實挺簡單的,最重要的是怎樣用程序把它實現(xiàn),這對我們的編程能力也是一次考驗。編程時邏輯要十分的嚴謹,嚴格的遵守編程的規(guī)則,一點的錯誤都會造成整個程序的無法運行。調(diào)試過程會發(fā)現(xiàn)很多問題,這時不能煩躁,要耐心的去發(fā)現(xiàn)問題,不斷掌握matlab軟件的各種調(diào)試方法。通過這次設(shè)計我深刻體會到細節(jié)決定成敗,同時也發(fā)覺自己知識學的太淺薄,沒有從本質(zhì)上把握住要點,運用知識不靈活。讓我認識到在今后學習當中,要注意去深度思考,把所學知識有機聯(lián)系起來,

溫馨提示

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

評論

0/150

提交評論