急求信道容量matlab编程代码!已知一个信道的信道转移矩阵为 p用Matlab编写函数求信道容量.
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/08 14:39:12
急求信道容量matlab编程代码!已知一个信道的信道转移矩阵为 p用Matlab编写函数求信道容量.
已知一个信道的信道转移矩阵为 p,p为一个两行三列矩阵
已知一个信道的信道转移矩阵为 p,p为一个两行三列矩阵
%亲自验证,绝对可用!
% Matlab实现离散信道容量的迭代算法% 功能:利用迭代算法计算离散信道的容量
%C:信道容量
%P:转移概率矩阵
%B:中间变量矩阵
%e:信道容限,一般选0.00001
%X:输入概率分布
%n:迭代次数
function channel_cap(P,e)
n=0;
C=0;
C_0=0;
C_1=0;
[r,s]=size(P);
for i=1:r
if(sum(P(i,:))~=1)%检测概率转移矩阵是否行和为1.
error('概率转移矩阵输入有误!')
return;
end
for j=1:s
if(P(i,j)1)%检测概率转移矩阵是否负值或大于1
error('概率转移矩阵输入有误!')
return;
end
end
end
X=ones(1,r)/r;
A=zeros(1,r);
B=zeros(r,s);
while(1)
n=n+1;
for i=1:r
for j=1:s
B(i,j)=log(P(i,j)/(X*P(:,j))+eps);
end
A(1,i)=exp(P(i,:)*B(i,:)');
end
C_0=log2(X*A');
C_1=log2(max(A));
if (abs(C_0-C_1)
% Matlab实现离散信道容量的迭代算法% 功能:利用迭代算法计算离散信道的容量
%C:信道容量
%P:转移概率矩阵
%B:中间变量矩阵
%e:信道容限,一般选0.00001
%X:输入概率分布
%n:迭代次数
function channel_cap(P,e)
n=0;
C=0;
C_0=0;
C_1=0;
[r,s]=size(P);
for i=1:r
if(sum(P(i,:))~=1)%检测概率转移矩阵是否行和为1.
error('概率转移矩阵输入有误!')
return;
end
for j=1:s
if(P(i,j)1)%检测概率转移矩阵是否负值或大于1
error('概率转移矩阵输入有误!')
return;
end
end
end
X=ones(1,r)/r;
A=zeros(1,r);
B=zeros(r,s);
while(1)
n=n+1;
for i=1:r
for j=1:s
B(i,j)=log(P(i,j)/(X*P(:,j))+eps);
end
A(1,i)=exp(P(i,:)*B(i,:)');
end
C_0=log2(X*A');
C_1=log2(max(A));
if (abs(C_0-C_1)
急求信道容量matlab编程代码!已知一个信道的信道转移矩阵为 p用Matlab编写函数求信道容量.
有这样一个信道,信道的转移概率矩阵是[1],即P(0|0)=1,这样计算信道容量为0.
香农信道极限容量 与离散信道中的信道容量仅于信道转移概率有关,两者是怎样的关系?
请问一道题,具有6.5MHZ带宽的某高斯信道,若信道中信号功率与噪声功率谱密度之比为45.5MHZ,求信道容量?
MIMO下产生信道矩阵的Matlab
具有6.5MHZ带宽的信号,若信道中信号功率与噪声功率之比为63,求其信道容量
具有6.5MHz带宽的某高斯信道,若信道中信号功率与噪音功率谱密度之比是45.5MHz,试求其信道容量.
求函数matlab代码
求用matlab编写的手写英文字母识别的代码
求矩阵LU分解的matlab代码
求matlab矩阵标准化代码
求矩阵秩的matlab代码 求矩阵秩的matlab代码