信息容量的算法_第1页
信息容量的算法_第2页
信息容量的算法_第3页
信息容量的算法_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《信息论与编码》第一次实验报告学号:姓名:实验名称:信道容量的迭代算法实验日期:指导教师:一、实验内容和要求已知:信源符号个数r、信宿符号个数s、信道转移概率矩阵P。输入:任意的一个信道转移概率矩阵。信源符号个数、信宿符号个数和每个具体的转移概率在运行时从键盘输入。输出:最佳信源分布P*,信道容量C。二•实验步骤p1:确定各变量的含义(r,s,(ji))2:初始化信源分布pi=1/r,相对误差门限&,C=—-3:实现下述式子的程序0 PP屮 ijiij rLPPijii=14:同3exp(工plog0)p ji2iji /Q、工exp(工plog0)ji2ijr=1 j=15:同4log[工exp(工plog0)]2 ji2ijr=1j=r=1AC AC6:利用循环计算 C ,到达条件即得到信道容量。7:输出信道容量及信道矩阵P*=(r,C8:结束程序三、算法思想重述及核心代码算法核心代码:for(i=0;ivr;i++)Px[i]=1.0/r;do{k++;for(j=0;j<s;j++){doubledenominator=0;for(i=0;i<r;i++)denominator+=Px[i]*Pij[i][j];for(i=0;i<r;i++)Phi_ji[i][j]=Px[i]*Pij[i][j]/denominator;}double*temp=newdouble[r];for(i=0;i<r;i++){temp[i]=0;for(j=0;j<s;j++){temp[i]+=Pij[i][j]*log(Phi_ji[i][j]vdelta?delta:Phi_ji[i][j])/log(2);}temp[i]=pow(2,temp[i]);}doubledenominator=0;for(i=0;i<r;i++)denominator+=temp[i];for(i=0;i<r;i++)Px[i]=temp[i]/denominator;C_old=C_new;C_new=log(denominator)/log(2);doublea=fabs(C_new-C_old)/C_new;

}while(fabs(C_new-C_old)/C_new>delta&&kvlOO);算法思想:在于通过迭代算法计算信道容量,初始化信源分布,设置信道容量的相对误ICk+1_Ck|差限,通过三个迭代公式计算Ck+1与Ck的值,同时计算误差限 <a,Ck+1判断是否达到需要求解的信道容量。四、实验结果及分析'实验结果分析: 从实验结果可以看出,通过三个公式的迭代能在一定的精度范围内能,计算出信道矩阵的容量,但是算法的收敛速度与信源初始概率分布的选择有很大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论