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

上传人:小** 文档编号:159632018 上传时间:2022-10-09 格式:DOC 页数:7 大小:90.50KB
返回 下载 相关 举报
DMC信道容量迭代计算的matlab实现_第1页
第1页 / 共7页
DMC信道容量迭代计算的matlab实现_第2页
第2页 / 共7页
DMC信道容量迭代计算的matlab实现_第3页
第3页 / 共7页
点击查看更多>>
资源描述
DMC信道容量迭代计算的matlab实现一通信与信息系统一、用了matlab实现DMC容量迭代的算法如下:1. 初始化信源分布:P(k)=i=0,1,.,r,置k=0,选1deta0.一般我选irdeta=0.000001。2. 由式t(k)=申k)Pj,得反向转移概率矩阵t(k)。ijp(k)pijijii3.exp工plogt)jiijk+1)由式p+i)=j工exp工plogt)jiijij4.由式C+1)=IP+1),tk)=logYexp工plogtG)|计算C+i)jiijI-j=0丿5.C(k+1)C(k)若deta,则k=k+1,转第2步C(k+1)6.输出迭代次数k和C+1)和Pk+1,终止。二、了解了信道容量的定义和DMC信道容量迭代计算方法,我用了matlab来进行编程进行迭代计算得出信道容量。不足之处在于每迭代一次就输出一次迭代次数直到最后一次迭代。1)输入:输入信源个数、信宿个数和信道容量的精度,程序能任意生成随机的信道转移概率矩阵,也可以自己输入信道转移矩阵。2)输出:输出最佳信源分布和信道容量。将附件里的dmc.m文件直接run运行可以自主输入信道转移概率矩阵,按照程序中提示将那两句代替判断输入矩阵是否正确的那部分,dmcl.m运行可以随机生成信道转移概率矩阵。三、检验程序之一:输入信源个数:2输入信宿个数:3输入信道容量的精度:0.000001输入信道转移矩阵P:0.50000.30000.2000;0.30000.50000.2000之二:P:0.40000.30000.2000;0.30000.50000.2000之三:P:1.1000-0.30000.2000;0.30000.50000.2000之四:P:0.60.4;0.010.99之五:自动生成信道转移矩阵四、程序源代码:clear;r=input(输入信源个数:);s=input(输入信宿个数:);deta=input(输入信道容量的精度:);Q=rand(r,s);%形成r行s列随机矩阵QA=sum(Q,2);%把Q矩阵每一行相加和作为一个列矩阵AB=repmat(A,l,s);%把矩阵A的那一列复制为S列的新矩阵%判断信道转移概率矩阵输入是否正确P=input(输入信道转移矩阵P:)%从这句话开始将用下面两句代替可自动生成信道转移矩阵r,s=size(P);fori=l:rif(sum(P(i,:)=l)%检测概率转移矩阵是否行和为l.error(概率转移矩阵输入有误!!)return;endforj=l:sif(P(i,j)vOIIP(i,j)1)%检测概率转移矩阵是否负值或大于1error(概率转移矩阵输入有误!!)return;endendend%将上面的用下面两句代替可自动生成信道转移矩阵%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列fork=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);%信源分布的分母部分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(kkdmc概率转移矩阵输入有误!Errorin-diicat;12errorC概窒转移矩阵输入有i吴!)检验程序之三:P:11000-0.30000.2000;0.30000.500002000检验程序之四:P:0.60.4;0.010.99输入信源个数:2输入信宿个数:2输入信道容量的精度:0.000001输入信道转移矩阵P:0.60.4;0.010.99P=0.60000.40000.01000.9900原始信源分布:ans=0.50000.5000迭代次数:k=1迭代次数:k=2迭代次数:k=3迭代次数:k=4迭代次数:k=5迭代次数:k=6迭代次数:k=7迭代次数:k=8迭代次数:k=9最大信道容量时的信源分布:p=0.42400.5760最大信道容量:C=0.3688检验程序之五:自动生成信道转移矩阵变为dmc1.m文件改程序如下:%P=inputC输入信道转移矩阵从这句话开始将用下面两句代替可自动生成信道转移矩阵%Er,ssize(P);%z?ri1:r%if(E-.jiiFi.:/=:滋检测概率转移矩阵是H行抑为.errorC概率转移矩阵输入有與!JXtr.:l叽kr-i:%C卩(1门)1检测概率转移矩阵是否负值或大于1%戢rcr概率转移矩阵輸入有误!)VII:1.1I.X%tF.:l叽L:|l.%将这段话用F面两甸代普可自动生成信道转移鉅阵dispC信道转移概率矩阵:)片Q.用斷信道转移概率矩阵每一个原矩阵的新数除以所在行的数总和)结果运行如下:输入信源个数:2输入信宿个数:2输入信道容量的精度:0.000001信道转移概率矩阵:P=0.61020.38980.32230.6777原始信源分布:ans=0.50000.5000迭代次数:k=1迭代次数:k=2迭代次数:k=3迭代次数:k=4迭代次数:k=5迭代次数:k=6迭代次数:k=7迭代次数:k=8迭代次数:k=9迭代次数:k=10迭代次数:k=11迭代次数:k=12最大信道容量时的信源分布:p=0.49770.5023最大信道容量:C=0.0610YS20112508夏笑笑通信与信息系统
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!