- 128
- 0
- 约1.92千字
- 约 6页
- 2016-05-24 发布于重庆
- 举报
实验一信道容量的迭代算法2
信息工程12班 吴玉明 实验一 信道容量的迭代算法
实验目的
信道容量的概念。
迭代法计算信道容量的。
atlab程序调试方法。
实验
1、atlab软件编程;
2、输入:任意一个信道转移概率矩阵。信源符号个数、信宿符号个数转移概率在运行时从键盘输入;
3、输出:、信道容量C。
clc;clear all;
N = input(输入信源符号X的个数N=);
M = input(输出信源符号Y的个数M=);
p_yx=zeros(N,M); %程序设计需要信道矩阵初始化为零
fprintf(输入信道矩阵概率\n)
for i=1:N
for j=1:M
p_yx(i,j)=input(p_yx=);%输入信道矩阵概率
if p_yx(i)0
error(不符合概率分布)
end
end
end
for i=1:N %各行概率累加求和
s(i)=0;
for j=1:M
s(i)=s(i)+p_yx(i,j);
end
end
for i=1:N %判断是否符合概率分布
if (s(i)=0.999999||s(i)=1.000001)
error(不符合概率分布)
end
end
b=input(输入迭代精度:);%输入迭代精度
for i=1:N
p(i)=1.0/N; %取初始概率为均匀分布
end
for j=1:M %计算q(j)
q(j)=0;
for i=1:N
q(j)=q(j)+p(i)*p_yx(i,j);
end
end
for i=1:N %计算a(i)
d(i)=0;
for j=1:M
if(p_yx(i,j)==0)
d(i)=d(i)+0;
else
d(i)=d(i)+p_yx(i,j)*log(p_yx(i,j)/q(j));
end
end
a(i)=exp(d(i));
end
u=0;
for i=1:N %计算u
u=u+p(i)*a(i);
end
IL=log2(u); %计算IL
IU=log2(max(a));%计算IU
n=1;
while((IU-IL)=b) %迭代计算
for i=1:N
p(i)=p(i)*a(i)/u; %重新赋值p(i)
end
for j=1:M %计算q(j)
q(j)=0;
for i=1:N
q(j)=q(j)+p(i)*p_yx(i,j);
end
end
for i=1:N %计算a(i)
d(i)=0;
for j=1:M
if(p_yx(i,j)==0)
d(i)=d(i)+0;
else
d(i)=d(i)+p_yx(i,j)*log(p_yx(i,j)/q(j));
end
end
a(i)=exp(d(i));
end
u=0;
for i=1:N %计算u
u=u+p(i)*a(i);
end
IL=log2(u); %计算IL
IU=log2(max(a));%计算IU
n=n+1;
end
fprintf(信道矩阵为:\n);
disp(p_yx);
fprintf(迭代次数n=%d\n,n);
fprintf(信道容量C=%f比特/符号,IL);
本次 试 验是建立 在 迭 代 的 基础上,首 先要深刻理解信道容量的迭代算法,其次是 如何将复杂的公式转化为程序通过此次实验,我了解了信道容量的迭代算法的基本知识,学会了如何将复杂的公式如何用程序语言描述出来,掌握了高级语言数值计算过程程序的设计和调试的相关知识,对于将实际问题公式转化为程序的力有提高
是
输入
结束
您可能关注的文档
最近下载
- 部编版语文五年级下册第二单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第一单元教材解读大单元集体备课.pptx VIP
- 车工 (数控车床)理论知识考核要素细目表四级.pdf VIP
- 本科课程《基础护理学》教案,第十二章给药.doc VIP
- 农村题材小品剧本村官.pdf VIP
- 小品剧本-小品《绰号》.docx VIP
- 小品剧本-小品《竞选》.docx VIP
- 本科课程基础护理学教给药教案(2025—2026学年).docx VIP
- LaserjetCP1025系列打印机打印质量故障排除手册.pdf VIP
- 年会小品剧本小品剧本:搞笑小品剧本《都是喝酒惹事》台词大全.docx VIP
原创力文档

文档评论(0)