欢迎来到天天文库
浏览记录
ID:12759926
大小:251.50 KB
页数:0页
时间:2018-07-18
《信息论与编码-实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息论与编码实验报告题目:关于信源熵的实验学院:信息科学与工程学院专业班级:电子信息工程1002班指导老师:赵颖学号:0909101123姓名:杨家骏2012年12月一、实验目的1.掌握离散信源熵的原理和计算方法。2.熟悉 matlab 软件的基本操作,练习使用 matlab 求解信源的信息熵。3.自学图像熵的相关概念,并应用所学知识,使用 matlab 或其他开发工具求解图像熵。4.掌握 Excel 的绘图功能,使用 Excel 绘制散点图、直方图。二、实验原理1.离散信源相关的基本概念、原理和计算公式产生离散信息的信源称为离散信源。离散信源只能产生有限种符号。随机事件
2、的自信息量 I(xi)为其对应的随机变量 xi 出现概率对数的负值。即:I(xi)= -log2 p(xi)随机事件 X 的平均不确定度(信源熵)H(X)为离散随机变量 xi 出现概率的数学期望,即:2.二元信源的信息熵设信源符号集 X={0,1},每个符号发生的概率分别为 p(0)=p,p(1)=q,p+ q=1,即信源的概率空间为ú则该二元信源的信源熵为:H(X) = - p log p – q log q = - p log p – (1- p) log (1- p)即:H (p) = - p log p – (1- p) log (1- p)其中 0
3、 ≤ p ≤13.MATLAB 二维绘图用 matlab 中的命令 plot(x, y)就可以自动绘制出二维图来。例 1-2,在 matlab 上绘制余弦曲线图,y = cos x,其中 0 ≤ x ≤ 2p。>>x=0:0.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,…,6.2>>y=cos(x);%计算余弦向量>>plot(x,y)%绘制图形4.MATLAB 求解离散信源熵求解信息熵过程:1) 输入一个离散信源,并检查该信源是否是完备集。2) 去除信源中符号分布概率为零的元素。3) 根据平均信息量公式,求出离散信源的熵。5.
4、图像熵的相关知识图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令 Pi 表示图像中灰度值为 i 的像素所占的比例,则定义灰度图像的一元灰度熵为:图像熵计算过程:1) 输入一幅图像,并将其转换成灰度图像。2) 统计出图像中每个灰度阶象素概率。3) 计算出一幅图像的一维熵。6.Excel 的绘图功能比如:用 Excel 或制作二元熵函数曲线。具体步骤如下:1)启动 Excel 应用程序。2)准备一组数据 p。在 Excel 的一个工作表的 A 列(或其它列)输入一组 p,取步长为 0.01,从 0
5、至 100 产生 101 个 p(利用 Excel 填充功能)。3)使用 Excel 的计算功能,在 B 列中用二元熵函数计算公式,求得 A 列中各数值对应的二元熵值。比如:在单元格 B2 中输入公式:=-A2*LOG(A2,2)-(1-A2)*LOG(1-A2,2)。4)使用 Excel 的图表向导,图表类型选“XY 散点图”,子图表类型选“无数据点平滑散点图”,绘制二元熵函数散点图。三、实验内容1.使用 matlab 软件绘制二元信源熵函数曲线,并说明其物理意义。实验结果:物理意义:信源熵为信源的平均不确定性,而概率的大小决定了信息量的大小。由图上可知概率为1时,信息
6、量最小,不确定性最低;概率等于0.5时熵最大。源代码:p=0.00001:0.001:0.99999;h=-p.*log2(p)-(1-p).*log2(1-p);plot(p,h);title('二进制熵函数曲线');ylabel('H(p,1-p)')2.源代码:p1=[1/3,1/5,1/5,4/15];%代表甲信源对应的概率p2=[7/8,1/8];%代表乙信源对应的概率H1=0.0;H2=0.0;I=[];J=[];fori=1:4H1=H1+p1(i)*log2(1/p1(i));I(i)=log2(1/p1(i));enddisp('自信息量分别为:');I
7、disp('H1信源熵为:');H1forj=1:2H2=H2+p2(j)*log2(1/p2(j));J(j)=log2(1/p2(j));enddisp('自信息量分别为:');Jdisp('H2信源熵为:');H23:源代码:clearall;closeall;fid=fopen('lena.img','r');A=fread(fid,[256,256],'uint8');fclose(fid);subplot(1,2,1);imshow(A,[]);[M,N]=size(A);A_size=M*N;L=256;H1=0
此文档下载收益归作者所有