信息论上机1_精品文档文档格式.docx

上传人:b****2 文档编号:14436711 上传时间:2022-10-22 格式:DOCX 页数:14 大小:68.91KB
下载 相关 举报
信息论上机1_精品文档文档格式.docx_第1页
第1页 / 共14页
信息论上机1_精品文档文档格式.docx_第2页
第2页 / 共14页
信息论上机1_精品文档文档格式.docx_第3页
第3页 / 共14页
信息论上机1_精品文档文档格式.docx_第4页
第4页 / 共14页
信息论上机1_精品文档文档格式.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

信息论上机1_精品文档文档格式.docx

《信息论上机1_精品文档文档格式.docx》由会员分享,可在线阅读,更多相关《信息论上机1_精品文档文档格式.docx(14页珍藏版)》请在冰豆网上搜索。

信息论上机1_精品文档文档格式.docx

\it{I(x_i)}'

'

rotation'

0,'

position'

[-0.05,3.5,0]);

ylim([0,7]);

运行结果:

2.2

q=1-p;

H=-p.*log2(p+eps)-q.*log2(q+eps);

plot(p,H);

\it{p}'

\it{H[p]}'

{-0.1,0.5,0]);

xlim([0,1]);

ylim([0,1]);

3.1

(1)

%画出作为r函数的差错概率图

gamma_db=[-20:

0.1:

20];

gamma=10.^(gamma_db./10);

p_error=0.5.*(sqrt(2.*gamma));

semilogx(gamma,p_error)

SNR/bit'

title('

ErrorprobilityversusSNR/bit'

ErrorProb.'

3.1

(2)

gamma_db=[-20:

gamma=10.^(gamma_db./10);

p_error=0.5.*(sqrt(2.*gamma));

capacity=1.-sum(-p_error.*log2(p_error));

semilogx(gamma,capacity)

channelcapacityversusSNR/bit'

channelcapacity'

3-2

(1)

%W=3000Hz的加性高斯白噪声的信道容量作为P/N0的函数图

clearall

echoon

pn0_db=[-20:

30];

pn0=10.^(pn0_db./10);

capacity=3000.*log2(1+pn0/3000);

pause

clf

semilogx(pn0,capacity)

Capacityvs.P/N0inanAWGNchannel'

P/N0'

Capacity(bits/second)'

clear

w={1:

10,12:

2:

100,105:

5:

500;

510:

10:

5000;

5025:

25:

20000,20050:

50:

100000};

pn0_db=25;

pn0=10^(pn0_db/10);

capacity=w.*log2(1+pn0./w);

%在AWGN信道中作为带宽的函数的容量

semilogx(w,capacity)

Capacityvs.bandwidthinanAWGNchannel'

Bandwidth(Hz)'

3-2

(2)

echoon;

pn0_db=25

pn0=10.^(pn0_db./10);

w=0:

100000;

capacity=w.*log2(1+pn0./w);

pause;

semilogx(w,capacity);

capacityvs.P/N0inanAWGNChannel'

3.3

%3.3离散无记忆信道的迭代计算%

function[cc,paa]=channelcap(p,k)

%p:

输入的正向转移矩阵,k:

迭代计算的精度

%cc:

最佳信道容量,paa:

最佳输入概率矩阵

%pa:

初始输入概率矩阵,pba:

正向转移概率矩阵

%pb:

输出矩阵概率,pab:

反向转移概率矩阵

%c:

初始信道容量,r:

输入符号数,s:

输出符号数

%提示错误信息

if(length(fing(p<

0))~=0

error('

notaprob.vector,negetivecomponent'

end

if(abs(sum(p'

)-1)>

10e-10)

error('

notaprov.vector,componentdonotaddupto1'

[r,s]=size(p);

pa=(1/(r+eps))*ones(1,r);

sumrow=zeros(1,r);

pba=p;

n=0;

c=0;

cc=1;

whileabs(cc-c)>

=k

n=n+1;

pb=zeros(1,s);

forj=1:

s

fori=1:

r

pb(j)=pb(j)+pa(i)*pba(i,j);

end

end

suma=zeros(1,s);

pab(j,i)*pba(i,j)/(pb(j)+eps);

suma(j)=suma(j)+pa(i)*pba(i,j)*log2((pab(j,i)+eps)/(pa(i)+eps));

c=sum(suma);

l=zeros(1,r);

sumaa=0;

fori=1:

forj=1:

l(i)=l(i)+pba(i,j)*log(pab(j,i)+eps);

a(i)=exp(l(i));

sumaa=sum(a);

paa(i)=a(i)/(sumaa+eps);

cc=log2(sumaa);

pa=paa;

输入:

p=[0.2,0.3,0.5;

0.6,0.2,0.2;

0.5,0.2,0.3;

0.1,0.3,0.6];

k=10e-4;

[a,b]=channelcap(p,k)

输出:

a=

0.2057

b=

0.06080.40310.06920.4668

4-1

%function[]=RD(Pa,d,S)formatlongS=[];

%r=input('

输入信源数r='

%s=input('

输出信源数s='

%d=input('

失真矩阵d='

%Pa=input('

输入概率分布Pa='

r=2

s=2

d=[01;

10]

Pa=[0.50.5]

S

(1)=-99.5

times=100;

pba=[];

RS=[];

DS=[];

m=1;

forz=1:

times%初始化

Pba(1:

r,1:

s,1)=1/(r*s)*ones(r,s);

s

Pb(j,1)=0;

r

Pb(j,1)=Pb(j,1)+Pa(i)*Pba(i,j,1);

r

temp(i)=0;

temp(i)=temp(i)+Pb(j,1)*exp(S(m)*d(i,j));

Pba(i,j,2)=(Pb(j,1)*exp(S(m)*d(i,j)))/temp(i);

end%计算D

(1)(S)和R

(1)(S)

D

(1)=0;

r

forj=1:

s

D

(1)=D

(1)+Pa(i)*Pba(i,j,1)*d(i,j);

end

R

(1)=0;

s

if(Pba(i,j,1)~=0)

R

(1)=R

(1)+Pa(i)*Pba(i,j,1)*log2(Pba(i,j,1)/Pb(j,1));

end

n=2;

while

(1)%计算pn(bj)

Pb(j,n)=0;

fori=1:

r

Pb(j,n)=Pb(j,n)+Pa(i)*Pba(i,j,n);

end%计算pn+1(bj/ai)

fori=1:

temp(i)=0;

forj=1:

s

temp(i)=temp(i)+Pb(j,n)*exp(S(m)*d(i,j));

r

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1