概述
信息论与编码技术实验报告
学院: | 信息科学与工程学院 | 班级: | 2020通信工程1班 | 姓名: | 麦兜 |
实验名称 | 实验一、离散信源的熵 |
实验设备 | (1)计算机 (2)所用软件:Matlab或C |
实验目的 | 掌握信源的熵物理意义,概念;熟练掌握离散信源熵的计算方法步骤;利用Matlab编写离散信源熵的计算程序;验证程序的正确性。 |
实验内容 | (1)根据熵计算的方法步骤,用Matlab编写离散信源熵的计算程序; (2)用习题2.16和习题3.6(1)验证程序的正确性。 |
实 验 报 告 要 求
5、实验报告在实验后一周内交给老师,报告单一律用A4纸,以此单为封面,装订成册。 |
一、简要总结信源的熵的物理意义,概念 信源的熵的物理意义:指信源中的各个符号的平均不确定性;熵是信源符号的平均信息量,是信源符号的平均不确定度。 信源的熵的概念:信源发送一个符号所产生的信息量的平均值,我们把它称为熵。 二、写出离散信源熵计算的基本步骤,画出实现离散信源熵计算的程序流程图 设离散信源X,其概率空间为: 则其中事件ai的自信息为:
则信源的熵为: 离散信源熵计算的程序流程框图如下: |
三、实现离散信源熵计算的Matlab源程序 离散信源熵计算程序(exp1_H.m) clc; clear; num=input('请输入事件的个数='); p=input('请输入每一种事件的可能性='); H=0; for i=1:num H=H-p(i).*log2(p(i)); end fprintf('该离散信源的熵为:%4fn',H); 为验证习题2.16及3.6由离散信源熵计算程序改进成为条件熵计算程序(exp1_condition.m) clc; clear; %H(X) numx=input('请输入信源事件的个数='); px=input('请输入每一种信源事件的可能性='); Hx=0; for i=1:numx Hx=Hx-px(i).*log2(px(i)); end %H(XY) pYX=input('请输入概率转移矩阵='); px1=px'; pxy=px1.*pYX; s=size(pxy); row=s(1); line=s(2); Hxy=0; for i=1:row for j=1:line Hxy=Hxy-pxy(i,j).*log2(pxy(i,j)); end end %Hy py=linspace(0,0,line); Hy=0; for i=1:line for j=1:row py(i)=py(i)+pxy(j,i); end end for i=1:line Hy=Hy-py(i).*log2(py(i)); end HXY=Hxy-Hy; HYX=Hxy-Hx; fprintf('该离散信源的熵H(X)=%4fn',Hx); fprintf('H(X|Y)=%4fn',HXY); fprintf('H(Y|X)=%4fn',HYX); 四、讨论信源的熵的大小与前后符号之间相关性的关系。 信源的相关性是信源符号键的依赖程度的度量。由于信源输出符号间的依赖关系也就是信源的相关性使得信源的实际熵减小。信源输出符号间统计约束关系越长,信源的实际熵越小。当信源输出符号间彼此不存在依赖关系且为等概率分布时,信源的实际熵等于最大熵。 |
最后
以上就是迅速小甜瓜为你收集整理的离散信源的熵——信息论实验一(Matlab)的全部内容,希望文章能够帮你解决离散信源的熵——信息论实验一(Matlab)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复