一般离散无记忆信道容量的迭代计算

上传人:hs****ma 文档编号:512161192 上传时间:2023-04-22 格式:DOCX 页数:6 大小:27.33KB
返回 下载 相关 举报
一般离散无记忆信道容量的迭代计算_第1页
第1页 / 共6页
一般离散无记忆信道容量的迭代计算_第2页
第2页 / 共6页
一般离散无记忆信道容量的迭代计算_第3页
第3页 / 共6页
一般离散无记忆信道容量的迭代计算_第4页
第4页 / 共6页
一般离散无记忆信道容量的迭代计算_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《一般离散无记忆信道容量的迭代计算》由会员分享,可在线阅读,更多相关《一般离散无记忆信道容量的迭代计算(6页珍藏版)》请在金锄头文库上搜索。

1、一般离散无记忆信道容量的迭代计算信道容量的迭代算法1信道容量的迭代算法的步骤一、用了 mat lab实现DMC容量迭代的算法如下:第一步:首先要初始化信源分布:P(k)= i,i = 0,1,., r,置k = 0,选1 deta 0.即选取一 精度,本次中我选 irdeta=0.000001。p(k) p第一步:根据式子t(k)=_iijv ,得到反向转移概率矩阵t(k)。 Z P (k) piji jii第三步:由式P (+1)=iexp工 p log tQ.jiijj计算 P (k+1)=( (k+1) 工exp工 p log t(k).jiijij第四步:由式CG+i) = 16(k+

2、i),t(k)二log工exp 工p logt G)|计算Cd+i)i=0jiijLj=0第五步:C (k+1) C (k)若 det a,则执行k=k+l,然后转第二步。直至转移条件不成立,C(k+1)接着执行下面的程序。第六步:输出迭代次数k和c(k+1)和Pk+1,程序终止。2. Matlab 实现clear;r=input(输入信源个数:);s=input(输入信宿个数:);deta=input (输入信道容量的精度:);Q=rand(r,s);%形成r行s列随机矩阵QA=sum(Q,2);%把0矩阵每一行相加和作为一个列矩阵AB=repmat(A,1,s); %把矩阵A的那一列复制为

3、S列的新矩阵%判断信道转移概率矩阵输入是否正确P=input(输入信道转移矩阵P: )%从这句话开始将用下面两句代替可自动生成信 道转移矩阵r,s=size(P);for i=1:rif(sum(P(i,:)=1) %检测概率转移矩阵是否行和为1.error(概率转移矩阵输入有误! !)return;endfor j=1:sif(P(i,j)1) %检测概率转移矩阵是否负值或大于1error(概率转移矩阵输入有误! !)return;endendend%将上面的用下面两句代替可自动生成信道转移矩阵%disp(信道转移概率矩阵:)%P=Q./B 信道转移概率矩阵(每一个原矩阵的新数除以所在行的数

4、总和)i=l:l:r; %设置循环首项为1,公差为1,末项为r (Q的行数)的循环p(i)=l/r; %原始信源分布r个信源,等概率分布disp(原始信源分布:)p(i)E=repmat(p,1,s);%把r个等概率元素组成一列,复制为s列for k=1:1:1/detam=E.*P;% m=p.*E;%后验概率的分子部分a=sum(m); %把得到的矩阵m每列相加之和构成一行su1=repmat(a,r,1);%把得到的行矩阵a复制r行,成一新矩阵sul,后验概率的分母 部分t=m./su1;%后验概率矩阵n=exp(sum(P.*log(t),2); %信源分布的分子部分su2=sum(n

5、);%信源分布的分母部分p=n/su2; %信源分布E=repmat(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 det a的判断,这个条件满足时继续求计算C (k+11再进行t (k )ij再依次往下计算,直至这个条件不满足,然后输出k和c(k+1)和Pk+1。总的来说这不过是将矩阵不断的代入公式,当最后的精度不大于0.000001.输出k和c(k+1)和pk+1。MATLAB 7.5,0 (R20O7U)EJle Edit Detiua E?i&trlbuted Q.es

6、kJtop Window Help口已I搖 愆勺 0|插妙回I竈 C !DocurrientG and Settings口日ni Shortcuts 回 Mow to Add 叵Whats Newttror using 二二f 】il丄疋j aj_慨率餐移辻阵输入有误!-锚言洱十救:z愉入洁宿13输人倍垣容窒的祎魔;0. 000001铺 1小一1=道餐移乜皤 H: L- JUUU U. 2UULI . bUUU ;U. 2UUU U. JUUU U. bUU LIr -. . 2DDQo.5aao0. 2LILILIijH 3000LL 5OLIO原始信源持布匚ans LL 5000Lia 5

7、000以代;大叛:k-同人洁満客革日-I的洁湎出-桁:r=0. G0000. !3000最丈忖道容量2厂二0. 口丄対第二组数据:Performance degradation nay occur due to on-disk directory chanse checkins. 揄入信涯牛険2输入信宿卞勲:3输J、诣道容量E勺忙丿艾;U.UJLUU1輛人信晅我桂応痒;LO. E0300. SCO C. 2000 C. 30000. 53C0 L2O0CJr_=mririn. irni. ?nnrL. JUUUU. b JLUJ-HLIUL总堆信涼廿右;ms -r. 5nnn n. Rirn迭代次叛k-录大信洁呑竜叶齐信涼汀存Ar. innn n.nirn最丄.信逋容呈:匕0. 03654.心得体会在此次 matlab 编程实现一般离散无记忆信道容量的迭代算法的过程中,开始我觉得这十分的困难,经过网上查阅资料和请教同学,最后才对本次设计 有了一定的理解,详细理解了信道容量的迭代算法过程。经过理解,发现这种 编码其实挺简单的,最重要的是怎样用程序把它实现,这对我们的编程能力也 是一次考验。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号