《信息论上机实验报告(共10页).doc》由会员分享,可在线阅读,更多相关《信息论上机实验报告(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上信息论与编码实验报告实验一:计算离散信源的熵一、实验设备:1、计算机2、软件:Matlab二、实验目的: 1、熟悉离散信源的特点; 2、学习仿真离散信源的方法 3、学习离散信源平均信息量的计算方法 4、熟悉 Matlab 编程;三、习题:1. 甲地天气预报构成的信源空间为:乙地信源空间为:求此两个信源的熵。求各种天气的自信息量。代码:x=1/2,1/4,1/8,1/8;y=7/8,1/8;HX=sum(-x.*log2(x)HY=sum(-y.*log2(y)IX=-log2(x)IY=-log2(y) 答案:2、 某信息源的符号集由A、B、C、D、E组成,设每一符号
2、独立出现,其出现的概率分别为,1/4,1/8,1/8,3/16,5/16,试求该信源符号的平均信息量。代码:x=1/4,1/8,1/8,3/16,5/16;HX=sum(-x.*log2(x)答案:H(X) = 2.2272bit/符号3、设有四个消息分别以概率1/4,1/8,1/8,1/2传送,每一消息的出现是相互独立的。试计算其平均信息量。代码:x=1/4,1/8,1/8,1/2;HX=sum(-x.*log2(x)答案:H(X) =1.75bit/符号4. 设一个二元信源(只有0和1两种符号)其概率空间为:编程画出H与p的关系,并说明当P呈什么分布时,平均信息量达到最大值。(说明:H=-
3、p.*log2(p)-(1-p).log2(1-p);)代码:p= 1/:1/1000:1;H=-p.*log2(p)-(1-p).*log2(1-p);plot(p,H) grid on xlabel(p);ylabel(HP);图:实验二:验证熵的可加性与强可加性1. 【例2.6】有一离散无记忆信源验证二次扩展信源的熵等于离散信源的熵的2倍,即代码:x=1/2,1/4,1/4;hx=sum(x.*log2(1./x)x2=1/4,1/16,1/16,1/8,1/8,1/8,1/16,1/8,1/16hx2=sum(x2.*log2(1./x2)答案:2. 验证两个统计独立的信源,验证:其中
4、: 代码:x=1/2,1/4,1/4;y=1/3,1/3,1/3;xy=1/6,1/6,1/6,1/12,1/12,1/12,1/12,1/12,1/12hx=sum(x.*log2(1./x)hy=sum(y.*log2(1./y)Hxy=sum(xy.*log2(1./xy)答案:3、条件熵的计算与熵的强可加性验证离散二维平稳信源,满足:某一离散二维平稳信源其联合概率分布为:XjX2012012编程计算:1) 联合熵2) 条件熵 3) 验证:代码:x1=11/36,4/9,1/4;x2=11/36,4/9,1/4;b=1/4,1/18,0;1/18,1/3,1/18;0,1/18,7/36
5、;HXY=0;for i=1:size(b,1)for j=1:size(b,2)if b(i,j)0HXY=HXY-b(i,j).*log2(b(i,j); end endendHXYHx1=sum(x1.*log2(1./x1)Hx2=sum(x2.*log2(1./x2)b0=b(1,:);b1=b(2,:);b2=b(3,:);x1x2=b0./x2;b1./x2;b2./x2;Hx1x2=0;for i=1:size(x1x2,1)for j=1:size(x1x2,2)if x1x2(i,j)0Hx1x2=Hx1x2-b(i,j).*log2(x1x2(i,j); end ende
6、ndHx1x2答案: 实验三:离散信道的平均互信息的计算1. 【习题3.1】设信源通过一干扰信道,接收到符号为,其信道矩阵为:1) 求信源X中事件和分别含有的自信息;2) 收到消息后,获得的关于的信息量;3) 求信源X和输出变量Y的信息熵;4) 信道疑义度和噪声熵;5) 接收到消息Y后获得的平均互信息;代码:x=0.6,0.4;p=5/6,1/6;3/4,1/4;Ix1=log2(1./(x(1,1)Ix2=log2(1./(x(1,2)pxy=x(1,1)*p(1,:);x(1,2)*p(2,:);py=x*p(:,1),x*p(:,2);px_y=pxy(:,1)/py(1,1),pxy(
7、:,2)/py(1,2);I=log2(p./py;py)Hx=sum(x.*log2(1./x)Hy=sum(py.*log2(1./py)Hx_y=sum(sum(pxy.*log2(1./px_y)Hy_x=sum(sum(pxy.*log2(1./p)Ixy=sum(sum(pxy.*log2(p./py;py)答案:2. 二元信道的互信息与信源分布的关系有二元信源:有二元信道,其传递矩阵为:, 其中,即传递矩阵 编程实现下面题目:1) 画出平均互信息随信源分布的关系曲线,并求出最大平均互信息。验证:信道容量C(最大平均互信息)满足:2)验证:信道容量C(最大平均互信息)满足:代码:s
8、yms w;x=w,1-w;p=0.8,0.2;0.2,0.8;pxy=x(1,1)*p(1,:);x(1,2)*p(2,:);py=x*p(:,1),x*p(:,2);px_y=pxy(:,1)/py(1,1),pxy(:,2)/py(1,2);Ix_y=sum(sum(pxy.*log2(p./py;py);ezplot(w,Ix_y,0,1,0,1);xlabel(变量w);ylabel(平均互信息量I)title(平均互信息量与w的函数关系)grid on;图:实验四:离散信道及其信道容量一、实验设备:1、计算机2、软件:Matlab二、实验目的: 1、了解信道传输概率的状态图和信道转
9、移概率矩阵特点; 2、了解什么是信道容量和最佳输入概率分布; 3、列出计算信道容量和平均互信息的计算步骤; 4、熟悉 Matlab 编程;三、习题:计算下面几类信道的信道容量C:1 无损信道 代码:p1=1/2,1/2,0,0,0,0;0,0,3/5,3/10,1/10,0;0,0,0,0,0,1;C1=sum(log2(size(p1(:,1)答案:c=1.5852 无噪有损信道 代码:p2=1,0;1,0;0,1;C2=sum(log2(size(p2(1,:)答案:c=13 对称离散信道【例3.6】 代码:p3=1/3,1/3,1/6,1/6;1/6,1/6,1/3,1/3;C3=sum
10、(log2(size(p3(1,:)-sum(p3(1,:).*log2(1./p3(1,:)答案:c=0.08174 一般信道,其信道矩阵为:求1)其信道容量,2)最佳输入分布代码:答案:4. beta =-1.9732 -1.1610 -0.8927pb =0.20530.3605 0.4342pa =0.17020.3955 0.4343实验五:连续信源的差熵与波形信道的信道容量一、实验设备:1、计算机2、软件:Matlab二、实验目的: 1、熟悉连续信源的特点; 2、学习仿真连续信源的方法 3、学习连续信源平均信息量的计算方法 4、熟悉 Matlab 编程;三、习题1、设在平均功率受限
11、高斯加性波形信道中,信道带宽为3kHz, 又设(信号功率+噪声功率)/噪声功率=10dB。(即,其中是以10为底的对数)。1) 试计算该信道传送的最大信息率(单位时间);2) 若信噪比降为5dB,要达到相同的最大信息传输率,信道带宽应是多少?代码:syms x,a=4;b=8;p=1/(b-a);f=p*(log2(p)/log2(2);hx=-int(f,x,a,b);hx=double(hx);hx;m=3;o=2;p2=(1/(2*pi*o2)(1/2)*exp(-(x-m)2/(2*o2);hx2=log2(2*pi*exp(1)*o2)/2;hx2=double(hx2);p3=ex
12、p(-x/4)/4;hx3=log2(4*exp(1);p4=exp(-abs(x)/4)/8;hx4=log2(4*2*exp(1);hxhx2hx3hx4W=3000;C=W*log2(10);Rt=C/1W2=Rt/log2(1+10(5/10)答案:1. 最大信息传输率2. 带宽应为: W = 4.8439e+003 实验六:无失真信源编码与保真度准则下的信源编码一、实验设备:1、计算机2、软件:Matlab二、实验目的: 1、理解无失真信源编码与保真度准则下的信源编码的物理意义; 2、理解无失真信源编码与保真度准则下的信源编码的区别; 3、熟悉 Matlab 编程;三、习题:1、(习
13、题5.4)若有一信源,每秒钟发出2.66个信源符号。将此信源的输出符号送入某一个二元信道中进行传输(假设信道是无噪无损的),而信道每秒钟只传递两个二元符号。试问信源不通过编码能否直接与信道连接?若通过适当编码能否在此信道中进行无失真传输?若能连接,试说明如何编码并说明原因。代码:Ps=4/5,1/5;Is=sum(log2(1./Ps)C=log2(2);Ix=2*C答案:Is =2.6439Ix =22、(习题7.1)一个四元对称信源,接收符号为,其失真矩阵为,求和。 代码:r=2;q=2.66;L=log2(q)pu=1/4 1/4 1/4 1/4;D=0 1 1 1;1 0 1 1;1 1 0 1;1 1 1 0;V=0 1 2 3;for i=1:size(pu,1); j=1:size(D,2);Dmin=sum(pu(1,i)*min(D(j,:);Dmax=min(sum(pu(1,i)*D(:,j);endDminDmax答案:L =1.4114Dmin =0Dmax =0.7500专心-专注-专业