資源描述:
《信息論與編碼課程大作業(yè)信道容量的迭代算法》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、信息論與編碼課程大作業(yè)題目:信道容量的迭代算法學(xué)生姓名:學(xué)號:2010020200專業(yè)班級:10電子信息工程2013年5月180信道容量的迭代算法1信道容量的迭代算法的步驟一、用了matlab實現(xiàn)DMC容量迭代的算法如下:第一步:首先要初始化信源分布:/^=丄,/=0,1,...,r,置々=0,選l〉deta〉0.即選取r一個精度,本次中我選deta=0.000001。第二步:根據(jù)式子Pik)Pjii,得到反向轉(zhuǎn)移概率矩陣y}。第三步:expl^p.jog?^]由式/^+1)=L計算尸⑽1)=Eexp[[/?y7log?)d??玄/?log么⑷>0第四步:由式若第五步:>det^z,
2、則執(zhí)行k=k+l,然后轉(zhuǎn)第二步。直至轉(zhuǎn)移條件不成立,接著執(zhí)行下面的程序。第六步:輸出迭代次數(shù)1<和<^'+1)和戸+
3、,程序終止。2.Matlab實現(xiàn)clear;r=input(*輸入信源個數(shù):’);s=input(’輸入信宿個數(shù):’);deta^putC輸入信道容量的精度:Q=rand(r,s);%形成r行s列隨機(jī)矩陣QA=sum(Q,2);%把(^矩陣每一行相加和作為一個列矩陣AB=repmat(A,l,s);%把矩陣A的那--列復(fù)制為S列的新矩陣%判斷信道轉(zhuǎn)移概率矩陣輸入是否正確P=inputf輸入信道轉(zhuǎn)移矩陣P:
4、)%從這句話開始將用下面W句代替可自動生成信道轉(zhuǎn)移矩陣[r,s
5、]=size(P);fori=l:rif(sum(P(i,:)b=l)%檢測概率轉(zhuǎn)移矩陣是否行和為1.error(’概率轉(zhuǎn)移矩陣輸入有誤??!’)return;endforj=l:s1卯(?。?
6、帥,>1)%檢測概率轉(zhuǎn)移矩陣是否負(fù)值或大于1error(’概率轉(zhuǎn)移矩陣輸入有誤?。 ?return;endendend%將上面的用下面兩句代替可自動生成信道轉(zhuǎn)移矩陣%dispC信道轉(zhuǎn)移概率矩陣:’)%P=Q./B信道轉(zhuǎn)移概率矩陣(每一個原矩陣的新數(shù)除以所在行的數(shù)總和)i=l:l:r;%設(shè)置循環(huán)首項為1,公差為1,末項為r(Q的行數(shù))的循環(huán)p(i)=l/r;%原始信源分布r個信源,等概率分布di
7、spC原始信源分布:?)P(i)Ezrepma^pUX);%把r個等概率元素組成一列,復(fù)制為s列fork=l:l:l/detam=E.*P;%m=p.*E;%后驗概率的分?部分a=sum(m);%把得到的矩陣m每列相加之和構(gòu)成一行sUl=repmat(a,r,l);%把得到的行矩陣a復(fù)制r行,成一新矩陣sul,后驗概率的分母部分t=m./sul;%后驗概率矩陣n=exp(sum(P.*log⑴,2));%信源分布的分子部分su2=sum(n);%信源分布的分母部分p=n/su2;%信源分布E=repmat(p,l,s);C(k+1)=log(sum(exp(sum(P.*log⑴,2
8、))))/log(2);kk=abs(C(k+1)-C(k))/C(k+1);if(kk<=deta)break;enddispC迭代次數(shù):k=’),disp(k)enddisp('最大信道容量時的信源分布:p=’),disp(p’)dispC最人信道容景:C=’),disp(C(k+l))2.運(yùn)行結(jié)果及分析(宋體四號,加粗)結(jié)果分析:這兩組數(shù)據(jù)都是我隨機(jī)選的,都是選的信源個數(shù)為2,信宿的個數(shù)為3,選用的精度為0.000001。然后輸入信道轉(zhuǎn)移矩陣P,執(zhí)行,得到反向轉(zhuǎn)移概率矩陣人⑷將得到的結(jié)果代入exP[Sp力Jog,%]由式A(a+1)=—計算尸叫)=W1)}^expf^p.Jog
9、?"^]由式C(M=,(P(M,?))=log<^exp/=0$>pog?7=0U)■計算c(4再進(jìn)行c(々+1)〉det6Z的判斷,這個條件滿足時繼續(xù)求~‘,再依次往下計算,直至這個條件不滿足,然后輸山k和c^+14npA+1??偟膩碚f這不過是將矩陣不斷的代入公式,當(dāng)最后的精度不大于0.000001.輸出k和C(A+I)和尸。MATLAB7.5.0(R2OO7b)FileEditDebugDistributedDesktopWindowHelpQJtRb穩(wěn)躺
10、過@炒C:DocumentsandSettingsAdmiShortcuts[3HowtoAddHWhat’sNew77
11、VJbrrorusing==夕mUat概率轉(zhuǎn)移矩陣輸入有誤??!輸入信源個數(shù):2輸入信宿個數(shù):3輸入信道容跫的精度:0.000001輸入信道轉(zhuǎn)移矢巨樣P:[0.30000.20000.5000:0.20000.30000.5000]P=0.30000.20000.50000.20000.30000.5000原始信源分布:ans=0.50000.5000迭代次數(shù):k=1最大信道容蚩時的信源分布:p=0.50000.5000最大信道容跫:c=0.0145第二組數(shù)