欢迎来到天天文库
浏览记录
ID:26272666
大小:71.00 KB
页数:5页
时间:2018-11-25
《一信道容量的迭代算法程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、实验一信道容量的迭代算法程序设计一、实验目的(1)进一步熟悉信道容量的迭代算法;(2)学习如何将复杂的公式转化为程序;(3)掌握C语言数值计算程序的设计和调试技术。二、实验要求(1)已知:信源符号个数r、信宿符号个数s、信道转移概率矩阵P。(2)输入:任意的一个信道转移概率矩阵。信源符号个数、信宿符号个数和每个具体的转移概率在运行时从键盘输入。(3)输出:最佳信源分布P*,信道容量C。三、信道容量迭代算法1:procedureCHANNELCAPACITY(r,s,())2:initialize:信源分布=1/r,相对误差门限,C=—3:repeat4:5:6:Cß7:until8:
2、outputP*=,C9:endprocedure-------------------------------------------------------------------------------------------------------四、实验代码/*问题:1 初始最大容量的设定2 exp的精确求解*/#include#include#include#include#include#defineR1000#defineS1000#definedelta1e-2#defin
3、einf1e6usingnamespacestd;doubleP_i[R],P_ji[S][R],Thi_ij[R][S];doublePre_C,Now_C;intr,s,Num;double__log2(doublea){returnlog(a)/log(2);}double__exp(doublea){returnpow(2.718281828459045,a);}inteps(doublea){if(a>delta
4、
5、a<-delta)return1;return0;}voidscan(){inti,j,k;intflag=0;doublet;freopen("信道信息.tx
6、t","r",stdin);printf("本次信道信息如下:(若要更改信道信息,请终止程序运行后,改变文件信道信息.txt中的信息)");printf("信源处信息的个数:");scanf("%d",&r);printf("%d",r);printf("信道接收处信息的种类:");scanf("%d",&s);printf("%d",s);printf("信道的分配(每一行表示信源处的一个信息对接收端一处信息的概率分布):");for(i=0;i7、f(P_ji[j][i]<0)flag=1;t+=P_ji[j][i];}if(eps(t-1.0))flag=1;}for(i=0;i8、+)printf("%.6lf",P_i[i]);printf("");printf("后验概率分布是(每一行表示接收端一种信息的来源概率分布):");for(j=0;j9、(i=0;i=delta)for(i=0;idelta
7、f(P_ji[j][i]<0)flag=1;t+=P_ji[j][i];}if(eps(t-1.0))flag=1;}for(i=0;i8、+)printf("%.6lf",P_i[i]);printf("");printf("后验概率分布是(每一行表示接收端一种信息的来源概率分布):");for(j=0;j9、(i=0;i=delta)for(i=0;idelta
8、+)printf("%.6lf",P_i[i]);printf("");printf("后验概率分布是(每一行表示接收端一种信息的来源概率分布):");for(j=0;j
9、(i=0;i=delta)for(i=0;idelta
此文档下载收益归作者所有