DMC信道容量迭代計算的matlab實現(xiàn)(共7頁)_第1頁
DMC信道容量迭代計算的matlab實現(xiàn)(共7頁)_第2頁
DMC信道容量迭代計算的matlab實現(xiàn)(共7頁)_第3頁
DMC信道容量迭代計算的matlab實現(xiàn)(共7頁)_第4頁
DMC信道容量迭代計算的matlab實現(xiàn)(共7頁)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上DMC信道容量迭代計算的matlab實現(xiàn)-通信與信息系統(tǒng)一、用了matlab實現(xiàn)DMC容量迭代的算法如下:1. 初始化信源分布:一般我選deta=0.。2. 。3.。 4.5.若,則k=k+1,轉(zhuǎn)第2步6.輸出迭代次數(shù)k和和,終止。二、了解了信道容量的定義和DMC信道容量迭代計算方法,我用了matlab來進(jìn)行編程進(jìn)行迭代計算得出信道容量。不足之處在于每迭代一次就輸出一次迭代次數(shù)直到最后一次迭代。1) 輸入:輸入信源個數(shù)、信宿個數(shù)和信道容量的精度,程序能任意生成隨機(jī)的信道轉(zhuǎn)移概率矩陣,也可以自己輸入信道轉(zhuǎn)移矩陣。2) 輸出:輸出最佳信源分布和信道容量。將附件里的dmc.

2、m文件直接run運行可以自主輸入信道轉(zhuǎn)移概率矩陣,按照程序中提示將那兩句代替判斷輸入矩陣是否正確的那部分,dmc1.m運行可以隨機(jī)生成信道轉(zhuǎn)移概率矩陣。3、 檢驗程序之一:輸入信源個數(shù):2輸入信宿個數(shù):3輸入信道容量的精度: 0.輸入信道轉(zhuǎn)移矩陣P:0.5000 0.3000 0.2000;0.3000 0.5000 0.2000之二:P:0.4000 0.3000 0.2000;0.3000 0.5000 0.2000之三:P:1.1000 -0.3000 0.2000;0.3000 0.5000 0.2000之四:P:0.6 0.4;0.01 0.99之五:自動生成信道轉(zhuǎn)移矩陣四、程序源代

3、碼:clear;r=input('輸入信源個數(shù):');s=input('輸入信宿個數(shù):');deta=input('輸入信道容量的精度: ');Q=rand(r,s); %形成r行s列隨機(jī)矩陣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)

4、 %檢測概率轉(zhuǎn)移矩陣是否行和為1. error('概率轉(zhuǎn)移矩陣輸入有誤!') return; end for j=1:s if(P(i,j)<0|P(i,j)>1) %檢測概率轉(zhuǎn)移矩陣是否負(fù)值或大于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; %原始信源分

5、布r個信源,等概率分布disp('原始信源分布:')p(i)E=repmat(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=rep

6、mat(p,1,s); C(k+1)=log(sum(exp(sum(P.*log(t),2)/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)五、運行結(jié)果如下:檢驗程序之一:輸入信源個數(shù):2輸入信宿個數(shù):3輸入信道容量的精度: 0.輸入信道轉(zhuǎn)移矩陣P:0.5000 0.3000 0.200

7、0;0.3000 0.5000 0.2000P = 0.5000 0.3000 0.2000 0.3000 0.5000 0.2000原始信源分布:ans = 0.5000 0.5000迭代次數(shù):k= 1最大信道容量時的信源分布:p= 0.5000 0.5000最大信道容量:C=0.0365檢驗程序之二:P:0.4000 0.3000 0.2000;0.3000 0.5000 0.2000檢驗程序之三:P:1.1000 -0.3000 0.2000;0.3000 0.5000 0.2000檢驗程序之四:P:0.6 0.4;0.01 0.99輸入信源個數(shù):2輸入信宿個數(shù):2輸入信道容量的精度:

8、0.輸入信道轉(zhuǎn)移矩陣P:0.6 0.4;0.01 0.99P = 0.6000 0.4000 0.0100 0.9900原始信源分布:ans = 0.5000 0.5000迭代次數(shù):k= 1迭代次數(shù):k= 2迭代次數(shù):k= 3迭代次數(shù):k= 4迭代次數(shù):k= 5迭代次數(shù):k= 6迭代次數(shù):k= 7迭代次數(shù):k= 8迭代次數(shù):k= 9最大信道容量時的信源分布:p= 0.4240 0.5760最大信道容量:C=0.3688檢驗程序之五:自動生成信道轉(zhuǎn)移矩陣變?yōu)閐mc1.m文件改程序如下:結(jié)果運行如下:輸入信源個數(shù):2輸入信宿個數(shù):2輸入信道容量的精度: 0.信道轉(zhuǎn)移概率矩陣:P = 0.6102 0.3898 0.3223 0.6777原始信源分布:ans = 0.5000 0.5000迭代次數(shù):k= 1迭代次數(shù):k= 2迭代次數(shù):k= 3迭代次數(shù):k= 4迭代次數(shù):k= 5迭代

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論