网站大量收购独家精品文档,联系QQ:2885784924

DMC信道容量迭代计算的matlab实现.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DMC信道容量迭代计算的matlab实现--通信与信息系统 一、用了matlab实现DMC容量迭代的算法如下: 初始化信源分布:一般我选deta=0.000001。 。 。 4. 5. 若,则k=k+1,转第2步 6.输出迭代次数k和和,终止。 二、了解了信道容量的定义和DMC信道容量迭代计算方法,我用了matlab来进行编程进行迭代计算得出信道容量。不足之处在于每迭代一次就输出一次迭代次数直到最后一次迭代。 输入:输入信源个数、信宿个数和信道容量的精度,程序能任意生成随机的信道转移概率矩阵,也可以自己输入信道转移矩阵。 输出:输出最佳信源分布和信道容量。将附件里的dmc.m文件直接run运行可以自主输入信道转移概率矩阵,按照程序中提示将那两句代替判断输入矩阵是否正确的那部分,dmc1.m运行可以随机生成信道转移概率矩阵。 检验程序 之一: 输入信源个数:2 输入信宿个数:3 输入信道容量的精度: 0.000001 输入信道转移矩阵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] 之五:自动生成信道转移矩阵 四、程序源代码: clear; r=input(输入信源个数:); s=input(输入信宿个数:); deta=input(输入信道容量的精度: ); Q=rand(r,s); %形成r行s列随机矩阵Q A=sum(Q,2); %把Q矩阵每一行相加和作为一个列矩阵A B=repmat(A,1,s); %把矩阵A的那一列复制为S列的新矩阵 P=input(输入信道转移矩阵P:)%从这句话开始将用下面两句代替可自动生成信道转移矩阵 [r,s]=size(P); for i=1:r if(sum(P(i,:))~=1)%检测概率转移矩阵是否行和为1. error(概率转移矩阵输入有误!!) return; end for j=1:s if(P(i,j)0||P(i,j)1) %检测概率转移矩阵是否负值或大于1 error(概率转移矩阵输入有误!!) return; end end end %将面两句代替可自动生成信道转移矩阵 %disp(信道转移概率矩阵:) %P=Q./B 信道转移概率矩阵(每一个原矩阵的新数除以所在行的数总和) i=1:1:r; %设置循环首项为1,公差为1,末项为r(Q的行数)的循环 p(i)=1/r; %原始信源分布r个信源,等概率分布 disp(原始信源分布:) p(i) E=repmat(p,1,s);%把r个等概率元素组成一列,复制为s列 for k=1:1:1/deta m=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); %信源分布的分母部分 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=deta) break; end disp(迭代次数:k=),disp(k) end disp(最大信道容量时的信源分布:p=),disp(p) disp(最大信道容量:C=),disp(C(k+1)) 检验程序之三:P:[1.1000 -0.3000 0.2000;0.3000 0.5000 0.2000] 检验程序之四:P:[0.6 0.4;0.01 0.99] 输入信源个数:2 输入信宿个数:2 输入信道容量的精度: 0.000001 输入信道转移矩阵P:[0.6 0.4;0.01 0.99] P = 0.6000 0.

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档