资源简介
用MATLAB编写信道容量程序%信道容量C计算的Matlab程序
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
代码片段和文件信息
%信道容量C计算的Matlab程序
clc;clear all;
N = input(‘输入信源符号X的个数N=‘);
M = input(‘输出信源符号Y的个数M=‘);
p_yx=zeros(NM); %程序设计需要信道矩阵初始化为零
fprintf(‘输入信道矩阵概率\n‘)
for i=1:N
for j=1:M
p_yx(ij)=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(ij);
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(ij);
end
end
for i=1:N %计算a(i)
d(i)=0;
for j=1:M
if(p_yx(ij)==0)
d(i)=d(i)+0;
else
d(i)=d(i)+p_yx(ij)*log(p_yx(ij)/q(j));
end
- 上一篇:matlab2009a破解版链接
- 下一篇:各种体制雷达信号MATLAB仿真
相关资源
- Goldsmith书中无线通信信道容量仿真入
- 任意信道容量的计算及MATLAB仿真与分
- 信道相关性对信道容量的影响
- MATLAB迭代法计算信道容量
- 信道容量的仿真代码
- MIMO信道容量仿真matlab代码
- MISO信道容量仿真
- 信道容量迭代算法
- MIMO信道容量随信噪比变化:发送端未
- MIMO信道容量随信噪比变化:发送端未
- MIMO 信道容量 发射端已知、未知CSI的
- 光通信领域编码书
- MIMO信道容量的Matlab仿真程序
- MIMO信道容量MATLAB仿真程序
- Bianchi信道容量(matlab)
- sum_rate 基于MIMO的信道容量sum rate的计
- MIMOcapacity MIMO信道容量仿真程序
- MATLAB编写的MIMO不同天线数时的信道容
- 典型的关于信道容量的计算
- 离散单符号信道容量的迭代算法MATL
- 信息论课程设计程序 matlab实现
评论
共有 条评论